0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-02-10 22:38:53 -05:00
astro/packages/integrations/lit/client-shim.min.js
2024-02-10 12:19:45 +01:00

100 lines
2.6 KiB
JavaScript

/** @license Copyright 2020 Google LLC (BSD-3-Clause) */
/** Bundled JS generated from "@astrojs/lit/client-shim.js" */
var g = Object.defineProperty;
var i = (t, n) => () => (t && (n = t((t = 0))), n);
var y = (t, n) => {
for (var l in n) g(t, l, { get: n[l], enumerable: !0 });
};
function d() {
var t;
return (
s === void 0 &&
(s = !!(
!(
(t = new DOMParser()
.parseFromString(
'<div><template shadowrootmode="open"></template></div>',
'text/html',
{ includeShadowRoots: !0 }
)
.querySelector('div')) === null || t === void 0
) && t.shadowRoot
)),
s
);
}
var s,
m = i(() => {});
var p,
c,
f,
u = i(() => {
(p = (t) => t.parentElement === null),
(c = (t) => t.tagName === 'TEMPLATE'),
(f = (t) => t.nodeType === Node.ELEMENT_NODE);
});
var h,
w = i(() => {
m();
u();
h = (t) => {
var n;
if (d()) return;
let l = [],
e = t.firstElementChild;
for (; e !== t && e !== null; )
if (c(e)) l.push(e), (e = e.content);
else if (e.firstElementChild !== null) e = e.firstElementChild;
else if (f(e) && e.nextElementSibling !== null) e = e.nextElementSibling;
else {
let o;
for (; e !== t && e !== null; )
if (p(e)) {
o = l.pop();
let r = o.parentElement,
a = o.getAttribute('shadowrootmode');
if (((e = o), a === 'open' || a === 'closed')) {
let x = o.hasAttribute('shadowrootdelegatesfocus');
try {
r.attachShadow({ mode: a, delegatesFocus: x }).append(o.content);
} catch {}
} else o = void 0;
} else {
let r = e.nextElementSibling;
if (r != null) {
(e = r), o !== void 0 && o.parentElement.removeChild(o);
break;
}
let a =
(n = e.parentElement) === null || n === void 0 ? void 0 : n.nextElementSibling;
if (a != null) {
(e = a), o !== void 0 && o.parentElement.removeChild(o);
break;
}
(e = e.parentElement), o !== void 0 && (o.parentElement.removeChild(o), (o = void 0));
}
}
};
});
var E = i(() => {
w();
});
var v = {};
y(v, { hasNativeDeclarativeShadowRoots: () => d, hydrateShadowRoots: () => h });
var S = i(() => {
m();
E();
});
async function N() {
let { hydrateShadowRoots: t } = await Promise.resolve().then(() => (S(), v)),
n = () => t(document.body);
window.addEventListener('DOMContentLoaded', n, { once: !0 });
}
var R = new DOMParser()
.parseFromString(
'<p><template shadowroot="open" shadowrootmode="open"></template></p>',
'text/html',
{ includeShadowRoots: !0 }
)
.querySelector('p');
R?.shadowRoot || N();