001435171 000__ 06172cam\a2200577\i\4500 001435171 001__ 1435171 001435171 003__ OCoLC 001435171 005__ 20230309003840.0 001435171 006__ m\\\\\o\\d\\\\\\\\ 001435171 007__ cr\cn\nnnunnun 001435171 008__ 210327s2021\\\\cau\\\\\o\\\\\000\0\eng\d 001435171 019__ $$a1242026540 001435171 020__ $$a9781484268407$$q(electronic bk.) 001435171 020__ $$a1484268407$$q(electronic bk.) 001435171 020__ $$z9781484268391 001435171 020__ $$z1484268393 001435171 0247_ $$a10.1007/978-1-4842-6840-7$$2doi 001435171 035__ $$aSP(OCoLC)1243540994 001435171 040__ $$aEBLCP$$beng$$erda$$epn$$cEBLCP$$dYDX$$dGW5XE$$dOCLCO$$dOCLCF$$dUKAHL$$dAUD$$dOCLCO$$dOCLCQ$$dCOM$$dOCLCQ 001435171 049__ $$aISEA 001435171 050_4 $$aQA76.625 001435171 08204 $$a005.2/762$$223 001435171 1001_ $$aKrause, Jörg,$$d1964-$$eauthor. 001435171 24510 $$aDeveloping web components with TypeScript :$$bnative web development using thin libraries /$$cJörg Krause. 001435171 264_1 $$a[Berkeley, CA] :$$bApress,$$c[2021] 001435171 300__ $$a1 online resource (280 pages) 001435171 336__ $$atext$$btxt$$2rdacontent 001435171 337__ $$acomputer$$bc$$2rdamedia 001435171 338__ $$aonline resource$$bcr$$2rdacarrier 001435171 5050_ $$aIntro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: Introduction -- The Global Picture -- Components -- Component Architecture -- Parts of a Component -- The Rise of Thin Libraries -- Single-Page Apps -- The HTML 5 API -- The Template Language -- Smart Decorators -- TypeScript -- WebPack -- Compatibility -- Other Libraries -- Summary -- Chapter 2: Making Components -- Basics -- A First Example -- Observing Unset Elements -- Custom Elements AP -- Observing Attributes -- Attribute Data -- Discussing the Options 001435171 5058_ $$aThe MutationObserver Type -- Proxy -- Rendering Order -- Delaying Access -- Introducing a Life Cycle -- Customized Built-in Elements -- Advantage of TypeScript -- Using Generics -- Final Thoughts on Generics -- Summary -- Chapter 3: Shadow DOM -- Preparation -- Built-in Shadow DOM -- Shadow Tree -- Terms -- Using Shadow Trees -- Limitations -- Modes -- Encapsulation -- Shadow DOM without Components -- Closing the Shadow Root -- The Shadow Root API -- Properties -- Methods -- Summary -- Chapter 4: Events -- Events in ECMAScript -- Event Handlers -- Assigning a Handler -- Choosing the Right Events 001435171 5058_ $$aHTML 5 Standard Events -- Event Bubbling -- The Event Object -- Stopping Other Handlers -- Other Types of Propagation -- Event Capturing -- Removing Handlers -- Multiple Handlers -- Stopping Default Behavior -- Follow-Up Events -- Passive Events -- Document Handlers -- Events in Web Components -- Events and Slots -- Event Bubbling -- Composed Events -- Custom Events -- Synthetic Events -- The dispatchEvent API -- Customize Events -- Smart Events -- Summary -- Chapter 5: Templates -- HTML 5 Templates -- How It Works -- Activating a Template -- Clone or Import -- Templates and Web Components 001435171 5058_ $$aShadow DOM -- Using createShadowRoot -- Shadow DOM and innerHTML -- Nested Templates -- Template Styles -- Applying Global Styles -- Summary -- Chapter 6: Slots -- Slots Explained -- Slot and Templates -- Shadow DOM -- Slots and Components -- Slot Behavior -- Slot Positions -- Multiple Slots -- Default Slots -- Slot Events -- Adding an Event Handler -- Updating Slots -- Slot Change Events -- The Slot API -- Summary -- Chapter 7: Components and Styles -- Style Behavior -- Accessing the Host -- Cascading -- Selecting a Host Element -- Accessing the Host Context Aware -- Styling Slotted Content 001435171 5058_ $$aCSS Hooks -- Ignoring Styles -- Parts -- The Part Attribute and Pseudo Selector -- Forwarding Parts -- The Part API -- The Future of Parts -- Summary -- Chapter 8: Making Single-Page Apps -- The Architecture of SPAs -- The Router -- Monitoring the URL -- Configuring the Router -- Defining the Target -- Router Implementation -- The History API -- The History Stack -- The history Object -- History Change Events -- Final Thoughts on the History API -- Stateful Apps -- Flux -- The Flux Parts -- Tell Tales -- Implementing Flux -- Overview -- The Demo Component -- The Store -- Merging Stores 001435171 506__ $$aAccess limited to authorized users. 001435171 520__ $$aCreate professional and progressive web apps with the native HTML API on the latest technology stack. This book describes the basics of web components and how to create them using plain JavaScript as well as how to make professional applications based on web components using TypeScript. Developing Web Components with TypeScript looks at APIs using examples, techniques, and tricks. You will start with a brief introduction to web components, including slots and templates, handling custom events, and styling components with or without shadow DOM. Then, it introduces TypeScript as part of the tool set. It shows the internal construction of a professional thin library. It also helps you learn how to deal with web components in real-life projects; this includes techniques such as creating a single-page app without framework code. All code samples used here are supported by all modern browsers for you to follow along. Library code and examples are available on GitHub. You will: Create isolated web components using shadow DOM, slots, and templates Understand the advantage of an enhanced toolset, especially TypeScript Pick up styles and customizations Master professional web apps using native APIs Understand the life cycle of a component. 001435171 588__ $$aDescription based on print version record. 001435171 650_0 $$aInternet programming. 001435171 650_0 $$aWeb applications. 001435171 650_0 $$aTypeScript (Computer program language) 001435171 650_6 $$aProgrammation Internet. 001435171 650_6 $$aApplications Web. 001435171 650_6 $$aTypeScript (Langage de programmation) 001435171 655_0 $$aElectronic books. 001435171 77608 $$iPrint version:$$aKrause, Jörg$$tDeveloping Web Components with TypeScript$$dBerkeley, CA : Apress L. P.,c2021$$z9781484268391 001435171 852__ $$bebk 001435171 85640 $$3Springer Nature$$uhttps://univsouthin.idm.oclc.org/login?url=https://link.springer.com/10.1007/978-1-4842-6840-7$$zOnline Access$$91397441.1 001435171 909CO $$ooai:library.usi.edu:1435171$$pGLOBAL_SET 001435171 980__ $$aBIB 001435171 980__ $$aEBOOK 001435171 982__ $$aEbook 001435171 983__ $$aOnline 001435171 994__ $$a92$$bISE