This pull requests adds support for Custom Elements v1, the official standardized spec recognized by all major platforms. v1 has already landed in Chrome, Safari, and Opera, and development is underway in Firefox and Microsoft Edge.
In my testing, none of the v1 polyfills worked reliably in older versions of Safari or on older Android devices. They're also far more invasive, attempting to patch every possible means of content creation / insertion. Miss one (like
v0 on the other hand, even though it's only officially supported in Chrome, has far better support thanks to several battle hardened,
To smooth over the v1/v0 API differences, this change introduces its own distinct naming convention for lifecycle callbacks:
v0 (polyfilled if necessary):