{"id":26466157,"url":"https://github.com/mateusortiz/webcomponents-the-right-way","last_synced_at":"2025-03-19T12:01:09.199Z","repository":{"id":22041063,"uuid":"25369460","full_name":"web-padawan/awesome-web-components","owner":"web-padawan","description":"A curated list of awesome Web Components resources.","archived":false,"fork":false,"pushed_at":"2024-04-13T11:01:03.000Z","size":343,"stargazers_count":2688,"open_issues_count":8,"forks_count":149,"subscribers_count":110,"default_branch":"main","last_synced_at":"2024-05-20T04:10:51.206Z","etag":null,"topics":["awesome","awesome-list","custom-elements","shadow-dom","web-components","webcomponents"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/web-padawan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-10-17T17:35:14.000Z","updated_at":"2024-05-29T10:12:13.109Z","dependencies_parsed_at":"2024-03-01T03:05:54.942Z","dependency_job_id":"4dbf6158-8d9a-4498-b5a5-2ef7a1a607c9","html_url":"https://github.com/web-padawan/awesome-web-components","commit_stats":null,"previous_names":["mateusortiz/webcomponents-the-right-way"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-padawan%2Fawesome-web-components","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-padawan%2Fawesome-web-components/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-padawan%2Fawesome-web-components/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-padawan%2Fawesome-web-components/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web-padawan","download_url":"https://codeload.github.com/web-padawan/awesome-web-components/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244422567,"owners_count":20450234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","custom-elements","shadow-dom","web-components","webcomponents"],"created_at":"2025-03-19T12:00:49.352Z","updated_at":"2025-03-19T12:01:09.141Z","avatar_url":"https://github.com/web-padawan.png","language":null,"funding_links":[],"categories":["Uncategorized","Technical","Front-end Development","Others","Front-End Development","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","Other Lists","More","前端开发","Contribute","Front-end development","Web Components","Web Front-end","Related awesome-lists"],"sub_categories":["Uncategorized","ramanihiteshc@gmail.com","Julia Lists","CSS","Related community list"],"readme":"# Awesome Web Components [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\nA curated list of awesome Web Components resources.\n\n\u003e **Note**\n\u003e This project was previously named \"Web Components the Right Way\"\n\n[Web Components](https://developer.mozilla.org/en-US/docs/Web/Web_Components) — a suite of different technologies allowing you to create reusable custom elements — with their functionality encapsulated away from the rest of your code — and utilize them in your web apps.\n\n## Contents\n\n- [Introduction](#introduction)\n- [Standards](#standards)\n  - [Custom Elements](#custom-elements)\n  - [Shadow DOM](#shadow-dom)\n  - [HTML Templates](#html-templates)\n  - [CSS Shadow Parts](#css-shadow-parts)\n- [Guides](#guides)\n  - [Accessibility](#accessibility)\n  - [Best Practices](#best-practices)\n  - [Codelabs](#codelabs)\n  - [Examples](#examples)\n- [Articles](#articles)\n  - [Architecture](#architecture)\n  - [Interoperability](#interoperability)\n  - [Limitations](#limitations)\n  - [Styling](#styling)\n- [Real World](#real-world)\n  - [Case Studies](#case-studies)\n  - [Components](#components)\n  - [Component Libraries](#component-libraries)\n  - [Design Systems](#design-systems)\n  - [Use Cases](#use-cases)\n- [Libraries](#libraries)\n  - [Class Based](#class-based)\n  - [Functional](#functional)\n  - [Integrations](#integrations)\n  - [Benchmarks](#benchmarks)\n- [Frameworks](#frameworks)\n  - [Angular](#angular)\n  - [React](#react)\n  - [Vue](#vue)\n  - [Svelte](#svelte)\n- [Ecosystem](#ecosystem)\n  - [Meta Frameworks](#meta-frameworks)\n  - [Starter Kits](#starter-kits)\n  - [Testing Solutions](#testing-solutions)\n  - [Tools](#tools)\n- [Books](#books)\n- [Tutorials](#tutorials)\n- [Insights](#insights)\n  - [Podcasts](#podcasts)\n  - [Presentations](#presentations)\n  - [Talks](#talks)\n- [Usage Metrics](#usage-metrics)\n- [Proposals](#proposals)\n  - [Form-associated Custom Elements](#form-associated-custom-elements)\n  - [Constructable Stylesheet Objects](#constructable-stylesheet-objects)\n  - [Custom State Pseudo Class](#custom-state-pseudo-class)\n- [Miscellaneous](#miscellaneous)\n- [Archive](#archive)\n  - [Polyfills](#polyfills)\n  - [History](#history)\n- [Who To Follow](#who-to-follow)\n- [Maintainers](#maintainers)\n\n## Introduction\n\n- [An Introduction to Web Components](https://css-tricks.com/an-introduction-to-web-components/)\n- [Intro to Web Components](https://developer.salesforce.com/blogs/2020/01/intro-to-web-components.html)\n- [The Holy Grail Of Reusable Components: Custom Elements, Shadow DOM, And NPM](https://www.smashingmagazine.com/2018/07/reusable-components-custom-elements-shadow-dom-npm/)\n- [The Motivation For Using Web Components, an Introduction](https://www.thinktecture.com/web-components/introduction-and-motivation/)\n- [The Power of Web Components](https://hacks.mozilla.org/2018/11/the-power-of-web-components/)\n- [Web Components 101](https://nhswd.com/blog/web-components-101-what-are-web-components/)\n- [Web Components: From the orbital height](https://javascript.info/webcomponents-intro)\n- [What are browser-native web components?](https://gomakethings.com/what-are-browser-native-web-components/)\n- [Why Web Components?](https://www.fast.design/docs/resources/why-web-components/)\n\n## Standards\n\n### Custom Elements\n\nCustom Elements provide a way for authors to build their own fully-featured DOM elements.\n\n- [A Guide to Custom Elements for React Developers](https://css-tricks.com/a-guide-to-custom-elements-for-react-developers/)\n- [All about HTML Custom Elements](https://github.com/shawnbot/custom-elements)\n- [Custom elements](https://javascript.info/custom-elements)\n- [Custom Elements v1: Reusable Web Components](https://web.dev/custom-elements-v1/)\n- [Handling properties in custom element upgrades](https://nolanlawson.com/2021/08/03/handling-properties-in-custom-element-upgrades/)\n- [Handy Custom Elements' Patterns](https://gist.github.com/WebReflection/ec9f6687842aa385477c4afca625bbf4)\n- [HTML Living Standard: Custom elements](https://html.spec.whatwg.org/multipage/custom-elements.html)\n- [MDN - Using Custom Elements](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements)\n- [web-platform-tests](https://github.com/web-platform-tests/wpt/tree/master/custom-elements)\n\n### Shadow DOM\n\nShadow DOM describes a method of combining multiple DOM trees into one hierarchy and how these trees interact with each other within a document, thus enabling better composition of the DOM.\n\n- [A complete guide on shadow DOM and event propagation](https://pm.dartus.fr/blog/a-complete-guide-on-shadow-dom-and-event-propagation/)\n- [DOM Living Standard: Shadow tree](https://dom.spec.whatwg.org/#shadow-trees)\n- [MDN - Using Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM)\n- [Mind the document.activeElement!](https://dev.to/open-wc/mind-the-document-activeelement-2o9a)\n- [Open vs. Closed Shadow DOM](https://blog.revillweb.com/open-vs-closed-shadow-dom-9f3d7427d1af)\n- [Shadow DOM](https://javascript.info/shadow-dom)\n- [Shadow DOM and events](https://javascript.info/shadow-dom-events)\n- [Shadow DOM in depth](https://github.com/praveenpuglia/shadow-dom-in-depth)\n- [Shadow DOM slots, composition](https://javascript.info/slots-composition)\n- [Shadow DOM styling](https://javascript.info/shadow-dom-style)\n- [Shadow DOM v1: Self-Contained Web Components](https://web.dev/shadowdom-v1/)\n- [The Rise of Shadow DOM](https://medium.com/front-end-hacking/the-rise-of-shadow-dom-84aa1f731e82)\n- [Understanding Slot Updates with Web Components](https://coryrylan.com/blog/understanding-slot-updates-with-web-components)\n- [What is the Shadow DOM?](https://bitsofco.de/what-is-the-shadow-dom/)\n- [Who doesn't love some slots?](https://dev.to/westbrook/who-doesnt-love-some-s-3de0)\n- [Your Content in Shadow DOM Portals](https://dev.to/westbrook/your-content-in-shadow-dom-portals-3cdb)\n- [web-platform-tests](https://github.com/web-platform-tests/wpt/tree/master/shadow-dom)\n\n### HTML Templates\n\n`\u003ctemplate\u003e` element is used to declare fragments of HTML that can be cloned and inserted in the document by script.\n\n- [Crafting Reusable HTML Templates](https://css-tricks.com/crafting-reusable-html-templates/)\n- [HTML Living Standard: The `template` element](https://html.spec.whatwg.org/multipage/scripting.html#the-template-element)\n- [HTML templates with vanilla JavaScript](https://gomakethings.com/html-templates-with-vanilla-javascript/)\n- [MDN - \u0026lt;template\u0026gt;: The Content Template element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template)\n- [MDN - Using templates and slots](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_templates_and_slots)\n- [Template element](https://javascript.info/template-element)\n- [Templating in HTML](https://kittygiraudel.com/2022/09/30/templating-in-html/)\n- [The HTML5 template element](https://dev.to/ahferroin7/the-html5-template-element-26b6)\n- [Understanding The Template Element In HTML](https://blog.openreplay.com/understanding-the-template-element-in-html/)\n- [web-platform-tests](https://github.com/web-platform-tests/wpt/tree/master/html/semantics/scripting-1/the-template-element)\n\n### CSS Shadow Parts\n\nCSS Shadow Parts allow developers to expose certain elements inside Shadow DOM for styling purposes.\n\n- [W3C First Public Working Draft](https://www.w3.org/TR/css-shadow-parts-1/)\n- [CSS Shadow Parts are coming!](https://dev.to/webpadawan/css-shadow-parts-are-coming-mi5)\n- [MDN - `::part()` CSS pseudo element](https://developer.mozilla.org/en-US/docs/Web/CSS/::part)\n- [MDN - `part` global attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part)\n- [::part and ::theme, an ::explainer](https://meowni.ca/posts/part-theme-explainer/)\n- [web-platform-tests](https://github.com/web-platform-tests/wpt/tree/master/css/css-shadow-parts)\n\n## Guides\n\n### Accessibility\n\n- [Accessibility for Web Components](https://developer.salesforce.com/blogs/2020/01/accessibility-for-web-components.html)\n- [Accessibility with ID Referencing and Shadow DOM](https://coryrylan.com/blog/accessibility-with-id-referencing-and-shadow-dom)\n- [Dialogs and shadow DOM: can we make it accessible?](https://nolanlawson.com/2022/06/14/dialogs-and-shadow-dom-can-we-make-it-accessible/)\n- [How to Make Accessible Web Components — a Brief Guide](https://www.sitepoint.com/accessible-web-components/)\n- [Managing focus in the shadow DOM](https://nolanlawson.com/2021/02/13/managing-focus-in-the-shadow-dom/)\n- [The future of accessibility for custom elements](https://robdodson.me/the-future-of-accessibility-for-custom-elements/)\n- [The Guide to Accessible Web Components](https://www.erikkroes.nl/blog/accessibility/the-guide-to-accessible-web-components-draft/)\n- [Web Components and the Accessibility Object model (AOM)](https://www.24a11y.com/2019/web-components-and-the-aom/)\n- [Web Components punch list](https://www.tpgi.com/web-components-punch-list/)\n- [Web components still need to be accessible](https://www.24a11y.com/2018/web-components-still-need-to-be-accessible/)\n\n### Best Practices\n\n- [Custom Element Best Practices](https://web.dev/custom-elements-best-practices/)\n- [Developing Components: Publishing](https://open-wc.org/guides/developing-components/publishing/)\n- [Gold Standard Checklist for Web Components](https://github.com/webcomponents/gold-standard/wiki)\n- [Guidelines for creating web platform compatible components](https://w3ctag.github.io/webcomponents-design-guidelines/)\n- [How to Publish Web Components to NPM](https://justinfagnani.com/2019/11/01/how-to-publish-web-components-to-npm/)\n- [Open Web Components Recommendations](https://open-wc.org)\n\n### Codelabs\n\n- [Build a Story Web Component with LitElement](https://dev.to/straversi/build-a-story-web-component-with-litelement-e59)\n- [Building Custom Elements with Web Components for the 2020 Elections](https://medium.com/stories-from-upstatement/building-custom-elements-with-web-components-for-the-2020-elections-f767ff9e9c6a)\n- [Creating Custom Form Controls with ElementInternals](https://css-tricks.com/creating-custom-form-controls-with-elementinternals/)\n- [From Web Component to Lit Element](https://codelabs.developers.google.com/codelabs/the-lit-path)\n- [HowTo Components –`\u003chowto-checkbox\u003e`](https://web.dev/components-howto-checkbox/)\n- [HowTo Components –`\u003chowto-tabs\u003e`](https://web.dev/components-howto-tabs/)\n- [HowTo Components – `\u003chowto-tooltip\u003e`](https://web.dev/components-howto-tooltip/)\n- [Lit: basics](https://open-wc.org/codelabs/basics/lit-html.html#0)\n- [Lit: intermediate](https://open-wc.org/codelabs/intermediate/lit-html.html#0)\n- [Lit for React Developers](https://codelabs.developers.google.com/codelabs/lit-2-for-react-devs#0)\n- [Web Components: basics](https://open-wc.org/codelabs/basics/web-components.html#0)\n\n### Examples\n\n- [generic-components](https://github.com/thepassle/generic-components) - Collection of generic web components with a focus on accessibility, and ease of use.\n- [howto-components](https://github.com/GoogleChromeLabs/howto-components) - Collection of web components that implement common web UI patterns.\n- [Nude UI](https://github.com/LeaVerou/nudeui) - Collection of accessible, customizable, ultra-light web components.\n- [open-wc code examples](https://open-wc.org/guides/developing-components/code-examples/) - Collection of best practices and design patterns for developing web components.\n- [vanilla-retro-js](https://github.com/martine-dowden/vanilla-retro-js) - Vanilla JS UI component library of HTML deprecated tags.\n- [web-components-examples](https://github.com/mdn/web-components-examples) - Series of web components examples, related to the MDN web components documentation.\n\n## Articles\n\n### Architecture\n\n- [A deep analysis into isomorphic, autonomous cross-framework usage #MicroFrontends](https://itnext.io/a-deep-analysis-into-isomorphic-autonomous-cross-framework-usage-microfrontends-364271dc5fa9)\n- [Frankenstein Migration: Framework-Agnostic Approach (Part 1)](https://www.smashingmagazine.com/2019/09/frankenstein-migration-framework-agnostic-approach-part-1/)\n- [Frankenstein Migration: Framework-Agnostic Approach (Part 2)](https://www.smashingmagazine.com/2019/09/frankenstein-migration-framework-agnostic-approach-part-2/)\n- [Generating Config driven Dynamic Forms using Web Components](https://codeburst.io/generating-config-driven-dynamic-forms-using-web-components-7c8d400f7f2e)\n- [Hiding internal framework methods and properties from web component APIs](https://component.kitchen/blog/posts/hiding-internal-framework-methods-and-properties-from-web-component-apis)\n- [How to deliver Custom Elements](https://medium.com/@WebReflection/how-to-deliver-custom-elements-702fae32d25c)\n- [Making Web Components for Different Contexts](https://css-tricks.com/making-web-components-for-different-contexts/)\n- [Supporting both automatic and manual registration of custom elements](https://component.kitchen/blog/posts/supporting-both-automatic-and-manual-registration-of-custom-elements)\n- [Web Components — the right way](https://equinusocio.dev/blog/web-components-the-right-way/)\n\n### Interoperability\n\n- [Advanced Tooling for Web Components](https://css-tricks.com/advanced-tooling-for-web-components/)\n- [Custom Elements Everywhere](https://custom-elements-everywhere.com)\n- [Custom Elements That Work Anywhere](https://robdodson.me/interoperable-custom-elements/)\n- [JavaScript frameworks, meet Web Components](https://www.voorhoede.nl/nl/blog/javascript-frameworks-meet-web-components/)\n- [Web Components aren't a framework replacement - they're better than that](https://lamplightdev.com/blog/2020/01/18/web-components-arent-a-framework-replacement-theyre-better-than-that/)\n- [Web Components: Seamlessly interoperable](https://medium.com/@sergicontre/web-components-seamlessly-interoperable-82efd6989ca4)\n\n### Limitations\n\n- [Beyond the polyfills: how Web Components affect us today?](https://dev.to/webpadawan/beyond-the-polyfills-how-web-components-affect-us-today-3j0a)\n- [Custom elements, shadow DOM and implicit form submission](https://www.hjorthhansen.dev/shadow-dom-and-forms/)\n- [Form-associated custom elements](https://www.hjorthhansen.dev/shadow-dom-form-participation/)\n- [You might not need shadow DOM](https://www.hjorthhansen.dev/you-might-not-need-shadow-dom/)\n\n### Styling\n\n- [Does shadow DOM improve style performance?](https://nolanlawson.com/2021/08/15/does-shadow-dom-improve-style-performance/)\n- [Eschewing Shadow DOM](https://every-layout.dev/blog/eschewing-shadow-dom/)\n- [How Nordhealth uses Custom Properties in Web Components](https://web.dev/custom-properties-web-components/)\n- [Options for styling web components](https://nolanlawson.com/2021/01/03/options-for-styling-web-components/)\n- [Style scoping versus shadow DOM: which is fastest?](https://nolanlawson.com/2022/06/22/style-scoping-versus-shadow-dom-which-is-fastest/)\n- [Styling a Web Component](https://css-tricks.com/styling-a-web-component/)\n- [Styling in the Shadow DOM With CSS Shadow Parts](https://css-tricks.com/styling-in-the-shadow-dom-with-css-shadow-parts/)\n- [Thinking Through Styling Options for Web Components](https://css-tricks.com/thinking-through-styling-options-for-web-components/)\n- [Web Component Pseudo-Classes and Pseudo-Elements are Easier Than You Think](https://css-tricks.com/web-component-pseudo-classes-and-pseudo-elements/)\n- [Web Standards Meet User-Land: Using CSS-in-JS to Style Custom Elements](https://css-tricks.com/web-standards-meet-user-land-using-css-in-js-to-style-custom-elements/)\n\n## Real World\n\n### Case Studies\n\n- [Apple Just Shipped Web Components to Production and You Probably Missed It](https://dev.to/ionic/apple-just-shipped-web-components-to-production-and-you-probably-missed-it-57pf)\n- [Bringing Order to Web Design Chaos (with Web Components)](https://dev.to/thatjoemoore/bringing-order-to-web-design-chaos--3fhb)\n- [Get moving with Microsoft’s FAST web components](https://www.infoworld.com/article/3618410/get-moving-with-microsofts-fast-web-components.html)\n- [How Web Components Are Used at GitHub and Salesforce](https://thenewstack.io/how-web-components-are-used-at-github-and-salesforce/)\n- [How we use Web Components at GitHub](https://github.blog/2021-05-04-how-we-use-web-components-at-github/)\n- [Implementing a Design Language System with Stencil.js](https://medium.com/@Danetag/implementing-a-design-language-system-with-stencil-js-515432918eb5)\n- [ING ❤ Web Components](https://dev.to/thepassle/ing--web-components-aef)\n- [ING Open-Sources Lion, Its White-Label Web Component Library – Q\u0026A with Thomas Allmer](https://www.infoq.com/articles/ing-open-sources-lion-web-component/)\n- [Lessons Learned, making our app with Web Components](https://medium.com/samsung-internet-dev/lessons-learned-making-our-app-with-web-components-bf55379cfcda)\n- [Looking back on five years of web components](https://bitworking.org/news/2019/07/looking-back-on-five-years-of-web-components)\n- [Shipping Web Components in 2020](https://dev.to/joe8bit/shipping-web-components-in-2020-2h54)\n- [The Firefox UI is now built with Web Components](https://briangrinstead.com/blog/firefox-webcomponents/)\n- [Using web components to encapsulate CSS and resolve design system conflicts](https://about.gitlab.com/blog/2021/05/03/using-web-components-to-encapsulate-css-and-resolve-design-system-conflicts/)\n- [Web Components at GitHub - Web Components SF Meetup](https://www.infoq.com/news/2020/08/web-components-sf-meetup-2020/)\n- [Web Components at Scale at Salesforce: Challenges Encountered, Lessons Learnt](https://www.infoq.com/news/2020/03/web-components-salesforce-lwc/)\n- [Web Development At Scale: Composable Applications With Web Components](https://medium.com/@jarrodek/composable-applications-with-web-components-ebe5158387be)\n- [web.dev engineering blog #1: How we build the site and use Web Components](https://web.dev/how-we-build-webdev-and-use-web-components/)\n\n### Components\n\n- [`\u003cactive-table\u003e`](https://github.com/OvidijusParsiunas/active-table) - Editable table web component.\n- [`\u003capi-viewer\u003e`](https://github.com/web-padawan/api-viewer-element) - API documentation and live playground for Web Components.\n- [`\u003cchess-board\u003e`](https://github.com/justinfagnani/chessboard-element) - Standalone chess board web component.\n- [`\u003ccss-doodle\u003e`](https://github.com/css-doodle/css-doodle) - Web component for drawing patterns with CSS.\n- [`\u003cdark-mode-toggle\u003e`](https://github.com/GoogleChromeLabs/dark-mode-toggle) - Custom element that allows to create a dark mode toggle or switch.\n- [`\u003cdeep-chat\u003e`](https://github.com/OvidijusParsiunas/deep-chat) - Web component for chat with AI capabilities.\n- [`\u003cemoji-picker\u003e`](https://github.com/nolanlawson/emoji-picker-element) - Lightweight emoji picker, distributed as a web component.\n- [`\u003cfg-modal\u003e`](https://github.com/filamentgroup/fg-modal) - Accessible modal dialog web component.\n- [`\u003cfile-viewer\u003e`](https://github.com/avipunes/file-viewer) - Web component built with Svelte to view files.\n- [`\u003cjson-viewer\u003e`](https://github.com/alenaksu/json-viewer) - Web component to visualize JSON data in a tree view.\n- [`\u003clite-youtube\u003e`](https://github.com/paulirish/lite-youtube-embed) - Lite YouTube embed with a focus on visual performance.\n- [`\u003cmidi-player\u003e`](https://github.com/cifkao/html-midi-player) - MIDI file player and visualizer web components.\n- [`\u003cmodel-viewer\u003e`](https://github.com/google/model-viewer) - Web component for rendering interactive 3D models.\n- [`\u003cplayer-x\u003e`](https://github.com/playerxo/playerx) - Media player web component.\n- [`\u003cprogressive-image\u003e`](https://github.com/andreruffert/progressive-image-element) - Custom element to progressively enhance image placeholders.\n- [`\u003cqr-code\u003e`](https://github.com/bitjson/qr-code) – Web component for rendering customizable, animate-able, SVG-based QR codes.\n- [`\u003crange-slider\u003e`](https://github.com/andreruffert/range-slider-element) - Accessible range slider custom element with keyboard support.\n- [`\u003crapi-doc\u003e`](https://github.com/mrin9/RapiDoc) - Web component for creating documentation from OpenAPI Specification.\n- [`\u003cshader-doodle\u003e`](https://github.com/halvves/shader-doodle) - Web component for writing and rendering shaders.\n- [`\u003ctheme-switch\u003e`](https://github.com/mahozad/theme-switch) - Animated toggle button to switch between light, dark, and system theme.\n- [`\u003ctrix-editor\u003e`](https://github.com/basecamp/trix) - Rich text editor custom element for everyday writing.\n- [`\u003cvime-player\u003e`](https://github.com/vime-js/vime) - Customizable, extensible, accessible and framework agnostic media player.\n- [`\u003cweb-vitals\u003e`](https://github.com/stefanjudis/web-vitals-element) - Bring [web vitals](https://github.com/GoogleChrome/web-vitals) quickly into your page using custom elements.\n\n### Component Libraries\n\n- [AMP](https://github.com/ampproject/amphtml) - Web component framework for easily creating user-first websites, stories, ads, emails and more.\n- [AnywhereUI](https://github.com/adaleks/anywhere-ui) - Collection of rich web components that includes framework bindings. Created with StencilJS.\n- [Apollo Elements](https://github.com/apollo-elements/apollo-elements) - Custom elements for using Apollo GraphQL with various web components libraries.\n- [AXA Pattern Library](https://github.com/axa-ch-webhub-cloud/pattern-library) - AXA CH UI components library built with Web Components.\n- [Blackstone UI](https://github.com/kjantzer/bui) - Web components for creating interfaces by Blackstone Publishing.\n- [Blaze UI Atoms](https://github.com/BlazeSoftware/atoms) - Set of web components powered by Blaze CSS.\n- [Brightspace UI core](https://github.com/BrightspaceUI/core) - Collection of web components for building Brightspace applications.\n- [Clever components](https://github.com/CleverCloud/clever-components) - Collection of Web Components made by Clever Cloud.\n- [Curvenote](https://github.com/curvenote/article) - Web components for creating interactive scientific articles.\n- [DataFormsJS](https://github.com/dataformsjs/dataformsjs) - Standalone Components for SPA routing, displaying data from web services, and more.\n- [Dile Components](https://github.com/Polydile/dile-components) - General use Web Components for websites and applications.\n- [elements-sk](https://github.com/google/elements-sk) - Collection of custom elements for \"a la carte\" web development.\n- [github-elements](https://github.com/github/github-elements) - GitHub's Web Component collection.\n- [Elix](https://github.com/elix/elix) - High-quality, customizable web components for common user interface patterns.\n- [Furo Webcomponents](https://github.com/eclipse/eclipsefuro-web) - Enterprise ready set of web components which work best with Eclipse Furo.\n- [Fusion Web Components](https://github.com/equinor/fusion-web-components) - Ser of web components used by Equinor Fusion.\n- [Ignite UI Web Components](https://github.com/IgniteUI/igniteui-webcomponents) - Complete library of UI components from Infragistics.\n- [Immersive Custom Elements](https://github.com/MozillaReality/immersive-custom-elements) - Set of web components for embedding immersive (VR \u0026 AR) content.\n- [Joomla UI custom elements](https://github.com/joomla-projects/custom-elements) - Compilation of Joomla 4 Custom Elements.\n- [Ketch.UP](https://github.com/smeup/ketchup) - Web components library for Sme.UP.\n- [LDRS](https://github.com/GriffinJohnston/ldrs) - Lightweight, customizable loading animations/spinners.\n- [Lion Web Components](https://github.com/ing-bank/lion) - Set of highly performant, accessible and flexible Web Components.\n- [LRNWebComponents](https://github.com/elmsln/lrnwebcomponents/) - ELMS:LN produced web components for any project.\n- [Lume](https://github.com/lume/lume) - Custom elements for defining 2D or 3D scenes rendered with CSS3D or WebGL.\n- [Medblocks UI](https://github.com/medblocks/medblocks-ui) - Web Components for rapid development of openEHR and FHIR systems.\n- [Microsoft Graph Toolkit](https://github.com/microsoftgraph/microsoft-graph-toolkit) - Collection of web components for the Microsoft Graph.\n- [Mutation testing elements](https://github.com/stryker-mutator/mutation-testing-elements) - A schema for mutation testing results with the web components to visualize it.\n- [Nightingale](https://github.com/ebi-webcomponents/nightingale) - Data visualisation web components for the life sciences.\n- [Nuxeo Elements](https://github.com/nuxeo/nuxeo-elements) - Components for building web applications with Nuxeo using Web Components.\n- [One Platform Components](https://github.com/1-Platform/op-components) - Set of web components for Red Hat One Platform.\n- [Open Business Application Platform Web Components](https://github.com/openbap/obap-elements) - Collection of web components designed for business applications.\n- [Pixano Elements](https://github.com/pixano/pixano-elements) - Re-usable web components dedicated to data annotation tasks.\n- [Playground Elements](https://github.com/PolymerLabs/playground-elements) - Serverless code experiences with web components.\n- [Shoelace](https://github.com/shoelace-style/shoelace) - A forward-thinking library of web components.\n- [Smart Web Components](https://github.com/HTMLElements/smart-webcomponents) - Web components for business applications.\n- [Stripe Elements](https://github.com/bennypowers/stripe-elements) - Custom Element Wrapper for Stripe.js v3 Elements.\n- [TEI Publisher Components](https://github.com/eeditiones/tei-publisher-components) - Collection of web components used by TEI Publisher and apps generated by it.\n- [Titanium Elements](https://github.com/LeavittSoftware/titanium-elements) - Collection of lightweight web components used by Leavitt Group Enterprises.\n- [Tradeshift Elements](https://github.com/Tradeshift/elements) - Reusable Tradeshift UI Components as Web Components.\n- [TrendChart Elements](https://github.com/WebLogin/trendchart-elements) - Components to generate simple, light and responsive charts.\n- [Umbraco UI Components](https://github.com/umbraco/Umbraco.UI) - Collection of user interface web components for Umbraco CMS.\n- [Vaadin components](https://github.com/vaadin/web-components) - Evolving set of high-quality web components for building business web applications.\n- [VSCode Webview Elements](https://github.com/bendera/vscode-webview-elements) - Components for creating VSCode extensions which use the Webview API.\n- [Warp View](https://github.com/senx/warpview) - Collection of charting web components for Warp 10.\n- [Webmarkets web components](https://github.com/Webmarkets/wm-web-components) - Set of Webmarkets' public web components.\n- [Wired Elements](https://github.com/wiredjs/wired-elements) - Set of common UI elements with a hand-drawn, sketchy look.\n- [Wokwi Elements](https://github.com/wokwi/wokwi-elements) - Web Components for Arduino and various electronic parts.\n- [XWeather](https://github.com/kherrick/x-weather) - Collection of web components implementing portions of the OpenWeatherMap API.\n\n### Design Systems\n\n- [Astro Space UX Design System](https://github.com/RocketCommunicationsInc/astro) - Set of components to build rich space app experiences with established interaction patterns.\n- [Auro Design System](https://auro.alaskaair.com) - Alaska Airlines design system to innovate on ideas and collaborate on the future.\n- [Blueprint UI](https://blueprintui.dev) - Web Component based design system with flexible and lightweight components.\n- [Bolt Design System](https://github.com/boltdesignsystem/bolt) - Twig and Web Component-powered UI components, reusable visual styles and tooling.\n- [Calcite Components](https://github.com/Esri/calcite-components) - Shared Web Components for Esri's Calcite design framework.\n- [Carbon Web Components](https://github.com/carbon-design-system/carbon-web-components) - Carbon Design System variant on top of Web Components.\n- [Clarity Core Web Components](https://github.com/vmware-clarity/core/tree/main/projects/core) - Suite of web components from the Clarity Design System.\n- [Crayons](https://github.com/freshdesk/crayons) - Collection of web components that adheres to the Freshworks Design System.\n- [FAST Components](https://github.com/microsoft/fast/tree/master/packages/web-components) - Library of Web Components based on the FAST design language.\n- [Fluent UI Web Components](https://github.com/microsoft/fluentui/tree/master/packages/web-components) - Library of Web Components that supports Microsoft's Fluent design language.\n- [Forge Components](https://github.com/tyler-technologies-oss/forge) - Library of Web Components adhering to the Forge Design System.\n- [GOV.UK Web Components](https://github.com/tgreyuk/govuk-webcomponents) - Set of encapsulated web components consuming the GOV.UK Design System.\n- [Helix UI](https://github.com/HelixDesignSystem/helix-ui) - Web Component library for the Helix Design System.\n- [Liquid](https://github.com/emdgroup-liquid/liquid) - UI component library based on the Liquid Design System.\n- [Lyne Components](https://github.com/lyne-design-system/lyne-components) - Building blocks of the Lyne Design System are based on Web Components.\n- [Material Web Components](https://github.com/material-components/material-web) - Material Design implemented as Web Components.\n- [Momentum UI Web Components](https://github.com/momentum-design/momentum-ui/tree/master/web-components) - Set of UI components based on Momentum Design.\n- [Nord](https://nordhealth.design) - Nordhealth’s design system for products, digital experiences and brand.\n- [NuML | NUDE Elements](https://github.com/tenphi/numl) - HTML Framework and Design System based on Web Components and runtime CSS generation.\n- [OutlineJS](https://github.com/phase2/outline) - Web component based design system starter kit.\n- [PatternFly Elements](https://github.com/patternfly/patternfly-elements) - Collection of flexible and lightweight Web Components based on the Unified Design Kit.\n- [Pharos Design System](https://github.com/ithaka/pharos) - JSTOR's design system to create cohesive, supportive, and beautiful experiences.\n- [Red Hat Design System](https://github.com/RedHat-UX/red-hat-design-system) - Web components for building uniform experiences with the Red Hat brand.\n- [Siemens iX Web Components](https://github.com/siemens/ix/tree/main/packages/core) - Web Components implementing Siemens iX design system.\n- [Spectrum Web Components](https://github.com/adobe/spectrum-web-components) - Adobe Spectrum design language implementation built with Web Components.\n- [UI5 Web Components](https://github.com/SAP/ui5-webcomponents) - Set of reusable UI elements implementing SAP Fiori Design Guidelines.\n- [U-M Library Design System](https://design-system.lib.umich.edu) - University of Michigan Library Design System.\n- [Zooplus web components](https://github.com/zooplus/zoo-web-components) - Set of web components that implement Z+ shop style guide.\n\n### Use Cases\n\n- [How we chose to build our Design System using StencilJS Web Components](https://medium.com/8451/how-we-chose-to-build-our-design-system-using-stenciljs-web-components-4878c36743c5)\n- [How searching for a bundle-free React led me to web components](https://www.bryanbraun.com/2020/08/31/how-searching-for-a-bundle-free-react-led-me-to-web-components/)\n- [Reasons Web Components are perfect for a big company](https://medium.com/@sergicontre/reasons-web-components-are-perfect-for-a-big-company-28790d712ad5)\n- [5 Reasons Web Components Are Perfect for Design Systems](https://ionicframework.com/blog/5-reasons-web-components-are-perfect-for-design-systems/)\n- [Web components: the secret ingredient helping power the web](https://web.dev/web-components-io-2019/)\n- [Web Components for Enterprise. Part 1: Salesforce, Oracle, SAP](https://dev.to/webpadawan/web-components-for-enterprise-part-1-salesforce-oracle-sap-e70)\n- [Web Components for Enterprise. Part 2: Nuxeo, Ionic, Vaadin](https://dev.to/webpadawan/web-components-for-enterprise-part-2-nuxeo-ionic-vaadin-22l7)\n- [Why I use Web Components - My use cases](https://dev.to/shihn/why-i-use-web-components-my-use-cases-1nip)\n- [Why we use Web Components](https://viljamis.com/2019/why-we-use-web-components/) by [@viljamis](https://twitter.com/viljamis)\n- [Why we use Web Components](https://dev.to/ionic/why-we-use-web-components-2c1i) by [@maxlynch](https://twitter.com/maxlynch)\n\n## Libraries\n\n### Class Based\n\n- [DNA](https://github.com/chialab/dna) - Progressive Web Components library.\n- [element-js](https://github.com/webtides/element-js) - Simple and lightweight base classes for web components with a beautiful API.\n- [FAST Element](https://github.com/microsoft/fast/tree/master/packages/web-components/fast-element) - Lightweight library for building performant, memory-efficient, standards-compliant Web Components.\n- [Forge Core](https://github.com/tyler-technologies-oss/forge-core) - Building blocks and utilities that are used when building Forge Web Components.\n- [Joist](https://github.com/joist-framework/joist) - Set of small libraries designed to add the bare minimum to web components to make you productive.\n- [Lit](https://lit.dev) - Simple library for building fast, lightweight web components.\n- [Lightning Web Components](https://github.com/salesforce/lwc) - blazing fast, enterprise-grade Web Components foundation.\n- [Omi](https://github.com/Tencent/omi) - Next generation web framework in 4kb JavaScript (Web Components + JSX + Proxy + Store + Path Updating).\n- [Panel](https://github.com/mixpanel/panel) - Web Components + Virtual DOM: web standards for powerful UIs.\n- [slim.js](https://github.com/slimjs/slim.js) - Fast \u0026 Robust Front-End Micro-framework based on modern standards.\n- [Stencil](https://github.com/ionic-team/stencil) - Compiler for generating Web Components.\n- [Tonic](https://github.com/optoolco/tonic) - Minimalist, stable, audit friendly component framework.\n- [WebCell](https://github.com/EasyWebApp/WebCell) - Web Components engine based on VDOM, JSX, MobX \u0026 TypeScript.\n\n### Functional\n\n- [atomico](https://github.com/atomicojs/atomico) - Small library for the creation of interfaces based on web components using functions and hooks.\n- [haunted](https://github.com/matthewp/haunted) - React's Hooks API implemented for web components.\n- [hybrids](https://github.com/hybridsjs/hybrids) - UI library for creating Web Components with simple and functional API.\n- [Solid Element](https://github.com/solidjs/solid/tree/main/packages/solid-element) - Library that extends Solid adding Custom Web Components and extensions.\n\n### Integrations\n\n- [ember-custom-elements](https://github.com/Ravenstine/ember-custom-elements) - Render Ember and Glimmer components using custom elements.\n- [preact-custom-element](https://github.com/preactjs/preact-custom-element) - Generate/register a custom element from a preact component.\n- [@adobe/react-webcomponent](https://github.com/adobe/react-webcomponent) - Automate the wrapping of a React component in a custom element.\n- [nuxt-custom-elements](https://github.com/GrabarzUndPartner/nuxt-custom-elements) - Export your project components as custom elements for integration into external pages.\n- [react-shadow](https://github.com/Wildhoney/ReactShadow) - Utilise Shadow DOM in React with all the benefits of style encapsulation.\n- [reactify-wc](https://github.com/BBKolton/reactify-wc) - Use web components with React properties and functions.\n- [remount](https://github.com/rstacruz/remount) - Mount React components to the DOM using custom elements.\n- [@riotjs/custom-elements](https://github.com/riot/custom-elements) - Simple API to create vanilla custom elements with Riot.js.\n\n### Benchmarks\n\n- [All the Ways to Make a Web Component](https://webcomponents.dev/blog/all-the-ways-to-make-a-web-component/)\n- [web-components-benchmark](https://vogloblinsky.github.io/web-components-benchmark/) - Benchmark Web Components technologies with various examples.\n- [web-components-todo](https://wc-todo.firebaseapp.com/) - The same todo application built in different Web Components libraries for benchmark purpose.\n\n## Frameworks\n\n### Angular\n\n- [Angular Elements Overview](https://angular.io/guide/elements)\n- [Building and consuming Angular Elements as Web Components](https://indepth.dev/building-and-bundling-web-components/)\n- [How to use Angular ngModel and ngForms with WebComponents](https://itnext.io/how-to-use-angular-ngmodel-and-ngforms-with-webcomponents-802bd9e1d3d7)\n- [Using Web Components in Angular](https://coryrylan.com/blog/using-web-components-in-angular)\n- [Web Components With Angular Ivy In 6 Steps](https://www.softwarearchitekt.at/post/2019/05/18/web-components-custom-elements-with-angular-ivy-in-6-steps.aspx)\n\n### React\n\n- [3 Approaches to Integrate React with Custom Elements](https://css-tricks.com/3-approaches-to-integrate-react-with-custom-elements/)\n- [Building Interoperable Web Components That Even Work With React](https://css-tricks.com/building-interoperable-web-components-react/)\n- [Rendering React Components With Custom Elements](https://guillaumebriday.fr/rendering-react-components-with-custom-elements)\n- [How to use Web Components in React](https://www.robinwieruch.de/react-web-components)\n- [Using Web Components With Next (or Any SSR Framework)](https://css-tricks.com/using-web-components-with-next-or-any-ssr-framework/)\n\n### Vue\n\n- [Using Web Components in Vue](https://coryrylan.com/blog/using-web-components-in-vue)\n\n### Svelte\n\n- [Svelte Custom Element API](https://svelte.dev/docs#Custom_element_API)\n- [How to Create a Web Component in Svelte](https://dev.to/silvio/how-to-create-a-web-components-in-svelte-2g4j)\n- [Svelte Web Component — 5.4KB](https://itnext.io/svelte-web-component-5-4kb-4afe46590d99)\n\n## Ecosystem\n\n## Meta Frameworks\n\n- [AMP](https://github.com/ampproject/amphtml) - Web component framework to easily create user-first experiences for the web.\n- [Enhance](https://enhance.dev/docs/) - Web standards-based HTML framework for building lightweight web applications.\n- [luna-js](https://github.com/webtides/luna-js) - SSR framework that makes working with the WebComponents standard a breeze.\n- [Rocket](https://rocket.modern-web.dev) - Modern web setup for static sites with a sprinkle of JavaScript.\n- [Web Components Compiler](https://github.com/ProjectEvergreen/wcc) - Compiler to make server-side rendering of native web components easier.\n- [WebC](https://github.com/11ty/webc) - Framework-independent standalone HTML serializer for generating markup for web components.\n\n### Starter Kits\n\n- [Create Open Web Components](https://open-wc.org/docs/development/generator/) - Web component project scaffolding.\n- [custom-element-boilerplate](https://github.com/github/custom-element-boilerplate) - Boilerplate for creating a custom element.\n- [hello-web-components](https://github.com/fernandopasik/hello-web-components) - Simple starter hello world web component written in TypeScript.\n- [nutmeg](https://github.com/abraham/nutmeg) - Build, test, and publish vanilla Web Components with a little spice.\n\n### Testing Solutions\n\n- [capybara-shadowdom](https://github.com/yuki24/capybara-shadowdom) - Ruby gem that adds basic support for the Shadow DOM to Capybara.\n- [Cypress component tests for Lit](https://dev.to/simonireilly/cypress-component-tests-for-lit-elements-web-components-45oj) - How to run component tests for a Lit web component with Cypress.\n- [cypress-lit](https://github.com/simonireilly/cypress-lit) - Test your Lit elements and native web components in Cypress with all the modern browsers.\n- [Developing Components: Testing](https://open-wc.org/guides/developing-components/testing/) - Using @web/test-runner for testing web components in a real browser.\n- [How To Automate Shadow DOM In Selenium WebDriver](https://www.lambdatest.com/blog/shadow-dom-in-selenium/) - Locating Shadow DOM elements using Selenium WebDriver in a Maven project.\n- [Native Automation support for Shadow DOM](https://staleelement.medium.com/native-automation-support-for-shadow-dom-with-webdriverio-and-cypress-chapter-3-26249a589f5e) - Shadow DOM and open-source testing frameworks.\n- [Open Web Components: Testing](https://open-wc.org/docs/testing/testing-package/) - Opinionated package that combines and configures testing libraries.\n- [query-selector-shadow-dom](https://github.com/webdriverio/query-selector-shadow-dom) - querySelector that can pierce Shadow DOM roots, useful for automated testing.\n- [shadow-automation-selenium](https://github.com/sukgu/shadow-automation-selenium) - Shadow DOM automation using Selenium.\n- [Testing Shadow DOM elements in Selenium](https://reflect.run/articles/testing-shadow-dom-elements-in-selenium/) - In Selenium 4, there is now a way to access Shadow DOM nodes.\n- [Test web components with Playwright](https://alexbilson.dev/plants/technology/test-web-components-with-playwright/) - So you’ve created a native web component or two. How do you test them in popular browsers?\n- [W3C Webdriver conquering automation of Shadow DOM](https://staleelement.medium.com/w3c-webdriver-conquering-automation-of-shadow-dom-chapter-2-d92c7fe9e74c) - Shadow DOM tree and its interaction with the W3C Webdriver.\n\n### Tools\n\n- [Backlight](https://backlight.dev/) — With collaboration between developers and designers at heart, Backlight is a very complete coding platform where teams build, document, publish, scale and maintain Design Systems.\n- [Custom Elements Locator](https://github.com/open-wc/locator) - Chrome extension to find custom elements on a page.\n- [@storybook/web-components](https://www.npmjs.com/package/@storybook/web-components) - UI development environment for plain web-component snippets.\n- [webcomponents.dev](https://webcomponents.dev) - Component IDE for web platform developers.\n- [web-component-analyzer](https://github.com/runem/web-component-analyzer) - CLI that analyzes web components and emits documentation / diagnostics.\n- [Web Components Codemods](https://github.com/kcmr/web-components-codemods) - Codemods for Web Components.\n\n## Books\n\n- [Web Components in Action](https://www.manning.com/books/web-components-in-action) - Book by Ben Farrell, available at Manning early release program.\n- [Web Component Essentials](https://leanpub.com/web-component-essentials) - Book by Cory Rylan, early preview edition available at Leanpub.\n\n## Tutorials\n\n- [Building Web Components with Vanilla JavaScript](https://dev.to/aspittel/building-web-components-with-vanilla-javascript--jho)\n- [Creating a Custom Element from Scratch](https://css-tricks.com/creating-a-custom-element-from-scratch/)\n- [Creating a Reusable Avatar Web Component](https://marcoslooten.com/blog/creating-a-reusable-avatar-web-component/)\n- [Creating Web Components with Stencil](https://auth0.com/blog/creating-web-components-with-stencil/)\n- [Encapsulating Style and Structure with Shadow DOM](https://css-tricks.com/encapsulating-style-and-structure-with-shadow-dom/)\n- [Getting started with LitElement and TypeScript](https://labs.thisdot.co/blog/getting-started-with-litelement-and-typescript)\n- [Web Components: from zero to hero](https://dev.to/thepassle/web-components-from-zero-to-hero-4n4m)\n- [Deep Dive: Web Components \u0026 Dependency Injection – The Experiment](https://www.thinktecture.com/web-components/dependency-injection/)\n- [Handling data with Web Components](https://itnext.io/handling-data-with-web-components-9e7e4a452e6e)\n- [How to use D3js with WebComponents](https://towardsdatascience.com/how-to-use-d3js-with-webcomponents-a75ae4f980de)\n- [Navigation Lifecycle using Vaadin Router, LitElement and TypeScript](https://labs.thisdot.co/blog/navigation-lifecycle-using-vaadin-router-litelement-and-typescript)\n- [Recreating The Arduino Pushbutton Using SVG And `\u003clit-element\u003e`](https://www.smashingmagazine.com/2020/01/recreating-arduino-pushbutton-svg/)\n- [Routing Management with LitElement and TypeScript](https://labs.thisdot.co/blog/routing-management-with-litelement)\n- [Snake-Eating Game Making with Web Components of Omi and MVP Architecture](https://dev.to/dntzhang/snake-eating-game-making-with-web-components-of-omi-and-mvp-architecture-206)\n- [Stencil – Web Components On Steroids](https://www.thinktecture.com/web-components/stenciljs-web-components-on-steroids/)\n- [Using Modern Web Components](https://coryrylan.com/blog/using-modern-web-components)\n- [Using Web Components in WordPress is Easier Than You Think](https://css-tricks.com/using-web-components-in-wordpress-is-easier-than-you-think/)\n- [Web Components 101: Framework Comparison](https://coderpad.io/blog/development/web-components-101-framework-comparison/)\n- [Web Components 101: Lit Framework](https://coderpad.io/blog/development/web-components-101-lit-framework/)\n- [Web Components Tools: A Comparison](https://www.nexmo.com/blog/2020/05/20/web-components-tools-a-comparison)\n- [Where to begin building Web Components? - The Basics](https://dev.to/alangdm/where-to-begin-building-web-components-the-basics-3b78)\n- [Where to begin building Web Components? - Class-based Libraries](https://dev.to/alangdm/where-to-begin-building-web-components-class-based-libraries-18m6)\n\n## Insights\n\n### Podcasts\n\n- [Code[ish], episode 38: Building with Web Components](https://www.heroku.com/podcasts/codeish/38-building-with-web-components)\n- [Frontend Happy Hour, episode 62: Web Components - shots of shadow DOM](https://frontendhappyhour.com/episodes/web-components-shots-of-shadow-dom/)\n- [Labs Talk - Web Components with Peter Muessig](https://labstalk.buzzsprout.com/993481/3932975-web-components-with-peter-muessig)\n- [Real Talk JavaScript, episode 7: Custom Web Components with Rob Wormald](https://realtalkjavascript.simplecast.fm/eaf3db9e)\n- [Real Talk JavaScript, episode 101: Back to Basics with Native HTML and LitElement](https://realtalkjavascript.simplecast.com/episodes/episode-101-back-to-basics-with-native-html-and-litelement)\n\n### Presentations\n\n- [Are Web Components the Betamax of web development?](https://noti.st/lostinbrittany/EjUZyd/are-web-components-the-betamax-of-web-development) by [@lostinbrittany](https://twitter.com/lostinbrittany)\n- [Designing Standard Systems](https://drive.google.com/file/d/1ALFiWOFU0UAGUpaZPMIVnoADs9_REtL5/view) by [@stefsull](https://twitter.com/stefsull) and [@bferrua](https://twitter.com/bferrua)\n- [Frontend Architecture for Scalable Design Systems](https://events.drupal.org/seattle2019/sessions/design-system-architecture-pattern-lab-twig-and-web-components) by [@salem_cobalt](https://twitter.com/salem_cobalt)\n- [lit-apollo: Data-Driven Components that Use the Platform](https://apolloelements.dev/using-lit-apollo/) by [@PowersBenny](https://twitter.com/PowersBenny)\n- [Mastering Shadow DOM](https://martine-dowden.github.io/portfolio/presentation/mastering-shadow-dom) by [@Martine_Dowden](https://twitter.com/Martine_Dowden)\n- [Modernizing Large Frontends with Web Components](https://speakerdeck.com/samjulien/modernizing-large-frontends-with-web-components) by [@samjulien](https://twitter.com/samjulien)\n- [Shadow DOM: off the beaten track](https://docs.google.com/presentation/d/1wi74YiTLtLSfgjyccKm5LxYp9k8aeJda0AekWV5mqJI/edit?usp=sharing) by [@serhiikulykov](https://twitter.com/serhiikulykov)\n- [Using Web Components to Build a Framework-agnostic UI Library](https://gotochgo.com/2019/sessions/866/using-web-components-to-build-a-framework-agnostic-ui-library) by [@brianbouril](https://twitter.com/brianbouril) and [@danciupuliga](https://twitter.com/danciupuliga)\n- [Web Components and the AOM](https://decks.tink.uk/2019/jsconf/index.html) by [@LeonieWatson](https://twitter.com/LeonieWatson)\n- [Web Components and Styles Scoping](https://www.dropbox.com/s/wdh9uufjui5htll/Web-Components-and-Styles-Scoping-by-bashmish-FrontMania-2018.pdf) by [@bashmish](https://twitter.com/bashmish)\n- [Web Components can do that?!](https://slides.com/vogloblinsky/web-components-can-do-that) by [@vogloblinsky](https://twitter.com/vogloblinsky)\n- [Web Components: Introduction and State of the Art](https://webcomponents.dev/blog/web-components-slides/) by [@webcomp_dev](https://twitter.com/webcomp_dev)\n\n### Talks\n\n- [Better Apps: Delivering Universal UI Patterns as Web Components](https://youtu.be/mtHf7crZZIQ) by [@janmiksovsky](https://twitter.com/janmiksovsky)\n- [Custom Web Shadow Elements, or Whatever…](https://vimeo.com/364370506) by [@aerotwist](https://twitter.com/aerotwist)\n- [Styling and Theming Web Components](https://youtu.be/FM7ROEVPA4k) by [@justinfagnani](https://twitter.com/justinfagnani)\n- [Web Components at Enterprise Scale](https://youtu.be/iFp-P2UJT_Y) by [@diervo](https://twitter.com/diervo)\n\n## Usage Metrics\n\n- [Chrome Platform Status: `CustomElementRegistryDefine`](https://chromestatus.com/metrics/feature/timeline/popularity/1689)\n- [Chrome Platform Status: `ElementAttachShadow`](https://chromestatus.com/metrics/feature/timeline/popularity/804)\n- [Chrome Platform Status: `HTMLTemplateElement`](https://chromestatus.com/metrics/feature/timeline/popularity/2769)\n\n## Proposals\n\n### Form-associated Custom Elements\n\n- [Form Participation API Explained](https://docs.google.com/document/d/1JO8puctCSpW-ZYGU8lF-h4FWRIDQNDVexzHoOQ2iQmY/edit?usp=sharing) - Document by Google Chrome team.\n- [Form-associated custom elements](https://www.chromestatus.com/features/4708990554472448) - Feature in Chrome platform status.\n- [web-platform-tests](https://github.com/web-platform-tests/wpt/tree/master/custom-elements/form-associated)\n\n### Constructable Stylesheet Objects\n\n- [Specification Draft](https://wicg.github.io/construct-stylesheets/)\n- [web-platform-tests](https://github.com/web-platform-tests/wpt/blob/master/css/cssom/CSSStyleSheet-constructable.html)\n- [Explainer](https://github.com/WICG/construct-stylesheets/blob/gh-pages/explainer.md)\n- [Constructable Stylesheets](https://www.chromestatus.com/feature/5394843094220800) - Feature in Chrome platform status.\n\n### Custom State Pseudo Class\n\n- [Blink: Intent to implement](https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/CApU9QIu3TM)\n- [`ElementInternals`'s `states` property and the `:state()` pseudo class](https://github.com/w3c/webcomponents/blob/gh-pages/proposals/custom-states-and-state-pseudo-class.md)\n\n## Miscellaneous\n\n- [bruck](https://github.com/Heydon/bruck) - Prototyping system built with web components and the Houdini Paint API.\n- [Vaadin Directory](https://vaadin.com/directory) - Publish, discuss and rate web components\n- [webcomponents.org](http://webcomponents.org/) - Discuss \u0026amp; share web components.\n\n## Archive\n\n### Polyfills\n\nModern browsers supports web components standards without any of the polyfills listed below.\nThe only notable exception is that customized built-in elements are rejected by WebKit (Safari).\n\n#### Custom Elements polyfills\n\n- [@webcomponents/custom-elements](https://github.com/webcomponents/polyfills/tree/master/packages/custom-elements) - Custom Elements polyfill by Polymer team.\n- [document-register-element](https://github.com/WebReflection/document-register-element) - Custom Elements polyfill by Andrea Giammarchi.\n\n#### Customized Built-in Elements polyfills\n\n- [@corpuscule/custom-builtin-elements](https://github.com/corpusculejs/custom-builtin-elements) - Customized built-in elements polyfill by [CorpusculeJS](https://github.com/corpusculejs).\n- [@ungap/custom-elements-builtin](https://github.com/ungap/custom-elements-builtin) - Customized built-in elements polyfill by [ungap project](https://ungap.github.io).\n\n#### Shadow DOM shims\n\n- [@webcomponents/shadydom](https://github.com/webcomponents/polyfills/tree/master/packages/shadydom) - ShadowDOM v1 shim.\n- [@webcomponents/shadycss](https://github.com/webcomponents/polyfills/tree/master/packages/shadycss) - ShadowDOM style encapsulation shim.\n- [@lwc/synthetic-shadow](https://github.com/salesforce/lwc/blob/master/packages/@lwc/synthetic-shadow) - Shadow DOM polyfill by [LWC](https://lwc.dev).\n\n#### HTML Templates polyfills\n\n- [@webcomponents/template](https://github.com/webcomponents/polyfills/tree/master/packages/template) - Minimal polyfill for `\u003ctemplate\u003e`.\n- [@ungap/import-node](https://github.com/ungap/import-node) - An `importNode` polyfill for IE11 by [ungap project](https://ungap.github.io).\n\n### History\n\nThe articles below represent a long story of the Web Components specifications on the way towards the standardization.\nSome of them refer to earlier, so-called \"v0\" Shadow DOM and Custom Elements specs, and abandoned HTML Imports spec.\nThese materials are here for historical reasons only, they are grouped by years and listed in chronological order.\n\n#### 2019\n\n- [A history of the HTML slot element](https://component.kitchen/blog/posts/a-history-of-the-html-slot-element)\n- [Web Components for Cross-Framework Component Libraries](https://codeburst.io/web-components-for-cross-framework-component-libraries-2647741f9470)\n- [Web Components in 2019: Part 1](https://codeburst.io/web-components-in-2019-part-1-6bd7251edce5)\n- [Web Components in 2019: Part 2](https://codeburst.io/web-components-in-2019-part-2-a7de8c770c5a)\n- [Web Components in 2019: Part 3](https://codeburst.io/web-components-in-2019-part-3-e725b781a414)\n- [Web Components in 2019: Part 4](https://codeburst.io/web-components-in-2019-part-4-7fe8e63a4dee)\n- [Developments in Web Components I’m excited about in 2019](https://medium.com/angular-in-depth/developments-in-web-components-im-excited-about-in-2019-3ae7751c2f64)\n\n#### 2018\n\n- [Styling Accessibility: A Web Components Approach](https://medium.com/@cfscorreia/styling-accessibility-a-web-components-approach-dc2aa8123eb2)\n- [Web Components 101: An Introduction to Web Components](https://www.telerik.com/blogs/web-components-101-an-introduction-to-web-components)\n- [Get started with Vue web components](https://medium.com/@royprins/get-started-with-vue-web-components-593b3d5b3200)\n- [6 Reasons You Should Use Native Web Components](https://codeburst.io/6-reasons-you-should-use-native-web-components-b45e18e069c2)\n- [Web Components in 2018](https://www.sitepen.com/blog/web-components-in-2018)\n- [Web Components Introduction: Creating Custom HTML Elements in 2018](https://www.grapecity.com/en/blogs/web-components-introduction-creating-custom-html-elements-2018)\n- [Create \u0026 Publish Web Components With Vue CLI 3](https://vuejsdevelopers.com/2018/05/21/vue-js-web-component/)\n- [Extending Native DOM Elements with Web Components](https://medium.com/revillweb/extending-native-dom-elements-with-web-components-233350c8e86a)\n\n#### 2017\n\n- [Styling is critical to web component reuse, but may prove difficult in practice](https://component.kitchen/blog/posts/styling-is-critical-to-web-component-reuse-but-may-prove-difficult-in-practice)\n- [Web Components: The Long Game](https://infrequently.org/2017/10/web-components-the-long-game/)\n- [Web Components: Just in the Nick of Time (Polymer Summit 2017)](https://youtu.be/y-8Lmg5Gobw)\n- [Using Web Components in Ionic (Polymer Summit 2017)](https://youtu.be/UfD-k7aHkQE)\n- [Web Components for VR (Polymer Summit 2017)](https://youtu.be/8GmTu2JF4-0)\n- [Building UI at Enterprise Scale with Web Components (Polymer Summit 2017)](https://youtu.be/FJ2KEvzlyo4)\n- [Custom Elements Everywhere (Polymer Summit 2017)](https://youtu.be/sK1ODp0nDbM)\n- [Evolving the Next Generation of Polymer Elements (Polymer Summit 2017)](https://youtu.be/rvpJ5O0W_6A)\n- [Polymer @ YouTube (Polymer Summit 2017)](https://youtu.be/tNulrEbTQf8)\n- [Web Components for CMS (Polymer Summit 2017)](https://youtu.be/c-WDHG6rrdU)\n- [An intro to web components with otters](https://meowni.ca/posts/web-components-with-otters/)\n- [The broken promise of Web Components](https://dmitriid.com/blog/2017/03/the-broken-promise-of-web-components/)\n- [Regarding the broken promise of Web Components](http://robdodson.me/regarding-the-broken-promise-of-web-components/)\n- [Web Components v1 - the next generation](https://web.dev/webcomponents-org/)\n\n#### 2016\n\n- [Introducing Custom Elements](https://webkit.org/blog/7027/introducing-custom-elements/)\n- [The Case for Custom Elements: Part 1](https://medium.com/dev-channel/the-case-for-custom-elements-part-1-65d807b4b439)\n- [The Case for Custom Elements: Part 2](https://medium.com/dev-channel/the-case-for-custom-elements-part-2-2efe42ce9133)\n- [Demythstifying Web Components](http://www.backalleycoder.com/2016/08/26/demythstifying-web-components/)\n- [Extensible web components](https://adactio.com/journal/11052)\n- [Web Component Challenges](https://blog.revillweb.com/web-component-challenges-a09ebc598d65)\n- [Web Components and progressive enhancement](https://onishi.ltd/articles/2016/08/web-components-and-progressive-enhancement/)\n- [Update on standardizing Shadow DOM and Custom Elements](https://annevankesteren.nl/2015/07/shadow-dom-custom-elements-update)\n- [What's New in Shadow DOM v1 (by examples)](https://hayatoito.github.io/2016/shadowdomv1/)\n- [Why web components are so important](https://blog.revillweb.com/why-web-components-are-so-important-66ad0bd4807a)\n- [Understanding Web Components](https://medium.com/the-ui-files/understanding-web-components-d051baa66019)\n\n#### 2015\n\n- [Introducing Slot-Based Shadow DOM API](https://webkit.org/blog/4096/introducing-shadow-dom-api/)\n- [There is an Element for that](https://medium.com/synsugar/there-is-an-element-for-that-a9fcdafe4a25)\n- [What happened to Web Components?](https://2ality.com/2015/08/web-component-status.html)\n- [Web Components and their role in the future of web development](http://kaytcat.github.io/web-components/)\n- [Microsoft Edge and Web Components](https://blogs.windows.com/msedgedev/2015/07/15/microsoft-edge-and-web-components/)\n- [Bringing componentization to the web: An overview of Web Components](https://blogs.windows.com/msedgedev/2015/07/14/bringing-componentization-to-the-web-an-overview-of-web-components/)\n- [Why Web Components will make the web a better place for our users](https://medium.com/@kaelig/why-web-components-will-make-the-web-a-better-place-for-our-users-38dc3154fc1d)\n- [Practical Questions around Web Components](https://www.ianfeather.co.uk/practical-questions-around-web-components/)\n- [The state of Web Components](https://hacks.mozilla.org/2015/06/the-state-of-web-components/)\n\n#### 2014\n\n- [A No-Nonsense Guide to Web Components, Part 1: The Specs](http://cbateman.com/blog/a-no-nonsense-guide-to-web-components-part-1-the-specs/)\n- [A No-Nonsense Guide to Web Components, Part 2: Practical Use](http://cbateman.com/blog/a-no-nonsense-guide-to-web-components-part-2-practical-use/)\n- [Web Components + Backbone: A Game-Changing Combination](https://youtu.be/dztuKgjk0Bg)\n- [Mozilla and Web Components: Update](https://hacks.mozilla.org/2014/12/mozilla-and-web-components/)\n- [Server-less applications powered by Web Components](https://youtu.be/MdcD1rNkNLE)\n- [Web Components and the Future of CSS](https://youtu.be/QHxrr6Q82yI)\n- [Easy composition and reuse with Web Components](https://youtu.be/6vcQlD-jadk)\n- [Let’s build some apps with Polymer!](https://youtu.be/kV0hgdMpH28)\n- [Polymer: State of the Union](https://youtu.be/0LT6W5QVCJI)\n- [Web Components 101: An Introduction to Fundamental Changes in HTML](https://youtu.be/hEzmy93zr0Y?t=540)\n- [Web Components 201: Designing Web Components for Reuse](https://youtu.be/dwxaG-eoxdU)\n- [Why Web Components — Does the Web Really Need Another Component?](https://medium.com/@shaunwalla/why-web-components-does-the-web-really-need-another-component-4af010b6446)\n- [“Don’t stop thinking about tomorrow” - AngularJS and Web Components](https://youtu.be/gSTNTXtQwaY)\n- [Multi-device Apps with Web Components](https://youtu.be/kn0y7uugO0Y)\n- [As I Walk Through The Valley Of The Shadow Of DOM](https://youtu.be/nbsWP2cPhhU)\n- [Why Web Components Are Ready For Production](https://www.telerik.com/blogs/web-components-ready-production)\n- [The State of the Componentised Web](https://www.leggetter.co.uk/2014/08/06/state-componentised-web.html)\n- [An Addendum to Why Web Components Aren't Ready for Production Yet](https://www.tjvantoll.com/2014/07/18/an-addendum-to-why-web-components-arent-ready-for-production-yet/)\n- [Why Web Components Aren't Ready for Production... Yet](https://www.telerik.com/blogs/web-components-arent-ready-production-yet)\n- [Component Interop With React And Custom Elements](https://addyosmani.com/blog/component-interop-with-react-and-custom-elements/)\n- [Accessibility of Web Components](https://youtu.be/BgvDZZ8Ms8c)\n- [Componentize The Web: Back To The Browser!](https://youtu.be/GOPXVLxp9Nc)\n- [Google I/O 2014 - Polymer and the Web Components revolution](https://youtu.be/yRbOSdAe_JU)\n- [Google I/O 2014 - Polymer and Web Components change everything you know about Web development](https://youtu.be/8OJ7ih8EE7s)\n- [Google I/O 2014 - Unlock the next era of UI development with Polymer](https://youtu.be/HKrYfrAzqFA)\n- [Making Polymer Elements Accessible](https://youtu.be/_IBiXfxhF-A)\n- [Building an Accessible Disclosure Button – using Web Components](https://developer.paciellogroup.com/blog/2014/06/accessible-disclosure-button-using-web-components/)\n- [The Road to Web Components](https://youtu.be/yLyyXHhSl8w)\n- [The Web Components Revolution is Here](https://youtu.be/3QLmAm9xtnU)\n- [Web Components: A chance to create the future](https://youtu.be/JUzjr1bIRUg)\n- [Web Component Mashups at 3 a.m.](https://youtu.be/75EuHl6CSTo)\n- [Web Components Tools \u0026 Libraries](https://youtu.be/iPmN4CvLGJc)\n- [Web Components Can Do That?!](https://addyosmani.com/fitc-wccdt/)\n- [Web Components and you – dangers to avoid](https://christianheilmann.com/2014/04/18/web-components-and-you-dangers-to-avoid/)\n- [HTML as Custom Elements](https://github.com/domenic/html-as-custom-elements)\n- [The Web's Declarative, Composable Future](https://addyosmani.com/blog/the-webs-declarative-composable-future/)\n- [Using Polymer to Create Web Components](https://code.tutsplus.com/tutorials/using-polymer-to-create-web-components--cms-20475)\n- [The Shadow DOM Diaries](https://gist.github.com/dglazkov/efd2deec54f65aa86f2e)\n- [A Detailed Introduction To Custom Elements](https://www.smashingmagazine.com/2014/03/introduction-to-custom-elements/)\n\n#### 2013\n\n- [A future called Web Components](https://speakerdeck.com/zenorocha/a-future-called-web-components)\n- [Building Mobile Web Applications With Brick](https://youtu.be/dW2ib0bkxGQ)\n- [Polymer: declarative, encapsulated, and reusable components for the web](https://youtu.be/DH1vTVkqCDQ)\n- [Web Components: Why you're already an expert](https://youtu.be/s1PTPZwzQA4)\n- [Yo Polymer: a new way of building web apps](https://youtu.be/booRxAJblwM)\n- [Performance and Custom Elements](https://www.stevesouders.com/blog/2013/11/26/performance-and-custom-elements/)\n- [Web Components Revolution](https://robdodson.github.io/webcomponents-revolution/)\n- [A Guide to Web Components](https://css-tricks.com/modular-future-web-components/)\n- [Return of Inspector Web: Web Components a Year Later](https://vimeo.com/78899868)\n- [Working with Custom Elements](https://web.dev/customelements/)\n- [Creating Reusable Markup with The HTML Template Element](https://blog.teamtreehouse.com/creating-reusable-markup-with-the-html-template-element)\n- [Working with Shadow DOM](https://blog.teamtreehouse.com/working-with-shadow-dom)\n- [Breaking Development: Web Components](https://www.lukew.com/ff/entry.asp?1752)\n- [Web Components: A Tectonic Shift for Web Development - Google I/O 2013](https://youtu.be/fqULJBBEVQE)\n- [Web Components: Getting Started](https://vimeo.com/68212204)\n- [Shadow DOM 101](https://web.dev/shadowdom/)\n- [Shadow DOM 201](https://web.dev/shadowdom-201/)\n- [Shadow DOM 301](https://web.dev/shadowdom-301/)\n- [Visualizing shadow DOM concepts](https://developer.chrome.com/blog/visualizing-shadow-dom-concepts/)\n- [Web components and the future of web development](https://youtu.be/pb6DsPNdoXk)\n- [HTML's New Template Tag](https://web.dev/webcomponents-template/)\n\n#### 2012\n\n- [The Basics of the Shadow DOM](https://www.sitepoint.com/the-basics-of-the-shadow-dom/)\n- [Notes on Web Components + ARIA](https://developer.paciellogroup.com/blog/2012/07/notes-on-web-components-aria/)\n- [Google I/O 2012 - The Web Platform's Cutting Edge](https://youtu.be/2txPYQOWBtg)\n- [Introduction to Web Components](https://www.w3.org/TR/2012/WD-components-intro-20120522/)\n\n#### 2011\n\n- [Web Components and Model Driven Views by Alex Russell](https://fronteers.nl/congres/2011/sessions/web-components-and-model-driven-views-alex-russell)\n- [What the Heck is Shadow DOM?](https://glazkov.com/2011/01/14/what-the-heck-is-shadow-dom/)\n\n## Who To Follow\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/polymer\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/1063502058337136640/RmlG_bbW_80x80.jpg\"\u003e\n          \u003cdiv\u003ePolymer\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/stenciljs\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/1135534552137510914/5ZzvOFFp_80x80.png\"\u003e\n          \u003cdiv\u003eStencil\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/openwc\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/1101188623930662912/YKlBD7n6_80x80.png\"\u003e\n          \u003cdiv\u003eopen-wc.org\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/webcomp_dev\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/1169270943371407360/U-90Bxn0_80x80.jpg\"\u003e\n          \u003cdiv\u003ewebcomponents.dev\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/justinfagnani\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/378800000808710206/2dbdaa1cb7b0db02f997aea5b40f29b8_80x80.jpeg\"\u003e\n          \u003cdiv\u003eJustin Fagnani\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/viljamis\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/671595827740086273/wCUWq-1S_80x80.png\"\u003e\n          \u003cdiv\u003eViljami Salminen\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/JanMiksovsky\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/675000078055051264/u1ZEQfeE_80x80.jpg\"\u003e\n          \u003cdiv\u003eJan Miksovsky\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://twitter.com/serhiikulykov\"\u003e\n          \u003cimg width=\"80\" height=\"80\" src=\"https://pbs.twimg.com/profile_images/1028197887329685504/cM6nOHlp_80x80.jpg\"\u003e\n          \u003cdiv\u003eSerhii Kulykov\u003c/div\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003ctbody\u003e\n\u003c/table\u003e\n\n## Maintainers\n\n- Created by [@mateusortiz](https://github.com/mateusortiz) in 2014.\n- Maintained by [@web-padawan](https://github.com/web-padawan) since 2018.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateusortiz%2Fwebcomponents-the-right-way","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateusortiz%2Fwebcomponents-the-right-way","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateusortiz%2Fwebcomponents-the-right-way/lists"}