@webreflection/custom-elements-builtin
Advanced tools
Weekly downloads
Readme
Social Media Photo by Joanna Kosinska on Unsplash
A better custom-elements-builtin polyfill, targeting Safari, but working in every other browser that has native customElements.
This module is included in @ungap/custom-elements polyfill, use that to avoid dealing with try
catches manually, it features detect everything for you.
Do not use this module directly unless you are targeting Safari/WebKit browsers only.
I am not maintaining how to feature detect in here, because it keeps changing, and the right polyfill that includes most updated feature detection is this one, not this module.
If you'd like your builtin elements to be style-able, and you land these elements through their constructors or via document.createElement('button', {is: 'custom-button'})
, remember to explicitly set their is
attribute, because due to this inconsistent bug, Chrome and Firefox don't do that automatically, and your builtin extends might not get the desired style.
class BlueButton extends HTMLButtonElement {
constructor() {
super()
// for dedicated styles, remember to do this!
this.setAttribute('is', 'blue-button');
// everything else is fine
this.textContent = 'I am blue';
}
}
customElements.define('blue-button', BlueButton, {extends: 'button'});
document.body.appendChild(new BlueButton);
This polyfill does that automatically because all builtin extends must be query-able via querySelectorAll
, but other browsers won't do that automatically.
FAQs
A better custom-elements-builtin polyfill, Safari only
The npm package @webreflection/custom-elements-builtin receives a total of 550 weekly downloads. As such, @webreflection/custom-elements-builtin popularity was classified as not popular.
We found that @webreflection/custom-elements-builtin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.