2022-03-18 17:35:45 -05:00
|
|
|
async function polyfill() {
|
2022-04-02 15:15:41 -05:00
|
|
|
const { hydrateShadowRoots } = await import(
|
|
|
|
'@webcomponents/template-shadowroot/template-shadowroot.js'
|
|
|
|
);
|
2022-05-31 10:41:24 -05:00
|
|
|
window.addEventListener('DOMContentLoaded', () => hydrateShadowRoots(document.body), {
|
|
|
|
once: true,
|
|
|
|
});
|
2022-03-18 17:35:45 -05:00
|
|
|
}
|
|
|
|
|
2022-04-02 15:15:41 -05:00
|
|
|
const polyfillCheckEl = new DOMParser()
|
2023-02-01 08:46:50 -05:00
|
|
|
.parseFromString(
|
|
|
|
`<p><template shadowroot="open" shadowrootmode="open"></template></p>`,
|
|
|
|
'text/html',
|
|
|
|
{
|
|
|
|
includeShadowRoots: true,
|
|
|
|
}
|
|
|
|
)
|
2022-04-02 15:15:41 -05:00
|
|
|
.querySelector('p');
|
2022-03-18 17:35:45 -05:00
|
|
|
|
|
|
|
if (!polyfillCheckEl || !polyfillCheckEl.shadowRoot) {
|
|
|
|
polyfill();
|
|
|
|
}
|