alinea
Version:
Headless git-based CMS
167 lines (158 loc) • 5.16 kB
JavaScript
import {
x
} from "./chunk-WLKPH7JA.js";
import {
n,
o,
o2,
u
} from "./chunk-VUACWPFC.js";
// node_modules/@headlessui/react/dist/hooks/use-inert-others.js
var f = /* @__PURE__ */ new Map();
var u2 = /* @__PURE__ */ new Map();
function h(t2) {
var e;
let r = (e = u2.get(t2)) != null ? e : 0;
return u2.set(t2, r + 1), r !== 0 ? () => m(t2) : (f.set(t2, { "aria-hidden": t2.getAttribute("aria-hidden"), inert: t2.inert }), t2.setAttribute("aria-hidden", "true"), t2.inert = true, () => m(t2));
}
function m(t2) {
var i2;
let r = (i2 = u2.get(t2)) != null ? i2 : 1;
if (r === 1 ? u2.delete(t2) : u2.set(t2, r - 1), r !== 1) return;
let e = f.get(t2);
e && (e["aria-hidden"] === null ? t2.removeAttribute("aria-hidden") : t2.setAttribute("aria-hidden", e["aria-hidden"]), t2.inert = e.inert, f.delete(t2));
}
function y(t2, { allowed: r, disallowed: e } = {}) {
let i2 = x(t2, "inert-others");
n(() => {
var d, c2;
if (!i2) return;
let a2 = o();
for (let n2 of (d = e == null ? void 0 : e()) != null ? d : []) n2 && a2.add(h(n2));
let s3 = (c2 = r == null ? void 0 : r()) != null ? c2 : [];
for (let n2 of s3) {
if (!n2) continue;
let l2 = u(n2);
if (!l2) continue;
let o5 = n2.parentElement;
for (; o5 && o5 !== l2.body; ) {
for (let p of o5.children) s3.some((E) => p.contains(E)) || a2.add(h(p));
o5 = o5.parentElement;
}
}
return a2.dispose;
}, [i2, r, e]);
}
// node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js
import { useRef as o3 } from "react";
function t(e) {
return [e.screenX, e.screenY];
}
function u3() {
let e = o3([-1, -1]);
return { wasMoved(r) {
let n2 = t(r);
return e.current[0] === n2[0] && e.current[1] === n2[1] ? false : (e.current = n2, true);
}, update(r) {
e.current = t(r);
} };
}
// node_modules/@headlessui/react/dist/utils/calculate-active-index.js
function u4(l2) {
throw new Error("Unexpected object: " + l2);
}
var c = ((i2) => (i2[i2.First = 0] = "First", i2[i2.Previous = 1] = "Previous", i2[i2.Next = 2] = "Next", i2[i2.Last = 3] = "Last", i2[i2.Specific = 4] = "Specific", i2[i2.Nothing = 5] = "Nothing", i2))(c || {});
function f2(l2, n2) {
let t2 = n2.resolveItems();
if (t2.length <= 0) return null;
let r = n2.resolveActiveIndex(), s3 = r != null ? r : -1;
switch (l2.focus) {
case 0: {
for (let e = 0; e < t2.length; ++e) if (!n2.resolveDisabled(t2[e], e, t2)) return e;
return r;
}
case 1: {
s3 === -1 && (s3 = t2.length);
for (let e = s3 - 1; e >= 0; --e) if (!n2.resolveDisabled(t2[e], e, t2)) return e;
return r;
}
case 2: {
for (let e = s3 + 1; e < t2.length; ++e) if (!n2.resolveDisabled(t2[e], e, t2)) return e;
return r;
}
case 3: {
for (let e = t2.length - 1; e >= 0; --e) if (!n2.resolveDisabled(t2[e], e, t2)) return e;
return r;
}
case 4: {
for (let e = 0; e < t2.length; ++e) if (n2.resolveId(t2[e], e, t2) === l2.id) return e;
return r;
}
case 5:
return null;
default:
u4(l2);
}
}
// node_modules/@headlessui/react/dist/hooks/use-did-element-move.js
import { useRef as i } from "react";
function s(n2, t2) {
let e = i({ left: 0, top: 0 });
if (n(() => {
if (!t2) return;
let r = t2.getBoundingClientRect();
r && (e.current = r);
}, [n2, t2]), t2 == null || !n2 || t2 === document.activeElement) return false;
let o5 = t2.getBoundingClientRect();
return o5.top !== e.current.top || o5.left !== e.current.left;
}
// node_modules/@headlessui/react/dist/hooks/use-text-value.js
import { useRef as l } from "react";
// node_modules/@headlessui/react/dist/utils/get-text-value.js
var a = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
function o4(e) {
var r, i2;
let n2 = (r = e.innerText) != null ? r : "", t2 = e.cloneNode(true);
if (!(t2 instanceof HTMLElement)) return n2;
let u5 = false;
for (let f3 of t2.querySelectorAll('[hidden],[aria-hidden],[role="img"]')) f3.remove(), u5 = true;
let l2 = u5 ? (i2 = t2.innerText) != null ? i2 : "" : n2;
return a.test(l2) && (l2 = l2.replace(a, "")), l2;
}
function g(e) {
let n2 = e.getAttribute("aria-label");
if (typeof n2 == "string") return n2.trim();
let t2 = e.getAttribute("aria-labelledby");
if (t2) {
let u5 = t2.split(" ").map((l2) => {
let r = document.getElementById(l2);
if (r) {
let i2 = r.getAttribute("aria-label");
return typeof i2 == "string" ? i2.trim() : o4(r).trim();
}
return null;
}).filter(Boolean);
if (u5.length > 0) return u5.join(", ");
}
return o4(e).trim();
}
// node_modules/@headlessui/react/dist/hooks/use-text-value.js
function s2(c2) {
let t2 = l(""), r = l("");
return o2(() => {
let e = c2.current;
if (!e) return "";
let u5 = e.innerText;
if (t2.current === u5) return r.current;
let n2 = g(e).trim().toLowerCase();
return t2.current = u5, r.current = n2, n2;
});
}
export {
y,
u3 as u,
c,
f2 as f,
s,
s2
};