@rinzai/zen 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/toast/index.d.ts +7 -1
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toggle/index.d.ts +3 -2
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/zen.css +1 -1
- package/dist/zen.js +561 -520
- package/package.json +1 -1
package/dist/zen.js
CHANGED
|
@@ -16,7 +16,7 @@ function _(e) {
|
|
|
16
16
|
let o = a.scope;
|
|
17
17
|
if (!r.has(o + a.group)) {
|
|
18
18
|
r.add(o + a.group);
|
|
19
|
-
for (let e of
|
|
19
|
+
for (let e of ie[a.group] ?? []) r.add(o + e);
|
|
20
20
|
i.push(t);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -27,7 +27,7 @@ var v = /* @__PURE__ */ new Map();
|
|
|
27
27
|
function y(e) {
|
|
28
28
|
let t = b(e), n = t.pop(), r = !1;
|
|
29
29
|
n.startsWith("!") ? [r, n] = [!0, n.slice(1)] : n.endsWith("!") && ([r, n] = [!0, n.slice(0, -1)]), n.startsWith("-") && (n = n.slice(1));
|
|
30
|
-
let i =
|
|
30
|
+
let i = re(n);
|
|
31
31
|
return i ? {
|
|
32
32
|
group: i,
|
|
33
33
|
scope: t.sort().join(":") + (r ? "!" : "") + "|"
|
|
@@ -50,7 +50,7 @@ var x = /^\d+(\.\d+)?$/, S = /^(\d?xs|sm|md|lg|\d?xl|base|none|full)$/, C = /^[[
|
|
|
50
50
|
"l",
|
|
51
51
|
"s",
|
|
52
52
|
"e"
|
|
53
|
-
],
|
|
53
|
+
], D = [
|
|
54
54
|
"t",
|
|
55
55
|
"r",
|
|
56
56
|
"b",
|
|
@@ -65,11 +65,11 @@ var x = /^\d+(\.\d+)?$/, S = /^(\d?xs|sm|md|lg|\d?xl|base|none|full)$/, C = /^[[
|
|
|
65
65
|
"se",
|
|
66
66
|
"es",
|
|
67
67
|
"ee"
|
|
68
|
-
],
|
|
69
|
-
|
|
70
|
-
for (let e of E)
|
|
71
|
-
for (let e of
|
|
72
|
-
var
|
|
68
|
+
], ee = {}, O = (e, t) => t.split(" ").forEach((t) => ee[t] = e);
|
|
69
|
+
O("display", "block inline-block inline flex inline-flex grid inline-grid contents hidden flow-root list-item table inline-table table-row table-cell table-caption table-column table-row-group table-header-group table-footer-group"), O("position", "static fixed absolute relative sticky"), O("visibility", "visible invisible collapse"), O("isolation", "isolate isolation-auto"), O("text-overflow", "truncate text-ellipsis text-clip"), O("text-transform", "uppercase lowercase capitalize normal-case"), O("font-style", "italic not-italic"), O("text-decoration-line", "underline overline line-through no-underline"), O("font-smoothing", "antialiased subpixel-antialiased"), O("sr", "sr-only not-sr-only"), O("flex-direction", "flex-row flex-row-reverse flex-col flex-col-reverse"), O("flex-wrap", "flex-wrap flex-wrap-reverse flex-nowrap"), O("border-style", "border-solid border-dashed border-dotted border-double border-hidden border-none"), O("border-collapse", "border-collapse border-separate"), O("table-layout", "table-auto table-fixed"), O("box-sizing", "box-border box-content"), O("grow", "grow"), O("shrink", "shrink"), O("transition", "transition"), O("shadow", "shadow"), O("ring-w", "ring"), O("ring-inset", "ring-inset"), O("outline-w", "outline"), O("border-w", "border"), O("rounded", "rounded");
|
|
70
|
+
for (let e of E) O(`border-w-${e}`, `border-${e}`);
|
|
71
|
+
for (let e of D) O(`rounded-${e}`, `rounded-${e}`);
|
|
72
|
+
var k = {
|
|
73
73
|
inset: "inset",
|
|
74
74
|
"inset-x": "inset-x",
|
|
75
75
|
"inset-y": "inset-y",
|
|
@@ -220,27 +220,27 @@ var O = {
|
|
|
220
220
|
border: (e) => T(e) ? "border-w" : "border-color"
|
|
221
221
|
};
|
|
222
222
|
for (let e of ["p", "m"]) {
|
|
223
|
-
|
|
224
|
-
for (let t of E)
|
|
225
|
-
}
|
|
226
|
-
for (let e of E)
|
|
227
|
-
for (let e of
|
|
228
|
-
var
|
|
229
|
-
function
|
|
230
|
-
if (
|
|
231
|
-
if (
|
|
223
|
+
k[e] = e;
|
|
224
|
+
for (let t of E) k[e + t] = e + t;
|
|
225
|
+
}
|
|
226
|
+
for (let e of E) k[`border-${e}`] = (t) => T(t) ? `border-w-${e}` : `border-color-${e}`;
|
|
227
|
+
for (let e of D) k[`rounded-${e}`] = `rounded-${e}`;
|
|
228
|
+
var te = /* @__PURE__ */ new Set(["text-glow", "text-aurora"]), ne = Object.keys(k).sort((e, t) => t.length - e.length);
|
|
229
|
+
function re(e) {
|
|
230
|
+
if (te.has(e)) return null;
|
|
231
|
+
if (ee[e]) return ee[e];
|
|
232
232
|
if (e.startsWith("[")) {
|
|
233
233
|
let t = e.indexOf(":");
|
|
234
234
|
return t > 1 ? "prop:" + e.slice(1, t) : null;
|
|
235
235
|
}
|
|
236
|
-
for (let t of
|
|
236
|
+
for (let t of ne) {
|
|
237
237
|
if (!e.startsWith(t + "-")) continue;
|
|
238
|
-
let n =
|
|
238
|
+
let n = k[t];
|
|
239
239
|
return typeof n == "string" ? n : n(e.slice(t.length + 1));
|
|
240
240
|
}
|
|
241
241
|
return null;
|
|
242
242
|
}
|
|
243
|
-
var
|
|
243
|
+
var ie = {
|
|
244
244
|
p: E.map((e) => "p" + e),
|
|
245
245
|
m: E.map((e) => "m" + e),
|
|
246
246
|
px: [
|
|
@@ -289,7 +289,7 @@ var ae = {
|
|
|
289
289
|
"border-color-e"
|
|
290
290
|
],
|
|
291
291
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
292
|
-
rounded:
|
|
292
|
+
rounded: D.map((e) => "rounded-" + e),
|
|
293
293
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
294
294
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
295
295
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
@@ -303,37 +303,37 @@ var ae = {
|
|
|
303
303
|
"shrink",
|
|
304
304
|
"basis"
|
|
305
305
|
]
|
|
306
|
-
},
|
|
307
|
-
function
|
|
308
|
-
if (
|
|
306
|
+
}, A = (...e) => _(ae(e)), ae = (e) => e.reduce((e, t) => t == null || t === !1 ? e : typeof t == "string" || typeof t == "number" ? e + " " + t : Array.isArray(t) ? e + " " + ae(t) : typeof t == "object" ? e + " " + Object.entries(t).reduce((e, [t, n]) => n == null || n === !1 ? e : typeof n == "string" || typeof n == "number" ? e + " " + t + "-" + n : typeof n == "boolean" && n ? e + " " + t : e, "") : e, ""), oe = "data-zen-graphics", se = /swiftshader|llvmpipe|softpipe|software|basic render driver|mesa offscreen/i, j;
|
|
307
|
+
function ce() {
|
|
308
|
+
if (j) return j;
|
|
309
309
|
if (typeof document > "u") return "full";
|
|
310
310
|
try {
|
|
311
311
|
let e = document.createElement("canvas"), t = e.getContext("webgl", { failIfMajorPerformanceCaveat: !0 }) ?? e.getContext("experimental-webgl", { failIfMajorPerformanceCaveat: !0 });
|
|
312
|
-
if (!t)
|
|
312
|
+
if (!t) j = "lite";
|
|
313
313
|
else {
|
|
314
314
|
let e = t.getExtension("WEBGL_debug_renderer_info"), n = String(t.getParameter(e ? e.UNMASKED_RENDERER_WEBGL : t.RENDERER) ?? "");
|
|
315
|
-
|
|
315
|
+
j = se.test(n) ? "lite" : "full", t.getExtension("WEBGL_lose_context")?.loseContext();
|
|
316
316
|
}
|
|
317
317
|
} catch {
|
|
318
|
-
|
|
318
|
+
j = "lite";
|
|
319
319
|
}
|
|
320
|
-
return
|
|
320
|
+
return j;
|
|
321
321
|
}
|
|
322
|
-
function
|
|
322
|
+
function M() {
|
|
323
323
|
if (typeof document > "u") return "full";
|
|
324
|
-
let e = document.documentElement, t = e.getAttribute(
|
|
324
|
+
let e = document.documentElement, t = e.getAttribute(oe);
|
|
325
325
|
if (t === "full" || t === "lite") return t;
|
|
326
|
-
let n =
|
|
327
|
-
return e.setAttribute(
|
|
326
|
+
let n = ce();
|
|
327
|
+
return e.setAttribute(oe, n), n;
|
|
328
328
|
}
|
|
329
|
-
function
|
|
329
|
+
function N() {
|
|
330
330
|
o(() => {
|
|
331
|
-
|
|
331
|
+
M();
|
|
332
332
|
}, []);
|
|
333
333
|
}
|
|
334
334
|
//#endregion
|
|
335
335
|
//#region packages/utils/useAnchoredPopup.ts
|
|
336
|
-
function
|
|
336
|
+
function P({ align: e = "start", offset: t = 4, matchWidth: n = !1, onOpenChange: r } = {}) {
|
|
337
337
|
let a = `zen__popup-${s().replace(/[^\w-]/g, "")}`, c = u(null), [l, f] = d(!1), p = u(r);
|
|
338
338
|
p.current = r;
|
|
339
339
|
let m = u(!1), h = i((e) => {
|
|
@@ -381,10 +381,10 @@ function N({ align: e = "start", offset: t = 4, matchWidth: n = !1, onOpenChange
|
|
|
381
381
|
}
|
|
382
382
|
//#endregion
|
|
383
383
|
//#region packages/actions-menu/index.tsx
|
|
384
|
-
var
|
|
385
|
-
function
|
|
386
|
-
|
|
387
|
-
let r =
|
|
384
|
+
var le = "flex w-full cursor-default items-center rounded-lg px-3 py-2 text-sm outline-hidden select-none hover:bg-tint/[0.07] focus:bg-tint/[0.07]";
|
|
385
|
+
function ue({ label: e, actions: t, className: n }) {
|
|
386
|
+
N();
|
|
387
|
+
let r = P({
|
|
388
388
|
align: "end",
|
|
389
389
|
offset: 6,
|
|
390
390
|
onOpenChange: (e) => e && r.popupRef.current?.focus()
|
|
@@ -402,7 +402,7 @@ function de({ label: e, actions: t, className: n }) {
|
|
|
402
402
|
"aria-label": e,
|
|
403
403
|
"aria-haspopup": "menu",
|
|
404
404
|
...r.triggerProps,
|
|
405
|
-
className:
|
|
405
|
+
className: A("text-muted-foreground grid size-9 shrink-0 place-items-center rounded-lg outline-hidden", "hover:bg-tint/[0.06] hover:text-foreground focus-visible:ring-ring/50 focus-visible:ring-2", "data-popup-open:bg-tint/[0.06]", n),
|
|
406
406
|
children: /* @__PURE__ */ h("svg", {
|
|
407
407
|
viewBox: "0 0 16 16",
|
|
408
408
|
fill: "currentColor",
|
|
@@ -437,7 +437,7 @@ function de({ label: e, actions: t, className: n }) {
|
|
|
437
437
|
type: "button",
|
|
438
438
|
role: "menuitem",
|
|
439
439
|
tabIndex: -1,
|
|
440
|
-
className:
|
|
440
|
+
className: A(le, e.destructive && "text-destructive hover:bg-destructive/10 focus:bg-destructive/10"),
|
|
441
441
|
onClick: () => {
|
|
442
442
|
r.setOpen(!1), e.onClick();
|
|
443
443
|
},
|
|
@@ -447,14 +447,14 @@ function de({ label: e, actions: t, className: n }) {
|
|
|
447
447
|
}
|
|
448
448
|
//#endregion
|
|
449
449
|
//#region packages/utils/money.ts
|
|
450
|
-
function
|
|
450
|
+
function F(e) {
|
|
451
451
|
return new Intl.NumberFormat("en", {
|
|
452
452
|
style: "currency",
|
|
453
453
|
currency: e
|
|
454
454
|
}).resolvedOptions().maximumFractionDigits ?? 2;
|
|
455
455
|
}
|
|
456
|
-
function
|
|
457
|
-
let i =
|
|
456
|
+
function de(e, t, n, { showDecimals: r = !0 } = {}) {
|
|
457
|
+
let i = F(t);
|
|
458
458
|
return new Intl.NumberFormat(n, {
|
|
459
459
|
style: "currency",
|
|
460
460
|
currency: t,
|
|
@@ -462,34 +462,34 @@ function F(e, t, n, { showDecimals: r = !0 } = {}) {
|
|
|
462
462
|
maximumFractionDigits: r ? i : 0
|
|
463
463
|
}).format(e / 10 ** i);
|
|
464
464
|
}
|
|
465
|
-
function
|
|
466
|
-
let r =
|
|
465
|
+
function fe(e, t, n) {
|
|
466
|
+
let r = F(t), i = e % 10 ** r != 0;
|
|
467
467
|
return new Intl.NumberFormat(n, {
|
|
468
468
|
minimumFractionDigits: i ? r : 0,
|
|
469
469
|
maximumFractionDigits: r
|
|
470
470
|
}).format(e / 10 ** r);
|
|
471
471
|
}
|
|
472
|
-
function
|
|
472
|
+
function pe(e, t) {
|
|
473
473
|
return new Intl.NumberFormat(t, {
|
|
474
474
|
style: "currency",
|
|
475
475
|
currency: e
|
|
476
476
|
}).formatToParts(0).find((e) => e.type === "currency")?.value ?? e;
|
|
477
477
|
}
|
|
478
|
-
var
|
|
478
|
+
var I = class extends Error {
|
|
479
479
|
constructor(e) {
|
|
480
480
|
super(`Not an amount: ${e}`), this.name = "MoneyParseError";
|
|
481
481
|
}
|
|
482
482
|
};
|
|
483
|
-
function
|
|
484
|
-
let n =
|
|
485
|
-
if (!i || i[2] === "" && (i[3] ?? "") === "") throw new
|
|
483
|
+
function me(e, t) {
|
|
484
|
+
let n = F(t), r = e.trim().replace(/[\s,_]/g, "").replace(/^([+-]?)[^\d.+-]+/, "$1"), i = /^([+-]?)(\d*)(?:\.(\d*))?$/.exec(r);
|
|
485
|
+
if (!i || i[2] === "" && (i[3] ?? "") === "") throw new I(e);
|
|
486
486
|
let [, a, o, s = ""] = i;
|
|
487
|
-
if (s.length > n) throw new
|
|
487
|
+
if (s.length > n) throw new I(e);
|
|
488
488
|
let c = Number((o || "0") + s.padEnd(n, "0"));
|
|
489
|
-
if (!Number.isSafeInteger(c)) throw new
|
|
489
|
+
if (!Number.isSafeInteger(c)) throw new I(e);
|
|
490
490
|
return a === "-" ? -c : c;
|
|
491
491
|
}
|
|
492
|
-
var
|
|
492
|
+
var he = {
|
|
493
493
|
k: 3,
|
|
494
494
|
thousand: 3,
|
|
495
495
|
l: 5,
|
|
@@ -503,17 +503,17 @@ var me = {
|
|
|
503
503
|
mn: 6,
|
|
504
504
|
million: 6
|
|
505
505
|
};
|
|
506
|
-
function
|
|
507
|
-
let n = /^\s*(.*?)\s*([a-z]+)\s*$/i.exec(e), r =
|
|
508
|
-
if (!n || r === void 0) return
|
|
509
|
-
let i =
|
|
510
|
-
if (!a) throw new
|
|
506
|
+
function L(e, t) {
|
|
507
|
+
let n = /^\s*(.*?)\s*([a-z]+)\s*$/i.exec(e), r = he[n ? n[2].toLowerCase() : ""];
|
|
508
|
+
if (!n || r === void 0) return me(e, t);
|
|
509
|
+
let i = F(t), a = /^([+-]?)[^\d.+-]*([\d,\s_]*)(?:\.(\d*))?$/.exec(n[1]);
|
|
510
|
+
if (!a) throw new I(e);
|
|
511
511
|
let o = a[2].replace(/[,\s_]/g, ""), s = a[3] ?? "";
|
|
512
|
-
if (o === "" && s === "") throw new
|
|
512
|
+
if (o === "" && s === "") throw new I(e);
|
|
513
513
|
let c = r + i;
|
|
514
|
-
if (s.length > c) throw new
|
|
514
|
+
if (s.length > c) throw new I(e);
|
|
515
515
|
let l = Number((o || "0") + s.padEnd(c, "0"));
|
|
516
|
-
if (!Number.isSafeInteger(l)) throw new
|
|
516
|
+
if (!Number.isSafeInteger(l)) throw new I(e);
|
|
517
517
|
return a[1] === "-" ? -l : l;
|
|
518
518
|
}
|
|
519
519
|
//#endregion
|
|
@@ -532,14 +532,14 @@ function ve({ value: e, format: t = String, duration: n = 650, fromZero: r = !0,
|
|
|
532
532
|
});
|
|
533
533
|
return () => cancelAnimationFrame(i);
|
|
534
534
|
}, [e, n]), /* @__PURE__ */ m("span", {
|
|
535
|
-
className:
|
|
535
|
+
className: A("zen__animated-number tabular-nums", i),
|
|
536
536
|
children: t(a)
|
|
537
537
|
});
|
|
538
538
|
}
|
|
539
539
|
function ye({ value: e, currency: t, locale: n, showDecimals: r = !1, ...i }) {
|
|
540
540
|
return /* @__PURE__ */ m(ve, {
|
|
541
541
|
value: e,
|
|
542
|
-
format: (e) =>
|
|
542
|
+
format: (e) => de(e, t, n, { showDecimals: r }),
|
|
543
543
|
...i
|
|
544
544
|
});
|
|
545
545
|
}
|
|
@@ -551,7 +551,7 @@ function be({ src: e, name: t, alt: n, className: r }) {
|
|
|
551
551
|
role: n ? "img" : void 0,
|
|
552
552
|
"aria-label": n,
|
|
553
553
|
"aria-hidden": !n || void 0,
|
|
554
|
-
className:
|
|
554
|
+
className: A("zen__avatar relative inline-grid shrink-0 place-items-center overflow-hidden rounded-full font-semibold select-none", "size-9 text-sm", "text-primary-foreground bg-[radial-gradient(circle_at_30%_25%,oklch(var(--glow)/0.9),oklch(var(--primary)/0.55))]", "shadow-[0_0_0_1px_oklch(var(--tint)/0.12),0_0_18px_-6px_oklch(var(--glow)/calc(0.9*var(--glow-strength)))]", r),
|
|
555
555
|
children: e ? /* @__PURE__ */ m("img", {
|
|
556
556
|
src: e,
|
|
557
557
|
alt: "",
|
|
@@ -605,7 +605,7 @@ function Se({ pattern: e, topoSrc: t }) {
|
|
|
605
605
|
}, p = () => {
|
|
606
606
|
i = a = -9999, s = !0, d();
|
|
607
607
|
};
|
|
608
|
-
if (window.matchMedia?.("(hover: none), (pointer: coarse)").matches ||
|
|
608
|
+
if (window.matchMedia?.("(hover: none), (pointer: coarse)").matches || M() === "lite") return;
|
|
609
609
|
window.addEventListener("pointermove", f, { passive: !0 }), e.addEventListener("pointerleave", p);
|
|
610
610
|
let m = 0, h = () => {
|
|
611
611
|
clearTimeout(m), m = window.setTimeout(d, 120);
|
|
@@ -667,8 +667,8 @@ function Se({ pattern: e, topoSrc: t }) {
|
|
|
667
667
|
}
|
|
668
668
|
//#endregion
|
|
669
669
|
//#region packages/utils/cva.ts
|
|
670
|
-
var Ce = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e,
|
|
671
|
-
if (t?.variants == null) return
|
|
670
|
+
var Ce = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, z = (e, t) => (n) => {
|
|
671
|
+
if (t?.variants == null) return A(e, n?.class, n?.className);
|
|
672
672
|
let { variants: r, defaultVariants: i } = t, a = Object.keys(r).map((e) => {
|
|
673
673
|
let t = n?.[e], a = i?.[e];
|
|
674
674
|
if (t === null) return null;
|
|
@@ -685,20 +685,20 @@ var Ce = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, we = (e, t)
|
|
|
685
685
|
t,
|
|
686
686
|
n
|
|
687
687
|
] : e, []);
|
|
688
|
-
return
|
|
688
|
+
return A(e, a, s, n?.class, n?.className);
|
|
689
689
|
};
|
|
690
690
|
//#endregion
|
|
691
691
|
//#region packages/badge/index.tsx
|
|
692
|
-
function
|
|
692
|
+
function B({ variant: e, className: t, ...n }) {
|
|
693
693
|
return /* @__PURE__ */ m("span", {
|
|
694
694
|
...n,
|
|
695
|
-
className:
|
|
695
|
+
className: we({
|
|
696
696
|
variant: e,
|
|
697
697
|
className: t
|
|
698
698
|
})
|
|
699
699
|
});
|
|
700
700
|
}
|
|
701
|
-
var
|
|
701
|
+
var we = z("zen__badge inline-flex items-center rounded-md border px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wider uppercase whitespace-nowrap focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-glow/50", {
|
|
702
702
|
variants: { variant: {
|
|
703
703
|
default: "border-glow/30 bg-glow/10 text-primary",
|
|
704
704
|
secondary: "border-tint/10 bg-tint/[0.06] text-foreground",
|
|
@@ -709,31 +709,31 @@ var Te = we("zen__badge inline-flex items-center rounded-md border px-1.5 py-0.5
|
|
|
709
709
|
});
|
|
710
710
|
//#endregion
|
|
711
711
|
//#region packages/spinner/index.tsx
|
|
712
|
-
function
|
|
712
|
+
function Te({ label: e, className: t }) {
|
|
713
713
|
return /* @__PURE__ */ m("span", {
|
|
714
714
|
role: e ? "status" : void 0,
|
|
715
715
|
"aria-label": e,
|
|
716
716
|
"aria-hidden": !e || void 0,
|
|
717
|
-
className:
|
|
717
|
+
className: A("zen__spinner inline-block size-4 shrink-0 animate-spin rounded-full border-2 border-current border-t-transparent", t)
|
|
718
718
|
});
|
|
719
719
|
}
|
|
720
720
|
//#endregion
|
|
721
721
|
//#region packages/button/index.tsx
|
|
722
|
-
function
|
|
722
|
+
function V({ className: e, variant: t, size: n, loading: r = !1, disabled: i, type: a = "button", children: o, ...s }) {
|
|
723
723
|
return /* @__PURE__ */ h("button", {
|
|
724
724
|
type: a,
|
|
725
725
|
disabled: i || r,
|
|
726
726
|
"aria-busy": r || void 0,
|
|
727
|
-
className:
|
|
727
|
+
className: Ee({
|
|
728
728
|
variant: t,
|
|
729
729
|
size: n,
|
|
730
730
|
className: e
|
|
731
731
|
}),
|
|
732
732
|
...s,
|
|
733
|
-
children: [r && /* @__PURE__ */ m(
|
|
733
|
+
children: [r && /* @__PURE__ */ m(Te, {}), o]
|
|
734
734
|
});
|
|
735
735
|
}
|
|
736
|
-
var
|
|
736
|
+
var Ee = z("zen__button inline-flex items-center justify-center gap-2 rounded-lg text-sm font-medium whitespace-nowrap outline-hidden select-none transition-[background-color,border-color,box-shadow,color,transform] duration-200 ease-out active:scale-[0.97] focus-visible:ring-2 focus-visible:ring-glow/50 disabled:pointer-events-none disabled:opacity-50", {
|
|
737
737
|
variants: {
|
|
738
738
|
variant: {
|
|
739
739
|
default: "bg-primary bg-[linear-gradient(to_bottom,oklch(1_0_0/0.16),transparent)] text-primary-foreground shadow-[0_0_0_1px_oklch(var(--glow)/0.55),0_0_22px_-6px_oklch(var(--glow)/0.7),inset_0_1px_0_hsl(0_0%_100%/0.3)] hover:shadow-[0_0_0_1px_oklch(var(--glow)/0.8),0_0_28px_-4px_oklch(var(--glow)/0.85),inset_0_1px_0_hsl(0_0%_100%/0.35)]",
|
|
@@ -758,9 +758,9 @@ var De = we("zen__button inline-flex items-center justify-center gap-2 rounded-l
|
|
|
758
758
|
});
|
|
759
759
|
//#endregion
|
|
760
760
|
//#region packages/card/index.tsx
|
|
761
|
-
function
|
|
761
|
+
function De({ title: e, action: t, children: n, className: r, ...i }) {
|
|
762
762
|
return /* @__PURE__ */ h("section", {
|
|
763
|
-
className:
|
|
763
|
+
className: A("zen__card glass glow-edge text-card-foreground rounded-xl p-4 md:p-5", r),
|
|
764
764
|
...i,
|
|
765
765
|
children: [(e || t) && /* @__PURE__ */ h("header", {
|
|
766
766
|
className: "mb-4 flex items-center justify-between gap-4",
|
|
@@ -771,16 +771,16 @@ function Oe({ title: e, action: t, children: n, className: r, ...i }) {
|
|
|
771
771
|
}), n]
|
|
772
772
|
});
|
|
773
773
|
}
|
|
774
|
-
function
|
|
774
|
+
function Oe({ label: e, value: t, hint: n, tone: r = "default", className: i }) {
|
|
775
775
|
return /* @__PURE__ */ h("div", {
|
|
776
|
-
className:
|
|
776
|
+
className: A("zen__stat glass glow-edge flex flex-col gap-1 rounded-xl p-3.5 md:p-4", i),
|
|
777
777
|
children: [
|
|
778
778
|
/* @__PURE__ */ m("span", {
|
|
779
779
|
className: "text-muted-foreground truncate text-[0.68rem] tracking-[0.1em] uppercase sm:text-xs",
|
|
780
780
|
children: e
|
|
781
781
|
}),
|
|
782
782
|
/* @__PURE__ */ m("span", {
|
|
783
|
-
className:
|
|
783
|
+
className: A("truncate text-lg font-semibold tracking-tight tabular-nums sm:text-xl md:text-2xl", r === "positive" && "text-primary text-glow", r === "negative" && "text-destructive"),
|
|
784
784
|
children: t
|
|
785
785
|
}),
|
|
786
786
|
n && /* @__PURE__ */ m("span", {
|
|
@@ -790,22 +790,22 @@ function ke({ label: e, value: t, hint: n, tone: r = "default", className: i })
|
|
|
790
790
|
]
|
|
791
791
|
});
|
|
792
792
|
}
|
|
793
|
-
function
|
|
793
|
+
function ke({ children: e, className: t }) {
|
|
794
794
|
return /* @__PURE__ */ m("div", {
|
|
795
|
-
className:
|
|
795
|
+
className: A("grid grid-cols-2 gap-3 sm:grid-cols-3 md:gap-4 [&>*]:min-w-0", "[&>*:last-child:nth-child(odd)]:col-span-2 sm:[&>*:last-child:nth-child(odd)]:col-span-1", t),
|
|
796
796
|
children: e
|
|
797
797
|
});
|
|
798
798
|
}
|
|
799
799
|
//#endregion
|
|
800
800
|
//#region packages/code-block/index.tsx
|
|
801
|
-
function
|
|
801
|
+
function Ae({ code: e, language: t, highlight: n, copyable: r = !0, variant: i = "glass", className: a, ...s }) {
|
|
802
802
|
let c = e.trim(), [l, u] = d(!1);
|
|
803
803
|
return o(() => {
|
|
804
804
|
if (!l) return;
|
|
805
805
|
let e = setTimeout(() => u(!1), 1500);
|
|
806
806
|
return () => clearTimeout(e);
|
|
807
807
|
}, [l]), /* @__PURE__ */ h("div", {
|
|
808
|
-
className:
|
|
808
|
+
className: A("zen__code-block group relative", i === "glass" && "glass glow-edge overflow-hidden rounded-xl", a),
|
|
809
809
|
"data-language": t,
|
|
810
810
|
...s,
|
|
811
811
|
children: [/* @__PURE__ */ m("pre", {
|
|
@@ -822,19 +822,19 @@ function je({ code: e, language: t, highlight: n, copyable: r = !0, variant: i =
|
|
|
822
822
|
onClick: async () => {
|
|
823
823
|
await navigator.clipboard?.writeText(c), u(!0);
|
|
824
824
|
},
|
|
825
|
-
className:
|
|
825
|
+
className: A("text-muted-foreground hover:bg-tint/[0.07] hover:text-foreground focus-visible:ring-ring/50 absolute top-2.5 right-2.5 rounded-lg px-2.5 py-1 text-xs font-medium outline-hidden transition-[opacity,background-color,color] focus-visible:ring-2", "opacity-0 group-hover:opacity-100 focus-visible:opacity-100", l && "text-primary opacity-100"),
|
|
826
826
|
children: l ? "Copied" : "Copy"
|
|
827
827
|
})]
|
|
828
828
|
});
|
|
829
829
|
}
|
|
830
830
|
//#endregion
|
|
831
831
|
//#region packages/utils/styles.ts
|
|
832
|
-
var
|
|
832
|
+
var H = "h-10 rounded-lg border border-tint/10 bg-tint/[0.035] px-3 text-sm text-foreground shadow-[inset_0_1px_0_hsl(0_0%_100%/0.04)] transition-[border-color,background-color,box-shadow] duration-200 placeholder:text-muted-foreground hover:border-tint/20 focus-visible:border-glow/60 focus-visible:bg-tint/[0.05] focus-visible:shadow-[0_0_0_3px_oklch(var(--glow)/0.16),0_0_24px_-6px_oklch(var(--glow)/0.6)] focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50", U = A(H, "inline-flex items-center justify-between gap-2 whitespace-nowrap"), W = "glass glass-blur rounded-xl text-foreground shadow-[var(--popup-shadow),0_0_40px_-20px_oklch(var(--glow)/0.5)] outline-hidden", je = "relative flex w-fit items-center gap-1 rounded-full border border-tint/5 bg-tint/[0.03] p-1", Me = "absolute top-1 bottom-1 left-0 rounded-full bg-primary/15 shadow-[inset_0_0_0_1px_oklch(var(--glow)/0.35),0_0_24px_-4px_oklch(var(--glow)/0.6)] transition-[translate,width] duration-500 ease-[cubic-bezier(0.2,0.8,0.2,1)]", Ne = "relative z-10 rounded-full px-3.5 py-1.5 text-sm whitespace-nowrap outline-hidden transition-colors duration-300 select-none focus-visible:ring-2 focus-visible:ring-ring/40", Pe = "flex w-full items-center gap-1.5 h-10 rounded-lg border border-tint/10 bg-tint/[0.035] px-3 text-sm text-foreground shadow-[inset_0_1px_0_hsl(0_0%_100%/0.04)] transition-[border-color,background-color,box-shadow] duration-200 placeholder:text-muted-foreground hover:border-tint/20 focus-within:border-glow/60 focus-within:bg-tint/[0.05] focus-within:shadow-[0_0_0_3px_oklch(var(--glow)/0.16),0_0_24px_-6px_oklch(var(--glow)/0.6)] focus-within:outline-hidden disabled:cursor-not-allowed disabled:opacity-50";
|
|
833
833
|
//#endregion
|
|
834
834
|
//#region packages/popover/index.tsx
|
|
835
|
-
function
|
|
835
|
+
function G(e) {
|
|
836
836
|
let { className: t, content: n, children: r, role: i = "tooltip", triggerType: a = "auto", trigger: c = "click", gap: l = "5px", triggerClassName: f, show: p, setShow: g, style: _, onOpen: v, onClose: y, ...b } = e, x = s().replace(/[^\w-]/g, "");
|
|
837
|
-
|
|
837
|
+
N();
|
|
838
838
|
let [S, C] = d(!1), w = u(null);
|
|
839
839
|
return o(() => {
|
|
840
840
|
let e = w.current;
|
|
@@ -848,7 +848,7 @@ function W(e) {
|
|
|
848
848
|
a === "manual" && (p ? w.current?.showPopover?.() : w.current?.hidePopover?.());
|
|
849
849
|
}, [p, a]), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("div", {
|
|
850
850
|
"aria-expanded": S,
|
|
851
|
-
className:
|
|
851
|
+
className: A("max-w-fit min-w-fit", f),
|
|
852
852
|
style: { anchorName: `--zen-popover-anchor-${x}` },
|
|
853
853
|
popoverTarget: `zen__popover-${x}`,
|
|
854
854
|
popoverTargetAction: "toggle",
|
|
@@ -873,7 +873,7 @@ function W(e) {
|
|
|
873
873
|
role: i,
|
|
874
874
|
popover: a,
|
|
875
875
|
id: `zen__popover-${x}`,
|
|
876
|
-
className:
|
|
876
|
+
className: A("zen__popover fixed z-50 w-[anchor-size(width)] min-w-max [justify-self:anchor-center] overflow-visible p-0 [position-area:block-end_center]", W, t),
|
|
877
877
|
style: {
|
|
878
878
|
..._,
|
|
879
879
|
"--gap": l,
|
|
@@ -886,7 +886,7 @@ function W(e) {
|
|
|
886
886
|
}
|
|
887
887
|
//#endregion
|
|
888
888
|
//#region packages/collapse/index.tsx
|
|
889
|
-
function
|
|
889
|
+
function Fe(e) {
|
|
890
890
|
let { items: t = [], children: n, moreItemsLabel: r = "", parentRef: i, data: a, estimator: s = (e, t) => t + 30, font: c = "12px Inter", badgeVariant: u = "secondary", badgeStyles: f } = e, [g, _] = d({
|
|
891
891
|
visible: t,
|
|
892
892
|
hidden: []
|
|
@@ -921,15 +921,15 @@ function Ie(e) {
|
|
|
921
921
|
return e.observe(i.current), () => {
|
|
922
922
|
e.disconnect();
|
|
923
923
|
};
|
|
924
|
-
}, [t]), /* @__PURE__ */ h(p, { children: [g.visible?.map((e, t) => n(e, t, a?.[t])), g.hidden?.length > 0 && /* @__PURE__ */ m(
|
|
924
|
+
}, [t]), /* @__PURE__ */ h(p, { children: [g.visible?.map((e, t) => n(e, t, a?.[t])), g.hidden?.length > 0 && /* @__PURE__ */ m(G, {
|
|
925
925
|
trigger: "click",
|
|
926
926
|
triggerClassName: "flex rounded-md",
|
|
927
927
|
content: /* @__PURE__ */ m("div", {
|
|
928
928
|
className: "grid max-h-60 grid-flow-row grid-cols-2 gap-3 overflow-auto p-2",
|
|
929
929
|
children: g.hidden.map((e, t) => n(e, g.visible.length + t, a?.[g.visible.length + t]))
|
|
930
930
|
}),
|
|
931
|
-
children: /* @__PURE__ */ m(
|
|
932
|
-
className:
|
|
931
|
+
children: /* @__PURE__ */ m(B, {
|
|
932
|
+
className: A("cursor-pointer", f),
|
|
933
933
|
variant: u,
|
|
934
934
|
"aria-label": `Show ${g.hidden.length} more ${r}`,
|
|
935
935
|
children: /* @__PURE__ */ m("span", { children: `+${g.hidden.length} ${r}` })
|
|
@@ -937,9 +937,225 @@ function Ie(e) {
|
|
|
937
937
|
})] });
|
|
938
938
|
}
|
|
939
939
|
//#endregion
|
|
940
|
+
//#region packages/utils/status-icons.tsx
|
|
941
|
+
function K({ className: e }) {
|
|
942
|
+
return /* @__PURE__ */ m("svg", {
|
|
943
|
+
viewBox: "0 0 16 16",
|
|
944
|
+
fill: "none",
|
|
945
|
+
stroke: "currentColor",
|
|
946
|
+
strokeWidth: "2",
|
|
947
|
+
strokeLinecap: "round",
|
|
948
|
+
strokeLinejoin: "round",
|
|
949
|
+
className: A("size-3.5", e),
|
|
950
|
+
"aria-hidden": !0,
|
|
951
|
+
children: /* @__PURE__ */ m("path", { d: "m3.5 8.5 3 3 6-7" })
|
|
952
|
+
});
|
|
953
|
+
}
|
|
954
|
+
function q({ className: e }) {
|
|
955
|
+
return /* @__PURE__ */ h("svg", {
|
|
956
|
+
viewBox: "0 0 16 16",
|
|
957
|
+
fill: "none",
|
|
958
|
+
stroke: "currentColor",
|
|
959
|
+
strokeWidth: "1.8",
|
|
960
|
+
strokeLinecap: "round",
|
|
961
|
+
strokeLinejoin: "round",
|
|
962
|
+
className: A("size-3.5", e),
|
|
963
|
+
"aria-hidden": !0,
|
|
964
|
+
children: [/* @__PURE__ */ m("path", { d: "M8 2.2 1.6 13.3h12.8L8 2.2Z" }), /* @__PURE__ */ m("path", { d: "M8 6.5v3M8 11.6v.1" })]
|
|
965
|
+
});
|
|
966
|
+
}
|
|
967
|
+
function J({ className: e }) {
|
|
968
|
+
return /* @__PURE__ */ h("svg", {
|
|
969
|
+
viewBox: "0 0 16 16",
|
|
970
|
+
fill: "none",
|
|
971
|
+
stroke: "currentColor",
|
|
972
|
+
strokeWidth: "1.8",
|
|
973
|
+
strokeLinecap: "round",
|
|
974
|
+
className: A("size-3.5", e),
|
|
975
|
+
"aria-hidden": !0,
|
|
976
|
+
children: [/* @__PURE__ */ m("circle", {
|
|
977
|
+
cx: "8",
|
|
978
|
+
cy: "8",
|
|
979
|
+
r: "6.3"
|
|
980
|
+
}), /* @__PURE__ */ m("path", { d: "M8 7.3v3.8M8 4.9v.1" })]
|
|
981
|
+
});
|
|
982
|
+
}
|
|
983
|
+
//#endregion
|
|
984
|
+
//#region packages/toast/index.tsx
|
|
985
|
+
var Ie = 5e3, Le = 300, Re = n(null), ze = n(null);
|
|
986
|
+
function Be({ children: e, offset: t, viewportClassName: n }) {
|
|
987
|
+
N();
|
|
988
|
+
let [r, a] = d([]), s = u(0), c = u(/* @__PURE__ */ new Map()), l = u(/* @__PURE__ */ new Set()), [f, p] = d([]), [_, v] = d(!1);
|
|
989
|
+
o(() => v(!0), []);
|
|
990
|
+
let y = i((e) => (p((t) => [...t, e]), () => p((t) => t.filter((t) => t !== e))), []), b = f.at(-1) ?? (_ ? document.body : null), x = i((e) => {
|
|
991
|
+
a((t) => t.map((t) => t.id === e ? {
|
|
992
|
+
...t,
|
|
993
|
+
leaving: !0
|
|
994
|
+
} : t)), setTimeout(() => {
|
|
995
|
+
a((t) => t.filter((t) => t.id !== e)), c.current.delete(e), l.current.delete(e);
|
|
996
|
+
}, Le);
|
|
997
|
+
}, []), S = i((e, { description: t, tone: n = "info", action: r, timeout: i } = {}) => {
|
|
998
|
+
let o = s.current++, c = {
|
|
999
|
+
id: o,
|
|
1000
|
+
title: e,
|
|
1001
|
+
description: t,
|
|
1002
|
+
tone: n,
|
|
1003
|
+
action: r,
|
|
1004
|
+
timeout: i ?? (r ? 1e4 : Ie)
|
|
1005
|
+
};
|
|
1006
|
+
return a((e) => [...e, c]), o;
|
|
1007
|
+
}, []), C = r.slice(-3);
|
|
1008
|
+
return /* @__PURE__ */ h(Re.Provider, {
|
|
1009
|
+
value: S,
|
|
1010
|
+
children: [/* @__PURE__ */ m(ze.Provider, {
|
|
1011
|
+
value: y,
|
|
1012
|
+
children: e
|
|
1013
|
+
}), b && g(/* @__PURE__ */ m("section", {
|
|
1014
|
+
ref: He,
|
|
1015
|
+
popover: "manual",
|
|
1016
|
+
"aria-label": "Notifications",
|
|
1017
|
+
className: A("zen__toast-viewport fixed top-auto right-4 bottom-[calc(var(--zen-toast-offset,1rem)+env(safe-area-inset-bottom))] left-auto z-50 m-0 flex w-[calc(100vw-2rem)] flex-col-reverse gap-2.5 overflow-visible border-0 bg-transparent p-0 text-inherit md:bottom-5 md:w-[24rem]", n),
|
|
1018
|
+
style: t ? { "--zen-toast-offset": t } : void 0,
|
|
1019
|
+
children: C.map((e) => /* @__PURE__ */ m(Ge, {
|
|
1020
|
+
toast: e,
|
|
1021
|
+
onDismiss: () => x(e.id),
|
|
1022
|
+
clocks: c.current,
|
|
1023
|
+
entered: l.current
|
|
1024
|
+
}, e.id))
|
|
1025
|
+
}), b)]
|
|
1026
|
+
});
|
|
1027
|
+
}
|
|
1028
|
+
function Ve(e, t) {
|
|
1029
|
+
let n = a(ze);
|
|
1030
|
+
o(() => {
|
|
1031
|
+
let r = e.current;
|
|
1032
|
+
if (n && t && r) return n(r);
|
|
1033
|
+
}, [
|
|
1034
|
+
n,
|
|
1035
|
+
t,
|
|
1036
|
+
e
|
|
1037
|
+
]);
|
|
1038
|
+
}
|
|
1039
|
+
function He(e) {
|
|
1040
|
+
if (e?.showPopover) try {
|
|
1041
|
+
e.showPopover();
|
|
1042
|
+
} catch {}
|
|
1043
|
+
}
|
|
1044
|
+
function Ue() {
|
|
1045
|
+
let e = a(Re);
|
|
1046
|
+
if (!e) throw Error("useToast() needs a <ToastProvider> above it");
|
|
1047
|
+
return e;
|
|
1048
|
+
}
|
|
1049
|
+
var We = {
|
|
1050
|
+
success: {
|
|
1051
|
+
icon: K,
|
|
1052
|
+
ring: "border-primary/30",
|
|
1053
|
+
badge: "bg-primary/15 text-primary",
|
|
1054
|
+
bar: "bg-primary",
|
|
1055
|
+
glow: "shadow-[0_18px_50px_-18px_oklch(var(--glow)/0.55)]"
|
|
1056
|
+
},
|
|
1057
|
+
error: {
|
|
1058
|
+
icon: q,
|
|
1059
|
+
ring: "border-destructive/40",
|
|
1060
|
+
badge: "bg-destructive/15 text-destructive",
|
|
1061
|
+
bar: "bg-destructive",
|
|
1062
|
+
glow: "shadow-[0_18px_50px_-18px_oklch(var(--destructive)/0.55)]"
|
|
1063
|
+
},
|
|
1064
|
+
info: {
|
|
1065
|
+
icon: J,
|
|
1066
|
+
ring: "border-tint/10",
|
|
1067
|
+
badge: "bg-tint/[0.08] text-foreground",
|
|
1068
|
+
bar: "bg-muted-foreground",
|
|
1069
|
+
glow: "shadow-[var(--toast-shadow)]"
|
|
1070
|
+
}
|
|
1071
|
+
};
|
|
1072
|
+
function Ge({ toast: e, onDismiss: t, clocks: n, entered: r }) {
|
|
1073
|
+
let i = We[e.tone] ?? We.info, a = i.icon, [s, c] = d(!1), l = u(null), [f] = d(() => !r.has(e.id));
|
|
1074
|
+
o(() => {
|
|
1075
|
+
l.current?.isConnected && r.add(e.id);
|
|
1076
|
+
}, [r, e.id]), n.has(e.id) || n.set(e.id, {
|
|
1077
|
+
spent: 0,
|
|
1078
|
+
since: null
|
|
1079
|
+
});
|
|
1080
|
+
let p = n.get(e.id), g = p.spent + (p.since === null ? 0 : Date.now() - p.since);
|
|
1081
|
+
return o(() => {
|
|
1082
|
+
if (!e.timeout || s || e.leaving) return;
|
|
1083
|
+
p.since = Date.now();
|
|
1084
|
+
let n = setTimeout(t, Math.max(0, e.timeout - p.spent));
|
|
1085
|
+
return () => {
|
|
1086
|
+
clearTimeout(n), p.since !== null && (p.spent += Date.now() - p.since), p.since = null;
|
|
1087
|
+
};
|
|
1088
|
+
}, [
|
|
1089
|
+
s,
|
|
1090
|
+
e.timeout,
|
|
1091
|
+
e.leaving,
|
|
1092
|
+
t,
|
|
1093
|
+
p
|
|
1094
|
+
]), /* @__PURE__ */ h("div", {
|
|
1095
|
+
ref: l,
|
|
1096
|
+
role: e.tone === "error" ? "alert" : "status",
|
|
1097
|
+
"aria-atomic": "true",
|
|
1098
|
+
onMouseEnter: () => c(!0),
|
|
1099
|
+
onMouseLeave: () => c(!1),
|
|
1100
|
+
className: A("zen__toast group glass glass-blur text-card-foreground relative flex items-start gap-3 overflow-hidden rounded-2xl border p-3.5 pr-10 select-none", "transition-[transform,opacity] duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)]", f && "starting:translate-y-3 starting:scale-[0.97] starting:opacity-0", e.leaving && "translate-x-6 opacity-0", i.ring, i.glow),
|
|
1101
|
+
children: [
|
|
1102
|
+
/* @__PURE__ */ m("span", {
|
|
1103
|
+
className: A("mt-0.5 grid size-8 shrink-0 place-items-center rounded-full", i.badge),
|
|
1104
|
+
"aria-hidden": !0,
|
|
1105
|
+
children: /* @__PURE__ */ m(a, { className: "size-4" })
|
|
1106
|
+
}),
|
|
1107
|
+
/* @__PURE__ */ h("div", {
|
|
1108
|
+
className: "flex min-w-0 flex-1 flex-col gap-0.5 pt-0.5",
|
|
1109
|
+
children: [
|
|
1110
|
+
/* @__PURE__ */ m("div", {
|
|
1111
|
+
className: "text-sm font-semibold",
|
|
1112
|
+
children: e.title
|
|
1113
|
+
}),
|
|
1114
|
+
e.description && /* @__PURE__ */ m("div", {
|
|
1115
|
+
className: "text-muted-foreground text-sm leading-5",
|
|
1116
|
+
children: e.description
|
|
1117
|
+
}),
|
|
1118
|
+
e.action && /* @__PURE__ */ m("button", {
|
|
1119
|
+
type: "button",
|
|
1120
|
+
onClick: () => {
|
|
1121
|
+
e.action?.onClick(), t();
|
|
1122
|
+
},
|
|
1123
|
+
className: "border-tint/10 bg-tint/[0.06] hover:bg-tint/[0.12] focus-visible:ring-ring/50 mt-2 self-start rounded-lg border px-3 py-1 text-xs font-medium outline-hidden transition-colors focus-visible:ring-2",
|
|
1124
|
+
children: e.action.label
|
|
1125
|
+
})
|
|
1126
|
+
]
|
|
1127
|
+
}),
|
|
1128
|
+
/* @__PURE__ */ m("button", {
|
|
1129
|
+
type: "button",
|
|
1130
|
+
"aria-label": "Dismiss",
|
|
1131
|
+
onClick: t,
|
|
1132
|
+
className: "text-muted-foreground hover:bg-tint/[0.07] hover:text-foreground focus-visible:ring-ring/50 absolute top-2.5 right-2.5 grid size-7 place-items-center rounded-lg outline-hidden transition-colors focus-visible:ring-2",
|
|
1133
|
+
children: /* @__PURE__ */ m("svg", {
|
|
1134
|
+
viewBox: "0 0 16 16",
|
|
1135
|
+
fill: "none",
|
|
1136
|
+
stroke: "currentColor",
|
|
1137
|
+
strokeWidth: "1.8",
|
|
1138
|
+
strokeLinecap: "round",
|
|
1139
|
+
className: "size-3.5",
|
|
1140
|
+
"aria-hidden": !0,
|
|
1141
|
+
children: /* @__PURE__ */ m("path", { d: "m4 4 8 8M12 4l-8 8" })
|
|
1142
|
+
})
|
|
1143
|
+
}),
|
|
1144
|
+
e.timeout > 0 && /* @__PURE__ */ m("span", {
|
|
1145
|
+
"aria-hidden": !0,
|
|
1146
|
+
className: A("zen__toast-timer absolute bottom-0 left-0 h-0.5 w-full origin-left opacity-60 group-hover:[animation-play-state:paused]", i.bar),
|
|
1147
|
+
style: {
|
|
1148
|
+
animationDuration: `${e.timeout}ms`,
|
|
1149
|
+
animationDelay: `${-g}ms`
|
|
1150
|
+
}
|
|
1151
|
+
})
|
|
1152
|
+
]
|
|
1153
|
+
});
|
|
1154
|
+
}
|
|
1155
|
+
//#endregion
|
|
940
1156
|
//#region packages/dialog/index.tsx
|
|
941
|
-
function
|
|
942
|
-
|
|
1157
|
+
function Ke({ open: e, onOpenChange: t, title: n, description: r, children: i, dismissible: a = !0, initialFocus: c, size: l = "md", className: d, role: f }) {
|
|
1158
|
+
N();
|
|
943
1159
|
let p = u(null), g = s(), _ = s();
|
|
944
1160
|
return o(() => {
|
|
945
1161
|
let t = p.current;
|
|
@@ -949,12 +1165,12 @@ function Le({ open: e, onOpenChange: t, title: n, description: r, children: i, d
|
|
|
949
1165
|
e.toggleAttribute("data-zen-scrollbar", window.innerWidth > e.clientWidth), t.showModal(), c?.current?.focus();
|
|
950
1166
|
} else !e && t.open && t.close();
|
|
951
1167
|
}
|
|
952
|
-
}, [e, c]), /* @__PURE__ */ m("dialog", {
|
|
1168
|
+
}, [e, c]), Ve(p, e), /* @__PURE__ */ m("dialog", {
|
|
953
1169
|
ref: p,
|
|
954
1170
|
role: f,
|
|
955
1171
|
"aria-labelledby": g,
|
|
956
1172
|
"aria-describedby": r ? _ : void 0,
|
|
957
|
-
className:
|
|
1173
|
+
className: A("zen__dialog glass glass-blur glow-edge text-card-foreground", "bg-card/90! m-auto max-h-[calc(100dvh-2rem)] max-w-[calc(100vw-2rem)] overflow-visible rounded-xl p-0", l === "lg" ? "w-[60rem]" : "w-[28rem]", "backdrop:bg-black/50 backdrop:backdrop-blur-sm pointer-coarse:backdrop:backdrop-blur-none", d),
|
|
958
1174
|
onCancel: (e) => {
|
|
959
1175
|
e.preventDefault(), a && t?.(!1);
|
|
960
1176
|
},
|
|
@@ -980,8 +1196,8 @@ function Le({ open: e, onOpenChange: t, title: n, description: r, children: i, d
|
|
|
980
1196
|
}
|
|
981
1197
|
//#endregion
|
|
982
1198
|
//#region packages/confirm-dialog/index.tsx
|
|
983
|
-
function
|
|
984
|
-
return /* @__PURE__ */ m(
|
|
1199
|
+
function qe({ open: e, onOpenChange: t, title: n, description: r, confirmLabel: i, cancelLabel: a = "Cancel", destructive: o = !1, onConfirm: s }) {
|
|
1200
|
+
return /* @__PURE__ */ m(Ke, {
|
|
985
1201
|
role: "alertdialog",
|
|
986
1202
|
open: e,
|
|
987
1203
|
onOpenChange: t,
|
|
@@ -990,12 +1206,12 @@ function Re({ open: e, onOpenChange: t, title: n, description: r, confirmLabel:
|
|
|
990
1206
|
className: "w-[26rem]",
|
|
991
1207
|
children: /* @__PURE__ */ h("div", {
|
|
992
1208
|
className: "flex justify-end gap-2",
|
|
993
|
-
children: [/* @__PURE__ */ m(
|
|
1209
|
+
children: [/* @__PURE__ */ m(V, {
|
|
994
1210
|
variant: "outline",
|
|
995
1211
|
autoFocus: !0,
|
|
996
1212
|
onClick: () => t(!1),
|
|
997
1213
|
children: a
|
|
998
|
-
}), /* @__PURE__ */ m(
|
|
1214
|
+
}), /* @__PURE__ */ m(V, {
|
|
999
1215
|
variant: o ? "destructive" : "default",
|
|
1000
1216
|
onClick: () => {
|
|
1001
1217
|
s(), t(!1);
|
|
@@ -1007,73 +1223,29 @@ function Re({ open: e, onOpenChange: t, title: n, description: r, confirmLabel:
|
|
|
1007
1223
|
}
|
|
1008
1224
|
//#endregion
|
|
1009
1225
|
//#region packages/editable-cell/index.tsx
|
|
1010
|
-
function
|
|
1226
|
+
function Je({ children: e, editor: t, label: n, readOnly: r = !1, editing: i, onEditingChange: a, title: o, className: s }) {
|
|
1011
1227
|
let [c, l] = d(!1), u = i ?? c, f = (e) => {
|
|
1012
1228
|
i === void 0 && l(e), a?.(e);
|
|
1013
1229
|
};
|
|
1014
1230
|
return r ? /* @__PURE__ */ m("span", {
|
|
1015
1231
|
title: o,
|
|
1016
|
-
className:
|
|
1232
|
+
className: A("zen__editable-cell block px-1 text-right tabular-nums", s),
|
|
1017
1233
|
children: e
|
|
1018
1234
|
}) : u ? /* @__PURE__ */ m(p, { children: t(() => f(!1)) }) : /* @__PURE__ */ m("button", {
|
|
1019
1235
|
type: "button",
|
|
1020
1236
|
title: o,
|
|
1021
1237
|
"aria-label": n ? `${n}. Edit` : void 0,
|
|
1022
1238
|
onClick: () => f(!0),
|
|
1023
|
-
className:
|
|
1239
|
+
className: A("zen__editable-cell hover:bg-primary/10 focus-visible:ring-ring/50 w-full rounded-md px-1.5 py-0.5 text-right tabular-nums transition-colors focus-visible:ring-2 focus-visible:outline-hidden", s),
|
|
1024
1240
|
children: e
|
|
1025
1241
|
});
|
|
1026
1242
|
}
|
|
1027
1243
|
//#endregion
|
|
1028
|
-
//#region packages/utils/status-icons.tsx
|
|
1029
|
-
function G({ className: e }) {
|
|
1030
|
-
return /* @__PURE__ */ m("svg", {
|
|
1031
|
-
viewBox: "0 0 16 16",
|
|
1032
|
-
fill: "none",
|
|
1033
|
-
stroke: "currentColor",
|
|
1034
|
-
strokeWidth: "2",
|
|
1035
|
-
strokeLinecap: "round",
|
|
1036
|
-
strokeLinejoin: "round",
|
|
1037
|
-
className: k("size-3.5", e),
|
|
1038
|
-
"aria-hidden": !0,
|
|
1039
|
-
children: /* @__PURE__ */ m("path", { d: "m3.5 8.5 3 3 6-7" })
|
|
1040
|
-
});
|
|
1041
|
-
}
|
|
1042
|
-
function K({ className: e }) {
|
|
1043
|
-
return /* @__PURE__ */ h("svg", {
|
|
1044
|
-
viewBox: "0 0 16 16",
|
|
1045
|
-
fill: "none",
|
|
1046
|
-
stroke: "currentColor",
|
|
1047
|
-
strokeWidth: "1.8",
|
|
1048
|
-
strokeLinecap: "round",
|
|
1049
|
-
strokeLinejoin: "round",
|
|
1050
|
-
className: k("size-3.5", e),
|
|
1051
|
-
"aria-hidden": !0,
|
|
1052
|
-
children: [/* @__PURE__ */ m("path", { d: "M8 2.2 1.6 13.3h12.8L8 2.2Z" }), /* @__PURE__ */ m("path", { d: "M8 6.5v3M8 11.6v.1" })]
|
|
1053
|
-
});
|
|
1054
|
-
}
|
|
1055
|
-
function q({ className: e }) {
|
|
1056
|
-
return /* @__PURE__ */ h("svg", {
|
|
1057
|
-
viewBox: "0 0 16 16",
|
|
1058
|
-
fill: "none",
|
|
1059
|
-
stroke: "currentColor",
|
|
1060
|
-
strokeWidth: "1.8",
|
|
1061
|
-
strokeLinecap: "round",
|
|
1062
|
-
className: k("size-3.5", e),
|
|
1063
|
-
"aria-hidden": !0,
|
|
1064
|
-
children: [/* @__PURE__ */ m("circle", {
|
|
1065
|
-
cx: "8",
|
|
1066
|
-
cy: "8",
|
|
1067
|
-
r: "6.3"
|
|
1068
|
-
}), /* @__PURE__ */ m("path", { d: "M8 7.3v3.8M8 4.9v.1" })]
|
|
1069
|
-
});
|
|
1070
|
-
}
|
|
1071
|
-
//#endregion
|
|
1072
1244
|
//#region packages/field/index.tsx
|
|
1073
|
-
function
|
|
1074
|
-
let c = s(), l = r(a) ? a : null, u = l?.props.id ?? `${c}-control`, d = n ? `${c}-hint` : void 0, f = i ? `${c}-error` : void 0, p =
|
|
1245
|
+
function Ye({ label: e, hint: n, error: i, children: a, className: o }) {
|
|
1246
|
+
let c = s(), l = r(a) ? a : null, u = l?.props.id ?? `${c}-control`, d = n ? `${c}-hint` : void 0, f = i ? `${c}-error` : void 0, p = A(l?.props["aria-describedby"], d, f).trim() || void 0;
|
|
1075
1247
|
return /* @__PURE__ */ h("div", {
|
|
1076
|
-
className:
|
|
1248
|
+
className: A("zen__field flex flex-col gap-2", o),
|
|
1077
1249
|
children: [
|
|
1078
1250
|
/* @__PURE__ */ m("label", {
|
|
1079
1251
|
htmlFor: u,
|
|
@@ -1094,22 +1266,22 @@ function Be({ label: e, hint: n, error: i, children: a, className: o }) {
|
|
|
1094
1266
|
id: f,
|
|
1095
1267
|
role: "alert",
|
|
1096
1268
|
className: "text-destructive mt-0! flex items-center gap-1.5 text-xs font-medium",
|
|
1097
|
-
children: [/* @__PURE__ */ m(
|
|
1269
|
+
children: [/* @__PURE__ */ m(q, { className: "shrink-0" }), i]
|
|
1098
1270
|
})
|
|
1099
1271
|
]
|
|
1100
1272
|
});
|
|
1101
1273
|
}
|
|
1102
|
-
function
|
|
1103
|
-
let r = e === "error" ?
|
|
1274
|
+
function Xe({ tone: e = "info", children: t, className: n }) {
|
|
1275
|
+
let r = e === "error" ? q : e === "success" ? K : J;
|
|
1104
1276
|
return /* @__PURE__ */ h("p", {
|
|
1105
1277
|
role: e === "error" ? "alert" : "status",
|
|
1106
|
-
className:
|
|
1278
|
+
className: A("mt-0! flex items-start gap-2 text-sm", e === "error" && "border-destructive/35 bg-destructive/10 text-destructive rounded-lg border px-3 py-2", e === "success" && "border-primary/30 bg-primary/10 text-primary rounded-lg border px-3 py-2", e === "info" && "text-muted-foreground", n),
|
|
1107
1279
|
children: [/* @__PURE__ */ m(r, { className: "mt-0.5 shrink-0" }), /* @__PURE__ */ m("span", { children: t })]
|
|
1108
1280
|
});
|
|
1109
1281
|
}
|
|
1110
1282
|
//#endregion
|
|
1111
1283
|
//#region packages/icons/search.tsx
|
|
1112
|
-
function
|
|
1284
|
+
function Ze(e) {
|
|
1113
1285
|
return /* @__PURE__ */ m("svg", {
|
|
1114
1286
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1115
1287
|
fill: "none",
|
|
@@ -1127,7 +1299,7 @@ function He(e) {
|
|
|
1127
1299
|
}
|
|
1128
1300
|
//#endregion
|
|
1129
1301
|
//#region packages/icons/x-mark.tsx
|
|
1130
|
-
function
|
|
1302
|
+
function Qe(e) {
|
|
1131
1303
|
return /* @__PURE__ */ m("svg", {
|
|
1132
1304
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1133
1305
|
fill: "none",
|
|
@@ -1145,10 +1317,10 @@ function Ue(e) {
|
|
|
1145
1317
|
}
|
|
1146
1318
|
//#endregion
|
|
1147
1319
|
//#region packages/input-group/index.tsx
|
|
1148
|
-
function
|
|
1320
|
+
function $e({ invalid: e, className: t, onMouseDown: n, ...r }) {
|
|
1149
1321
|
return /* @__PURE__ */ m("div", {
|
|
1150
1322
|
"data-invalid": e || void 0,
|
|
1151
|
-
className:
|
|
1323
|
+
className: A("zen__input-group cursor-text", Pe, "has-disabled:bg-muted! has-disabled:text-muted-foreground has-disabled:cursor-not-allowed", e && "border-destructive! focus-within:shadow-[0_0_0_3px_oklch(var(--destructive)/0.16)]!", t),
|
|
1152
1324
|
onMouseDown: (e) => {
|
|
1153
1325
|
n?.(e);
|
|
1154
1326
|
let t = e.target;
|
|
@@ -1159,21 +1331,21 @@ function We({ invalid: e, className: t, onMouseDown: n, ...r }) {
|
|
|
1159
1331
|
...r
|
|
1160
1332
|
});
|
|
1161
1333
|
}
|
|
1162
|
-
function
|
|
1334
|
+
function Y({ className: e, ...t }) {
|
|
1163
1335
|
return /* @__PURE__ */ m("input", {
|
|
1164
|
-
className:
|
|
1336
|
+
className: A("placeholder:text-muted-foreground h-full w-full min-w-0 flex-1 bg-transparent text-sm outline-hidden disabled:cursor-not-allowed", e),
|
|
1165
1337
|
...t
|
|
1166
1338
|
});
|
|
1167
1339
|
}
|
|
1168
|
-
function
|
|
1340
|
+
function X({ className: e, ...t }) {
|
|
1169
1341
|
return /* @__PURE__ */ m("span", {
|
|
1170
|
-
className:
|
|
1342
|
+
className: A("text-muted-foreground flex shrink-0 items-center gap-1 text-sm select-none [&_svg]:size-4", e),
|
|
1171
1343
|
...t
|
|
1172
1344
|
});
|
|
1173
1345
|
}
|
|
1174
1346
|
//#endregion
|
|
1175
1347
|
//#region packages/utils/field-chevron.tsx
|
|
1176
|
-
function
|
|
1348
|
+
function Z({ open: e, className: t }) {
|
|
1177
1349
|
return /* @__PURE__ */ m("svg", {
|
|
1178
1350
|
viewBox: "0 0 16 16",
|
|
1179
1351
|
fill: "none",
|
|
@@ -1182,13 +1354,13 @@ function X({ open: e, className: t }) {
|
|
|
1182
1354
|
strokeLinecap: "round",
|
|
1183
1355
|
strokeLinejoin: "round",
|
|
1184
1356
|
"aria-hidden": !0,
|
|
1185
|
-
className:
|
|
1357
|
+
className: A("text-muted-foreground size-4 shrink-0 transition-transform duration-300", e && "rotate-180", t),
|
|
1186
1358
|
children: /* @__PURE__ */ m("path", { d: "m4 6 4 4 4-4" })
|
|
1187
1359
|
});
|
|
1188
1360
|
}
|
|
1189
1361
|
//#endregion
|
|
1190
1362
|
//#region packages/utils/useVirtualList.ts
|
|
1191
|
-
function
|
|
1363
|
+
function et({ count: e, itemHeight: t, scrollRef: n, overscan: r = 6 }) {
|
|
1192
1364
|
let i = (n, i) => {
|
|
1193
1365
|
let a = i || t * 10;
|
|
1194
1366
|
return {
|
|
@@ -1230,12 +1402,12 @@ function Ge({ count: e, itemHeight: t, scrollRef: n, overscan: r = 6 }) {
|
|
|
1230
1402
|
}
|
|
1231
1403
|
//#endregion
|
|
1232
1404
|
//#region packages/dropdown/index.tsx
|
|
1233
|
-
function
|
|
1405
|
+
function tt(e) {
|
|
1234
1406
|
let { items: t, selected: n, className: r, onChange: i, disabled: a, placeholder: o = "Select an Item", multiple: s, mutable: c, onAdd: l } = e, f = u(null), [p, g] = d(!1), _ = !!r && /(^|\s)w-full(\s|$)/.test(r);
|
|
1235
|
-
return /* @__PURE__ */ m(
|
|
1407
|
+
return /* @__PURE__ */ m(G, {
|
|
1236
1408
|
triggerClassName: _ ? "w-full max-w-none" : void 0,
|
|
1237
1409
|
className: "min-w-0",
|
|
1238
|
-
content: /* @__PURE__ */ m(
|
|
1410
|
+
content: /* @__PURE__ */ m(nt, {
|
|
1239
1411
|
...c ? {
|
|
1240
1412
|
mutable: c,
|
|
1241
1413
|
onAdd: l
|
|
@@ -1258,40 +1430,40 @@ function Ke(e) {
|
|
|
1258
1430
|
"aria-expanded": p,
|
|
1259
1431
|
"aria-haspopup": "listbox",
|
|
1260
1432
|
onClick: (e) => e.preventDefault(),
|
|
1261
|
-
className:
|
|
1433
|
+
className: A(U, "w-56", "grow", a ? "cursor-not-allowed opacity-50" : "cursor-pointer", p && "border-glow/60 shadow-[0_0_0_3px_oklch(var(--glow)/0.16),0_0_24px_-6px_oklch(var(--glow)/0.6)]", r),
|
|
1262
1434
|
children: [/* @__PURE__ */ m("div", {
|
|
1263
|
-
className:
|
|
1435
|
+
className: A("flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm", a ? "text-muted-foreground" : "text-foreground"),
|
|
1264
1436
|
ref: f,
|
|
1265
1437
|
children: s && !n.length ? /* @__PURE__ */ m("span", {
|
|
1266
1438
|
className: "text-muted-foreground",
|
|
1267
1439
|
children: o
|
|
1268
|
-
}) : s ? /* @__PURE__ */ m(
|
|
1440
|
+
}) : s ? /* @__PURE__ */ m(Fe, {
|
|
1269
1441
|
items: n.map((e) => e.text),
|
|
1270
1442
|
data: n,
|
|
1271
1443
|
parentRef: f,
|
|
1272
1444
|
estimator: (e, t) => t + 40,
|
|
1273
1445
|
badgeVariant: "secondary",
|
|
1274
1446
|
badgeStyles: "h-6 min-w-min gap-2",
|
|
1275
|
-
children: (e, t, r) => /* @__PURE__ */ h(
|
|
1447
|
+
children: (e, t, r) => /* @__PURE__ */ h(B, {
|
|
1276
1448
|
className: "flex h-6 min-w-min gap-2 pr-1",
|
|
1277
1449
|
variant: "secondary",
|
|
1278
|
-
children: [e, /* @__PURE__ */ m(
|
|
1450
|
+
children: [e, /* @__PURE__ */ m(V, {
|
|
1279
1451
|
onClick: () => {
|
|
1280
1452
|
i(n.filter((e) => e.key !== r?.key));
|
|
1281
1453
|
},
|
|
1282
1454
|
variant: "icon",
|
|
1283
1455
|
size: "icon",
|
|
1284
1456
|
className: "group relative -top-px size-4 rounded-sm p-0.5",
|
|
1285
|
-
children: /* @__PURE__ */ m(
|
|
1457
|
+
children: /* @__PURE__ */ m(Qe, { className: "size-3 transition duration-300 group-hover:rotate-90" })
|
|
1286
1458
|
})]
|
|
1287
1459
|
}, `collapsed_item_${r?.key ?? t}`)
|
|
1288
1460
|
}) : n.text ?? o
|
|
1289
|
-
}), /* @__PURE__ */ m(
|
|
1461
|
+
}), /* @__PURE__ */ m(Z, { open: p })]
|
|
1290
1462
|
})
|
|
1291
1463
|
});
|
|
1292
1464
|
}
|
|
1293
|
-
function
|
|
1294
|
-
let { items: t, multiple: n, selected: r, onChange: i, mutable: a, onAdd: s } = e, [c, f] = d(""), p = u(null), g = l(() => t.reduce((e, t) => ((!c.length || t.text.toLowerCase().includes(c.toLowerCase())) && e.push(t), e), []), [t, c]), _ =
|
|
1465
|
+
function nt(e) {
|
|
1466
|
+
let { items: t, multiple: n, selected: r, onChange: i, mutable: a, onAdd: s } = e, [c, f] = d(""), p = u(null), g = l(() => t.reduce((e, t) => ((!c.length || t.text.toLowerCase().includes(c.toLowerCase())) && e.push(t), e), []), [t, c]), _ = et({
|
|
1295
1467
|
count: g.length,
|
|
1296
1468
|
itemHeight: 35,
|
|
1297
1469
|
scrollRef: p
|
|
@@ -1304,7 +1476,7 @@ function qe(e) {
|
|
|
1304
1476
|
className: "divide-tint/10 flex w-full flex-col divide-y overflow-hidden rounded-xl",
|
|
1305
1477
|
children: [/* @__PURE__ */ h("div", {
|
|
1306
1478
|
className: "flex h-10 grow items-center gap-2 px-3",
|
|
1307
|
-
children: [/* @__PURE__ */ m(
|
|
1479
|
+
children: [/* @__PURE__ */ m(X, { children: /* @__PURE__ */ m(Ze, {}) }), /* @__PURE__ */ m(Y, {
|
|
1308
1480
|
placeholder: "Search",
|
|
1309
1481
|
"aria-label": "Search options",
|
|
1310
1482
|
value: c,
|
|
@@ -1312,7 +1484,7 @@ function qe(e) {
|
|
|
1312
1484
|
})]
|
|
1313
1485
|
}), /* @__PURE__ */ h("ul", {
|
|
1314
1486
|
role: "listbox",
|
|
1315
|
-
className:
|
|
1487
|
+
className: A("max-h-72 grow overflow-y-auto py-1", "focus:ring-0 focus:outline-hidden"),
|
|
1316
1488
|
ref: p,
|
|
1317
1489
|
children: [/* @__PURE__ */ m("div", {
|
|
1318
1490
|
style: {
|
|
@@ -1327,14 +1499,14 @@ function qe(e) {
|
|
|
1327
1499
|
height: `${e.size}px`,
|
|
1328
1500
|
transform: `translateY(${e.start}px)`
|
|
1329
1501
|
},
|
|
1330
|
-
className:
|
|
1502
|
+
className: A("hover:bg-muted absolute top-0 left-0 grid w-full cursor-pointer grid-cols-[1rem_1fr] items-center gap-2 px-3 py-2 text-sm outline-hidden select-none"),
|
|
1331
1503
|
onClick: () => {
|
|
1332
1504
|
n ? v.includes(g[e.index].key) ? i(structuredClone(r.filter((t) => t.key !== g[e.index].key))) : i(structuredClone([...r, g[e.index]])) : i(g[e.index]);
|
|
1333
1505
|
},
|
|
1334
1506
|
children: [/* @__PURE__ */ m("span", {
|
|
1335
1507
|
className: "text-primary col-start-1",
|
|
1336
1508
|
"aria-hidden": !0,
|
|
1337
|
-
children: v.includes(g[e.index].key) && /* @__PURE__ */ m(
|
|
1509
|
+
children: v.includes(g[e.index].key) && /* @__PURE__ */ m(K, {})
|
|
1338
1510
|
}), /* @__PURE__ */ m("span", {
|
|
1339
1511
|
className: "col-start-2 truncate",
|
|
1340
1512
|
children: g[e.index].text
|
|
@@ -1343,7 +1515,7 @@ function qe(e) {
|
|
|
1343
1515
|
}), c.length > 0 && g.length === 0 && (a ? /* @__PURE__ */ h("li", {
|
|
1344
1516
|
role: "option",
|
|
1345
1517
|
"aria-selected": !1,
|
|
1346
|
-
className:
|
|
1518
|
+
className: A("hover:bg-muted cursor-pointer px-3 py-2 text-sm select-none"),
|
|
1347
1519
|
onClick: () => {
|
|
1348
1520
|
s({
|
|
1349
1521
|
text: c,
|
|
@@ -1354,7 +1526,7 @@ function qe(e) {
|
|
|
1354
1526
|
}) : /* @__PURE__ */ m("li", {
|
|
1355
1527
|
role: "option",
|
|
1356
1528
|
"aria-selected": !1,
|
|
1357
|
-
className:
|
|
1529
|
+
className: A("text-muted-foreground cursor-not-allowed px-3 py-2 text-sm"),
|
|
1358
1530
|
children: "No results found"
|
|
1359
1531
|
}))]
|
|
1360
1532
|
})]
|
|
@@ -1362,9 +1534,9 @@ function qe(e) {
|
|
|
1362
1534
|
}
|
|
1363
1535
|
//#endregion
|
|
1364
1536
|
//#region packages/header/index.tsx
|
|
1365
|
-
function
|
|
1366
|
-
return
|
|
1367
|
-
className:
|
|
1537
|
+
function rt({ className: e, children: t, ...n }) {
|
|
1538
|
+
return N(), /* @__PURE__ */ m("header", {
|
|
1539
|
+
className: A("zen__header border-tint/5 bg-background/60 sticky top-0 z-40 border-b pt-[env(safe-area-inset-top)] backdrop-blur-xl", "pointer-coarse:bg-background/95 pointer-coarse:backdrop-blur-none", e),
|
|
1368
1540
|
...n,
|
|
1369
1541
|
children: /* @__PURE__ */ m("div", {
|
|
1370
1542
|
className: "flex items-center justify-between gap-4 px-4 py-2.5 md:gap-6 md:px-6 md:py-3",
|
|
@@ -1374,7 +1546,7 @@ function Je({ className: e, children: t, ...n }) {
|
|
|
1374
1546
|
}
|
|
1375
1547
|
//#endregion
|
|
1376
1548
|
//#region packages/icons/chevron-down.tsx
|
|
1377
|
-
function
|
|
1549
|
+
function it(e) {
|
|
1378
1550
|
return /* @__PURE__ */ m("svg", {
|
|
1379
1551
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1380
1552
|
fill: "none",
|
|
@@ -1392,7 +1564,7 @@ function Ye(e) {
|
|
|
1392
1564
|
}
|
|
1393
1565
|
//#endregion
|
|
1394
1566
|
//#region packages/icons/chevron-left.tsx
|
|
1395
|
-
function
|
|
1567
|
+
function at(e) {
|
|
1396
1568
|
return /* @__PURE__ */ m("svg", {
|
|
1397
1569
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1398
1570
|
fill: "none",
|
|
@@ -1410,7 +1582,7 @@ function Xe(e) {
|
|
|
1410
1582
|
}
|
|
1411
1583
|
//#endregion
|
|
1412
1584
|
//#region packages/icons/chevron-right.tsx
|
|
1413
|
-
function
|
|
1585
|
+
function ot(e) {
|
|
1414
1586
|
return /* @__PURE__ */ m("svg", {
|
|
1415
1587
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1416
1588
|
fill: "none",
|
|
@@ -1428,7 +1600,7 @@ function Ze(e) {
|
|
|
1428
1600
|
}
|
|
1429
1601
|
//#endregion
|
|
1430
1602
|
//#region packages/icons/chevron-up.tsx
|
|
1431
|
-
function
|
|
1603
|
+
function st(e) {
|
|
1432
1604
|
return /* @__PURE__ */ m("svg", {
|
|
1433
1605
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1434
1606
|
fill: "none",
|
|
@@ -1446,16 +1618,16 @@ function Qe(e) {
|
|
|
1446
1618
|
}
|
|
1447
1619
|
//#endregion
|
|
1448
1620
|
//#region packages/input/index.tsx
|
|
1449
|
-
function
|
|
1621
|
+
function ct(e) {
|
|
1450
1622
|
let { className: t, ...n } = e;
|
|
1451
1623
|
return /* @__PURE__ */ m("input", {
|
|
1452
|
-
className:
|
|
1624
|
+
className: A(H, "w-full", "read-only:text-foreground read-only:cursor-default read-only:border-none! read-only:bg-transparent read-only:shadow-none! read-only:outline-hidden!", "file:text-foreground file:border-0 file:bg-transparent file:text-sm file:font-medium", "[[type=\"checkbox\"]]:accent-primary [[type=\"checkbox\"]]:h-4 [[type=\"checkbox\"]]:w-4 [[type=\"checkbox\"]]:rounded-sm", "[[type=\"radio\"]]:accent-primary [[type=\"radio\"]]:h-4 [[type=\"radio\"]]:w-4", t),
|
|
1453
1625
|
...n
|
|
1454
1626
|
});
|
|
1455
1627
|
}
|
|
1456
1628
|
//#endregion
|
|
1457
1629
|
//#region packages/meter/index.tsx
|
|
1458
|
-
function
|
|
1630
|
+
function lt({ value: e, max: t = 100, label: n, detail: r, hint: i, valueText: a, tone: o = "auto", warnAt: c = .85, className: l }) {
|
|
1459
1631
|
let u = s(), d = e > t, f = t > 0 ? e / t : +(e > 0), p = Math.min(100, Math.max(0, Math.round(f * 100))), g = o === "auto" ? d ? "danger" : f >= c ? "warning" : "default" : o;
|
|
1460
1632
|
return /* @__PURE__ */ h("div", {
|
|
1461
1633
|
role: "meter",
|
|
@@ -1464,7 +1636,7 @@ function et({ value: e, max: t = 100, label: n, detail: r, hint: i, valueText: a
|
|
|
1464
1636
|
"aria-valuemax": t,
|
|
1465
1637
|
"aria-valuenow": Math.min(e, t),
|
|
1466
1638
|
"aria-valuetext": a,
|
|
1467
|
-
className:
|
|
1639
|
+
className: A("zen__meter grid grid-cols-2 gap-y-1.5", l),
|
|
1468
1640
|
children: [
|
|
1469
1641
|
n && /* @__PURE__ */ m("span", {
|
|
1470
1642
|
id: u,
|
|
@@ -1472,18 +1644,18 @@ function et({ value: e, max: t = 100, label: n, detail: r, hint: i, valueText: a
|
|
|
1472
1644
|
children: n
|
|
1473
1645
|
}),
|
|
1474
1646
|
r && /* @__PURE__ */ m("span", {
|
|
1475
|
-
className:
|
|
1647
|
+
className: A("col-start-2 text-right text-sm tabular-nums", g === "danger" ? "text-destructive" : "text-muted-foreground"),
|
|
1476
1648
|
children: r
|
|
1477
1649
|
}),
|
|
1478
1650
|
/* @__PURE__ */ m("div", {
|
|
1479
1651
|
className: "bg-muted col-span-2 h-2 overflow-hidden rounded-full",
|
|
1480
1652
|
children: /* @__PURE__ */ m("div", {
|
|
1481
|
-
className:
|
|
1653
|
+
className: A("h-full rounded-full transition-[width] duration-700 ease-[cubic-bezier(0.2,0.8,0.2,1)]", g === "danger" ? "bg-destructive shadow-[0_0_12px_oklch(var(--destructive)/0.7)]" : g === "warning" ? "bg-accent-foreground shadow-[0_0_12px_oklch(var(--accent-foreground)/0.6)]" : "from-primary to-glow-2 bg-gradient-to-r shadow-[0_0_12px_oklch(var(--glow)/0.6)]"),
|
|
1482
1654
|
style: { width: `${p}%` }
|
|
1483
1655
|
})
|
|
1484
1656
|
}),
|
|
1485
1657
|
i && /* @__PURE__ */ m("span", {
|
|
1486
|
-
className:
|
|
1658
|
+
className: A("col-span-2 text-xs", g === "danger" ? "text-destructive" : "text-muted-foreground"),
|
|
1487
1659
|
children: i
|
|
1488
1660
|
})
|
|
1489
1661
|
]
|
|
@@ -1491,34 +1663,34 @@ function et({ value: e, max: t = 100, label: n, detail: r, hint: i, valueText: a
|
|
|
1491
1663
|
}
|
|
1492
1664
|
//#endregion
|
|
1493
1665
|
//#region packages/utils/month.ts
|
|
1494
|
-
var
|
|
1495
|
-
function
|
|
1496
|
-
return typeof e == "string" &&
|
|
1666
|
+
var ut = /^(\d{4})-(0[1-9]|1[0-2])$/;
|
|
1667
|
+
function dt(e) {
|
|
1668
|
+
return typeof e == "string" && ut.test(e);
|
|
1497
1669
|
}
|
|
1498
|
-
function
|
|
1499
|
-
let t =
|
|
1670
|
+
function Q(e) {
|
|
1671
|
+
let t = ut.exec(e);
|
|
1500
1672
|
if (!t) throw Error(`Invalid month: ${e}`);
|
|
1501
1673
|
return Number(t[1]) * 12 + Number(t[2]) - 1;
|
|
1502
1674
|
}
|
|
1503
|
-
function
|
|
1675
|
+
function ft(e) {
|
|
1504
1676
|
let t = Math.floor(e / 12);
|
|
1505
1677
|
return `${String(t).padStart(4, "0")}-${String(e % 12 + 1).padStart(2, "0")}`;
|
|
1506
1678
|
}
|
|
1507
|
-
function
|
|
1508
|
-
return
|
|
1679
|
+
function pt(e, t) {
|
|
1680
|
+
return ft(Q(e) + t);
|
|
1509
1681
|
}
|
|
1510
|
-
function
|
|
1682
|
+
function mt(e, t) {
|
|
1511
1683
|
let n = [];
|
|
1512
|
-
for (let r =
|
|
1684
|
+
for (let r = Q(e); r <= Q(t); r++) n.push(ft(r));
|
|
1513
1685
|
return n;
|
|
1514
1686
|
}
|
|
1515
|
-
function
|
|
1516
|
-
return
|
|
1687
|
+
function ht(e, t) {
|
|
1688
|
+
return Q(t) - Q(e);
|
|
1517
1689
|
}
|
|
1518
|
-
function
|
|
1690
|
+
function gt(e = /* @__PURE__ */ new Date()) {
|
|
1519
1691
|
return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}`;
|
|
1520
1692
|
}
|
|
1521
|
-
function
|
|
1693
|
+
function _t(e, t, n = "short") {
|
|
1522
1694
|
let [r, i] = e.split("-").map(Number);
|
|
1523
1695
|
return new Intl.DateTimeFormat(t, {
|
|
1524
1696
|
month: n,
|
|
@@ -1526,7 +1698,7 @@ function ct(e, t, n = "short") {
|
|
|
1526
1698
|
timeZone: "UTC"
|
|
1527
1699
|
}).format(Date.UTC(r, i - 1, 1));
|
|
1528
1700
|
}
|
|
1529
|
-
function
|
|
1701
|
+
function vt(e) {
|
|
1530
1702
|
let t = new Intl.DateTimeFormat(e, {
|
|
1531
1703
|
month: "short",
|
|
1532
1704
|
timeZone: "UTC"
|
|
@@ -1535,24 +1707,24 @@ function lt(e) {
|
|
|
1535
1707
|
}
|
|
1536
1708
|
//#endregion
|
|
1537
1709
|
//#region packages/month-picker/index.tsx
|
|
1538
|
-
function
|
|
1539
|
-
let [g, _] = d(() => Number((e ?? (/* @__PURE__ */ new Date()).toISOString()).slice(0, 4))), v =
|
|
1710
|
+
function yt({ value: e, onChange: t, locale: n, min: r, max: i, id: a, className: o, disabled: s = !1, placeholder: c = "Pick a month", onClear: l, clearLabel: u = "Clear", "aria-label": f }) {
|
|
1711
|
+
let [g, _] = d(() => Number((e ?? (/* @__PURE__ */ new Date()).toISOString()).slice(0, 4))), v = P({ onOpenChange: (t) => t && e && _(Number(e.slice(0, 4))) }), y = vt(n), b = (e) => (!r || e >= r) && (!i || e <= i);
|
|
1540
1712
|
return /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ h("button", {
|
|
1541
1713
|
type: "button",
|
|
1542
1714
|
id: a,
|
|
1543
1715
|
disabled: s,
|
|
1544
1716
|
"aria-label": f,
|
|
1545
1717
|
...v.triggerProps,
|
|
1546
|
-
className:
|
|
1718
|
+
className: A("zen__month-picker group", U, "w-full", v.open && "border-glow/60 shadow-[0_0_0_3px_oklch(var(--glow)/0.16),0_0_24px_-6px_oklch(var(--glow)/0.6)]", o),
|
|
1547
1719
|
children: [/* @__PURE__ */ m("span", {
|
|
1548
1720
|
className: e ? void 0 : "text-muted-foreground",
|
|
1549
|
-
children: e ?
|
|
1550
|
-
}), /* @__PURE__ */ m(
|
|
1721
|
+
children: e ? _t(e, n) : c
|
|
1722
|
+
}), /* @__PURE__ */ m(Z, { open: v.open })]
|
|
1551
1723
|
}), /* @__PURE__ */ h("div", {
|
|
1552
1724
|
...v.popupProps,
|
|
1553
1725
|
role: "dialog",
|
|
1554
1726
|
"aria-label": "Choose month",
|
|
1555
|
-
className:
|
|
1727
|
+
className: A("zen__popover", W, "w-64 p-3"),
|
|
1556
1728
|
children: [
|
|
1557
1729
|
/* @__PURE__ */ h("div", {
|
|
1558
1730
|
className: "mb-2 flex items-center justify-between",
|
|
@@ -1562,7 +1734,7 @@ function ut({ value: e, onChange: t, locale: n, min: r, max: i, id: a, className
|
|
|
1562
1734
|
"aria-label": "Previous year",
|
|
1563
1735
|
onClick: () => _((e) => e - 1),
|
|
1564
1736
|
className: "hover:bg-muted rounded p-1.5",
|
|
1565
|
-
children: /* @__PURE__ */ m(
|
|
1737
|
+
children: /* @__PURE__ */ m(at, { className: "size-4" })
|
|
1566
1738
|
}),
|
|
1567
1739
|
/* @__PURE__ */ m("span", {
|
|
1568
1740
|
className: "text-sm font-semibold tabular-nums",
|
|
@@ -1574,7 +1746,7 @@ function ut({ value: e, onChange: t, locale: n, min: r, max: i, id: a, className
|
|
|
1574
1746
|
"aria-label": "Next year",
|
|
1575
1747
|
onClick: () => _((e) => e + 1),
|
|
1576
1748
|
className: "hover:bg-muted rounded p-1.5",
|
|
1577
|
-
children: /* @__PURE__ */ m(
|
|
1749
|
+
children: /* @__PURE__ */ m(ot, { className: "size-4" })
|
|
1578
1750
|
})
|
|
1579
1751
|
]
|
|
1580
1752
|
}),
|
|
@@ -1586,11 +1758,11 @@ function ut({ value: e, onChange: t, locale: n, min: r, max: i, id: a, className
|
|
|
1586
1758
|
type: "button",
|
|
1587
1759
|
disabled: !b(a),
|
|
1588
1760
|
"aria-pressed": o,
|
|
1589
|
-
"aria-label":
|
|
1761
|
+
"aria-label": _t(a, n, "long"),
|
|
1590
1762
|
onClick: () => {
|
|
1591
1763
|
t(a), v.setOpen(!1);
|
|
1592
1764
|
},
|
|
1593
|
-
className:
|
|
1765
|
+
className: A("rounded-sm py-2 text-sm disabled:cursor-not-allowed disabled:opacity-40", o ? "bg-primary text-primary-foreground" : "hover:bg-muted"),
|
|
1594
1766
|
children: r
|
|
1595
1767
|
}, a);
|
|
1596
1768
|
})
|
|
@@ -1608,26 +1780,26 @@ function ut({ value: e, onChange: t, locale: n, min: r, max: i, id: a, className
|
|
|
1608
1780
|
}
|
|
1609
1781
|
//#endregion
|
|
1610
1782
|
//#region packages/money-input/index.tsx
|
|
1611
|
-
function
|
|
1612
|
-
let l =
|
|
1783
|
+
function bt({ start: e, end: t, compact: n = !1, disabled: r = !1, id: i, autoFocus: a, className: o, "aria-label": s, ...c }) {
|
|
1784
|
+
let l = xt(c);
|
|
1613
1785
|
return /* @__PURE__ */ h("div", {
|
|
1614
|
-
className:
|
|
1615
|
-
children: [/* @__PURE__ */ h(
|
|
1786
|
+
className: A("zen__money-input flex flex-col gap-1", o),
|
|
1787
|
+
children: [/* @__PURE__ */ h($e, {
|
|
1616
1788
|
invalid: !!l.error,
|
|
1617
|
-
className:
|
|
1789
|
+
className: A(n && "h-7! border!"),
|
|
1618
1790
|
children: [
|
|
1619
|
-
e ?? /* @__PURE__ */ m(
|
|
1791
|
+
e ?? /* @__PURE__ */ m(X, {
|
|
1620
1792
|
"aria-hidden": !0,
|
|
1621
1793
|
"data-slot": "symbol",
|
|
1622
1794
|
children: l.symbol
|
|
1623
1795
|
}),
|
|
1624
|
-
/* @__PURE__ */ m(
|
|
1796
|
+
/* @__PURE__ */ m(Y, {
|
|
1625
1797
|
...l.inputProps,
|
|
1626
1798
|
id: i,
|
|
1627
1799
|
autoFocus: a,
|
|
1628
1800
|
disabled: r,
|
|
1629
1801
|
"aria-label": s,
|
|
1630
|
-
className:
|
|
1802
|
+
className: A("tabular-nums", n ? "text-right" : "text-left")
|
|
1631
1803
|
}),
|
|
1632
1804
|
t
|
|
1633
1805
|
]
|
|
@@ -1635,12 +1807,12 @@ function dt({ start: e, end: t, compact: n = !1, disabled: r = !1, id: i, autoFo
|
|
|
1635
1807
|
id: l.errorId,
|
|
1636
1808
|
role: "alert",
|
|
1637
1809
|
className: "text-destructive mt-0! flex items-center gap-1.5 text-xs font-medium",
|
|
1638
|
-
children: [/* @__PURE__ */ m(
|
|
1810
|
+
children: [/* @__PURE__ */ m(q, { className: "shrink-0" }), l.error]
|
|
1639
1811
|
})]
|
|
1640
1812
|
});
|
|
1641
1813
|
}
|
|
1642
|
-
function
|
|
1643
|
-
let u = (e) => e === null ? "" :
|
|
1814
|
+
function xt({ value: e, onChange: t, currency: n, locale: r, allowNegative: i = !1, allowEmpty: a = !1, live: c = !1, onCancel: l }) {
|
|
1815
|
+
let u = (e) => e === null ? "" : fe(e, n, r), [f, p] = d(() => u(e)), [m, h] = d(null), [g, _] = d(!1), [v, y] = d(!1), b = s();
|
|
1644
1816
|
o(() => {
|
|
1645
1817
|
!g && !(c && v) && p(u(e));
|
|
1646
1818
|
}, [
|
|
@@ -1648,7 +1820,7 @@ function ft({ value: e, onChange: t, currency: n, locale: r, allowNegative: i =
|
|
|
1648
1820
|
n,
|
|
1649
1821
|
r
|
|
1650
1822
|
]);
|
|
1651
|
-
let x = `Not an amount. Try ${
|
|
1823
|
+
let x = `Not an amount. Try ${fe(3274e3, n, r)} or ${r.endsWith("-IN") ? "1.5L" : "10k"}.`;
|
|
1652
1824
|
function S(e) {
|
|
1653
1825
|
let t = e.trim();
|
|
1654
1826
|
if (t === "") {
|
|
@@ -1658,7 +1830,7 @@ function ft({ value: e, onChange: t, currency: n, locale: r, allowNegative: i =
|
|
|
1658
1830
|
}
|
|
1659
1831
|
let r;
|
|
1660
1832
|
try {
|
|
1661
|
-
r =
|
|
1833
|
+
r = L(t, n);
|
|
1662
1834
|
} catch {
|
|
1663
1835
|
h(x);
|
|
1664
1836
|
return;
|
|
@@ -1691,7 +1863,7 @@ function ft({ value: e, onChange: t, currency: n, locale: r, allowNegative: i =
|
|
|
1691
1863
|
y(!0);
|
|
1692
1864
|
try {
|
|
1693
1865
|
let r = e.target.value.trim();
|
|
1694
|
-
t(r === "" ? null :
|
|
1866
|
+
t(r === "" ? null : L(r, n));
|
|
1695
1867
|
} catch {
|
|
1696
1868
|
t(null);
|
|
1697
1869
|
}
|
|
@@ -1705,29 +1877,29 @@ function ft({ value: e, onChange: t, currency: n, locale: r, allowNegative: i =
|
|
|
1705
1877
|
t.key === "Enter" ? (t.preventDefault(), c ? w() : C()) : t.key === "Escape" && (t.preventDefault(), p(u(e)), h(null), l?.());
|
|
1706
1878
|
}
|
|
1707
1879
|
},
|
|
1708
|
-
symbol:
|
|
1880
|
+
symbol: pe(n, r),
|
|
1709
1881
|
error: m,
|
|
1710
1882
|
errorId: b,
|
|
1711
1883
|
text: f,
|
|
1712
1884
|
setText: p,
|
|
1713
1885
|
commit: C,
|
|
1714
|
-
formatted: e === null ? "" :
|
|
1886
|
+
formatted: e === null ? "" : de(e, n, r)
|
|
1715
1887
|
};
|
|
1716
1888
|
}
|
|
1717
1889
|
//#endregion
|
|
1718
1890
|
//#region packages/utils/slot.tsx
|
|
1719
|
-
function
|
|
1891
|
+
function St({ children: e, className: n, ...i }) {
|
|
1720
1892
|
if (!r(e)) return null;
|
|
1721
1893
|
let a = e;
|
|
1722
1894
|
return t(a, {
|
|
1723
1895
|
...i,
|
|
1724
|
-
className:
|
|
1896
|
+
className: A(n, a.props.className)
|
|
1725
1897
|
});
|
|
1726
1898
|
}
|
|
1727
1899
|
//#endregion
|
|
1728
1900
|
//#region packages/nav-pills/index.tsx
|
|
1729
|
-
var
|
|
1730
|
-
function
|
|
1901
|
+
var Ct = n(null);
|
|
1902
|
+
function wt({ className: e, children: t, ...n }) {
|
|
1731
1903
|
let r = u(null), [i, a] = d(null);
|
|
1732
1904
|
return c(() => {
|
|
1733
1905
|
let e = r.current;
|
|
@@ -1752,37 +1924,37 @@ function ht({ className: e, children: t, ...n }) {
|
|
|
1752
1924
|
n.disconnect(), i?.disconnect();
|
|
1753
1925
|
};
|
|
1754
1926
|
}, []), /* @__PURE__ */ m("nav", {
|
|
1755
|
-
className:
|
|
1927
|
+
className: A("zen__nav-pills", e),
|
|
1756
1928
|
...n,
|
|
1757
1929
|
children: /* @__PURE__ */ m("div", {
|
|
1758
1930
|
ref: r,
|
|
1759
|
-
className:
|
|
1760
|
-
children: /* @__PURE__ */ m(
|
|
1931
|
+
className: je,
|
|
1932
|
+
children: /* @__PURE__ */ m(Ct.Provider, {
|
|
1761
1933
|
value: i,
|
|
1762
1934
|
children: t
|
|
1763
1935
|
})
|
|
1764
1936
|
})
|
|
1765
1937
|
});
|
|
1766
1938
|
}
|
|
1767
|
-
function
|
|
1768
|
-
let t = a(
|
|
1939
|
+
function Tt({ className: e }) {
|
|
1940
|
+
let t = a(Ct);
|
|
1769
1941
|
return t ? /* @__PURE__ */ m("span", {
|
|
1770
1942
|
"aria-hidden": !0,
|
|
1771
|
-
className:
|
|
1943
|
+
className: A(Me, e),
|
|
1772
1944
|
style: {
|
|
1773
1945
|
translate: `${t.x}px 0`,
|
|
1774
1946
|
width: t.w
|
|
1775
1947
|
}
|
|
1776
1948
|
}) : null;
|
|
1777
1949
|
}
|
|
1778
|
-
var
|
|
1779
|
-
function
|
|
1950
|
+
var Et = A(Ne, "text-muted-foreground hover:text-foreground aria-[current=page]:text-foreground aria-[current=page]:hover:text-foreground");
|
|
1951
|
+
function Dt({ active: e, asChild: t, className: n, children: r, ...i }) {
|
|
1780
1952
|
let a = {
|
|
1781
1953
|
...i,
|
|
1782
1954
|
"aria-current": e ? "page" : void 0,
|
|
1783
|
-
className:
|
|
1955
|
+
className: A(Et, n)
|
|
1784
1956
|
};
|
|
1785
|
-
return t ? (e || delete a["aria-current"], /* @__PURE__ */ m(
|
|
1957
|
+
return t ? (e || delete a["aria-current"], /* @__PURE__ */ m(St, {
|
|
1786
1958
|
...a,
|
|
1787
1959
|
children: r
|
|
1788
1960
|
})) : /* @__PURE__ */ m("a", {
|
|
@@ -1792,9 +1964,9 @@ function vt({ active: e, asChild: t, className: n, children: r, ...i }) {
|
|
|
1792
1964
|
}
|
|
1793
1965
|
//#endregion
|
|
1794
1966
|
//#region packages/page-header/index.tsx
|
|
1795
|
-
function
|
|
1967
|
+
function Ot({ eyebrow: e, title: t, lead: n, children: r, className: i }) {
|
|
1796
1968
|
return /* @__PURE__ */ h("header", {
|
|
1797
|
-
className:
|
|
1969
|
+
className: A("zen__page-header flex flex-col gap-3", i),
|
|
1798
1970
|
children: [
|
|
1799
1971
|
e && /* @__PURE__ */ m("p", {
|
|
1800
1972
|
className: "text-muted-foreground mt-0! text-xs tracking-[0.1em] uppercase",
|
|
@@ -1814,7 +1986,7 @@ function yt({ eyebrow: e, title: t, lead: n, children: r, className: i }) {
|
|
|
1814
1986
|
}
|
|
1815
1987
|
//#endregion
|
|
1816
1988
|
//#region packages/progress-ring/index.tsx
|
|
1817
|
-
function
|
|
1989
|
+
function kt({ value: e, size: t = 84, stroke: n = 7, label: r, children: i, className: a }) {
|
|
1818
1990
|
let o = (t - n) / 2, s = 2 * Math.PI * o, c = Math.min(Math.max(e, 0), 1);
|
|
1819
1991
|
return /* @__PURE__ */ h("div", {
|
|
1820
1992
|
role: "progressbar",
|
|
@@ -1822,7 +1994,7 @@ function bt({ value: e, size: t = 84, stroke: n = 7, label: r, children: i, clas
|
|
|
1822
1994
|
"aria-valuemin": 0,
|
|
1823
1995
|
"aria-valuemax": 100,
|
|
1824
1996
|
"aria-valuenow": Math.round(c * 100),
|
|
1825
|
-
className:
|
|
1997
|
+
className: A("zen__progress-ring relative grid shrink-0 place-items-center", a),
|
|
1826
1998
|
style: {
|
|
1827
1999
|
width: t,
|
|
1828
2000
|
height: t
|
|
@@ -1859,7 +2031,7 @@ function bt({ value: e, size: t = 84, stroke: n = 7, label: r, children: i, clas
|
|
|
1859
2031
|
}
|
|
1860
2032
|
//#endregion
|
|
1861
2033
|
//#region packages/segmented/index.tsx
|
|
1862
|
-
function
|
|
2034
|
+
function At({ label: e, value: t, options: n, onChange: r, name: i, className: a }) {
|
|
1863
2035
|
let o = s(), l = u(null), [f, p] = d(null);
|
|
1864
2036
|
return c(() => {
|
|
1865
2037
|
let e = l.current;
|
|
@@ -1877,7 +2049,7 @@ function xt({ label: e, value: t, options: n, onChange: r, name: i, className: a
|
|
|
1877
2049
|
let n = typeof ResizeObserver > "u" ? null : new ResizeObserver(t);
|
|
1878
2050
|
return n?.observe(e), () => n?.disconnect();
|
|
1879
2051
|
}, [t, n]), /* @__PURE__ */ h("div", {
|
|
1880
|
-
className:
|
|
2052
|
+
className: A("zen__segmented flex flex-col gap-2", a),
|
|
1881
2053
|
children: [/* @__PURE__ */ m("span", {
|
|
1882
2054
|
id: o,
|
|
1883
2055
|
className: "text-sm font-medium",
|
|
@@ -1896,7 +2068,7 @@ function xt({ label: e, value: t, options: n, onChange: r, name: i, className: a
|
|
|
1896
2068
|
height: f.h
|
|
1897
2069
|
}
|
|
1898
2070
|
}), n.map((e) => /* @__PURE__ */ h("label", {
|
|
1899
|
-
className:
|
|
2071
|
+
className: A("text-muted-foreground relative cursor-pointer rounded-lg px-3 py-1.5 text-sm transition-colors duration-300", "hover:text-foreground has-checked:text-foreground has-focus-visible:ring-ring/50 has-focus-visible:ring-2", !f && "has-checked:bg-primary/15 has-checked:shadow-[inset_0_0_0_1px_oklch(var(--primary)/0.4)]"),
|
|
1900
2072
|
children: [/* @__PURE__ */ m("input", {
|
|
1901
2073
|
type: "radio",
|
|
1902
2074
|
className: "sr-only",
|
|
@@ -1911,11 +2083,11 @@ function xt({ label: e, value: t, options: n, onChange: r, name: i, className: a
|
|
|
1911
2083
|
}
|
|
1912
2084
|
//#endregion
|
|
1913
2085
|
//#region packages/select/index.tsx
|
|
1914
|
-
function
|
|
2086
|
+
function jt({ value: e, options: t, onChange: n, placeholder: r = "Select…", disabled: i = !1, renderOption: a, name: s, id: c, className: l, listClassName: f, "aria-label": g }) {
|
|
1915
2087
|
let _ = u(null), [v, y] = d(-1), b = u({
|
|
1916
2088
|
text: "",
|
|
1917
2089
|
at: 0
|
|
1918
|
-
}), x =
|
|
2090
|
+
}), x = P({
|
|
1919
2091
|
matchWidth: !0,
|
|
1920
2092
|
onOpenChange: (n) => {
|
|
1921
2093
|
n && y(Math.max(0, t.findIndex((t) => t.value === e)));
|
|
@@ -1968,11 +2140,11 @@ function St({ value: e, options: t, onChange: n, placeholder: r = "Select…", d
|
|
|
1968
2140
|
onKeyDown: (e) => {
|
|
1969
2141
|
["ArrowDown", "ArrowUp"].includes(e.key) && !x.open && (e.preventDefault(), x.setOpen(!0));
|
|
1970
2142
|
},
|
|
1971
|
-
className:
|
|
2143
|
+
className: A("zen__select group", U, "w-full", x.open && "border-glow/60 shadow-[0_0_0_3px_oklch(var(--glow)/0.16),0_0_24px_-6px_oklch(var(--glow)/0.6)]", l),
|
|
1972
2144
|
children: [/* @__PURE__ */ m("span", {
|
|
1973
|
-
className:
|
|
2145
|
+
className: A("truncate", !S && "text-muted-foreground"),
|
|
1974
2146
|
children: S ? S.label : r
|
|
1975
|
-
}), /* @__PURE__ */ m(
|
|
2147
|
+
}), /* @__PURE__ */ m(Z, { open: x.open })]
|
|
1976
2148
|
}),
|
|
1977
2149
|
s && /* @__PURE__ */ m("input", {
|
|
1978
2150
|
type: "hidden",
|
|
@@ -1981,7 +2153,7 @@ function St({ value: e, options: t, onChange: n, placeholder: r = "Select…", d
|
|
|
1981
2153
|
}),
|
|
1982
2154
|
/* @__PURE__ */ m("div", {
|
|
1983
2155
|
...x.popupProps,
|
|
1984
|
-
className:
|
|
2156
|
+
className: A("zen__popover", W, "overflow-visible py-1", f),
|
|
1985
2157
|
children: /* @__PURE__ */ m("div", {
|
|
1986
2158
|
ref: _,
|
|
1987
2159
|
role: "listbox",
|
|
@@ -1998,11 +2170,11 @@ function St({ value: e, options: t, onChange: n, placeholder: r = "Select…", d
|
|
|
1998
2170
|
"data-highlighted": n === v || void 0,
|
|
1999
2171
|
onMouseMove: () => !t.disabled && y(n),
|
|
2000
2172
|
onClick: () => w(n),
|
|
2001
|
-
className:
|
|
2173
|
+
className: A("grid cursor-pointer grid-cols-[1rem_1fr] items-center gap-2 px-3 py-2 text-sm outline-hidden select-none", "data-highlighted:bg-muted aria-disabled:cursor-not-allowed aria-disabled:opacity-50"),
|
|
2002
2174
|
children: [/* @__PURE__ */ m("span", {
|
|
2003
2175
|
className: "text-primary col-start-1",
|
|
2004
2176
|
"aria-hidden": !0,
|
|
2005
|
-
children: t.value === e && /* @__PURE__ */ m(
|
|
2177
|
+
children: t.value === e && /* @__PURE__ */ m(K, {})
|
|
2006
2178
|
}), /* @__PURE__ */ m("span", {
|
|
2007
2179
|
className: "col-start-2 truncate",
|
|
2008
2180
|
children: a ? a(t) : t.label
|
|
@@ -2014,29 +2186,29 @@ function St({ value: e, options: t, onChange: n, placeholder: r = "Select…", d
|
|
|
2014
2186
|
}
|
|
2015
2187
|
//#endregion
|
|
2016
2188
|
//#region packages/side-nav/index.tsx
|
|
2017
|
-
function
|
|
2189
|
+
function Mt({ className: e, ...t }) {
|
|
2018
2190
|
return /* @__PURE__ */ m("nav", {
|
|
2019
|
-
className:
|
|
2191
|
+
className: A("zen__side-nav flex flex-col gap-6", e),
|
|
2020
2192
|
...t
|
|
2021
2193
|
});
|
|
2022
2194
|
}
|
|
2023
|
-
function
|
|
2195
|
+
function Nt({ title: e, children: t, className: n }) {
|
|
2024
2196
|
return /* @__PURE__ */ h("div", {
|
|
2025
|
-
className:
|
|
2197
|
+
className: A("flex flex-col gap-1", n),
|
|
2026
2198
|
children: [e && /* @__PURE__ */ m("span", {
|
|
2027
2199
|
className: "text-muted-foreground px-3 pb-1 text-[0.68rem] tracking-[0.1em] uppercase",
|
|
2028
2200
|
children: e
|
|
2029
2201
|
}), t]
|
|
2030
2202
|
});
|
|
2031
2203
|
}
|
|
2032
|
-
var
|
|
2033
|
-
function
|
|
2204
|
+
var Pt = A("rounded-lg px-3 py-1.5 text-sm outline-hidden transition-[background-color,color,box-shadow] duration-200", "text-muted-foreground hover:bg-tint/[0.05] hover:text-foreground focus-visible:ring-ring/50 focus-visible:ring-2", "aria-[current=page]:bg-primary/15 aria-[current=page]:text-foreground aria-[current=page]:shadow-[inset_0_0_0_1px_oklch(var(--primary)/0.25)]");
|
|
2205
|
+
function Ft({ active: e, asChild: t, className: n, children: r, ...i }) {
|
|
2034
2206
|
let a = {
|
|
2035
2207
|
...i,
|
|
2036
2208
|
"aria-current": e ? "page" : void 0,
|
|
2037
|
-
className:
|
|
2209
|
+
className: A(Pt, n)
|
|
2038
2210
|
};
|
|
2039
|
-
return t ? (e || delete a["aria-current"], /* @__PURE__ */ m(
|
|
2211
|
+
return t ? (e || delete a["aria-current"], /* @__PURE__ */ m(St, {
|
|
2040
2212
|
...a,
|
|
2041
2213
|
children: r
|
|
2042
2214
|
})) : /* @__PURE__ */ m("a", {
|
|
@@ -2046,15 +2218,15 @@ function Et({ active: e, asChild: t, className: n, children: r, ...i }) {
|
|
|
2046
2218
|
}
|
|
2047
2219
|
//#endregion
|
|
2048
2220
|
//#region packages/skeleton/index.tsx
|
|
2049
|
-
function
|
|
2221
|
+
function It({ className: e }) {
|
|
2050
2222
|
return /* @__PURE__ */ m("span", {
|
|
2051
2223
|
"aria-hidden": !0,
|
|
2052
|
-
className:
|
|
2224
|
+
className: A("zen__skeleton block rounded-md", e)
|
|
2053
2225
|
});
|
|
2054
2226
|
}
|
|
2055
2227
|
//#endregion
|
|
2056
2228
|
//#region packages/slider/index.tsx
|
|
2057
|
-
function
|
|
2229
|
+
function Lt({ value: e, min: t = 0, max: n = 100, step: r = 1, onValueChange: i, onValueCommit: a, trackBackground: s, thumbColor: c, valueText: l, className: d, style: f, ...p }) {
|
|
2058
2230
|
let h = u(null), g = u(a);
|
|
2059
2231
|
g.current = a, o(() => {
|
|
2060
2232
|
let e = h.current;
|
|
@@ -2077,15 +2249,15 @@ function Ot({ value: e, min: t = 0, max: n = 100, step: r = 1, onValueChange: i,
|
|
|
2077
2249
|
"--zen-track": v,
|
|
2078
2250
|
"--zen-thumb": c ?? "oklch(var(--primary))"
|
|
2079
2251
|
},
|
|
2080
|
-
className:
|
|
2252
|
+
className: A("zen__slider h-5 w-full cursor-pointer appearance-none bg-transparent outline-hidden disabled:cursor-not-allowed disabled:opacity-50", "[&::-webkit-slider-runnable-track]:h-2.5 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:[background:var(--zen-track)]", "[&::-moz-range-track]:h-2.5 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:[background:var(--zen-track)]", "[&::-webkit-slider-thumb]:-mt-[5px] [&::-webkit-slider-thumb]:size-5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-white [&::-webkit-slider-thumb]:shadow-[0_0_0_1px_oklch(0_0_0/0.3),0_0_16px_oklch(var(--glow)/0.8)] [&::-webkit-slider-thumb]:[background:var(--zen-thumb)]", "[&::-moz-range-thumb]:size-5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-white [&::-moz-range-thumb]:shadow-[0_0_0_1px_oklch(0_0_0/0.3),0_0_16px_oklch(var(--glow)/0.8)] [&::-moz-range-thumb]:[background:var(--zen-thumb)]", "focus-visible:[&::-webkit-slider-thumb]:ring-ring/40 focus-visible:[&::-webkit-slider-thumb]:ring-4", d),
|
|
2081
2253
|
...p
|
|
2082
2254
|
});
|
|
2083
2255
|
}
|
|
2084
2256
|
//#endregion
|
|
2085
2257
|
//#region packages/tab-bar/index.tsx
|
|
2086
|
-
function
|
|
2258
|
+
function Rt({ hideFrom: t = "md", className: n, children: r, ...i }) {
|
|
2087
2259
|
return /* @__PURE__ */ m("nav", {
|
|
2088
|
-
className:
|
|
2260
|
+
className: A("zen__tab-bar glass glass-blur fixed inset-x-0 bottom-0 z-40 rounded-none! border-x-0! border-b-0! pb-[env(safe-area-inset-bottom)]", t === "sm" && "sm:hidden", t === "md" && "md:hidden", t === "lg" && "lg:hidden", n),
|
|
2089
2261
|
...i,
|
|
2090
2262
|
children: /* @__PURE__ */ m("div", {
|
|
2091
2263
|
className: "grid",
|
|
@@ -2094,14 +2266,14 @@ function kt({ hideFrom: t = "md", className: n, children: r, ...i }) {
|
|
|
2094
2266
|
})
|
|
2095
2267
|
});
|
|
2096
2268
|
}
|
|
2097
|
-
var
|
|
2098
|
-
function
|
|
2269
|
+
var zt = A("flex flex-col items-center gap-1 py-2.5 text-[0.7rem] outline-hidden transition-colors duration-200 focus-visible:bg-tint/5", "text-muted-foreground aria-[current=page]:text-primary [&_svg]:size-5 aria-[current=page]:[&_svg]:drop-shadow-[0_0_8px_oklch(var(--glow)/0.8)]");
|
|
2270
|
+
function Bt({ icon: e, active: t, asChild: n, className: r, children: i, ...a }) {
|
|
2099
2271
|
let o = {
|
|
2100
2272
|
...a,
|
|
2101
2273
|
"aria-current": t ? "page" : void 0,
|
|
2102
|
-
className:
|
|
2274
|
+
className: A(zt, r)
|
|
2103
2275
|
};
|
|
2104
|
-
return n ? (t || delete o["aria-current"], /* @__PURE__ */ m(
|
|
2276
|
+
return n ? (t || delete o["aria-current"], /* @__PURE__ */ m(St, {
|
|
2105
2277
|
...o,
|
|
2106
2278
|
children: i
|
|
2107
2279
|
})) : /* @__PURE__ */ h("a", {
|
|
@@ -2111,7 +2283,7 @@ function jt({ icon: e, active: t, asChild: n, className: r, children: i, ...a })
|
|
|
2111
2283
|
}
|
|
2112
2284
|
//#endregion
|
|
2113
2285
|
//#region packages/table/index.tsx
|
|
2114
|
-
function
|
|
2286
|
+
function Vt({ label: e, className: t, ref: n, onScroll: r, ...a }) {
|
|
2115
2287
|
let s = u(null), c = i(() => {
|
|
2116
2288
|
let e = s.current;
|
|
2117
2289
|
if (!e) return;
|
|
@@ -2125,7 +2297,7 @@ function Mt({ label: e, className: t, ref: n, onScroll: r, ...a }) {
|
|
|
2125
2297
|
let t = typeof ResizeObserver > "u" ? null : new ResizeObserver(c);
|
|
2126
2298
|
return t?.observe(e), e.firstElementChild && t?.observe(e.firstElementChild), () => t?.disconnect();
|
|
2127
2299
|
}, [c]), /* @__PURE__ */ m("div", {
|
|
2128
|
-
className:
|
|
2300
|
+
className: A("zen__table-panel glass glow-edge isolate flex flex-col overflow-hidden rounded-xl", t),
|
|
2129
2301
|
children: /* @__PURE__ */ m("div", {
|
|
2130
2302
|
ref: (e) => {
|
|
2131
2303
|
s.current = e, typeof n == "function" ? n(e) : n && (n.current = e);
|
|
@@ -2141,50 +2313,50 @@ function Mt({ label: e, className: t, ref: n, onScroll: r, ...a }) {
|
|
|
2141
2313
|
})
|
|
2142
2314
|
});
|
|
2143
2315
|
}
|
|
2144
|
-
function
|
|
2316
|
+
function Ht({ className: e, ...t }) {
|
|
2145
2317
|
return /* @__PURE__ */ m("table", {
|
|
2146
|
-
className:
|
|
2318
|
+
className: A("zen__table w-full border-separate border-spacing-0 text-sm", e),
|
|
2147
2319
|
...t
|
|
2148
2320
|
});
|
|
2149
2321
|
}
|
|
2150
|
-
function
|
|
2322
|
+
function Ut({ className: e, ...t }) {
|
|
2151
2323
|
return /* @__PURE__ */ m("thead", {
|
|
2152
|
-
className:
|
|
2324
|
+
className: A("zen__sticky-top sticky top-0 z-20", e),
|
|
2153
2325
|
...t
|
|
2154
2326
|
});
|
|
2155
2327
|
}
|
|
2156
|
-
function
|
|
2328
|
+
function Wt(e) {
|
|
2157
2329
|
return /* @__PURE__ */ m("tbody", { ...e });
|
|
2158
2330
|
}
|
|
2159
|
-
function
|
|
2331
|
+
function Gt({ className: e, ...t }) {
|
|
2160
2332
|
return /* @__PURE__ */ m("tfoot", {
|
|
2161
|
-
className:
|
|
2333
|
+
className: A("zen__sticky-bottom sticky bottom-0 z-20", e),
|
|
2162
2334
|
...t
|
|
2163
2335
|
});
|
|
2164
2336
|
}
|
|
2165
|
-
function
|
|
2337
|
+
function Kt({ className: e, ...t }) {
|
|
2166
2338
|
return /* @__PURE__ */ m("tr", {
|
|
2167
|
-
className:
|
|
2339
|
+
className: A("group", e),
|
|
2168
2340
|
...t
|
|
2169
2341
|
});
|
|
2170
2342
|
}
|
|
2171
|
-
function
|
|
2343
|
+
function qt({ numeric: e, sticky: t, sortDirection: n, onSort: r, scope: i = "col", className: a, children: o, ...s }) {
|
|
2172
2344
|
return /* @__PURE__ */ m("th", {
|
|
2173
2345
|
scope: i,
|
|
2174
2346
|
"aria-sort": n === "asc" ? "ascending" : n === "desc" ? "descending" : void 0,
|
|
2175
|
-
className:
|
|
2347
|
+
className: A("border-tint/[0.07] text-muted-foreground border-b px-3 py-2.5 align-middle text-xs leading-5 font-medium tracking-wider whitespace-nowrap uppercase", t === "left" && "zen__sticky-left sticky left-0 z-10", e ? "text-right" : "text-left", a),
|
|
2176
2348
|
...s,
|
|
2177
2349
|
children: r ? /* @__PURE__ */ h("button", {
|
|
2178
2350
|
type: "button",
|
|
2179
2351
|
onClick: r,
|
|
2180
|
-
className:
|
|
2352
|
+
className: A("hover:text-foreground inline-flex items-center gap-1 align-middle leading-5 tracking-wider uppercase", e && "flex-row-reverse"),
|
|
2181
2353
|
children: [o, /* @__PURE__ */ m("span", {
|
|
2182
2354
|
"aria-hidden": !0,
|
|
2183
2355
|
className: "inline-flex w-3",
|
|
2184
|
-
children: n === "asc" ? /* @__PURE__ */ m(
|
|
2356
|
+
children: n === "asc" ? /* @__PURE__ */ m(st, {
|
|
2185
2357
|
className: "size-3",
|
|
2186
2358
|
strokeWidth: 2.5
|
|
2187
|
-
}) : n === "desc" ? /* @__PURE__ */ m(
|
|
2359
|
+
}) : n === "desc" ? /* @__PURE__ */ m(it, {
|
|
2188
2360
|
className: "size-3",
|
|
2189
2361
|
strokeWidth: 2.5
|
|
2190
2362
|
}) : null
|
|
@@ -2192,19 +2364,19 @@ function Rt({ numeric: e, sticky: t, sortDirection: n, onSort: r, scope: i = "co
|
|
|
2192
2364
|
}) : o
|
|
2193
2365
|
});
|
|
2194
2366
|
}
|
|
2195
|
-
function
|
|
2367
|
+
function Jt({ numeric: e, sticky: t, className: n, ...r }) {
|
|
2196
2368
|
return /* @__PURE__ */ m("td", {
|
|
2197
|
-
className:
|
|
2369
|
+
className: A("border-tint/[0.045] border-b px-3 py-2.5 transition-colors duration-150", "group-hover:[background-image:linear-gradient(oklch(var(--tint)/0.035),oklch(var(--tint)/0.035))]", t === "left" && "zen__sticky-left sticky left-0 z-10 shadow-[inset_-1px_0_0_oklch(var(--tint)/0.06)]", e && "text-right tabular-nums", n),
|
|
2198
2370
|
...r
|
|
2199
2371
|
});
|
|
2200
2372
|
}
|
|
2201
|
-
function
|
|
2373
|
+
function Yt({ numeric: e, sticky: t, className: n, ...r }) {
|
|
2202
2374
|
return /* @__PURE__ */ m("td", {
|
|
2203
|
-
className:
|
|
2375
|
+
className: A("border-tint/[0.07] h-9 border-t px-3 font-medium whitespace-nowrap", t === "left" && "zen__sticky-left sticky left-0 z-10 shadow-[inset_-1px_0_0_oklch(var(--tint)/0.06)]", e && "text-right tabular-nums", n),
|
|
2204
2376
|
...r
|
|
2205
2377
|
});
|
|
2206
2378
|
}
|
|
2207
|
-
function
|
|
2379
|
+
function Xt({ height: e, colSpan: t }) {
|
|
2208
2380
|
return e <= 0 ? null : /* @__PURE__ */ m("tr", {
|
|
2209
2381
|
"aria-hidden": !0,
|
|
2210
2382
|
children: /* @__PURE__ */ m("td", {
|
|
@@ -2217,14 +2389,14 @@ function Vt({ height: e, colSpan: t }) {
|
|
|
2217
2389
|
})
|
|
2218
2390
|
});
|
|
2219
2391
|
}
|
|
2220
|
-
function
|
|
2392
|
+
function Zt({ colSpan: e, children: t = "Nothing here yet." }) {
|
|
2221
2393
|
return /* @__PURE__ */ m("tr", { children: /* @__PURE__ */ m("td", {
|
|
2222
2394
|
colSpan: e,
|
|
2223
2395
|
className: "text-muted-foreground px-3 py-8 text-center",
|
|
2224
2396
|
children: t
|
|
2225
2397
|
}) });
|
|
2226
2398
|
}
|
|
2227
|
-
function
|
|
2399
|
+
function Qt(e, t, n) {
|
|
2228
2400
|
let [r, i] = d(n ?? null);
|
|
2229
2401
|
return {
|
|
2230
2402
|
rows: l(() => {
|
|
@@ -2252,7 +2424,7 @@ function Ut(e, t, n) {
|
|
|
2252
2424
|
}
|
|
2253
2425
|
//#endregion
|
|
2254
2426
|
//#region packages/table-of-contents/index.tsx
|
|
2255
|
-
function
|
|
2427
|
+
function $t({ items: e, title: t = "On this page", className: n }) {
|
|
2256
2428
|
let [r, i] = d();
|
|
2257
2429
|
return o(() => {
|
|
2258
2430
|
if (typeof IntersectionObserver > "u") return;
|
|
@@ -2264,18 +2436,18 @@ function Wt({ items: e, title: t = "On this page", className: n }) {
|
|
|
2264
2436
|
return t.forEach((e) => r.observe(e)), () => r.disconnect();
|
|
2265
2437
|
}, [e]), e.length ? /* @__PURE__ */ h("nav", {
|
|
2266
2438
|
"aria-label": t,
|
|
2267
|
-
className:
|
|
2439
|
+
className: A("zen__toc flex flex-col gap-3", n),
|
|
2268
2440
|
children: [/* @__PURE__ */ m("p", {
|
|
2269
2441
|
className: "text-muted-foreground mt-0! text-[0.68rem] tracking-[0.1em] uppercase",
|
|
2270
2442
|
children: t
|
|
2271
2443
|
}), /* @__PURE__ */ m("ul", {
|
|
2272
2444
|
className: "border-tint/[0.07] flex flex-col gap-2 border-l text-sm",
|
|
2273
2445
|
children: e.map((e) => /* @__PURE__ */ m("li", {
|
|
2274
|
-
className:
|
|
2446
|
+
className: A("-ml-px", e.depth === 2 && "pl-3"),
|
|
2275
2447
|
children: /* @__PURE__ */ m("a", {
|
|
2276
2448
|
href: `#${e.id}`,
|
|
2277
2449
|
"aria-current": e.id === r ? "location" : void 0,
|
|
2278
|
-
className:
|
|
2450
|
+
className: A("text-muted-foreground hover:text-foreground block border-l border-transparent pl-3 transition-colors", "aria-[current=location]:border-primary aria-[current=location]:text-foreground"),
|
|
2279
2451
|
children: e.label
|
|
2280
2452
|
})
|
|
2281
2453
|
}, e.id))
|
|
@@ -2284,15 +2456,15 @@ function Wt({ items: e, title: t = "On this page", className: n }) {
|
|
|
2284
2456
|
}
|
|
2285
2457
|
//#endregion
|
|
2286
2458
|
//#region packages/tabs/index.tsx
|
|
2287
|
-
var
|
|
2288
|
-
function
|
|
2289
|
-
let t = a(
|
|
2459
|
+
var en = n(null);
|
|
2460
|
+
function tn(e) {
|
|
2461
|
+
let t = a(en);
|
|
2290
2462
|
if (!t) throw Error(`<${e}> must be inside <Tabs>`);
|
|
2291
2463
|
return t;
|
|
2292
2464
|
}
|
|
2293
|
-
function
|
|
2465
|
+
function nn({ value: e, defaultValue: t = "", onValueChange: n, className: r, ...i }) {
|
|
2294
2466
|
let [a, o] = d(t), c = e ?? a, l = s();
|
|
2295
|
-
return /* @__PURE__ */ m(
|
|
2467
|
+
return /* @__PURE__ */ m(en.Provider, {
|
|
2296
2468
|
value: {
|
|
2297
2469
|
value: c,
|
|
2298
2470
|
select: (t) => {
|
|
@@ -2301,14 +2473,14 @@ function qt({ value: e, defaultValue: t = "", onValueChange: n, className: r, ..
|
|
|
2301
2473
|
idFor: (e, t) => `${l}-${e}-${t.replace(/\s+/g, "-")}`
|
|
2302
2474
|
},
|
|
2303
2475
|
children: /* @__PURE__ */ m("div", {
|
|
2304
|
-
className:
|
|
2476
|
+
className: A("zen__tabs flex flex-col gap-4", r),
|
|
2305
2477
|
...i
|
|
2306
2478
|
})
|
|
2307
2479
|
});
|
|
2308
2480
|
}
|
|
2309
|
-
var
|
|
2310
|
-
function
|
|
2311
|
-
let { value: i } =
|
|
2481
|
+
var rn = n("underline");
|
|
2482
|
+
function an({ variant: e = "underline", className: t, children: n, ...r }) {
|
|
2483
|
+
let { value: i } = tn("TabList"), a = e === "pills", o = u(null), [s, l] = d({
|
|
2312
2484
|
left: 0,
|
|
2313
2485
|
width: 0
|
|
2314
2486
|
});
|
|
@@ -2345,9 +2517,9 @@ function Yt({ variant: e = "underline", className: t, children: n, ...r }) {
|
|
|
2345
2517
|
let i = t[(r + t.length) % t.length];
|
|
2346
2518
|
i.focus(), i.click();
|
|
2347
2519
|
},
|
|
2348
|
-
className:
|
|
2520
|
+
className: A(a ? je : "border-border relative flex gap-1 border-b", t),
|
|
2349
2521
|
...r,
|
|
2350
|
-
children: [/* @__PURE__ */ m(
|
|
2522
|
+
children: [/* @__PURE__ */ m(rn.Provider, {
|
|
2351
2523
|
value: e,
|
|
2352
2524
|
children: n
|
|
2353
2525
|
}), a ? s.width > 0 && /* @__PURE__ */ m("span", {
|
|
@@ -2367,8 +2539,8 @@ function Yt({ variant: e = "underline", className: t, children: n, ...r }) {
|
|
|
2367
2539
|
})]
|
|
2368
2540
|
});
|
|
2369
2541
|
}
|
|
2370
|
-
function
|
|
2371
|
-
let { value: i, select: o, idFor: s } =
|
|
2542
|
+
function on({ value: e, className: t, onClick: n, ...r }) {
|
|
2543
|
+
let { value: i, select: o, idFor: s } = tn("Tab"), c = a(rn), l = i === e;
|
|
2372
2544
|
return /* @__PURE__ */ m("button", {
|
|
2373
2545
|
type: "button",
|
|
2374
2546
|
role: "tab",
|
|
@@ -2380,24 +2552,24 @@ function Xt({ value: e, className: t, onClick: n, ...r }) {
|
|
|
2380
2552
|
onClick: (t) => {
|
|
2381
2553
|
o(e), n?.(t);
|
|
2382
2554
|
},
|
|
2383
|
-
className:
|
|
2555
|
+
className: A(c === "pills" ? Ne : "focus-visible:ring-ring px-3 py-2 text-sm whitespace-nowrap outline-hidden select-none focus-visible:ring-1", "text-muted-foreground hover:text-foreground data-active:text-foreground", t),
|
|
2384
2556
|
...r
|
|
2385
2557
|
});
|
|
2386
2558
|
}
|
|
2387
|
-
function
|
|
2388
|
-
let { value: r, idFor: i } =
|
|
2559
|
+
function sn({ value: e, className: t, ...n }) {
|
|
2560
|
+
let { value: r, idFor: i } = tn("TabPanel");
|
|
2389
2561
|
return r === e ? /* @__PURE__ */ m("div", {
|
|
2390
2562
|
role: "tabpanel",
|
|
2391
2563
|
id: i("panel", e),
|
|
2392
2564
|
"aria-labelledby": i("tab", e),
|
|
2393
2565
|
tabIndex: 0,
|
|
2394
|
-
className:
|
|
2566
|
+
className: A("outline-hidden", t),
|
|
2395
2567
|
...n
|
|
2396
2568
|
}) : null;
|
|
2397
2569
|
}
|
|
2398
2570
|
//#endregion
|
|
2399
2571
|
//#region packages/tree/index.tsx
|
|
2400
|
-
function
|
|
2572
|
+
function cn({ items: e, getKey: t, getChildren: n, defaultExpanded: r = !0, rowHeight: a = 36 }) {
|
|
2401
2573
|
let [o, s] = d(() => /* @__PURE__ */ new Set()), [c, f] = d(null), [p, m] = d(null), h = u(null), g = i((e) => o.has(e) !== r, [o, r]), _ = l(() => {
|
|
2402
2574
|
let r = [], i = (e, a, o) => {
|
|
2403
2575
|
for (let s of e) {
|
|
@@ -2457,7 +2629,7 @@ function Qt({ items: e, getKey: t, getChildren: n, defaultExpanded: r = !0, rowH
|
|
|
2457
2629
|
"aria-level": e.depth + 1,
|
|
2458
2630
|
"aria-expanded": e.hasChildren ? e.expanded : void 0,
|
|
2459
2631
|
"data-depth": e.depth,
|
|
2460
|
-
className:
|
|
2632
|
+
className: A(c && e.parentKey === c.key && "zen__tree-row-enter", p && e.parentKey === p && "zen__tree-row-exit"),
|
|
2461
2633
|
style: { "--row-h": `${a - 1}px` },
|
|
2462
2634
|
onAnimationEnd: (t) => {
|
|
2463
2635
|
t.animationName === "zen-row-close" && p && e.parentKey === p && h.current?.();
|
|
@@ -2470,43 +2642,43 @@ function Qt({ items: e, getKey: t, getChildren: n, defaultExpanded: r = !0, rowH
|
|
|
2470
2642
|
rowHeight: a
|
|
2471
2643
|
};
|
|
2472
2644
|
}
|
|
2473
|
-
function
|
|
2645
|
+
function ln({ row: e, tree: t, className: n, style: r, ...i }) {
|
|
2474
2646
|
let a = t.rowProps(e);
|
|
2475
|
-
return /* @__PURE__ */ m(
|
|
2647
|
+
return /* @__PURE__ */ m(Kt, {
|
|
2476
2648
|
...i,
|
|
2477
2649
|
...a,
|
|
2478
|
-
className:
|
|
2650
|
+
className: A(a.className, n),
|
|
2479
2651
|
style: {
|
|
2480
2652
|
...a.style,
|
|
2481
2653
|
...r
|
|
2482
2654
|
}
|
|
2483
2655
|
});
|
|
2484
2656
|
}
|
|
2485
|
-
function
|
|
2486
|
-
return /* @__PURE__ */ m(
|
|
2657
|
+
function un({ numeric: e, className: t, children: n, ...r }) {
|
|
2658
|
+
return /* @__PURE__ */ m(Jt, {
|
|
2487
2659
|
numeric: e,
|
|
2488
|
-
className:
|
|
2660
|
+
className: A("py-0 whitespace-nowrap", t),
|
|
2489
2661
|
...r,
|
|
2490
2662
|
children: /* @__PURE__ */ m("div", {
|
|
2491
|
-
className:
|
|
2663
|
+
className: A("zen__tree-cell flex h-[var(--row-h)] items-center", e && "justify-end"),
|
|
2492
2664
|
children: n
|
|
2493
2665
|
})
|
|
2494
2666
|
});
|
|
2495
2667
|
}
|
|
2496
|
-
function
|
|
2668
|
+
function dn({ row: e, tree: t, indent: n = 20, children: r, className: i }) {
|
|
2497
2669
|
return /* @__PURE__ */ h("div", {
|
|
2498
|
-
className:
|
|
2670
|
+
className: A("flex min-w-0 flex-1 items-center gap-1", i),
|
|
2499
2671
|
style: { paddingLeft: e.depth * n },
|
|
2500
|
-
children: [e.hasChildren ? /* @__PURE__ */ m(
|
|
2672
|
+
children: [e.hasChildren ? /* @__PURE__ */ m(fn, { ...t.toggleProps(e) }) : /* @__PURE__ */ m("span", { className: "-ml-1 w-6 shrink-0" }), r]
|
|
2501
2673
|
});
|
|
2502
2674
|
}
|
|
2503
|
-
function
|
|
2675
|
+
function fn({ expanded: e, onToggle: t, className: n, ...r }) {
|
|
2504
2676
|
return /* @__PURE__ */ m("button", {
|
|
2505
2677
|
type: "button",
|
|
2506
2678
|
onClick: t,
|
|
2507
2679
|
"aria-label": e ? "Collapse" : "Expand",
|
|
2508
2680
|
"aria-expanded": e,
|
|
2509
|
-
className:
|
|
2681
|
+
className: A("text-muted-foreground hover:bg-tint/[0.08] hover:text-foreground focus-visible:ring-ring/50 -ml-1 grid size-6 shrink-0 place-items-center rounded-md outline-hidden transition-colors focus-visible:ring-2", n),
|
|
2510
2682
|
...r,
|
|
2511
2683
|
children: /* @__PURE__ */ m("svg", {
|
|
2512
2684
|
viewBox: "0 0 16 16",
|
|
@@ -2516,180 +2688,49 @@ function nn({ expanded: e, onToggle: t, className: n, ...r }) {
|
|
|
2516
2688
|
strokeLinecap: "round",
|
|
2517
2689
|
strokeLinejoin: "round",
|
|
2518
2690
|
"aria-hidden": !0,
|
|
2519
|
-
className:
|
|
2691
|
+
className: A("size-4 transition-transform duration-200 ease-out", e && "rotate-90"),
|
|
2520
2692
|
children: /* @__PURE__ */ m("path", { d: "m6 3.5 4.5 4.5L6 12.5" })
|
|
2521
2693
|
})
|
|
2522
2694
|
});
|
|
2523
2695
|
}
|
|
2524
2696
|
//#endregion
|
|
2525
2697
|
//#region packages/textarea/index.tsx
|
|
2526
|
-
function
|
|
2698
|
+
function pn(e) {
|
|
2527
2699
|
let { className: t, ...n } = e;
|
|
2528
2700
|
return /* @__PURE__ */ m("textarea", {
|
|
2529
|
-
className:
|
|
2701
|
+
className: A(H.replace("h-10", ""), "h-32 w-full resize-y py-2", "read-only:text-foreground read-only:cursor-default read-only:border-none! read-only:bg-transparent read-only:shadow-none! read-only:outline-hidden!", t),
|
|
2530
2702
|
...n
|
|
2531
2703
|
});
|
|
2532
2704
|
}
|
|
2533
2705
|
//#endregion
|
|
2534
|
-
//#region packages/toast/index.tsx
|
|
2535
|
-
var an = 5e3, on = 300, sn = n(null);
|
|
2536
|
-
function cn({ children: e, offset: t, viewportClassName: n }) {
|
|
2537
|
-
M();
|
|
2538
|
-
let [r, a] = d([]), [s, c] = d(!1), l = u(0);
|
|
2539
|
-
o(() => c(!0), []);
|
|
2540
|
-
let f = i((e) => {
|
|
2541
|
-
a((t) => t.map((t) => t.id === e ? {
|
|
2542
|
-
...t,
|
|
2543
|
-
leaving: !0
|
|
2544
|
-
} : t)), setTimeout(() => a((t) => t.filter((t) => t.id !== e)), on);
|
|
2545
|
-
}, []), p = i((e, { description: t, tone: n = "info", action: r, timeout: i } = {}) => {
|
|
2546
|
-
let o = l.current++, s = {
|
|
2547
|
-
id: o,
|
|
2548
|
-
title: e,
|
|
2549
|
-
description: t,
|
|
2550
|
-
tone: n,
|
|
2551
|
-
action: r,
|
|
2552
|
-
timeout: i ?? (r ? 1e4 : an)
|
|
2553
|
-
};
|
|
2554
|
-
return a((e) => [...e, s]), o;
|
|
2555
|
-
}, []), _ = r.slice(-3);
|
|
2556
|
-
return /* @__PURE__ */ h(sn.Provider, {
|
|
2557
|
-
value: p,
|
|
2558
|
-
children: [e, s && g(/* @__PURE__ */ m("section", {
|
|
2559
|
-
"aria-label": "Notifications",
|
|
2560
|
-
className: k("zen__toast-viewport fixed right-4 bottom-[calc(var(--zen-toast-offset,1rem)+env(safe-area-inset-bottom))] z-50 flex w-[calc(100vw-2rem)] flex-col-reverse gap-2.5 md:bottom-5 md:w-[24rem]", n),
|
|
2561
|
-
style: t ? { "--zen-toast-offset": t } : void 0,
|
|
2562
|
-
children: _.map((e) => /* @__PURE__ */ m(dn, {
|
|
2563
|
-
toast: e,
|
|
2564
|
-
onDismiss: () => f(e.id)
|
|
2565
|
-
}, e.id))
|
|
2566
|
-
}), document.body)]
|
|
2567
|
-
});
|
|
2568
|
-
}
|
|
2569
|
-
function ln() {
|
|
2570
|
-
let e = a(sn);
|
|
2571
|
-
if (!e) throw Error("useToast() needs a <ToastProvider> above it");
|
|
2572
|
-
return e;
|
|
2573
|
-
}
|
|
2574
|
-
var un = {
|
|
2575
|
-
success: {
|
|
2576
|
-
icon: G,
|
|
2577
|
-
ring: "border-primary/30",
|
|
2578
|
-
badge: "bg-primary/15 text-primary",
|
|
2579
|
-
bar: "bg-primary",
|
|
2580
|
-
glow: "shadow-[0_18px_50px_-18px_oklch(var(--glow)/0.55)]"
|
|
2581
|
-
},
|
|
2582
|
-
error: {
|
|
2583
|
-
icon: K,
|
|
2584
|
-
ring: "border-destructive/40",
|
|
2585
|
-
badge: "bg-destructive/15 text-destructive",
|
|
2586
|
-
bar: "bg-destructive",
|
|
2587
|
-
glow: "shadow-[0_18px_50px_-18px_oklch(var(--destructive)/0.55)]"
|
|
2588
|
-
},
|
|
2589
|
-
info: {
|
|
2590
|
-
icon: q,
|
|
2591
|
-
ring: "border-tint/10",
|
|
2592
|
-
badge: "bg-tint/[0.08] text-foreground",
|
|
2593
|
-
bar: "bg-muted-foreground",
|
|
2594
|
-
glow: "shadow-[var(--toast-shadow)]"
|
|
2595
|
-
}
|
|
2596
|
-
};
|
|
2597
|
-
function dn({ toast: e, onDismiss: t }) {
|
|
2598
|
-
let n = un[e.tone] ?? un.info, r = n.icon, [i, a] = d(!1), s = u(e.timeout);
|
|
2599
|
-
return o(() => {
|
|
2600
|
-
if (!e.timeout || i || e.leaving) return;
|
|
2601
|
-
let n = Date.now(), r = setTimeout(t, s.current);
|
|
2602
|
-
return () => {
|
|
2603
|
-
clearTimeout(r), s.current -= Date.now() - n;
|
|
2604
|
-
};
|
|
2605
|
-
}, [
|
|
2606
|
-
i,
|
|
2607
|
-
e.timeout,
|
|
2608
|
-
e.leaving,
|
|
2609
|
-
t
|
|
2610
|
-
]), /* @__PURE__ */ h("div", {
|
|
2611
|
-
role: e.tone === "error" ? "alert" : "status",
|
|
2612
|
-
"aria-atomic": "true",
|
|
2613
|
-
onMouseEnter: () => a(!0),
|
|
2614
|
-
onMouseLeave: () => a(!1),
|
|
2615
|
-
className: k("zen__toast group glass glass-blur text-card-foreground relative flex items-start gap-3 overflow-hidden rounded-2xl border p-3.5 pr-10 select-none", "transition-[transform,opacity] duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)]", "starting:translate-y-3 starting:scale-[0.97] starting:opacity-0", e.leaving && "translate-x-6 opacity-0", n.ring, n.glow),
|
|
2616
|
-
children: [
|
|
2617
|
-
/* @__PURE__ */ m("span", {
|
|
2618
|
-
className: k("mt-0.5 grid size-8 shrink-0 place-items-center rounded-full", n.badge),
|
|
2619
|
-
"aria-hidden": !0,
|
|
2620
|
-
children: /* @__PURE__ */ m(r, { className: "size-4" })
|
|
2621
|
-
}),
|
|
2622
|
-
/* @__PURE__ */ h("div", {
|
|
2623
|
-
className: "flex min-w-0 flex-1 flex-col gap-0.5 pt-0.5",
|
|
2624
|
-
children: [
|
|
2625
|
-
/* @__PURE__ */ m("div", {
|
|
2626
|
-
className: "text-sm font-semibold",
|
|
2627
|
-
children: e.title
|
|
2628
|
-
}),
|
|
2629
|
-
e.description && /* @__PURE__ */ m("div", {
|
|
2630
|
-
className: "text-muted-foreground text-sm leading-5",
|
|
2631
|
-
children: e.description
|
|
2632
|
-
}),
|
|
2633
|
-
e.action && /* @__PURE__ */ m("button", {
|
|
2634
|
-
type: "button",
|
|
2635
|
-
onClick: () => {
|
|
2636
|
-
e.action?.onClick(), t();
|
|
2637
|
-
},
|
|
2638
|
-
className: "border-tint/10 bg-tint/[0.06] hover:bg-tint/[0.12] focus-visible:ring-ring/50 mt-2 self-start rounded-lg border px-3 py-1 text-xs font-medium outline-hidden transition-colors focus-visible:ring-2",
|
|
2639
|
-
children: e.action.label
|
|
2640
|
-
})
|
|
2641
|
-
]
|
|
2642
|
-
}),
|
|
2643
|
-
/* @__PURE__ */ m("button", {
|
|
2644
|
-
type: "button",
|
|
2645
|
-
"aria-label": "Dismiss",
|
|
2646
|
-
onClick: t,
|
|
2647
|
-
className: "text-muted-foreground hover:bg-tint/[0.07] hover:text-foreground focus-visible:ring-ring/50 absolute top-2.5 right-2.5 grid size-7 place-items-center rounded-lg outline-hidden transition-colors focus-visible:ring-2",
|
|
2648
|
-
children: /* @__PURE__ */ m("svg", {
|
|
2649
|
-
viewBox: "0 0 16 16",
|
|
2650
|
-
fill: "none",
|
|
2651
|
-
stroke: "currentColor",
|
|
2652
|
-
strokeWidth: "1.8",
|
|
2653
|
-
strokeLinecap: "round",
|
|
2654
|
-
className: "size-3.5",
|
|
2655
|
-
"aria-hidden": !0,
|
|
2656
|
-
children: /* @__PURE__ */ m("path", { d: "m4 4 8 8M12 4l-8 8" })
|
|
2657
|
-
})
|
|
2658
|
-
}),
|
|
2659
|
-
e.timeout > 0 && /* @__PURE__ */ m("span", {
|
|
2660
|
-
"aria-hidden": !0,
|
|
2661
|
-
className: k("zen__toast-timer absolute bottom-0 left-0 h-0.5 w-full origin-left opacity-60 group-hover:[animation-play-state:paused]", n.bar),
|
|
2662
|
-
style: { animationDuration: `${e.timeout}ms` }
|
|
2663
|
-
})
|
|
2664
|
-
]
|
|
2665
|
-
});
|
|
2666
|
-
}
|
|
2667
|
-
//#endregion
|
|
2668
2706
|
//#region packages/toggle/index.tsx
|
|
2669
|
-
function
|
|
2670
|
-
let { className: t, onChange: n,
|
|
2707
|
+
function mn(e) {
|
|
2708
|
+
let { className: t, onChange: n, onKeyDown: r, disabled: i, ...a } = e;
|
|
2671
2709
|
return /* @__PURE__ */ h("label", {
|
|
2672
|
-
className:
|
|
2710
|
+
className: A("zen__toggle border-tint/10 bg-tint/[0.06] relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border p-0.5", "has-focus-visible:ring-glow/50 transition-[background-color,box-shadow,border-color] duration-300 has-focus-visible:ring-2", "has-checked:border-glow/60 has-checked:bg-glow/40 has-checked:shadow-[0_0_18px_-2px_oklch(var(--glow)/0.8)]", "has-disabled:cursor-not-allowed has-disabled:opacity-50", t),
|
|
2673
2711
|
children: [/* @__PURE__ */ m("input", {
|
|
2674
2712
|
type: "checkbox",
|
|
2675
2713
|
role: "switch",
|
|
2676
2714
|
className: "peer sr-only",
|
|
2677
|
-
disabled:
|
|
2715
|
+
disabled: i,
|
|
2678
2716
|
onChange: (e) => n?.(e.target.checked),
|
|
2679
|
-
|
|
2717
|
+
onKeyDown: (e) => {
|
|
2718
|
+
r?.(e), e.key === "Enter" && !e.defaultPrevented && (e.preventDefault(), e.currentTarget.click());
|
|
2719
|
+
},
|
|
2720
|
+
...a
|
|
2680
2721
|
}), /* @__PURE__ */ m("span", {
|
|
2681
2722
|
"aria-hidden": !0,
|
|
2682
|
-
className:
|
|
2723
|
+
className: A("size-[1.125rem] rounded-full bg-white/70 shadow-md", "transition-[translate,background-color] duration-300 ease-[cubic-bezier(0.2,0.8,0.2,1)]", "peer-checked:translate-x-5 peer-checked:bg-white")
|
|
2683
2724
|
})]
|
|
2684
2725
|
});
|
|
2685
2726
|
}
|
|
2686
2727
|
//#endregion
|
|
2687
2728
|
//#region packages/theme-toggle/index.tsx
|
|
2688
|
-
var
|
|
2689
|
-
function
|
|
2690
|
-
return /* @__PURE__ */ m("script", { dangerouslySetInnerHTML: { __html:
|
|
2729
|
+
var hn = (e = "theme") => `try{var t=localStorage.getItem(${JSON.stringify(e)}),r=document.documentElement;if(t==='light'||t==='dark'){r.classList.remove('light','dark');r.classList.add(t)}}catch(e){}`;
|
|
2730
|
+
function gn({ storageKey: e = "theme" }) {
|
|
2731
|
+
return /* @__PURE__ */ m("script", { dangerouslySetInnerHTML: { __html: hn(e) } });
|
|
2691
2732
|
}
|
|
2692
|
-
function
|
|
2733
|
+
function _n({ storageKey: e = "theme", className: t }) {
|
|
2693
2734
|
let [n, r] = d("dark");
|
|
2694
2735
|
o(() => r(document.documentElement.classList.contains("light") ? "light" : "dark"), []);
|
|
2695
2736
|
let i = n === "dark" ? "light" : "dark";
|
|
@@ -2704,7 +2745,7 @@ function hn({ storageKey: e = "theme", className: t }) {
|
|
|
2704
2745
|
} catch {}
|
|
2705
2746
|
r(i);
|
|
2706
2747
|
},
|
|
2707
|
-
className:
|
|
2748
|
+
className: A("zen__theme-toggle text-muted-foreground hover:bg-tint/[0.06] hover:text-foreground focus-visible:ring-ring/50 grid size-9 place-items-center rounded-lg outline-hidden focus-visible:ring-2", t),
|
|
2708
2749
|
children: /* @__PURE__ */ m("svg", {
|
|
2709
2750
|
viewBox: "0 0 16 16",
|
|
2710
2751
|
fill: "none",
|
|
@@ -2723,12 +2764,12 @@ function hn({ storageKey: e = "theme", className: t }) {
|
|
|
2723
2764
|
}
|
|
2724
2765
|
//#endregion
|
|
2725
2766
|
//#region packages/utils/theme.ts
|
|
2726
|
-
var
|
|
2767
|
+
var vn = [
|
|
2727
2768
|
"mono",
|
|
2728
2769
|
"muted",
|
|
2729
2770
|
"balanced",
|
|
2730
2771
|
"vivid"
|
|
2731
|
-
],
|
|
2772
|
+
], yn = [
|
|
2732
2773
|
{
|
|
2733
2774
|
id: "violet",
|
|
2734
2775
|
label: "Violet",
|
|
@@ -2778,7 +2819,7 @@ var gn = [
|
|
|
2778
2819
|
intensity: "mono",
|
|
2779
2820
|
tint: "neutral"
|
|
2780
2821
|
}
|
|
2781
|
-
],
|
|
2822
|
+
], bn = {
|
|
2782
2823
|
preset: "violet",
|
|
2783
2824
|
hue: 295,
|
|
2784
2825
|
intensity: "balanced",
|
|
@@ -2787,8 +2828,8 @@ var gn = [
|
|
|
2787
2828
|
glow: "soft",
|
|
2788
2829
|
topography: "subtle"
|
|
2789
2830
|
};
|
|
2790
|
-
function
|
|
2791
|
-
let n =
|
|
2831
|
+
function xn(e, t) {
|
|
2832
|
+
let n = yn.find((e) => e.id === t);
|
|
2792
2833
|
return {
|
|
2793
2834
|
...e,
|
|
2794
2835
|
preset: n.id,
|
|
@@ -2797,21 +2838,21 @@ function vn(e, t) {
|
|
|
2797
2838
|
tint: n.tint
|
|
2798
2839
|
};
|
|
2799
2840
|
}
|
|
2800
|
-
function
|
|
2841
|
+
function Sn(e, t) {
|
|
2801
2842
|
return {
|
|
2802
2843
|
...e,
|
|
2803
2844
|
...t,
|
|
2804
2845
|
preset: "custom"
|
|
2805
2846
|
};
|
|
2806
2847
|
}
|
|
2807
|
-
var
|
|
2848
|
+
var Cn = {
|
|
2808
2849
|
mono: .012,
|
|
2809
2850
|
muted: .07,
|
|
2810
2851
|
balanced: .13,
|
|
2811
2852
|
vivid: .19
|
|
2812
|
-
}, $ = (e, t, n) => `${
|
|
2813
|
-
function
|
|
2814
|
-
let n = e.hue, r =
|
|
2853
|
+
}, $ = (e, t, n) => `${wn(e, 3)} ${wn(t, 3)} ${wn((n % 360 + 360) % 360, 1)}`, wn = (e, t) => Math.round(e * 10 ** t) / 10 ** t;
|
|
2854
|
+
function Tn(e, t = "dark") {
|
|
2855
|
+
let n = e.hue, r = Cn[e.intensity], i = e.contrast === "high", a = e.tint === "tinted" ? Math.min(.014, r * .12) : .003, o = e.intensity === "mono", s = (e, t = 1) => $(e, a * t, n), c = { "topo-strength": String({
|
|
2815
2856
|
off: 0,
|
|
2816
2857
|
subtle: .55,
|
|
2817
2858
|
visible: 1
|
|
@@ -2876,20 +2917,20 @@ function Sn(e, t = "dark") {
|
|
|
2876
2917
|
...c
|
|
2877
2918
|
};
|
|
2878
2919
|
}
|
|
2879
|
-
function
|
|
2920
|
+
function En(e, { appearance: t = "dark", target: n } = {}) {
|
|
2880
2921
|
let r = n ?? document.documentElement;
|
|
2881
|
-
for (let [n, i] of Object.entries(
|
|
2922
|
+
for (let [n, i] of Object.entries(Tn(e, t))) r.style.setProperty(`--${n}`, i);
|
|
2882
2923
|
}
|
|
2883
|
-
function
|
|
2924
|
+
function Dn(e) {
|
|
2884
2925
|
let t = e ?? document.documentElement;
|
|
2885
|
-
for (let e of Object.keys(
|
|
2926
|
+
for (let e of Object.keys(Tn(bn))) t.style.removeProperty(`--${e}`);
|
|
2886
2927
|
}
|
|
2887
|
-
function
|
|
2888
|
-
let t = typeof e == "object" && e ? e : {}, n = (e, t, n) => t.includes(e) ? e : n, r =
|
|
2928
|
+
function On(e) {
|
|
2929
|
+
let t = typeof e == "object" && e ? e : {}, n = (e, t, n) => t.includes(e) ? e : n, r = bn, i = yn.map((e) => e.id);
|
|
2889
2930
|
return {
|
|
2890
2931
|
preset: typeof t.preset == "string" && (t.preset === "custom" || i.includes(t.preset)) ? t.preset : r.preset,
|
|
2891
2932
|
hue: typeof t.hue == "number" && Number.isFinite(t.hue) ? (Math.round(t.hue) % 360 + 360) % 360 : r.hue,
|
|
2892
|
-
intensity: n(t.intensity,
|
|
2933
|
+
intensity: n(t.intensity, vn, r.intensity),
|
|
2893
2934
|
tint: n(t.tint, ["neutral", "tinted"], r.tint),
|
|
2894
2935
|
contrast: n(t.contrast, ["standard", "high"], r.contrast),
|
|
2895
2936
|
glow: n(t.glow, [
|
|
@@ -2904,7 +2945,7 @@ function Tn(e) {
|
|
|
2904
2945
|
], r.topography)
|
|
2905
2946
|
};
|
|
2906
2947
|
}
|
|
2907
|
-
function
|
|
2948
|
+
function kn(e) {
|
|
2908
2949
|
let [t, n, r] = e.split(" ").map(Number), i = n * Math.cos(r * Math.PI / 180), a = n * Math.sin(r * Math.PI / 180), o = (t + .3963377774 * i + .2158037573 * a) ** 3, s = (t - .1055613458 * i - .0638541728 * a) ** 3, c = (t - .0894841775 * i - 1.291485548 * a) ** 3, l = (e) => Math.min(1, Math.max(0, e));
|
|
2909
2950
|
return [
|
|
2910
2951
|
l(4.0767416621 * o - 3.3077115913 * s + .2309699292 * c),
|
|
@@ -2912,18 +2953,18 @@ function En(e) {
|
|
|
2912
2953
|
l(-.0041960863 * o - .7034186147 * s + 1.707614701 * c)
|
|
2913
2954
|
];
|
|
2914
2955
|
}
|
|
2915
|
-
function
|
|
2956
|
+
function An(e, t) {
|
|
2916
2957
|
let n = (e) => {
|
|
2917
|
-
let [t, n, r] =
|
|
2958
|
+
let [t, n, r] = kn(e);
|
|
2918
2959
|
return .2126 * t + .7152 * n + .0722 * r;
|
|
2919
2960
|
}, [r, i] = [n(e), n(t)].sort((e, t) => t - e);
|
|
2920
2961
|
return (r + .05) / (i + .05);
|
|
2921
2962
|
}
|
|
2922
2963
|
//#endregion
|
|
2923
2964
|
//#region packages/utils/useHydrated.ts
|
|
2924
|
-
var
|
|
2925
|
-
function
|
|
2926
|
-
return f(
|
|
2965
|
+
var jn = () => () => {};
|
|
2966
|
+
function Mn() {
|
|
2967
|
+
return f(jn, () => !0, () => !1);
|
|
2927
2968
|
}
|
|
2928
2969
|
//#endregion
|
|
2929
|
-
export {
|
|
2970
|
+
export { ue as ActionsMenu, q as AlertTriangle, ye as AnimatedMoney, ve as AnimatedNumber, be as Avatar, Se as Backdrop, B as Badge, V as Button, De as Card, K as Check, it as ChevronDown, at as ChevronLeft, ot as ChevronRight, st as ChevronUp, Ae as CodeBlock, Fe as Collapse, qe as ConfirmDialog, bn as DEFAULT_THEME, Ke as Dialog, tt as Dropdown, Je as EditableCell, Ye as Field, Z as FieldChevron, Xe as FormMessage, rt as Header, vn as INTENSITIES, R as ImageCropError, J as InfoCircle, ct as Input, $e as InputGroup, X as InputGroupAddon, Y as InputGroupInput, lt as Meter, bt as MoneyInput, I as MoneyParseError, yt as MonthPicker, Dt as NavPill, Tt as NavPillIndicator, wt as NavPills, yn as PRESETS, Ot as PageHeader, G as Popover, kt as ProgressRing, Ze as Search, At as Segmented, jt as Select, Mt as SideNav, Nt as SideNavGroup, Ft as SideNavLink, It as Skeleton, Lt as Slider, Te as Spinner, Oe as Stat, ke as StatRow, on as Tab, Rt as TabBar, Bt as TabBarItem, an as TabList, sn as TabPanel, Ht as Table, Wt as TableBody, Jt as TableCell, Vt as TableContainer, Zt as TableEmpty, Gt as TableFooter, Yt as TableFooterCell, qt as TableHead, Ut as TableHeader, $t as TableOfContents, Kt as TableRow, Xt as TableSpacerRow, nn as Tabs, pn as TextArea, gn as ThemeScript, _n as ThemeToggle, Be as ToastProvider, mn as Toggle, un as TreeCell, dn as TreeLabel, ln as TreeRow, fn as TreeToggle, Qe as XMark, pt as addMonths, M as applyGraphicsMode, xn as applyPreset, En as applyTheme, Ee as buttonVariants, An as contrastRatio, xe as cropImageToSquare, pe as currencySymbol, gt as currentMonth, Sn as customize, z as cva, A as cx, ce as detectGraphicsMode, fe as formatAmount, de as formatMoney, _t as formatMonth, ft as fromMonthIndex, dt as isMonth, F as minorDigits, Q as monthIndex, vt as monthNames, mt as monthRange, ht as monthsBetween, On as normalizeTheme, kn as oklchToLinearRgb, me as parseMoney, L as parseMoneyInput, Dn as resetTheme, hn as themeScript, Tn as themeVars, P as useAnchoredPopup, Mn as useHydrated, xt as useMoneyInput, Qt as useSort, Ue as useToast, Ve as useToastHost, cn as useTree, et as useVirtualList };
|