@exegia/corpora-ui 0.14.0 → 0.16.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-lib/components/blocks/shell/__tests__/shell-layout.test.d.ts +1 -0
- package/dist-lib/components/blocks/shell/index.d.ts +1 -0
- package/dist-lib/components/blocks/shell/shell-layout.d.ts +1 -1
- package/dist-lib/components/blocks/shell/type.d.ts +62 -16
- package/dist-lib/components/blocks/shell/use-shell-panels.d.ts +9 -0
- package/dist-lib/components/motion/animated-sidebar.d.ts +25 -25
- package/dist-lib/index.js +970 -889
- package/dist-lib/index.js.map +1 -1
- package/package.json +3 -2
- package/src/components/blocks/nav/sidebar-block.tsx +15 -7
- package/src/components/blocks/shell/__tests__/shell-layout.test.tsx +197 -0
- package/src/components/blocks/shell/index.ts +1 -0
- package/src/components/blocks/shell/shell-layout.tsx +33 -24
- package/src/components/blocks/shell/type.ts +82 -16
- package/src/components/blocks/shell/use-shell-panels.ts +78 -0
- package/src/components/motion/animated-sidebar.tsx +115 -92
- package/src/index.css +2 -1
package/dist-lib/index.js
CHANGED
|
@@ -5,68 +5,69 @@ import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
|
5
5
|
import { mergeProps as o } from "@base-ui/react/merge-props";
|
|
6
6
|
import { useRender as s } from "@base-ui/react/use-render";
|
|
7
7
|
import { cva as c } from "class-variance-authority";
|
|
8
|
-
import { ArrowLeftIcon as l, Bookmark as u, CheckIcon as d, ChevronRight as f, ChevronRightIcon as p, ChevronsUpDownIcon as m, EyeIcon as h, EyeOffIcon as g, FileText as _, FingerprintIcon as v, Folder as y, FolderOpen as b, KeyRoundIcon as x, Loader2Icon as S, LogOutIcon as C, MailIcon as w,
|
|
9
|
-
import * as
|
|
10
|
-
import { Children as
|
|
8
|
+
import { ArrowLeftIcon as l, Bookmark as u, CheckIcon as d, ChevronRight as f, ChevronRightIcon as p, ChevronsUpDownIcon as m, EyeIcon as h, EyeOffIcon as g, FileText as _, FingerprintIcon as v, Folder as y, FolderOpen as b, KeyRoundIcon as x, Loader2Icon as S, LogOutIcon as C, MailIcon as w, MoreHorizontal as T, PanelLeftIcon as E, Pencil as D, SettingsIcon as O, SmartphoneIcon as k, UserIcon as A, UserPlusIcon as ee, UsersIcon as j, XIcon as M } from "lucide-react";
|
|
9
|
+
import * as N from "react";
|
|
10
|
+
import { Children as te, cloneElement as ne, createContext as P, createElement as F, forwardRef as I, isValidElement as L, useCallback as R, useContext as z, useEffect as B, useId as re, useLayoutEffect as ie, useMemo as ae, useRef as V, useState as H, useSyncExternalStore as oe } from "react";
|
|
11
11
|
import { Checkbox as se } from "@base-ui/react/checkbox";
|
|
12
12
|
import { bind as ce, play as le, play as ue, setEnabled as de, setVolume as fe, sounds as pe } from "cuelume";
|
|
13
13
|
import { Field as me, Field as he } from "@base-ui/react/field";
|
|
14
14
|
import { Input as ge } from "@base-ui/react/input";
|
|
15
|
-
import { Menu as
|
|
15
|
+
import { Menu as U } from "@base-ui/react/menu";
|
|
16
16
|
import { OTPField as _e } from "@base-ui/react/otp-field";
|
|
17
17
|
import { Separator as ve } from "@base-ui/react/separator";
|
|
18
|
-
import { AnimatePresence as
|
|
18
|
+
import { AnimatePresence as W, MotionConfig as ye, motion as G, useReducedMotion as be } from "motion/react";
|
|
19
19
|
import { RiAppleFill as xe, RiGithubFill as Se, RiGoogleFill as Ce, RiTwitterXFill as we } from "@remixicon/react";
|
|
20
20
|
import { createPortal as Te } from "react-dom";
|
|
21
|
+
import { MotionIcon as Ee } from "motion-icons-react";
|
|
21
22
|
//#region src/lib/utils.ts
|
|
22
|
-
function
|
|
23
|
+
function K(...e) {
|
|
23
24
|
return n(t(e));
|
|
24
25
|
}
|
|
25
26
|
//#endregion
|
|
26
27
|
//#region src/components/ui/avatar.tsx
|
|
27
|
-
function
|
|
28
|
+
function De({ className: t, ...n }) {
|
|
28
29
|
return /* @__PURE__ */ i(e.Root, {
|
|
29
|
-
className:
|
|
30
|
+
className: K("inline-flex size-8 shrink-0 select-none items-center justify-center overflow-hidden rounded-full bg-background align-middle font-medium text-xs", t),
|
|
30
31
|
"data-slot": "avatar",
|
|
31
32
|
...n
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
+
function Oe({ className: t, ...n }) {
|
|
35
36
|
return /* @__PURE__ */ i(e.Image, {
|
|
36
|
-
className:
|
|
37
|
+
className: K("size-full object-cover", t),
|
|
37
38
|
"data-slot": "avatar-image",
|
|
38
39
|
...n
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
|
-
function
|
|
42
|
+
function ke({ className: t, ...n }) {
|
|
42
43
|
return /* @__PURE__ */ i(e.Fallback, {
|
|
43
|
-
className:
|
|
44
|
+
className: K("flex size-full items-center justify-center rounded-full bg-muted", t),
|
|
44
45
|
"data-slot": "avatar-fallback",
|
|
45
46
|
...n
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
//#endregion
|
|
49
50
|
//#region src/components/ui/spinner.tsx
|
|
50
|
-
function
|
|
51
|
+
function Ae({ className: e, ...t }) {
|
|
51
52
|
return /* @__PURE__ */ i(S, {
|
|
52
53
|
"aria-label": "Loading",
|
|
53
|
-
className:
|
|
54
|
+
className: K("animate-spin", e),
|
|
54
55
|
role: "status",
|
|
55
56
|
...t
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
//#endregion
|
|
59
60
|
//#region src/components/ui/glasscn/liquid-glass.tsx
|
|
60
|
-
var
|
|
61
|
-
function
|
|
61
|
+
var je = 480, Me = 1.25, Ne = /* @__PURE__ */ new Map();
|
|
62
|
+
function Pe() {
|
|
62
63
|
if (typeof navigator > "u") return !1;
|
|
63
64
|
let e = navigator.userAgent;
|
|
64
65
|
return (/Chrom(e|ium)/.test(e) || /Edg\//.test(e)) && !/Firefox/.test(e);
|
|
65
66
|
}
|
|
66
|
-
function
|
|
67
|
-
let i = `${e}:${t}:${n}:${r}`, a =
|
|
67
|
+
function Fe({ width: e, height: t, radius: n, bezel: r }) {
|
|
68
|
+
let i = `${e}:${t}:${n}:${r}`, a = Ne.get(i);
|
|
68
69
|
if (a !== void 0) return a;
|
|
69
|
-
let o = Math.min(1,
|
|
70
|
+
let o = Math.min(1, je / Math.max(e, t)), s = Math.max(2, Math.round(e * o)), c = Math.max(2, Math.round(t * o)), l = document.createElement("canvas");
|
|
70
71
|
l.width = s, l.height = c;
|
|
71
72
|
let u = l.getContext("2d");
|
|
72
73
|
if (!u) return "";
|
|
@@ -82,23 +83,23 @@ function Pe({ width: e, height: t, radius: n, bezel: r }) {
|
|
|
82
83
|
f[v] = 128, f[v + 1] = 128, f[v + 2] = 128, f[v + 3] = 255;
|
|
83
84
|
continue;
|
|
84
85
|
}
|
|
85
|
-
let b = 1 -
|
|
86
|
-
b *= Math.min(1, y /
|
|
86
|
+
let b = 1 - Ie(Math.min(1, y / g));
|
|
87
|
+
b *= Math.min(1, y / Me), f[v] = Math.round(128 + d * b * 127), f[v + 1] = Math.round(128 + _ * b * 127), f[v + 2] = 128, f[v + 3] = 255;
|
|
87
88
|
}
|
|
88
89
|
u.putImageData(d, 0, 0);
|
|
89
90
|
let _ = l.toDataURL("image/png");
|
|
90
|
-
return
|
|
91
|
+
return Ne.set(i, _), _;
|
|
91
92
|
}
|
|
92
|
-
function
|
|
93
|
+
function Ie(e) {
|
|
93
94
|
return (1 - (1 - e) ** 4) ** .25;
|
|
94
95
|
}
|
|
95
|
-
var
|
|
96
|
+
var Le = I(function({ blur: e = 2, refraction: t = 15, mapSize: n, bezel: o = .34, saturation: s = 1.28, className: c, style: l, children: u, ...d }, f) {
|
|
96
97
|
let p = re(), m = ae(() => `liquid-glass-${p.replace(/:/g, "")}`, [p]);
|
|
97
98
|
console.log(n);
|
|
98
|
-
let h =
|
|
99
|
+
let h = V(null), g = R((e) => {
|
|
99
100
|
h.current = e, typeof f == "function" ? f(e) : f && (f.current = e);
|
|
100
|
-
}, [f]), [_, v] =
|
|
101
|
-
|
|
101
|
+
}, [f]), [_, v] = H(null);
|
|
102
|
+
B(() => {
|
|
102
103
|
let e = h.current;
|
|
103
104
|
if (!e) return;
|
|
104
105
|
let t = () => {
|
|
@@ -116,14 +117,14 @@ var Ie = z(function({ blur: e = 2, refraction: t = 15, mapSize: n, bezel: o = .3
|
|
|
116
117
|
let n = new ResizeObserver(t);
|
|
117
118
|
return n.observe(e), () => n.disconnect();
|
|
118
119
|
}, [o]);
|
|
119
|
-
let y = ae(() => _ ?
|
|
120
|
-
|
|
121
|
-
x(
|
|
120
|
+
let y = ae(() => _ ? Fe(_) : "", [_]), [b, x] = H(!1);
|
|
121
|
+
B(() => {
|
|
122
|
+
x(Pe());
|
|
122
123
|
}, []);
|
|
123
124
|
let S = b && y !== "", C = S ? `url(#${m}) blur(${e}px) saturate(${s})` : `blur(${e + 2}px) saturate(${s})`;
|
|
124
125
|
return /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ a("div", {
|
|
125
126
|
ref: g,
|
|
126
|
-
className:
|
|
127
|
+
className: K("relative overflow-hidden rounded-full bg-white/[0.08]", c),
|
|
127
128
|
style: {
|
|
128
129
|
...l,
|
|
129
130
|
backdropFilter: C,
|
|
@@ -176,7 +177,7 @@ var Ie = z(function({ blur: e = 2, refraction: t = 15, mapSize: n, bezel: o = .3
|
|
|
176
177
|
]
|
|
177
178
|
})
|
|
178
179
|
})] });
|
|
179
|
-
}),
|
|
180
|
+
}), Re = {
|
|
180
181
|
clear: [
|
|
181
182
|
"backdrop-blur-[2px] backdrop-saturate-[1.9]",
|
|
182
183
|
"bg-white/[0.25] dark:bg-black/[0.25]",
|
|
@@ -210,7 +211,7 @@ var Ie = z(function({ blur: e = 2, refraction: t = 15, mapSize: n, bezel: o = .3
|
|
|
210
211
|
"[will-change:background-position]"
|
|
211
212
|
].join(" "),
|
|
212
213
|
"liquid-refract": ""
|
|
213
|
-
},
|
|
214
|
+
}, ze = c("relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base outline-none transition-[scale,box-shadow,width,height,background-color,border-color] [transition-duration:150ms,150ms,300ms,300ms,150ms,150ms] ease-smooth-out active:scale-97 data-pressed:scale-97 motion-reduce:transition-none motion-reduce:active:scale-100 motion-reduce:data-pressed:scale-100 [&_svg]:transition-transform [&_svg]:duration-150 [&_svg]:ease-smooth-out motion-reduce:[&_svg]:transition-none before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 data-loading:select-none sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-mx-0.5 [&_svg]:shrink-0", {
|
|
214
215
|
compoundVariants: [{
|
|
215
216
|
class: "h-auto border-0 px-0 align-middle sm:h-auto",
|
|
216
217
|
size: [
|
|
@@ -251,7 +252,7 @@ var Ie = z(function({ blur: e = 2, refraction: t = 15, mapSize: n, bezel: o = .3
|
|
|
251
252
|
}
|
|
252
253
|
}
|
|
253
254
|
});
|
|
254
|
-
function
|
|
255
|
+
function q({ className: e, variant: t, size: n, render: c, children: l, loading: u = !1, disabled: d, glassVariant: f, sound: p = !0, ...m }) {
|
|
255
256
|
let h = !!(u || d), g = c ? void 0 : "button", _ = t === "glass" ? f ?? "liquid-refract" : void 0, v = _ === "liquid-refract", y = (n ?? "default").startsWith("icon"), b = s({
|
|
256
257
|
defaultTagName: "button",
|
|
257
258
|
props: o({
|
|
@@ -259,19 +260,19 @@ function Y({ className: e, variant: t, size: n, render: c, children: l, loading:
|
|
|
259
260
|
!y && /* @__PURE__ */ i("span", {
|
|
260
261
|
"aria-hidden": !u || void 0,
|
|
261
262
|
"data-slot": "button-loading-indicator",
|
|
262
|
-
className:
|
|
263
|
-
children: /* @__PURE__ */ i(
|
|
263
|
+
className: K("pointer-events-none inline-flex shrink-0 items-center overflow-hidden transition-[max-width,margin-inline-start,opacity,filter] duration-300 ease-smooth-out motion-reduce:transition-none", u ? "max-w-6" : K("max-w-0 opacity-0 blur-[2px]", n === "xs" ? "-ms-1" : n === "sm" ? "-ms-1.5" : "-ms-2")),
|
|
264
|
+
children: /* @__PURE__ */ i(Ae, { className: u ? void 0 : "animate-none" })
|
|
264
265
|
}),
|
|
265
266
|
l,
|
|
266
|
-
u && y && /* @__PURE__ */ i(
|
|
267
|
+
u && y && /* @__PURE__ */ i(Ae, {
|
|
267
268
|
className: "pointer-events-none absolute",
|
|
268
269
|
"data-slot": "button-loading-indicator"
|
|
269
270
|
})
|
|
270
271
|
] }),
|
|
271
|
-
className:
|
|
272
|
+
className: K(ze({
|
|
272
273
|
size: n,
|
|
273
274
|
variant: t
|
|
274
|
-
}), !y && "hover:[&_svg:not([class*='animate-'])]:scale-110 motion-reduce:hover:[&_svg]:scale-100", u && y && "data-loading:text-transparent", _ &&
|
|
275
|
+
}), !y && "hover:[&_svg:not([class*='animate-'])]:scale-110 motion-reduce:hover:[&_svg]:scale-100", u && y && "data-loading:text-transparent", _ && Re[_], v && "bg-transparent border-0 shadow-none", e),
|
|
275
276
|
"aria-disabled": u || void 0,
|
|
276
277
|
"data-cuelume-press": p ? "" : void 0,
|
|
277
278
|
"data-cuelume-release": p ? "" : void 0,
|
|
@@ -283,135 +284,135 @@ function Y({ className: e, variant: t, size: n, render: c, children: l, loading:
|
|
|
283
284
|
}, m),
|
|
284
285
|
render: c
|
|
285
286
|
});
|
|
286
|
-
return v ? /* @__PURE__ */ i(
|
|
287
|
+
return v ? /* @__PURE__ */ i(Le, { children: b }) : b;
|
|
287
288
|
}
|
|
288
289
|
//#endregion
|
|
289
290
|
//#region src/components/ui/card.tsx
|
|
290
|
-
function
|
|
291
|
+
function Be({ className: e, render: t, ...n }) {
|
|
291
292
|
return s({
|
|
292
293
|
defaultTagName: "div",
|
|
293
294
|
props: o({
|
|
294
|
-
className:
|
|
295
|
+
className: K("relative flex flex-col rounded-2xl border bg-card not-dark:bg-clip-padding text-card-foreground shadow-xs/5 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", e),
|
|
295
296
|
"data-slot": "card"
|
|
296
297
|
}, n),
|
|
297
298
|
render: t
|
|
298
299
|
});
|
|
299
300
|
}
|
|
300
|
-
function
|
|
301
|
+
function Ve({ className: e, render: t, ...n }) {
|
|
301
302
|
return s({
|
|
302
303
|
defaultTagName: "div",
|
|
303
304
|
props: o({
|
|
304
|
-
className:
|
|
305
|
+
className: K("relative flex flex-col rounded-2xl border bg-card not-dark:bg-clip-padding text-card-foreground shadow-xs/5 [--clip-bottom:-1rem] [--clip-top:-1rem] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:bg-muted/72 before:shadow-[0_1px_--theme(--color-black/4%)] has-data-[slot=table-container]:overflow-hidden *:data-[slot=card]:-m-px *:data-[slot=table-container]:-m-px *:data-[slot=table-container]:w-[calc(100%+2px)] *:not-first:data-[slot=card]:rounded-t-xl *:not-last:data-[slot=card]:rounded-b-xl *:data-[slot=card]:bg-clip-padding *:data-[slot=card]:shadow-none *:data-[slot=card]:before:hidden *:not-first:data-[slot=card]:before:rounded-t-[calc(var(--radius-xl)-1px)] *:not-last:data-[slot=card]:before:rounded-b-[calc(var(--radius-xl)-1px)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)] *:data-[slot=card]:[clip-path:inset(var(--clip-top)_1px_var(--clip-bottom)_1px_round_calc(var(--radius-2xl)-1px))] *:data-[slot=card]:last:[--clip-bottom:1px] *:data-[slot=card]:first:[--clip-top:1px]", e),
|
|
305
306
|
"data-slot": "card-frame"
|
|
306
307
|
}, n),
|
|
307
308
|
render: t
|
|
308
309
|
});
|
|
309
310
|
}
|
|
310
|
-
function
|
|
311
|
+
function He({ className: e, render: t, ...n }) {
|
|
311
312
|
return s({
|
|
312
313
|
defaultTagName: "div",
|
|
313
314
|
props: o({
|
|
314
|
-
className:
|
|
315
|
+
className: K("relative flex grid auto-rows-min grid-rows-[auto_auto] flex-col items-start gap-x-4 px-6 py-4 has-data-[slot=card-frame-action]:grid-cols-[1fr_auto]", e),
|
|
315
316
|
"data-slot": "card-frame-header"
|
|
316
317
|
}, n),
|
|
317
318
|
render: t
|
|
318
319
|
});
|
|
319
320
|
}
|
|
320
|
-
function
|
|
321
|
+
function Ue({ className: e, render: t, ...n }) {
|
|
321
322
|
return s({
|
|
322
323
|
defaultTagName: "div",
|
|
323
324
|
props: o({
|
|
324
|
-
className:
|
|
325
|
+
className: K("self-center font-semibold text-sm", e),
|
|
325
326
|
"data-slot": "card-frame-title"
|
|
326
327
|
}, n),
|
|
327
328
|
render: t
|
|
328
329
|
});
|
|
329
330
|
}
|
|
330
|
-
function
|
|
331
|
+
function We({ className: e, render: t, ...n }) {
|
|
331
332
|
return s({
|
|
332
333
|
defaultTagName: "div",
|
|
333
334
|
props: o({
|
|
334
|
-
className:
|
|
335
|
+
className: K("self-center text-muted-foreground text-sm", e),
|
|
335
336
|
"data-slot": "card-frame-description"
|
|
336
337
|
}, n),
|
|
337
338
|
render: t
|
|
338
339
|
});
|
|
339
340
|
}
|
|
340
|
-
function
|
|
341
|
+
function Ge({ className: e, render: t, ...n }) {
|
|
341
342
|
return s({
|
|
342
343
|
defaultTagName: "div",
|
|
343
344
|
props: o({
|
|
344
|
-
className:
|
|
345
|
+
className: K("col-start-2 nth-3:row-span-2 nth-3:row-start-1 inline-flex self-center justify-self-end", e),
|
|
345
346
|
"data-slot": "card-frame-action"
|
|
346
347
|
}, n),
|
|
347
348
|
render: t
|
|
348
349
|
});
|
|
349
350
|
}
|
|
350
|
-
function
|
|
351
|
+
function Ke({ className: e, render: t, ...n }) {
|
|
351
352
|
return s({
|
|
352
353
|
defaultTagName: "div",
|
|
353
354
|
props: o({
|
|
354
|
-
className:
|
|
355
|
+
className: K("px-6 py-4", e),
|
|
355
356
|
"data-slot": "card-frame-footer"
|
|
356
357
|
}, n),
|
|
357
358
|
render: t
|
|
358
359
|
});
|
|
359
360
|
}
|
|
360
|
-
function
|
|
361
|
+
function qe({ className: e, render: t, ...n }) {
|
|
361
362
|
return s({
|
|
362
363
|
defaultTagName: "div",
|
|
363
364
|
props: o({
|
|
364
|
-
className:
|
|
365
|
+
className: K("grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 p-6 in-[[data-slot=card]:has(>[data-slot=card-panel])]:pb-4 has-data-[slot=card-action]:grid-cols-[1fr_auto]", e),
|
|
365
366
|
"data-slot": "card-header"
|
|
366
367
|
}, n),
|
|
367
368
|
render: t
|
|
368
369
|
});
|
|
369
370
|
}
|
|
370
|
-
function
|
|
371
|
+
function Je({ className: e, render: t, ...n }) {
|
|
371
372
|
return s({
|
|
372
373
|
defaultTagName: "div",
|
|
373
374
|
props: o({
|
|
374
|
-
className:
|
|
375
|
+
className: K("font-heading font-semibold text-lg leading-none", e),
|
|
375
376
|
"data-slot": "card-title"
|
|
376
377
|
}, n),
|
|
377
378
|
render: t
|
|
378
379
|
});
|
|
379
380
|
}
|
|
380
|
-
function
|
|
381
|
+
function Ye({ className: e, render: t, ...n }) {
|
|
381
382
|
return s({
|
|
382
383
|
defaultTagName: "div",
|
|
383
384
|
props: o({
|
|
384
|
-
className:
|
|
385
|
+
className: K("text-muted-foreground text-sm", e),
|
|
385
386
|
"data-slot": "card-description"
|
|
386
387
|
}, n),
|
|
387
388
|
render: t
|
|
388
389
|
});
|
|
389
390
|
}
|
|
390
|
-
function
|
|
391
|
+
function Xe({ className: e, render: t, ...n }) {
|
|
391
392
|
return s({
|
|
392
393
|
defaultTagName: "div",
|
|
393
394
|
props: o({
|
|
394
|
-
className:
|
|
395
|
+
className: K("col-start-2 row-span-2 row-start-1 inline-flex self-start justify-self-end", e),
|
|
395
396
|
"data-slot": "card-action"
|
|
396
397
|
}, n),
|
|
397
398
|
render: t
|
|
398
399
|
});
|
|
399
400
|
}
|
|
400
|
-
function
|
|
401
|
+
function Ze({ className: e, render: t, ...n }) {
|
|
401
402
|
return s({
|
|
402
403
|
defaultTagName: "div",
|
|
403
404
|
props: o({
|
|
404
|
-
className:
|
|
405
|
+
className: K("flex-1 p-6 in-[[data-slot=card]:has(>[data-slot=card-header]:not(.border-b))]:pt-0 in-[[data-slot=card]:has(>[data-slot=card-footer]:not(.border-t))]:pb-0", e),
|
|
405
406
|
"data-slot": "card-panel"
|
|
406
407
|
}, n),
|
|
407
408
|
render: t
|
|
408
409
|
});
|
|
409
410
|
}
|
|
410
|
-
function
|
|
411
|
+
function Qe({ className: e, render: t, ...n }) {
|
|
411
412
|
return s({
|
|
412
413
|
defaultTagName: "div",
|
|
413
414
|
props: o({
|
|
414
|
-
className:
|
|
415
|
+
className: K("flex items-center p-6 in-[[data-slot=card]:has(>[data-slot=card-panel])]:pt-4", e),
|
|
415
416
|
"data-slot": "card-footer"
|
|
416
417
|
}, n),
|
|
417
418
|
render: t
|
|
@@ -419,21 +420,21 @@ function Ze({ className: e, render: t, ...n }) {
|
|
|
419
420
|
}
|
|
420
421
|
//#endregion
|
|
421
422
|
//#region src/lib/sound.ts
|
|
422
|
-
var
|
|
423
|
-
function
|
|
424
|
-
|
|
423
|
+
var $e = !1;
|
|
424
|
+
function et(e) {
|
|
425
|
+
$e = !0, ce(e);
|
|
425
426
|
}
|
|
426
|
-
function
|
|
427
|
-
|
|
427
|
+
function tt(e, t) {
|
|
428
|
+
$e && le(e, t);
|
|
428
429
|
}
|
|
429
430
|
//#endregion
|
|
430
431
|
//#region src/components/ui/checkbox.tsx
|
|
431
|
-
function
|
|
432
|
+
function nt({ className: e, sound: t = !0, onCheckedChange: n, ...r }) {
|
|
432
433
|
return /* @__PURE__ */ i(se.Root, {
|
|
433
434
|
onCheckedChange: (e, r) => {
|
|
434
|
-
t &&
|
|
435
|
+
t && tt("toggle"), n?.(e, r);
|
|
435
436
|
},
|
|
436
|
-
className:
|
|
437
|
+
className: K("relative inline-flex size-4.5 shrink-0 cursor-pointer items-center justify-center rounded-[.25rem] border border-input bg-background not-dark:bg-clip-padding shadow-xs/5 outline-none ring-ring transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[3px] not-data-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background aria-invalid:border-destructive/36 focus-visible:aria-invalid:border-destructive/64 focus-visible:aria-invalid:ring-destructive/48 data-disabled:cursor-not-allowed data-disabled:opacity-64 sm:size-4 dark:not-data-checked:bg-input/32 dark:aria-invalid:ring-destructive/24 dark:not-data-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)] [[data-disabled],[data-checked],[aria-invalid]]:shadow-none", e),
|
|
437
438
|
"data-slot": "checkbox",
|
|
438
439
|
...r,
|
|
439
440
|
children: /* @__PURE__ */ i(se.Indicator, {
|
|
@@ -474,92 +475,92 @@ function tt({ className: e, sound: t = !0, onCheckedChange: n, ...r }) {
|
|
|
474
475
|
}
|
|
475
476
|
//#endregion
|
|
476
477
|
//#region src/components/ui/field.tsx
|
|
477
|
-
function
|
|
478
|
+
function J({ className: e, ...t }) {
|
|
478
479
|
return /* @__PURE__ */ i(he.Root, {
|
|
479
|
-
className:
|
|
480
|
+
className: K("flex flex-col items-start gap-2", e),
|
|
480
481
|
"data-slot": "field",
|
|
481
482
|
...t
|
|
482
483
|
});
|
|
483
484
|
}
|
|
484
|
-
function
|
|
485
|
+
function Y({ className: e, ...t }) {
|
|
485
486
|
return /* @__PURE__ */ i(he.Label, {
|
|
486
|
-
className:
|
|
487
|
+
className: K("inline-flex cursor-pointer items-center gap-2 font-medium text-base/4 text-foreground data-disabled:cursor-not-allowed data-disabled:opacity-64 sm:text-xs/3.5 ml-3", e),
|
|
487
488
|
"data-slot": "field-label",
|
|
488
489
|
...t
|
|
489
490
|
});
|
|
490
491
|
}
|
|
491
|
-
function
|
|
492
|
+
function rt({ className: e, ...t }) {
|
|
492
493
|
return /* @__PURE__ */ i(he.Item, {
|
|
493
|
-
className:
|
|
494
|
+
className: K("flex", e),
|
|
494
495
|
"data-slot": "field-item",
|
|
495
496
|
...t
|
|
496
497
|
});
|
|
497
498
|
}
|
|
498
|
-
function
|
|
499
|
+
function it({ className: e, ...t }) {
|
|
499
500
|
return /* @__PURE__ */ i(he.Description, {
|
|
500
|
-
className:
|
|
501
|
+
className: K("overflow-hidden text-muted-foreground text-xs transition-[height,opacity,filter,translate] duration-300 ease-smooth-out starting:h-0 starting:translate-y-1 starting:opacity-0 starting:blur-[2px] motion-reduce:transition-none", e),
|
|
501
502
|
"data-slot": "field-description",
|
|
502
503
|
...t
|
|
503
504
|
});
|
|
504
505
|
}
|
|
505
|
-
function
|
|
506
|
+
function at({ className: e, ...t }) {
|
|
506
507
|
return /* @__PURE__ */ i(he.Error, {
|
|
507
|
-
className:
|
|
508
|
+
className: K("overflow-hidden text-destructive-foreground text-xs transition-[height,opacity,filter,translate] duration-300 ease-smooth-out starting:h-0 starting:translate-y-1 starting:opacity-0 starting:blur-[2px] motion-reduce:transition-none", e),
|
|
508
509
|
"data-slot": "field-error",
|
|
509
510
|
...t
|
|
510
511
|
});
|
|
511
512
|
}
|
|
512
|
-
var
|
|
513
|
+
var ot = he.Control, st = he.Validity;
|
|
513
514
|
//#endregion
|
|
514
515
|
//#region src/components/ui/frame.tsx
|
|
515
|
-
function
|
|
516
|
+
function ct({ className: e, ...t }) {
|
|
516
517
|
return /* @__PURE__ */ i("div", {
|
|
517
|
-
className:
|
|
518
|
+
className: K("relative flex flex-col rounded-2xl bg-muted/72 p-1", "*:[[data-slot=frame-panel]+[data-slot=frame-panel]]:mt-1", e),
|
|
518
519
|
"data-slot": "frame",
|
|
519
520
|
...t
|
|
520
521
|
});
|
|
521
522
|
}
|
|
522
|
-
function
|
|
523
|
+
function lt({ className: e, ...t }) {
|
|
523
524
|
return /* @__PURE__ */ i("div", {
|
|
524
|
-
className:
|
|
525
|
+
className: K("relative rounded-xl border bg-background bg-clip-padding p-5 shadow-xs/5 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", e),
|
|
525
526
|
"data-slot": "frame-panel",
|
|
526
527
|
...t
|
|
527
528
|
});
|
|
528
529
|
}
|
|
529
|
-
function
|
|
530
|
+
function ut({ className: e, ...t }) {
|
|
530
531
|
return /* @__PURE__ */ i("header", {
|
|
531
|
-
className:
|
|
532
|
+
className: K("flex flex-col px-5 py-4", e),
|
|
532
533
|
"data-slot": "frame-panel-header",
|
|
533
534
|
...t
|
|
534
535
|
});
|
|
535
536
|
}
|
|
536
|
-
function
|
|
537
|
+
function dt({ className: e, ...t }) {
|
|
537
538
|
return /* @__PURE__ */ i("div", {
|
|
538
|
-
className:
|
|
539
|
+
className: K("font-semibold text-sm", e),
|
|
539
540
|
"data-slot": "frame-panel-title",
|
|
540
541
|
...t
|
|
541
542
|
});
|
|
542
543
|
}
|
|
543
|
-
function
|
|
544
|
+
function ft({ className: e, ...t }) {
|
|
544
545
|
return /* @__PURE__ */ i("div", {
|
|
545
|
-
className:
|
|
546
|
+
className: K("text-muted-foreground text-sm", e),
|
|
546
547
|
"data-slot": "frame-panel-description",
|
|
547
548
|
...t
|
|
548
549
|
});
|
|
549
550
|
}
|
|
550
|
-
function
|
|
551
|
+
function pt({ className: e, ...t }) {
|
|
551
552
|
return /* @__PURE__ */ i("footer", {
|
|
552
|
-
className:
|
|
553
|
+
className: K("px-5 py-4", e),
|
|
553
554
|
"data-slot": "frame-panel-footer",
|
|
554
555
|
...t
|
|
555
556
|
});
|
|
556
557
|
}
|
|
557
558
|
//#endregion
|
|
558
559
|
//#region src/components/ui/input.tsx
|
|
559
|
-
function
|
|
560
|
-
let s =
|
|
560
|
+
function mt({ className: e, size: t = "default", unstyled: n = !1, nativeInput: r = !1, style: a, ...o }) {
|
|
561
|
+
let s = K("h-8.5 w-full min-w-0 rounded-[inherit] px-[calc(--spacing(3)-1px)] leading-8.5 outline-none [transition:background-color_5000000s_ease-in-out_0s,height_300ms_var(--ease-smooth-out),line-height_300ms_var(--ease-smooth-out),padding_300ms_var(--ease-smooth-out),font-size_300ms_var(--ease-smooth-out)] placeholder:text-muted-foreground/72 motion-reduce:[transition:background-color_5000000s_ease-in-out_0s] sm:h-7.5 sm:leading-7.5", t === "sm" && "h-7.5 px-[calc(--spacing(2.5)-1px)] leading-7.5 sm:h-6.5 sm:leading-6.5", t === "lg" && "h-9.5 leading-9.5 sm:h-8.5 sm:leading-8.5", o.type === "search" && "[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none [&::-webkit-search-results-button]:appearance-none [&::-webkit-search-results-decoration]:appearance-none", o.type === "file" && "text-muted-foreground file:me-3 file:bg-transparent file:font-medium file:text-foreground file:text-sm");
|
|
561
562
|
return /* @__PURE__ */ i("span", {
|
|
562
|
-
className:
|
|
563
|
+
className: K(!n && "relative inline-flex w-full rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base text-foreground shadow-xs/5 ring-ring/24 transition-[box-shadow,border-color] duration-150 ease-smooth-out has-aria-invalid:animate-input-shake motion-reduce:animate-none motion-reduce:transition-none before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-has-disabled:not-has-focus-visible:not-has-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] has-focus-visible:has-aria-invalid:border-destructive/64 has-focus-visible:has-aria-invalid:ring-destructive/16 has-aria-invalid:border-destructive/36 has-focus-visible:border-ring has-autofill:bg-foreground/4 has-disabled:opacity-64 has-[:disabled,:focus-visible,[aria-invalid]]:shadow-none has-focus-visible:ring-[3px] sm:text-sm dark:bg-input/32 dark:has-autofill:bg-foreground/8 dark:has-aria-invalid:ring-destructive/24 dark:not-has-disabled:not-has-focus-visible:not-has-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)]", e) || void 0,
|
|
563
564
|
"data-size": t,
|
|
564
565
|
"data-slot": "input-control",
|
|
565
566
|
children: r ? /* @__PURE__ */ i("input", {
|
|
@@ -579,9 +580,9 @@ function pt({ className: e, size: t = "default", unstyled: n = !1, nativeInput:
|
|
|
579
580
|
}
|
|
580
581
|
//#endregion
|
|
581
582
|
//#region src/components/ui/textarea.tsx
|
|
582
|
-
function
|
|
583
|
+
function ht({ className: e, size: t = "default", unstyled: n = !1, ref: r, ...a }) {
|
|
583
584
|
return /* @__PURE__ */ i("span", {
|
|
584
|
-
className:
|
|
585
|
+
className: K(!n && "relative inline-flex w-full rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base text-foreground shadow-xs/5 ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] has-focus-visible:has-aria-invalid:border-destructive/64 has-focus-visible:has-aria-invalid:ring-destructive/16 has-aria-invalid:border-destructive/36 has-focus-visible:border-ring has-disabled:opacity-64 has-[:disabled,:focus-visible,[aria-invalid]]:shadow-none has-focus-visible:ring-[3px] not-has-disabled:has-not-focus-visible:not-has-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] sm:text-sm dark:bg-input/32 dark:has-aria-invalid:ring-destructive/24 dark:not-has-disabled:has-not-focus-visible:not-has-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)]", e) || void 0,
|
|
585
586
|
"data-size": t,
|
|
586
587
|
"data-slot": "textarea-control",
|
|
587
588
|
children: /* @__PURE__ */ i(me.Control, {
|
|
@@ -592,7 +593,7 @@ function mt({ className: e, size: t = "default", unstyled: n = !1, ref: r, ...a
|
|
|
592
593
|
id: a.id,
|
|
593
594
|
name: a.name,
|
|
594
595
|
render: (e) => /* @__PURE__ */ i("textarea", {
|
|
595
|
-
className:
|
|
596
|
+
className: K("field-sizing-content min-h-17.5 w-full rounded-[inherit] px-[calc(--spacing(3)-1px)] py-[calc(--spacing(1.5)-1px)] outline-none max-sm:min-h-20.5", t === "sm" && "min-h-16.5 px-[calc(--spacing(2.5)-1px)] py-[calc(--spacing(1)-1px)] max-sm:min-h-19.5", t === "lg" && "min-h-18.5 py-[calc(--spacing(2)-1px)] max-sm:min-h-21.5"),
|
|
596
597
|
"data-slot": "textarea",
|
|
597
598
|
...o(e, a)
|
|
598
599
|
})
|
|
@@ -601,7 +602,7 @@ function mt({ className: e, size: t = "default", unstyled: n = !1, ref: r, ...a
|
|
|
601
602
|
}
|
|
602
603
|
//#endregion
|
|
603
604
|
//#region src/components/ui/input-group.tsx
|
|
604
|
-
var
|
|
605
|
+
var gt = c("flex h-auto cursor-text select-none items-center justify-center gap-2 leading-none [&>kbd]:rounded-[calc(var(--radius)-5px)] in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4.5 sm:in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4 [&_svg]:-mx-0.5 not-has-[button]:**:[svg:not([class*='opacity-'])]:opacity-80", {
|
|
605
606
|
defaultVariants: { align: "inline-start" },
|
|
606
607
|
variants: { align: {
|
|
607
608
|
"block-end": "order-last w-full justify-start px-[calc(--spacing(3)-1px)] pb-[calc(--spacing(3)-1px)] [.border-t]:pt-[calc(--spacing(3)-1px)] [[data-size=sm]+&]:px-[calc(--spacing(2.5)-1px)]",
|
|
@@ -610,17 +611,17 @@ var ht = c("flex h-auto cursor-text select-none items-center justify-center gap-
|
|
|
610
611
|
"inline-start": "order-first ps-[calc(--spacing(3)-1px)] has-[>:last-child[data-slot=badge]]:-ms-1.5 has-[>button]:-ms-2 has-[>kbd:last-child]:ms-[-0.35rem] [[data-size=sm]+&]:ps-[calc(--spacing(2.5)-1px)]"
|
|
611
612
|
} }
|
|
612
613
|
});
|
|
613
|
-
function
|
|
614
|
+
function _t({ className: e, ...t }) {
|
|
614
615
|
return /* @__PURE__ */ i("div", {
|
|
615
|
-
className:
|
|
616
|
+
className: K("relative inline-flex w-full min-w-0 items-center rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base text-foreground shadow-xs/5 ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-has-[input:disabled,textarea:disabled]:not-has-[input:focus-visible,textarea:focus-visible]:not-has-[input[aria-invalid],textarea[aria-invalid]]:before:shadow-[0_1px_--theme(--color-black/4%)] has-[input:focus-visible,textarea:focus-visible]:has-[input[aria-invalid],textarea[aria-invalid]]:border-destructive/64 has-[input:focus-visible,textarea:focus-visible]:has-[input[aria-invalid],textarea[aria-invalid]]:ring-destructive/16 has-[textarea]:h-auto has-data-[align=block-end]:h-auto has-data-[align=block-start]:h-auto has-data-[align=block-end]:flex-col has-data-[align=block-start]:flex-col has-[input:focus-visible,textarea:focus-visible]:border-ring has-[input[aria-invalid],textarea[aria-invalid]]:border-destructive/36 has-autofill:bg-foreground/4 has-[input:disabled,textarea:disabled]:opacity-64 has-[input:disabled,textarea:disabled,input:focus-visible,textarea:focus-visible,input[aria-invalid],textarea[aria-invalid]]:shadow-none has-[input:focus-visible,textarea:focus-visible]:ring-[3px] sm:text-sm dark:bg-input/32 dark:has-autofill:bg-foreground/8 dark:has-[input[aria-invalid],textarea[aria-invalid]]:ring-destructive/24 dark:not-has-[input:disabled,textarea:disabled]:not-has-[input:focus-visible,textarea:focus-visible]:not-has-[input[aria-invalid],textarea[aria-invalid]]:before:shadow-[0_-1px_--theme(--color-white/6%)] has-data-[align=inline-start]:**:[[data-size=sm]_input]:ps-1.5 has-data-[align=inline-end]:**:[[data-size=sm]_input]:pe-1.5 *:[[data-slot=input-control],[data-slot=textarea-control]]:contents *:[[data-slot=input-control],[data-slot=textarea-control]]:before:hidden has-[[data-align=block-start],[data-align=block-end]]:**:[input]:h-auto has-data-[align=inline-start]:**:[input]:ps-2 has-data-[align=inline-end]:**:[input]:pe-2 has-data-[align=block-end]:**:[input]:pt-1.5 has-data-[align=block-start]:**:[input]:pb-1.5 **:[textarea]:min-h-20.5 **:[textarea]:resize-none **:[textarea]:py-[calc(--spacing(3)-1px)] **:[textarea]:max-sm:min-h-23.5 **:[textarea_button]:rounded-[calc(var(--radius-md)-1px)]", e),
|
|
616
617
|
"data-slot": "input-group",
|
|
617
618
|
role: "group",
|
|
618
619
|
...t
|
|
619
620
|
});
|
|
620
621
|
}
|
|
621
|
-
function
|
|
622
|
+
function vt({ className: e, align: t = "inline-start", ...n }) {
|
|
622
623
|
return /* @__PURE__ */ i("div", {
|
|
623
|
-
className:
|
|
624
|
+
className: K(gt({ align: t }), e),
|
|
624
625
|
"data-align": t,
|
|
625
626
|
"data-slot": "input-group-addon",
|
|
626
627
|
onMouseDown: (e) => {
|
|
@@ -632,21 +633,21 @@ function _t({ className: e, align: t = "inline-start", ...n }) {
|
|
|
632
633
|
...n
|
|
633
634
|
});
|
|
634
635
|
}
|
|
635
|
-
function
|
|
636
|
+
function yt({ className: e, ...t }) {
|
|
636
637
|
return /* @__PURE__ */ i("span", {
|
|
637
|
-
className:
|
|
638
|
+
className: K("line-clamp-1 flex items-center gap-2 whitespace-nowrap text-muted-foreground leading-none in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4.5 sm:in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-mx-0.5", e),
|
|
638
639
|
...t
|
|
639
640
|
});
|
|
640
641
|
}
|
|
641
|
-
function
|
|
642
|
-
return /* @__PURE__ */ i(
|
|
642
|
+
function bt({ className: e, ...t }) {
|
|
643
|
+
return /* @__PURE__ */ i(mt, {
|
|
643
644
|
className: e,
|
|
644
645
|
unstyled: !0,
|
|
645
646
|
...t
|
|
646
647
|
});
|
|
647
648
|
}
|
|
648
|
-
function
|
|
649
|
-
return /* @__PURE__ */ i(
|
|
649
|
+
function xt({ className: e, ...t }) {
|
|
650
|
+
return /* @__PURE__ */ i(ht, {
|
|
650
651
|
className: e,
|
|
651
652
|
unstyled: !0,
|
|
652
653
|
...t
|
|
@@ -654,11 +655,11 @@ function bt({ className: e, ...t }) {
|
|
|
654
655
|
}
|
|
655
656
|
//#endregion
|
|
656
657
|
//#region src/components/ui/label.tsx
|
|
657
|
-
function
|
|
658
|
+
function St({ className: e, render: t, sound: n = !1, ...r }) {
|
|
658
659
|
return s({
|
|
659
660
|
defaultTagName: "label",
|
|
660
661
|
props: o({
|
|
661
|
-
className:
|
|
662
|
+
className: K("inline-flex cursor-pointer items-center gap-2 font-medium text-base/4.5 text-foreground sm:text-sm/4", e),
|
|
662
663
|
"data-cuelume-hover": n ? "tick" : void 0,
|
|
663
664
|
"data-slot": "label"
|
|
664
665
|
}, r),
|
|
@@ -667,19 +668,19 @@ function xt({ className: e, render: t, sound: n = !1, ...r }) {
|
|
|
667
668
|
}
|
|
668
669
|
//#endregion
|
|
669
670
|
//#region src/components/ui/menu.tsx
|
|
670
|
-
var
|
|
671
|
-
function
|
|
672
|
-
return /* @__PURE__ */ i(
|
|
671
|
+
var Ct = U.createHandle, wt = U.Root, Tt = U.Portal;
|
|
672
|
+
function Et({ className: e, children: t, ...n }) {
|
|
673
|
+
return /* @__PURE__ */ i(U.Trigger, {
|
|
673
674
|
className: e,
|
|
674
675
|
"data-slot": "menu-trigger",
|
|
675
676
|
...n,
|
|
676
677
|
children: t
|
|
677
678
|
});
|
|
678
679
|
}
|
|
679
|
-
function
|
|
680
|
-
return /* @__PURE__ */ i(
|
|
680
|
+
function Dt({ children: e, className: t, sideOffset: n = 4, align: r = "center", alignOffset: a, side: o = "bottom", anchor: s, portalProps: c, ...l }) {
|
|
681
|
+
return /* @__PURE__ */ i(Tt, {
|
|
681
682
|
...c,
|
|
682
|
-
children: /* @__PURE__ */ i(
|
|
683
|
+
children: /* @__PURE__ */ i(U.Positioner, {
|
|
683
684
|
align: r,
|
|
684
685
|
alignOffset: a,
|
|
685
686
|
anchor: s,
|
|
@@ -687,8 +688,8 @@ function Et({ children: e, className: t, sideOffset: n = 4, align: r = "center",
|
|
|
687
688
|
"data-slot": "menu-positioner",
|
|
688
689
|
side: o,
|
|
689
690
|
sideOffset: n,
|
|
690
|
-
children: /* @__PURE__ */ i(
|
|
691
|
-
className:
|
|
691
|
+
children: /* @__PURE__ */ i(U.Popup, {
|
|
692
|
+
className: K("relative flex not-[class*='w-']:min-w-32 origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding shadow-lg/5 outline-none before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] focus:outline-none dark:before:shadow-[0_-1px_--theme(--color-white/6%)]", t),
|
|
692
693
|
"data-slot": "menu-popup",
|
|
693
694
|
...l,
|
|
694
695
|
children: /* @__PURE__ */ i("div", {
|
|
@@ -699,24 +700,24 @@ function Et({ children: e, className: t, sideOffset: n = 4, align: r = "center",
|
|
|
699
700
|
})
|
|
700
701
|
});
|
|
701
702
|
}
|
|
702
|
-
function
|
|
703
|
-
return /* @__PURE__ */ i(
|
|
703
|
+
function Ot(e) {
|
|
704
|
+
return /* @__PURE__ */ i(U.Group, {
|
|
704
705
|
"data-slot": "menu-group",
|
|
705
706
|
...e
|
|
706
707
|
});
|
|
707
708
|
}
|
|
708
|
-
function
|
|
709
|
-
return /* @__PURE__ */ i(
|
|
710
|
-
className:
|
|
709
|
+
function kt({ className: e, inset: t, variant: n = "default", ...r }) {
|
|
710
|
+
return /* @__PURE__ */ i(U.Item, {
|
|
711
|
+
className: K("flex min-h-8 cursor-default select-none items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-inset:ps-8 data-[variant=destructive]:text-destructive-foreground data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&>svg:not([class*='opacity-'])]:opacity-80 [&>svg:not([class*='size-'])]:size-4.5 sm:[&>svg:not([class*='size-'])]:size-4 [&>svg]:pointer-events-none [&>svg]:-mx-0.5 [&>svg]:shrink-0", e),
|
|
711
712
|
"data-inset": t,
|
|
712
713
|
"data-slot": "menu-item",
|
|
713
714
|
"data-variant": n,
|
|
714
715
|
...r
|
|
715
716
|
});
|
|
716
717
|
}
|
|
717
|
-
function
|
|
718
|
-
return /* @__PURE__ */ i(
|
|
719
|
-
className:
|
|
718
|
+
function At({ className: e, inset: t, variant: n = "default", closeOnClick: r = !0, ...a }) {
|
|
719
|
+
return /* @__PURE__ */ i(U.LinkItem, {
|
|
720
|
+
className: K("flex min-h-8 cursor-default select-none items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-inset:ps-8 data-[variant=destructive]:text-destructive-foreground data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&>svg:not([class*='opacity-'])]:opacity-80 [&>svg:not([class*='size-'])]:size-4.5 sm:[&>svg:not([class*='size-'])]:size-4 [&>svg]:pointer-events-none [&>svg]:-mx-0.5 [&>svg]:shrink-0", e),
|
|
720
721
|
closeOnClick: r,
|
|
721
722
|
"data-inset": t,
|
|
722
723
|
"data-slot": "menu-link-item",
|
|
@@ -724,20 +725,20 @@ function kt({ className: e, inset: t, variant: n = "default", closeOnClick: r =
|
|
|
724
725
|
...a
|
|
725
726
|
});
|
|
726
727
|
}
|
|
727
|
-
function
|
|
728
|
-
return /* @__PURE__ */ i(
|
|
728
|
+
function jt({ className: e, children: t, checked: n, variant: o = "default", ...s }) {
|
|
729
|
+
return /* @__PURE__ */ i(U.CheckboxItem, {
|
|
729
730
|
checked: n,
|
|
730
|
-
className:
|
|
731
|
+
className: K("grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center gap-2 rounded-sm py-1 ps-2 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", o === "switch" ? "grid-cols-[1fr_auto] gap-4 pe-1.5" : "grid-cols-[.75rem_1fr] pe-4", e),
|
|
731
732
|
"data-slot": "menu-checkbox-item",
|
|
732
733
|
...s,
|
|
733
734
|
children: o === "switch" ? /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i("span", {
|
|
734
735
|
className: "col-start-1",
|
|
735
736
|
children: t
|
|
736
|
-
}), /* @__PURE__ */ i(
|
|
737
|
+
}), /* @__PURE__ */ i(U.CheckboxItemIndicator, {
|
|
737
738
|
className: "inset-shadow-[0_1px_--theme(--color-black/4%)] inline-flex h-[calc(var(--thumb-size)+2px)] w-[calc(var(--thumb-size)*2-2px)] shrink-0 items-center rounded-full p-px outline-none transition-[background-color,box-shadow] duration-200 [--thumb-size:--spacing(4)] focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background data-checked:bg-primary data-unchecked:bg-input data-disabled:opacity-64 sm:[--thumb-size:--spacing(3)]",
|
|
738
739
|
keepMounted: !0,
|
|
739
740
|
children: /* @__PURE__ */ i("span", { className: "pointer-events-none block aspect-square h-full in-[[data-slot=menu-checkbox-item][data-checked]]:origin-[var(--thumb-size)_50%] origin-left in-[[data-slot=menu-checkbox-item][data-checked]]:translate-x-[calc(var(--thumb-size)-4px)] in-[[data-slot=menu-checkbox-item]:active]:not-data-disabled:scale-x-110 in-[[data-slot=menu-checkbox-item]:active]:rounded-[var(--thumb-size)/calc(var(--thumb-size)*1.10)] rounded-(--thumb-size) bg-background shadow-sm/5 will-change-transform [transition:translate_.15s,border-radius_.15s,scale_.1s_.1s,transform-origin_.15s]" })
|
|
740
|
-
})] }) : /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(
|
|
741
|
+
})] }) : /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(U.CheckboxItemIndicator, {
|
|
741
742
|
className: "col-start-1 -ms-0.5",
|
|
742
743
|
children: /* @__PURE__ */ i("svg", {
|
|
743
744
|
"aria-hidden": "true",
|
|
@@ -758,18 +759,18 @@ function At({ className: e, children: t, checked: n, variant: o = "default", ...
|
|
|
758
759
|
})] })
|
|
759
760
|
});
|
|
760
761
|
}
|
|
761
|
-
function
|
|
762
|
-
return /* @__PURE__ */ i(
|
|
762
|
+
function Mt(e) {
|
|
763
|
+
return /* @__PURE__ */ i(U.RadioGroup, {
|
|
763
764
|
"data-slot": "menu-radio-group",
|
|
764
765
|
...e
|
|
765
766
|
});
|
|
766
767
|
}
|
|
767
|
-
function
|
|
768
|
-
return /* @__PURE__ */ a(
|
|
769
|
-
className:
|
|
768
|
+
function Nt({ className: e, children: t, ...n }) {
|
|
769
|
+
return /* @__PURE__ */ a(U.RadioItem, {
|
|
770
|
+
className: K("grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default grid-cols-[.75rem_1fr] items-center gap-2 rounded-sm py-1 ps-2 pe-4 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", e),
|
|
770
771
|
"data-slot": "menu-radio-item",
|
|
771
772
|
...n,
|
|
772
|
-
children: [/* @__PURE__ */ i(
|
|
773
|
+
children: [/* @__PURE__ */ i(U.RadioItemIndicator, {
|
|
773
774
|
className: "col-start-1 -ms-0.5",
|
|
774
775
|
children: /* @__PURE__ */ i("svg", {
|
|
775
776
|
"aria-hidden": "true",
|
|
@@ -790,45 +791,45 @@ function Mt({ className: e, children: t, ...n }) {
|
|
|
790
791
|
})]
|
|
791
792
|
});
|
|
792
793
|
}
|
|
793
|
-
function
|
|
794
|
-
return /* @__PURE__ */ i(
|
|
795
|
-
className:
|
|
794
|
+
function Pt({ className: e, inset: t, ...n }) {
|
|
795
|
+
return /* @__PURE__ */ i(U.GroupLabel, {
|
|
796
|
+
className: K("px-2 py-1.5 font-medium text-muted-foreground text-xs data-inset:ps-9 sm:data-inset:ps-8", e),
|
|
796
797
|
"data-inset": t,
|
|
797
798
|
"data-slot": "menu-label",
|
|
798
799
|
...n
|
|
799
800
|
});
|
|
800
801
|
}
|
|
801
|
-
function
|
|
802
|
-
return /* @__PURE__ */ i(
|
|
803
|
-
className:
|
|
802
|
+
function Ft({ className: e, ...t }) {
|
|
803
|
+
return /* @__PURE__ */ i(U.Separator, {
|
|
804
|
+
className: K("mx-2 my-1 h-px bg-border", e),
|
|
804
805
|
"data-slot": "menu-separator",
|
|
805
806
|
...t
|
|
806
807
|
});
|
|
807
808
|
}
|
|
808
|
-
function
|
|
809
|
+
function It({ className: e, ...t }) {
|
|
809
810
|
return /* @__PURE__ */ i("kbd", {
|
|
810
|
-
className:
|
|
811
|
+
className: K("ms-auto font-medium font-sans text-muted-foreground/72 text-xs tracking-widest", e),
|
|
811
812
|
"data-slot": "menu-shortcut",
|
|
812
813
|
...t
|
|
813
814
|
});
|
|
814
815
|
}
|
|
815
|
-
function
|
|
816
|
-
return /* @__PURE__ */ i(
|
|
816
|
+
function Lt(e) {
|
|
817
|
+
return /* @__PURE__ */ i(U.SubmenuRoot, {
|
|
817
818
|
"data-slot": "menu-sub",
|
|
818
819
|
...e
|
|
819
820
|
});
|
|
820
821
|
}
|
|
821
|
-
function
|
|
822
|
-
return /* @__PURE__ */ a(
|
|
823
|
-
className:
|
|
822
|
+
function Rt({ className: e, inset: t, children: n, ...r }) {
|
|
823
|
+
return /* @__PURE__ */ a(U.SubmenuTrigger, {
|
|
824
|
+
className: K("flex min-h-8 items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-popup-open:bg-accent data-inset:ps-8 data-highlighted:text-accent-foreground data-popup-open:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&>svg:not(:last-child)]:-mx-0.5 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none", e),
|
|
824
825
|
"data-inset": t,
|
|
825
826
|
"data-slot": "menu-sub-trigger",
|
|
826
827
|
...r,
|
|
827
828
|
children: [n, /* @__PURE__ */ i(p, { className: "ms-auto -me-0.5 opacity-80" })]
|
|
828
829
|
});
|
|
829
830
|
}
|
|
830
|
-
function
|
|
831
|
-
return /* @__PURE__ */ i(
|
|
831
|
+
function zt({ className: e, sideOffset: t = 0, alignOffset: n, align: r = "start", ...a }) {
|
|
832
|
+
return /* @__PURE__ */ i(Dt, {
|
|
832
833
|
align: r,
|
|
833
834
|
alignOffset: n ?? (r === "center" ? void 0 : -5),
|
|
834
835
|
className: e,
|
|
@@ -840,9 +841,9 @@ function Rt({ className: e, sideOffset: t = 0, alignOffset: n, align: r = "start
|
|
|
840
841
|
}
|
|
841
842
|
//#endregion
|
|
842
843
|
//#region src/components/ui/separator.tsx
|
|
843
|
-
function
|
|
844
|
+
function Bt({ className: e, orientation: t = "horizontal", ...n }) {
|
|
844
845
|
return /* @__PURE__ */ i(ve, {
|
|
845
|
-
className:
|
|
846
|
+
className: K("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch", e),
|
|
846
847
|
"data-slot": "separator",
|
|
847
848
|
orientation: t,
|
|
848
849
|
...n
|
|
@@ -850,50 +851,50 @@ function zt({ className: e, orientation: t = "horizontal", ...n }) {
|
|
|
850
851
|
}
|
|
851
852
|
//#endregion
|
|
852
853
|
//#region src/components/ui/otp-field.tsx
|
|
853
|
-
function
|
|
854
|
-
let o =
|
|
854
|
+
function Vt({ className: e, size: t = "default", sound: n = !0, onValueChange: r, ...a }) {
|
|
855
|
+
let o = N.useRef(String(a.value ?? a.defaultValue ?? "").length);
|
|
855
856
|
return /* @__PURE__ */ i(_e.Root, {
|
|
856
|
-
className:
|
|
857
|
+
className: K("flex items-center gap-2 has-disabled:opacity-64 has-disabled:**:data-[slot=otp-field-input]:shadow-none has-disabled:**:data-[slot=otp-field-input]:before:shadow-none!", e),
|
|
857
858
|
"data-size": t,
|
|
858
859
|
"data-slot": "otp-field",
|
|
859
860
|
onValueChange: (e, ...t) => {
|
|
860
|
-
n && e.length > o.current &&
|
|
861
|
+
n && e.length > o.current && tt("tick"), o.current = e.length, r?.(e, ...t);
|
|
861
862
|
},
|
|
862
863
|
...a
|
|
863
864
|
});
|
|
864
865
|
}
|
|
865
|
-
function
|
|
866
|
+
function Ht({ className: e, ...t }) {
|
|
866
867
|
return /* @__PURE__ */ i(_e.Input, {
|
|
867
|
-
className:
|
|
868
|
+
className: K("relative in-[[data-slot=otp-field][data-size=lg]]:size-10 size-9 min-w-0 rounded-lg border border-input bg-background not-dark:bg-clip-padding text-center in-[[data-slot=otp-field][data-size=lg]]:text-lg text-base text-foreground in-[[data-slot=otp-field][data-size=lg]]:leading-10 leading-9 shadow-xs/5 outline-none ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-focus-visible:not-aria-invalid:before:shadow-[0_1px_--theme(--color-black/4%)] focus-visible:z-10 focus-visible:border-ring focus-visible:shadow-none focus-visible:ring-[3px] focus-visible:ring-ring/24 aria-invalid:border-destructive/36 aria-invalid:shadow-none aria-invalid:focus-visible:border-destructive/64 aria-invalid:focus-visible:ring-destructive/16 sm:in-[[data-slot=otp-field][data-size=lg]]:size-9 sm:size-8 sm:in-[[data-slot=otp-field][data-size=lg]]:text-base sm:text-sm sm:in-[[data-slot=otp-field][data-size=lg]]:leading-9 sm:leading-8 dark:bg-input/32 dark:aria-invalid:focus-visible:ring-destructive/24 dark:not-focus-visible:not-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)]", e),
|
|
868
869
|
"data-slot": "otp-field-input",
|
|
869
870
|
spellCheck: !1,
|
|
870
871
|
...t
|
|
871
872
|
});
|
|
872
873
|
}
|
|
873
|
-
function
|
|
874
|
-
return /* @__PURE__ */ i(_e.Separator, { render: /* @__PURE__ */ i(
|
|
875
|
-
className:
|
|
874
|
+
function Ut({ className: e, ...t }) {
|
|
875
|
+
return /* @__PURE__ */ i(_e.Separator, { render: /* @__PURE__ */ i(Bt, {
|
|
876
|
+
className: K("rounded-full bg-input data-[orientation=horizontal]:h-0.5 data-[orientation=horizontal]:w-3", e),
|
|
876
877
|
orientation: "horizontal",
|
|
877
878
|
...t
|
|
878
879
|
}) });
|
|
879
880
|
}
|
|
880
881
|
//#endregion
|
|
881
882
|
//#region src/components/ui/skeleton.tsx
|
|
882
|
-
function
|
|
883
|
+
function Wt({ className: e, ...t }) {
|
|
883
884
|
return /* @__PURE__ */ i("div", {
|
|
884
|
-
className:
|
|
885
|
+
className: K("animate-skeleton rounded-sm [--skeleton-highlight:--alpha(var(--color-white)/64%)] [background:linear-gradient(120deg,transparent_40%,var(--skeleton-highlight),transparent_60%)_var(--color-muted)_0_0/200%_100%_fixed] dark:[--skeleton-highlight:--alpha(var(--color-white)/4%)]", e),
|
|
885
886
|
"data-slot": "skeleton",
|
|
886
887
|
...t
|
|
887
888
|
});
|
|
888
889
|
}
|
|
889
890
|
//#endregion
|
|
890
891
|
//#region src/components/composed/password-input.tsx
|
|
891
|
-
var
|
|
892
|
+
var Gt = [
|
|
892
893
|
.22,
|
|
893
894
|
1,
|
|
894
895
|
.36,
|
|
895
896
|
1
|
|
896
|
-
],
|
|
897
|
+
], Kt = [
|
|
897
898
|
{
|
|
898
899
|
regex: /.{8,}/,
|
|
899
900
|
text: "At least 8 characters"
|
|
@@ -911,21 +912,21 @@ var Wt = [
|
|
|
911
912
|
text: "At least 1 uppercase letter"
|
|
912
913
|
}
|
|
913
914
|
];
|
|
914
|
-
function
|
|
915
|
-
return
|
|
915
|
+
function qt(e) {
|
|
916
|
+
return Kt.filter((t) => t.regex.test(e)).length;
|
|
916
917
|
}
|
|
917
|
-
var
|
|
918
|
+
var Jt = [
|
|
918
919
|
"bg-border",
|
|
919
920
|
"bg-red-500",
|
|
920
921
|
"bg-orange-500",
|
|
921
922
|
"bg-amber-500",
|
|
922
923
|
"bg-emerald-500"
|
|
923
924
|
];
|
|
924
|
-
function
|
|
925
|
-
let [u, f] =
|
|
925
|
+
function Yt({ visibilityToggle: e = !0, showStrength: t = !1, sound: n = !0, className: r, value: o, defaultValue: s, onChange: c, ...l }) {
|
|
926
|
+
let [u, f] = N.useState(!1), [p, m] = N.useState(String(s ?? "")), _ = o === void 0 ? p : String(o), v = qt(_);
|
|
926
927
|
return /* @__PURE__ */ a("div", {
|
|
927
|
-
className:
|
|
928
|
-
children: [/* @__PURE__ */ a(
|
|
928
|
+
className: K("flex w-full flex-col gap-3", r),
|
|
929
|
+
children: [/* @__PURE__ */ a(_t, { children: [/* @__PURE__ */ i(bt, {
|
|
929
930
|
placeholder: "Enter your password",
|
|
930
931
|
...l,
|
|
931
932
|
type: u ? "text" : "password",
|
|
@@ -933,20 +934,20 @@ function Jt({ visibilityToggle: e = !0, showStrength: t = !1, sound: n = !0, cla
|
|
|
933
934
|
onChange: (e) => {
|
|
934
935
|
m(e.target.value), c?.(e);
|
|
935
936
|
}
|
|
936
|
-
}), e && /* @__PURE__ */ i(
|
|
937
|
+
}), e && /* @__PURE__ */ i(vt, {
|
|
937
938
|
align: "inline-end",
|
|
938
|
-
children: /* @__PURE__ */ i(
|
|
939
|
+
children: /* @__PURE__ */ i(q, {
|
|
939
940
|
"aria-label": u ? "Hide password" : "Show password",
|
|
940
941
|
onClick: () => {
|
|
941
|
-
n &&
|
|
942
|
+
n && tt(u ? "droplet" : "bloom"), f((e) => !e);
|
|
942
943
|
},
|
|
943
944
|
size: "icon-xs",
|
|
944
945
|
variant: "ghost",
|
|
945
946
|
sound: !1,
|
|
946
|
-
children: /* @__PURE__ */ i(
|
|
947
|
+
children: /* @__PURE__ */ i(W, {
|
|
947
948
|
mode: "wait",
|
|
948
949
|
initial: !1,
|
|
949
|
-
children: /* @__PURE__ */ i(
|
|
950
|
+
children: /* @__PURE__ */ i(G.span, {
|
|
950
951
|
className: "inline-flex",
|
|
951
952
|
initial: {
|
|
952
953
|
opacity: 0,
|
|
@@ -965,15 +966,15 @@ function Jt({ visibilityToggle: e = !0, showStrength: t = !1, sound: n = !0, cla
|
|
|
965
966
|
},
|
|
966
967
|
transition: {
|
|
967
968
|
duration: .15,
|
|
968
|
-
ease:
|
|
969
|
+
ease: Gt
|
|
969
970
|
},
|
|
970
971
|
children: i(u ? g : h, { "aria-hidden": "true" })
|
|
971
972
|
}, u ? "off" : "on")
|
|
972
973
|
})
|
|
973
974
|
})
|
|
974
|
-
})] }), /* @__PURE__ */ i(
|
|
975
|
+
})] }), /* @__PURE__ */ i(W, {
|
|
975
976
|
initial: !1,
|
|
976
|
-
children: t && /* @__PURE__ */ a(
|
|
977
|
+
children: t && /* @__PURE__ */ a(G.div, {
|
|
977
978
|
className: "flex flex-col gap-2 overflow-hidden",
|
|
978
979
|
initial: {
|
|
979
980
|
height: 0,
|
|
@@ -989,7 +990,7 @@ function Jt({ visibilityToggle: e = !0, showStrength: t = !1, sound: n = !0, cla
|
|
|
989
990
|
},
|
|
990
991
|
transition: {
|
|
991
992
|
duration: .25,
|
|
992
|
-
ease:
|
|
993
|
+
ease: Gt
|
|
993
994
|
},
|
|
994
995
|
children: [/* @__PURE__ */ i("div", {
|
|
995
996
|
"aria-label": "Password strength",
|
|
@@ -998,25 +999,25 @@ function Jt({ visibilityToggle: e = !0, showStrength: t = !1, sound: n = !0, cla
|
|
|
998
999
|
"aria-valuenow": v,
|
|
999
1000
|
className: "h-1 w-full overflow-hidden rounded-full bg-border",
|
|
1000
1001
|
role: "progressbar",
|
|
1001
|
-
children: /* @__PURE__ */ i(
|
|
1002
|
-
className:
|
|
1002
|
+
children: /* @__PURE__ */ i(G.div, {
|
|
1003
|
+
className: K("h-full rounded-full", Jt[v]),
|
|
1003
1004
|
animate: { width: `${v / 4 * 100}%` },
|
|
1004
1005
|
transition: {
|
|
1005
1006
|
duration: .4,
|
|
1006
|
-
ease:
|
|
1007
|
+
ease: Gt
|
|
1007
1008
|
}
|
|
1008
1009
|
})
|
|
1009
1010
|
}), /* @__PURE__ */ i("ul", {
|
|
1010
1011
|
"aria-label": "Password requirements",
|
|
1011
1012
|
className: "flex flex-col gap-1",
|
|
1012
|
-
children:
|
|
1013
|
+
children: Kt.map((e) => {
|
|
1013
1014
|
let t = e.regex.test(_);
|
|
1014
1015
|
return /* @__PURE__ */ a("li", {
|
|
1015
1016
|
className: "flex items-center gap-2 text-xs",
|
|
1016
1017
|
children: [t ? /* @__PURE__ */ i(d, {
|
|
1017
1018
|
"aria-hidden": "true",
|
|
1018
1019
|
className: "size-3.5 text-emerald-500"
|
|
1019
|
-
}) : /* @__PURE__ */ i(
|
|
1020
|
+
}) : /* @__PURE__ */ i(M, {
|
|
1020
1021
|
"aria-hidden": "true",
|
|
1021
1022
|
className: "size-3.5 text-muted-foreground/80"
|
|
1022
1023
|
}), /* @__PURE__ */ a("span", {
|
|
@@ -1035,7 +1036,7 @@ function Jt({ visibilityToggle: e = !0, showStrength: t = !1, sound: n = !0, cla
|
|
|
1035
1036
|
}
|
|
1036
1037
|
//#endregion
|
|
1037
1038
|
//#region src/components/composed/social-providers.tsx
|
|
1038
|
-
function
|
|
1039
|
+
function Xt(e) {
|
|
1039
1040
|
return /* @__PURE__ */ a("svg", {
|
|
1040
1041
|
viewBox: "0 0 24 24",
|
|
1041
1042
|
fill: "none",
|
|
@@ -1060,11 +1061,11 @@ function Yt(e) {
|
|
|
1060
1061
|
]
|
|
1061
1062
|
});
|
|
1062
1063
|
}
|
|
1063
|
-
var
|
|
1064
|
+
var Zt = {
|
|
1064
1065
|
google: {
|
|
1065
1066
|
label: "Google",
|
|
1066
1067
|
Icon: Ce,
|
|
1067
|
-
BrandIcon:
|
|
1068
|
+
BrandIcon: Xt,
|
|
1068
1069
|
brandClassName: ""
|
|
1069
1070
|
},
|
|
1070
1071
|
apple: {
|
|
@@ -1085,33 +1086,33 @@ var Xt = {
|
|
|
1085
1086
|
BrandIcon: we,
|
|
1086
1087
|
brandClassName: "text-foreground"
|
|
1087
1088
|
}
|
|
1088
|
-
},
|
|
1089
|
+
}, Qt = {
|
|
1089
1090
|
login: "Login with",
|
|
1090
1091
|
signup: "Sign up with",
|
|
1091
1092
|
continue: "Continue with"
|
|
1092
1093
|
};
|
|
1093
|
-
function
|
|
1094
|
+
function $t({ providers: e = [
|
|
1094
1095
|
"google",
|
|
1095
1096
|
"apple",
|
|
1096
1097
|
"github"
|
|
1097
1098
|
], action: t = "continue", layout: n = "stack", loadingProvider: r = null, disabled: o = !1, onSelect: s, className: c }) {
|
|
1098
1099
|
let l = n === "row";
|
|
1099
1100
|
return /* @__PURE__ */ i("div", {
|
|
1100
|
-
className:
|
|
1101
|
+
className: K("flex w-full gap-2", l ? "flex-row justify-center" : "flex-col", c),
|
|
1101
1102
|
children: e.map((e) => {
|
|
1102
|
-
let { label: n, Icon: c } =
|
|
1103
|
-
return /* @__PURE__ */ a(
|
|
1103
|
+
let { label: n, Icon: c } = Zt[e];
|
|
1104
|
+
return /* @__PURE__ */ a(q, {
|
|
1104
1105
|
variant: "outline",
|
|
1105
1106
|
size: l ? "icon" : "default",
|
|
1106
1107
|
className: l ? void 0 : "w-full",
|
|
1107
|
-
"aria-label": `${
|
|
1108
|
+
"aria-label": `${Qt[t]} ${n}`,
|
|
1108
1109
|
loading: r === e,
|
|
1109
1110
|
disabled: o || r !== null && r !== e,
|
|
1110
1111
|
onClick: () => s?.(e),
|
|
1111
1112
|
children: [/* @__PURE__ */ i(c, { "aria-hidden": "true" }), !l && /* @__PURE__ */ a("span", {
|
|
1112
1113
|
className: "flex-1",
|
|
1113
1114
|
children: [
|
|
1114
|
-
|
|
1115
|
+
Qt[t],
|
|
1115
1116
|
" ",
|
|
1116
1117
|
n
|
|
1117
1118
|
]
|
|
@@ -1122,30 +1123,30 @@ function Qt({ providers: e = [
|
|
|
1122
1123
|
}
|
|
1123
1124
|
//#endregion
|
|
1124
1125
|
//#region src/components/composed/user-avatar.tsx
|
|
1125
|
-
function
|
|
1126
|
+
function en(e) {
|
|
1126
1127
|
let t = e.trim().split(/\s+/).filter(Boolean);
|
|
1127
1128
|
return t.length === 0 ? "" : ((t[0]?.[0] ?? "") + (t.length > 1 ? t.at(-1)?.[0] ?? "" : "")).toUpperCase();
|
|
1128
1129
|
}
|
|
1129
|
-
function
|
|
1130
|
-
let [l, u] =
|
|
1131
|
-
return /* @__PURE__ */ a(
|
|
1132
|
-
className:
|
|
1130
|
+
function tn({ src: e, name: t = "", initials: n, alt: r, loading: o, className: s, ...c }) {
|
|
1131
|
+
let [l, u] = N.useState("idle"), d = o ?? (e !== void 0 && (l === "idle" || l === "loading"));
|
|
1132
|
+
return /* @__PURE__ */ a(De, {
|
|
1133
|
+
className: K("size-8", s),
|
|
1133
1134
|
"data-loading": d || void 0,
|
|
1134
1135
|
"data-slot": "user-avatar",
|
|
1135
1136
|
...c,
|
|
1136
|
-
children: [e === void 0 || o === !0 ? null : /* @__PURE__ */ i(
|
|
1137
|
+
children: [e === void 0 || o === !0 ? null : /* @__PURE__ */ i(Oe, {
|
|
1137
1138
|
alt: r ?? t,
|
|
1138
1139
|
onLoadingStatusChange: u,
|
|
1139
1140
|
src: e
|
|
1140
|
-
}), /* @__PURE__ */ i(
|
|
1141
|
+
}), /* @__PURE__ */ i(ke, { children: d ? /* @__PURE__ */ i(Wt, {
|
|
1141
1142
|
className: "size-full rounded-full",
|
|
1142
1143
|
"data-slot": "avatar-skeleton"
|
|
1143
|
-
}) : n ??
|
|
1144
|
+
}) : n ?? en(t) })]
|
|
1144
1145
|
});
|
|
1145
1146
|
}
|
|
1146
1147
|
//#endregion
|
|
1147
1148
|
//#region src/lib/auth-accent.ts
|
|
1148
|
-
var
|
|
1149
|
+
var nn = {
|
|
1149
1150
|
corpora: {
|
|
1150
1151
|
"--auth-accent": "#E8B124",
|
|
1151
1152
|
"--auth-accent-image": "none",
|
|
@@ -1156,38 +1157,38 @@ var tn = {
|
|
|
1156
1157
|
"--auth-accent-image": "linear-gradient(44deg in oklab, rgba(29,0,202,0.66) 3%, #3B0080 37%, rgba(36,0,72,0.86) 98%)",
|
|
1157
1158
|
"--auth-accent-foreground": "oklch(0.985 0 0)"
|
|
1158
1159
|
}
|
|
1159
|
-
},
|
|
1160
|
+
}, rn = "border-transparent bg-[var(--auth-accent)] bg-[image:var(--auth-accent-image)] text-[var(--auth-accent-foreground)] shadow-none hover:bg-[var(--auth-accent)] hover:brightness-110 data-pressed:bg-[var(--auth-accent)] data-pressed:brightness-110 *:data-[slot=button-loading-indicator]:text-[var(--auth-accent-foreground)]", X = [
|
|
1160
1161
|
.22,
|
|
1161
1162
|
1,
|
|
1162
1163
|
.36,
|
|
1163
1164
|
1
|
|
1164
1165
|
];
|
|
1165
|
-
function
|
|
1166
|
+
function an({ title: e, description: t, children: n, footer: r, className: o, logo: s, accent: c }) {
|
|
1166
1167
|
return /* @__PURE__ */ i(ye, {
|
|
1167
1168
|
reducedMotion: "user",
|
|
1168
|
-
children: /* @__PURE__ */ i(
|
|
1169
|
-
className:
|
|
1169
|
+
children: /* @__PURE__ */ i(ct, {
|
|
1170
|
+
className: K("w-full max-w-sm", o),
|
|
1170
1171
|
"data-accent": c,
|
|
1171
|
-
style: c ?
|
|
1172
|
-
children: /* @__PURE__ */ a(
|
|
1172
|
+
style: c ? nn[c] : void 0,
|
|
1173
|
+
children: /* @__PURE__ */ a(G.div, {
|
|
1173
1174
|
layout: !0,
|
|
1174
1175
|
transition: {
|
|
1175
1176
|
duration: .3,
|
|
1176
|
-
ease:
|
|
1177
|
+
ease: X
|
|
1177
1178
|
},
|
|
1178
1179
|
className: "flex flex-col",
|
|
1179
|
-
children: [/* @__PURE__ */ a(
|
|
1180
|
+
children: [/* @__PURE__ */ a(Be, { children: [/* @__PURE__ */ a(qe, { children: [
|
|
1180
1181
|
s && /* @__PURE__ */ i("div", {
|
|
1181
1182
|
className: "mb-1.5 flex items-center [&_img:not([class*='h-'])]:h-8 [&_img]:w-auto [&_svg:not([class*='size-'])]:size-8",
|
|
1182
1183
|
"data-slot": "auth-logo",
|
|
1183
1184
|
children: s
|
|
1184
1185
|
}),
|
|
1185
|
-
/* @__PURE__ */ i(
|
|
1186
|
-
t && /* @__PURE__ */ i(
|
|
1187
|
-
] }), /* @__PURE__ */ i(
|
|
1186
|
+
/* @__PURE__ */ i(Je, { children: e }),
|
|
1187
|
+
t && /* @__PURE__ */ i(Ye, { children: t })
|
|
1188
|
+
] }), /* @__PURE__ */ i(Ze, {
|
|
1188
1189
|
className: "overflow-hidden",
|
|
1189
1190
|
children: n
|
|
1190
|
-
})] }), r && /* @__PURE__ */ i(
|
|
1191
|
+
})] }), r && /* @__PURE__ */ i(pt, {
|
|
1191
1192
|
className: "text-center text-sm text-muted-foreground",
|
|
1192
1193
|
children: r
|
|
1193
1194
|
})]
|
|
@@ -1195,11 +1196,11 @@ function rn({ title: e, description: t, children: n, footer: r, className: o, lo
|
|
|
1195
1196
|
})
|
|
1196
1197
|
});
|
|
1197
1198
|
}
|
|
1198
|
-
function
|
|
1199
|
-
return /* @__PURE__ */ i(
|
|
1199
|
+
function on({ step: e, children: t, className: n }) {
|
|
1200
|
+
return /* @__PURE__ */ i(W, {
|
|
1200
1201
|
mode: "popLayout",
|
|
1201
1202
|
initial: !1,
|
|
1202
|
-
children: /* @__PURE__ */ i(
|
|
1203
|
+
children: /* @__PURE__ */ i(G.div, {
|
|
1203
1204
|
className: n,
|
|
1204
1205
|
initial: {
|
|
1205
1206
|
opacity: 0,
|
|
@@ -1218,24 +1219,24 @@ function an({ step: e, children: t, className: n }) {
|
|
|
1218
1219
|
},
|
|
1219
1220
|
transition: {
|
|
1220
1221
|
duration: .25,
|
|
1221
|
-
ease:
|
|
1222
|
+
ease: X
|
|
1222
1223
|
},
|
|
1223
1224
|
children: t
|
|
1224
1225
|
}, e)
|
|
1225
1226
|
});
|
|
1226
1227
|
}
|
|
1227
|
-
function
|
|
1228
|
-
let [r, a] =
|
|
1228
|
+
function Z({ show: e, children: t, className: n }) {
|
|
1229
|
+
let [r, a] = N.useState({
|
|
1229
1230
|
show: e,
|
|
1230
1231
|
settled: e
|
|
1231
1232
|
});
|
|
1232
1233
|
return r.show !== e && a({
|
|
1233
1234
|
show: e,
|
|
1234
1235
|
settled: !1
|
|
1235
|
-
}), /* @__PURE__ */ i(
|
|
1236
|
+
}), /* @__PURE__ */ i(W, {
|
|
1236
1237
|
initial: !1,
|
|
1237
|
-
children: e && /* @__PURE__ */ i(
|
|
1238
|
-
className:
|
|
1238
|
+
children: e && /* @__PURE__ */ i(G.div, {
|
|
1239
|
+
className: K(!r.settled && "overflow-hidden", n),
|
|
1239
1240
|
initial: {
|
|
1240
1241
|
height: 0,
|
|
1241
1242
|
opacity: 0,
|
|
@@ -1256,7 +1257,7 @@ function $({ show: e, children: t, className: n }) {
|
|
|
1256
1257
|
},
|
|
1257
1258
|
transition: {
|
|
1258
1259
|
duration: .25,
|
|
1259
|
-
ease:
|
|
1260
|
+
ease: X
|
|
1260
1261
|
},
|
|
1261
1262
|
onAnimationComplete: () => a((e) => ({
|
|
1262
1263
|
...e,
|
|
@@ -1266,10 +1267,10 @@ function $({ show: e, children: t, className: n }) {
|
|
|
1266
1267
|
})
|
|
1267
1268
|
});
|
|
1268
1269
|
}
|
|
1269
|
-
function
|
|
1270
|
-
return /* @__PURE__ */ i(
|
|
1270
|
+
function Q({ message: e }) {
|
|
1271
|
+
return /* @__PURE__ */ i(W, {
|
|
1271
1272
|
initial: !1,
|
|
1272
|
-
children: e && /* @__PURE__ */ i(
|
|
1273
|
+
children: e && /* @__PURE__ */ i(G.p, {
|
|
1273
1274
|
role: "alert",
|
|
1274
1275
|
className: "text-sm text-destructive-foreground",
|
|
1275
1276
|
initial: {
|
|
@@ -1294,7 +1295,7 @@ function on({ message: e }) {
|
|
|
1294
1295
|
},
|
|
1295
1296
|
transition: {
|
|
1296
1297
|
duration: .25,
|
|
1297
|
-
ease:
|
|
1298
|
+
ease: X,
|
|
1298
1299
|
x: {
|
|
1299
1300
|
duration: .4,
|
|
1300
1301
|
ease: "easeInOut"
|
|
@@ -1308,7 +1309,7 @@ function sn({ title: e, description: t, children: n }) {
|
|
|
1308
1309
|
return /* @__PURE__ */ a("div", {
|
|
1309
1310
|
className: "flex flex-col items-center gap-3 py-4 text-center",
|
|
1310
1311
|
children: [
|
|
1311
|
-
/* @__PURE__ */ i(
|
|
1312
|
+
/* @__PURE__ */ i(G.span, {
|
|
1312
1313
|
className: "flex size-12 items-center justify-center rounded-full bg-emerald-500/12 text-emerald-600",
|
|
1313
1314
|
initial: {
|
|
1314
1315
|
scale: .6,
|
|
@@ -1320,7 +1321,7 @@ function sn({ title: e, description: t, children: n }) {
|
|
|
1320
1321
|
},
|
|
1321
1322
|
transition: {
|
|
1322
1323
|
duration: .4,
|
|
1323
|
-
ease:
|
|
1324
|
+
ease: X
|
|
1324
1325
|
},
|
|
1325
1326
|
children: /* @__PURE__ */ i("svg", {
|
|
1326
1327
|
"aria-hidden": "true",
|
|
@@ -1331,14 +1332,14 @@ function sn({ title: e, description: t, children: n }) {
|
|
|
1331
1332
|
strokeWidth: "2.5",
|
|
1332
1333
|
strokeLinecap: "round",
|
|
1333
1334
|
strokeLinejoin: "round",
|
|
1334
|
-
children: /* @__PURE__ */ i(
|
|
1335
|
+
children: /* @__PURE__ */ i(G.path, {
|
|
1335
1336
|
d: "M4 12.5l5 5L20 6.5",
|
|
1336
1337
|
initial: { pathLength: 0 },
|
|
1337
1338
|
animate: { pathLength: 1 },
|
|
1338
1339
|
transition: {
|
|
1339
1340
|
duration: .4,
|
|
1340
1341
|
delay: .15,
|
|
1341
|
-
ease:
|
|
1342
|
+
ease: X
|
|
1342
1343
|
}
|
|
1343
1344
|
})
|
|
1344
1345
|
})
|
|
@@ -1361,17 +1362,17 @@ function cn({ label: e = "Or" }) {
|
|
|
1361
1362
|
return /* @__PURE__ */ a("div", {
|
|
1362
1363
|
className: "flex items-center gap-3",
|
|
1363
1364
|
children: [
|
|
1364
|
-
/* @__PURE__ */ i(
|
|
1365
|
+
/* @__PURE__ */ i(Bt, { className: "flex-1" }),
|
|
1365
1366
|
/* @__PURE__ */ i("span", {
|
|
1366
1367
|
className: "text-xs text-muted-foreground uppercase",
|
|
1367
1368
|
children: e
|
|
1368
1369
|
}),
|
|
1369
|
-
/* @__PURE__ */ i(
|
|
1370
|
+
/* @__PURE__ */ i(Bt, { className: "flex-1" })
|
|
1370
1371
|
]
|
|
1371
1372
|
});
|
|
1372
1373
|
}
|
|
1373
1374
|
function ln(e, t) {
|
|
1374
|
-
let [n, r] =
|
|
1375
|
+
let [n, r] = N.useState({
|
|
1375
1376
|
restartKey: t,
|
|
1376
1377
|
seconds: e,
|
|
1377
1378
|
remaining: e
|
|
@@ -1380,7 +1381,7 @@ function ln(e, t) {
|
|
|
1380
1381
|
restartKey: t,
|
|
1381
1382
|
seconds: e,
|
|
1382
1383
|
remaining: e
|
|
1383
|
-
}),
|
|
1384
|
+
}), N.useEffect(() => {
|
|
1384
1385
|
if (e <= 0) return;
|
|
1385
1386
|
let t = window.setInterval(() => {
|
|
1386
1387
|
r((e) => e.remaining <= 0 ? e : {
|
|
@@ -1394,7 +1395,7 @@ function ln(e, t) {
|
|
|
1394
1395
|
//#endregion
|
|
1395
1396
|
//#region src/components/blocks/auth/code-auth-block.tsx
|
|
1396
1397
|
function un({ channel: e = "email", logo: t, accent: n, destination: o, length: s = 6, autoSubmit: c = !0, resendSeconds: l = 30, onVerify: u, onResend: d, onBack: f }) {
|
|
1397
|
-
let [p, m] =
|
|
1398
|
+
let [p, m] = N.useState("idle"), [h, g] = N.useState(null), [_, v] = N.useState(""), [y, b] = N.useState(0), x = ln(l, y), S = e === "sms" ? k : w, C = e === "sms" ? "phone" : "email", T = N.useCallback(async (e) => {
|
|
1398
1399
|
g(null), m("loading");
|
|
1399
1400
|
try {
|
|
1400
1401
|
await u?.(e), m("success");
|
|
@@ -1408,7 +1409,7 @@ function un({ channel: e = "email", logo: t, accent: n, destination: o, length:
|
|
|
1408
1409
|
async function D() {
|
|
1409
1410
|
b((e) => e + 1), v(""), g(null), await d?.();
|
|
1410
1411
|
}
|
|
1411
|
-
return /* @__PURE__ */ i(
|
|
1412
|
+
return /* @__PURE__ */ i(an, {
|
|
1412
1413
|
title: "Enter verification code",
|
|
1413
1414
|
logo: t,
|
|
1414
1415
|
accent: n,
|
|
@@ -1426,12 +1427,12 @@ function un({ channel: e = "email", logo: t, accent: n, destination: o, length:
|
|
|
1426
1427
|
"."
|
|
1427
1428
|
] })]
|
|
1428
1429
|
}),
|
|
1429
|
-
footer: p !== "success" && /* @__PURE__ */ a(
|
|
1430
|
+
footer: p !== "success" && /* @__PURE__ */ a(q, {
|
|
1430
1431
|
variant: "link",
|
|
1431
1432
|
onClick: f,
|
|
1432
1433
|
children: ["Use a different ", C]
|
|
1433
1434
|
}),
|
|
1434
|
-
children: /* @__PURE__ */ i(
|
|
1435
|
+
children: /* @__PURE__ */ i(on, {
|
|
1435
1436
|
step: p === "success" ? "success" : "form",
|
|
1436
1437
|
children: p === "success" ? /* @__PURE__ */ i(sn, {
|
|
1437
1438
|
title: "Verified",
|
|
@@ -1439,7 +1440,7 @@ function un({ channel: e = "email", logo: t, accent: n, destination: o, length:
|
|
|
1439
1440
|
}) : /* @__PURE__ */ a("div", {
|
|
1440
1441
|
className: "flex flex-col items-center gap-4",
|
|
1441
1442
|
children: [
|
|
1442
|
-
/* @__PURE__ */ i(
|
|
1443
|
+
/* @__PURE__ */ i(G.div, {
|
|
1443
1444
|
animate: h ? { x: [
|
|
1444
1445
|
0,
|
|
1445
1446
|
-8,
|
|
@@ -1452,30 +1453,30 @@ function un({ channel: e = "email", logo: t, accent: n, destination: o, length:
|
|
|
1452
1453
|
duration: .4,
|
|
1453
1454
|
ease: "easeInOut"
|
|
1454
1455
|
},
|
|
1455
|
-
children: /* @__PURE__ */ i(
|
|
1456
|
+
children: /* @__PURE__ */ i(Vt, {
|
|
1456
1457
|
length: s,
|
|
1457
1458
|
value: _,
|
|
1458
1459
|
onValueChange: E,
|
|
1459
1460
|
disabled: p === "loading",
|
|
1460
|
-
children: Array.from({ length: s }, (e, t) => /* @__PURE__ */ i(
|
|
1461
|
+
children: Array.from({ length: s }, (e, t) => /* @__PURE__ */ i(Ht, {
|
|
1461
1462
|
"aria-invalid": h ? !0 : void 0,
|
|
1462
1463
|
"aria-label": `Digit ${t + 1} of ${s}`
|
|
1463
1464
|
}, `slot-${t}`))
|
|
1464
1465
|
})
|
|
1465
1466
|
}, h ?? "steady"),
|
|
1466
|
-
/* @__PURE__ */ i(
|
|
1467
|
-
!c && /* @__PURE__ */ i(
|
|
1468
|
-
className:
|
|
1467
|
+
/* @__PURE__ */ i(Q, { message: h }),
|
|
1468
|
+
!c && /* @__PURE__ */ i(q, {
|
|
1469
|
+
className: K("w-full", n && "border-transparent bg-[var(--auth-accent)] bg-[image:var(--auth-accent-image)] text-[var(--auth-accent-foreground)] shadow-none hover:bg-[var(--auth-accent)] hover:brightness-110 data-pressed:bg-[var(--auth-accent)] data-pressed:brightness-110 *:data-[slot=button-loading-indicator]:text-[var(--auth-accent-foreground)]"),
|
|
1469
1470
|
loading: p === "loading",
|
|
1470
1471
|
disabled: _.length !== s,
|
|
1471
1472
|
onClick: () => void T(_),
|
|
1472
1473
|
children: "Verify"
|
|
1473
1474
|
}),
|
|
1474
|
-
/* @__PURE__ */ i(
|
|
1475
|
+
/* @__PURE__ */ i(G.p, {
|
|
1475
1476
|
layout: !0,
|
|
1476
1477
|
transition: {
|
|
1477
1478
|
duration: .25,
|
|
1478
|
-
ease:
|
|
1479
|
+
ease: X
|
|
1479
1480
|
},
|
|
1480
1481
|
className: "text-center text-sm text-muted-foreground",
|
|
1481
1482
|
children: x > 0 ? /* @__PURE__ */ a(r, { children: [
|
|
@@ -1485,7 +1486,7 @@ function un({ channel: e = "email", logo: t, accent: n, destination: o, length:
|
|
|
1485
1486
|
className: "font-medium tabular-nums text-foreground",
|
|
1486
1487
|
children: [x, "s"]
|
|
1487
1488
|
})
|
|
1488
|
-
] }) : /* @__PURE__ */ i(
|
|
1489
|
+
] }) : /* @__PURE__ */ i(q, {
|
|
1489
1490
|
variant: "link",
|
|
1490
1491
|
disabled: p === "loading",
|
|
1491
1492
|
onClick: () => void D(),
|
|
@@ -1500,7 +1501,7 @@ function un({ channel: e = "email", logo: t, accent: n, destination: o, length:
|
|
|
1500
1501
|
//#endregion
|
|
1501
1502
|
//#region src/components/blocks/auth/forgot-password-block.tsx
|
|
1502
1503
|
function dn({ title: e = "Reset your password", logo: t, accent: n, description: o = "Enter your email and we will send you a reset link", onSubmit: s, onBackToLogin: c }) {
|
|
1503
|
-
let u =
|
|
1504
|
+
let u = N.useId(), [d, f] = N.useState("idle"), [p, m] = N.useState(null), [h, g] = N.useState("");
|
|
1504
1505
|
async function _(e) {
|
|
1505
1506
|
e.preventDefault(), m(null), f("loading");
|
|
1506
1507
|
try {
|
|
@@ -1509,18 +1510,18 @@ function dn({ title: e = "Reset your password", logo: t, accent: n, description:
|
|
|
1509
1510
|
f("idle"), m(e instanceof Error ? e.message : "Unable to send reset link.");
|
|
1510
1511
|
}
|
|
1511
1512
|
}
|
|
1512
|
-
return /* @__PURE__ */ i(
|
|
1513
|
+
return /* @__PURE__ */ i(an, {
|
|
1513
1514
|
title: e,
|
|
1514
1515
|
description: o,
|
|
1515
1516
|
logo: t,
|
|
1516
1517
|
accent: n,
|
|
1517
|
-
footer: /* @__PURE__ */ a(
|
|
1518
|
+
footer: /* @__PURE__ */ a(q, {
|
|
1518
1519
|
variant: "link",
|
|
1519
1520
|
className: "gap-1",
|
|
1520
1521
|
onClick: c,
|
|
1521
1522
|
children: [/* @__PURE__ */ i(l, { className: "size-3.5" }), "Back to login"]
|
|
1522
1523
|
}),
|
|
1523
|
-
children: /* @__PURE__ */ i(
|
|
1524
|
+
children: /* @__PURE__ */ i(on, {
|
|
1524
1525
|
step: d === "success" ? "success" : "form",
|
|
1525
1526
|
children: d === "success" ? /* @__PURE__ */ i(sn, {
|
|
1526
1527
|
title: "Check your inbox",
|
|
@@ -1533,7 +1534,7 @@ function dn({ title: e = "Reset your password", logo: t, accent: n, description:
|
|
|
1533
1534
|
}),
|
|
1534
1535
|
"."
|
|
1535
1536
|
] }),
|
|
1536
|
-
children: /* @__PURE__ */ i(
|
|
1537
|
+
children: /* @__PURE__ */ i(q, {
|
|
1537
1538
|
variant: "link",
|
|
1538
1539
|
className: "text-xs sm:text-xs",
|
|
1539
1540
|
onClick: () => f("idle"),
|
|
@@ -1543,12 +1544,12 @@ function dn({ title: e = "Reset your password", logo: t, accent: n, description:
|
|
|
1543
1544
|
className: "flex flex-col gap-4",
|
|
1544
1545
|
onSubmit: _,
|
|
1545
1546
|
children: [
|
|
1546
|
-
/* @__PURE__ */ a(
|
|
1547
|
+
/* @__PURE__ */ a(J, {
|
|
1547
1548
|
name: "email",
|
|
1548
|
-
children: [/* @__PURE__ */ i(
|
|
1549
|
+
children: [/* @__PURE__ */ i(Y, {
|
|
1549
1550
|
htmlFor: u,
|
|
1550
1551
|
children: "Email"
|
|
1551
|
-
}), /* @__PURE__ */ i(
|
|
1552
|
+
}), /* @__PURE__ */ i(mt, {
|
|
1552
1553
|
id: u,
|
|
1553
1554
|
name: "email",
|
|
1554
1555
|
type: "email",
|
|
@@ -1560,9 +1561,9 @@ function dn({ title: e = "Reset your password", logo: t, accent: n, description:
|
|
|
1560
1561
|
onChange: (e) => g(e.target.value)
|
|
1561
1562
|
})]
|
|
1562
1563
|
}),
|
|
1563
|
-
/* @__PURE__ */ i(
|
|
1564
|
-
/* @__PURE__ */ i(
|
|
1565
|
-
className:
|
|
1564
|
+
/* @__PURE__ */ i(Q, { message: p }),
|
|
1565
|
+
/* @__PURE__ */ i(q, {
|
|
1566
|
+
className: K("w-full", n && "border-transparent bg-[var(--auth-accent)] bg-[image:var(--auth-accent-image)] text-[var(--auth-accent-foreground)] shadow-none hover:bg-[var(--auth-accent)] hover:brightness-110 data-pressed:bg-[var(--auth-accent)] data-pressed:brightness-110 *:data-[slot=button-loading-indicator]:text-[var(--auth-accent-foreground)]"),
|
|
1566
1567
|
type: "submit",
|
|
1567
1568
|
loading: d === "loading",
|
|
1568
1569
|
children: "Send reset link"
|
|
@@ -1580,7 +1581,7 @@ function pn({ title: e = "Connected accounts", description: t = "Manage the acco
|
|
|
1580
1581
|
"apple",
|
|
1581
1582
|
"github"
|
|
1582
1583
|
], loading: o = !1, hasOtherSignInMethods: s = !1, onLink: c, onUnlink: l, className: u }) {
|
|
1583
|
-
let d =
|
|
1584
|
+
let d = N.useId(), [f, p] = N.useState(null), [m, h] = N.useState(null), [g, _] = N.useState(null), v = new Set(n.map((e) => e.provider)), y = r.filter((e) => !v.has(e)), b = m !== null || g !== null, x = !s && n.length <= 1;
|
|
1584
1585
|
async function S(e) {
|
|
1585
1586
|
if (!b) {
|
|
1586
1587
|
p(null), h(e);
|
|
@@ -1607,29 +1608,29 @@ function pn({ title: e = "Connected accounts", description: t = "Manage the acco
|
|
|
1607
1608
|
}
|
|
1608
1609
|
return /* @__PURE__ */ i(ye, {
|
|
1609
1610
|
reducedMotion: "user",
|
|
1610
|
-
children: /* @__PURE__ */ a(
|
|
1611
|
-
className:
|
|
1611
|
+
children: /* @__PURE__ */ a(Be, {
|
|
1612
|
+
className: K("w-full", u),
|
|
1612
1613
|
"data-slot": "auth-block",
|
|
1613
|
-
children: [/* @__PURE__ */ a(
|
|
1614
|
+
children: [/* @__PURE__ */ a(qe, { children: [/* @__PURE__ */ i(Je, { children: e }), /* @__PURE__ */ i(Ye, { children: t })] }), /* @__PURE__ */ i(Ze, { children: o ? /* @__PURE__ */ a("div", {
|
|
1614
1615
|
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
1615
|
-
children: [/* @__PURE__ */ i(
|
|
1616
|
-
}) : /* @__PURE__ */ a(
|
|
1616
|
+
children: [/* @__PURE__ */ i(Ae, { className: "size-4" }), "Loading connected accounts…"]
|
|
1617
|
+
}) : /* @__PURE__ */ a(G.div, {
|
|
1617
1618
|
layout: !0,
|
|
1618
1619
|
transition: {
|
|
1619
1620
|
duration: .3,
|
|
1620
|
-
ease:
|
|
1621
|
+
ease: X
|
|
1621
1622
|
},
|
|
1622
1623
|
className: "flex flex-col gap-3",
|
|
1623
1624
|
children: [
|
|
1624
|
-
/* @__PURE__ */ i(
|
|
1625
|
+
/* @__PURE__ */ i(Q, { message: f }),
|
|
1625
1626
|
n.length > 0 ? /* @__PURE__ */ i("ul", {
|
|
1626
1627
|
"aria-label": "Connected accounts",
|
|
1627
1628
|
className: "flex flex-col gap-2",
|
|
1628
|
-
children: /* @__PURE__ */ i(
|
|
1629
|
+
children: /* @__PURE__ */ i(W, {
|
|
1629
1630
|
initial: !1,
|
|
1630
1631
|
children: n.map((e, t) => {
|
|
1631
|
-
let { label: n, BrandIcon: r, brandClassName: o } =
|
|
1632
|
-
return /* @__PURE__ */ a(
|
|
1632
|
+
let { label: n, BrandIcon: r, brandClassName: o } = Zt[e.provider];
|
|
1633
|
+
return /* @__PURE__ */ a(G.li, {
|
|
1633
1634
|
layout: !0,
|
|
1634
1635
|
className: "flex items-center justify-between gap-3 rounded-lg border px-3 py-2",
|
|
1635
1636
|
initial: {
|
|
@@ -1646,14 +1647,14 @@ function pn({ title: e = "Connected accounts", description: t = "Manage the acco
|
|
|
1646
1647
|
},
|
|
1647
1648
|
transition: {
|
|
1648
1649
|
duration: .25,
|
|
1649
|
-
ease:
|
|
1650
|
+
ease: X,
|
|
1650
1651
|
delay: Math.min(t, 5) * .04
|
|
1651
1652
|
},
|
|
1652
1653
|
children: [/* @__PURE__ */ a("div", {
|
|
1653
1654
|
className: "flex min-w-0 items-center gap-2.5",
|
|
1654
1655
|
children: [/* @__PURE__ */ i(r, {
|
|
1655
1656
|
"aria-hidden": "true",
|
|
1656
|
-
className:
|
|
1657
|
+
className: K("size-4", o)
|
|
1657
1658
|
}), /* @__PURE__ */ a("div", {
|
|
1658
1659
|
className: "flex min-w-0 flex-col",
|
|
1659
1660
|
children: [/* @__PURE__ */ i("span", {
|
|
@@ -1664,7 +1665,7 @@ function pn({ title: e = "Connected accounts", description: t = "Manage the acco
|
|
|
1664
1665
|
children: e.email
|
|
1665
1666
|
})]
|
|
1666
1667
|
})]
|
|
1667
|
-
}), /* @__PURE__ */ i(
|
|
1668
|
+
}), /* @__PURE__ */ i(q, {
|
|
1668
1669
|
"aria-describedby": x ? d : void 0,
|
|
1669
1670
|
"aria-label": `Disconnect ${n}`,
|
|
1670
1671
|
size: "sm",
|
|
@@ -1688,8 +1689,8 @@ function pn({ title: e = "Connected accounts", description: t = "Manage the acco
|
|
|
1688
1689
|
children: fn
|
|
1689
1690
|
}),
|
|
1690
1691
|
y.map((e) => {
|
|
1691
|
-
let { label: t, BrandIcon: n, brandClassName: r } =
|
|
1692
|
-
return /* @__PURE__ */ a(
|
|
1692
|
+
let { label: t, BrandIcon: n, brandClassName: r } = Zt[e];
|
|
1693
|
+
return /* @__PURE__ */ a(q, {
|
|
1693
1694
|
className: "w-full",
|
|
1694
1695
|
type: "button",
|
|
1695
1696
|
variant: "outline",
|
|
@@ -1717,9 +1718,9 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1717
1718
|
"apple",
|
|
1718
1719
|
"github"
|
|
1719
1720
|
], showRememberMe: c = !0, showForgotPassword: l = !0, onSubmit: u, onProviderSelect: d, onForgotPassword: f, onSignup: p }) {
|
|
1720
|
-
let m =
|
|
1721
|
-
async function
|
|
1722
|
-
if (e.preventDefault(), !
|
|
1721
|
+
let m = N.useId(), h = N.useId(), [g, _] = N.useState("idle"), [v, y] = N.useState(null), [b, x] = N.useState(null), [S, C] = N.useState(!1), [w, T] = N.useState(""), [E, D] = N.useState(!1), [O, k] = N.useState(""), A = g === "loading" || b !== null, ee = O.trim().length > 0, j = E && ee;
|
|
1722
|
+
async function M(e) {
|
|
1723
|
+
if (e.preventDefault(), !j) return;
|
|
1723
1724
|
let t = new FormData(e.currentTarget);
|
|
1724
1725
|
y(null), _("loading");
|
|
1725
1726
|
try {
|
|
@@ -1732,7 +1733,7 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1732
1733
|
_("idle"), y(e instanceof Error ? e.message : "Unable to login.");
|
|
1733
1734
|
}
|
|
1734
1735
|
}
|
|
1735
|
-
async function
|
|
1736
|
+
async function te(e) {
|
|
1736
1737
|
y(null), x(e);
|
|
1737
1738
|
try {
|
|
1738
1739
|
await d?.(e), _("success");
|
|
@@ -1742,7 +1743,7 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1742
1743
|
x(null);
|
|
1743
1744
|
}
|
|
1744
1745
|
}
|
|
1745
|
-
return /* @__PURE__ */ i(
|
|
1746
|
+
return /* @__PURE__ */ i(an, {
|
|
1746
1747
|
title: e,
|
|
1747
1748
|
description: t,
|
|
1748
1749
|
logo: n,
|
|
@@ -1750,13 +1751,13 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1750
1751
|
footer: g !== "success" && /* @__PURE__ */ a(r, { children: [
|
|
1751
1752
|
"Don't have an account?",
|
|
1752
1753
|
" ",
|
|
1753
|
-
/* @__PURE__ */ i(
|
|
1754
|
+
/* @__PURE__ */ i(q, {
|
|
1754
1755
|
variant: "link",
|
|
1755
1756
|
onClick: p,
|
|
1756
1757
|
children: "Sign up"
|
|
1757
1758
|
})
|
|
1758
1759
|
] }),
|
|
1759
|
-
children: /* @__PURE__ */ i(
|
|
1760
|
+
children: /* @__PURE__ */ i(on, {
|
|
1760
1761
|
step: g === "success" ? "success" : "form",
|
|
1761
1762
|
children: g === "success" ? /* @__PURE__ */ i(sn, {
|
|
1762
1763
|
title: "Welcome back",
|
|
@@ -1765,14 +1766,14 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1765
1766
|
className: "flex flex-col gap-4",
|
|
1766
1767
|
children: [/* @__PURE__ */ a("form", {
|
|
1767
1768
|
className: "flex flex-col gap-4",
|
|
1768
|
-
onSubmit:
|
|
1769
|
+
onSubmit: M,
|
|
1769
1770
|
children: [
|
|
1770
|
-
/* @__PURE__ */ a(
|
|
1771
|
+
/* @__PURE__ */ a(J, {
|
|
1771
1772
|
name: "email",
|
|
1772
|
-
children: [/* @__PURE__ */ i(
|
|
1773
|
+
children: [/* @__PURE__ */ i(Y, {
|
|
1773
1774
|
htmlFor: m,
|
|
1774
1775
|
children: "Email"
|
|
1775
|
-
}), /* @__PURE__ */ i(
|
|
1776
|
+
}), /* @__PURE__ */ i(mt, {
|
|
1776
1777
|
id: m,
|
|
1777
1778
|
"aria-label": "Email",
|
|
1778
1779
|
name: "email",
|
|
@@ -1787,16 +1788,16 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1787
1788
|
}
|
|
1788
1789
|
})]
|
|
1789
1790
|
}),
|
|
1790
|
-
/* @__PURE__ */ i(
|
|
1791
|
+
/* @__PURE__ */ i(Z, {
|
|
1791
1792
|
show: E,
|
|
1792
|
-
children: /* @__PURE__ */ a(
|
|
1793
|
+
children: /* @__PURE__ */ a(J, {
|
|
1793
1794
|
name: "password",
|
|
1794
1795
|
children: [
|
|
1795
|
-
/* @__PURE__ */ i(
|
|
1796
|
+
/* @__PURE__ */ i(Y, {
|
|
1796
1797
|
htmlFor: "password",
|
|
1797
1798
|
children: "Password"
|
|
1798
1799
|
}),
|
|
1799
|
-
/* @__PURE__ */ i(
|
|
1800
|
+
/* @__PURE__ */ i(Yt, {
|
|
1800
1801
|
id: "password",
|
|
1801
1802
|
name: "password",
|
|
1802
1803
|
autoComplete: "current-password",
|
|
@@ -1805,7 +1806,7 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1805
1806
|
value: O,
|
|
1806
1807
|
onChange: (e) => k(e.target.value)
|
|
1807
1808
|
}),
|
|
1808
|
-
l && /* @__PURE__ */ i(
|
|
1809
|
+
l && /* @__PURE__ */ i(q, {
|
|
1809
1810
|
variant: "link",
|
|
1810
1811
|
type: "button",
|
|
1811
1812
|
className: "self-end font-normal text-muted-foreground text-xs hover:text-foreground sm:text-xs",
|
|
@@ -1817,22 +1818,22 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1817
1818
|
}),
|
|
1818
1819
|
c && /* @__PURE__ */ a("div", {
|
|
1819
1820
|
className: "flex items-center gap-2",
|
|
1820
|
-
children: [/* @__PURE__ */ i(
|
|
1821
|
+
children: [/* @__PURE__ */ i(nt, {
|
|
1821
1822
|
id: h,
|
|
1822
1823
|
checked: S,
|
|
1823
1824
|
onCheckedChange: (e) => C(e),
|
|
1824
1825
|
disabled: A
|
|
1825
|
-
}), /* @__PURE__ */ i(
|
|
1826
|
+
}), /* @__PURE__ */ i(St, {
|
|
1826
1827
|
htmlFor: h,
|
|
1827
1828
|
className: "font-normal",
|
|
1828
1829
|
children: "Remember me"
|
|
1829
1830
|
})]
|
|
1830
1831
|
}),
|
|
1831
|
-
/* @__PURE__ */ i(
|
|
1832
|
-
/* @__PURE__ */ i(
|
|
1833
|
-
show:
|
|
1834
|
-
children: /* @__PURE__ */ i(
|
|
1835
|
-
className:
|
|
1832
|
+
/* @__PURE__ */ i(Q, { message: v }),
|
|
1833
|
+
/* @__PURE__ */ i(Z, {
|
|
1834
|
+
show: j,
|
|
1835
|
+
children: /* @__PURE__ */ i(q, {
|
|
1836
|
+
className: K("w-full", o && "border-transparent bg-[var(--auth-accent)] bg-[image:var(--auth-accent-image)] text-[var(--auth-accent-foreground)] shadow-none hover:bg-[var(--auth-accent)] hover:brightness-110 data-pressed:bg-[var(--auth-accent)] data-pressed:brightness-110 *:data-[slot=button-loading-indicator]:text-[var(--auth-accent-foreground)]"),
|
|
1836
1837
|
type: "submit",
|
|
1837
1838
|
loading: g === "loading",
|
|
1838
1839
|
disabled: A,
|
|
@@ -1840,15 +1841,15 @@ function mn({ title: e = "Login to your account", description: t = "Enter your e
|
|
|
1840
1841
|
})
|
|
1841
1842
|
})
|
|
1842
1843
|
]
|
|
1843
|
-
}), s.length > 0 && /* @__PURE__ */ a(
|
|
1844
|
-
show: !
|
|
1844
|
+
}), s.length > 0 && /* @__PURE__ */ a(Z, {
|
|
1845
|
+
show: !j,
|
|
1845
1846
|
className: "flex flex-col gap-4",
|
|
1846
|
-
children: [/* @__PURE__ */ i(cn, { label: "Or continue with" }), /* @__PURE__ */ i(
|
|
1847
|
+
children: [/* @__PURE__ */ i(cn, { label: "Or continue with" }), /* @__PURE__ */ i($t, {
|
|
1847
1848
|
providers: s,
|
|
1848
1849
|
action: "login",
|
|
1849
1850
|
loadingProvider: b,
|
|
1850
1851
|
disabled: g === "loading",
|
|
1851
|
-
onSelect:
|
|
1852
|
+
onSelect: te
|
|
1852
1853
|
})]
|
|
1853
1854
|
})]
|
|
1854
1855
|
})
|
|
@@ -1873,7 +1874,7 @@ function gn(e, t) {
|
|
|
1873
1874
|
return e.kind === "select" && r.length > 0 && !e.options.map((e) => e.value).includes(r) ? `Choose a valid option for ${e.label}` : e.validate?.(r) ?? null;
|
|
1874
1875
|
}
|
|
1875
1876
|
function _n({ step: e, values: t, submitting: n = !1, submitLabel: r, onSubmit: o, onBack: s, onDraftChange: c }) {
|
|
1876
|
-
let l =
|
|
1877
|
+
let l = N.useId(), [u, d] = N.useState(() => Object.fromEntries(e.fields.map((e) => [e.name, hn(e, t[e.name])]))), [f, p] = N.useState({});
|
|
1877
1878
|
function m(e, t) {
|
|
1878
1879
|
d((n) => ({
|
|
1879
1880
|
...n,
|
|
@@ -1908,35 +1909,35 @@ function _n({ step: e, values: t, submitting: n = !1, submitLabel: r, onSubmit:
|
|
|
1908
1909
|
onSubmit: h,
|
|
1909
1910
|
children: [e.fields.map((e) => {
|
|
1910
1911
|
let t = f[e.name] || void 0, r = `${l}-${e.name}`, o = u[e.name];
|
|
1911
|
-
return e.kind === "checkbox" ? /* @__PURE__ */ a(
|
|
1912
|
+
return e.kind === "checkbox" ? /* @__PURE__ */ a(J, {
|
|
1912
1913
|
name: e.name,
|
|
1913
1914
|
invalid: !!t,
|
|
1914
1915
|
className: "gap-1.5",
|
|
1915
1916
|
children: [/* @__PURE__ */ a("div", {
|
|
1916
1917
|
className: "flex items-center gap-2",
|
|
1917
|
-
children: [/* @__PURE__ */ i(
|
|
1918
|
+
children: [/* @__PURE__ */ i(nt, {
|
|
1918
1919
|
id: r,
|
|
1919
1920
|
checked: o === !0,
|
|
1920
1921
|
disabled: n,
|
|
1921
1922
|
onCheckedChange: (t) => m(e.name, t)
|
|
1922
|
-
}), /* @__PURE__ */ i(
|
|
1923
|
+
}), /* @__PURE__ */ i(St, {
|
|
1923
1924
|
htmlFor: r,
|
|
1924
1925
|
className: "font-normal",
|
|
1925
1926
|
children: e.label
|
|
1926
1927
|
})]
|
|
1927
|
-
}), t && /* @__PURE__ */ i(
|
|
1928
|
+
}), t && /* @__PURE__ */ i(at, {
|
|
1928
1929
|
match: !0,
|
|
1929
1930
|
children: t
|
|
1930
1931
|
})]
|
|
1931
|
-
}, e.name) : /* @__PURE__ */ a(
|
|
1932
|
+
}, e.name) : /* @__PURE__ */ a(J, {
|
|
1932
1933
|
name: e.name,
|
|
1933
1934
|
invalid: !!t,
|
|
1934
1935
|
children: [
|
|
1935
|
-
/* @__PURE__ */ i(
|
|
1936
|
+
/* @__PURE__ */ i(Y, {
|
|
1936
1937
|
htmlFor: r,
|
|
1937
1938
|
children: e.label
|
|
1938
1939
|
}),
|
|
1939
|
-
e.kind === "textarea" ? /* @__PURE__ */ i(
|
|
1940
|
+
e.kind === "textarea" ? /* @__PURE__ */ i(ht, {
|
|
1940
1941
|
id: r,
|
|
1941
1942
|
"aria-invalid": t ? !0 : void 0,
|
|
1942
1943
|
disabled: n,
|
|
@@ -1946,7 +1947,7 @@ function _n({ step: e, values: t, submitting: n = !1, submitLabel: r, onSubmit:
|
|
|
1946
1947
|
}) : e.kind === "select" ? /* @__PURE__ */ a("select", {
|
|
1947
1948
|
id: r,
|
|
1948
1949
|
"aria-invalid": t ? !0 : void 0,
|
|
1949
|
-
className:
|
|
1950
|
+
className: K("h-8.5 w-full rounded-lg border border-input bg-background px-[calc(--spacing(3)-1px)] text-base text-foreground shadow-xs/5 outline-none transition-[box-shadow,border-color] duration-150 ease-smooth-out focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/24 disabled:opacity-64 aria-invalid:border-destructive/36 sm:h-7.5 sm:text-sm dark:bg-input/32"),
|
|
1950
1951
|
disabled: n,
|
|
1951
1952
|
value: String(o ?? ""),
|
|
1952
1953
|
onChange: (t) => m(e.name, t.target.value),
|
|
@@ -1957,7 +1958,7 @@ function _n({ step: e, values: t, submitting: n = !1, submitLabel: r, onSubmit:
|
|
|
1957
1958
|
value: e.value,
|
|
1958
1959
|
children: e.label
|
|
1959
1960
|
}, e.value))]
|
|
1960
|
-
}) : /* @__PURE__ */ i(
|
|
1961
|
+
}) : /* @__PURE__ */ i(mt, {
|
|
1961
1962
|
id: r,
|
|
1962
1963
|
"aria-invalid": t ? !0 : void 0,
|
|
1963
1964
|
disabled: n,
|
|
@@ -1966,7 +1967,7 @@ function _n({ step: e, values: t, submitting: n = !1, submitLabel: r, onSubmit:
|
|
|
1966
1967
|
value: String(o ?? ""),
|
|
1967
1968
|
onChange: (t) => m(e.name, t.target.value)
|
|
1968
1969
|
}),
|
|
1969
|
-
t && /* @__PURE__ */ i(
|
|
1970
|
+
t && /* @__PURE__ */ i(at, {
|
|
1970
1971
|
match: !0,
|
|
1971
1972
|
children: t
|
|
1972
1973
|
})
|
|
@@ -1974,13 +1975,13 @@ function _n({ step: e, values: t, submitting: n = !1, submitLabel: r, onSubmit:
|
|
|
1974
1975
|
}, e.name);
|
|
1975
1976
|
}), /* @__PURE__ */ a("div", {
|
|
1976
1977
|
className: "flex gap-2",
|
|
1977
|
-
children: [s && /* @__PURE__ */ i(
|
|
1978
|
+
children: [s && /* @__PURE__ */ i(q, {
|
|
1978
1979
|
type: "button",
|
|
1979
1980
|
variant: "outline",
|
|
1980
1981
|
disabled: n,
|
|
1981
1982
|
onClick: s,
|
|
1982
1983
|
children: "Back"
|
|
1983
|
-
}), /* @__PURE__ */ i(
|
|
1984
|
+
}), /* @__PURE__ */ i(q, {
|
|
1984
1985
|
className: "flex-1",
|
|
1985
1986
|
type: "submit",
|
|
1986
1987
|
loading: n,
|
|
@@ -2002,8 +2003,8 @@ var vn = [{
|
|
|
2002
2003
|
}]
|
|
2003
2004
|
}];
|
|
2004
2005
|
function yn({ steps: e = vn, logo: t, accent: n, onStepSubmit: r, onComplete: o, showCompleteScreen: s = !0, className: c }) {
|
|
2005
|
-
let l =
|
|
2006
|
-
|
|
2006
|
+
let l = N.useRef(null), u = N.useRef({}), [d, f] = N.useState({}), [p, m] = N.useState(0), [h, g] = N.useState({}), [_, v] = N.useState("idle"), [y, b] = N.useState(null), x = _ === "success", S = e[p], C = p >= e.length - 1;
|
|
2007
|
+
N.useEffect(() => {
|
|
2007
2008
|
y || l.current?.focus();
|
|
2008
2009
|
}, [
|
|
2009
2010
|
p,
|
|
@@ -2023,13 +2024,13 @@ function yn({ steps: e = vn, logo: t, accent: n, onStepSubmit: r, onComplete: o,
|
|
|
2023
2024
|
v("idle"), b(e instanceof Error ? e.message : "Unable to save your profile.");
|
|
2024
2025
|
}
|
|
2025
2026
|
}
|
|
2026
|
-
return x && !s ? null : /* @__PURE__ */ i(
|
|
2027
|
+
return x && !s ? null : /* @__PURE__ */ i(an, {
|
|
2027
2028
|
title: x ? "You're all set" : S?.title ?? "Your profile",
|
|
2028
2029
|
description: x ? void 0 : S?.description,
|
|
2029
2030
|
logo: t,
|
|
2030
2031
|
accent: n,
|
|
2031
2032
|
className: c,
|
|
2032
|
-
children: /* @__PURE__ */ i(
|
|
2033
|
+
children: /* @__PURE__ */ i(on, {
|
|
2033
2034
|
step: x ? "done" : `step-${p}`,
|
|
2034
2035
|
children: x ? /* @__PURE__ */ i(sn, {
|
|
2035
2036
|
title: "Profile saved",
|
|
@@ -2043,7 +2044,7 @@ function yn({ steps: e = vn, logo: t, accent: n, onStepSubmit: r, onComplete: o,
|
|
|
2043
2044
|
className: "flex flex-wrap gap-x-3 gap-y-1 text-xs",
|
|
2044
2045
|
children: e.map((e, t) => /* @__PURE__ */ a("li", {
|
|
2045
2046
|
"aria-current": t === p ? "step" : void 0,
|
|
2046
|
-
className:
|
|
2047
|
+
className: K("text-muted-foreground", t === p && "font-medium text-foreground"),
|
|
2047
2048
|
children: [e.title, t < p && /* @__PURE__ */ i("span", {
|
|
2048
2049
|
className: "sr-only",
|
|
2049
2050
|
children: " (completed)"
|
|
@@ -2057,7 +2058,7 @@ function yn({ steps: e = vn, logo: t, accent: n, onStepSubmit: r, onComplete: o,
|
|
|
2057
2058
|
className: "sr-only",
|
|
2058
2059
|
children: S.title
|
|
2059
2060
|
}),
|
|
2060
|
-
/* @__PURE__ */ i(
|
|
2061
|
+
/* @__PURE__ */ i(Q, { message: y }),
|
|
2061
2062
|
/* @__PURE__ */ i(_n, {
|
|
2062
2063
|
step: S,
|
|
2063
2064
|
values: {
|
|
@@ -2091,7 +2092,7 @@ function Sn(e) {
|
|
|
2091
2092
|
return Number.isNaN(t.getTime()) ? null : t.toLocaleDateString();
|
|
2092
2093
|
}
|
|
2093
2094
|
function Cn({ title: e = "Passkeys", description: t = "Sign in without a password using your device's biometrics or security key.", passkeys: n = [], available: r = !0, loading: o = !1, onRegister: s, onRename: c, onDelete: l, className: u }) {
|
|
2094
|
-
let [d, f] =
|
|
2095
|
+
let [d, f] = N.useState(null), [p, m] = N.useState(!1), [h, g] = N.useState(!1), [_, v] = N.useState(null), [y, b] = N.useState(""), [S, C] = N.useState(null), [w, T] = N.useState(null), E = n.length === 1;
|
|
2095
2096
|
async function D(e) {
|
|
2096
2097
|
if (p) return { ok: !1 };
|
|
2097
2098
|
f(null), m(!0);
|
|
@@ -2120,35 +2121,35 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2120
2121
|
}
|
|
2121
2122
|
(await D(() => c?.(e, t))).ok && (v(null), C(null));
|
|
2122
2123
|
}
|
|
2123
|
-
async function
|
|
2124
|
+
async function ee(e) {
|
|
2124
2125
|
let t = await D(() => l?.(e));
|
|
2125
2126
|
T(null), t.ok && _ === e && v(null);
|
|
2126
2127
|
}
|
|
2127
2128
|
return /* @__PURE__ */ i(ye, {
|
|
2128
2129
|
reducedMotion: "user",
|
|
2129
|
-
children: /* @__PURE__ */ a(
|
|
2130
|
-
className:
|
|
2130
|
+
children: /* @__PURE__ */ a(Be, {
|
|
2131
|
+
className: K("w-full", u),
|
|
2131
2132
|
"data-slot": "auth-block",
|
|
2132
|
-
children: [/* @__PURE__ */ a(
|
|
2133
|
+
children: [/* @__PURE__ */ a(qe, { children: [/* @__PURE__ */ i(Je, { children: e }), /* @__PURE__ */ i(Ye, { children: t })] }), /* @__PURE__ */ i(Ze, { children: r ? o ? /* @__PURE__ */ a("div", {
|
|
2133
2134
|
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
2134
|
-
children: [/* @__PURE__ */ i(
|
|
2135
|
-
}) : /* @__PURE__ */ a(
|
|
2135
|
+
children: [/* @__PURE__ */ i(Ae, { className: "size-4" }), "Loading passkeys…"]
|
|
2136
|
+
}) : /* @__PURE__ */ a(G.div, {
|
|
2136
2137
|
layout: !0,
|
|
2137
2138
|
transition: {
|
|
2138
2139
|
duration: .3,
|
|
2139
|
-
ease:
|
|
2140
|
+
ease: X
|
|
2140
2141
|
},
|
|
2141
2142
|
className: "flex flex-col gap-3",
|
|
2142
2143
|
children: [
|
|
2143
|
-
/* @__PURE__ */ i(
|
|
2144
|
+
/* @__PURE__ */ i(Q, { message: d }),
|
|
2144
2145
|
n.length > 0 ? /* @__PURE__ */ i("ul", {
|
|
2145
2146
|
"aria-label": "Passkeys",
|
|
2146
2147
|
className: "flex flex-col gap-2",
|
|
2147
|
-
children: /* @__PURE__ */ i(
|
|
2148
|
+
children: /* @__PURE__ */ i(W, {
|
|
2148
2149
|
initial: !1,
|
|
2149
2150
|
children: n.map((e, t) => {
|
|
2150
2151
|
let n = e.name ?? "Passkey", r = Sn(e.createdAt), o = Sn(e.lastUsedAt);
|
|
2151
|
-
return /* @__PURE__ */ a(
|
|
2152
|
+
return /* @__PURE__ */ a(G.li, {
|
|
2152
2153
|
layout: !0,
|
|
2153
2154
|
className: "flex flex-col gap-2 rounded-lg border px-3 py-2",
|
|
2154
2155
|
initial: {
|
|
@@ -2165,7 +2166,7 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2165
2166
|
},
|
|
2166
2167
|
transition: {
|
|
2167
2168
|
duration: .25,
|
|
2168
|
-
ease:
|
|
2169
|
+
ease: X,
|
|
2169
2170
|
delay: Math.min(t, 5) * .04
|
|
2170
2171
|
},
|
|
2171
2172
|
children: [
|
|
@@ -2193,7 +2194,7 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2193
2194
|
})]
|
|
2194
2195
|
}), /* @__PURE__ */ a("div", {
|
|
2195
2196
|
className: "flex shrink-0 gap-2",
|
|
2196
|
-
children: [/* @__PURE__ */ i(
|
|
2197
|
+
children: [/* @__PURE__ */ i(q, {
|
|
2197
2198
|
"aria-label": `Rename ${n}`,
|
|
2198
2199
|
size: "sm",
|
|
2199
2200
|
type: "button",
|
|
@@ -2201,7 +2202,7 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2201
2202
|
disabled: p,
|
|
2202
2203
|
onClick: () => k(e),
|
|
2203
2204
|
children: "Rename"
|
|
2204
|
-
}), /* @__PURE__ */ i(
|
|
2205
|
+
}), /* @__PURE__ */ i(q, {
|
|
2205
2206
|
"aria-label": `Delete ${n}`,
|
|
2206
2207
|
size: "sm",
|
|
2207
2208
|
type: "button",
|
|
@@ -2214,7 +2215,7 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2214
2215
|
})]
|
|
2215
2216
|
})]
|
|
2216
2217
|
}),
|
|
2217
|
-
/* @__PURE__ */ i(
|
|
2218
|
+
/* @__PURE__ */ i(Z, {
|
|
2218
2219
|
show: _ === e.id,
|
|
2219
2220
|
children: /* @__PURE__ */ a("form", {
|
|
2220
2221
|
className: "flex items-start gap-2 pt-1",
|
|
@@ -2222,15 +2223,15 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2222
2223
|
t.preventDefault(), A(e.id);
|
|
2223
2224
|
},
|
|
2224
2225
|
children: [
|
|
2225
|
-
/* @__PURE__ */ a(
|
|
2226
|
+
/* @__PURE__ */ a(J, {
|
|
2226
2227
|
className: "min-w-0 grow",
|
|
2227
2228
|
invalid: !!S,
|
|
2228
2229
|
children: [
|
|
2229
|
-
/* @__PURE__ */ i(
|
|
2230
|
+
/* @__PURE__ */ i(Y, {
|
|
2230
2231
|
className: "sr-only",
|
|
2231
2232
|
children: "Passkey name"
|
|
2232
2233
|
}),
|
|
2233
|
-
/* @__PURE__ */ i(
|
|
2234
|
+
/* @__PURE__ */ i(mt, {
|
|
2234
2235
|
"aria-label": "Passkey name",
|
|
2235
2236
|
"aria-invalid": S ? !0 : void 0,
|
|
2236
2237
|
autoFocus: !0,
|
|
@@ -2239,19 +2240,19 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2239
2240
|
value: y,
|
|
2240
2241
|
onChange: (e) => b(e.target.value)
|
|
2241
2242
|
}),
|
|
2242
|
-
S && /* @__PURE__ */ i(
|
|
2243
|
+
S && /* @__PURE__ */ i(at, {
|
|
2243
2244
|
match: !0,
|
|
2244
2245
|
children: S
|
|
2245
2246
|
})
|
|
2246
2247
|
]
|
|
2247
2248
|
}),
|
|
2248
|
-
/* @__PURE__ */ i(
|
|
2249
|
+
/* @__PURE__ */ i(q, {
|
|
2249
2250
|
size: "sm",
|
|
2250
2251
|
type: "submit",
|
|
2251
2252
|
loading: p,
|
|
2252
2253
|
children: "Save"
|
|
2253
2254
|
}),
|
|
2254
|
-
/* @__PURE__ */ i(
|
|
2255
|
+
/* @__PURE__ */ i(q, {
|
|
2255
2256
|
size: "sm",
|
|
2256
2257
|
type: "button",
|
|
2257
2258
|
variant: "ghost",
|
|
@@ -2262,7 +2263,7 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2262
2263
|
]
|
|
2263
2264
|
})
|
|
2264
2265
|
}),
|
|
2265
|
-
/* @__PURE__ */ i(
|
|
2266
|
+
/* @__PURE__ */ i(Z, {
|
|
2266
2267
|
show: w === e.id,
|
|
2267
2268
|
children: /* @__PURE__ */ a("div", {
|
|
2268
2269
|
className: "flex flex-col gap-2 rounded-lg bg-muted/50 p-2",
|
|
@@ -2279,14 +2280,14 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2279
2280
|
}),
|
|
2280
2281
|
/* @__PURE__ */ a("div", {
|
|
2281
2282
|
className: "flex gap-2",
|
|
2282
|
-
children: [/* @__PURE__ */ i(
|
|
2283
|
+
children: [/* @__PURE__ */ i(q, {
|
|
2283
2284
|
size: "sm",
|
|
2284
2285
|
type: "button",
|
|
2285
2286
|
variant: "destructive",
|
|
2286
2287
|
loading: p,
|
|
2287
|
-
onClick: () => void
|
|
2288
|
+
onClick: () => void ee(e.id),
|
|
2288
2289
|
children: "Delete passkey"
|
|
2289
|
-
}), /* @__PURE__ */ i(
|
|
2290
|
+
}), /* @__PURE__ */ i(q, {
|
|
2290
2291
|
size: "sm",
|
|
2291
2292
|
type: "button",
|
|
2292
2293
|
variant: "ghost",
|
|
@@ -2306,7 +2307,7 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2306
2307
|
className: "text-sm text-muted-foreground",
|
|
2307
2308
|
children: "No passkeys registered yet. Add one to sign in without a password."
|
|
2308
2309
|
}),
|
|
2309
|
-
/* @__PURE__ */ i(
|
|
2310
|
+
/* @__PURE__ */ i(q, {
|
|
2310
2311
|
className: "w-full",
|
|
2311
2312
|
type: "button",
|
|
2312
2313
|
variant: "outline",
|
|
@@ -2326,7 +2327,7 @@ function Cn({ title: e = "Passkeys", description: t = "Sign in without a passwor
|
|
|
2326
2327
|
//#endregion
|
|
2327
2328
|
//#region src/components/blocks/auth/passkey-sign-in-block.tsx
|
|
2328
2329
|
function wn({ available: e = !0, label: t = "Sign in with a passkey", onSignIn: n, fallbackHint: r = "You can still sign in with your other methods below.", className: o }) {
|
|
2329
|
-
let [s, c] =
|
|
2330
|
+
let [s, c] = N.useState(null), [l, u] = N.useState(!1);
|
|
2330
2331
|
if (!e) return null;
|
|
2331
2332
|
async function d() {
|
|
2332
2333
|
if (!l) {
|
|
@@ -2341,9 +2342,9 @@ function wn({ available: e = !0, label: t = "Sign in with a passkey", onSignIn:
|
|
|
2341
2342
|
}
|
|
2342
2343
|
}
|
|
2343
2344
|
return /* @__PURE__ */ a("div", {
|
|
2344
|
-
className:
|
|
2345
|
+
className: K("flex w-full flex-col gap-2", o),
|
|
2345
2346
|
children: [
|
|
2346
|
-
/* @__PURE__ */ a(
|
|
2347
|
+
/* @__PURE__ */ a(q, {
|
|
2347
2348
|
variant: "outline",
|
|
2348
2349
|
className: "w-full",
|
|
2349
2350
|
type: "button",
|
|
@@ -2354,8 +2355,8 @@ function wn({ available: e = !0, label: t = "Sign in with a passkey", onSignIn:
|
|
|
2354
2355
|
children: t
|
|
2355
2356
|
})]
|
|
2356
2357
|
}),
|
|
2357
|
-
/* @__PURE__ */ i(
|
|
2358
|
-
/* @__PURE__ */ i(
|
|
2358
|
+
/* @__PURE__ */ i(Q, { message: s }),
|
|
2359
|
+
/* @__PURE__ */ i(Z, {
|
|
2359
2360
|
show: !!s && !!r,
|
|
2360
2361
|
children: /* @__PURE__ */ i("p", {
|
|
2361
2362
|
className: "text-xs text-muted-foreground",
|
|
@@ -2372,17 +2373,17 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2372
2373
|
"apple",
|
|
2373
2374
|
"github"
|
|
2374
2375
|
], showNameField: c = !0, showTerms: l = !0, termsChecked: u, defaultTermsChecked: d = !1, onTermsCheckedChange: f, enforceStrongPassword: p = !0, onSubmit: m, termsComponent: h, onProviderSelect: g, onLogin: _, onTerms: v }) {
|
|
2375
|
-
let y =
|
|
2376
|
-
function
|
|
2377
|
-
u === void 0 &&
|
|
2376
|
+
let y = N.useId(), b = N.useId(), x = N.useId(), S = N.useId(), [C, w] = N.useState("idle"), [T, E] = N.useState(null), [D, O] = N.useState(null), [k, A] = N.useState(""), [ee, j] = N.useState(d), M = u ?? ee;
|
|
2377
|
+
function te(e) {
|
|
2378
|
+
u === void 0 && j(e), f?.(e);
|
|
2378
2379
|
}
|
|
2379
|
-
let [
|
|
2380
|
-
async function
|
|
2381
|
-
if (e.preventDefault(), E(null), !
|
|
2380
|
+
let [ne, P] = N.useState(!1), [F, I] = N.useState(!1), L = C === "loading" || D !== null, R = !p || qt(k) === Kt.length, z = k.trim().length > 0 && R, B = (!c || F) && ne && z;
|
|
2381
|
+
async function re(e) {
|
|
2382
|
+
if (e.preventDefault(), E(null), !R) {
|
|
2382
2383
|
E("Please meet all password requirements.");
|
|
2383
2384
|
return;
|
|
2384
2385
|
}
|
|
2385
|
-
if (l && !
|
|
2386
|
+
if (l && !M) {
|
|
2386
2387
|
E("Please accept the terms to continue.");
|
|
2387
2388
|
return;
|
|
2388
2389
|
}
|
|
@@ -2398,7 +2399,7 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2398
2399
|
w("idle"), E(e instanceof Error ? e.message : "Unable to create account.");
|
|
2399
2400
|
}
|
|
2400
2401
|
}
|
|
2401
|
-
async function
|
|
2402
|
+
async function ie(e) {
|
|
2402
2403
|
E(null), O(e);
|
|
2403
2404
|
try {
|
|
2404
2405
|
await g?.(e), w("success");
|
|
@@ -2408,7 +2409,7 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2408
2409
|
O(null);
|
|
2409
2410
|
}
|
|
2410
2411
|
}
|
|
2411
|
-
return /* @__PURE__ */ i(
|
|
2412
|
+
return /* @__PURE__ */ i(an, {
|
|
2412
2413
|
title: e,
|
|
2413
2414
|
description: t,
|
|
2414
2415
|
logo: n,
|
|
@@ -2416,55 +2417,55 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2416
2417
|
footer: C !== "success" && /* @__PURE__ */ a(r, { children: [
|
|
2417
2418
|
"Already have an account?",
|
|
2418
2419
|
" ",
|
|
2419
|
-
/* @__PURE__ */ i(
|
|
2420
|
+
/* @__PURE__ */ i(q, {
|
|
2420
2421
|
variant: "link",
|
|
2421
2422
|
onClick: _,
|
|
2422
2423
|
children: "Login"
|
|
2423
2424
|
})
|
|
2424
2425
|
] }),
|
|
2425
|
-
children: /* @__PURE__ */ i(
|
|
2426
|
+
children: /* @__PURE__ */ i(on, {
|
|
2426
2427
|
step: C === "success" ? "success" : "form",
|
|
2427
2428
|
children: C === "success" ? /* @__PURE__ */ i(sn, {
|
|
2428
2429
|
title: "Account created",
|
|
2429
2430
|
description: "Check your inbox to confirm your email address."
|
|
2430
2431
|
}) : /* @__PURE__ */ a("div", {
|
|
2431
2432
|
className: "flex flex-col gap-4",
|
|
2432
|
-
children: [s.length > 0 && /* @__PURE__ */ a(
|
|
2433
|
-
show: !
|
|
2433
|
+
children: [s.length > 0 && /* @__PURE__ */ a(Z, {
|
|
2434
|
+
show: !B,
|
|
2434
2435
|
className: "flex flex-col gap-4",
|
|
2435
|
-
children: [/* @__PURE__ */ i(
|
|
2436
|
+
children: [/* @__PURE__ */ i($t, {
|
|
2436
2437
|
providers: s,
|
|
2437
2438
|
action: "signup",
|
|
2438
2439
|
loadingProvider: D,
|
|
2439
2440
|
disabled: C === "loading",
|
|
2440
|
-
onSelect:
|
|
2441
|
+
onSelect: ie
|
|
2441
2442
|
}), /* @__PURE__ */ i(cn, { label: "Or with email" })]
|
|
2442
2443
|
}), /* @__PURE__ */ a("form", {
|
|
2443
2444
|
className: "flex flex-col gap-4",
|
|
2444
|
-
onSubmit:
|
|
2445
|
+
onSubmit: re,
|
|
2445
2446
|
children: [
|
|
2446
|
-
c && /* @__PURE__ */ a(
|
|
2447
|
+
c && /* @__PURE__ */ a(J, {
|
|
2447
2448
|
name: "name",
|
|
2448
|
-
children: [/* @__PURE__ */ i(
|
|
2449
|
+
children: [/* @__PURE__ */ i(Y, {
|
|
2449
2450
|
htmlFor: y,
|
|
2450
2451
|
children: "Name"
|
|
2451
|
-
}), /* @__PURE__ */ i(
|
|
2452
|
+
}), /* @__PURE__ */ i(mt, {
|
|
2452
2453
|
"aria-label": "Name",
|
|
2453
2454
|
id: y,
|
|
2454
2455
|
name: "name",
|
|
2455
2456
|
autoComplete: "name",
|
|
2456
2457
|
placeholder: "Your name",
|
|
2457
2458
|
required: !0,
|
|
2458
|
-
disabled:
|
|
2459
|
-
onChange: (e) =>
|
|
2459
|
+
disabled: L,
|
|
2460
|
+
onChange: (e) => I(e.currentTarget.validity.valid)
|
|
2460
2461
|
})]
|
|
2461
2462
|
}),
|
|
2462
|
-
/* @__PURE__ */ a(
|
|
2463
|
+
/* @__PURE__ */ a(J, {
|
|
2463
2464
|
name: "email",
|
|
2464
|
-
children: [/* @__PURE__ */ i(
|
|
2465
|
+
children: [/* @__PURE__ */ i(Y, {
|
|
2465
2466
|
htmlFor: b,
|
|
2466
2467
|
children: "Email"
|
|
2467
|
-
}), /* @__PURE__ */ i(
|
|
2468
|
+
}), /* @__PURE__ */ i(mt, {
|
|
2468
2469
|
id: b,
|
|
2469
2470
|
name: "email",
|
|
2470
2471
|
type: "email",
|
|
@@ -2472,18 +2473,18 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2472
2473
|
autoComplete: "email",
|
|
2473
2474
|
placeholder: "you@example.com",
|
|
2474
2475
|
required: !0,
|
|
2475
|
-
disabled:
|
|
2476
|
-
onChange: (e) =>
|
|
2476
|
+
disabled: L,
|
|
2477
|
+
onChange: (e) => P(e.currentTarget.validity.valid)
|
|
2477
2478
|
})]
|
|
2478
2479
|
}),
|
|
2479
|
-
/* @__PURE__ */ i(
|
|
2480
|
-
show:
|
|
2481
|
-
children: /* @__PURE__ */ a(
|
|
2480
|
+
/* @__PURE__ */ i(Z, {
|
|
2481
|
+
show: ne,
|
|
2482
|
+
children: /* @__PURE__ */ a(J, {
|
|
2482
2483
|
name: "password",
|
|
2483
|
-
children: [/* @__PURE__ */ i(
|
|
2484
|
+
children: [/* @__PURE__ */ i(Y, {
|
|
2484
2485
|
htmlFor: x,
|
|
2485
2486
|
children: "Password"
|
|
2486
|
-
}), /* @__PURE__ */ i(
|
|
2487
|
+
}), /* @__PURE__ */ i(Yt, {
|
|
2487
2488
|
id: x,
|
|
2488
2489
|
name: "password",
|
|
2489
2490
|
"aria-label": "Password",
|
|
@@ -2491,7 +2492,7 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2491
2492
|
placeholder: "Create a password",
|
|
2492
2493
|
showStrength: !0,
|
|
2493
2494
|
required: !0,
|
|
2494
|
-
disabled:
|
|
2495
|
+
disabled: L,
|
|
2495
2496
|
value: k,
|
|
2496
2497
|
onChange: (e) => A(e.target.value)
|
|
2497
2498
|
})]
|
|
@@ -2499,18 +2500,18 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2499
2500
|
}),
|
|
2500
2501
|
l && /* @__PURE__ */ a("div", {
|
|
2501
2502
|
className: "flex items-center gap-2",
|
|
2502
|
-
children: [/* @__PURE__ */ i(
|
|
2503
|
+
children: [/* @__PURE__ */ i(nt, {
|
|
2503
2504
|
id: S,
|
|
2504
|
-
checked:
|
|
2505
|
-
onCheckedChange: (e) =>
|
|
2506
|
-
disabled:
|
|
2507
|
-
}), /* @__PURE__ */ a(
|
|
2505
|
+
checked: M,
|
|
2506
|
+
onCheckedChange: (e) => te(e === !0),
|
|
2507
|
+
disabled: L
|
|
2508
|
+
}), /* @__PURE__ */ a(St, {
|
|
2508
2509
|
htmlFor: S,
|
|
2509
2510
|
className: "font-normal",
|
|
2510
2511
|
children: [
|
|
2511
2512
|
"I agree to the",
|
|
2512
2513
|
" ",
|
|
2513
|
-
h ?? /* @__PURE__ */ i(
|
|
2514
|
+
h ?? /* @__PURE__ */ i(q, {
|
|
2514
2515
|
variant: "link",
|
|
2515
2516
|
type: "button",
|
|
2516
2517
|
onClick: v,
|
|
@@ -2519,12 +2520,12 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2519
2520
|
]
|
|
2520
2521
|
})]
|
|
2521
2522
|
}),
|
|
2522
|
-
/* @__PURE__ */ i(
|
|
2523
|
-
/* @__PURE__ */ i(
|
|
2524
|
-
className:
|
|
2523
|
+
/* @__PURE__ */ i(Q, { message: T }),
|
|
2524
|
+
/* @__PURE__ */ i(q, {
|
|
2525
|
+
className: K("w-full", o && "border-transparent bg-[var(--auth-accent)] bg-[image:var(--auth-accent-image)] text-[var(--auth-accent-foreground)] shadow-none hover:bg-[var(--auth-accent)] hover:brightness-110 data-pressed:bg-[var(--auth-accent)] data-pressed:brightness-110 *:data-[slot=button-loading-indicator]:text-[var(--auth-accent-foreground)]"),
|
|
2525
2526
|
type: "submit",
|
|
2526
2527
|
loading: C === "loading",
|
|
2527
|
-
disabled:
|
|
2528
|
+
disabled: L,
|
|
2528
2529
|
children: "Create account"
|
|
2529
2530
|
})
|
|
2530
2531
|
]
|
|
@@ -2536,7 +2537,7 @@ function Tn({ title: e = "Create your account", description: t = "Start explorin
|
|
|
2536
2537
|
//#endregion
|
|
2537
2538
|
//#region src/components/blocks/auth/update-password-block.tsx
|
|
2538
2539
|
function En({ title: e = "Update your password", description: t = "Choose a new password for your account", logo: n, accent: r, minStrength: o = 4, onSubmit: s, onDone: c }) {
|
|
2539
|
-
let l =
|
|
2540
|
+
let l = N.useId(), u = N.useId(), [d, f] = N.useState("idle"), [p, m] = N.useState(null), [h, g] = N.useState(""), [_, v] = N.useState(""), y = qt(h) >= o, b = _.length > 0 && _ === h, x = y && b, S = _.length > 0 && !h.startsWith(_);
|
|
2540
2541
|
async function C(e) {
|
|
2541
2542
|
if (e.preventDefault(), x) {
|
|
2542
2543
|
m(null), f("loading");
|
|
@@ -2547,17 +2548,17 @@ function En({ title: e = "Update your password", description: t = "Choose a new
|
|
|
2547
2548
|
}
|
|
2548
2549
|
}
|
|
2549
2550
|
}
|
|
2550
|
-
return /* @__PURE__ */ i(
|
|
2551
|
+
return /* @__PURE__ */ i(an, {
|
|
2551
2552
|
title: e,
|
|
2552
2553
|
description: t,
|
|
2553
2554
|
logo: n,
|
|
2554
2555
|
accent: r,
|
|
2555
|
-
children: /* @__PURE__ */ i(
|
|
2556
|
+
children: /* @__PURE__ */ i(on, {
|
|
2556
2557
|
step: d === "success" ? "success" : "form",
|
|
2557
2558
|
children: d === "success" ? /* @__PURE__ */ i(sn, {
|
|
2558
2559
|
title: "Password updated",
|
|
2559
2560
|
description: "Your password has been changed successfully.",
|
|
2560
|
-
children: c && /* @__PURE__ */ i(
|
|
2561
|
+
children: c && /* @__PURE__ */ i(q, {
|
|
2561
2562
|
variant: "link",
|
|
2562
2563
|
onClick: c,
|
|
2563
2564
|
children: "Continue"
|
|
@@ -2566,12 +2567,12 @@ function En({ title: e = "Update your password", description: t = "Choose a new
|
|
|
2566
2567
|
className: "flex flex-col gap-4",
|
|
2567
2568
|
onSubmit: C,
|
|
2568
2569
|
children: [
|
|
2569
|
-
/* @__PURE__ */ a(
|
|
2570
|
+
/* @__PURE__ */ a(J, {
|
|
2570
2571
|
name: "password",
|
|
2571
|
-
children: [/* @__PURE__ */ i(
|
|
2572
|
+
children: [/* @__PURE__ */ i(Y, {
|
|
2572
2573
|
htmlFor: l,
|
|
2573
2574
|
children: "New password"
|
|
2574
|
-
}), /* @__PURE__ */ i(
|
|
2575
|
+
}), /* @__PURE__ */ i(Yt, {
|
|
2575
2576
|
id: l,
|
|
2576
2577
|
name: "password",
|
|
2577
2578
|
autoComplete: "new-password",
|
|
@@ -2582,14 +2583,14 @@ function En({ title: e = "Update your password", description: t = "Choose a new
|
|
|
2582
2583
|
onChange: (e) => g(e.target.value)
|
|
2583
2584
|
})]
|
|
2584
2585
|
}),
|
|
2585
|
-
/* @__PURE__ */ i(
|
|
2586
|
+
/* @__PURE__ */ i(Z, {
|
|
2586
2587
|
show: y,
|
|
2587
|
-
children: /* @__PURE__ */ a(
|
|
2588
|
+
children: /* @__PURE__ */ a(J, {
|
|
2588
2589
|
name: "confirmPassword",
|
|
2589
|
-
children: [/* @__PURE__ */ i(
|
|
2590
|
+
children: [/* @__PURE__ */ i(Y, {
|
|
2590
2591
|
htmlFor: u,
|
|
2591
2592
|
children: "Confirm new password"
|
|
2592
|
-
}), /* @__PURE__ */ i(
|
|
2593
|
+
}), /* @__PURE__ */ i(Yt, {
|
|
2593
2594
|
id: u,
|
|
2594
2595
|
name: "confirmPassword",
|
|
2595
2596
|
autoComplete: "new-password",
|
|
@@ -2600,11 +2601,11 @@ function En({ title: e = "Update your password", description: t = "Choose a new
|
|
|
2600
2601
|
})]
|
|
2601
2602
|
})
|
|
2602
2603
|
}),
|
|
2603
|
-
/* @__PURE__ */ i(
|
|
2604
|
-
/* @__PURE__ */ i(
|
|
2604
|
+
/* @__PURE__ */ i(Q, { message: p ?? (S ? "Passwords do not match." : null) }),
|
|
2605
|
+
/* @__PURE__ */ i(Z, {
|
|
2605
2606
|
show: x,
|
|
2606
|
-
children: /* @__PURE__ */ i(
|
|
2607
|
-
className:
|
|
2607
|
+
children: /* @__PURE__ */ i(q, {
|
|
2608
|
+
className: K("w-full", r && "border-transparent bg-[var(--auth-accent)] bg-[image:var(--auth-accent-image)] text-[var(--auth-accent-foreground)] shadow-none hover:bg-[var(--auth-accent)] hover:brightness-110 data-pressed:bg-[var(--auth-accent)] data-pressed:brightness-110 *:data-[slot=button-loading-indicator]:text-[var(--auth-accent-foreground)]"),
|
|
2608
2609
|
type: "submit",
|
|
2609
2610
|
loading: d === "loading",
|
|
2610
2611
|
children: "Update password"
|
|
@@ -2617,50 +2618,50 @@ function En({ title: e = "Update your password", description: t = "Choose a new
|
|
|
2617
2618
|
}
|
|
2618
2619
|
//#endregion
|
|
2619
2620
|
//#region src/lib/ease.ts
|
|
2620
|
-
var
|
|
2621
|
+
var $ = [
|
|
2621
2622
|
.16,
|
|
2622
2623
|
1,
|
|
2623
2624
|
.3,
|
|
2624
2625
|
1
|
|
2625
|
-
],
|
|
2626
|
+
], Dn = [
|
|
2626
2627
|
.77,
|
|
2627
2628
|
0,
|
|
2628
2629
|
.175,
|
|
2629
2630
|
1
|
|
2630
|
-
],
|
|
2631
|
+
], On = [
|
|
2631
2632
|
.32,
|
|
2632
2633
|
.72,
|
|
2633
2634
|
0,
|
|
2634
2635
|
1
|
|
2635
|
-
],
|
|
2636
|
+
], kn = "cubic-bezier(0.16, 1, 0.3, 1)", An = {
|
|
2636
2637
|
type: "spring",
|
|
2637
2638
|
stiffness: 500,
|
|
2638
2639
|
damping: 30,
|
|
2639
2640
|
mass: .6
|
|
2640
|
-
},
|
|
2641
|
+
}, jn = {
|
|
2641
2642
|
type: "spring",
|
|
2642
2643
|
stiffness: 460,
|
|
2643
2644
|
damping: 30,
|
|
2644
2645
|
mass: .55
|
|
2645
|
-
},
|
|
2646
|
+
}, Mn = {
|
|
2646
2647
|
type: "spring",
|
|
2647
2648
|
stiffness: 420,
|
|
2648
2649
|
damping: 40,
|
|
2649
2650
|
mass: .5
|
|
2650
|
-
},
|
|
2651
|
+
}, Nn = {
|
|
2651
2652
|
type: "spring",
|
|
2652
2653
|
stiffness: 360,
|
|
2653
2654
|
damping: 32,
|
|
2654
2655
|
mass: .6
|
|
2655
|
-
},
|
|
2656
|
+
}, Pn = {
|
|
2656
2657
|
stiffness: 200,
|
|
2657
2658
|
damping: 15,
|
|
2658
2659
|
mass: .3
|
|
2659
|
-
},
|
|
2660
|
+
}, Fn = {
|
|
2660
2661
|
stiffness: 700,
|
|
2661
2662
|
damping: 50,
|
|
2662
2663
|
mass: .5
|
|
2663
|
-
},
|
|
2664
|
+
}, In = {
|
|
2664
2665
|
initial: {
|
|
2665
2666
|
opacity: 0,
|
|
2666
2667
|
filter: "blur(6px)"
|
|
@@ -2673,36 +2674,36 @@ var Dn = [
|
|
|
2673
2674
|
opacity: 0,
|
|
2674
2675
|
filter: "blur(6px)"
|
|
2675
2676
|
}
|
|
2676
|
-
},
|
|
2677
|
+
}, Ln = {
|
|
2677
2678
|
initial: { opacity: 0 },
|
|
2678
2679
|
animate: { opacity: 1 },
|
|
2679
2680
|
exit: (e) => e ? {} : { opacity: 0 }
|
|
2680
|
-
},
|
|
2681
|
-
let [f, p] =
|
|
2681
|
+
}, Rn = I(function({ children: e, as: t = "div", className: n, onMouseLeave: o, pillClassName: s, pillContainerClassName: c, inset: l = 20, ...u }, d) {
|
|
2682
|
+
let [f, p] = H(null), m = re(), h = be(), g = te.toArray(e).filter(L).map((e, t) => {
|
|
2682
2683
|
let n = e, o = n.key ? String(n.key) : `item-${t}`;
|
|
2683
|
-
return
|
|
2684
|
+
return ne(n, {
|
|
2684
2685
|
key: o,
|
|
2685
|
-
className:
|
|
2686
|
+
className: K("relative", n.props.className),
|
|
2686
2687
|
onMouseEnter: () => {
|
|
2687
2688
|
n.props.onMouseEnter?.(), p(o);
|
|
2688
2689
|
}
|
|
2689
|
-
}, /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(
|
|
2690
|
+
}, /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(W, {
|
|
2690
2691
|
custom: f !== null,
|
|
2691
|
-
children: f === null ? null : /* @__PURE__ */ i(
|
|
2692
|
-
variants: h ?
|
|
2692
|
+
children: f === null ? null : /* @__PURE__ */ i(G.div, {
|
|
2693
|
+
variants: h ? Ln : In,
|
|
2693
2694
|
initial: "initial",
|
|
2694
2695
|
animate: "animate",
|
|
2695
2696
|
exit: "exit",
|
|
2696
2697
|
custom: f !== null,
|
|
2697
|
-
className:
|
|
2698
|
+
className: K("pointer-events-none absolute inset-y-0", c),
|
|
2698
2699
|
style: {
|
|
2699
2700
|
left: -l,
|
|
2700
2701
|
right: -l
|
|
2701
2702
|
},
|
|
2702
|
-
children: f === o ? /* @__PURE__ */ i(
|
|
2703
|
+
children: f === o ? /* @__PURE__ */ i(G.div, {
|
|
2703
2704
|
layoutId: `shared-bg-${m}`,
|
|
2704
|
-
transition: h ? { duration: 0 } :
|
|
2705
|
-
className:
|
|
2705
|
+
transition: h ? { duration: 0 } : Nn,
|
|
2706
|
+
className: K("pointer-events-none h-full w-full rounded-2xl bg-primary/[0.06]", s)
|
|
2706
2707
|
}) : null
|
|
2707
2708
|
})
|
|
2708
2709
|
}), /* @__PURE__ */ i("div", {
|
|
@@ -2712,39 +2713,39 @@ var Dn = [
|
|
|
2712
2713
|
}), _ = (e) => {
|
|
2713
2714
|
p(null), o?.(e);
|
|
2714
2715
|
};
|
|
2715
|
-
return i(t === "ul" ?
|
|
2716
|
+
return i(t === "ul" ? G.ul : G.div, {
|
|
2716
2717
|
...u,
|
|
2717
2718
|
ref: d,
|
|
2718
2719
|
layoutRoot: !0,
|
|
2719
2720
|
onMouseLeave: _,
|
|
2720
|
-
className:
|
|
2721
|
+
className: K("flex w-full flex-col", n),
|
|
2721
2722
|
children: g
|
|
2722
2723
|
});
|
|
2723
|
-
}),
|
|
2724
|
+
}), zn = "(max-width: 767px)", Bn = "b", Vn = {
|
|
2724
2725
|
duration: .36,
|
|
2725
|
-
ease:
|
|
2726
|
-
},
|
|
2726
|
+
ease: On
|
|
2727
|
+
}, Hn = {
|
|
2727
2728
|
type: "spring",
|
|
2728
2729
|
stiffness: 380,
|
|
2729
2730
|
damping: 35,
|
|
2730
2731
|
mass: .75
|
|
2731
|
-
},
|
|
2732
|
+
}, Un = {
|
|
2732
2733
|
duration: .2,
|
|
2733
2734
|
delay: .08,
|
|
2734
|
-
ease:
|
|
2735
|
-
},
|
|
2735
|
+
ease: $
|
|
2736
|
+
}, Wn = {
|
|
2736
2737
|
duration: .12,
|
|
2737
|
-
ease:
|
|
2738
|
-
},
|
|
2738
|
+
ease: $
|
|
2739
|
+
}, Gn = {
|
|
2739
2740
|
duration: .18,
|
|
2740
|
-
ease:
|
|
2741
|
-
},
|
|
2741
|
+
ease: $
|
|
2742
|
+
}, Kn = {
|
|
2742
2743
|
closed: {
|
|
2743
2744
|
opacity: 0,
|
|
2744
2745
|
clipPath: "inset(0 0 100% 0 round 8px)",
|
|
2745
2746
|
transition: {
|
|
2746
2747
|
duration: .14,
|
|
2747
|
-
ease:
|
|
2748
|
+
ease: $,
|
|
2748
2749
|
staggerChildren: .025,
|
|
2749
2750
|
staggerDirection: -1
|
|
2750
2751
|
}
|
|
@@ -2755,11 +2756,11 @@ var Dn = [
|
|
|
2755
2756
|
transition: {
|
|
2756
2757
|
duration: .2,
|
|
2757
2758
|
delayChildren: .035,
|
|
2758
|
-
ease:
|
|
2759
|
+
ease: $,
|
|
2759
2760
|
staggerChildren: .045
|
|
2760
2761
|
}
|
|
2761
2762
|
}
|
|
2762
|
-
},
|
|
2763
|
+
}, qn = {
|
|
2763
2764
|
closed: {
|
|
2764
2765
|
opacity: 0,
|
|
2765
2766
|
y: -6,
|
|
@@ -2769,12 +2770,12 @@ var Dn = [
|
|
|
2769
2770
|
opacity: 1,
|
|
2770
2771
|
y: 0,
|
|
2771
2772
|
filter: "blur(0px)",
|
|
2772
|
-
transition:
|
|
2773
|
+
transition: Gn
|
|
2773
2774
|
}
|
|
2774
|
-
},
|
|
2775
|
+
}, Jn = {
|
|
2775
2776
|
duration: .16,
|
|
2776
|
-
ease:
|
|
2777
|
-
},
|
|
2777
|
+
ease: $
|
|
2778
|
+
}, Yn = [
|
|
2778
2779
|
"a[href]",
|
|
2779
2780
|
"button:not([disabled])",
|
|
2780
2781
|
"input:not([disabled])",
|
|
@@ -2782,91 +2783,119 @@ var Dn = [
|
|
|
2782
2783
|
"textarea:not([disabled])",
|
|
2783
2784
|
"[tabindex]:not([tabindex='-1'])"
|
|
2784
2785
|
].join(",");
|
|
2785
|
-
function
|
|
2786
|
-
let t = window.matchMedia(
|
|
2786
|
+
function Xn(e) {
|
|
2787
|
+
let t = window.matchMedia(zn);
|
|
2787
2788
|
return t.addEventListener("change", e), () => t.removeEventListener("change", e);
|
|
2788
2789
|
}
|
|
2789
|
-
function
|
|
2790
|
-
return window.matchMedia(
|
|
2790
|
+
function Zn() {
|
|
2791
|
+
return window.matchMedia(zn).matches;
|
|
2791
2792
|
}
|
|
2792
|
-
function
|
|
2793
|
+
function Qn() {
|
|
2793
2794
|
return !1;
|
|
2794
2795
|
}
|
|
2795
|
-
function
|
|
2796
|
-
return oe(Zn, Qn
|
|
2796
|
+
function $n() {
|
|
2797
|
+
return oe(Xn, Zn, Qn);
|
|
2797
2798
|
}
|
|
2798
|
-
var
|
|
2799
|
-
function
|
|
2800
|
-
let e =
|
|
2799
|
+
var er = P(null), tr = P(null);
|
|
2800
|
+
function nr() {
|
|
2801
|
+
let e = z(er);
|
|
2801
2802
|
if (!e) throw Error("useAnimatedSidebar must be used inside AnimatedSidebarProvider.");
|
|
2802
2803
|
return e;
|
|
2803
2804
|
}
|
|
2804
|
-
function
|
|
2805
|
-
let e =
|
|
2805
|
+
function rr() {
|
|
2806
|
+
let e = z(tr);
|
|
2806
2807
|
if (!e) throw Error("Animated Sidebar parts must be used inside AnimatedSidebar.");
|
|
2807
2808
|
return e;
|
|
2808
2809
|
}
|
|
2809
|
-
function
|
|
2810
|
-
let [
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
},
|
|
2817
|
-
b
|
|
2810
|
+
function ir({ children: e, open: t, defaultOpen: n, onOpenChange: r, openMobile: a, defaultOpenMobile: o, onOpenMobileChange: s, className: c, style: l, ...u }) {
|
|
2811
|
+
let [d, f] = H(() => ({
|
|
2812
|
+
left: n?.left ?? !0,
|
|
2813
|
+
right: n?.right ?? !1
|
|
2814
|
+
})), [p, m] = H(() => ({
|
|
2815
|
+
left: o?.left ?? !1,
|
|
2816
|
+
right: o?.right ?? !1
|
|
2817
|
+
})), h = $n(), g = be() ?? !1, _ = re(), v = V(null), y = V(null), b = t?.left, x = t?.right, S = a?.left, C = a?.right, w = ae(() => ({
|
|
2818
|
+
left: b ?? d.left,
|
|
2819
|
+
right: x ?? d.right
|
|
2820
|
+
}), [
|
|
2821
|
+
b,
|
|
2822
|
+
x,
|
|
2823
|
+
d
|
|
2824
|
+
]), T = ae(() => ({
|
|
2825
|
+
left: S ?? p.left,
|
|
2826
|
+
right: C ?? p.right
|
|
2827
|
+
}), [
|
|
2828
|
+
S,
|
|
2829
|
+
C,
|
|
2830
|
+
p
|
|
2831
|
+
]), E = R((e, t) => {
|
|
2832
|
+
(t === "left" ? b : x) === void 0 && f((n) => n[t] === e ? n : {
|
|
2833
|
+
...n,
|
|
2834
|
+
[t]: e
|
|
2835
|
+
}), r?.(e, t);
|
|
2818
2836
|
}, [
|
|
2819
|
-
T,
|
|
2820
2837
|
b,
|
|
2838
|
+
x,
|
|
2839
|
+
r
|
|
2840
|
+
]), D = R((e, t) => {
|
|
2841
|
+
(t === "left" ? S : C) === void 0 && m((n) => n[t] === e ? n : {
|
|
2842
|
+
...n,
|
|
2843
|
+
[t]: e
|
|
2844
|
+
}), s?.(e, t);
|
|
2845
|
+
}, [
|
|
2846
|
+
S,
|
|
2847
|
+
C,
|
|
2848
|
+
s
|
|
2849
|
+
]), O = R((e) => {
|
|
2850
|
+
h ? D(!T[e], e) : E(!w[e], e);
|
|
2851
|
+
}, [
|
|
2852
|
+
h,
|
|
2853
|
+
T,
|
|
2854
|
+
w,
|
|
2821
2855
|
E,
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
}, [
|
|
2827
|
-
return
|
|
2856
|
+
D
|
|
2857
|
+
]), k = ae(() => ({
|
|
2858
|
+
left: v,
|
|
2859
|
+
right: y
|
|
2860
|
+
}), []);
|
|
2861
|
+
return B(() => {
|
|
2828
2862
|
let e = (e) => {
|
|
2829
|
-
e.key.toLowerCase() ===
|
|
2863
|
+
e.key.toLowerCase() === Bn && (e.metaKey || e.ctrlKey) && (e.preventDefault(), O("left"));
|
|
2830
2864
|
};
|
|
2831
2865
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
2832
|
-
}, [
|
|
2866
|
+
}, [O]), /* @__PURE__ */ i(er.Provider, {
|
|
2833
2867
|
value: {
|
|
2834
|
-
isMobile:
|
|
2835
|
-
layoutId: `${
|
|
2836
|
-
open:
|
|
2837
|
-
openMobile:
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
state: T ? "expanded" : "collapsed",
|
|
2844
|
-
toggleSidebar: j,
|
|
2845
|
-
toggleRightSidebar: M,
|
|
2846
|
-
triggerRef: C,
|
|
2847
|
-
rightTriggerRef: w
|
|
2868
|
+
isMobile: h,
|
|
2869
|
+
layoutId: `${_}-active`,
|
|
2870
|
+
open: w,
|
|
2871
|
+
openMobile: T,
|
|
2872
|
+
reduce: g,
|
|
2873
|
+
setOpen: E,
|
|
2874
|
+
setOpenMobile: D,
|
|
2875
|
+
toggleSidebar: O,
|
|
2876
|
+
triggerRefs: k
|
|
2848
2877
|
},
|
|
2849
2878
|
children: /* @__PURE__ */ i("div", {
|
|
2850
|
-
...
|
|
2879
|
+
...u,
|
|
2851
2880
|
"data-slot": "sidebar-wrapper",
|
|
2852
|
-
"data-state":
|
|
2853
|
-
"data-right
|
|
2881
|
+
"data-state-left": w.left ? "expanded" : "collapsed",
|
|
2882
|
+
"data-state-right": w.right ? "expanded" : "collapsed",
|
|
2854
2883
|
style: {
|
|
2855
2884
|
"--sidebar-width": "19rem",
|
|
2856
2885
|
"--sidebar-width-icon": "4.25rem",
|
|
2857
2886
|
"--sidebar-width-mobile": "18rem",
|
|
2858
|
-
...
|
|
2887
|
+
...l
|
|
2859
2888
|
},
|
|
2860
|
-
className:
|
|
2889
|
+
className: K("group/sidebar-wrapper flex min-h-svh w-full min-w-0", c),
|
|
2861
2890
|
children: e
|
|
2862
2891
|
})
|
|
2863
2892
|
});
|
|
2864
2893
|
}
|
|
2865
|
-
function
|
|
2866
|
-
let o =
|
|
2867
|
-
return
|
|
2868
|
-
if (!
|
|
2869
|
-
let e = document.body, t = window.scrollY, n =
|
|
2894
|
+
function ar({ ariaLabel: e, children: t, className: n, side: r }) {
|
|
2895
|
+
let o = nr(), s = o.openMobile[r], c = (e) => o.setOpenMobile(e, r), l = o.triggerRefs[r], u = V(null), [d, f] = H(!1);
|
|
2896
|
+
return B(() => f(!0), []), B(() => {
|
|
2897
|
+
if (!s) return;
|
|
2898
|
+
let e = document.body, t = window.scrollY, n = l.current, r = {
|
|
2870
2899
|
left: e.style.left,
|
|
2871
2900
|
overflow: e.style.overflow,
|
|
2872
2901
|
position: e.style.position,
|
|
@@ -2875,55 +2904,55 @@ function or({ ariaLabel: e, children: t, className: n, side: r }) {
|
|
|
2875
2904
|
};
|
|
2876
2905
|
e.style.position = "fixed", e.style.top = `-${t}px`, e.style.left = "0", e.style.right = "0", e.style.overflow = "hidden";
|
|
2877
2906
|
let i = requestAnimationFrame(() => {
|
|
2878
|
-
(
|
|
2907
|
+
(u.current?.querySelector(Yn) ?? u.current)?.focus({ preventScroll: !0 });
|
|
2879
2908
|
});
|
|
2880
2909
|
return () => {
|
|
2881
2910
|
cancelAnimationFrame(i), e.style.position = r.position, e.style.top = r.top, e.style.left = r.left, e.style.right = r.right, e.style.overflow = r.overflow, window.scrollTo(0, t), n?.focus({ preventScroll: !0 });
|
|
2882
2911
|
};
|
|
2883
|
-
}, [
|
|
2884
|
-
className:
|
|
2885
|
-
children: [/* @__PURE__ */ i(
|
|
2912
|
+
}, [s, l]), d ? Te(/* @__PURE__ */ a("div", {
|
|
2913
|
+
className: K("pointer-events-none fixed inset-0 z-50 md:hidden", s ? "visible" : "invisible"),
|
|
2914
|
+
children: [/* @__PURE__ */ i(G.button, {
|
|
2886
2915
|
type: "button",
|
|
2887
2916
|
"aria-label": "Close sidebar",
|
|
2888
|
-
tabIndex:
|
|
2917
|
+
tabIndex: s ? 0 : -1,
|
|
2889
2918
|
initial: !1,
|
|
2890
|
-
animate: { opacity: +!!
|
|
2891
|
-
transition: o.reduce ?
|
|
2892
|
-
onClick: () =>
|
|
2893
|
-
className:
|
|
2894
|
-
}), /* @__PURE__ */ i(
|
|
2895
|
-
ref:
|
|
2919
|
+
animate: { opacity: +!!s },
|
|
2920
|
+
transition: o.reduce ? Jn : Vn,
|
|
2921
|
+
onClick: () => c(!1),
|
|
2922
|
+
className: K("absolute inset-0", s ? "pointer-events-auto" : "pointer-events-none")
|
|
2923
|
+
}), /* @__PURE__ */ i(G.div, {
|
|
2924
|
+
ref: u,
|
|
2896
2925
|
role: "dialog",
|
|
2897
2926
|
"aria-modal": "true",
|
|
2898
2927
|
"aria-label": e,
|
|
2899
|
-
"aria-hidden": !
|
|
2900
|
-
inert: !
|
|
2928
|
+
"aria-hidden": !s,
|
|
2929
|
+
inert: !s,
|
|
2901
2930
|
tabIndex: -1,
|
|
2902
2931
|
"data-mobile": "true",
|
|
2903
|
-
"data-state":
|
|
2932
|
+
"data-state": s ? "expanded" : "collapsed",
|
|
2904
2933
|
"data-side": r,
|
|
2905
2934
|
initial: !1,
|
|
2906
2935
|
animate: {
|
|
2907
|
-
opacity: o.reduce ? +!!
|
|
2908
|
-
x: o.reduce ? 0 :
|
|
2936
|
+
opacity: o.reduce ? +!!s : 1,
|
|
2937
|
+
x: o.reduce ? 0 : s ? "0%" : r === "left" ? "-100%" : "100%"
|
|
2909
2938
|
},
|
|
2910
|
-
transition: o.reduce ?
|
|
2939
|
+
transition: o.reduce ? Jn : Vn,
|
|
2911
2940
|
onKeyDown: (e) => {
|
|
2912
2941
|
if (e.key === "Escape") {
|
|
2913
|
-
e.preventDefault(),
|
|
2942
|
+
e.preventDefault(), c(!1);
|
|
2914
2943
|
return;
|
|
2915
2944
|
}
|
|
2916
2945
|
if (e.key !== "Tab") return;
|
|
2917
|
-
let t =
|
|
2946
|
+
let t = u.current ? Array.from(u.current.querySelectorAll(Yn)) : [];
|
|
2918
2947
|
if (t.length === 0) {
|
|
2919
|
-
e.preventDefault(),
|
|
2948
|
+
e.preventDefault(), u.current?.focus();
|
|
2920
2949
|
return;
|
|
2921
2950
|
}
|
|
2922
2951
|
let n = t[0], r = t[t.length - 1];
|
|
2923
2952
|
e.shiftKey && document.activeElement === n ? (e.preventDefault(), r.focus()) : !e.shiftKey && document.activeElement === r && (e.preventDefault(), n.focus());
|
|
2924
2953
|
},
|
|
2925
|
-
className:
|
|
2926
|
-
children: /* @__PURE__ */ i(
|
|
2954
|
+
className: K("pointer-events-auto absolute inset-y-0 flex h-dvh w-(--sidebar-width-mobile) max-w-[88vw] flex-col overflow-hidden", "will-change-transform", r === "left" ? "left-0 border-r" : "right-0", !s && "pointer-events-none", n),
|
|
2955
|
+
children: /* @__PURE__ */ i(tr.Provider, {
|
|
2927
2956
|
value: {
|
|
2928
2957
|
collapsed: !1,
|
|
2929
2958
|
collapsible: "none",
|
|
@@ -2934,14 +2963,14 @@ function or({ ariaLabel: e, children: t, className: n, side: r }) {
|
|
|
2934
2963
|
})]
|
|
2935
2964
|
}), document.body) : null;
|
|
2936
2965
|
}
|
|
2937
|
-
var
|
|
2938
|
-
let f =
|
|
2939
|
-
return f.isMobile ? /* @__PURE__ */ i(
|
|
2966
|
+
var or = I(function({ side: e = "left", variant: t = "sidebar", collapsible: n = "icon", ariaLabel: r = "Sidebar", children: o, className: s, panelClassName: c, style: l, ...u }, d) {
|
|
2967
|
+
let f = nr(), p = f.open[e], m = n !== "none" && !p, h = m && n === "offcanvas", g = h ? "0px" : m ? "var(--sidebar-width-icon)" : "var(--sidebar-width)";
|
|
2968
|
+
return f.isMobile ? /* @__PURE__ */ i(ar, {
|
|
2940
2969
|
ariaLabel: r,
|
|
2941
2970
|
className: s,
|
|
2942
2971
|
side: e,
|
|
2943
2972
|
children: o
|
|
2944
|
-
}) : /* @__PURE__ */ a(
|
|
2973
|
+
}) : /* @__PURE__ */ a(G.aside, {
|
|
2945
2974
|
...u,
|
|
2946
2975
|
ref: d,
|
|
2947
2976
|
initial: !1,
|
|
@@ -2952,18 +2981,18 @@ var sr = z(function({ side: e = "left", variant: t = "sidebar", collapsible: n =
|
|
|
2952
2981
|
"data-variant": t,
|
|
2953
2982
|
"data-side": e,
|
|
2954
2983
|
animate: { width: g },
|
|
2955
|
-
transition: f.reduce ? { duration: 0 } :
|
|
2984
|
+
transition: f.reduce ? { duration: 0 } : Hn,
|
|
2956
2985
|
style: l,
|
|
2957
|
-
className:
|
|
2958
|
-
children: [e === "right" && !m && /* @__PURE__ */ i(
|
|
2986
|
+
className: K("group/sidebar relative hidden h-auto shrink-0 will-change-[width] md:block", "peer flex!", n === "offcanvas" && "overflow-x-visible [overflow-clip-margin:1rem]", e === "right" && "order-last", s),
|
|
2987
|
+
children: [e === "right" && !m && /* @__PURE__ */ i(G.div, { className: "h-full p-0.5 flex flex-1 bg-radial/decreasing from-amber-400 to-0% hover:to-50% ease-smooth-out to-amber-500/0 cursor-col-resize transition-colors duration-1000 animate-in" }), /* @__PURE__ */ i(G.div, {
|
|
2959
2988
|
initial: !1,
|
|
2960
2989
|
animate: {
|
|
2961
2990
|
opacity: +!h,
|
|
2962
2991
|
x: h ? e === "left" ? "-100%" : "100%" : "0%"
|
|
2963
2992
|
},
|
|
2964
|
-
transition: f.reduce ?
|
|
2965
|
-
className:
|
|
2966
|
-
children: /* @__PURE__ */ i(
|
|
2993
|
+
transition: f.reduce ? Jn : Vn,
|
|
2994
|
+
className: K("sticky top-0 flex h-svh w-full flex-col overflow-hidden", n === "offcanvas" && "w-(--sidebar-width)", t === "floating" && "m-2 h-[calc(100svh-1rem)]", t === "inset" && "m-2 h-[calc(100svh-1rem)]", c),
|
|
2995
|
+
children: /* @__PURE__ */ i(tr.Provider, {
|
|
2967
2996
|
value: {
|
|
2968
2997
|
collapsed: m,
|
|
2969
2998
|
collapsible: n,
|
|
@@ -2973,26 +3002,26 @@ var sr = z(function({ side: e = "left", variant: t = "sidebar", collapsible: n =
|
|
|
2973
3002
|
})
|
|
2974
3003
|
})]
|
|
2975
3004
|
});
|
|
2976
|
-
}),
|
|
2977
|
-
let s =
|
|
3005
|
+
}), sr = I(function({ className: e, onClick: t, side: n = "left", type: r = "button", ...a }, o) {
|
|
3006
|
+
let s = nr(), c = s.isMobile ? s.openMobile[n] : s.open[n], l = s.triggerRefs[n];
|
|
2978
3007
|
return /* @__PURE__ */ i("button", {
|
|
2979
3008
|
...a,
|
|
2980
3009
|
ref: (e) => {
|
|
2981
|
-
|
|
3010
|
+
l.current = e, typeof o == "function" ? o(e) : o && (o.current = e);
|
|
2982
3011
|
},
|
|
2983
3012
|
type: r,
|
|
2984
3013
|
"aria-label": a["aria-label"] ?? "Toggle sidebar",
|
|
2985
|
-
"aria-expanded":
|
|
3014
|
+
"aria-expanded": c,
|
|
2986
3015
|
"data-slot": "sidebar-trigger",
|
|
2987
3016
|
"data-side": n,
|
|
2988
|
-
"data-state":
|
|
3017
|
+
"data-state": c ? "expanded" : "collapsed",
|
|
2989
3018
|
onClick: (e) => {
|
|
2990
|
-
t?.(e), !e.defaultPrevented &&
|
|
3019
|
+
t?.(e), !e.defaultPrevented && s.toggleSidebar(n);
|
|
2991
3020
|
},
|
|
2992
|
-
className:
|
|
3021
|
+
className: K("inline-flex size-10 shrink-0 items-center justify-center rounded-xl outline-none", "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background", e)
|
|
2993
3022
|
});
|
|
2994
|
-
}),
|
|
2995
|
-
let s =
|
|
3023
|
+
}), cr = I(function({ className: e, onClick: t, side: n = "left", type: r = "button", ...a }, o) {
|
|
3024
|
+
let s = nr();
|
|
2996
3025
|
return /* @__PURE__ */ i("button", {
|
|
2997
3026
|
...a,
|
|
2998
3027
|
ref: o,
|
|
@@ -3000,12 +3029,12 @@ var sr = z(function({ side: e = "left", variant: t = "sidebar", collapsible: n =
|
|
|
3000
3029
|
"data-side": n,
|
|
3001
3030
|
"aria-label": a["aria-label"] ?? "Close sidebar",
|
|
3002
3031
|
onClick: (e) => {
|
|
3003
|
-
t?.(e), !e.defaultPrevented && (
|
|
3032
|
+
t?.(e), !e.defaultPrevented && (s.isMobile ? s.setOpenMobile(!1, n) : s.setOpen(!1, n));
|
|
3004
3033
|
},
|
|
3005
|
-
className:
|
|
3034
|
+
className: K("inline-flex size-10 shrink-0 items-center justify-center rounded-xl outline-none", "focus-visible:ring-2 focus-visible:ring-ring", e)
|
|
3006
3035
|
});
|
|
3007
|
-
}),
|
|
3008
|
-
let o =
|
|
3036
|
+
}), lr = I(function({ className: e, onClick: t, type: n = "button", ...r }, a) {
|
|
3037
|
+
let o = nr(), s = rr();
|
|
3009
3038
|
return /* @__PURE__ */ i("button", {
|
|
3010
3039
|
...r,
|
|
3011
3040
|
ref: a,
|
|
@@ -3015,64 +3044,64 @@ var sr = z(function({ side: e = "left", variant: t = "sidebar", collapsible: n =
|
|
|
3015
3044
|
title: "Toggle sidebar",
|
|
3016
3045
|
tabIndex: -1,
|
|
3017
3046
|
onClick: (e) => {
|
|
3018
|
-
t?.(e), !e.defaultPrevented && (s.side
|
|
3047
|
+
t?.(e), !e.defaultPrevented && o.toggleSidebar(s.side);
|
|
3019
3048
|
},
|
|
3020
|
-
className:
|
|
3049
|
+
className: K("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 outline-none md:block", "after:absolute after:inset-y-0 after:left-1/2 after:w-px after:bg-transparent after:transition-colors hover:after:bg-border", "data-[side=left]:left-full data-[side=right]:right-0 data-[side=right]:translate-x-1/2", e)
|
|
3021
3050
|
});
|
|
3022
|
-
}),
|
|
3023
|
-
return /* @__PURE__ */ i(
|
|
3051
|
+
}), ur = I(function({ className: e, ...t }, n) {
|
|
3052
|
+
return /* @__PURE__ */ i(G.main, {
|
|
3024
3053
|
...t,
|
|
3025
3054
|
ref: n,
|
|
3026
3055
|
"data-slot": "sidebar-inset",
|
|
3027
|
-
className:
|
|
3056
|
+
className: K("relative flex min-w-0 flex-1 flex-col bg-background", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:mr-1.5 md:peer-data-[variant=inset]:rounded-md md:peer-data-[variant=inset]:shadow-md", e)
|
|
3028
3057
|
});
|
|
3029
|
-
}),
|
|
3058
|
+
}), dr = I(function({ className: e, ...t }, n) {
|
|
3030
3059
|
return /* @__PURE__ */ i("div", {
|
|
3031
3060
|
...t,
|
|
3032
3061
|
ref: n,
|
|
3033
3062
|
"data-slot": "sidebar-header",
|
|
3034
|
-
className:
|
|
3063
|
+
className: K("flex shrink-0 flex-col gap-2 p-3", e)
|
|
3035
3064
|
});
|
|
3036
|
-
}),
|
|
3065
|
+
}), fr = I(function({ className: e, ...t }, n) {
|
|
3037
3066
|
return /* @__PURE__ */ i("div", {
|
|
3038
3067
|
...t,
|
|
3039
3068
|
ref: n,
|
|
3040
3069
|
"data-slot": "sidebar-content",
|
|
3041
|
-
className:
|
|
3070
|
+
className: K("flex min-h-0 flex-1 flex-col gap-2 overflow-x-hidden overflow-y-auto overscroll-contain px-2 py-2", e)
|
|
3042
3071
|
});
|
|
3043
|
-
}),
|
|
3072
|
+
}), pr = I(function({ className: e, ...t }, n) {
|
|
3044
3073
|
return /* @__PURE__ */ i("div", {
|
|
3045
3074
|
...t,
|
|
3046
3075
|
ref: n,
|
|
3047
3076
|
"data-slot": "sidebar-footer",
|
|
3048
|
-
className:
|
|
3077
|
+
className: K("flex shrink-0 flex-col gap-2 border-t border-border p-3 pb-[max(0.75rem,env(safe-area-inset-bottom))]", e)
|
|
3049
3078
|
});
|
|
3050
|
-
}),
|
|
3079
|
+
}), mr = I(function({ className: e, ...t }, n) {
|
|
3051
3080
|
return /* @__PURE__ */ i("div", {
|
|
3052
3081
|
...t,
|
|
3053
3082
|
ref: n,
|
|
3054
3083
|
"data-slot": "sidebar-group",
|
|
3055
|
-
className:
|
|
3084
|
+
className: K("flex w-full min-w-0 flex-col px-1 py-1.5", e)
|
|
3056
3085
|
});
|
|
3057
|
-
}),
|
|
3058
|
-
let { collapsed: a } =
|
|
3086
|
+
}), hr = I(function({ children: e, className: t, ...n }, r) {
|
|
3087
|
+
let { collapsed: a } = rr();
|
|
3059
3088
|
return /* @__PURE__ */ i("div", {
|
|
3060
3089
|
...n,
|
|
3061
3090
|
ref: r,
|
|
3062
3091
|
"aria-hidden": a,
|
|
3063
3092
|
"data-slot": "sidebar-group-label",
|
|
3064
|
-
className:
|
|
3093
|
+
className: K("mb-1 h-7 overflow-hidden px-2 text-[10px] font-medium tracking-[0.14em] text-muted-foreground uppercase transition-opacity", a ? "opacity-0" : "opacity-100", t),
|
|
3065
3094
|
children: e
|
|
3066
3095
|
});
|
|
3067
|
-
}),
|
|
3096
|
+
}), gr = I(function({ className: e, ...t }, n) {
|
|
3068
3097
|
return /* @__PURE__ */ i("div", {
|
|
3069
3098
|
...t,
|
|
3070
3099
|
ref: n,
|
|
3071
3100
|
"data-slot": "sidebar-group-content",
|
|
3072
|
-
className:
|
|
3101
|
+
className: K("w-full min-w-0", e)
|
|
3073
3102
|
});
|
|
3074
|
-
}),
|
|
3075
|
-
return /* @__PURE__ */ i(
|
|
3103
|
+
}), _r = I(function({ children: e, className: t, ...n }, r) {
|
|
3104
|
+
return /* @__PURE__ */ i(Rn, {
|
|
3076
3105
|
...n,
|
|
3077
3106
|
ref: r,
|
|
3078
3107
|
as: "ul",
|
|
@@ -3080,96 +3109,96 @@ var sr = z(function({ side: e = "left", variant: t = "sidebar", collapsible: n =
|
|
|
3080
3109
|
pillClassName: "rounded-xl bg-muted/70",
|
|
3081
3110
|
pillContainerClassName: "inset-y-auto top-0 h-9",
|
|
3082
3111
|
"data-slot": "sidebar-menu",
|
|
3083
|
-
className:
|
|
3112
|
+
className: K("flex w-full min-w-0 list-none flex-col gap-0.5", t),
|
|
3084
3113
|
children: e
|
|
3085
3114
|
});
|
|
3086
|
-
}),
|
|
3087
|
-
return /* @__PURE__ */ i(
|
|
3115
|
+
}), vr = I(function({ className: e, ...t }, n) {
|
|
3116
|
+
return /* @__PURE__ */ i(G.li, {
|
|
3088
3117
|
...t,
|
|
3089
3118
|
ref: n,
|
|
3090
3119
|
layout: "position",
|
|
3091
|
-
transition:
|
|
3120
|
+
transition: Nn,
|
|
3092
3121
|
"data-slot": "sidebar-menu-item",
|
|
3093
|
-
className:
|
|
3122
|
+
className: K("relative", e)
|
|
3094
3123
|
});
|
|
3095
|
-
}),
|
|
3096
|
-
let o =
|
|
3097
|
-
return /* @__PURE__ */ i(
|
|
3124
|
+
}), yr = I(function({ open: e, children: t, className: n, ...r }, a) {
|
|
3125
|
+
let o = nr(), s = rr();
|
|
3126
|
+
return /* @__PURE__ */ i(W, {
|
|
3098
3127
|
initial: !1,
|
|
3099
3128
|
mode: "popLayout",
|
|
3100
|
-
children: e && !s.collapsed ? /* @__PURE__ */
|
|
3129
|
+
children: e && !s.collapsed ? /* @__PURE__ */ F(G.ul, {
|
|
3101
3130
|
...r,
|
|
3102
3131
|
ref: a,
|
|
3103
3132
|
key: "sidebar-submenu",
|
|
3104
|
-
variants: o.reduce ? void 0 :
|
|
3133
|
+
variants: o.reduce ? void 0 : Kn,
|
|
3105
3134
|
initial: !o.reduce && "closed",
|
|
3106
3135
|
animate: o.reduce ? { opacity: 1 } : "open",
|
|
3107
3136
|
exit: o.reduce ? { opacity: 0 } : "closed",
|
|
3108
3137
|
transition: o.reduce ? { duration: .12 } : void 0,
|
|
3109
3138
|
"data-slot": "sidebar-menu-sub",
|
|
3110
|
-
className:
|
|
3139
|
+
className: K("relative mt-1 ml-5 flex min-w-0 flex-col gap-0.5 border-l border-border pl-3", n)
|
|
3111
3140
|
}, t) : null
|
|
3112
3141
|
});
|
|
3113
|
-
}),
|
|
3114
|
-
return /* @__PURE__ */ i(
|
|
3142
|
+
}), br = I(function({ className: e, ...t }, n) {
|
|
3143
|
+
return /* @__PURE__ */ i(G.li, {
|
|
3115
3144
|
...t,
|
|
3116
3145
|
ref: n,
|
|
3117
|
-
variants:
|
|
3146
|
+
variants: qn,
|
|
3118
3147
|
"data-slot": "sidebar-menu-sub-item",
|
|
3119
|
-
className:
|
|
3148
|
+
className: K("relative min-w-0", e)
|
|
3120
3149
|
});
|
|
3121
3150
|
});
|
|
3122
|
-
function
|
|
3123
|
-
let p =
|
|
3151
|
+
function xr({ children: e, icon: t, href: n, isActive: o = !1, disabled: s = !1, closeOnSelect: c = !0, target: l, rel: u, onSelect: d, className: f }) {
|
|
3152
|
+
let p = nr(), m = rr(), h = (e) => {
|
|
3124
3153
|
if (s) {
|
|
3125
3154
|
e.preventDefault();
|
|
3126
3155
|
return;
|
|
3127
3156
|
}
|
|
3128
|
-
d?.(), p.isMobile && c && p.setOpenMobile(!1);
|
|
3129
|
-
},
|
|
3157
|
+
d?.(), p.isMobile && c && p.setOpenMobile(!1, m.side);
|
|
3158
|
+
}, g = /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i("span", {
|
|
3130
3159
|
"aria-hidden": "true",
|
|
3131
3160
|
className: "grid size-4 shrink-0 place-items-center",
|
|
3132
3161
|
children: t ?? /* @__PURE__ */ i("span", { className: "size-1 rounded-full bg-current" })
|
|
3133
3162
|
}), /* @__PURE__ */ i("span", {
|
|
3134
3163
|
className: "min-w-0 flex-1 truncate",
|
|
3135
3164
|
children: e
|
|
3136
|
-
})] }),
|
|
3137
|
-
return n ? /* @__PURE__ */ i(
|
|
3165
|
+
})] }), _ = K("flex min-h-8 w-full min-w-0 items-center gap-2 rounded-lg px-2 text-left text-xs outline-none", "text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground", "focus-visible:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring", o && "bg-muted/70 text-foreground", s && "cursor-not-allowed opacity-40", f);
|
|
3166
|
+
return n ? /* @__PURE__ */ i(G.a, {
|
|
3138
3167
|
href: n,
|
|
3139
3168
|
target: l,
|
|
3140
3169
|
rel: u ?? (l === "_blank" ? "noreferrer noopener" : void 0),
|
|
3141
3170
|
"aria-current": o ? "page" : void 0,
|
|
3142
3171
|
"aria-disabled": s || void 0,
|
|
3143
3172
|
tabIndex: s ? -1 : void 0,
|
|
3144
|
-
onClick:
|
|
3173
|
+
onClick: h,
|
|
3145
3174
|
whileTap: p.reduce || s ? void 0 : { scale: .98 },
|
|
3146
|
-
transition:
|
|
3147
|
-
className:
|
|
3148
|
-
children:
|
|
3149
|
-
}) : /* @__PURE__ */ i(
|
|
3175
|
+
transition: An,
|
|
3176
|
+
className: _,
|
|
3177
|
+
children: g
|
|
3178
|
+
}) : /* @__PURE__ */ i(G.button, {
|
|
3150
3179
|
type: "button",
|
|
3151
3180
|
disabled: s,
|
|
3152
3181
|
"aria-current": o ? "page" : void 0,
|
|
3153
|
-
onClick:
|
|
3182
|
+
onClick: h,
|
|
3154
3183
|
whileTap: p.reduce || s ? void 0 : { scale: .98 },
|
|
3155
|
-
transition:
|
|
3156
|
-
className:
|
|
3157
|
-
children:
|
|
3184
|
+
transition: An,
|
|
3185
|
+
className: _,
|
|
3186
|
+
children: g
|
|
3158
3187
|
});
|
|
3159
3188
|
}
|
|
3160
|
-
function
|
|
3161
|
-
let g =
|
|
3189
|
+
function Sr({ children: e, icon: t, badge: n, href: o, isActive: s = !1, ariaExpanded: c, disabled: l = !1, closeOnSelect: u, target: d, rel: p, onSelect: m, className: h }) {
|
|
3190
|
+
let g = nr(), _ = rr(), v = typeof e == "string" ? e : void 0, y = (e) => {
|
|
3162
3191
|
if (l) {
|
|
3163
3192
|
e.preventDefault();
|
|
3164
3193
|
return;
|
|
3165
3194
|
}
|
|
3166
3195
|
m?.();
|
|
3167
3196
|
let t = u ?? c === void 0;
|
|
3168
|
-
g.isMobile && t && g.setOpenMobile(!1);
|
|
3197
|
+
g.isMobile && t && g.setOpenMobile(!1, _.side);
|
|
3169
3198
|
}, b = /* @__PURE__ */ a(r, { children: [
|
|
3170
|
-
s ? /* @__PURE__ */ i(
|
|
3199
|
+
s ? /* @__PURE__ */ i(G.span, {
|
|
3171
3200
|
layoutId: g.layoutId,
|
|
3172
|
-
transition: g.reduce ? { duration: 0 } :
|
|
3201
|
+
transition: g.reduce ? { duration: 0 } : Nn,
|
|
3173
3202
|
className: "absolute inset-0 rounded-xl bg-muted"
|
|
3174
3203
|
}) : null,
|
|
3175
3204
|
t ? /* @__PURE__ */ i("span", {
|
|
@@ -3177,22 +3206,22 @@ function Cr({ children: e, icon: t, badge: n, href: o, isActive: s = !1, ariaExp
|
|
|
3177
3206
|
className: "relative z-10 grid size-5 shrink-0 place-items-center",
|
|
3178
3207
|
children: t
|
|
3179
3208
|
}) : null,
|
|
3180
|
-
/* @__PURE__ */ i(
|
|
3209
|
+
/* @__PURE__ */ i(G.span, {
|
|
3181
3210
|
initial: !1,
|
|
3182
3211
|
animate: {
|
|
3183
3212
|
opacity: +!_.collapsed,
|
|
3184
3213
|
x: _.collapsed ? -4 : 0
|
|
3185
3214
|
},
|
|
3186
|
-
transition: g.reduce ?
|
|
3215
|
+
transition: g.reduce ? Jn : _.collapsed ? Wn : Un,
|
|
3187
3216
|
"aria-hidden": _.collapsed,
|
|
3188
|
-
className:
|
|
3217
|
+
className: K("relative z-10 min-w-0 flex-1 truncate", _.collapsed && "pointer-events-none"),
|
|
3189
3218
|
children: e
|
|
3190
3219
|
}),
|
|
3191
3220
|
n && !_.collapsed ? /* @__PURE__ */ i("span", {
|
|
3192
3221
|
className: "relative z-10 shrink-0 text-xs text-muted-foreground",
|
|
3193
3222
|
children: n
|
|
3194
3223
|
}) : null,
|
|
3195
|
-
c === void 0 ? null : /* @__PURE__ */ i(
|
|
3224
|
+
c === void 0 ? null : /* @__PURE__ */ i(G.span, {
|
|
3196
3225
|
"aria-hidden": "true",
|
|
3197
3226
|
initial: !1,
|
|
3198
3227
|
animate: {
|
|
@@ -3200,12 +3229,12 @@ function Cr({ children: e, icon: t, badge: n, href: o, isActive: s = !1, ariaExp
|
|
|
3200
3229
|
rotate: c ? 90 : 0,
|
|
3201
3230
|
x: _.collapsed ? 4 : 0
|
|
3202
3231
|
},
|
|
3203
|
-
transition: g.reduce ? { duration: 0 } :
|
|
3232
|
+
transition: g.reduce ? { duration: 0 } : Nn,
|
|
3204
3233
|
className: "relative z-10 grid size-4 shrink-0 place-items-center text-muted-foreground",
|
|
3205
3234
|
children: /* @__PURE__ */ i(f, { className: "size-3.5" })
|
|
3206
3235
|
})
|
|
3207
|
-
] }), x =
|
|
3208
|
-
return o ? /* @__PURE__ */ i(
|
|
3236
|
+
] }), x = K("relative flex min-h-9 w-full min-w-0 items-center gap-2.5 overflow-hidden rounded-xl px-3 text-left text-sm font-medium outline-none", "text-muted-foreground transition-colors hover:text-foreground", "focus-visible:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring", s && "text-foreground", l && "cursor-not-allowed opacity-40", h);
|
|
3237
|
+
return o ? /* @__PURE__ */ i(G.a, {
|
|
3209
3238
|
href: o,
|
|
3210
3239
|
target: d,
|
|
3211
3240
|
rel: p ?? (d === "_blank" ? "noreferrer noopener" : void 0),
|
|
@@ -3217,10 +3246,10 @@ function Cr({ children: e, icon: t, badge: n, href: o, isActive: s = !1, ariaExp
|
|
|
3217
3246
|
tabIndex: l ? -1 : void 0,
|
|
3218
3247
|
onClick: y,
|
|
3219
3248
|
whileTap: g.reduce || l ? void 0 : { scale: .98 },
|
|
3220
|
-
transition:
|
|
3249
|
+
transition: An,
|
|
3221
3250
|
className: x,
|
|
3222
3251
|
children: b
|
|
3223
|
-
}) : /* @__PURE__ */ i(
|
|
3252
|
+
}) : /* @__PURE__ */ i(G.button, {
|
|
3224
3253
|
type: "button",
|
|
3225
3254
|
disabled: l,
|
|
3226
3255
|
"aria-current": s ? "page" : void 0,
|
|
@@ -3229,32 +3258,32 @@ function Cr({ children: e, icon: t, badge: n, href: o, isActive: s = !1, ariaExp
|
|
|
3229
3258
|
title: _.collapsed ? v : void 0,
|
|
3230
3259
|
onClick: y,
|
|
3231
3260
|
whileTap: g.reduce || l ? void 0 : { scale: .98 },
|
|
3232
|
-
transition:
|
|
3261
|
+
transition: An,
|
|
3233
3262
|
className: x,
|
|
3234
3263
|
children: b
|
|
3235
3264
|
});
|
|
3236
3265
|
}
|
|
3237
3266
|
//#endregion
|
|
3238
3267
|
//#region src/components/blocks/nav/utils.ts
|
|
3239
|
-
function
|
|
3268
|
+
function Cr(e, t) {
|
|
3240
3269
|
return t !== void 0 && e === t;
|
|
3241
3270
|
}
|
|
3242
3271
|
//#endregion
|
|
3243
3272
|
//#region src/components/blocks/nav/sidebar-nav-row.tsx
|
|
3244
|
-
function
|
|
3245
|
-
let r = e.items ?? [], o = r.length > 0, s = r.some((e) =>
|
|
3273
|
+
function wr({ item: e, activeId: t, onNavigate: n }) {
|
|
3274
|
+
let r = e.items ?? [], o = r.length > 0, s = r.some((e) => Cr(e.id, t)), [c, l] = N.useState(null), [u, d] = N.useState(s);
|
|
3246
3275
|
s !== u && (d(s), s && l(null));
|
|
3247
3276
|
let f = c ?? e.defaultOpen ?? s;
|
|
3248
3277
|
function p(e) {
|
|
3249
3278
|
e.onSelect?.(), n?.(e);
|
|
3250
3279
|
}
|
|
3251
|
-
return /* @__PURE__ */ a(
|
|
3280
|
+
return /* @__PURE__ */ a(vr, { children: [/* @__PURE__ */ i(Sr, {
|
|
3252
3281
|
ariaExpanded: o ? f : void 0,
|
|
3253
3282
|
badge: e.badge,
|
|
3254
3283
|
disabled: e.disabled,
|
|
3255
3284
|
href: o ? void 0 : e.href,
|
|
3256
3285
|
icon: e.icon,
|
|
3257
|
-
isActive:
|
|
3286
|
+
isActive: Cr(e.id, t),
|
|
3258
3287
|
onSelect: () => {
|
|
3259
3288
|
if (o) {
|
|
3260
3289
|
l(!f);
|
|
@@ -3264,13 +3293,13 @@ function Tr({ item: e, activeId: t, onNavigate: n }) {
|
|
|
3264
3293
|
},
|
|
3265
3294
|
target: e.target,
|
|
3266
3295
|
children: e.label
|
|
3267
|
-
}), o ? /* @__PURE__ */ i(
|
|
3296
|
+
}), o ? /* @__PURE__ */ i(yr, {
|
|
3268
3297
|
open: f,
|
|
3269
|
-
children: r.map((e) => /* @__PURE__ */ i(
|
|
3298
|
+
children: r.map((e) => /* @__PURE__ */ i(br, { children: /* @__PURE__ */ i(xr, {
|
|
3270
3299
|
disabled: e.disabled,
|
|
3271
3300
|
href: e.href,
|
|
3272
3301
|
icon: e.icon,
|
|
3273
|
-
isActive:
|
|
3302
|
+
isActive: Cr(e.id, t),
|
|
3274
3303
|
onSelect: () => p(e),
|
|
3275
3304
|
target: e.target,
|
|
3276
3305
|
children: e.label
|
|
@@ -3279,79 +3308,83 @@ function Tr({ item: e, activeId: t, onNavigate: n }) {
|
|
|
3279
3308
|
}
|
|
3280
3309
|
//#endregion
|
|
3281
3310
|
//#region src/components/blocks/nav/sidebar-block.tsx
|
|
3282
|
-
function
|
|
3283
|
-
return /* @__PURE__ */ i(
|
|
3311
|
+
function Tr({ sections: e, activeId: t, onNavigate: n, header: r, footer: o, showTrigger: s = !0, side: c = "left", variant: l = "sidebar", collapsible: u = "icon", open: d, defaultOpen: f, onOpenChange: p, openMobile: m, defaultOpenMobile: h, onOpenMobileChange: g, width: _, iconWidth: v, mobileWidth: y, ariaLabel: b = "Main", className: x }) {
|
|
3312
|
+
return /* @__PURE__ */ i(ir, {
|
|
3284
3313
|
className: "h-full min-h-0 w-auto",
|
|
3285
|
-
defaultOpen: f,
|
|
3286
|
-
defaultOpenMobile: h,
|
|
3287
|
-
onOpenChange:
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3314
|
+
defaultOpen: { [c]: f ?? !0 },
|
|
3315
|
+
defaultOpenMobile: h === void 0 ? void 0 : { [c]: h },
|
|
3316
|
+
onOpenChange: (e, t) => {
|
|
3317
|
+
t === c && p?.(e);
|
|
3318
|
+
},
|
|
3319
|
+
onOpenMobileChange: (e, t) => {
|
|
3320
|
+
t === c && g?.(e);
|
|
3321
|
+
},
|
|
3322
|
+
open: d === void 0 ? void 0 : { [c]: d },
|
|
3323
|
+
openMobile: m === void 0 ? void 0 : { [c]: m },
|
|
3291
3324
|
style: {
|
|
3292
3325
|
..._ ? { "--sidebar-width": _ } : null,
|
|
3293
3326
|
...v ? { "--sidebar-width-icon": v } : null,
|
|
3294
3327
|
...y ? { "--sidebar-width-mobile": y } : null
|
|
3295
3328
|
},
|
|
3296
|
-
children: /* @__PURE__ */ a(
|
|
3329
|
+
children: /* @__PURE__ */ a(or, {
|
|
3297
3330
|
ariaLabel: b,
|
|
3298
|
-
className:
|
|
3331
|
+
className: K("h-full", x),
|
|
3299
3332
|
collapsible: u,
|
|
3300
3333
|
panelClassName: "h-full",
|
|
3301
3334
|
role: "navigation",
|
|
3302
3335
|
side: c,
|
|
3303
3336
|
variant: l,
|
|
3304
3337
|
children: [
|
|
3305
|
-
r || s && /* @__PURE__ */ i(
|
|
3338
|
+
r || s && /* @__PURE__ */ i(dr, { children: /* @__PURE__ */ a("div", {
|
|
3306
3339
|
className: "flex min-w-0 items-center justify-between gap-2",
|
|
3307
3340
|
children: [r && /* @__PURE__ */ i("div", {
|
|
3308
3341
|
className: "min-w-0 flex-1",
|
|
3309
3342
|
children: r
|
|
3310
|
-
}), s && /* @__PURE__ */ i(
|
|
3343
|
+
}), s && /* @__PURE__ */ i(sr, {
|
|
3311
3344
|
className: "text-muted-foreground hover:text-foreground",
|
|
3312
|
-
children: /* @__PURE__ */ i(
|
|
3345
|
+
children: /* @__PURE__ */ i(E, { className: "size-4.5" })
|
|
3313
3346
|
})]
|
|
3314
3347
|
}) }),
|
|
3315
|
-
/* @__PURE__ */ i(
|
|
3348
|
+
/* @__PURE__ */ i(fr, { children: e.map((e) => /* @__PURE__ */ a(mr, { children: [e.label && /* @__PURE__ */ i(hr, { children: e.label }), /* @__PURE__ */ i(gr, { children: /* @__PURE__ */ i(_r, { children: e.items.map((e) => /* @__PURE__ */ i(wr, {
|
|
3316
3349
|
activeId: t,
|
|
3317
3350
|
item: e,
|
|
3318
3351
|
onNavigate: n
|
|
3319
3352
|
}, e.id)) }) })] }, e.id)) }),
|
|
3320
|
-
o && /* @__PURE__ */ i(
|
|
3353
|
+
o && /* @__PURE__ */ i(pr, { children: o })
|
|
3321
3354
|
]
|
|
3322
3355
|
})
|
|
3323
3356
|
});
|
|
3324
3357
|
}
|
|
3325
3358
|
//#endregion
|
|
3326
3359
|
//#region src/components/blocks/nav/sidebar/utils.ts
|
|
3327
|
-
var
|
|
3360
|
+
var Er = {
|
|
3328
3361
|
duration: .16,
|
|
3329
|
-
ease:
|
|
3362
|
+
ease: $
|
|
3330
3363
|
};
|
|
3331
|
-
function
|
|
3364
|
+
function Dr(e) {
|
|
3332
3365
|
return e.kind === "folder" || e.kind === "project";
|
|
3333
3366
|
}
|
|
3334
|
-
function
|
|
3367
|
+
function Or(e, t, n = 0, r = null) {
|
|
3335
3368
|
return e.flatMap((e) => {
|
|
3336
3369
|
let i = {
|
|
3337
3370
|
item: e,
|
|
3338
3371
|
depth: n,
|
|
3339
3372
|
parentId: r
|
|
3340
3373
|
};
|
|
3341
|
-
return !e.children?.length || !t.has(e.id) ? [i] : [i, ...
|
|
3374
|
+
return !e.children?.length || !t.has(e.id) ? [i] : [i, ...Or(e.children, t, n + 1, e.id)];
|
|
3342
3375
|
});
|
|
3343
3376
|
}
|
|
3344
|
-
function
|
|
3377
|
+
function kr(e, t) {
|
|
3345
3378
|
for (let n of e) {
|
|
3346
3379
|
if (n.id === t) return n;
|
|
3347
|
-
let e = n.children ?
|
|
3380
|
+
let e = n.children ? kr(n.children, t) : void 0;
|
|
3348
3381
|
if (e) return e;
|
|
3349
3382
|
}
|
|
3350
3383
|
}
|
|
3351
|
-
function
|
|
3352
|
-
return e.id === t || e.children?.some((e) =>
|
|
3384
|
+
function Ar(e, t) {
|
|
3385
|
+
return e.id === t || e.children?.some((e) => Ar(e, t)) === !0;
|
|
3353
3386
|
}
|
|
3354
|
-
function
|
|
3387
|
+
function jr(e, t) {
|
|
3355
3388
|
let n, r = [];
|
|
3356
3389
|
for (let i of e) {
|
|
3357
3390
|
if (i.id === t) {
|
|
@@ -3359,7 +3392,7 @@ function Mr(e, t) {
|
|
|
3359
3392
|
continue;
|
|
3360
3393
|
}
|
|
3361
3394
|
if (i.children?.length) {
|
|
3362
|
-
let e =
|
|
3395
|
+
let e = jr(i.children, t);
|
|
3363
3396
|
if (e.removed) {
|
|
3364
3397
|
n = e.removed, r.push({
|
|
3365
3398
|
...i,
|
|
@@ -3375,7 +3408,7 @@ function Mr(e, t) {
|
|
|
3375
3408
|
removed: n
|
|
3376
3409
|
};
|
|
3377
3410
|
}
|
|
3378
|
-
function
|
|
3411
|
+
function Mr(e, t, n, r) {
|
|
3379
3412
|
if (n === null) return [...e, t];
|
|
3380
3413
|
let i = [];
|
|
3381
3414
|
for (let a of e) {
|
|
@@ -3388,96 +3421,96 @@ function Nr(e, t, n, r) {
|
|
|
3388
3421
|
}
|
|
3389
3422
|
a.children?.length ? i.push({
|
|
3390
3423
|
...a,
|
|
3391
|
-
children:
|
|
3424
|
+
children: Mr(a.children, t, n, r)
|
|
3392
3425
|
}) : i.push(a);
|
|
3393
3426
|
}
|
|
3394
3427
|
return i;
|
|
3395
3428
|
}
|
|
3396
|
-
function
|
|
3397
|
-
let n =
|
|
3398
|
-
if (!n || n.disabled || t.targetId &&
|
|
3399
|
-
let r = t.targetId ?
|
|
3400
|
-
if (t.position === "inside" && (!r || r.disabled || !
|
|
3401
|
-
let i =
|
|
3402
|
-
return i.removed ?
|
|
3429
|
+
function Nr(e, t) {
|
|
3430
|
+
let n = kr(e, t.itemId);
|
|
3431
|
+
if (!n || n.disabled || t.targetId && Ar(n, t.targetId)) return null;
|
|
3432
|
+
let r = t.targetId ? kr(e, t.targetId) : void 0;
|
|
3433
|
+
if (t.position === "inside" && (!r || r.disabled || !Dr(r))) return null;
|
|
3434
|
+
let i = jr(e, t.itemId);
|
|
3435
|
+
return i.removed ? Mr(i.items, i.removed, t.targetId, t.position) : null;
|
|
3403
3436
|
}
|
|
3404
|
-
function
|
|
3437
|
+
function Pr(e, t, n) {
|
|
3405
3438
|
return e.map((e) => ({
|
|
3406
3439
|
...e,
|
|
3407
3440
|
label: e.id === t ? n : e.label,
|
|
3408
|
-
children: e.children ?
|
|
3441
|
+
children: e.children ? Pr(e.children, t, n) : void 0
|
|
3409
3442
|
}));
|
|
3410
3443
|
}
|
|
3411
3444
|
//#endregion
|
|
3412
3445
|
//#region src/components/blocks/nav/sidebar/use-ai-sidebar.ts
|
|
3413
|
-
function
|
|
3414
|
-
let [u, d] =
|
|
3415
|
-
e !== te && (
|
|
3416
|
-
let
|
|
3417
|
-
if (!(g !== null &&
|
|
3418
|
-
let e =
|
|
3446
|
+
function Fr({ items: e, defaultItems: t = [], onItemsChange: n, onMove: r, onMoveError: i, onRename: a, activeId: o, defaultActiveId: s = null, onActiveChange: c, defaultExpandedIds: l = [] }) {
|
|
3447
|
+
let [u, d] = H(e ?? t), [f, p] = H(s), [m, h] = H(() => new Set(l)), [g, _] = H(o ?? s), [v, y] = H(null), [b, x] = H(null), [S, C] = H(null), [w, T] = H(null), [E, D] = H(null), O = re(), [k, A] = H(""), ee = V(/* @__PURE__ */ new Map()), j = V(!1), M = u, N = o ?? f, [te, ne] = H(e);
|
|
3448
|
+
e !== te && (ne(e), e && d(e));
|
|
3449
|
+
let P = ae(() => Or(M, m), [m, M]);
|
|
3450
|
+
if (!(g !== null && P.some((e) => e.item.id === g))) {
|
|
3451
|
+
let e = P[0]?.item.id ?? null;
|
|
3419
3452
|
g !== e && _(e);
|
|
3420
3453
|
}
|
|
3421
|
-
|
|
3454
|
+
B(() => {
|
|
3422
3455
|
if (!S) return;
|
|
3423
3456
|
let e = requestAnimationFrame(() => {
|
|
3424
3457
|
Array.from(document.querySelectorAll("[data-sidebar-resource-menu]")).find((e) => e.dataset.sidebarResourceMenu === S)?.querySelector("button, a[href]")?.focus();
|
|
3425
3458
|
});
|
|
3426
3459
|
return () => cancelAnimationFrame(e);
|
|
3427
3460
|
}, [S]);
|
|
3428
|
-
let
|
|
3461
|
+
let F = R((e) => {
|
|
3429
3462
|
d(e), n?.(e);
|
|
3430
|
-
}, [n]),
|
|
3431
|
-
if (
|
|
3463
|
+
}, [n]), I = R(async (e) => {
|
|
3464
|
+
if (j.current) {
|
|
3432
3465
|
A("Wait for the current move to finish.");
|
|
3433
3466
|
return;
|
|
3434
3467
|
}
|
|
3435
|
-
let t =
|
|
3468
|
+
let t = M, n = Nr(t, e);
|
|
3436
3469
|
if (!n || n === t) return;
|
|
3437
|
-
|
|
3438
|
-
let a =
|
|
3470
|
+
j.current = !0, F(n), x(null), y(null);
|
|
3471
|
+
let a = kr(t, e.itemId), o = e.targetId ? kr(t, e.targetId) : null;
|
|
3439
3472
|
A(o ? `Moved ${a?.label ?? "item"} ${e.position} ${o.label}.` : `Moved ${a?.label ?? "item"} to the top level.`);
|
|
3440
3473
|
try {
|
|
3441
3474
|
await r?.(e);
|
|
3442
3475
|
} catch (n) {
|
|
3443
|
-
|
|
3476
|
+
F(t), A(`Move failed. ${a?.label ?? "Item"} was restored.`), i?.(n, e);
|
|
3444
3477
|
} finally {
|
|
3445
|
-
|
|
3478
|
+
j.current = !1;
|
|
3446
3479
|
}
|
|
3447
3480
|
}, [
|
|
3448
3481
|
r,
|
|
3449
3482
|
i,
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
]),
|
|
3453
|
-
_(e), requestAnimationFrame(() =>
|
|
3454
|
-
}, []), z =
|
|
3483
|
+
M,
|
|
3484
|
+
F
|
|
3485
|
+
]), L = R((e) => {
|
|
3486
|
+
_(e), requestAnimationFrame(() => ee.current.get(e)?.focus());
|
|
3487
|
+
}, []), z = R((e) => {
|
|
3455
3488
|
o === void 0 && p(e), c?.(e);
|
|
3456
|
-
}, [o, c]),
|
|
3489
|
+
}, [o, c]), ie = R((e) => {
|
|
3457
3490
|
h((t) => {
|
|
3458
3491
|
let n = new Set(t);
|
|
3459
3492
|
return n.has(e) ? n.delete(e) : n.add(e), n;
|
|
3460
3493
|
});
|
|
3461
|
-
}, []),
|
|
3462
|
-
let n =
|
|
3494
|
+
}, []), oe = R((e, t) => {
|
|
3495
|
+
let n = P.findIndex(({ item: e }) => e.id === t.item.id), r = P[n - 1], i = P[n + 1], a = e.altKey && e.shiftKey;
|
|
3463
3496
|
if (e.key === "ArrowDown" && !a && i) {
|
|
3464
|
-
e.preventDefault(),
|
|
3497
|
+
e.preventDefault(), L(i.item.id);
|
|
3465
3498
|
return;
|
|
3466
3499
|
}
|
|
3467
3500
|
if (e.key === "ArrowUp" && !a && r) {
|
|
3468
|
-
e.preventDefault(),
|
|
3501
|
+
e.preventDefault(), L(r.item.id);
|
|
3469
3502
|
return;
|
|
3470
3503
|
}
|
|
3471
|
-
if (e.key === "Home" &&
|
|
3472
|
-
e.preventDefault(),
|
|
3504
|
+
if (e.key === "Home" && P[0]) {
|
|
3505
|
+
e.preventDefault(), L(P[0].item.id);
|
|
3473
3506
|
return;
|
|
3474
3507
|
}
|
|
3475
|
-
if (e.key === "End" &&
|
|
3476
|
-
e.preventDefault(),
|
|
3508
|
+
if (e.key === "End" && P.at(-1)) {
|
|
3509
|
+
e.preventDefault(), L(P.at(-1)?.item.id ?? t.item.id);
|
|
3477
3510
|
return;
|
|
3478
3511
|
}
|
|
3479
3512
|
if (t.item.disabled) {
|
|
3480
|
-
e.key === "ArrowLeft" && t.parentId ? (e.preventDefault(),
|
|
3513
|
+
e.key === "ArrowLeft" && t.parentId ? (e.preventDefault(), L(t.parentId)) : (a || [
|
|
3481
3514
|
"ArrowRight",
|
|
3482
3515
|
"Enter",
|
|
3483
3516
|
" ",
|
|
@@ -3487,7 +3520,7 @@ function Ir({ items: e, defaultItems: t = [], onItemsChange: n, onMove: r, onMov
|
|
|
3487
3520
|
return;
|
|
3488
3521
|
}
|
|
3489
3522
|
if (a && e.key === "ArrowUp" && r) {
|
|
3490
|
-
e.preventDefault(),
|
|
3523
|
+
e.preventDefault(), I({
|
|
3491
3524
|
itemId: t.item.id,
|
|
3492
3525
|
targetId: r.item.id,
|
|
3493
3526
|
position: "before"
|
|
@@ -3495,15 +3528,15 @@ function Ir({ items: e, defaultItems: t = [], onItemsChange: n, onMove: r, onMov
|
|
|
3495
3528
|
return;
|
|
3496
3529
|
}
|
|
3497
3530
|
if (a && e.key === "ArrowDown" && i) {
|
|
3498
|
-
e.preventDefault(),
|
|
3531
|
+
e.preventDefault(), I({
|
|
3499
3532
|
itemId: t.item.id,
|
|
3500
3533
|
targetId: i.item.id,
|
|
3501
3534
|
position: "after"
|
|
3502
3535
|
});
|
|
3503
3536
|
return;
|
|
3504
3537
|
}
|
|
3505
|
-
if (a && e.key === "ArrowRight" && r &&
|
|
3506
|
-
e.preventDefault(), h((e) => new Set(e).add(r.item.id)),
|
|
3538
|
+
if (a && e.key === "ArrowRight" && r && Dr(r.item)) {
|
|
3539
|
+
e.preventDefault(), h((e) => new Set(e).add(r.item.id)), I({
|
|
3507
3540
|
itemId: t.item.id,
|
|
3508
3541
|
targetId: r.item.id,
|
|
3509
3542
|
position: "inside"
|
|
@@ -3511,28 +3544,28 @@ function Ir({ items: e, defaultItems: t = [], onItemsChange: n, onMove: r, onMov
|
|
|
3511
3544
|
return;
|
|
3512
3545
|
}
|
|
3513
3546
|
if (a && e.key === "ArrowLeft" && t.parentId) {
|
|
3514
|
-
e.preventDefault(),
|
|
3547
|
+
e.preventDefault(), I({
|
|
3515
3548
|
itemId: t.item.id,
|
|
3516
3549
|
targetId: t.parentId,
|
|
3517
3550
|
position: "after"
|
|
3518
3551
|
});
|
|
3519
3552
|
return;
|
|
3520
3553
|
}
|
|
3521
|
-
e.key === "ArrowRight" &&
|
|
3554
|
+
e.key === "ArrowRight" && Dr(t.item) ? (e.preventDefault(), m.has(t.item.id) ? i?.parentId === t.item.id && L(i.item.id) : ie(t.item.id)) : e.key === "ArrowLeft" ? (e.preventDefault(), m.has(t.item.id) ? ie(t.item.id) : t.parentId && L(t.parentId)) : e.key === "Enter" || e.key === " " ? (e.preventDefault(), Dr(t.item) ? ie(t.item.id) : z(t.item.id)) : e.key === "F2" ? (e.preventDefault(), T(t.item.id)) : (e.key === "ContextMenu" || e.shiftKey && e.key === "F10") && (e.preventDefault(), C(t.item.id));
|
|
3522
3555
|
}, [
|
|
3523
3556
|
m,
|
|
3524
|
-
|
|
3525
|
-
R,
|
|
3557
|
+
P,
|
|
3526
3558
|
L,
|
|
3559
|
+
I,
|
|
3527
3560
|
z,
|
|
3528
|
-
|
|
3529
|
-
]),
|
|
3561
|
+
ie
|
|
3562
|
+
]), se = R((e) => {
|
|
3530
3563
|
!v || e.target !== e.currentTarget || (e.preventDefault(), x({
|
|
3531
3564
|
id: null,
|
|
3532
3565
|
position: "after"
|
|
3533
3566
|
}));
|
|
3534
|
-
}, [v]),
|
|
3535
|
-
e.preventDefault(), e.stopPropagation(), v && b &&
|
|
3567
|
+
}, [v]), ce = R((e) => {
|
|
3568
|
+
e.preventDefault(), e.stopPropagation(), v && b && I({
|
|
3536
3569
|
itemId: v,
|
|
3537
3570
|
targetId: b.id,
|
|
3538
3571
|
position: b.position
|
|
@@ -3540,38 +3573,38 @@ function Ir({ items: e, defaultItems: t = [], onItemsChange: n, onMove: r, onMov
|
|
|
3540
3573
|
}, [
|
|
3541
3574
|
v,
|
|
3542
3575
|
b,
|
|
3543
|
-
|
|
3544
|
-
]),
|
|
3576
|
+
I
|
|
3577
|
+
]), le = R((e, t) => {
|
|
3545
3578
|
y(t), e.dataTransfer.effectAllowed = "move", e.dataTransfer.setData("text/plain", t);
|
|
3546
|
-
}, []),
|
|
3579
|
+
}, []), ue = R(() => {
|
|
3547
3580
|
y(null), x(null);
|
|
3548
|
-
}, []),
|
|
3581
|
+
}, []), de = R((e, t) => {
|
|
3549
3582
|
if (!v || v === t.item.id) return;
|
|
3550
|
-
let n =
|
|
3551
|
-
if (n &&
|
|
3583
|
+
let n = kr(M, v);
|
|
3584
|
+
if (n && Ar(n, t.item.id)) return;
|
|
3552
3585
|
e.preventDefault(), e.stopPropagation();
|
|
3553
|
-
let r = e.currentTarget.getBoundingClientRect(), i = (e.clientY - r.top) / r.height, a = !t.item.disabled &&
|
|
3586
|
+
let r = e.currentTarget.getBoundingClientRect(), i = (e.clientY - r.top) / r.height, a = !t.item.disabled && Dr(t.item) && i >= .25 && i <= .75 ? "inside" : i < .5 ? "before" : "after";
|
|
3554
3587
|
x({
|
|
3555
3588
|
id: t.item.id,
|
|
3556
3589
|
position: a
|
|
3557
3590
|
});
|
|
3558
|
-
}, [v,
|
|
3591
|
+
}, [v, M]), fe = R((e, t) => {
|
|
3559
3592
|
let n = t.trim();
|
|
3560
3593
|
if (T(null), !n || n === e.item.label) return;
|
|
3561
|
-
let r =
|
|
3562
|
-
|
|
3563
|
-
|
|
3594
|
+
let r = M;
|
|
3595
|
+
F(Pr(r, e.item.id, n)), Promise.resolve(a?.(e.item, n)).catch(() => {
|
|
3596
|
+
F(r), A(`Rename failed. ${e.item.label} was restored.`);
|
|
3564
3597
|
});
|
|
3565
3598
|
}, [
|
|
3566
3599
|
a,
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
]),
|
|
3570
|
-
C(t ? e.item.id : null), t ||
|
|
3571
|
-
}, [
|
|
3600
|
+
M,
|
|
3601
|
+
F
|
|
3602
|
+
]), pe = R((e, t) => {
|
|
3603
|
+
C(t ? e.item.id : null), t || L(e.item.id);
|
|
3604
|
+
}, [L]);
|
|
3572
3605
|
return {
|
|
3573
|
-
flat:
|
|
3574
|
-
selectedId:
|
|
3606
|
+
flat: P,
|
|
3607
|
+
selectedId: N,
|
|
3575
3608
|
expandedIds: m,
|
|
3576
3609
|
focusedId: g,
|
|
3577
3610
|
setFocusedId: _,
|
|
@@ -3579,39 +3612,39 @@ function Ir({ items: e, defaultItems: t = [], onItemsChange: n, onMove: r, onMov
|
|
|
3579
3612
|
dropTarget: b,
|
|
3580
3613
|
hoveredId: E,
|
|
3581
3614
|
hoverLayoutId: O,
|
|
3582
|
-
handleRowHover:
|
|
3615
|
+
handleRowHover: R((e, t) => {
|
|
3583
3616
|
D((n) => t ? e : n === e ? null : n);
|
|
3584
3617
|
}, []),
|
|
3585
|
-
clearHover:
|
|
3618
|
+
clearHover: R(() => D(null), []),
|
|
3586
3619
|
menuOpenId: S,
|
|
3587
3620
|
renamingId: w,
|
|
3588
3621
|
setRenamingId: T,
|
|
3589
3622
|
announcement: k,
|
|
3590
3623
|
select: z,
|
|
3591
|
-
toggle:
|
|
3592
|
-
handleKeyDown:
|
|
3593
|
-
handleRootDragOver:
|
|
3594
|
-
handleDrop:
|
|
3595
|
-
handleRowDragStart:
|
|
3596
|
-
handleRowDragEnd:
|
|
3597
|
-
handleRowDragOver:
|
|
3598
|
-
commitRename:
|
|
3599
|
-
handleMenuOpenChange:
|
|
3600
|
-
setRowRef:
|
|
3601
|
-
t ?
|
|
3624
|
+
toggle: ie,
|
|
3625
|
+
handleKeyDown: oe,
|
|
3626
|
+
handleRootDragOver: se,
|
|
3627
|
+
handleDrop: ce,
|
|
3628
|
+
handleRowDragStart: le,
|
|
3629
|
+
handleRowDragEnd: ue,
|
|
3630
|
+
handleRowDragOver: de,
|
|
3631
|
+
commitRename: fe,
|
|
3632
|
+
handleMenuOpenChange: pe,
|
|
3633
|
+
setRowRef: R((e, t) => {
|
|
3634
|
+
t ? ee.current.set(e, t) : ee.current.delete(e);
|
|
3602
3635
|
}, [])
|
|
3603
3636
|
};
|
|
3604
3637
|
}
|
|
3605
3638
|
//#endregion
|
|
3606
3639
|
//#region src/components/blocks/nav/sidebar/sidebar-icon.tsx
|
|
3607
|
-
function
|
|
3640
|
+
function Ir(e, t) {
|
|
3608
3641
|
return /* @__PURE__ */ i(e.kind === "folder" || e.kind === "project" ? t ? b : y : e.kind === "bookmark" ? u : _, { className: "size-4" });
|
|
3609
3642
|
}
|
|
3610
3643
|
//#endregion
|
|
3611
3644
|
//#region src/components/blocks/nav/sidebar/marquee-label.tsx
|
|
3612
|
-
function
|
|
3613
|
-
let n = be() ?? !1, r =
|
|
3614
|
-
|
|
3645
|
+
function Lr({ active: e, children: t }) {
|
|
3646
|
+
let n = be() ?? !1, r = V(null), o = V(null), [s, c] = H(0);
|
|
3647
|
+
B(() => {
|
|
3615
3648
|
let e = () => {
|
|
3616
3649
|
let e = r.current, t = o.current;
|
|
3617
3650
|
!e || !t || c(t.scrollWidth > e.clientWidth ? t.scrollWidth + 24 : 0);
|
|
@@ -3624,7 +3657,7 @@ function Rr({ active: e, children: t }) {
|
|
|
3624
3657
|
return /* @__PURE__ */ i("span", {
|
|
3625
3658
|
ref: r,
|
|
3626
3659
|
className: "relative block min-w-0 flex-1 overflow-hidden",
|
|
3627
|
-
children: /* @__PURE__ */ a(
|
|
3660
|
+
children: /* @__PURE__ */ a(G.span, {
|
|
3628
3661
|
className: "flex w-max items-center gap-6 whitespace-nowrap",
|
|
3629
3662
|
animate: { x: l ? [0, -s] : 0 },
|
|
3630
3663
|
transition: l ? {
|
|
@@ -3632,7 +3665,7 @@ function Rr({ active: e, children: t }) {
|
|
|
3632
3665
|
ease: "linear",
|
|
3633
3666
|
repeat: Infinity,
|
|
3634
3667
|
repeatDelay: 2
|
|
3635
|
-
} :
|
|
3668
|
+
} : Er,
|
|
3636
3669
|
children: [/* @__PURE__ */ i("span", {
|
|
3637
3670
|
ref: o,
|
|
3638
3671
|
children: t
|
|
@@ -3645,11 +3678,11 @@ function Rr({ active: e, children: t }) {
|
|
|
3645
3678
|
}
|
|
3646
3679
|
//#endregion
|
|
3647
3680
|
//#region src/components/motion/popover-position.ts
|
|
3648
|
-
function
|
|
3681
|
+
function Rr(e, t) {
|
|
3649
3682
|
return e?.trigger.left === t.trigger.left && e.trigger.top === t.trigger.top && e.trigger.width === t.trigger.width && e.trigger.height === t.trigger.height && e.content.width === t.content.width && e.content.height === t.content.height;
|
|
3650
3683
|
}
|
|
3651
|
-
function
|
|
3652
|
-
let [r, i] =
|
|
3684
|
+
function zr(e, t, n) {
|
|
3685
|
+
let [r, i] = H(null), a = R(() => {
|
|
3653
3686
|
let n = e.current, r = t.current;
|
|
3654
3687
|
if (!n || !r) return;
|
|
3655
3688
|
let a = n.getBoundingClientRect(), o = {
|
|
@@ -3664,7 +3697,7 @@ function Br(e, t, n) {
|
|
|
3664
3697
|
height: r.offsetHeight
|
|
3665
3698
|
}
|
|
3666
3699
|
};
|
|
3667
|
-
i((e) =>
|
|
3700
|
+
i((e) => Rr(e, o) ? e : o);
|
|
3668
3701
|
}, [t, e]);
|
|
3669
3702
|
return ie(() => {
|
|
3670
3703
|
if (a(), !n) return;
|
|
@@ -3681,17 +3714,17 @@ function Br(e, t, n) {
|
|
|
3681
3714
|
}
|
|
3682
3715
|
//#endregion
|
|
3683
3716
|
//#region src/components/motion/popover-morph.tsx
|
|
3684
|
-
var
|
|
3685
|
-
function
|
|
3686
|
-
let t =
|
|
3717
|
+
var Br = P(null);
|
|
3718
|
+
function Vr(e) {
|
|
3719
|
+
let t = z(Br);
|
|
3687
3720
|
if (!t) throw Error(`${e} must be used within <MorphPopover>`);
|
|
3688
3721
|
return t;
|
|
3689
3722
|
}
|
|
3690
|
-
function
|
|
3691
|
-
let o = re(), s =
|
|
3723
|
+
function Hr({ children: e, open: t, defaultOpen: n = !1, onOpenChange: r, className: a }) {
|
|
3724
|
+
let o = re(), s = V(null), c = V(null), l = V(null), [u, d] = H(n), f = t !== void 0, p = f ? t : u, m = R((e) => {
|
|
3692
3725
|
f || d(e), r?.(e);
|
|
3693
|
-
}, [f, r]), h =
|
|
3694
|
-
|
|
3726
|
+
}, [f, r]), h = R(() => m(!p), [m, p]);
|
|
3727
|
+
B(() => {
|
|
3695
3728
|
if (!p) return;
|
|
3696
3729
|
let e = (e) => e.key === "Escape" && m(!1), t = (e) => {
|
|
3697
3730
|
let t = e.target;
|
|
@@ -3718,27 +3751,27 @@ function Ur({ children: e, open: t, defaultOpen: n = !1, onOpenChange: r, classN
|
|
|
3718
3751
|
h,
|
|
3719
3752
|
o
|
|
3720
3753
|
]);
|
|
3721
|
-
return /* @__PURE__ */ i(
|
|
3754
|
+
return /* @__PURE__ */ i(Br.Provider, {
|
|
3722
3755
|
value: g,
|
|
3723
3756
|
children: /* @__PURE__ */ i("div", {
|
|
3724
3757
|
ref: s,
|
|
3725
|
-
className:
|
|
3758
|
+
className: K("relative inline-flex", a),
|
|
3726
3759
|
children: e
|
|
3727
3760
|
})
|
|
3728
3761
|
});
|
|
3729
3762
|
}
|
|
3730
|
-
function
|
|
3763
|
+
function Ur(...e) {
|
|
3731
3764
|
return (t) => {
|
|
3732
3765
|
for (let n of e) typeof n == "function" ? n(t) : n && typeof n == "object" && (n.current = t);
|
|
3733
3766
|
};
|
|
3734
3767
|
}
|
|
3735
|
-
function
|
|
3736
|
-
let t =
|
|
3737
|
-
if (!
|
|
3768
|
+
function Wr({ children: e }) {
|
|
3769
|
+
let t = Vr("MorphPopoverTrigger");
|
|
3770
|
+
if (!L(e)) return e;
|
|
3738
3771
|
let n = e, r = n.props.onClick, i = n.props.ref;
|
|
3739
|
-
return
|
|
3772
|
+
return ne(n, {
|
|
3740
3773
|
id: t.triggerId,
|
|
3741
|
-
ref:
|
|
3774
|
+
ref: Ur(i, (e) => {
|
|
3742
3775
|
t.triggerRef.current = e;
|
|
3743
3776
|
}),
|
|
3744
3777
|
onClick: (e) => {
|
|
@@ -3749,39 +3782,39 @@ function Gr({ children: e }) {
|
|
|
3749
3782
|
"aria-controls": t.open ? t.contentId : void 0
|
|
3750
3783
|
});
|
|
3751
3784
|
}
|
|
3752
|
-
var
|
|
3753
|
-
function
|
|
3785
|
+
var Gr = (e, t) => `${e === "bottom" ? "top" : "bottom"} ${t === "end" ? "right" : "left"}`;
|
|
3786
|
+
function Kr(e, t, n) {
|
|
3754
3787
|
return `inset(${e === "bottom" ? "0%" : "92%"} ${t === "end" ? "0%" : "92%"} ${e === "bottom" ? "92%" : "0%"} ${t === "end" ? "92%" : "0%"} round ${n}px)`;
|
|
3755
3788
|
}
|
|
3756
|
-
var
|
|
3789
|
+
var qr = (e) => `inset(0% 0% 0% 0% round ${e}px)`, Jr = {
|
|
3757
3790
|
duration: .32,
|
|
3758
|
-
ease:
|
|
3791
|
+
ease: $
|
|
3759
3792
|
};
|
|
3760
|
-
function
|
|
3761
|
-
let s =
|
|
3762
|
-
|
|
3793
|
+
function Yr({ children: e, side: t = "bottom", align: n = "end", sideOffset: r = 8, radius: a = 16, className: o }) {
|
|
3794
|
+
let s = Vr("MorphPopoverContent"), { contentId: c, setContentRef: l, triggerId: u } = s, d = be() ?? !1, [f, p] = H(!1), m = zr(s.triggerRef, s.contentRef, f && s.open);
|
|
3795
|
+
B(() => p(!0), []);
|
|
3763
3796
|
let h = m ? n === "end" ? m.trigger.left + m.trigger.width - m.content.width : m.trigger.left : 0, g = m ? t === "bottom" ? m.trigger.top + m.trigger.height + r : m.trigger.top - m.content.height - r : 0, _ = d ? void 0 : {
|
|
3764
3797
|
hidden: {
|
|
3765
3798
|
opacity: 0,
|
|
3766
3799
|
scale: .96,
|
|
3767
|
-
transition:
|
|
3800
|
+
transition: Mn
|
|
3768
3801
|
},
|
|
3769
3802
|
show: {
|
|
3770
3803
|
opacity: 1,
|
|
3771
3804
|
scale: 1,
|
|
3772
|
-
transition:
|
|
3805
|
+
transition: Mn
|
|
3773
3806
|
}
|
|
3774
3807
|
}, v = d ? void 0 : {
|
|
3775
3808
|
hidden: {
|
|
3776
|
-
clipPath:
|
|
3777
|
-
transition:
|
|
3809
|
+
clipPath: Kr(t, n, a),
|
|
3810
|
+
transition: Jr
|
|
3778
3811
|
},
|
|
3779
3812
|
show: {
|
|
3780
|
-
clipPath:
|
|
3781
|
-
transition:
|
|
3813
|
+
clipPath: qr(a),
|
|
3814
|
+
transition: Jr
|
|
3782
3815
|
}
|
|
3783
3816
|
};
|
|
3784
|
-
return f ? Te(/* @__PURE__ */ i(
|
|
3817
|
+
return f ? Te(/* @__PURE__ */ i(W, { children: s.open ? /* @__PURE__ */ i(G.div, {
|
|
3785
3818
|
"data-morph-popover-portal": "",
|
|
3786
3819
|
variants: _,
|
|
3787
3820
|
initial: d ? { opacity: 0 } : "hidden",
|
|
@@ -3792,24 +3825,24 @@ function Xr({ children: e, side: t = "bottom", align: n = "end", sideOffset: r =
|
|
|
3792
3825
|
left: h,
|
|
3793
3826
|
top: g,
|
|
3794
3827
|
visibility: m ? "visible" : "hidden",
|
|
3795
|
-
transformOrigin:
|
|
3828
|
+
transformOrigin: Gr(t, n)
|
|
3796
3829
|
},
|
|
3797
3830
|
className: "fixed z-[9999] [filter:drop-shadow(0_10px_18px_rgba(0,0,0,0.14))]",
|
|
3798
|
-
children: /* @__PURE__ */ i(
|
|
3831
|
+
children: /* @__PURE__ */ i(G.div, {
|
|
3799
3832
|
ref: l,
|
|
3800
3833
|
id: c,
|
|
3801
3834
|
role: "dialog",
|
|
3802
3835
|
"aria-labelledby": u,
|
|
3803
3836
|
variants: v,
|
|
3804
3837
|
style: { borderRadius: a },
|
|
3805
|
-
className:
|
|
3838
|
+
className: K("overflow-hidden border border-border bg-background", o),
|
|
3806
3839
|
children: e
|
|
3807
3840
|
})
|
|
3808
3841
|
}) : null }), document.body) : null;
|
|
3809
3842
|
}
|
|
3810
3843
|
//#endregion
|
|
3811
3844
|
//#region src/components/blocks/nav/sidebar/sidebar-row.tsx
|
|
3812
|
-
var
|
|
3845
|
+
var Xr = {
|
|
3813
3846
|
initial: {
|
|
3814
3847
|
opacity: 0,
|
|
3815
3848
|
filter: "blur(6px)"
|
|
@@ -3822,19 +3855,19 @@ var Zr = {
|
|
|
3822
3855
|
opacity: 0,
|
|
3823
3856
|
filter: "blur(6px)"
|
|
3824
3857
|
}
|
|
3825
|
-
},
|
|
3858
|
+
}, Zr = {
|
|
3826
3859
|
initial: { opacity: 0 },
|
|
3827
3860
|
animate: { opacity: 1 },
|
|
3828
3861
|
exit: (e) => e ? {} : { opacity: 0 }
|
|
3829
3862
|
};
|
|
3830
|
-
function
|
|
3831
|
-
let
|
|
3832
|
-
|
|
3863
|
+
function Qr({ row: e, active: t, expanded: n, focused: r, draggingId: o, dropTarget: s, menuOpen: c, renaming: l, onDragEnd: u, onDragOver: d, onDragStart: p, onDrop: m, onFocus: h, onKeyDown: g, onMenuOpenChange: _, onRenameCancel: v, onRenameCommit: y, onRenameStart: b, onSelect: x, onToggle: S, hoverActive: C = !1, hoverPill: w = !1, hoverLayoutId: E, onHoverChange: O, renderIcon: k, renderMenu: A, renderActionsTrigger: ee, setRef: j }) {
|
|
3864
|
+
let M = be() ?? !1, [N, te] = H(!1), P = V(null), F = V(!1), I = V(!1), [L, R] = H(e.item.label), z = Dr(e.item), re = o === e.item.id, ie = s?.id === e.item.id ? s.position : null;
|
|
3865
|
+
B(() => {
|
|
3833
3866
|
l && (F.current = !1, requestAnimationFrame(() => {
|
|
3834
3867
|
P.current?.focus(), P.current?.select();
|
|
3835
3868
|
}));
|
|
3836
3869
|
}, [l, e.item.label]);
|
|
3837
|
-
let
|
|
3870
|
+
let ae = A?.(e.item, {
|
|
3838
3871
|
close: () => _(!1),
|
|
3839
3872
|
rename: () => {
|
|
3840
3873
|
_(!1), b();
|
|
@@ -3845,65 +3878,65 @@ function $r({ row: e, active: t, expanded: n, focused: r, draggingId: o, dropTar
|
|
|
3845
3878
|
_(!1), b();
|
|
3846
3879
|
},
|
|
3847
3880
|
className: "flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-left text-xs text-foreground transition-colors outline-none hover:bg-muted focus-visible:bg-muted focus-visible:ring-2 focus-visible:ring-ring",
|
|
3848
|
-
children: [/* @__PURE__ */ i(
|
|
3881
|
+
children: [/* @__PURE__ */ i(D, {
|
|
3849
3882
|
"aria-hidden": "true",
|
|
3850
3883
|
className: "size-3.5"
|
|
3851
3884
|
}), "Rename"]
|
|
3852
3885
|
});
|
|
3853
|
-
return /* @__PURE__ */ a(
|
|
3854
|
-
ref:
|
|
3886
|
+
return /* @__PURE__ */ a(G.div, {
|
|
3887
|
+
ref: j,
|
|
3855
3888
|
layout: "position",
|
|
3856
|
-
transition:
|
|
3889
|
+
transition: M ? { duration: 0 } : Nn,
|
|
3857
3890
|
role: "treeitem",
|
|
3858
3891
|
"aria-level": e.depth + 1,
|
|
3859
|
-
"aria-selected":
|
|
3860
|
-
"aria-expanded":
|
|
3892
|
+
"aria-selected": z ? void 0 : t,
|
|
3893
|
+
"aria-expanded": z ? n : void 0,
|
|
3861
3894
|
"aria-disabled": e.item.disabled || void 0,
|
|
3862
3895
|
tabIndex: r ? 0 : -1,
|
|
3863
3896
|
draggable: !e.item.disabled && !l,
|
|
3864
3897
|
"data-menu-open": c || void 0,
|
|
3865
|
-
"data-drop":
|
|
3866
|
-
"data-dragging":
|
|
3898
|
+
"data-drop": ie ?? void 0,
|
|
3899
|
+
"data-dragging": re || void 0,
|
|
3867
3900
|
onFocus: h,
|
|
3868
3901
|
onKeyDown: g,
|
|
3869
3902
|
onClick: (t) => {
|
|
3870
|
-
t.defaultPrevented ||
|
|
3903
|
+
t.defaultPrevented || I.current || l || e.item.disabled || (z ? S() : x());
|
|
3871
3904
|
},
|
|
3872
3905
|
onDoubleClick: (t) => {
|
|
3873
|
-
|
|
3906
|
+
z || e.item.disabled || (t.preventDefault(), b());
|
|
3874
3907
|
},
|
|
3875
3908
|
onMouseEnter: () => {
|
|
3876
|
-
te(!0),
|
|
3909
|
+
te(!0), O?.(!0);
|
|
3877
3910
|
},
|
|
3878
3911
|
onMouseLeave: () => {
|
|
3879
|
-
te(!1),
|
|
3912
|
+
te(!1), O?.(!1);
|
|
3880
3913
|
},
|
|
3881
3914
|
onDragStartCapture: (t) => {
|
|
3882
|
-
|
|
3915
|
+
I.current = !0, p(t, e.item.id);
|
|
3883
3916
|
},
|
|
3884
3917
|
onDragEndCapture: () => {
|
|
3885
3918
|
u(), requestAnimationFrame(() => {
|
|
3886
|
-
|
|
3919
|
+
I.current = !1;
|
|
3887
3920
|
});
|
|
3888
3921
|
},
|
|
3889
3922
|
onDragOver: (t) => d(t, e),
|
|
3890
3923
|
onDrop: m,
|
|
3891
|
-
className:
|
|
3924
|
+
className: K("group/resource relative flex min-h-9 min-w-0 cursor-pointer items-center gap-2.5 rounded-md pr-3 text-sm outline-none", "text-muted-foreground transition-[color,background-color,scale] duration-150 ease-smooth-out hover:text-foreground motion-reduce:transition-none", !e.item.disabled && !l && "active:scale-97 motion-reduce:active:scale-100", E === void 0 && "hover:bg-muted", "focus-visible:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", "data-[menu-open=true]:bg-muted data-[menu-open=true]:text-foreground", "data-[dragging=true]:opacity-40", "data-[drop=inside]:bg-primary/10 data-[drop=inside]:ring-1 data-[drop=inside]:ring-primary/45", "data-[drop=before]:before:absolute data-[drop=before]:before:-top-0.5 data-[drop=before]:before:right-2 data-[drop=before]:before:left-2 data-[drop=before]:before:h-0.5 data-[drop=before]:before:rounded-full data-[drop=before]:before:bg-primary", "data-[drop=after]:after:absolute data-[drop=after]:after:right-2 data-[drop=after]:after:-bottom-0.5 data-[drop=after]:after:left-2 data-[drop=after]:after:h-0.5 data-[drop=after]:after:rounded-full data-[drop=after]:after:bg-primary", !z && t && "bg-primary/10 text-primary dark:bg-primary/25 dark:text-primary-foreground", e.item.disabled && "cursor-not-allowed opacity-45"),
|
|
3892
3925
|
style: { paddingLeft: `${12 + e.depth * 16}px` },
|
|
3893
3926
|
children: [
|
|
3894
|
-
|
|
3927
|
+
E ? /* @__PURE__ */ i(W, {
|
|
3895
3928
|
custom: C,
|
|
3896
|
-
children: C ? /* @__PURE__ */ i(
|
|
3929
|
+
children: C ? /* @__PURE__ */ i(G.span, {
|
|
3897
3930
|
"aria-hidden": "true",
|
|
3898
|
-
variants:
|
|
3931
|
+
variants: M ? Zr : Xr,
|
|
3899
3932
|
initial: "initial",
|
|
3900
3933
|
animate: "animate",
|
|
3901
3934
|
exit: "exit",
|
|
3902
3935
|
custom: C,
|
|
3903
3936
|
className: "pointer-events-none absolute inset-0",
|
|
3904
|
-
children: w ? /* @__PURE__ */ i(
|
|
3905
|
-
layoutId:
|
|
3906
|
-
transition:
|
|
3937
|
+
children: w ? /* @__PURE__ */ i(G.span, {
|
|
3938
|
+
layoutId: E,
|
|
3939
|
+
transition: M ? { duration: 0 } : Nn,
|
|
3907
3940
|
className: "block h-full w-full rounded-md bg-foreground/8 dark:bg-muted/50"
|
|
3908
3941
|
}) : null
|
|
3909
3942
|
}) : null
|
|
@@ -3911,54 +3944,54 @@ function $r({ row: e, active: t, expanded: n, focused: r, draggingId: o, dropTar
|
|
|
3911
3944
|
/* @__PURE__ */ i("span", {
|
|
3912
3945
|
"aria-hidden": "true",
|
|
3913
3946
|
className: "relative grid size-5 shrink-0 place-items-center",
|
|
3914
|
-
children:
|
|
3947
|
+
children: k?.(e.item) ?? Ir(e.item, n)
|
|
3915
3948
|
}),
|
|
3916
3949
|
l ? /* @__PURE__ */ i("input", {
|
|
3917
3950
|
ref: P,
|
|
3918
|
-
value:
|
|
3951
|
+
value: L,
|
|
3919
3952
|
"aria-label": `Rename ${e.item.label}`,
|
|
3920
|
-
onChange: (e) =>
|
|
3953
|
+
onChange: (e) => R(e.target.value),
|
|
3921
3954
|
draggable: !1,
|
|
3922
3955
|
onClick: (e) => e.stopPropagation(),
|
|
3923
3956
|
onDoubleClick: (e) => e.stopPropagation(),
|
|
3924
3957
|
onBlur: () => {
|
|
3925
|
-
F.current || y(
|
|
3958
|
+
F.current || y(L);
|
|
3926
3959
|
},
|
|
3927
3960
|
onKeyDown: (e) => {
|
|
3928
|
-
e.stopPropagation(), e.key === "Enter" && (F.current = !0, y(
|
|
3961
|
+
e.stopPropagation(), e.key === "Enter" && (F.current = !0, y(L)), e.key === "Escape" && (F.current = !0, v());
|
|
3929
3962
|
},
|
|
3930
3963
|
className: "relative h-7 min-w-0 flex-1 text-sm text-foreground outline-none focus-visible:ring-0 focus-visible:ring-ring"
|
|
3931
|
-
}) : /* @__PURE__ */ i(
|
|
3932
|
-
active:
|
|
3964
|
+
}) : /* @__PURE__ */ i(Lr, {
|
|
3965
|
+
active: N || c,
|
|
3933
3966
|
children: e.item.label
|
|
3934
3967
|
}),
|
|
3935
|
-
!l && !e.item.disabled ? /* @__PURE__ */ a(
|
|
3968
|
+
!l && !e.item.disabled ? /* @__PURE__ */ a(Hr, {
|
|
3936
3969
|
open: c,
|
|
3937
3970
|
onOpenChange: _,
|
|
3938
|
-
children: [/* @__PURE__ */ i(
|
|
3939
|
-
let t =
|
|
3971
|
+
children: [/* @__PURE__ */ i(Wr, { children: (() => {
|
|
3972
|
+
let t = ee?.(e.item);
|
|
3940
3973
|
if (t) {
|
|
3941
3974
|
let e = t.props.onClick;
|
|
3942
|
-
return
|
|
3975
|
+
return ne(t, {
|
|
3943
3976
|
draggable: !1,
|
|
3944
3977
|
onClick: (t) => {
|
|
3945
3978
|
t.stopPropagation(), e?.(t);
|
|
3946
3979
|
}
|
|
3947
3980
|
});
|
|
3948
3981
|
}
|
|
3949
|
-
return /* @__PURE__ */ i(
|
|
3982
|
+
return /* @__PURE__ */ i(q, {
|
|
3950
3983
|
draggable: !1,
|
|
3951
3984
|
tabIndex: -1,
|
|
3952
3985
|
variant: "link",
|
|
3953
3986
|
"aria-label": `Actions for ${e.item.label}`,
|
|
3954
3987
|
onClick: (e) => e.stopPropagation(),
|
|
3955
3988
|
className: "relative grid size-7 shrink-0 place-items-center rounded-lg opacity-0 transition-opacity duration-150 ease-smooth-out outline-none group-hover/resource:opacity-80 group-hover/resource:delay-150 group-data-[menu-open=true]/resource:opacity-100 hover:bg-foreground/5 focus-visible:opacity-100 focus-visible:ring-2 focus-visible:ring-ring motion-reduce:transition-none",
|
|
3956
|
-
children: /* @__PURE__ */ i(
|
|
3989
|
+
children: /* @__PURE__ */ i(T, {
|
|
3957
3990
|
"aria-hidden": "true",
|
|
3958
3991
|
className: "size-4"
|
|
3959
3992
|
})
|
|
3960
3993
|
});
|
|
3961
|
-
})() }), /* @__PURE__ */ i(
|
|
3994
|
+
})() }), /* @__PURE__ */ i(Yr, {
|
|
3962
3995
|
side: "bottom",
|
|
3963
3996
|
align: "end",
|
|
3964
3997
|
sideOffset: 8,
|
|
@@ -3966,21 +3999,21 @@ function $r({ row: e, active: t, expanded: n, focused: r, draggingId: o, dropTar
|
|
|
3966
3999
|
className: "w-40 p-1.5",
|
|
3967
4000
|
children: /* @__PURE__ */ i("div", {
|
|
3968
4001
|
"data-sidebar-resource-menu": e.item.id,
|
|
3969
|
-
children:
|
|
4002
|
+
children: ae
|
|
3970
4003
|
})
|
|
3971
4004
|
})]
|
|
3972
4005
|
}) : null,
|
|
3973
|
-
e.depth === 0 &&
|
|
4006
|
+
e.depth === 0 && z && (e.item.children?.length ?? 0) > 0 ? /* @__PURE__ */ i(f, {
|
|
3974
4007
|
"aria-hidden": "true",
|
|
3975
|
-
className:
|
|
4008
|
+
className: K("relative size-3.5 shrink-0 text-muted-foreground transition-transform duration-200 ease-smooth-out motion-reduce:transition-none", n && "rotate-90")
|
|
3976
4009
|
}) : null
|
|
3977
4010
|
]
|
|
3978
4011
|
});
|
|
3979
4012
|
}
|
|
3980
4013
|
//#endregion
|
|
3981
4014
|
//#region src/components/blocks/nav/sidebar/ai-sidebar.tsx
|
|
3982
|
-
function
|
|
3983
|
-
let { flat: l, selectedId: u, expandedIds: d, focusedId: f, setFocusedId: p, draggingId: m, dropTarget: h, hoveredId: g, hoverLayoutId: _, handleRowHover: v, clearHover: y, menuOpenId: b, renamingId: x, setRenamingId: S, announcement: C, select: w, toggle: T, handleKeyDown: E, handleRootDragOver: D, handleDrop: O, handleRowDragStart: k, handleRowDragEnd: A, handleRowDragOver:
|
|
4015
|
+
function $r({ renderIcon: e, renderMenu: t, renderActionsTrigger: n, ariaLabel: o = "Resources", className: s, ...c }) {
|
|
4016
|
+
let { flat: l, selectedId: u, expandedIds: d, focusedId: f, setFocusedId: p, draggingId: m, dropTarget: h, hoveredId: g, hoverLayoutId: _, handleRowHover: v, clearHover: y, menuOpenId: b, renamingId: x, setRenamingId: S, announcement: C, select: w, toggle: T, handleKeyDown: E, handleRootDragOver: D, handleDrop: O, handleRowDragStart: k, handleRowDragEnd: A, handleRowDragOver: ee, commitRename: j, handleMenuOpenChange: M, setRowRef: N } = Fr(c);
|
|
3984
4017
|
return /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ a("div", {
|
|
3985
4018
|
role: "tree",
|
|
3986
4019
|
"aria-label": o,
|
|
@@ -3988,10 +4021,10 @@ function ei({ renderIcon: e, renderMenu: t, renderActionsTrigger: n, ariaLabel:
|
|
|
3988
4021
|
onDragOver: D,
|
|
3989
4022
|
onDrop: O,
|
|
3990
4023
|
onMouseLeave: y,
|
|
3991
|
-
className:
|
|
3992
|
-
children: [/* @__PURE__ */ i(
|
|
4024
|
+
className: K("relative min-w-0 flex-col gap-0.5 [overflow-anchor:none] group-data-[state=collapsed]/sidebar:hidden", m && "pb-9 select-none", s),
|
|
4025
|
+
children: [/* @__PURE__ */ i(W, {
|
|
3993
4026
|
initial: !1,
|
|
3994
|
-
children: l.map((r) => /* @__PURE__ */ i(
|
|
4027
|
+
children: l.map((r) => /* @__PURE__ */ i(Qr, {
|
|
3995
4028
|
row: r,
|
|
3996
4029
|
active: u === r.item.id,
|
|
3997
4030
|
expanded: d.has(r.item.id),
|
|
@@ -4010,16 +4043,16 @@ function ei({ renderIcon: e, renderMenu: t, renderActionsTrigger: n, ariaLabel:
|
|
|
4010
4043
|
onKeyDown: (e) => E(e, r),
|
|
4011
4044
|
onRenameStart: () => S(r.item.id),
|
|
4012
4045
|
onRenameCancel: () => S(null),
|
|
4013
|
-
onRenameCommit: (e) =>
|
|
4014
|
-
onMenuOpenChange: (e) =>
|
|
4046
|
+
onRenameCommit: (e) => j(r, e),
|
|
4047
|
+
onMenuOpenChange: (e) => M(r, e),
|
|
4015
4048
|
onDragStart: k,
|
|
4016
4049
|
onDragEnd: A,
|
|
4017
|
-
onDragOver:
|
|
4050
|
+
onDragOver: ee,
|
|
4018
4051
|
onDrop: O,
|
|
4019
4052
|
renderIcon: e,
|
|
4020
4053
|
renderMenu: t,
|
|
4021
4054
|
renderActionsTrigger: n,
|
|
4022
|
-
setRef: (e) =>
|
|
4055
|
+
setRef: (e) => N(r.item.id, e)
|
|
4023
4056
|
}, r.item.id))
|
|
4024
4057
|
}), m && /* @__PURE__ */ i("div", {
|
|
4025
4058
|
"aria-hidden": "true",
|
|
@@ -4035,66 +4068,75 @@ function ei({ renderIcon: e, renderMenu: t, renderActionsTrigger: n, ariaLabel:
|
|
|
4035
4068
|
}
|
|
4036
4069
|
//#endregion
|
|
4037
4070
|
//#region src/components/blocks/nav/sidebar/index.ts
|
|
4038
|
-
var
|
|
4039
|
-
Wrapper:
|
|
4040
|
-
MarqueeLabel:
|
|
4041
|
-
Row:
|
|
4042
|
-
Icon:
|
|
4043
|
-
},
|
|
4071
|
+
var ei = {
|
|
4072
|
+
Wrapper: $r,
|
|
4073
|
+
MarqueeLabel: Lr,
|
|
4074
|
+
Row: Qr,
|
|
4075
|
+
Icon: Ir
|
|
4076
|
+
}, ti = 48;
|
|
4044
4077
|
//#endregion
|
|
4045
4078
|
//#region src/components/blocks/shell/shell-layout.tsx
|
|
4046
|
-
function
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4079
|
+
function ni({ children: e, variant: t = "desktop", panels: n, className: r, defaultOpen: o, ...s }) {
|
|
4080
|
+
let c = {
|
|
4081
|
+
...n?.left && { left: n.left.defaultOpen ?? n.left.open },
|
|
4082
|
+
...n?.right && { right: n.right.defaultOpen ?? n.right.open },
|
|
4083
|
+
...o
|
|
4084
|
+
};
|
|
4085
|
+
return /* @__PURE__ */ a(ir, {
|
|
4086
|
+
...s,
|
|
4087
|
+
defaultOpen: c,
|
|
4088
|
+
className: K("block-full", r, "bg-linear-to-tr/increasing from-neutral-200 via-neutral-100 to-stone-200 dark:from-neutral-900 dark:via-neutral-950 dark:to-stone-950", "relative pr-2"),
|
|
4089
|
+
style: { paddingTop: t === "desktop" ? 48 : 0 },
|
|
4056
4090
|
children: [
|
|
4057
|
-
/* @__PURE__ */ i(
|
|
4091
|
+
/* @__PURE__ */ i(or, {
|
|
4058
4092
|
ariaLabel: "Primary navigation",
|
|
4059
|
-
className: J(""),
|
|
4060
4093
|
collapsible: "icon",
|
|
4061
4094
|
role: "navigation",
|
|
4062
|
-
variant: "inset"
|
|
4095
|
+
variant: "inset",
|
|
4096
|
+
children: n?.left?.component
|
|
4063
4097
|
}),
|
|
4064
|
-
/* @__PURE__ */ a(
|
|
4065
|
-
className:
|
|
4098
|
+
/* @__PURE__ */ a(ur, {
|
|
4099
|
+
className: K("min-w-24 overflow-hidden border-t border-neutral-200 dark:border-neutral-700 inset-ring-1 inset-ring-neutral-50 dark:inset-ring-black bg-white dark:bg-card rounded-lg!", "mx-0!"),
|
|
4066
4100
|
children: [/* @__PURE__ */ a("header", {
|
|
4067
4101
|
className: "flex h-16 items-center justify-between gap-3 px-4 sm:px-6",
|
|
4068
4102
|
children: [/* @__PURE__ */ i("div", {
|
|
4069
4103
|
className: "flex min-w-0 items-center gap-3",
|
|
4070
|
-
children: /* @__PURE__ */ i(
|
|
4104
|
+
children: /* @__PURE__ */ i(sr, { children: n?.left?.trigger ?? /* @__PURE__ */ i(Ee, {
|
|
4105
|
+
name: "PanelLeft",
|
|
4106
|
+
size: 24,
|
|
4107
|
+
animation: "press"
|
|
4108
|
+
}) })
|
|
4071
4109
|
}), /* @__PURE__ */ i("div", {
|
|
4072
4110
|
className: "flex shrink-0 items-center gap-3",
|
|
4073
|
-
children: /* @__PURE__ */ i(
|
|
4111
|
+
children: /* @__PURE__ */ i(sr, {
|
|
4074
4112
|
"aria-label": "Toggle panel",
|
|
4075
4113
|
side: "right",
|
|
4076
|
-
children: /* @__PURE__ */ i(
|
|
4114
|
+
children: n?.right?.trigger ?? /* @__PURE__ */ i(Ee, {
|
|
4115
|
+
name: "PanelRight",
|
|
4116
|
+
size: 24,
|
|
4117
|
+
animation: "press"
|
|
4118
|
+
})
|
|
4077
4119
|
})
|
|
4078
4120
|
})]
|
|
4079
4121
|
}), /* @__PURE__ */ i("div", {
|
|
4080
4122
|
className: "min-h-24 flex-1 overflow-auto",
|
|
4081
|
-
children: e ?? /* @__PURE__ */ i(
|
|
4123
|
+
children: e ?? /* @__PURE__ */ i(ri, {})
|
|
4082
4124
|
})]
|
|
4083
4125
|
}),
|
|
4084
|
-
/* @__PURE__ */ i(
|
|
4085
|
-
ariaLabel: "Secondary panel",
|
|
4086
|
-
className:
|
|
4126
|
+
/* @__PURE__ */ i(or, {
|
|
4127
|
+
ariaLabel: n?.right?.name ?? "Secondary panel",
|
|
4128
|
+
className: K("max-md:border-l max-md:border-neutral-200 max-md:bg-white dark:max-md:border-neutral-700 dark:max-md:bg-card"),
|
|
4087
4129
|
collapsible: "offcanvas",
|
|
4088
|
-
panelClassName:
|
|
4130
|
+
panelClassName: K("top-2 ml-0 h-[calc(100%-1rem)] min-w-[calc(var(--sidebar-width))]", "rounded-lg border-t border-neutral-200 bg-white shadow-md inset-ring-1 inset-ring-neutral-50", "dark:border-neutral-700 dark:bg-card dark:inset-ring-black"),
|
|
4089
4131
|
role: "complementary",
|
|
4090
4132
|
side: "right",
|
|
4091
4133
|
variant: "inset",
|
|
4092
|
-
children:
|
|
4134
|
+
children: n?.right?.component
|
|
4093
4135
|
})
|
|
4094
4136
|
]
|
|
4095
4137
|
});
|
|
4096
4138
|
}
|
|
4097
|
-
function
|
|
4139
|
+
function ri() {
|
|
4098
4140
|
return /* @__PURE__ */ a("div", {
|
|
4099
4141
|
className: "grid gap-5",
|
|
4100
4142
|
children: [/* @__PURE__ */ i("div", {
|
|
@@ -4104,8 +4146,47 @@ function ii() {
|
|
|
4104
4146
|
});
|
|
4105
4147
|
}
|
|
4106
4148
|
//#endregion
|
|
4149
|
+
//#region src/components/blocks/shell/use-shell-panels.ts
|
|
4150
|
+
function ii({ defaultOpen: e, defaultOpenMobile: t, onPanelChange: n } = {}) {
|
|
4151
|
+
let [r, i] = H(() => ({
|
|
4152
|
+
left: e?.left ?? !0,
|
|
4153
|
+
right: e?.right ?? !1
|
|
4154
|
+
})), [a, o] = H(() => ({
|
|
4155
|
+
left: t?.left ?? !1,
|
|
4156
|
+
right: t?.right ?? !1
|
|
4157
|
+
})), s = R((e, t) => {
|
|
4158
|
+
i((n) => n[t] === e ? n : {
|
|
4159
|
+
...n,
|
|
4160
|
+
[t]: e
|
|
4161
|
+
}), n?.(e, t);
|
|
4162
|
+
}, [n]), c = R((e, t) => {
|
|
4163
|
+
o((n) => n[t] === e ? n : {
|
|
4164
|
+
...n,
|
|
4165
|
+
[t]: e
|
|
4166
|
+
}), n?.(e, t);
|
|
4167
|
+
}, [n]);
|
|
4168
|
+
return {
|
|
4169
|
+
open: r,
|
|
4170
|
+
openMobile: a,
|
|
4171
|
+
setOpen: s,
|
|
4172
|
+
setOpenMobile: c,
|
|
4173
|
+
toggle: R((e) => s(!r[e], e), [r, s]),
|
|
4174
|
+
providerProps: ae(() => ({
|
|
4175
|
+
open: r,
|
|
4176
|
+
onOpenChange: s,
|
|
4177
|
+
openMobile: a,
|
|
4178
|
+
onOpenMobileChange: c
|
|
4179
|
+
}), [
|
|
4180
|
+
r,
|
|
4181
|
+
a,
|
|
4182
|
+
s,
|
|
4183
|
+
c
|
|
4184
|
+
])
|
|
4185
|
+
};
|
|
4186
|
+
}
|
|
4187
|
+
//#endregion
|
|
4107
4188
|
//#region src/components/blocks/layout.ts
|
|
4108
|
-
var ai = { Main:
|
|
4189
|
+
var ai = { Main: ni }, oi = [
|
|
4109
4190
|
{
|
|
4110
4191
|
type: "label",
|
|
4111
4192
|
label: "Management"
|
|
@@ -4113,23 +4194,23 @@ var ai = { Main: ri }, oi = [
|
|
|
4113
4194
|
{
|
|
4114
4195
|
id: "profile",
|
|
4115
4196
|
label: "Profile",
|
|
4116
|
-
icon: /* @__PURE__ */ i(
|
|
4197
|
+
icon: /* @__PURE__ */ i(A, { "aria-hidden": "true" })
|
|
4117
4198
|
},
|
|
4118
4199
|
{
|
|
4119
4200
|
id: "settings",
|
|
4120
4201
|
label: "Settings",
|
|
4121
|
-
icon: /* @__PURE__ */ i(
|
|
4202
|
+
icon: /* @__PURE__ */ i(O, { "aria-hidden": "true" })
|
|
4122
4203
|
},
|
|
4123
4204
|
{ type: "separator" },
|
|
4124
4205
|
{
|
|
4125
4206
|
id: "teams",
|
|
4126
4207
|
label: "Teams",
|
|
4127
|
-
icon: /* @__PURE__ */ i(
|
|
4208
|
+
icon: /* @__PURE__ */ i(j, { "aria-hidden": "true" })
|
|
4128
4209
|
},
|
|
4129
4210
|
{
|
|
4130
4211
|
id: "invite",
|
|
4131
4212
|
label: "Invite",
|
|
4132
|
-
icon: /* @__PURE__ */ i(
|
|
4213
|
+
icon: /* @__PURE__ */ i(ee, { "aria-hidden": "true" })
|
|
4133
4214
|
},
|
|
4134
4215
|
{ type: "separator" },
|
|
4135
4216
|
{
|
|
@@ -4145,11 +4226,11 @@ function si(e) {
|
|
|
4145
4226
|
return t.push(n), t.filter((e) => e.actions.length > 0 || e.label !== void 0);
|
|
4146
4227
|
}
|
|
4147
4228
|
function ci({ user: e, items: t = oi, align: n = "center", side: r = "bottom", sideOffset: o = 8, menuWidth: s = "content", open: c, defaultOpen: l, onOpenChange: u, sound: d = !0, onError: f, className: p }) {
|
|
4148
|
-
let [h, g] =
|
|
4149
|
-
|
|
4229
|
+
let [h, g] = N.useState(null), _ = N.useRef(!0);
|
|
4230
|
+
N.useEffect(() => (_.current = !0, () => {
|
|
4150
4231
|
_.current = !1;
|
|
4151
4232
|
}), []);
|
|
4152
|
-
let v =
|
|
4233
|
+
let v = N.useMemo(() => si(t), [t]);
|
|
4153
4234
|
function y(e) {
|
|
4154
4235
|
let t = e.onSelect?.();
|
|
4155
4236
|
t instanceof Promise && (g(e.id), t.catch((e) => f?.(e)).finally(() => {
|
|
@@ -4157,24 +4238,24 @@ function ci({ user: e, items: t = oi, align: n = "center", side: r = "bottom", s
|
|
|
4157
4238
|
}));
|
|
4158
4239
|
}
|
|
4159
4240
|
let b = h !== null;
|
|
4160
|
-
return /* @__PURE__ */ a(
|
|
4241
|
+
return /* @__PURE__ */ a(wt, {
|
|
4161
4242
|
defaultOpen: l,
|
|
4162
4243
|
onOpenChange: (e, t) => {
|
|
4163
|
-
d &&
|
|
4244
|
+
d && tt(e ? "bloom" : "droplet"), u?.(e, t);
|
|
4164
4245
|
},
|
|
4165
4246
|
open: c,
|
|
4166
|
-
children: [/* @__PURE__ */ i(
|
|
4247
|
+
children: [/* @__PURE__ */ i(Et, {
|
|
4167
4248
|
disabled: b,
|
|
4168
|
-
render: /* @__PURE__ */ a(
|
|
4249
|
+
render: /* @__PURE__ */ a(q, {
|
|
4169
4250
|
"aria-label": `${e.name}${e.username ? ` ${e.username}` : ""}, account menu`,
|
|
4170
|
-
className:
|
|
4251
|
+
className: K("h-auto w-full justify-between py-1.5 pl-1.5 data-popup-open:bg-accent sm:h-auto", p),
|
|
4171
4252
|
"data-slot": "profile-card",
|
|
4172
4253
|
loading: b,
|
|
4173
4254
|
sound: d,
|
|
4174
4255
|
variant: "ghost",
|
|
4175
4256
|
children: [/* @__PURE__ */ a("span", {
|
|
4176
4257
|
className: "flex w-full min-w-0 items-center justify-start gap-2",
|
|
4177
|
-
children: [/* @__PURE__ */ i(
|
|
4258
|
+
children: [/* @__PURE__ */ i(tn, {
|
|
4178
4259
|
alt: "",
|
|
4179
4260
|
initials: e.initials,
|
|
4180
4261
|
name: e.name,
|
|
@@ -4194,25 +4275,25 @@ function ci({ user: e, items: t = oi, align: n = "center", side: r = "bottom", s
|
|
|
4194
4275
|
className: "size-3.5"
|
|
4195
4276
|
})]
|
|
4196
4277
|
})
|
|
4197
|
-
}), /* @__PURE__ */ i(
|
|
4278
|
+
}), /* @__PURE__ */ i(Dt, {
|
|
4198
4279
|
align: n,
|
|
4199
|
-
className:
|
|
4280
|
+
className: K(s === "card" ? "w-(--anchor-width)" : "min-w-44!", "origin-(--transform-origin) transition-[opacity,scale,translate] duration-150 ease-smooth-out data-ending-style:scale-98 data-ending-style:opacity-0 data-ending-style:duration-100 data-starting-style:scale-98 data-starting-style:opacity-0 data-[side=bottom]:data-ending-style:-translate-y-1 data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=top]:data-ending-style:translate-y-1 data-[side=top]:data-starting-style:translate-y-1 motion-reduce:transition-none"),
|
|
4200
4281
|
side: r,
|
|
4201
4282
|
sideOffset: o,
|
|
4202
|
-
children: v.map((e, t) => /* @__PURE__ */ a(
|
|
4283
|
+
children: v.map((e, t) => /* @__PURE__ */ a(N.Fragment, { children: [t > 0 ? /* @__PURE__ */ i(Ft, {}) : null, /* @__PURE__ */ a(Ot, { children: [e.label ? /* @__PURE__ */ i(Pt, { children: e.label }) : null, e.actions.map((e) => /* @__PURE__ */ a(kt, {
|
|
4203
4284
|
disabled: e.disabled,
|
|
4204
4285
|
onClick: () => y(e),
|
|
4205
4286
|
variant: e.variant,
|
|
4206
4287
|
children: [
|
|
4207
4288
|
e.icon,
|
|
4208
4289
|
/* @__PURE__ */ i("span", { children: e.label }),
|
|
4209
|
-
e.shortcut ? /* @__PURE__ */ i(
|
|
4290
|
+
e.shortcut ? /* @__PURE__ */ i(It, { children: e.shortcut }) : null
|
|
4210
4291
|
]
|
|
4211
4292
|
}, e.id))] })] }, e.label ?? `group-${e.actions[0]?.id}`))
|
|
4212
4293
|
})]
|
|
4213
4294
|
});
|
|
4214
4295
|
}
|
|
4215
4296
|
//#endregion
|
|
4216
|
-
export {
|
|
4297
|
+
export { $r as AISidebar, or as AnimatedSidebar, cr as AnimatedSidebarClose, fr as AnimatedSidebarContent, pr as AnimatedSidebarFooter, mr as AnimatedSidebarGroup, gr as AnimatedSidebarGroupContent, hr as AnimatedSidebarGroupLabel, dr as AnimatedSidebarHeader, ur as AnimatedSidebarInset, _r as AnimatedSidebarMenu, Sr as AnimatedSidebarMenuButton, vr as AnimatedSidebarMenuItem, yr as AnimatedSidebarMenuSub, xr as AnimatedSidebarMenuSubButton, br as AnimatedSidebarMenuSubItem, ir as AnimatedSidebarProvider, lr as AnimatedSidebarRail, sr as AnimatedSidebarTrigger, an as AuthCard, Q as AuthError, cn as AuthSeparator, sn as AuthSuccess, De as Avatar, ke as AvatarFallback, Oe as AvatarImage, e as AvatarPrimitive, q as Button, Be as Card, Xe as CardAction, Ze as CardContent, Ze as CardPanel, Ye as CardDescription, Qe as CardFooter, Ve as CardFrame, Ge as CardFrameAction, We as CardFrameDescription, Ke as CardFrameFooter, He as CardFrameHeader, Ue as CardFrameTitle, qe as CardHeader, Je as CardTitle, nt as Checkbox, se as CheckboxPrimitive, un as CodeAuthBlock, vn as DEFAULT_ONBOARDING_STEPS, wt as DropdownMenu, wt as Menu, jt as DropdownMenuCheckboxItem, jt as MenuCheckboxItem, Dt as DropdownMenuContent, Dt as MenuPopup, Ct as DropdownMenuCreateHandle, Ct as MenuCreateHandle, Ot as DropdownMenuGroup, Ot as MenuGroup, kt as DropdownMenuItem, kt as MenuItem, Pt as DropdownMenuLabel, Pt as MenuGroupLabel, Tt as DropdownMenuPortal, Tt as MenuPortal, Mt as DropdownMenuRadioGroup, Mt as MenuRadioGroup, Nt as DropdownMenuRadioItem, Nt as MenuRadioItem, Ft as DropdownMenuSeparator, Ft as MenuSeparator, It as DropdownMenuShortcut, It as MenuShortcut, Lt as DropdownMenuSub, Lt as MenuSub, zt as DropdownMenuSubContent, zt as MenuSubPopup, Rt as DropdownMenuSubTrigger, Rt as MenuSubTrigger, Et as DropdownMenuTrigger, Et as MenuTrigger, X as EASE, On as EASE_DRAWER, Dn as EASE_IN_OUT, $ as EASE_OUT, kn as EASE_OUT_CSS, J as Field, ot as FieldControl, it as FieldDescription, at as FieldError, rt as FieldItem, Y as FieldLabel, st as FieldValidity, dn as ForgotPasswordBlock, ct as Frame, ft as FrameDescription, pt as FrameFooter, ut as FrameHeader, lt as FramePanel, dt as FrameTitle, mt as Input, _t as InputGroup, vt as InputGroupAddon, bt as InputGroupInput, yt as InputGroupText, xt as InputGroupTextarea, ge as InputPrimitive, St as Label, ai as Layout, pn as LinkedAccountsBlock, mn as LoginBlock, Lr as MarqueeLabel, At as MenuLinkItem, U as MenuPrimitive, on as MorphStep, Vt as OTPField, Ht as OTPFieldInput, _e as OTPFieldPrimitive, Ut as OTPFieldSeparator, yn as OnboardingBlock, Cn as PasskeyManagerBlock, wn as PasskeySignInBlock, Yt as PasswordInput, ci as ProfileCardBlock, Qr as ResourceRow, Z as Reveal, Zt as SOCIAL_PROVIDERS, Fn as SPRING_GLIDE, Nn as SPRING_LAYOUT, Pn as SPRING_MOUSE, Mn as SPRING_PANEL, An as SPRING_PRESS, jn as SPRING_SWAP, Bt as Separator, ve as SeparatorPrimitive, Rn as SharedLayoutBg, ni as ShellLayout, ei as Sidebar, Tr as SidebarBlock, Ir as SidebarIcon, Tn as SignupBlock, Wt as Skeleton, $t as SocialProviders, Ae as Spinner, ti as TITLE_BAR_HEIGHT, ht as Textarea, En as UpdatePasswordBlock, tn as UserAvatar, rn as authAccentActionStyles, nn as authAccentVars, et as bindSounds, ze as buttonVariants, K as cn, oi as defaultProfileCardItems, qt as getPasswordStrength, en as initialsFrom, Kt as passwordRequirements, tt as playCue, ue as playSound, de as setSoundEnabled, fe as setSoundVolume, pe as sounds, Fr as useAISidebar, nr as useAnimatedSidebar, ln as useCountdown, ii as useShellPanels };
|
|
4217
4298
|
|
|
4218
4299
|
//# sourceMappingURL=index.js.map
|