- Set of evolving standards
- They allow you to extend HTML and modularize your page components
- Broadly broken down into:
- Templates
- Shadow DOM
- Custom Elements
- HTML Imports
- Allows you to store markup on the page which you can later clone or reuse.
- Works like Mustache/Handlebars templates
- Allows you to encapsulate a component-specific markup
- Not visible to the user and not accessible via DOM queries
- The "Shadow Host" contains a "Shadow Root" within a "Shadow Boundary"
- Allows you to create new HTML elements.
- Its prototype extends HTMLElement
- Element must contain a hyphen in it
- <x-blink>
- <my-xkcd>
- <google-map>