alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
111 lines (104 loc) • 3.21 kB
JavaScript
import {
o2 as o
} from "./chunk-QEHUZJO2.js";
// node_modules/@headlessui/react/dist/utils/calculate-active-index.js
function f(r) {
throw new Error("Unexpected object: " + r);
}
var a = ((e) => (e[e.First = 0] = "First", e[e.Previous = 1] = "Previous", e[e.Next = 2] = "Next", e[e.Last = 3] = "Last", e[e.Specific = 4] = "Specific", e[e.Nothing = 5] = "Nothing", e))(a || {});
function x(r, n) {
let t2 = n.resolveItems();
if (t2.length <= 0)
return null;
let l2 = n.resolveActiveIndex(), s = l2 != null ? l2 : -1, d = (() => {
switch (r.focus) {
case 0:
return t2.findIndex((e) => !n.resolveDisabled(e));
case 1: {
let e = t2.slice().reverse().findIndex((i, c, u2) => s !== -1 && u2.length - c - 1 >= s ? false : !n.resolveDisabled(i));
return e === -1 ? e : t2.length - 1 - e;
}
case 2:
return t2.findIndex((e, i) => i <= s ? false : !n.resolveDisabled(e));
case 3: {
let e = t2.slice().reverse().findIndex((i) => !n.resolveDisabled(i));
return e === -1 ? e : t2.length - 1 - e;
}
case 4:
return t2.findIndex((e) => n.resolveId(e) === r.id);
case 5:
return null;
default:
f(r);
}
})();
return d === -1 ? l2 : d;
}
// node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js
import { useRef as o2 } from "react";
function t(e) {
return [e.screenX, e.screenY];
}
function u() {
let e = o2([-1, -1]);
return { wasMoved(r) {
let n = t(r);
return e.current[0] === n[0] && e.current[1] === n[1] ? false : (e.current = n, true);
}, update(r) {
e.current = t(r);
} };
}
// 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 a2 = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
function o3(e) {
var r, i;
let n = (r = e.innerText) != null ? r : "", t2 = e.cloneNode(true);
if (!(t2 instanceof HTMLElement))
return n;
let u2 = false;
for (let f2 of t2.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))
f2.remove(), u2 = true;
let l2 = u2 ? (i = t2.innerText) != null ? i : "" : n;
return a2.test(l2) && (l2 = l2.replace(a2, "")), l2;
}
function g(e) {
let n = e.getAttribute("aria-label");
if (typeof n == "string")
return n.trim();
let t2 = e.getAttribute("aria-labelledby");
if (t2) {
let u2 = t2.split(" ").map((l2) => {
let r = document.getElementById(l2);
if (r) {
let i = r.getAttribute("aria-label");
return typeof i == "string" ? i.trim() : o3(r).trim();
}
return null;
}).filter(Boolean);
if (u2.length > 0)
return u2.join(", ");
}
return o3(e).trim();
}
// node_modules/@headlessui/react/dist/hooks/use-text-value.js
function b(c) {
let t2 = l(""), r = l("");
return o(() => {
let e = c.current;
if (!e)
return "";
let u2 = e.innerText;
if (t2.current === u2)
return r.current;
let n = g(e).trim().toLowerCase();
return t2.current = u2, r.current = n, n;
});
}
export {
a,
x,
u,
b
};