This module provides the Custom Elements V1 API as defined by standards, including the ability to extend builtin elements, all in ~2K minified and gzipped / brotlied.
The polyfill gracefully enhances the following minimum versions of at least these browsers, up to their latest version:
- Chrome 38
- Firefox 14
- Opera 25
- Internet Explorer 11 and Edge 12
- Safari 8 and WebKit based
- Samsung Internet 3
Either install this module via npm i @ungap/custom-elements
, and include it in your project, or use a CDN such as unpkg.com to obtain the minified version of this module.
<!-- this should be on top of your HTML <head> scripts -->
<script src="//unpkg.com/@ungap/custom-elements"></script>
If targeted browsers are ES2015 compatible, the es.js
file would provide the same polyfill, just lighter, as no transpilation is used.
<script src="//unpkg.com/@ungap/custom-elements/es.js"></script>
If installed as module, please remember to include it on top of your main JS file.
// ESM
import '@ungap/custom-elements';
// CJS
require('@ungap/custom-elements');
The module will incrementally patch the global window
/self
reference, adding a customElements
object that is compatible with the API.
This module simply provides @webreflection/custom-elements module under the ungap umbrella.