0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
astro/packages/integrations/lit/client-shim.js

23 lines
531 B
JavaScript
Raw Normal View History

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-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');
if (!polyfillCheckEl || !polyfillCheckEl.shadowRoot) {
polyfill();
}