Polyfills

Included Polyfills

The table below lists the polyfilled JavaScript APIs required for HelixUI to function. Native support for each API is shown in columns corresponding to each of the supported browsers. For browsers that do not have native support, the final column identifies the asset in which the polyfill is provided.

JavaScript API Polyfilled By
Array.from() webcomponentsjs
ChildNode.remove() helix-ui
new CustomEvent() webcomponentsjs
Element.attachShadow() webcomponentsjs
Element.closest() helix-ui
Element.shadowRoot webcomponentsjs
new Event() webcomponentsjs
HTMLTemplateElement webcomponentsjs
Node.isConnected webcomponentsjs
Node.getRootNode() webcomponentsjs
Object.assign() webcomponentsjs
Promise webcomponentsjs
Window.customElements webcomponentsjs

Native support is checked against the latest release of each browser.

Additional Polyfills

If your application requires polyfills beyond those listed above, they will need to be added separately.

Access the following resources to find polyfills.

  • MDN documentation may include polyfills for JavaScript and Web APIs.
  • Several packages are available for installation from NPM that provide varying subsets of polyfills.
  • Polyfill.io is a free service that provides polyfills based on the User-Agent of the requesting browser.