async function polyfill() { const { hydrateShadowRoots } = await import( '@webcomponents/template-shadowroot/template-shadowroot.js' ); window.addEventListener('DOMContentLoaded', () => hydrateShadowRoots(document.body), { once: true, }); } const polyfillCheckEl = new DOMParser() .parseFromString( `<p><template shadowroot="open" shadowrootmode="open"></template></p>`, 'text/html', { includeShadowRoots: true, } ) .querySelector('p'); if (!polyfillCheckEl?.shadowRoot) { polyfill(); }