taibul-ui 1.0.4 → 1.0.5
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/index.css +1 -1
- package/dist/src/components/ThemeProvider.d.ts +2 -0
- package/dist/taibul-ui.es.js +679 -667
- package/dist/taibul-ui.umd.js +23 -23
- package/package.json +1 -1
package/dist/taibul-ui.es.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as e, jsxs as f, Fragment as Ne } from "react/jsx-runtime";
|
|
3
|
-
import y, { useState as C, createContext as
|
|
4
|
-
import { User as ke, Loader2 as lt, ChevronLeft as re, ChevronRight as
|
|
5
|
-
import { startOfMonth as jr, endOfMonth as
|
|
3
|
+
import y, { useState as C, createContext as J, useContext as U, useEffect as D, useRef as P, useMemo as q, useCallback as he } from "react";
|
|
4
|
+
import { User as ke, Loader2 as lt, ChevronLeft as re, ChevronRight as K, Check as Q, Copy as dt, Code as ge, ChevronUp as ce, X as oe, ChevronDown as ne, EyeOff as $e, Eye as Ce, Clock as Se, Calendar as Te, Upload as ze, CloudUpload as ct, CheckCircle2 as ut, AlertCircle as Me, File as Re, Command as mt, Timer as ft, PanelTopDashed as pt, PictureInPicture2 as bt, RectangleHorizontal as ht, Layers as gt, Shapes as xt, LogIn as yt, RefreshCw as wt, ArrowDown as vt, ArrowUp as Nt, ArrowLeft as kt, ArrowRight as $t, MoreVertical as Ct, MoreHorizontal as St, Grid as Tt, List as zt, Percent as Mt, DollarSign as Rt, ShoppingCart as It, Globe as Ft, Link as Dt, Share as Lt, ThumbsDown as Pt, ThumbsUp as jt, Heart as Et, Star as At, Bookmark as Bt, Zap as Ht, Battery as Ot, Bluetooth as Vt, Wifi as Ut, Server as Wt, Database as _t, Cloud as Gt, Video as qt, Image as Xt, Folder as Yt, Users as Zt, BarChart as Qt, Gauge as Jt, Tag as Kt, Moon as er, Sun as tr, Filter as rr, MessageSquare as xe, Activity as or, Code2 as nr, Table as ar, CheckSquare as sr, WholeWord as ir, Split as lr, CreditCard as dr, FormInput as cr, MousePointer2 as ur, Palette as mr, Type as fr, Layout as pr, Phone as br, MapPin as hr, Unlock as gr, Lock as xr, ExternalLink as yr, Download as wr, Save as vr, Edit as Nr, Trash as kr, Home as $r, Maximize as Cr, Menu as Sr, Minus as Tr, Plus as zr, Info as Mr, CheckCircle as Rr, Mail as Ir, Search as Fr, Bell as Dr, Settings as Lr, ChevronsUpDown as Pr } from "lucide-react";
|
|
5
|
+
import { startOfMonth as jr, endOfMonth as Er, startOfWeek as Ar, endOfWeek as Br, isSameMonth as Hr, isToday as Or, format as O, addDays as Vr, subMonths as Ur, addMonths as Wr, isSameDay as ie, isWithinInterval as _r, isValid as ye } from "date-fns";
|
|
6
6
|
import { Prism as Ie } from "react-syntax-highlighter";
|
|
7
|
-
import { xonokai as Gr, vscDarkPlus as
|
|
7
|
+
import { xonokai as Gr, vscDarkPlus as qr, twilight as Xr, tomorrow as Yr, solarizedlight as Zr, oneLight as Qr, oneDark as Jr, okaidia as Kr, hopscotch as eo, ghcolors as to, funky as ro, duotoneLight as oo, duotoneDark as no, dracula as ao, dark as so, darcula as io, coy as lo, cb as co, atomDark as uo } from "react-syntax-highlighter/dist/esm/styles/prism";
|
|
8
8
|
import { createPortal as ue } from "react-dom";
|
|
9
9
|
import mo from "react-markdown";
|
|
10
10
|
import './index.css';const fo = y.forwardRef(({
|
|
11
11
|
src: t,
|
|
12
12
|
name: r,
|
|
13
13
|
size: o = "md",
|
|
14
|
-
alt:
|
|
14
|
+
alt: a,
|
|
15
15
|
className: i = "",
|
|
16
|
-
...
|
|
16
|
+
...s
|
|
17
17
|
}, n) => {
|
|
18
18
|
const [d, c] = y.useState(!1), l = {
|
|
19
19
|
sm: "w-8 h-8 text-xs",
|
|
@@ -23,22 +23,22 @@ import './index.css';const fo = y.forwardRef(({
|
|
|
23
23
|
sm: 14,
|
|
24
24
|
md: 18,
|
|
25
25
|
lg: 20
|
|
26
|
-
}, u = t && !d,
|
|
26
|
+
}, u = t && !d, h = r ? r.charAt(0).toUpperCase() : null;
|
|
27
27
|
return /* @__PURE__ */ e(
|
|
28
28
|
"div",
|
|
29
29
|
{
|
|
30
30
|
ref: n,
|
|
31
31
|
className: `relative inline-flex items-center justify-center rounded-full overflow-hidden shrink-0 bg-muted border border-border/50 text-muted-foreground font-medium select-none ${l[o]} ${i}`,
|
|
32
|
-
...
|
|
32
|
+
...s,
|
|
33
33
|
children: u ? /* @__PURE__ */ e(
|
|
34
34
|
"img",
|
|
35
35
|
{
|
|
36
36
|
src: t,
|
|
37
|
-
alt:
|
|
37
|
+
alt: a || r || "Avatar",
|
|
38
38
|
className: "w-full h-full object-cover",
|
|
39
39
|
onError: () => c(!0)
|
|
40
40
|
}
|
|
41
|
-
) :
|
|
41
|
+
) : h ? /* @__PURE__ */ e("span", { children: h }) : /* @__PURE__ */ e(ke, { size: m[o] })
|
|
42
42
|
}
|
|
43
43
|
);
|
|
44
44
|
});
|
|
@@ -47,7 +47,7 @@ const Fe = y.forwardRef(({
|
|
|
47
47
|
size: t = "md",
|
|
48
48
|
className: r = "",
|
|
49
49
|
variant: o = "primary",
|
|
50
|
-
...
|
|
50
|
+
...a
|
|
51
51
|
}, i) => {
|
|
52
52
|
const n = typeof t == "number" ? t : {
|
|
53
53
|
sm: 16,
|
|
@@ -58,7 +58,7 @@ const Fe = y.forwardRef(({
|
|
|
58
58
|
muted: "text-muted-foreground",
|
|
59
59
|
white: "text-white"
|
|
60
60
|
};
|
|
61
|
-
return /* @__PURE__ */ f("div", { ref: i, role: "status", className: `inline-flex items-center justify-center ${r}`, ...
|
|
61
|
+
return /* @__PURE__ */ f("div", { ref: i, role: "status", className: `inline-flex items-center justify-center ${r}`, ...a, children: [
|
|
62
62
|
/* @__PURE__ */ e(
|
|
63
63
|
lt,
|
|
64
64
|
{
|
|
@@ -70,13 +70,13 @@ const Fe = y.forwardRef(({
|
|
|
70
70
|
] });
|
|
71
71
|
});
|
|
72
72
|
Fe.displayName = "Spinner";
|
|
73
|
-
const
|
|
73
|
+
const B = y.forwardRef(({
|
|
74
74
|
children: t,
|
|
75
75
|
variant: r = "primary",
|
|
76
76
|
size: o = "md",
|
|
77
|
-
className:
|
|
77
|
+
className: a = "",
|
|
78
78
|
leftIcon: i,
|
|
79
|
-
rightIcon:
|
|
79
|
+
rightIcon: s,
|
|
80
80
|
isLoading: n = !1,
|
|
81
81
|
disabled: d,
|
|
82
82
|
...c
|
|
@@ -86,11 +86,11 @@ const E = y.forwardRef(({
|
|
|
86
86
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
87
87
|
outline: "border border-border bg-transparent hover:bg-accent hover:text-accent-foreground",
|
|
88
88
|
ghost: "bg-transparent hover:bg-accent hover:text-accent-foreground"
|
|
89
|
-
},
|
|
89
|
+
}, h = {
|
|
90
90
|
sm: "h-8 px-3 text-xs rounded-sm",
|
|
91
91
|
md: "h-10 px-4 py-2 rounded-md",
|
|
92
92
|
lg: "h-12 px-4 text-base rounded-lg"
|
|
93
|
-
},
|
|
93
|
+
}, g = {
|
|
94
94
|
sm: 14,
|
|
95
95
|
md: 18,
|
|
96
96
|
lg: 20
|
|
@@ -99,27 +99,27 @@ const E = y.forwardRef(({
|
|
|
99
99
|
"button",
|
|
100
100
|
{
|
|
101
101
|
ref: l,
|
|
102
|
-
className: `${m} ${u[r]} ${
|
|
102
|
+
className: `${m} ${u[r]} ${h[o]} ${a}`,
|
|
103
103
|
disabled: d || n,
|
|
104
104
|
...c,
|
|
105
105
|
children: [
|
|
106
|
-
n ? /* @__PURE__ */ e(Fe, { size: p, variant: r === "primary" ? "white" : "primary" }) : i && /* @__PURE__ */ e(i, { size:
|
|
106
|
+
n ? /* @__PURE__ */ e(Fe, { size: p, variant: r === "primary" ? "white" : "primary" }) : i && /* @__PURE__ */ e(i, { size: g[o] }),
|
|
107
107
|
t,
|
|
108
|
-
!n &&
|
|
108
|
+
!n && s && /* @__PURE__ */ e(s, { size: g[o] })
|
|
109
109
|
]
|
|
110
110
|
}
|
|
111
111
|
);
|
|
112
112
|
});
|
|
113
|
-
|
|
114
|
-
const De = y.forwardRef(({ selected: t, onSelect: r, className: o = "", range:
|
|
115
|
-
const [n, d] = C(/* @__PURE__ */ new Date()), c = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], l = jr(n), m =
|
|
113
|
+
B.displayName = "Button";
|
|
114
|
+
const De = y.forwardRef(({ selected: t, onSelect: r, className: o = "", range: a = !1, ...i }, s) => {
|
|
115
|
+
const [n, d] = C(/* @__PURE__ */ new Date()), c = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], l = jr(n), m = Er(l), u = Ar(l), h = Br(m), g = [];
|
|
116
116
|
let p = [], k = u;
|
|
117
117
|
const x = (w) => {
|
|
118
118
|
r == null || r(w);
|
|
119
|
-
}, b = (w) => t ? t instanceof Date ? ie(w, t) : "from" in t ? ie(w, t.from) || t.to && ie(w, t.to) : !1 : !1, S = (w) => !
|
|
120
|
-
for (; k <=
|
|
119
|
+
}, b = (w) => t ? t instanceof Date ? ie(w, t) : "from" in t ? ie(w, t.from) || t.to && ie(w, t.to) : !1 : !1, S = (w) => !a || !t || t instanceof Date || !("from" in t) || !t.to ? !1 : _r(w, { start: t.from, end: t.to });
|
|
120
|
+
for (; k <= h; ) {
|
|
121
121
|
for (let w = 0; w < 7; w++) {
|
|
122
|
-
const z = k, I = !Hr(k, l),
|
|
122
|
+
const z = k, I = !Hr(k, l), v = b(k), M = S(k), N = Or(k);
|
|
123
123
|
p.push(
|
|
124
124
|
/* @__PURE__ */ e(
|
|
125
125
|
"button",
|
|
@@ -129,23 +129,23 @@ const De = y.forwardRef(({ selected: t, onSelect: r, className: o = "", range: s
|
|
|
129
129
|
className: `
|
|
130
130
|
relative h-10 w-10 p-0 font-normal text-sm flex items-center justify-center rounded-lg transition-all cursor-pointer
|
|
131
131
|
${I ? "text-muted-foreground opacity-40 hover:opacity-100" : "text-foreground"}
|
|
132
|
-
${
|
|
133
|
-
${M && !
|
|
134
|
-
${
|
|
132
|
+
${v ? "bg-primary text-primary-foreground font-semibold scale-110 z-10" : "hover:bg-accent hover:text-accent-foreground"}
|
|
133
|
+
${M && !v ? "bg-accent/50 text-accent-foreground rounded-none first:rounded-l-lg last:rounded-r-lg" : ""}
|
|
134
|
+
${N && !v ? 'text-primary font-bold after:content-[""] after:absolute after:bottom-1 after:w-1 after:h-1 after:bg-primary after:rounded-full' : ""}
|
|
135
135
|
`,
|
|
136
|
-
children:
|
|
136
|
+
children: O(k, "d")
|
|
137
137
|
},
|
|
138
138
|
k.toString()
|
|
139
139
|
)
|
|
140
140
|
), k = Vr(k, 1);
|
|
141
141
|
}
|
|
142
|
-
|
|
142
|
+
g.push(
|
|
143
143
|
/* @__PURE__ */ e("div", { className: "grid grid-cols-7 gap-1", children: p }, k.toString())
|
|
144
144
|
), p = [];
|
|
145
145
|
}
|
|
146
|
-
return /* @__PURE__ */ f("div", { ref:
|
|
146
|
+
return /* @__PURE__ */ f("div", { ref: s, className: `p-4 bg-background ${o}`, ...i, children: [
|
|
147
147
|
/* @__PURE__ */ f("div", { className: "flex items-center justify-between mb-4", children: [
|
|
148
|
-
/* @__PURE__ */ e("h2", { className: "text-sm font-semibold", children:
|
|
148
|
+
/* @__PURE__ */ e("h2", { className: "text-sm font-semibold", children: O(n, "MMMM yyyy") }),
|
|
149
149
|
/* @__PURE__ */ f("div", { className: "flex gap-1", children: [
|
|
150
150
|
/* @__PURE__ */ e(
|
|
151
151
|
"button",
|
|
@@ -162,34 +162,34 @@ const De = y.forwardRef(({ selected: t, onSelect: r, className: o = "", range: s
|
|
|
162
162
|
type: "button",
|
|
163
163
|
onClick: () => d(Wr(n, 1)),
|
|
164
164
|
className: "p-1 hover:bg-accent rounded-md transition-colors",
|
|
165
|
-
children: /* @__PURE__ */ e(
|
|
165
|
+
children: /* @__PURE__ */ e(K, { size: 18 })
|
|
166
166
|
}
|
|
167
167
|
)
|
|
168
168
|
] })
|
|
169
169
|
] }),
|
|
170
170
|
/* @__PURE__ */ e("div", { className: "grid grid-cols-7 gap-1 mb-2", children: c.map((w) => /* @__PURE__ */ e("div", { className: "text-muted-foreground text-[10px] font-bold uppercase text-center w-10", children: w }, w)) }),
|
|
171
|
-
/* @__PURE__ */ e("div", { className: "flex flex-col gap-1", children:
|
|
171
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col gap-1", children: g })
|
|
172
172
|
] });
|
|
173
173
|
});
|
|
174
174
|
De.displayName = "Calendar";
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
const po = ({ children: t, className: r = "" }) => /* @__PURE__ */ e("div", { className: `flex flex-col space-y-1.5 p-6 ${r}`, children: t }), bo = ({ children: t, className: r = "" }) => /* @__PURE__ */ e("div", { className: `p-6
|
|
175
|
+
const Le = y.forwardRef(({ children: t, className: r = "", ...o }, a) => /* @__PURE__ */ e("div", { ref: a, className: `rounded-xl border border-border bg-card text-card-foreground shadow-sm overflow-hidden ${r}`, ...o, children: t }));
|
|
176
|
+
Le.displayName = "Card";
|
|
177
|
+
const po = ({ children: t, className: r = "" }) => /* @__PURE__ */ e("div", { className: `flex flex-col space-y-1.5 p-6 ${r}`, children: t }), bo = ({ children: t, className: r = "" }) => /* @__PURE__ */ e("div", { className: `p-6 ${r}`, children: t }), ho = ({ children: t, className: r = "" }) => /* @__PURE__ */ e("div", { className: `flex items-center p-6 pt-0 ${r}`, children: t }), en = Object.assign(Le, {
|
|
178
178
|
Header: po,
|
|
179
179
|
Content: bo,
|
|
180
|
-
Footer:
|
|
181
|
-
}),
|
|
180
|
+
Footer: ho
|
|
181
|
+
}), go = y.forwardRef(({ label: t, className: r = "", checked: o, defaultChecked: a, onChange: i, style: s, ...n }, d) => {
|
|
182
182
|
const [c, l] = y.useState(
|
|
183
|
-
o !== void 0 ? o :
|
|
183
|
+
o !== void 0 ? o : a || !1
|
|
184
184
|
);
|
|
185
185
|
y.useEffect(() => {
|
|
186
186
|
o !== void 0 && l(o);
|
|
187
187
|
}, [o]);
|
|
188
188
|
const m = (u) => {
|
|
189
|
-
const
|
|
190
|
-
o === void 0 && l(
|
|
189
|
+
const h = u.target.checked;
|
|
190
|
+
o === void 0 && l(h), i == null || i(h, u);
|
|
191
191
|
};
|
|
192
|
-
return /* @__PURE__ */ f("label", { className: `flex items-center gap-3 cursor-pointer group select-none ${r}`, style:
|
|
192
|
+
return /* @__PURE__ */ f("label", { className: `flex items-center gap-3 cursor-pointer group select-none ${r}`, style: s, children: [
|
|
193
193
|
/* @__PURE__ */ f("div", { className: "relative flex items-center justify-center", children: [
|
|
194
194
|
/* @__PURE__ */ e(
|
|
195
195
|
"input",
|
|
@@ -204,7 +204,7 @@ const po = ({ children: t, className: r = "" }) => /* @__PURE__ */ e("div", { cl
|
|
|
204
204
|
),
|
|
205
205
|
/* @__PURE__ */ e("div", { className: "w-5 h-5 border-2 border-border rounded transition-all peer-checked:bg-primary peer-checked:border-primary group-hover:border-primary/50" }),
|
|
206
206
|
/* @__PURE__ */ e(
|
|
207
|
-
|
|
207
|
+
Q,
|
|
208
208
|
{
|
|
209
209
|
size: 14,
|
|
210
210
|
className: "absolute text-primary-foreground opacity-0 transition-opacity peer-checked:opacity-100",
|
|
@@ -215,37 +215,37 @@ const po = ({ children: t, className: r = "" }) => /* @__PURE__ */ e("div", { cl
|
|
|
215
215
|
t && /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: t })
|
|
216
216
|
] });
|
|
217
217
|
});
|
|
218
|
-
|
|
219
|
-
const
|
|
218
|
+
go.displayName = "Checkbox";
|
|
219
|
+
const Pe = J(void 0), je = y.forwardRef(({
|
|
220
220
|
accordion: t = !1,
|
|
221
221
|
defaultActiveKey: r,
|
|
222
222
|
children: o,
|
|
223
|
-
className:
|
|
223
|
+
className: a = "",
|
|
224
224
|
bordered: i = !0,
|
|
225
|
-
...
|
|
225
|
+
...s
|
|
226
226
|
}, n) => {
|
|
227
227
|
const [d, c] = C(() => r === void 0 ? [] : Array.isArray(r) ? r : [r]), l = (m) => {
|
|
228
|
-
c((u) => t ? u.includes(m) ? [] : [m] : u.includes(m) ? u.filter((
|
|
228
|
+
c((u) => t ? u.includes(m) ? [] : [m] : u.includes(m) ? u.filter((h) => h !== m) : [...u, m]);
|
|
229
229
|
};
|
|
230
|
-
return /* @__PURE__ */ e(
|
|
230
|
+
return /* @__PURE__ */ e(Pe.Provider, { value: { activeKeys: d, toggleKey: l, accordion: t }, children: /* @__PURE__ */ e("div", { ref: n, className: `
|
|
231
231
|
rounded-lg
|
|
232
232
|
${i ? "border border-border" : ""}
|
|
233
233
|
bg-card
|
|
234
|
-
${
|
|
235
|
-
`, ...
|
|
234
|
+
${a}
|
|
235
|
+
`, ...s, children: o }) });
|
|
236
236
|
});
|
|
237
237
|
je.displayName = "Collapse";
|
|
238
|
-
const xo = ({ id: t, header: r, children: o, className:
|
|
239
|
-
const
|
|
240
|
-
if (!
|
|
238
|
+
const xo = ({ id: t, header: r, children: o, className: a = "", disabled: i = !1 }) => {
|
|
239
|
+
const s = U(Pe);
|
|
240
|
+
if (!s)
|
|
241
241
|
throw new Error("Collapse.Panel must be used within a Collapse component");
|
|
242
|
-
const { activeKeys: n, toggleKey: d } =
|
|
242
|
+
const { activeKeys: n, toggleKey: d } = s, c = n.includes(t), l = () => {
|
|
243
243
|
i || d(t);
|
|
244
244
|
};
|
|
245
245
|
return /* @__PURE__ */ f("div", { className: `
|
|
246
246
|
border-b border-border last:border-b-0
|
|
247
247
|
transition-colors
|
|
248
|
-
${
|
|
248
|
+
${a}
|
|
249
249
|
`, children: [
|
|
250
250
|
/* @__PURE__ */ f(
|
|
251
251
|
"button",
|
|
@@ -264,7 +264,7 @@ const xo = ({ id: t, header: r, children: o, className: s = "", disabled: i = !1
|
|
|
264
264
|
/* @__PURE__ */ e("span", { className: `
|
|
265
265
|
text-muted-foreground transition-transform duration-200 ml-4
|
|
266
266
|
${c ? "rotate-90" : ""}
|
|
267
|
-
`, children: /* @__PURE__ */ e(
|
|
267
|
+
`, children: /* @__PURE__ */ e(K, { size: 16 }) })
|
|
268
268
|
]
|
|
269
269
|
}
|
|
270
270
|
),
|
|
@@ -293,96 +293,108 @@ const xo = ({ id: t, header: r, children: o, className: s = "", disabled: i = !1
|
|
|
293
293
|
Funky: ro,
|
|
294
294
|
GitHub: to,
|
|
295
295
|
Hopscotch: eo,
|
|
296
|
-
Okaidia:
|
|
297
|
-
"One Dark":
|
|
298
|
-
"One Light":
|
|
299
|
-
"Solarized Light":
|
|
300
|
-
Tomorrow:
|
|
301
|
-
Twilight:
|
|
302
|
-
"VS Code Dark+":
|
|
296
|
+
Okaidia: Kr,
|
|
297
|
+
"One Dark": Jr,
|
|
298
|
+
"One Light": Qr,
|
|
299
|
+
"Solarized Light": Zr,
|
|
300
|
+
Tomorrow: Yr,
|
|
301
|
+
Twilight: Xr,
|
|
302
|
+
"VS Code Dark+": qr,
|
|
303
303
|
Xonokai: Gr
|
|
304
|
-
},
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
304
|
+
}, Ee = J(void 0), rn = ({
|
|
305
|
+
children: t,
|
|
306
|
+
storageKey: r,
|
|
307
|
+
defaultTheme: o = "light"
|
|
308
|
+
}) => {
|
|
309
|
+
const [a, i] = C(o), [s, n] = C("One Dark"), [d, c] = C("#2563eb"), [l, m] = C(0.75), [u, h] = C(16), [g, p] = C("#ffffff"), [k, x] = C("#111827"), [b, S] = C("#030712"), [w, z] = C("#f9fafb"), [I, v] = C(!1);
|
|
310
|
+
D(() => {
|
|
311
|
+
let R = null;
|
|
312
|
+
if (r && (R = localStorage.getItem(`${r}-theme`)), R)
|
|
313
|
+
i(R);
|
|
310
314
|
else {
|
|
311
|
-
const
|
|
312
|
-
|
|
315
|
+
const H = window.matchMedia("(prefers-color-scheme: dark)");
|
|
316
|
+
i(H.matches ? "dark" : "light");
|
|
317
|
+
const W = (_) => i(_.matches ? "dark" : "light");
|
|
318
|
+
return H.addEventListener("change", W), () => H.removeEventListener("change", W);
|
|
313
319
|
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
320
|
+
}, [r]), D(() => {
|
|
321
|
+
if (!r) {
|
|
322
|
+
v(!0);
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
const R = localStorage.getItem(`${r}-syntax-theme`);
|
|
326
|
+
R && we[R] && n(R);
|
|
327
|
+
const H = localStorage.getItem(`${r}-primary-color`);
|
|
328
|
+
H && c(H);
|
|
329
|
+
const W = localStorage.getItem(`${r}-border-radius`);
|
|
330
|
+
W && m(parseFloat(W));
|
|
331
|
+
const _ = localStorage.getItem(`${r}-base-font-size`);
|
|
332
|
+
_ && h(parseFloat(_));
|
|
333
|
+
const Z = localStorage.getItem(`${r}-light-bg`);
|
|
334
|
+
Z && p(Z);
|
|
335
|
+
const $ = localStorage.getItem(`${r}-light-fg`);
|
|
327
336
|
$ && x($);
|
|
328
|
-
const F = localStorage.getItem(
|
|
329
|
-
F && S(F)
|
|
330
|
-
|
|
331
|
-
|
|
337
|
+
const F = localStorage.getItem(`${r}-dark-bg`);
|
|
338
|
+
F && S(F);
|
|
339
|
+
const E = localStorage.getItem(`${r}-dark-fg`);
|
|
340
|
+
E && z(E), v(!0);
|
|
341
|
+
}, [r]), D(() => {
|
|
342
|
+
if (!I) return;
|
|
332
343
|
const R = window.document.documentElement;
|
|
333
|
-
R.classList.remove("light", "dark"), R.classList.add(
|
|
334
|
-
}, [
|
|
335
|
-
if (!
|
|
344
|
+
R.classList.remove("light", "dark"), R.classList.add(a), r && localStorage.setItem(`${r}-theme`, a);
|
|
345
|
+
}, [a, I, r]), D(() => {
|
|
346
|
+
if (!I) return;
|
|
336
347
|
const R = window.document.documentElement;
|
|
337
|
-
R.style.setProperty("--primary",
|
|
348
|
+
R.style.setProperty("--primary", d), R.style.setProperty("--radius", `${l}rem`), R.style.fontSize = `${u}px`, a === "light" ? (R.style.setProperty("--background", g), R.style.setProperty("--foreground", k)) : (R.style.setProperty("--background", b), R.style.setProperty("--foreground", w)), r && (localStorage.setItem(`${r}-primary-color`, d), localStorage.setItem(`${r}-border-radius`, l.toString()), localStorage.setItem(`${r}-base-font-size`, u.toString()), localStorage.setItem(`${r}-light-bg`, g), localStorage.setItem(`${r}-light-fg`, k), localStorage.setItem(`${r}-dark-bg`, b), localStorage.setItem(`${r}-dark-fg`, w));
|
|
338
349
|
}, [
|
|
339
|
-
a,
|
|
340
350
|
d,
|
|
341
351
|
l,
|
|
342
|
-
w,
|
|
343
|
-
r,
|
|
344
352
|
u,
|
|
345
|
-
|
|
353
|
+
I,
|
|
354
|
+
a,
|
|
355
|
+
g,
|
|
346
356
|
k,
|
|
347
|
-
b
|
|
357
|
+
b,
|
|
358
|
+
w,
|
|
359
|
+
r
|
|
348
360
|
]);
|
|
349
|
-
const
|
|
350
|
-
|
|
361
|
+
const M = () => {
|
|
362
|
+
i((R) => R === "light" ? "dark" : "light");
|
|
351
363
|
}, N = (R) => {
|
|
352
|
-
|
|
353
|
-
}, M = (R) => {
|
|
354
|
-
i(R), localStorage.setItem("syntaxTheme", R);
|
|
355
|
-
}, v = (R) => {
|
|
356
|
-
n(R);
|
|
364
|
+
i(R);
|
|
357
365
|
}, T = (R) => {
|
|
366
|
+
n(R), r && localStorage.setItem(`${r}-syntax-theme`, R);
|
|
367
|
+
}, L = (R) => {
|
|
358
368
|
c(R);
|
|
359
|
-
},
|
|
369
|
+
}, j = (R) => {
|
|
360
370
|
m(R);
|
|
371
|
+
}, Y = (R) => {
|
|
372
|
+
h(R);
|
|
361
373
|
};
|
|
362
|
-
return /* @__PURE__ */ e(
|
|
363
|
-
theme:
|
|
364
|
-
toggleTheme:
|
|
374
|
+
return /* @__PURE__ */ e(Ee.Provider, { value: {
|
|
375
|
+
theme: a,
|
|
376
|
+
toggleTheme: M,
|
|
365
377
|
setTheme: N,
|
|
366
378
|
syntaxTheme: s,
|
|
367
|
-
setSyntaxTheme:
|
|
379
|
+
setSyntaxTheme: T,
|
|
368
380
|
syntaxThemeStyle: we[s],
|
|
369
|
-
primaryColor:
|
|
370
|
-
setPrimaryColor:
|
|
371
|
-
borderRadius:
|
|
372
|
-
setBorderRadius:
|
|
373
|
-
baseFontSize:
|
|
374
|
-
setBaseFontSize:
|
|
375
|
-
lightBackground:
|
|
376
|
-
setLightBackground:
|
|
377
|
-
lightForeground:
|
|
378
|
-
setLightForeground:
|
|
379
|
-
darkBackground:
|
|
380
|
-
setDarkBackground:
|
|
381
|
-
darkForeground:
|
|
382
|
-
setDarkForeground:
|
|
381
|
+
primaryColor: d,
|
|
382
|
+
setPrimaryColor: L,
|
|
383
|
+
borderRadius: l,
|
|
384
|
+
setBorderRadius: j,
|
|
385
|
+
baseFontSize: u,
|
|
386
|
+
setBaseFontSize: Y,
|
|
387
|
+
lightBackground: g,
|
|
388
|
+
setLightBackground: p,
|
|
389
|
+
lightForeground: k,
|
|
390
|
+
setLightForeground: x,
|
|
391
|
+
darkBackground: b,
|
|
392
|
+
setDarkBackground: S,
|
|
393
|
+
darkForeground: w,
|
|
394
|
+
setDarkForeground: z
|
|
383
395
|
}, children: /* @__PURE__ */ e("div", { className: "min-h-screen bg-background text-foreground transition-colors duration-300", children: t }) });
|
|
384
|
-
},
|
|
385
|
-
const t =
|
|
396
|
+
}, Ae = () => {
|
|
397
|
+
const t = U(Ee);
|
|
386
398
|
if (t === void 0)
|
|
387
399
|
throw new Error("useTheme must be used within a ThemeProvider");
|
|
388
400
|
return t;
|
|
@@ -390,16 +402,16 @@ const xo = ({ id: t, header: r, children: o, className: s = "", disabled: i = !1
|
|
|
390
402
|
code: t,
|
|
391
403
|
language: r = "javascript",
|
|
392
404
|
className: o = "",
|
|
393
|
-
showLineNumbers:
|
|
405
|
+
showLineNumbers: a = !1,
|
|
394
406
|
...i
|
|
395
|
-
},
|
|
396
|
-
const { syntaxThemeStyle: n } =
|
|
397
|
-
return /* @__PURE__ */ e("div", { ref:
|
|
407
|
+
}, s) => {
|
|
408
|
+
const { syntaxThemeStyle: n } = Ae();
|
|
409
|
+
return /* @__PURE__ */ e("div", { ref: s, className: `rounded-md overflow-hidden ${o}`, ...i, children: /* @__PURE__ */ e(
|
|
398
410
|
Ie,
|
|
399
411
|
{
|
|
400
412
|
language: r,
|
|
401
413
|
style: n,
|
|
402
|
-
showLineNumbers:
|
|
414
|
+
showLineNumbers: a,
|
|
403
415
|
customStyle: { margin: 0, padding: "1.5rem", fontSize: "0.875rem", lineHeight: "1.5" },
|
|
404
416
|
wrapLines: !0,
|
|
405
417
|
wrapLongLines: !0,
|
|
@@ -408,54 +420,54 @@ const xo = ({ id: t, header: r, children: o, className: s = "", disabled: i = !1
|
|
|
408
420
|
) });
|
|
409
421
|
});
|
|
410
422
|
Be.displayName = "SyntaxHighlighter";
|
|
411
|
-
const
|
|
423
|
+
const X = y.forwardRef(({
|
|
412
424
|
content: t,
|
|
413
425
|
position: r = "top",
|
|
414
426
|
children: o,
|
|
415
|
-
className:
|
|
427
|
+
className: a = "",
|
|
416
428
|
contentClassName: i = "",
|
|
417
|
-
delay:
|
|
429
|
+
delay: s = 200,
|
|
418
430
|
...n
|
|
419
431
|
}, d) => {
|
|
420
|
-
const [c, l] = C(!1), [m, u] = C(!1), [
|
|
432
|
+
const [c, l] = C(!1), [m, u] = C(!1), [h, g] = C({ top: 0, left: 0 }), [p, k] = C(!1), x = P(null);
|
|
421
433
|
y.useImperativeHandle(d, () => x.current);
|
|
422
|
-
const b =
|
|
423
|
-
|
|
434
|
+
const b = P(null), S = P(null);
|
|
435
|
+
D(() => {
|
|
424
436
|
k(!0);
|
|
425
|
-
}, []),
|
|
437
|
+
}, []), D(() => {
|
|
426
438
|
c ? (S.current && clearTimeout(S.current), u(!0)) : S.current = setTimeout(() => {
|
|
427
439
|
u(!1);
|
|
428
440
|
}, 150);
|
|
429
441
|
}, [c]);
|
|
430
442
|
const w = () => {
|
|
431
443
|
if (!x.current) return;
|
|
432
|
-
const
|
|
433
|
-
let T = 0,
|
|
444
|
+
const N = x.current.getBoundingClientRect();
|
|
445
|
+
let T = 0, L = 0;
|
|
434
446
|
switch (r) {
|
|
435
447
|
case "top":
|
|
436
|
-
T =
|
|
448
|
+
T = N.top - 8, L = N.left + N.width / 2;
|
|
437
449
|
break;
|
|
438
450
|
case "bottom":
|
|
439
|
-
T =
|
|
451
|
+
T = N.bottom + 8, L = N.left + N.width / 2;
|
|
440
452
|
break;
|
|
441
453
|
case "left":
|
|
442
|
-
T =
|
|
454
|
+
T = N.top + N.height / 2, L = N.left - 8;
|
|
443
455
|
break;
|
|
444
456
|
case "right":
|
|
445
|
-
T =
|
|
457
|
+
T = N.top + N.height / 2, L = N.right + 8;
|
|
446
458
|
break;
|
|
447
459
|
}
|
|
448
|
-
|
|
460
|
+
g({ top: T, left: L });
|
|
449
461
|
}, z = () => {
|
|
450
462
|
w(), b.current && clearTimeout(b.current), S.current && clearTimeout(S.current), b.current = setTimeout(() => {
|
|
451
463
|
l(!0), w();
|
|
452
|
-
},
|
|
464
|
+
}, s);
|
|
453
465
|
}, I = () => {
|
|
454
466
|
b.current && clearTimeout(b.current), l(!1);
|
|
455
|
-
},
|
|
467
|
+
}, v = {
|
|
456
468
|
position: "fixed",
|
|
457
|
-
top: `${
|
|
458
|
-
left: `${
|
|
469
|
+
top: `${h.top}px`,
|
|
470
|
+
left: `${h.left}px`,
|
|
459
471
|
// We use transforms to center/offset effectively based on the calculated anchor point
|
|
460
472
|
transform: r === "top" ? "translate(-50%, -100%)" : r === "bottom" ? "translate(-50%, 0)" : r === "left" ? "translate(-100%, -50%)" : "translate(0, -50%)",
|
|
461
473
|
// right
|
|
@@ -465,7 +477,7 @@ const G = y.forwardRef(({
|
|
|
465
477
|
"div",
|
|
466
478
|
{
|
|
467
479
|
ref: x,
|
|
468
|
-
className:
|
|
480
|
+
className: a || "relative inline-flex w-fit",
|
|
469
481
|
onMouseEnter: z,
|
|
470
482
|
onMouseLeave: I,
|
|
471
483
|
onFocus: z,
|
|
@@ -477,7 +489,7 @@ const G = y.forwardRef(({
|
|
|
477
489
|
/* @__PURE__ */ e(
|
|
478
490
|
"div",
|
|
479
491
|
{
|
|
480
|
-
style:
|
|
492
|
+
style: v,
|
|
481
493
|
className: "pointer-events-none",
|
|
482
494
|
children: /* @__PURE__ */ f(
|
|
483
495
|
"div",
|
|
@@ -512,14 +524,14 @@ const G = y.forwardRef(({
|
|
|
512
524
|
}
|
|
513
525
|
);
|
|
514
526
|
});
|
|
515
|
-
|
|
527
|
+
X.displayName = "Tooltip";
|
|
516
528
|
const He = y.forwardRef(({
|
|
517
529
|
text: t,
|
|
518
530
|
duration: r = 2e3,
|
|
519
531
|
children: o,
|
|
520
|
-
showTooltip:
|
|
532
|
+
showTooltip: a = !0,
|
|
521
533
|
...i
|
|
522
|
-
},
|
|
534
|
+
}, s) => {
|
|
523
535
|
const [n, d] = C(!1), c = async (l) => {
|
|
524
536
|
l.stopPropagation();
|
|
525
537
|
try {
|
|
@@ -532,23 +544,23 @@ const He = y.forwardRef(({
|
|
|
532
544
|
const l = /* @__PURE__ */ f(
|
|
533
545
|
"div",
|
|
534
546
|
{
|
|
535
|
-
ref:
|
|
547
|
+
ref: s,
|
|
536
548
|
onClick: c,
|
|
537
549
|
className: "cursor-pointer inline-flex items-center gap-2 transition-opacity hover:opacity-80 active:scale-95 duration-200",
|
|
538
550
|
...i,
|
|
539
551
|
children: [
|
|
540
552
|
o,
|
|
541
|
-
n && /* @__PURE__ */ e(
|
|
553
|
+
n && /* @__PURE__ */ e(Q, { className: "h-3.5 w-3.5 text-green-500 animate-in zoom-in spin-in-45 duration-300" })
|
|
542
554
|
]
|
|
543
555
|
}
|
|
544
556
|
);
|
|
545
|
-
return
|
|
557
|
+
return a ? /* @__PURE__ */ e(X, { content: n ? "Copied!" : "Click to copy", children: l }) : l;
|
|
546
558
|
}
|
|
547
|
-
return /* @__PURE__ */ e(
|
|
559
|
+
return /* @__PURE__ */ e(X, { content: n ? "Copied!" : "Copy to clipboard", children: /* @__PURE__ */ f(
|
|
548
560
|
"button",
|
|
549
561
|
{
|
|
550
562
|
type: "button",
|
|
551
|
-
ref:
|
|
563
|
+
ref: s,
|
|
552
564
|
onClick: c,
|
|
553
565
|
className: "relative h-5 w-5 cursor-pointer focus:outline-none transition-transform active:scale-95",
|
|
554
566
|
...i,
|
|
@@ -561,7 +573,7 @@ const He = y.forwardRef(({
|
|
|
561
573
|
}
|
|
562
574
|
),
|
|
563
575
|
/* @__PURE__ */ e(
|
|
564
|
-
|
|
576
|
+
Q,
|
|
565
577
|
{
|
|
566
578
|
className: `absolute inset-0 w-full h-full transition-all duration-300 text-green-500 ${n ? "scale-100 opacity-100" : "scale-0 opacity-0 rotate-90"}`
|
|
567
579
|
}
|
|
@@ -575,24 +587,24 @@ const yo = y.forwardRef(({
|
|
|
575
587
|
code: t,
|
|
576
588
|
language: r = "tsx",
|
|
577
589
|
title: o = "Example Code",
|
|
578
|
-
className:
|
|
590
|
+
className: a = "",
|
|
579
591
|
...i
|
|
580
|
-
},
|
|
592
|
+
}, s) => {
|
|
581
593
|
const [n, d] = C(!1);
|
|
582
|
-
return /* @__PURE__ */ e("div", { ref:
|
|
594
|
+
return /* @__PURE__ */ e("div", { ref: s, className: `w-full mt-6 ${a}`, ...i, children: n ? /* @__PURE__ */ f("div", { className: "w-full border border-border rounded-lg overflow-hidden animate-in fade-in zoom-in-95 duration-200 shadow-sm", children: [
|
|
583
595
|
/* @__PURE__ */ f(
|
|
584
596
|
"div",
|
|
585
597
|
{
|
|
586
598
|
className: "bg-muted/50 px-4 py-2 border-b border-border flex items-center justify-between",
|
|
587
599
|
children: [
|
|
588
600
|
/* @__PURE__ */ f("div", { className: "flex items-center gap-2", children: [
|
|
589
|
-
/* @__PURE__ */ e(
|
|
601
|
+
/* @__PURE__ */ e(ge, { size: 14, className: "text-muted-foreground" }),
|
|
590
602
|
/* @__PURE__ */ e("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: o })
|
|
591
603
|
] }),
|
|
592
604
|
/* @__PURE__ */ f("div", { className: "flex items-center gap-2", children: [
|
|
593
605
|
/* @__PURE__ */ e("div", { className: "flex items-center pr-2 border-r border-border/50", children: /* @__PURE__ */ e(He, { text: t }) }),
|
|
594
606
|
/* @__PURE__ */ f(
|
|
595
|
-
|
|
607
|
+
B,
|
|
596
608
|
{
|
|
597
609
|
variant: "ghost",
|
|
598
610
|
size: "sm",
|
|
@@ -615,7 +627,7 @@ const yo = y.forwardRef(({
|
|
|
615
627
|
onClick: () => d(!0),
|
|
616
628
|
className: "w-full p-4 border-2 border-dashed border-border rounded-lg text-muted-foreground hover:text-foreground hover:border-foreground/40 transition-all flex items-center justify-center gap-2 group cursor-pointer bg-muted/5 hover:bg-muted/10 outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
617
629
|
children: [
|
|
618
|
-
/* @__PURE__ */ e(
|
|
630
|
+
/* @__PURE__ */ e(ge, { size: 16, className: "group-hover:scale-110 transition-transform" }),
|
|
619
631
|
/* @__PURE__ */ e("span", { className: "font-medium text-sm", children: "Show Code" })
|
|
620
632
|
]
|
|
621
633
|
}
|
|
@@ -626,9 +638,9 @@ const Oe = y.forwardRef(({
|
|
|
626
638
|
children: t,
|
|
627
639
|
variant: r = "secondary",
|
|
628
640
|
size: o = "md",
|
|
629
|
-
leftIcon:
|
|
641
|
+
leftIcon: a,
|
|
630
642
|
rightIcon: i,
|
|
631
|
-
onClose:
|
|
643
|
+
onClose: s,
|
|
632
644
|
className: n = "",
|
|
633
645
|
...d
|
|
634
646
|
}, c) => {
|
|
@@ -663,13 +675,13 @@ const Oe = y.forwardRef(({
|
|
|
663
675
|
className: `inline-flex items-center font-medium rounded-md border transition-colors ${l[r]} ${m[o]} ${n}`,
|
|
664
676
|
...d,
|
|
665
677
|
children: [
|
|
666
|
-
|
|
678
|
+
a && /* @__PURE__ */ e(a, { size: u[o] }),
|
|
667
679
|
t,
|
|
668
680
|
i && /* @__PURE__ */ e(i, { size: u[o] }),
|
|
669
|
-
|
|
681
|
+
s && /* @__PURE__ */ e(
|
|
670
682
|
"button",
|
|
671
683
|
{
|
|
672
|
-
onClick:
|
|
684
|
+
onClick: s,
|
|
673
685
|
className: "hover:bg-foreground/10 rounded-full p-0.5 transition-colors cursor-pointer ml-0.5",
|
|
674
686
|
"aria-label": "Remove tag",
|
|
675
687
|
children: /* @__PURE__ */ e(oe, { size: u[o] })
|
|
@@ -684,83 +696,83 @@ const on = y.forwardRef(({
|
|
|
684
696
|
options: t,
|
|
685
697
|
value: r,
|
|
686
698
|
defaultValue: o,
|
|
687
|
-
onChange:
|
|
699
|
+
onChange: a,
|
|
688
700
|
label: i,
|
|
689
|
-
placeholder:
|
|
701
|
+
placeholder: s = "Select option...",
|
|
690
702
|
error: n,
|
|
691
703
|
className: d = "",
|
|
692
704
|
required: c,
|
|
693
705
|
multi: l = !1,
|
|
694
706
|
...m
|
|
695
707
|
}, u) => {
|
|
696
|
-
var
|
|
697
|
-
const [
|
|
708
|
+
var Z;
|
|
709
|
+
const [h, g] = C(!1), [p, k] = C(""), [x, b] = C(-1), [S, w] = C(!1), z = P(null);
|
|
698
710
|
y.useImperativeHandle(u, () => z.current);
|
|
699
|
-
const I =
|
|
711
|
+
const I = P(null), [v, M] = C(
|
|
700
712
|
r !== void 0 ? r : o
|
|
701
713
|
);
|
|
702
|
-
|
|
714
|
+
D(() => {
|
|
703
715
|
r !== void 0 && M(r);
|
|
704
716
|
}, [r]);
|
|
705
|
-
const
|
|
706
|
-
r === void 0 && M($),
|
|
707
|
-
}, T =
|
|
708
|
-
if (l && Array.isArray(
|
|
709
|
-
return t.filter(($) =>
|
|
710
|
-
if (!l && typeof
|
|
711
|
-
const $ = t.find((F) => F.value ===
|
|
717
|
+
const N = ($, F) => {
|
|
718
|
+
r === void 0 && M($), a == null || a($, F);
|
|
719
|
+
}, T = q(() => {
|
|
720
|
+
if (l && Array.isArray(v))
|
|
721
|
+
return t.filter(($) => v.includes($.value));
|
|
722
|
+
if (!l && typeof v == "string") {
|
|
723
|
+
const $ = t.find((F) => F.value === v);
|
|
712
724
|
return $ ? [$] : [];
|
|
713
725
|
}
|
|
714
726
|
return [];
|
|
715
|
-
}, [t,
|
|
727
|
+
}, [t, v, l]), L = q(() => !l && T.length > 0 && (!p || p === T[0].label) || l && !p ? t : t.filter(
|
|
716
728
|
($) => $.label.toLowerCase().includes(p.toLowerCase())
|
|
717
729
|
), [t, p, T, l]);
|
|
718
|
-
|
|
730
|
+
D(() => {
|
|
719
731
|
const $ = (F) => {
|
|
720
|
-
z.current && !z.current.contains(F.target) && (
|
|
732
|
+
z.current && !z.current.contains(F.target) && (g(!1), w(!1));
|
|
721
733
|
};
|
|
722
734
|
return document.addEventListener("mousedown", $), () => document.removeEventListener("mousedown", $);
|
|
723
735
|
}, []);
|
|
724
|
-
const
|
|
725
|
-
var
|
|
736
|
+
const j = ($, F) => {
|
|
737
|
+
var E;
|
|
726
738
|
if (l) {
|
|
727
|
-
const se = Array.isArray(
|
|
728
|
-
|
|
739
|
+
const se = Array.isArray(v) ? v : [], st = se.includes($.value) ? se.filter((it) => it !== $.value) : [...se, $.value];
|
|
740
|
+
N(st, F), k(""), (E = I.current) == null || E.focus();
|
|
729
741
|
} else
|
|
730
|
-
|
|
731
|
-
},
|
|
732
|
-
$.stopPropagation(), l && Array.isArray(
|
|
733
|
-
},
|
|
742
|
+
N($.value, F), k(""), g(!1), w(!1), b(-1);
|
|
743
|
+
}, Y = ($, F) => {
|
|
744
|
+
$.stopPropagation(), l && Array.isArray(v) && N(v.filter((E) => E !== F), $);
|
|
745
|
+
}, R = () => {
|
|
734
746
|
var $;
|
|
735
|
-
w(!0),
|
|
736
|
-
},
|
|
737
|
-
if (!
|
|
738
|
-
($.key === "ArrowDown" || $.key === "Enter") &&
|
|
747
|
+
w(!0), g(!0), l || k((($ = T[0]) == null ? void 0 : $.label) || "");
|
|
748
|
+
}, H = ($) => {
|
|
749
|
+
if (!h) {
|
|
750
|
+
($.key === "ArrowDown" || $.key === "Enter") && R();
|
|
739
751
|
return;
|
|
740
752
|
}
|
|
741
753
|
switch ($.key) {
|
|
742
754
|
case "ArrowDown":
|
|
743
755
|
$.preventDefault(), b(
|
|
744
|
-
(F) => F <
|
|
756
|
+
(F) => F < L.length - 1 ? F + 1 : F
|
|
745
757
|
);
|
|
746
758
|
break;
|
|
747
759
|
case "ArrowUp":
|
|
748
760
|
$.preventDefault(), b((F) => F > 0 ? F - 1 : 0);
|
|
749
761
|
break;
|
|
750
762
|
case "Enter":
|
|
751
|
-
$.preventDefault(), x >= 0 &&
|
|
763
|
+
$.preventDefault(), x >= 0 && L[x] && j(L[x]);
|
|
752
764
|
break;
|
|
753
765
|
case "Escape":
|
|
754
|
-
|
|
766
|
+
g(!1), w(!1);
|
|
755
767
|
break;
|
|
756
768
|
case "Tab":
|
|
757
|
-
|
|
769
|
+
g(!1), w(!1);
|
|
758
770
|
break;
|
|
759
771
|
case "Backspace":
|
|
760
|
-
l && p === "" && Array.isArray(
|
|
772
|
+
l && p === "" && Array.isArray(v) && v.length > 0 && N(v.slice(0, -1));
|
|
761
773
|
break;
|
|
762
774
|
}
|
|
763
|
-
},
|
|
775
|
+
}, W = S ? p : l ? "" : ((Z = T[0]) == null ? void 0 : Z.label) || "", _ = ($) => l && Array.isArray(v) ? v.includes($) : v === $;
|
|
764
776
|
return /* @__PURE__ */ f("div", { className: `flex flex-col gap-1.5 w-full relative ${d}`, ref: z, ...m, children: [
|
|
765
777
|
i && /* @__PURE__ */ f("label", { className: "text-sm font-medium leading-none pl-[3px] mb-[5px]", children: [
|
|
766
778
|
i,
|
|
@@ -773,14 +785,14 @@ const on = y.forwardRef(({
|
|
|
773
785
|
className: `flex w-full border border-input bg-background ring-offset-background min-h-12 px-3 py-1.5 items-center flex-wrap gap-2 rounded-lg cursor-text transition-all focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 ${n ? "border-red-500" : ""}`,
|
|
774
786
|
onClick: () => {
|
|
775
787
|
var $;
|
|
776
|
-
|
|
788
|
+
R(), ($ = I.current) == null || $.focus();
|
|
777
789
|
},
|
|
778
790
|
children: [
|
|
779
791
|
l && T.map(($) => /* @__PURE__ */ e(
|
|
780
792
|
Oe,
|
|
781
793
|
{
|
|
782
794
|
variant: "primary",
|
|
783
|
-
onClose: (F) =>
|
|
795
|
+
onClose: (F) => Y(F, $.value),
|
|
784
796
|
size: "sm",
|
|
785
797
|
children: $.label
|
|
786
798
|
},
|
|
@@ -792,37 +804,37 @@ const on = y.forwardRef(({
|
|
|
792
804
|
ref: I,
|
|
793
805
|
type: "text",
|
|
794
806
|
className: `flex-1 bg-transparent border-none outline-none min-w-[80px] text-base placeholder:text-muted-foreground/30 ${!S && !l && T.length > 0 ? "text-foreground" : ""}`,
|
|
795
|
-
placeholder: S || l && T.length > 0 ? "" :
|
|
796
|
-
value:
|
|
807
|
+
placeholder: S || l && T.length > 0 ? "" : s,
|
|
808
|
+
value: W,
|
|
797
809
|
onChange: ($) => {
|
|
798
810
|
const F = $.target.value;
|
|
799
|
-
k(F),
|
|
811
|
+
k(F), h || g(!0), b(0), !l && F === "" && v !== "" && N("");
|
|
800
812
|
},
|
|
801
|
-
onFocus:
|
|
802
|
-
onKeyDown:
|
|
813
|
+
onFocus: R,
|
|
814
|
+
onKeyDown: H
|
|
803
815
|
}
|
|
804
816
|
),
|
|
805
817
|
/* @__PURE__ */ e(
|
|
806
818
|
ne,
|
|
807
819
|
{
|
|
808
820
|
size: 18,
|
|
809
|
-
className: `text-muted-foreground transition-transform duration-200 ml-auto ${
|
|
821
|
+
className: `text-muted-foreground transition-transform duration-200 ml-auto ${h ? "rotate-180" : ""}`
|
|
810
822
|
}
|
|
811
823
|
)
|
|
812
824
|
]
|
|
813
825
|
}
|
|
814
826
|
),
|
|
815
|
-
|
|
827
|
+
h && /* @__PURE__ */ e("div", { className: "absolute top-full left-0 right-0 mt-2 z-50 bg-background border border-border rounded-lg shadow-xl overflow-hidden animate-in fade-in zoom-in-95 duration-200", children: /* @__PURE__ */ e("div", { className: "max-h-60 overflow-y-auto p-1 text-foreground", children: L.length > 0 ? L.map(($, F) => /* @__PURE__ */ f(
|
|
816
828
|
"div",
|
|
817
829
|
{
|
|
818
|
-
className: `flex items-center justify-between px-3 py-2 text-sm rounded-md cursor-pointer transition-colors ${x === F ? "bg-accent text-accent-foreground" :
|
|
819
|
-
onClick: (
|
|
820
|
-
|
|
830
|
+
className: `flex items-center justify-between px-3 py-2 text-sm rounded-md cursor-pointer transition-colors ${x === F ? "bg-accent text-accent-foreground" : _($.value) ? "bg-primary/10 text-primary" : "hover:bg-accent/50"}`,
|
|
831
|
+
onClick: (E) => {
|
|
832
|
+
E.stopPropagation(), j($, E);
|
|
821
833
|
},
|
|
822
834
|
onMouseEnter: () => b(F),
|
|
823
835
|
children: [
|
|
824
836
|
/* @__PURE__ */ e("span", { children: $.label }),
|
|
825
|
-
|
|
837
|
+
_($.value) && /* @__PURE__ */ e(Q, { size: 16 })
|
|
826
838
|
]
|
|
827
839
|
},
|
|
828
840
|
$.value
|
|
@@ -834,12 +846,12 @@ const on = y.forwardRef(({
|
|
|
834
846
|
value: t,
|
|
835
847
|
onChange: r,
|
|
836
848
|
className: o,
|
|
837
|
-
placeholder:
|
|
849
|
+
placeholder: a,
|
|
838
850
|
disabled: i,
|
|
839
|
-
...
|
|
851
|
+
...s
|
|
840
852
|
}, n) => {
|
|
841
|
-
const d =
|
|
842
|
-
return y.useImperativeHandle(n, () => d.current),
|
|
853
|
+
const d = P(null);
|
|
854
|
+
return y.useImperativeHandle(n, () => d.current), D(() => {
|
|
843
855
|
d.current && d.current.innerText !== t && (d.current.innerText = t);
|
|
844
856
|
}, [t]), /* @__PURE__ */ e(
|
|
845
857
|
"div",
|
|
@@ -855,37 +867,37 @@ const on = y.forwardRef(({
|
|
|
855
867
|
},
|
|
856
868
|
suppressContentEditableWarning: !0,
|
|
857
869
|
className: `inline-flex w-full items-center text-lg leading-relaxed ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 empty:before:content-[attr(data-placeholder)] empty:before:text-muted-foreground cursor-text ${o || ""}`,
|
|
858
|
-
"data-placeholder":
|
|
859
|
-
...
|
|
870
|
+
"data-placeholder": a,
|
|
871
|
+
...s
|
|
860
872
|
}
|
|
861
873
|
);
|
|
862
874
|
});
|
|
863
875
|
wo.displayName = "ContentEditable";
|
|
864
|
-
const Ve = y.forwardRef(({ level: t = 1, children: r, className: o = "", ...
|
|
865
|
-
const
|
|
866
|
-
return /* @__PURE__ */ e(
|
|
876
|
+
const Ve = y.forwardRef(({ level: t = 1, children: r, className: o = "", ...a }, i) => {
|
|
877
|
+
const s = `h${t}`;
|
|
878
|
+
return /* @__PURE__ */ e(s, { ref: i, className: `scroll-m-20 ${{
|
|
867
879
|
1: "text-4xl font-extrabold tracking-tight lg:text-5xl mb-10 pb-2",
|
|
868
880
|
2: "text-3xl font-semibold tracking-tight border-b border-border/40 pb-4 mb-8",
|
|
869
881
|
3: "text-2xl font-semibold tracking-tight mb-6",
|
|
870
882
|
4: "text-xl font-semibold tracking-tight mb-6",
|
|
871
883
|
5: "text-lg font-semibold tracking-tight mb-6",
|
|
872
884
|
6: "text-base font-semibold tracking-tight mb-6"
|
|
873
|
-
}[t]} ${o}`, ...
|
|
885
|
+
}[t]} ${o}`, ...a, children: r });
|
|
874
886
|
});
|
|
875
887
|
Ve.displayName = "Heading";
|
|
876
|
-
const
|
|
888
|
+
const A = y.forwardRef(({ children: t, variant: r = "p", className: o = "", ...a }, i) => /* @__PURE__ */ e("p", { ref: i, className: `${{
|
|
877
889
|
p: "text-lg leading-7 [&:not(:first-child)]:mt-6",
|
|
878
890
|
lead: "text-xl text-muted-foreground",
|
|
879
891
|
large: "text-lg font-semibold",
|
|
880
892
|
small: "text-sm font-medium leading-none",
|
|
881
893
|
muted: "text-sm text-muted-foreground"
|
|
882
|
-
}[r]} ${o}`, ...
|
|
883
|
-
|
|
884
|
-
const me = y.forwardRef(({ isOpen: t, onClose: r, children: o, width:
|
|
894
|
+
}[r]} ${o}`, ...a, children: t }));
|
|
895
|
+
A.displayName = "Text";
|
|
896
|
+
const me = y.forwardRef(({ isOpen: t, onClose: r, children: o, width: a, ...i }, s) => {
|
|
885
897
|
const [n, d] = C(!1), [c, l] = C(!1);
|
|
886
|
-
if (
|
|
898
|
+
if (D(() => {
|
|
887
899
|
d(!0);
|
|
888
|
-
}, []),
|
|
900
|
+
}, []), D(() => {
|
|
889
901
|
if (t)
|
|
890
902
|
l(!0), document.body.style.overflow = "hidden";
|
|
891
903
|
else {
|
|
@@ -894,10 +906,10 @@ const me = y.forwardRef(({ isOpen: t, onClose: r, children: o, width: s, ...i },
|
|
|
894
906
|
}, 200);
|
|
895
907
|
return () => clearTimeout(u);
|
|
896
908
|
}
|
|
897
|
-
}, [t]),
|
|
909
|
+
}, [t]), D(() => () => {
|
|
898
910
|
document.body.style.overflow = "unset";
|
|
899
911
|
}, []), !n || !c) return null;
|
|
900
|
-
const m =
|
|
912
|
+
const m = a ? typeof a == "number" ? `${a}px` : a : "32rem";
|
|
901
913
|
return ue(
|
|
902
914
|
/* @__PURE__ */ f("div", { className: `fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6 ${t ? "" : "pointer-events-none"}`, children: [
|
|
903
915
|
/* @__PURE__ */ e(
|
|
@@ -912,7 +924,7 @@ const me = y.forwardRef(({ isOpen: t, onClose: r, children: o, width: s, ...i },
|
|
|
912
924
|
{
|
|
913
925
|
className: `relative w-full transform overflow-hidden rounded-xl border border-border bg-background shadow-2xl ${t ? "animate-in zoom-in-95 duration-200" : "animate-out zoom-out-95 duration-200"}`,
|
|
914
926
|
style: { maxWidth: m },
|
|
915
|
-
ref:
|
|
927
|
+
ref: s,
|
|
916
928
|
...i,
|
|
917
929
|
children: /* @__PURE__ */ e("div", { className: "flex flex-col", children: o })
|
|
918
930
|
}
|
|
@@ -936,7 +948,7 @@ const vo = ({ children: t, onClose: r }) => /* @__PURE__ */ f("div", { className
|
|
|
936
948
|
}
|
|
937
949
|
)
|
|
938
950
|
] }), No = ({ children: t }) => /* @__PURE__ */ e("div", { className: "px-6 py-6 overflow-y-auto max-h-[70vh]", children: t }), ko = ({ children: t, onClose: r }) => /* @__PURE__ */ f("div", { className: "flex items-center justify-end gap-3 border-t border-border/40 px-6 py-4", children: [
|
|
939
|
-
r && /* @__PURE__ */ e(
|
|
951
|
+
r && /* @__PURE__ */ e(B, { variant: "outline", onClick: r, children: "Close" }),
|
|
940
952
|
t
|
|
941
953
|
] });
|
|
942
954
|
me.displayName = "Modal";
|
|
@@ -944,8 +956,8 @@ const ee = Object.assign(me, {
|
|
|
944
956
|
Header: vo,
|
|
945
957
|
Content: No,
|
|
946
958
|
Footer: ko
|
|
947
|
-
}), fe = y.forwardRef(({ label: t, error: r, type: o, required:
|
|
948
|
-
const [u,
|
|
959
|
+
}), fe = y.forwardRef(({ label: t, error: r, type: o, required: a, className: i = "", format: s, defaultValue: n, value: d, onChange: c, ...l }, m) => {
|
|
960
|
+
const [u, h] = y.useState(!1), g = o === "password", p = g ? u ? "text" : "password" : o, [k, x] = y.useState(
|
|
949
961
|
d !== void 0 ? d : n || ""
|
|
950
962
|
);
|
|
951
963
|
y.useEffect(() => {
|
|
@@ -953,38 +965,38 @@ const ee = Object.assign(me, {
|
|
|
953
965
|
}, [d]);
|
|
954
966
|
const b = (w, z) => {
|
|
955
967
|
const I = w.replace(/[^0-9a-zA-Z]/g, "");
|
|
956
|
-
let
|
|
957
|
-
for (let
|
|
958
|
-
const T = z[
|
|
968
|
+
let v = "", M = 0;
|
|
969
|
+
for (let N = 0; N < z.length && !(M >= I.length); N++) {
|
|
970
|
+
const T = z[N];
|
|
959
971
|
if (T === "N")
|
|
960
972
|
for (; M < I.length; ) {
|
|
961
|
-
const
|
|
962
|
-
if (/\d/.test(
|
|
963
|
-
|
|
973
|
+
const L = I[M];
|
|
974
|
+
if (/\d/.test(L)) {
|
|
975
|
+
v += L, M++;
|
|
964
976
|
break;
|
|
965
977
|
}
|
|
966
978
|
M++;
|
|
967
979
|
}
|
|
968
980
|
else if (T === "L")
|
|
969
981
|
for (; M < I.length; ) {
|
|
970
|
-
const
|
|
971
|
-
if (/[a-zA-Z]/.test(
|
|
972
|
-
|
|
982
|
+
const L = I[M];
|
|
983
|
+
if (/[a-zA-Z]/.test(L)) {
|
|
984
|
+
v += L, M++;
|
|
973
985
|
break;
|
|
974
986
|
}
|
|
975
987
|
M++;
|
|
976
988
|
}
|
|
977
|
-
else T === "A" ? M < I.length && (
|
|
989
|
+
else T === "A" ? M < I.length && (v += I[M], M++) : M < I.length && (v += T);
|
|
978
990
|
}
|
|
979
|
-
return
|
|
991
|
+
return v;
|
|
980
992
|
}, S = (w) => {
|
|
981
993
|
let z = w.target.value;
|
|
982
|
-
|
|
994
|
+
s && (z = b(z, s)), d === void 0 && x(z), c == null || c(z, w);
|
|
983
995
|
};
|
|
984
996
|
return /* @__PURE__ */ f("div", { className: "flex flex-col gap-1.5 w-full", children: [
|
|
985
997
|
t && /* @__PURE__ */ f("label", { className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 pl-[3px] mb-[5px]", children: [
|
|
986
998
|
t,
|
|
987
|
-
|
|
999
|
+
a && /* @__PURE__ */ e("span", { className: "text-red-500 ml-1", children: "*" })
|
|
988
1000
|
] }),
|
|
989
1001
|
/* @__PURE__ */ f("div", { className: "relative w-full", children: [
|
|
990
1002
|
/* @__PURE__ */ e(
|
|
@@ -992,17 +1004,17 @@ const ee = Object.assign(me, {
|
|
|
992
1004
|
{
|
|
993
1005
|
ref: m,
|
|
994
1006
|
type: p,
|
|
995
|
-
className: `flex w-full border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all h-10 px-4 text-base rounded-md ${
|
|
1007
|
+
className: `flex w-full border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all h-10 px-4 text-base rounded-md ${g && !u ? "font-bold tracking-widest text-lg" : ""} ${i}`,
|
|
996
1008
|
onChange: S,
|
|
997
1009
|
value: k,
|
|
998
1010
|
...l
|
|
999
1011
|
}
|
|
1000
1012
|
),
|
|
1001
|
-
|
|
1013
|
+
g && /* @__PURE__ */ e(
|
|
1002
1014
|
"button",
|
|
1003
1015
|
{
|
|
1004
1016
|
type: "button",
|
|
1005
|
-
onClick: () =>
|
|
1017
|
+
onClick: () => h(!u),
|
|
1006
1018
|
className: "absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors cursor-pointer",
|
|
1007
1019
|
children: u ? /* @__PURE__ */ e($e, { size: 18 }) : /* @__PURE__ */ e(Ce, { size: 18 })
|
|
1008
1020
|
}
|
|
@@ -1016,9 +1028,9 @@ const Ue = y.forwardRef(({
|
|
|
1016
1028
|
variant: t = "solid",
|
|
1017
1029
|
orientation: r = "horizontal",
|
|
1018
1030
|
children: o,
|
|
1019
|
-
className:
|
|
1031
|
+
className: a = "",
|
|
1020
1032
|
...i
|
|
1021
|
-
},
|
|
1033
|
+
}, s) => {
|
|
1022
1034
|
const n = {
|
|
1023
1035
|
solid: "border-solid",
|
|
1024
1036
|
dashed: "border-dashed",
|
|
@@ -1029,20 +1041,20 @@ const Ue = y.forwardRef(({
|
|
|
1029
1041
|
return r === "vertical" ? /* @__PURE__ */ e(
|
|
1030
1042
|
"div",
|
|
1031
1043
|
{
|
|
1032
|
-
ref:
|
|
1033
|
-
className: `inline-block h-auto self-stretch min-h-[1em] w-0 border-r ${d} ${n[t]} mx-4 ${
|
|
1044
|
+
ref: s,
|
|
1045
|
+
className: `inline-block h-auto self-stretch min-h-[1em] w-0 border-r ${d} ${n[t]} mx-4 ${a}`,
|
|
1034
1046
|
role: "separator",
|
|
1035
1047
|
"aria-orientation": "vertical"
|
|
1036
1048
|
}
|
|
1037
|
-
) : o ? /* @__PURE__ */ f("div", { ref:
|
|
1049
|
+
) : o ? /* @__PURE__ */ f("div", { ref: s, className: `flex items-center w-full my-8 ${a}`, role: "separator", "aria-orientation": "horizontal", ...i, children: [
|
|
1038
1050
|
/* @__PURE__ */ e("div", { className: `flex-grow border-t ${d} ${n[t]}` }),
|
|
1039
1051
|
/* @__PURE__ */ e("span", { className: "mx-4 text-[10px] font-bold uppercase tracking-[0.2em] text-foreground/50 whitespace-nowrap", children: o }),
|
|
1040
1052
|
/* @__PURE__ */ e("div", { className: `flex-grow border-t ${d} ${n[t]}` })
|
|
1041
1053
|
] }) : /* @__PURE__ */ e(
|
|
1042
1054
|
"div",
|
|
1043
1055
|
{
|
|
1044
|
-
ref:
|
|
1045
|
-
className: `w-full border-t ${d} ${n[t]} my-8 ${
|
|
1056
|
+
ref: s,
|
|
1057
|
+
className: `w-full border-t ${d} ${n[t]} my-8 ${a}`,
|
|
1046
1058
|
...i,
|
|
1047
1059
|
role: "separator",
|
|
1048
1060
|
"aria-orientation": "horizontal"
|
|
@@ -1054,26 +1066,26 @@ const $o = y.forwardRef(({
|
|
|
1054
1066
|
isOpen: t,
|
|
1055
1067
|
title: r,
|
|
1056
1068
|
prompt: o,
|
|
1057
|
-
okText:
|
|
1069
|
+
okText: a = "Ok",
|
|
1058
1070
|
cancelText: i = "Cancel",
|
|
1059
|
-
onConfirm:
|
|
1071
|
+
onConfirm: s,
|
|
1060
1072
|
onCancel: n,
|
|
1061
1073
|
width: d = "24rem",
|
|
1062
1074
|
confirmTextInput: c,
|
|
1063
1075
|
...l
|
|
1064
1076
|
}, m) => {
|
|
1065
|
-
const [u,
|
|
1066
|
-
|
|
1067
|
-
t &&
|
|
1077
|
+
const [u, h] = C("");
|
|
1078
|
+
D(() => {
|
|
1079
|
+
t && h("");
|
|
1068
1080
|
}, [t]);
|
|
1069
|
-
const
|
|
1081
|
+
const g = c ? u !== c : !1;
|
|
1070
1082
|
return /* @__PURE__ */ f(ee, { isOpen: t, onClose: n, width: d, ref: m, ...l, children: [
|
|
1071
1083
|
/* @__PURE__ */ e(ee.Header, { onClose: n, children: r }),
|
|
1072
1084
|
/* @__PURE__ */ f(ee.Content, { children: [
|
|
1073
|
-
/* @__PURE__ */ e(
|
|
1085
|
+
/* @__PURE__ */ e(A, { children: o }),
|
|
1074
1086
|
c && /* @__PURE__ */ f("div", { className: "mt-4", children: [
|
|
1075
1087
|
/* @__PURE__ */ e(Ue, { className: "my-4" }),
|
|
1076
|
-
/* @__PURE__ */ f(
|
|
1088
|
+
/* @__PURE__ */ f(A, { className: "mb-2 text-sm text-muted-foreground", children: [
|
|
1077
1089
|
"Please enter ",
|
|
1078
1090
|
/* @__PURE__ */ e("span", { className: "font-bold text-foreground select-all", children: c }),
|
|
1079
1091
|
" below to continue"
|
|
@@ -1082,7 +1094,7 @@ const $o = y.forwardRef(({
|
|
|
1082
1094
|
fe,
|
|
1083
1095
|
{
|
|
1084
1096
|
value: u,
|
|
1085
|
-
onChange: (p) =>
|
|
1097
|
+
onChange: (p) => h(p),
|
|
1086
1098
|
placeholder: c,
|
|
1087
1099
|
autoFocus: !0
|
|
1088
1100
|
}
|
|
@@ -1090,8 +1102,8 @@ const $o = y.forwardRef(({
|
|
|
1090
1102
|
] })
|
|
1091
1103
|
] }),
|
|
1092
1104
|
/* @__PURE__ */ f(ee.Footer, { children: [
|
|
1093
|
-
/* @__PURE__ */ e(
|
|
1094
|
-
/* @__PURE__ */ e(
|
|
1105
|
+
/* @__PURE__ */ e(B, { variant: "outline", onClick: n, children: i }),
|
|
1106
|
+
/* @__PURE__ */ e(B, { onClick: s, disabled: g, children: a })
|
|
1095
1107
|
] })
|
|
1096
1108
|
] });
|
|
1097
1109
|
});
|
|
@@ -1100,12 +1112,12 @@ const We = y.forwardRef(({
|
|
|
1100
1112
|
value: t = "12:00",
|
|
1101
1113
|
onChange: r,
|
|
1102
1114
|
className: o = "",
|
|
1103
|
-
...
|
|
1115
|
+
...a
|
|
1104
1116
|
}, i) => {
|
|
1105
|
-
const [
|
|
1106
|
-
|
|
1117
|
+
const [s, n] = t.split(":").map(Number), d = P(null), c = P(null), l = P(null), m = s % 12 === 0 ? 12 : s % 12, u = s < 12 ? "AM" : "PM", h = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], g = Array.from({ length: 60 }, (x, b) => b), p = ["AM", "PM"];
|
|
1118
|
+
D(() => {
|
|
1107
1119
|
if (d.current) {
|
|
1108
|
-
const x =
|
|
1120
|
+
const x = h.indexOf(m), b = d.current.children[x];
|
|
1109
1121
|
b && (d.current.scrollTop = b.offsetTop - d.current.offsetTop - d.current.clientHeight / 2 + b.clientHeight / 2);
|
|
1110
1122
|
}
|
|
1111
1123
|
if (c.current) {
|
|
@@ -1121,7 +1133,7 @@ const We = y.forwardRef(({
|
|
|
1121
1133
|
let w = x;
|
|
1122
1134
|
S === "PM" && x !== 12 && (w += 12), S === "AM" && x === 12 && (w = 0), r == null || r(`${w.toString().padStart(2, "0")}:${b.toString().padStart(2, "0")}`);
|
|
1123
1135
|
};
|
|
1124
|
-
return /* @__PURE__ */ f("div", { ref: i, className: `p-4 bg-background border-t border-border flex flex-col gap-3 ${o}`, ...
|
|
1136
|
+
return /* @__PURE__ */ f("div", { ref: i, className: `p-4 bg-background border-t border-border flex flex-col gap-3 ${o}`, ...a, children: [
|
|
1125
1137
|
/* @__PURE__ */ f("div", { className: "flex justify-center items-center gap-1", children: [
|
|
1126
1138
|
/* @__PURE__ */ e("div", { className: "flex-1 text-center text-[10px] uppercase font-bold text-muted-foreground mr-2", children: "Hour" }),
|
|
1127
1139
|
/* @__PURE__ */ e("div", { className: "flex-1 text-center text-[10px] uppercase font-bold text-muted-foreground mr-6", children: "Min" }),
|
|
@@ -1136,7 +1148,7 @@ const We = y.forwardRef(({
|
|
|
1136
1148
|
{
|
|
1137
1149
|
ref: d,
|
|
1138
1150
|
className: "flex-1 h-full overflow-y-auto no-scrollbar snap-y snap-mandatory scroll-smooth py-20",
|
|
1139
|
-
children:
|
|
1151
|
+
children: h.map((x) => /* @__PURE__ */ e(
|
|
1140
1152
|
"button",
|
|
1141
1153
|
{
|
|
1142
1154
|
onClick: () => k(x, n, u),
|
|
@@ -1156,7 +1168,7 @@ const We = y.forwardRef(({
|
|
|
1156
1168
|
{
|
|
1157
1169
|
ref: c,
|
|
1158
1170
|
className: "flex-1 h-full overflow-y-auto no-scrollbar snap-y snap-mandatory scroll-smooth py-20",
|
|
1159
|
-
children:
|
|
1171
|
+
children: g.map((x) => /* @__PURE__ */ e(
|
|
1160
1172
|
"button",
|
|
1161
1173
|
{
|
|
1162
1174
|
onClick: () => k(m, x, u),
|
|
@@ -1197,26 +1209,26 @@ const le = (t) => t !== null && typeof t == "object" && "from" in t, Co = y.forw
|
|
|
1197
1209
|
mode: t = "date",
|
|
1198
1210
|
value: r,
|
|
1199
1211
|
defaultValue: o,
|
|
1200
|
-
onChange:
|
|
1212
|
+
onChange: a,
|
|
1201
1213
|
label: i,
|
|
1202
|
-
placeholder:
|
|
1214
|
+
placeholder: s,
|
|
1203
1215
|
error: n,
|
|
1204
1216
|
className: d = "",
|
|
1205
1217
|
required: c,
|
|
1206
1218
|
...l
|
|
1207
1219
|
}, m) => {
|
|
1208
|
-
const [u,
|
|
1209
|
-
y.useImperativeHandle(m, () =>
|
|
1220
|
+
const [u, h] = C(!1), g = P(null);
|
|
1221
|
+
y.useImperativeHandle(m, () => g.current);
|
|
1210
1222
|
const [p, k] = C(
|
|
1211
1223
|
r !== void 0 ? r : o
|
|
1212
1224
|
);
|
|
1213
|
-
|
|
1225
|
+
D(() => {
|
|
1214
1226
|
r !== void 0 && k(r);
|
|
1215
1227
|
}, [r]);
|
|
1216
|
-
const x = (
|
|
1217
|
-
r === void 0 && k(
|
|
1218
|
-
}, b =
|
|
1219
|
-
if (
|
|
1228
|
+
const x = (v, M) => {
|
|
1229
|
+
r === void 0 && k(v), a == null || a(v, M);
|
|
1230
|
+
}, b = q(() => {
|
|
1231
|
+
if (s) return s;
|
|
1220
1232
|
switch (t) {
|
|
1221
1233
|
case "date":
|
|
1222
1234
|
return "Select date...";
|
|
@@ -1229,57 +1241,57 @@ const le = (t) => t !== null && typeof t == "object" && "from" in t, Co = y.forw
|
|
|
1229
1241
|
default:
|
|
1230
1242
|
return "Select...";
|
|
1231
1243
|
}
|
|
1232
|
-
}, [t,
|
|
1233
|
-
|
|
1234
|
-
const
|
|
1235
|
-
|
|
1244
|
+
}, [t, s]);
|
|
1245
|
+
D(() => {
|
|
1246
|
+
const v = (M) => {
|
|
1247
|
+
g.current && !g.current.contains(M.target) && h(!1);
|
|
1236
1248
|
};
|
|
1237
|
-
return document.addEventListener("mousedown",
|
|
1249
|
+
return document.addEventListener("mousedown", v), () => document.removeEventListener("mousedown", v);
|
|
1238
1250
|
}, []);
|
|
1239
|
-
const S = (
|
|
1251
|
+
const S = (v) => {
|
|
1240
1252
|
if (t === "range") {
|
|
1241
1253
|
const M = le(p) ? p : { from: void 0, to: void 0 };
|
|
1242
1254
|
if (!M.from || M.from && M.to)
|
|
1243
|
-
x({ from:
|
|
1255
|
+
x({ from: v, to: void 0 });
|
|
1244
1256
|
else {
|
|
1245
|
-
const
|
|
1246
|
-
T <
|
|
1257
|
+
const N = M.from, T = v;
|
|
1258
|
+
T < N ? x({ from: T, to: N }) : (x({ from: N, to: T }), h(!1));
|
|
1247
1259
|
}
|
|
1248
1260
|
} else if (t === "datetime") {
|
|
1249
|
-
const M = p instanceof Date ? p : /* @__PURE__ */ new Date(),
|
|
1250
|
-
|
|
1261
|
+
const M = p instanceof Date ? p : /* @__PURE__ */ new Date(), N = new Date(v);
|
|
1262
|
+
N.setHours(M.getHours()), N.setMinutes(M.getMinutes()), x(N);
|
|
1251
1263
|
} else
|
|
1252
|
-
x(
|
|
1253
|
-
}, w = (
|
|
1254
|
-
const [M,
|
|
1264
|
+
x(v), h(!1);
|
|
1265
|
+
}, w = (v) => {
|
|
1266
|
+
const [M, N] = v.split(":").map(Number);
|
|
1255
1267
|
if (t === "time") {
|
|
1256
1268
|
const T = /* @__PURE__ */ new Date();
|
|
1257
|
-
T.setHours(M,
|
|
1269
|
+
T.setHours(M, N, 0, 0), x(T);
|
|
1258
1270
|
} else if (t === "datetime") {
|
|
1259
1271
|
const T = p instanceof Date ? new Date(p) : /* @__PURE__ */ new Date();
|
|
1260
|
-
T.setHours(M,
|
|
1272
|
+
T.setHours(M, N, 0, 0), x(T);
|
|
1261
1273
|
}
|
|
1262
|
-
}, z =
|
|
1274
|
+
}, z = q(() => {
|
|
1263
1275
|
if (!p) return "";
|
|
1264
1276
|
if (t === "range" && le(p)) {
|
|
1265
|
-
const { from:
|
|
1266
|
-
return
|
|
1277
|
+
const { from: v, to: M } = p;
|
|
1278
|
+
return v ? `${O(v, "MMM d, yyyy")}${M ? ` - ${O(M, "MMM d, yyyy")}` : ""}` : "";
|
|
1267
1279
|
}
|
|
1268
1280
|
if (!(p instanceof Date) || !ye(p)) return "";
|
|
1269
1281
|
switch (t) {
|
|
1270
1282
|
case "date":
|
|
1271
|
-
return
|
|
1283
|
+
return O(p, "MMMM d, yyyy");
|
|
1272
1284
|
case "time":
|
|
1273
|
-
return
|
|
1285
|
+
return O(p, "h:mm aa");
|
|
1274
1286
|
case "datetime":
|
|
1275
|
-
return
|
|
1287
|
+
return O(p, "MMM d, yyyy h:mm aa");
|
|
1276
1288
|
default:
|
|
1277
1289
|
return "";
|
|
1278
1290
|
}
|
|
1279
|
-
}, [p, t]), I = (
|
|
1280
|
-
|
|
1291
|
+
}, [p, t]), I = (v) => {
|
|
1292
|
+
v.stopPropagation(), x(void 0, v);
|
|
1281
1293
|
};
|
|
1282
|
-
return /* @__PURE__ */ f("div", { className: `flex flex-col gap-1.5 w-full relative ${d}`, ref:
|
|
1294
|
+
return /* @__PURE__ */ f("div", { className: `flex flex-col gap-1.5 w-full relative ${d}`, ref: g, ...l, children: [
|
|
1283
1295
|
i && /* @__PURE__ */ f("label", { className: "text-sm font-medium leading-none pl-[3px] mb-[5px]", children: [
|
|
1284
1296
|
i,
|
|
1285
1297
|
c && /* @__PURE__ */ e("span", { className: "text-red-500 ml-1", children: "*" })
|
|
@@ -1289,7 +1301,7 @@ const le = (t) => t !== null && typeof t == "object" && "from" in t, Co = y.forw
|
|
|
1289
1301
|
"button",
|
|
1290
1302
|
{
|
|
1291
1303
|
type: "button",
|
|
1292
|
-
onClick: () =>
|
|
1304
|
+
onClick: () => h(!u),
|
|
1293
1305
|
className: `
|
|
1294
1306
|
flex w-full border border-input bg-background ring-offset-background h-12 px-4 items-center gap-3 rounded-lg cursor-pointer transition-all text-left
|
|
1295
1307
|
focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
|
|
@@ -1323,7 +1335,7 @@ const le = (t) => t !== null && typeof t == "object" && "from" in t, Co = y.forw
|
|
|
1323
1335
|
/* @__PURE__ */ e(
|
|
1324
1336
|
We,
|
|
1325
1337
|
{
|
|
1326
|
-
value: p instanceof Date && ye(p) ?
|
|
1338
|
+
value: p instanceof Date && ye(p) ? O(p, "HH:mm") : "12:00",
|
|
1327
1339
|
onChange: w
|
|
1328
1340
|
}
|
|
1329
1341
|
),
|
|
@@ -1331,7 +1343,7 @@ const le = (t) => t !== null && typeof t == "object" && "from" in t, Co = y.forw
|
|
|
1331
1343
|
"button",
|
|
1332
1344
|
{
|
|
1333
1345
|
type: "button",
|
|
1334
|
-
onClick: () =>
|
|
1346
|
+
onClick: () => h(!1),
|
|
1335
1347
|
className: "text-xs font-bold text-primary hover:underline px-2 py-1 cursor-pointer",
|
|
1336
1348
|
children: "Done"
|
|
1337
1349
|
}
|
|
@@ -1341,7 +1353,7 @@ const le = (t) => t !== null && typeof t == "object" && "from" in t, Co = y.forw
|
|
|
1341
1353
|
"button",
|
|
1342
1354
|
{
|
|
1343
1355
|
type: "button",
|
|
1344
|
-
onClick: () =>
|
|
1356
|
+
onClick: () => h(!1),
|
|
1345
1357
|
className: "text-xs font-bold text-primary hover:underline px-2 py-1 cursor-pointer",
|
|
1346
1358
|
children: "Done"
|
|
1347
1359
|
}
|
|
@@ -1356,51 +1368,51 @@ const So = y.forwardRef(({
|
|
|
1356
1368
|
variant: t = "dropzone",
|
|
1357
1369
|
multiple: r = !1,
|
|
1358
1370
|
accept: o,
|
|
1359
|
-
label:
|
|
1371
|
+
label: a,
|
|
1360
1372
|
description: i,
|
|
1361
|
-
onChange:
|
|
1373
|
+
onChange: s,
|
|
1362
1374
|
maxSize: n,
|
|
1363
1375
|
className: d = "",
|
|
1364
1376
|
...c
|
|
1365
1377
|
}, l) => {
|
|
1366
|
-
const [m, u] = C([]), [
|
|
1367
|
-
if (!
|
|
1378
|
+
const [m, u] = C([]), [h, g] = C(!1), [p, k] = C(null), x = P(null), b = (N) => {
|
|
1379
|
+
if (!N) return;
|
|
1368
1380
|
k(null);
|
|
1369
|
-
const T = Array.from(
|
|
1381
|
+
const T = Array.from(N);
|
|
1370
1382
|
if (n) {
|
|
1371
|
-
const
|
|
1372
|
-
if (
|
|
1373
|
-
k(`File ${
|
|
1383
|
+
const j = T.find((Y) => Y.size > n);
|
|
1384
|
+
if (j) {
|
|
1385
|
+
k(`File ${j.name} is too large. Max size is ${(n / 1024 / 1024).toFixed(1)}MB.`);
|
|
1374
1386
|
return;
|
|
1375
1387
|
}
|
|
1376
1388
|
}
|
|
1377
|
-
const
|
|
1378
|
-
u(
|
|
1379
|
-
}, S = (
|
|
1380
|
-
const T = m.filter((
|
|
1381
|
-
u(T),
|
|
1382
|
-
}, w = (
|
|
1383
|
-
|
|
1389
|
+
const L = r ? [...m, ...T] : [T[0]];
|
|
1390
|
+
u(L), s == null || s(L);
|
|
1391
|
+
}, S = (N) => {
|
|
1392
|
+
const T = m.filter((L, j) => j !== N);
|
|
1393
|
+
u(T), s == null || s(T);
|
|
1394
|
+
}, w = (N) => {
|
|
1395
|
+
N.preventDefault(), g(!0);
|
|
1384
1396
|
}, z = () => {
|
|
1385
|
-
|
|
1386
|
-
}, I = (
|
|
1387
|
-
|
|
1388
|
-
},
|
|
1389
|
-
var
|
|
1390
|
-
(
|
|
1391
|
-
}, M = (
|
|
1392
|
-
if (
|
|
1393
|
-
const T = 1024,
|
|
1394
|
-
return parseFloat((
|
|
1397
|
+
g(!1);
|
|
1398
|
+
}, I = (N) => {
|
|
1399
|
+
N.preventDefault(), g(!1), b(N.dataTransfer.files);
|
|
1400
|
+
}, v = () => {
|
|
1401
|
+
var N;
|
|
1402
|
+
(N = x.current) == null || N.click();
|
|
1403
|
+
}, M = (N) => {
|
|
1404
|
+
if (N === 0) return "0 Bytes";
|
|
1405
|
+
const T = 1024, L = ["Bytes", "KB", "MB", "GB"], j = Math.floor(Math.log(N) / Math.log(T));
|
|
1406
|
+
return parseFloat((N / Math.pow(T, j)).toFixed(2)) + " " + L[j];
|
|
1395
1407
|
};
|
|
1396
1408
|
return /* @__PURE__ */ f("div", { ref: l, className: `flex flex-col gap-4 w-full ${d}`, ...c, children: [
|
|
1397
|
-
|
|
1409
|
+
a && /* @__PURE__ */ e("label", { className: "text-sm font-medium leading-none pl-[3px]", children: a }),
|
|
1398
1410
|
/* @__PURE__ */ e(
|
|
1399
1411
|
"input",
|
|
1400
1412
|
{
|
|
1401
1413
|
type: "file",
|
|
1402
1414
|
ref: x,
|
|
1403
|
-
onChange: (
|
|
1415
|
+
onChange: (N) => b(N.target.files),
|
|
1404
1416
|
multiple: r,
|
|
1405
1417
|
accept: o,
|
|
1406
1418
|
className: "hidden"
|
|
@@ -1408,43 +1420,43 @@ const So = y.forwardRef(({
|
|
|
1408
1420
|
),
|
|
1409
1421
|
t === "button" ? /* @__PURE__ */ f("div", { className: "flex flex-col gap-2 items-start", children: [
|
|
1410
1422
|
/* @__PURE__ */ e(
|
|
1411
|
-
|
|
1423
|
+
B,
|
|
1412
1424
|
{
|
|
1413
1425
|
type: "button",
|
|
1414
1426
|
variant: "outline",
|
|
1415
1427
|
leftIcon: ze,
|
|
1416
|
-
onClick:
|
|
1428
|
+
onClick: v,
|
|
1417
1429
|
children: m.length > 0 ? "Upload More" : "Choose File"
|
|
1418
1430
|
}
|
|
1419
1431
|
),
|
|
1420
|
-
i && /* @__PURE__ */ e(
|
|
1432
|
+
i && /* @__PURE__ */ e(A, { variant: "small", className: "text-muted-foreground", children: i })
|
|
1421
1433
|
] }) : /* @__PURE__ */ f(
|
|
1422
1434
|
"div",
|
|
1423
1435
|
{
|
|
1424
1436
|
onDragOver: w,
|
|
1425
1437
|
onDragLeave: z,
|
|
1426
1438
|
onDrop: I,
|
|
1427
|
-
onClick:
|
|
1439
|
+
onClick: v,
|
|
1428
1440
|
className: `
|
|
1429
1441
|
relative flex flex-col items-center justify-center w-full min-h-[200px] p-8
|
|
1430
1442
|
border-2 border-dashed rounded-xl transition-all cursor-pointer group
|
|
1431
|
-
${
|
|
1443
|
+
${h ? "border-primary bg-primary/5 scale-[0.99] shadow-inner" : "border-border hover:border-primary/50 hover:bg-accent/30"}
|
|
1432
1444
|
`,
|
|
1433
1445
|
children: [
|
|
1434
1446
|
/* @__PURE__ */ e("div", { className: `
|
|
1435
1447
|
p-4 rounded-full bg-accent/50 mb-4 transition-transform duration-300
|
|
1436
|
-
${
|
|
1448
|
+
${h ? "scale-110" : "group-hover:scale-105"}
|
|
1437
1449
|
`, children: /* @__PURE__ */ e(
|
|
1438
1450
|
ct,
|
|
1439
1451
|
{
|
|
1440
|
-
className: `w-8 h-8 transition-colors ${
|
|
1452
|
+
className: `w-8 h-8 transition-colors ${h ? "text-primary" : "text-muted-foreground group-hover:text-primary/70"}`
|
|
1441
1453
|
}
|
|
1442
1454
|
) }),
|
|
1443
1455
|
/* @__PURE__ */ f("div", { className: "text-center", children: [
|
|
1444
|
-
/* @__PURE__ */ e(
|
|
1445
|
-
/* @__PURE__ */ e(
|
|
1456
|
+
/* @__PURE__ */ e(A, { className: "font-semibold mb-1", children: "Click to upload or drag and drop" }),
|
|
1457
|
+
/* @__PURE__ */ e(A, { variant: "small", className: "text-muted-foreground", children: i || (o ? `Accepted formats: ${o}` : "All file types supported") })
|
|
1446
1458
|
] }),
|
|
1447
|
-
|
|
1459
|
+
h && /* @__PURE__ */ e("div", { className: "absolute inset-0 bg-primary/5 rounded-xl pointer-events-none flex items-center justify-center", children: /* @__PURE__ */ f("div", { className: "bg-background px-4 py-2 rounded-full shadow-lg border border-primary/20 flex items-center gap-2", children: [
|
|
1448
1460
|
/* @__PURE__ */ e(ut, { className: "w-4 h-4 text-primary" }),
|
|
1449
1461
|
/* @__PURE__ */ e("span", { className: "text-sm font-medium text-primary", children: "Drop to upload" })
|
|
1450
1462
|
] }) })
|
|
@@ -1455,22 +1467,22 @@ const So = y.forwardRef(({
|
|
|
1455
1467
|
/* @__PURE__ */ e(Me, { size: 14 }),
|
|
1456
1468
|
p
|
|
1457
1469
|
] }),
|
|
1458
|
-
m.length > 0 && /* @__PURE__ */ e("div", { className: "space-y-2 mt-2", children: m.map((
|
|
1470
|
+
m.length > 0 && /* @__PURE__ */ e("div", { className: "space-y-2 mt-2", children: m.map((N, T) => /* @__PURE__ */ f(
|
|
1459
1471
|
"div",
|
|
1460
1472
|
{
|
|
1461
1473
|
className: "group flex items-center gap-3 p-3 rounded-lg border border-border bg-card hover:bg-accent/20 transition-all duration-200",
|
|
1462
1474
|
children: [
|
|
1463
1475
|
/* @__PURE__ */ e("div", { className: "p-2 rounded-md bg-accent/50 text-primary", children: /* @__PURE__ */ e(Re, { size: 18 }) }),
|
|
1464
1476
|
/* @__PURE__ */ f("div", { className: "flex-1 min-w-0", children: [
|
|
1465
|
-
/* @__PURE__ */ e("p", { className: "text-sm font-medium truncate", children:
|
|
1466
|
-
/* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: M(
|
|
1477
|
+
/* @__PURE__ */ e("p", { className: "text-sm font-medium truncate", children: N.name }),
|
|
1478
|
+
/* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: M(N.size) })
|
|
1467
1479
|
] }),
|
|
1468
1480
|
/* @__PURE__ */ e(
|
|
1469
1481
|
"button",
|
|
1470
1482
|
{
|
|
1471
1483
|
type: "button",
|
|
1472
|
-
onClick: (
|
|
1473
|
-
|
|
1484
|
+
onClick: (L) => {
|
|
1485
|
+
L.stopPropagation(), S(T);
|
|
1474
1486
|
},
|
|
1475
1487
|
className: "p-1.5 rounded-md text-muted-foreground hover:text-red-500 hover:bg-red-50 transition-colors cursor-pointer",
|
|
1476
1488
|
children: /* @__PURE__ */ e(oe, { size: 16 })
|
|
@@ -1478,7 +1490,7 @@ const So = y.forwardRef(({
|
|
|
1478
1490
|
)
|
|
1479
1491
|
]
|
|
1480
1492
|
},
|
|
1481
|
-
`${
|
|
1493
|
+
`${N.name}-${T}`
|
|
1482
1494
|
)) })
|
|
1483
1495
|
] });
|
|
1484
1496
|
});
|
|
@@ -1589,16 +1601,16 @@ const pe = (...t) => t.filter(Boolean).join(" "), To = {
|
|
|
1589
1601
|
12: "2xl:w-full",
|
|
1590
1602
|
auto: "2xl:w-auto"
|
|
1591
1603
|
}
|
|
1592
|
-
},
|
|
1593
|
-
var
|
|
1594
|
-
return t === void 0 ? "" : ((
|
|
1604
|
+
}, G = (t, r = "base") => {
|
|
1605
|
+
var a;
|
|
1606
|
+
return t === void 0 ? "" : ((a = To[r === "" ? "base" : r]) == null ? void 0 : a[t]) || "";
|
|
1595
1607
|
}, _e = y.createContext({
|
|
1596
1608
|
gutter: [0, 0]
|
|
1597
1609
|
}), Ge = y.forwardRef(({
|
|
1598
1610
|
children: t,
|
|
1599
1611
|
className: r,
|
|
1600
1612
|
fluid: o = !1,
|
|
1601
|
-
...
|
|
1613
|
+
...a
|
|
1602
1614
|
}, i) => /* @__PURE__ */ e(
|
|
1603
1615
|
"div",
|
|
1604
1616
|
{
|
|
@@ -1609,18 +1621,18 @@ const pe = (...t) => t.filter(Boolean).join(" "), To = {
|
|
|
1609
1621
|
o && "w-full",
|
|
1610
1622
|
r
|
|
1611
1623
|
),
|
|
1612
|
-
...
|
|
1624
|
+
...a,
|
|
1613
1625
|
children: t
|
|
1614
1626
|
}
|
|
1615
1627
|
));
|
|
1616
1628
|
Ge.displayName = "Grid";
|
|
1617
|
-
const
|
|
1629
|
+
const qe = y.forwardRef(({
|
|
1618
1630
|
children: t,
|
|
1619
1631
|
className: r,
|
|
1620
1632
|
justify: o = "start",
|
|
1621
|
-
align:
|
|
1633
|
+
align: a = "top",
|
|
1622
1634
|
gutter: i = 0,
|
|
1623
|
-
style:
|
|
1635
|
+
style: s,
|
|
1624
1636
|
...n
|
|
1625
1637
|
}, d) => {
|
|
1626
1638
|
const c = {
|
|
@@ -1635,12 +1647,12 @@ const Ke = y.forwardRef(({
|
|
|
1635
1647
|
middle: "items-center",
|
|
1636
1648
|
bottom: "items-end",
|
|
1637
1649
|
stretch: "items-stretch"
|
|
1638
|
-
}, m = Array.isArray(i) ? i : [i, i], [u,
|
|
1639
|
-
marginLeft: `-${
|
|
1640
|
-
marginRight: `-${
|
|
1641
|
-
marginTop: `-${h
|
|
1642
|
-
marginBottom: `-${h
|
|
1643
|
-
...
|
|
1650
|
+
}, m = Array.isArray(i) ? i : [i, i], [u, h] = m, g = (k) => k * 0.25, p = {
|
|
1651
|
+
marginLeft: `-${g(u) / 2}rem`,
|
|
1652
|
+
marginRight: `-${g(u) / 2}rem`,
|
|
1653
|
+
marginTop: `-${g(h) / 2}rem`,
|
|
1654
|
+
marginBottom: `-${g(h) / 2}rem`,
|
|
1655
|
+
...s
|
|
1644
1656
|
};
|
|
1645
1657
|
return /* @__PURE__ */ e(_e.Provider, { value: { gutter: m }, children: /* @__PURE__ */ e(
|
|
1646
1658
|
"div",
|
|
@@ -1649,7 +1661,7 @@ const Ke = y.forwardRef(({
|
|
|
1649
1661
|
className: pe(
|
|
1650
1662
|
"flex flex-wrap",
|
|
1651
1663
|
c[o],
|
|
1652
|
-
l[
|
|
1664
|
+
l[a],
|
|
1653
1665
|
r
|
|
1654
1666
|
),
|
|
1655
1667
|
style: p,
|
|
@@ -1658,23 +1670,23 @@ const Ke = y.forwardRef(({
|
|
|
1658
1670
|
}
|
|
1659
1671
|
) });
|
|
1660
1672
|
});
|
|
1661
|
-
|
|
1662
|
-
const
|
|
1673
|
+
qe.displayName = "Grid.Row";
|
|
1674
|
+
const Xe = y.forwardRef(({
|
|
1663
1675
|
children: t,
|
|
1664
1676
|
className: r,
|
|
1665
1677
|
span: o,
|
|
1666
|
-
offset:
|
|
1678
|
+
offset: a,
|
|
1667
1679
|
xs: i,
|
|
1668
|
-
sm:
|
|
1680
|
+
sm: s,
|
|
1669
1681
|
md: n,
|
|
1670
1682
|
lg: d,
|
|
1671
1683
|
xl: c,
|
|
1672
1684
|
"2xl": l,
|
|
1673
1685
|
flex: m,
|
|
1674
1686
|
style: u,
|
|
1675
|
-
...
|
|
1676
|
-
},
|
|
1677
|
-
const { gutter: p } =
|
|
1687
|
+
...h
|
|
1688
|
+
}, g) => {
|
|
1689
|
+
const { gutter: p } = U(_e), [k, x] = p, b = (w) => w * 0.25, S = {
|
|
1678
1690
|
...u,
|
|
1679
1691
|
paddingLeft: `${b(k) / 2}rem`,
|
|
1680
1692
|
paddingRight: `${b(k) / 2}rem`,
|
|
@@ -1685,40 +1697,40 @@ const qe = y.forwardRef(({
|
|
|
1685
1697
|
return /* @__PURE__ */ e(
|
|
1686
1698
|
"div",
|
|
1687
1699
|
{
|
|
1688
|
-
ref:
|
|
1700
|
+
ref: g,
|
|
1689
1701
|
className: pe(
|
|
1690
1702
|
"relative max-w-full",
|
|
1691
1703
|
// max-w-full ensures it doesn't overflow flex container
|
|
1692
1704
|
!m && "flex-none",
|
|
1693
1705
|
// Ensure we respect width classes unless flex is overridden
|
|
1694
1706
|
// Base
|
|
1695
|
-
o !== void 0 ?
|
|
1707
|
+
o !== void 0 ? G(o) : !i && !s && !n && !d && !c && !l ? "w-full" : "",
|
|
1696
1708
|
// Responsive
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1709
|
+
G(i, "xs"),
|
|
1710
|
+
G(s, "sm"),
|
|
1711
|
+
G(n, "md"),
|
|
1712
|
+
G(d, "lg"),
|
|
1713
|
+
G(c, "xl"),
|
|
1714
|
+
G(l, "2xl"),
|
|
1703
1715
|
r
|
|
1704
1716
|
),
|
|
1705
1717
|
style: {
|
|
1706
1718
|
...S,
|
|
1707
1719
|
// Handle Legacy/Base Offset via inline style for precision (since classes might be missing)
|
|
1708
|
-
marginLeft: typeof
|
|
1720
|
+
marginLeft: typeof a == "number" ? `${a / 12 * 100}%` : void 0
|
|
1709
1721
|
},
|
|
1710
|
-
...
|
|
1722
|
+
...h,
|
|
1711
1723
|
children: t
|
|
1712
1724
|
}
|
|
1713
1725
|
);
|
|
1714
1726
|
});
|
|
1715
|
-
|
|
1727
|
+
Xe.displayName = "Grid.Col";
|
|
1716
1728
|
const nn = Object.assign(Ge, {
|
|
1717
|
-
Row:
|
|
1718
|
-
Col:
|
|
1729
|
+
Row: qe,
|
|
1730
|
+
Col: Xe
|
|
1719
1731
|
}), ve = {
|
|
1720
1732
|
user: ke,
|
|
1721
|
-
settings:
|
|
1733
|
+
settings: Lr,
|
|
1722
1734
|
bell: Dr,
|
|
1723
1735
|
search: Fr,
|
|
1724
1736
|
mail: Ir,
|
|
@@ -1730,7 +1742,7 @@ const nn = Object.assign(Ge, {
|
|
|
1730
1742
|
close: oe,
|
|
1731
1743
|
menu: Sr,
|
|
1732
1744
|
maximize: Cr,
|
|
1733
|
-
"chevron-right":
|
|
1745
|
+
"chevron-right": K,
|
|
1734
1746
|
"chevron-left": re,
|
|
1735
1747
|
"chevron-down": ne,
|
|
1736
1748
|
"chevron-up": ce,
|
|
@@ -1742,12 +1754,12 @@ const nn = Object.assign(Ge, {
|
|
|
1742
1754
|
upload: ze,
|
|
1743
1755
|
"external-link": yr,
|
|
1744
1756
|
lock: xr,
|
|
1745
|
-
unlock:
|
|
1757
|
+
unlock: gr,
|
|
1746
1758
|
eye: Ce,
|
|
1747
1759
|
"eye-off": $e,
|
|
1748
1760
|
calendar: Te,
|
|
1749
1761
|
clock: Se,
|
|
1750
|
-
"map-pin":
|
|
1762
|
+
"map-pin": hr,
|
|
1751
1763
|
phone: br,
|
|
1752
1764
|
layout: pr,
|
|
1753
1765
|
type: fr,
|
|
@@ -1766,14 +1778,14 @@ const nn = Object.assign(Ge, {
|
|
|
1766
1778
|
filter: rr,
|
|
1767
1779
|
sun: tr,
|
|
1768
1780
|
moon: er,
|
|
1769
|
-
tag:
|
|
1770
|
-
dashboard:
|
|
1771
|
-
analytics:
|
|
1772
|
-
users:
|
|
1781
|
+
tag: Kt,
|
|
1782
|
+
dashboard: Jt,
|
|
1783
|
+
analytics: Qt,
|
|
1784
|
+
users: Zt,
|
|
1773
1785
|
file: Re,
|
|
1774
|
-
folder:
|
|
1775
|
-
image:
|
|
1776
|
-
video:
|
|
1786
|
+
folder: Yt,
|
|
1787
|
+
image: Xt,
|
|
1788
|
+
video: qt,
|
|
1777
1789
|
cloud: Gt,
|
|
1778
1790
|
database: _t,
|
|
1779
1791
|
server: Wt,
|
|
@@ -1782,11 +1794,11 @@ const nn = Object.assign(Ge, {
|
|
|
1782
1794
|
battery: Ot,
|
|
1783
1795
|
power: Ht,
|
|
1784
1796
|
bookmark: Bt,
|
|
1785
|
-
star:
|
|
1786
|
-
heart:
|
|
1797
|
+
star: At,
|
|
1798
|
+
heart: Et,
|
|
1787
1799
|
"thumbs-up": jt,
|
|
1788
|
-
"thumbs-down":
|
|
1789
|
-
share:
|
|
1800
|
+
"thumbs-down": Pt,
|
|
1801
|
+
share: Lt,
|
|
1790
1802
|
link: Dt,
|
|
1791
1803
|
globe: Ft,
|
|
1792
1804
|
cart: It,
|
|
@@ -1803,20 +1815,20 @@ const nn = Object.assign(Ge, {
|
|
|
1803
1815
|
refresh: wt,
|
|
1804
1816
|
login: yt,
|
|
1805
1817
|
shapes: xt,
|
|
1806
|
-
layers:
|
|
1807
|
-
"rectangle-horizontal":
|
|
1818
|
+
layers: gt,
|
|
1819
|
+
"rectangle-horizontal": ht,
|
|
1808
1820
|
"picture-in-picture-2": bt,
|
|
1809
1821
|
"panel-top-dashed": pt,
|
|
1810
1822
|
"clock-fading": ft,
|
|
1811
1823
|
command: mt
|
|
1812
|
-
}, be = y.forwardRef(({ name: t, customIcon: r, className: o, size:
|
|
1824
|
+
}, be = y.forwardRef(({ name: t, customIcon: r, className: o, size: a = 24, ...i }, s) => {
|
|
1813
1825
|
if (r)
|
|
1814
1826
|
return /* @__PURE__ */ e(
|
|
1815
1827
|
r,
|
|
1816
1828
|
{
|
|
1817
|
-
size:
|
|
1829
|
+
size: a,
|
|
1818
1830
|
className: o,
|
|
1819
|
-
ref:
|
|
1831
|
+
ref: s,
|
|
1820
1832
|
...i
|
|
1821
1833
|
}
|
|
1822
1834
|
);
|
|
@@ -1825,9 +1837,9 @@ const nn = Object.assign(Ge, {
|
|
|
1825
1837
|
return /* @__PURE__ */ e(
|
|
1826
1838
|
n,
|
|
1827
1839
|
{
|
|
1828
|
-
size:
|
|
1840
|
+
size: a,
|
|
1829
1841
|
className: o,
|
|
1830
|
-
ref:
|
|
1842
|
+
ref: s,
|
|
1831
1843
|
...i
|
|
1832
1844
|
}
|
|
1833
1845
|
);
|
|
@@ -1835,7 +1847,7 @@ const nn = Object.assign(Ge, {
|
|
|
1835
1847
|
return null;
|
|
1836
1848
|
});
|
|
1837
1849
|
be.displayName = "Icon";
|
|
1838
|
-
const zo = y.forwardRef(({ keys: t, className: r = "", ...o },
|
|
1850
|
+
const zo = y.forwardRef(({ keys: t, className: r = "", ...o }, a) => /* @__PURE__ */ e("div", { ref: a, className: `flex items-center gap-1 ${r}`, ...o, children: t.map((i, s) => /* @__PURE__ */ e(
|
|
1839
1851
|
"kbd",
|
|
1840
1852
|
{
|
|
1841
1853
|
className: `
|
|
@@ -1860,62 +1872,62 @@ const zo = y.forwardRef(({ keys: t, className: r = "", ...o }, s) => /* @__PURE_
|
|
|
1860
1872
|
`,
|
|
1861
1873
|
children: /* @__PURE__ */ e("span", { className: `uppercase ${i === "⌘" ? "text-sm" : "text-xs"}`, children: i })
|
|
1862
1874
|
},
|
|
1863
|
-
|
|
1875
|
+
s
|
|
1864
1876
|
)) }));
|
|
1865
1877
|
zo.displayName = "KeyboardShortcut";
|
|
1866
|
-
const
|
|
1867
|
-
({ children: t, className: r = "", ...o },
|
|
1878
|
+
const V = (...t) => t.filter(Boolean).join(" "), Ye = y.forwardRef(
|
|
1879
|
+
({ children: t, className: r = "", ...o }, a) => /* @__PURE__ */ e(
|
|
1868
1880
|
"div",
|
|
1869
1881
|
{
|
|
1870
|
-
ref:
|
|
1871
|
-
className:
|
|
1882
|
+
ref: a,
|
|
1883
|
+
className: V("flex flex-col min-h-0 w-full bg-background text-foreground", r),
|
|
1872
1884
|
...o,
|
|
1873
1885
|
children: t
|
|
1874
1886
|
}
|
|
1875
1887
|
)
|
|
1876
1888
|
);
|
|
1877
|
-
|
|
1878
|
-
const
|
|
1879
|
-
({ children: t, className: r = "", ...o },
|
|
1889
|
+
Ye.displayName = "Layout";
|
|
1890
|
+
const Ze = y.forwardRef(
|
|
1891
|
+
({ children: t, className: r = "", ...o }, a) => /* @__PURE__ */ e(
|
|
1880
1892
|
"header",
|
|
1881
1893
|
{
|
|
1882
|
-
ref:
|
|
1883
|
-
className:
|
|
1894
|
+
ref: a,
|
|
1895
|
+
className: V("flex-none h-16 flex items-center px-6 border-b border-border bg-card", r),
|
|
1884
1896
|
...o,
|
|
1885
1897
|
children: t
|
|
1886
1898
|
}
|
|
1887
1899
|
)
|
|
1888
1900
|
);
|
|
1889
|
-
|
|
1890
|
-
const
|
|
1891
|
-
({ children: t, className: r = "", ...o },
|
|
1901
|
+
Ze.displayName = "Layout.Header";
|
|
1902
|
+
const Qe = y.forwardRef(
|
|
1903
|
+
({ children: t, className: r = "", ...o }, a) => /* @__PURE__ */ e(
|
|
1892
1904
|
"footer",
|
|
1893
1905
|
{
|
|
1894
|
-
ref:
|
|
1895
|
-
className:
|
|
1906
|
+
ref: a,
|
|
1907
|
+
className: V("flex-none py-6 px-6 border-t border-border bg-card", r),
|
|
1896
1908
|
...o,
|
|
1897
1909
|
children: t
|
|
1898
1910
|
}
|
|
1899
1911
|
)
|
|
1900
1912
|
);
|
|
1901
|
-
|
|
1902
|
-
const
|
|
1903
|
-
({ children: t, className: r = "", width: o = "w-64", collapsed:
|
|
1904
|
-
const m = o.startsWith("w-"), u = i.startsWith("w-"),
|
|
1905
|
-
...
|
|
1906
|
-
width: !m && !
|
|
1913
|
+
Qe.displayName = "Layout.Footer";
|
|
1914
|
+
const Je = y.forwardRef(
|
|
1915
|
+
({ children: t, className: r = "", width: o = "w-64", collapsed: a = !1, collapsedWidth: i = "w-16", style: s, navigation: n, onCollapse: d, ...c }, l) => {
|
|
1916
|
+
const m = o.startsWith("w-"), u = i.startsWith("w-"), h = a ? u ? i : "" : m ? o : "", g = {
|
|
1917
|
+
...s,
|
|
1918
|
+
width: !m && !a ? o : !u && a ? i : void 0
|
|
1907
1919
|
};
|
|
1908
1920
|
return /* @__PURE__ */ f(
|
|
1909
1921
|
"aside",
|
|
1910
1922
|
{
|
|
1911
1923
|
ref: l,
|
|
1912
|
-
className:
|
|
1924
|
+
className: V(
|
|
1913
1925
|
"flex-none border-r border-border bg-card flex flex-col transition-all duration-300 ease-in-out",
|
|
1914
|
-
|
|
1915
|
-
|
|
1926
|
+
h,
|
|
1927
|
+
a && "overflow-hidden",
|
|
1916
1928
|
r
|
|
1917
1929
|
),
|
|
1918
|
-
style:
|
|
1930
|
+
style: g,
|
|
1919
1931
|
...c,
|
|
1920
1932
|
children: [
|
|
1921
1933
|
/* @__PURE__ */ f("div", { className: "flex-1 overflow-y-auto overflow-x-hidden py-4", children: [
|
|
@@ -1923,10 +1935,10 @@ const Qe = y.forwardRef(
|
|
|
1923
1935
|
if ("divider" in p)
|
|
1924
1936
|
return /* @__PURE__ */ e("div", { className: "my-4 border-t border-border mx-2" }, k);
|
|
1925
1937
|
if ("header" in p)
|
|
1926
|
-
return
|
|
1927
|
-
const x = p.icon, b = /* @__PURE__ */ f("div", { className:
|
|
1938
|
+
return a ? null : /* @__PURE__ */ e("div", { className: "px-3 py-2 mt-4 first:mt-0", children: /* @__PURE__ */ e("span", { className: "text-[11px] font-bold uppercase tracking-wider text-muted-foreground", children: p.header }) }, k);
|
|
1939
|
+
const x = p.icon, b = /* @__PURE__ */ f("div", { className: V(
|
|
1928
1940
|
"flex items-center rounded-md transition-colors py-2 group min-h-[36px]",
|
|
1929
|
-
|
|
1941
|
+
a ? "justify-center px-0" : "px-3 gap-3",
|
|
1930
1942
|
p.isActive ? "bg-accent/50 text-accent-foreground font-medium" : "text-muted-foreground hover:text-foreground hover:bg-muted/50"
|
|
1931
1943
|
), children: [
|
|
1932
1944
|
(p.iconName || x) && /* @__PURE__ */ e(
|
|
@@ -1935,7 +1947,7 @@ const Qe = y.forwardRef(
|
|
|
1935
1947
|
name: p.iconName,
|
|
1936
1948
|
customIcon: x,
|
|
1937
1949
|
size: 20,
|
|
1938
|
-
className:
|
|
1950
|
+
className: V(
|
|
1939
1951
|
"shrink-0",
|
|
1940
1952
|
p.iconColor,
|
|
1941
1953
|
p.isActive && "text-primary"
|
|
@@ -1943,9 +1955,9 @@ const Qe = y.forwardRef(
|
|
|
1943
1955
|
"aria-hidden": "true"
|
|
1944
1956
|
}
|
|
1945
1957
|
),
|
|
1946
|
-
/* @__PURE__ */ e("span", { className:
|
|
1958
|
+
/* @__PURE__ */ e("span", { className: V(
|
|
1947
1959
|
"truncate transition-all duration-300",
|
|
1948
|
-
|
|
1960
|
+
a ? "w-0 opacity-0 overflow-hidden absolute" : "w-auto opacity-100 relative"
|
|
1949
1961
|
), children: p.label })
|
|
1950
1962
|
] }), S = p.href ? /* @__PURE__ */ e(
|
|
1951
1963
|
"a",
|
|
@@ -1963,17 +1975,17 @@ const Qe = y.forwardRef(
|
|
|
1963
1975
|
children: b
|
|
1964
1976
|
}
|
|
1965
1977
|
);
|
|
1966
|
-
return
|
|
1978
|
+
return a ? /* @__PURE__ */ e(X, { content: p.label, position: "right", className: "w-full block", children: S }, k) : /* @__PURE__ */ e(y.Fragment, { children: S }, k);
|
|
1967
1979
|
}) }),
|
|
1968
1980
|
t
|
|
1969
1981
|
] }),
|
|
1970
1982
|
d && /* @__PURE__ */ e(
|
|
1971
1983
|
"button",
|
|
1972
1984
|
{
|
|
1973
|
-
onClick: () => d(!
|
|
1985
|
+
onClick: () => d(!a),
|
|
1974
1986
|
className: "flex flex-none items-center justify-center h-9 w-full border-t border-border/50 hover:bg-muted/50 transition-colors text-muted-foreground hover:text-foreground focus:outline-none cursor-pointer mt-auto",
|
|
1975
|
-
"aria-label":
|
|
1976
|
-
children:
|
|
1987
|
+
"aria-label": a ? "Expand sidebar" : "Collapse sidebar",
|
|
1988
|
+
children: a ? /* @__PURE__ */ e(K, { size: 16 }) : /* @__PURE__ */ e(re, { size: 16 })
|
|
1977
1989
|
}
|
|
1978
1990
|
)
|
|
1979
1991
|
]
|
|
@@ -1981,44 +1993,44 @@ const Qe = y.forwardRef(
|
|
|
1981
1993
|
);
|
|
1982
1994
|
}
|
|
1983
1995
|
);
|
|
1984
|
-
|
|
1985
|
-
const
|
|
1986
|
-
({ children: t, className: r = "", ...o },
|
|
1996
|
+
Je.displayName = "Layout.Sider";
|
|
1997
|
+
const Ke = y.forwardRef(
|
|
1998
|
+
({ children: t, className: r = "", ...o }, a) => /* @__PURE__ */ e(
|
|
1987
1999
|
"main",
|
|
1988
2000
|
{
|
|
1989
|
-
ref:
|
|
1990
|
-
className:
|
|
2001
|
+
ref: a,
|
|
2002
|
+
className: V("flex-1 overflow-y-auto p-6", r),
|
|
1991
2003
|
...o,
|
|
1992
2004
|
children: t
|
|
1993
2005
|
}
|
|
1994
2006
|
)
|
|
1995
2007
|
);
|
|
1996
|
-
|
|
1997
|
-
const an = Object.assign(
|
|
1998
|
-
Header:
|
|
1999
|
-
Footer:
|
|
2000
|
-
Sider:
|
|
2001
|
-
Content:
|
|
2008
|
+
Ke.displayName = "Layout.Content";
|
|
2009
|
+
const an = Object.assign(Ye, {
|
|
2010
|
+
Header: Ze,
|
|
2011
|
+
Footer: Qe,
|
|
2012
|
+
Sider: Je,
|
|
2013
|
+
Content: Ke
|
|
2002
2014
|
}), Mo = y.forwardRef(({
|
|
2003
2015
|
content: t,
|
|
2004
2016
|
className: r = "",
|
|
2005
2017
|
...o
|
|
2006
|
-
},
|
|
2007
|
-
const { syntaxThemeStyle: i } =
|
|
2008
|
-
return /* @__PURE__ */ e("div", { ref:
|
|
2018
|
+
}, a) => {
|
|
2019
|
+
const { syntaxThemeStyle: i } = Ae();
|
|
2020
|
+
return /* @__PURE__ */ e("div", { ref: a, className: `text-foreground leading-relaxed ${r}`, ...o, children: /* @__PURE__ */ e(
|
|
2009
2021
|
mo,
|
|
2010
2022
|
{
|
|
2011
2023
|
components: {
|
|
2012
|
-
h1: ({ node:
|
|
2013
|
-
h2: ({ node:
|
|
2014
|
-
h3: ({ node:
|
|
2015
|
-
p: ({ node:
|
|
2016
|
-
ul: ({ node:
|
|
2017
|
-
ol: ({ node:
|
|
2018
|
-
blockquote: ({ node:
|
|
2019
|
-
a: ({ node:
|
|
2020
|
-
code(
|
|
2021
|
-
const { children: n, className: d, node: c, ...l } =
|
|
2024
|
+
h1: ({ node: s, ...n }) => /* @__PURE__ */ e("h1", { className: "text-3xl font-bold mt-8 mb-4 border-b border-border pb-2", ...n }),
|
|
2025
|
+
h2: ({ node: s, ...n }) => /* @__PURE__ */ e("h2", { className: "text-2xl font-semibold mt-6 mb-4", ...n }),
|
|
2026
|
+
h3: ({ node: s, ...n }) => /* @__PURE__ */ e("h3", { className: "text-xl font-semibold mt-4 mb-2", ...n }),
|
|
2027
|
+
p: ({ node: s, ...n }) => /* @__PURE__ */ e("p", { className: "mb-4 text-muted-foreground", ...n }),
|
|
2028
|
+
ul: ({ node: s, ...n }) => /* @__PURE__ */ e("ul", { className: "list-disc pl-6 mb-4 space-y-1 text-muted-foreground", ...n }),
|
|
2029
|
+
ol: ({ node: s, ...n }) => /* @__PURE__ */ e("ol", { className: "list-decimal pl-6 mb-4 space-y-1 text-muted-foreground", ...n }),
|
|
2030
|
+
blockquote: ({ node: s, ...n }) => /* @__PURE__ */ e("blockquote", { className: "border-l-4 border-primary pl-4 italic my-4 text-muted-foreground", ...n }),
|
|
2031
|
+
a: ({ node: s, ...n }) => /* @__PURE__ */ e("a", { className: "text-primary hover:underline cursor-pointer", ...n }),
|
|
2032
|
+
code(s) {
|
|
2033
|
+
const { children: n, className: d, node: c, ...l } = s, m = /language-(\w+)/.exec(d || "");
|
|
2022
2034
|
return m ? /* @__PURE__ */ e("div", { className: "my-4 rounded-md overflow-hidden", children: /* @__PURE__ */ e(
|
|
2023
2035
|
Ie,
|
|
2024
2036
|
{
|
|
@@ -2037,26 +2049,26 @@ const an = Object.assign(Xe, {
|
|
|
2037
2049
|
) });
|
|
2038
2050
|
});
|
|
2039
2051
|
Mo.displayName = "MarkdownRenderer";
|
|
2040
|
-
const te = (...t) => t.filter(Boolean).join(" "), Ro = y.forwardRef(({ items: t, collapsed: r = !1, className: o, ...
|
|
2041
|
-
if ("divider" in
|
|
2052
|
+
const te = (...t) => t.filter(Boolean).join(" "), Ro = y.forwardRef(({ items: t, collapsed: r = !1, className: o, ...a }, i) => /* @__PURE__ */ e("div", { ref: i, className: te("space-y-1 px-3", r && "pt-2", o), ...a, children: t.map((s, n) => {
|
|
2053
|
+
if ("divider" in s)
|
|
2042
2054
|
return /* @__PURE__ */ e("div", { className: "my-4 border-t border-border mx-2" }, n);
|
|
2043
|
-
if ("header" in
|
|
2044
|
-
return r ? null : /* @__PURE__ */ e("div", { className: "px-3 py-2 mt-4 first:mt-0", children: /* @__PURE__ */ e("span", { className: "text-[11px] font-bold uppercase tracking-wider text-muted-foreground", children:
|
|
2045
|
-
const d =
|
|
2055
|
+
if ("header" in s)
|
|
2056
|
+
return r ? null : /* @__PURE__ */ e("div", { className: "px-3 py-2 mt-4 first:mt-0", children: /* @__PURE__ */ e("span", { className: "text-[11px] font-bold uppercase tracking-wider text-muted-foreground", children: s.header }) }, n);
|
|
2057
|
+
const d = s.icon, c = /* @__PURE__ */ f("div", { className: te(
|
|
2046
2058
|
"flex items-center rounded-md transition-colors py-2 group min-h-[36px]",
|
|
2047
2059
|
r ? "justify-center px-0" : "px-3 gap-3",
|
|
2048
|
-
|
|
2060
|
+
s.isActive ? "bg-secondary text-secondary-foreground font-medium" : "text-muted-foreground hover:text-foreground hover:bg-secondary/50"
|
|
2049
2061
|
), children: [
|
|
2050
|
-
(
|
|
2062
|
+
(s.iconName || d) && /* @__PURE__ */ e(
|
|
2051
2063
|
be,
|
|
2052
2064
|
{
|
|
2053
|
-
name:
|
|
2065
|
+
name: s.iconName,
|
|
2054
2066
|
customIcon: d,
|
|
2055
2067
|
size: 20,
|
|
2056
2068
|
className: te(
|
|
2057
2069
|
"shrink-0",
|
|
2058
|
-
|
|
2059
|
-
|
|
2070
|
+
s.iconColor,
|
|
2071
|
+
s.isActive && "text-primary"
|
|
2060
2072
|
),
|
|
2061
2073
|
"aria-hidden": "true"
|
|
2062
2074
|
}
|
|
@@ -2064,33 +2076,33 @@ const te = (...t) => t.filter(Boolean).join(" "), Ro = y.forwardRef(({ items: t,
|
|
|
2064
2076
|
/* @__PURE__ */ e("span", { className: te(
|
|
2065
2077
|
"truncate transition-all duration-300",
|
|
2066
2078
|
r ? "w-0 opacity-0 overflow-hidden absolute" : "w-auto opacity-100 relative"
|
|
2067
|
-
), children:
|
|
2068
|
-
] }), l =
|
|
2079
|
+
), children: s.label })
|
|
2080
|
+
] }), l = s.href ? /* @__PURE__ */ e(
|
|
2069
2081
|
"a",
|
|
2070
2082
|
{
|
|
2071
|
-
href:
|
|
2072
|
-
onClick:
|
|
2083
|
+
href: s.href,
|
|
2084
|
+
onClick: s.onClick,
|
|
2073
2085
|
className: "block focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1 rounded-md",
|
|
2074
2086
|
children: c
|
|
2075
2087
|
}
|
|
2076
2088
|
) : /* @__PURE__ */ e(
|
|
2077
2089
|
"button",
|
|
2078
2090
|
{
|
|
2079
|
-
onClick:
|
|
2091
|
+
onClick: s.onClick,
|
|
2080
2092
|
className: "w-full text-left focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1 rounded-md",
|
|
2081
2093
|
children: c
|
|
2082
2094
|
}
|
|
2083
2095
|
);
|
|
2084
|
-
return r ? /* @__PURE__ */ e(
|
|
2096
|
+
return r ? /* @__PURE__ */ e(X, { content: s.label, position: "right", className: "w-full block", children: l }, n) : /* @__PURE__ */ e(y.Fragment, { children: l }, n);
|
|
2085
2097
|
}) }));
|
|
2086
2098
|
Ro.displayName = "Menu";
|
|
2087
2099
|
const Io = y.forwardRef(({
|
|
2088
2100
|
value: t,
|
|
2089
2101
|
max: r = 100,
|
|
2090
2102
|
className: o = "",
|
|
2091
|
-
variant:
|
|
2103
|
+
variant: a = "primary",
|
|
2092
2104
|
size: i = "md",
|
|
2093
|
-
showValue:
|
|
2105
|
+
showValue: s = !1,
|
|
2094
2106
|
...n
|
|
2095
2107
|
}, d) => {
|
|
2096
2108
|
const c = Math.min(Math.max(0, t / r * 100), 100), l = {
|
|
@@ -2104,14 +2116,14 @@ const Io = y.forwardRef(({
|
|
|
2104
2116
|
lg: "h-3"
|
|
2105
2117
|
};
|
|
2106
2118
|
return /* @__PURE__ */ f("div", { ref: d, className: `w-full ${o}`, ...n, children: [
|
|
2107
|
-
/* @__PURE__ */ e("div", { className: "flex items-center justify-between mb-2", children:
|
|
2119
|
+
/* @__PURE__ */ e("div", { className: "flex items-center justify-between mb-2", children: s && /* @__PURE__ */ f("span", { className: "text-xs font-medium text-muted-foreground ml-auto", children: [
|
|
2108
2120
|
Math.round(c),
|
|
2109
2121
|
"%"
|
|
2110
2122
|
] }) }),
|
|
2111
2123
|
/* @__PURE__ */ e("div", { className: `w-full bg-accent dark:bg-secondary rounded-full overflow-hidden ${m[i]}`, children: /* @__PURE__ */ e(
|
|
2112
2124
|
"div",
|
|
2113
2125
|
{
|
|
2114
|
-
className: `h-full w-full flex-1 transition-transform duration-500 ease-out ${l[
|
|
2126
|
+
className: `h-full w-full flex-1 transition-transform duration-500 ease-out ${l[a]}`,
|
|
2115
2127
|
style: { transform: `translateX(-${100 - c}%)` },
|
|
2116
2128
|
role: "progressbar",
|
|
2117
2129
|
"aria-valuenow": t,
|
|
@@ -2122,17 +2134,17 @@ const Io = y.forwardRef(({
|
|
|
2122
2134
|
] });
|
|
2123
2135
|
});
|
|
2124
2136
|
Io.displayName = "Progress";
|
|
2125
|
-
const Fo = y.forwardRef(({ name: t, options: r, value: o, defaultValue:
|
|
2137
|
+
const Fo = y.forwardRef(({ name: t, options: r, value: o, defaultValue: a, onChange: i, className: s = "", ...n }, d) => {
|
|
2126
2138
|
const [c, l] = y.useState(
|
|
2127
|
-
o !== void 0 ? o :
|
|
2139
|
+
o !== void 0 ? o : a
|
|
2128
2140
|
);
|
|
2129
2141
|
y.useEffect(() => {
|
|
2130
2142
|
o !== void 0 && l(o);
|
|
2131
2143
|
}, [o]);
|
|
2132
|
-
const m = (u,
|
|
2133
|
-
o === void 0 && l(u), i == null || i(u,
|
|
2144
|
+
const m = (u, h) => {
|
|
2145
|
+
o === void 0 && l(u), i == null || i(u, h);
|
|
2134
2146
|
};
|
|
2135
|
-
return /* @__PURE__ */ e("div", { ref: d, className: `flex flex-col gap-3 ${
|
|
2147
|
+
return /* @__PURE__ */ e("div", { ref: d, className: `flex flex-col gap-3 ${s}`, ...n, children: r.map((u) => /* @__PURE__ */ f("label", { className: "flex items-center gap-3 cursor-pointer group select-none", children: [
|
|
2136
2148
|
/* @__PURE__ */ f("div", { className: "relative flex items-center justify-center", children: [
|
|
2137
2149
|
/* @__PURE__ */ e(
|
|
2138
2150
|
"input",
|
|
@@ -2141,7 +2153,7 @@ const Fo = y.forwardRef(({ name: t, options: r, value: o, defaultValue: s, onCha
|
|
|
2141
2153
|
name: t,
|
|
2142
2154
|
value: u.value,
|
|
2143
2155
|
checked: c === u.value,
|
|
2144
|
-
onChange: (
|
|
2156
|
+
onChange: (h) => m(u.value, h),
|
|
2145
2157
|
className: "peer sr-only"
|
|
2146
2158
|
}
|
|
2147
2159
|
),
|
|
@@ -2152,14 +2164,14 @@ const Fo = y.forwardRef(({ name: t, options: r, value: o, defaultValue: s, onCha
|
|
|
2152
2164
|
] }, u.value)) });
|
|
2153
2165
|
});
|
|
2154
2166
|
Fo.displayName = "RadioGroup";
|
|
2155
|
-
const de = y.forwardRef(({ label: t, options: r, error: o, className:
|
|
2167
|
+
const de = y.forwardRef(({ label: t, options: r, error: o, className: a = "", ...i }, s) => /* @__PURE__ */ f("div", { className: "flex flex-col gap-1.5 w-full", children: [
|
|
2156
2168
|
t && /* @__PURE__ */ e("label", { className: "text-sm font-medium leading-none pl-[3px] mb-[5px]", children: t }),
|
|
2157
2169
|
/* @__PURE__ */ f("div", { className: "relative", children: [
|
|
2158
2170
|
/* @__PURE__ */ e(
|
|
2159
2171
|
"select",
|
|
2160
2172
|
{
|
|
2161
|
-
ref:
|
|
2162
|
-
className: `appearance-none flex w-full border border-input bg-background ring-offset-background placeholder:text-muted-foreground/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all h-12 px-4 pr-10 text-base rounded-lg cursor-pointer ${
|
|
2173
|
+
ref: s,
|
|
2174
|
+
className: `appearance-none flex w-full border border-input bg-background ring-offset-background placeholder:text-muted-foreground/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all h-12 px-4 pr-10 text-base rounded-lg cursor-pointer ${a}`,
|
|
2163
2175
|
...i,
|
|
2164
2176
|
children: r.map((n) => /* @__PURE__ */ e("option", { value: n.value, children: n.label }, n.value))
|
|
2165
2177
|
}
|
|
@@ -2179,33 +2191,33 @@ const Do = y.forwardRef(({
|
|
|
2179
2191
|
label: t,
|
|
2180
2192
|
min: r = 0,
|
|
2181
2193
|
max: o = 100,
|
|
2182
|
-
step:
|
|
2194
|
+
step: a = 1,
|
|
2183
2195
|
value: i,
|
|
2184
|
-
defaultValue:
|
|
2196
|
+
defaultValue: s,
|
|
2185
2197
|
onChange: n,
|
|
2186
2198
|
className: d = "",
|
|
2187
2199
|
showValue: c = !0,
|
|
2188
2200
|
unit: l = "",
|
|
2189
2201
|
...m
|
|
2190
2202
|
}, u) => {
|
|
2191
|
-
const [
|
|
2192
|
-
i !== void 0 ? i :
|
|
2193
|
-
), p = Array.isArray(
|
|
2194
|
-
|
|
2195
|
-
i !== void 0 &&
|
|
2203
|
+
const [h, g] = C(
|
|
2204
|
+
i !== void 0 ? i : s !== void 0 ? s : 0
|
|
2205
|
+
), p = Array.isArray(h), k = P(null);
|
|
2206
|
+
D(() => {
|
|
2207
|
+
i !== void 0 && g(i);
|
|
2196
2208
|
}, [i]);
|
|
2197
2209
|
const x = (w) => {
|
|
2198
2210
|
const z = parseFloat(w.target.value);
|
|
2199
|
-
|
|
2211
|
+
g(z), n == null || n(z, w);
|
|
2200
2212
|
}, b = (w) => (z) => {
|
|
2201
2213
|
if (!p) return;
|
|
2202
|
-
const I = parseFloat(z.target.value),
|
|
2203
|
-
w === 0 ?
|
|
2214
|
+
const I = parseFloat(z.target.value), v = [...h];
|
|
2215
|
+
w === 0 ? v[0] = Math.min(I, v[1]) : v[1] = Math.max(I, v[0]), g(v), n == null || n(v, z);
|
|
2204
2216
|
}, S = (w) => (w - r) / (o - r) * 100;
|
|
2205
2217
|
return /* @__PURE__ */ f("div", { ref: u, className: `flex flex-col gap-2 w-full ${d}`, ...m, children: [
|
|
2206
2218
|
/* @__PURE__ */ f("div", { className: "flex items-center justify-between", children: [
|
|
2207
2219
|
t && /* @__PURE__ */ e("label", { className: "text-sm font-medium leading-none pl-[3px]", children: t }),
|
|
2208
|
-
c && /* @__PURE__ */ e("span", { className: "text-xs font-medium text-muted-foreground tabular-nums", children: p ? `${
|
|
2220
|
+
c && /* @__PURE__ */ e("span", { className: "text-xs font-medium text-muted-foreground tabular-nums", children: p ? `${h[0]}${l} — ${h[1]}${l}` : `${h}${l}` })
|
|
2209
2221
|
] }),
|
|
2210
2222
|
/* @__PURE__ */ f("div", { className: "relative h-6 flex items-center group", ref: k, children: [
|
|
2211
2223
|
/* @__PURE__ */ e("div", { className: "absolute w-full h-1.5 bg-secondary rounded-full" }),
|
|
@@ -2214,8 +2226,8 @@ const Do = y.forwardRef(({
|
|
|
2214
2226
|
{
|
|
2215
2227
|
className: "absolute h-1.5 bg-primary rounded-full",
|
|
2216
2228
|
style: {
|
|
2217
|
-
left: `${p ? S(
|
|
2218
|
-
right: `${p ? 100 - S(
|
|
2229
|
+
left: `${p ? S(h[0]) : 0}%`,
|
|
2230
|
+
right: `${p ? 100 - S(h[1]) : 100 - S(h)}%`
|
|
2219
2231
|
}
|
|
2220
2232
|
}
|
|
2221
2233
|
),
|
|
@@ -2226,8 +2238,8 @@ const Do = y.forwardRef(({
|
|
|
2226
2238
|
type: "range",
|
|
2227
2239
|
min: r,
|
|
2228
2240
|
max: o,
|
|
2229
|
-
step:
|
|
2230
|
-
value:
|
|
2241
|
+
step: a,
|
|
2242
|
+
value: h[0],
|
|
2231
2243
|
onChange: b(0),
|
|
2232
2244
|
className: `absolute w-full h-1.5 appearance-none bg-transparent pointer-events-none cursor-pointer z-10
|
|
2233
2245
|
[&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-primary [&::-webkit-slider-thumb]:shadow-md [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:active:scale-110
|
|
@@ -2240,8 +2252,8 @@ const Do = y.forwardRef(({
|
|
|
2240
2252
|
type: "range",
|
|
2241
2253
|
min: r,
|
|
2242
2254
|
max: o,
|
|
2243
|
-
step:
|
|
2244
|
-
value:
|
|
2255
|
+
step: a,
|
|
2256
|
+
value: h[1],
|
|
2245
2257
|
onChange: b(1),
|
|
2246
2258
|
className: `absolute w-full h-1.5 appearance-none bg-transparent pointer-events-none cursor-pointer z-20
|
|
2247
2259
|
[&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-primary [&::-webkit-slider-thumb]:shadow-md [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:active:scale-110
|
|
@@ -2254,8 +2266,8 @@ const Do = y.forwardRef(({
|
|
|
2254
2266
|
type: "range",
|
|
2255
2267
|
min: r,
|
|
2256
2268
|
max: o,
|
|
2257
|
-
step:
|
|
2258
|
-
value:
|
|
2269
|
+
step: a,
|
|
2270
|
+
value: h,
|
|
2259
2271
|
onChange: x,
|
|
2260
2272
|
className: `w-full h-1.5 appearance-none bg-transparent cursor-pointer z-10
|
|
2261
2273
|
[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-5 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-white [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-primary [&::-webkit-slider-thumb]:shadow-md [&::-webkit-slider-thumb]:transition-transform [&::-webkit-slider-thumb]:active:scale-110
|
|
@@ -2266,25 +2278,25 @@ const Do = y.forwardRef(({
|
|
|
2266
2278
|
] });
|
|
2267
2279
|
});
|
|
2268
2280
|
Do.displayName = "Slider";
|
|
2269
|
-
const
|
|
2281
|
+
const Lo = (...t) => t.filter(Boolean).join(" "), Po = y.forwardRef(({
|
|
2270
2282
|
children: t,
|
|
2271
2283
|
className: r,
|
|
2272
2284
|
gap: o = 8,
|
|
2273
|
-
direction:
|
|
2285
|
+
direction: a = "horizontal",
|
|
2274
2286
|
align: i,
|
|
2275
|
-
justify:
|
|
2287
|
+
justify: s,
|
|
2276
2288
|
wrap: n = !1,
|
|
2277
2289
|
style: d,
|
|
2278
2290
|
...c
|
|
2279
2291
|
}, l) => {
|
|
2280
|
-
const m = i ? `items-${i}` : "", u =
|
|
2292
|
+
const m = i ? `items-${i}` : "", u = s ? `justify-${s}` : "";
|
|
2281
2293
|
return /* @__PURE__ */ e(
|
|
2282
2294
|
"div",
|
|
2283
2295
|
{
|
|
2284
2296
|
ref: l,
|
|
2285
|
-
className:
|
|
2297
|
+
className: Lo(
|
|
2286
2298
|
"flex",
|
|
2287
|
-
|
|
2299
|
+
a === "vertical" ? "flex-col" : "flex-row",
|
|
2288
2300
|
n && "flex-wrap",
|
|
2289
2301
|
m,
|
|
2290
2302
|
u,
|
|
@@ -2299,10 +2311,10 @@ const Po = (...t) => t.filter(Boolean).join(" "), Lo = y.forwardRef(({
|
|
|
2299
2311
|
}
|
|
2300
2312
|
);
|
|
2301
2313
|
});
|
|
2302
|
-
|
|
2303
|
-
const jo = y.forwardRef(({ label: t, className: r = "", checked: o, defaultChecked:
|
|
2314
|
+
Po.displayName = "Space";
|
|
2315
|
+
const jo = y.forwardRef(({ label: t, className: r = "", checked: o, defaultChecked: a, onChange: i, ...s }, n) => {
|
|
2304
2316
|
const [d, c] = y.useState(
|
|
2305
|
-
o !== void 0 ? o :
|
|
2317
|
+
o !== void 0 ? o : a || !1
|
|
2306
2318
|
);
|
|
2307
2319
|
y.useEffect(() => {
|
|
2308
2320
|
o !== void 0 && c(o);
|
|
@@ -2321,7 +2333,7 @@ const jo = y.forwardRef(({ label: t, className: r = "", checked: o, defaultCheck
|
|
|
2321
2333
|
className: "peer sr-only",
|
|
2322
2334
|
checked: d,
|
|
2323
2335
|
onChange: l,
|
|
2324
|
-
...
|
|
2336
|
+
...s
|
|
2325
2337
|
}
|
|
2326
2338
|
),
|
|
2327
2339
|
/* @__PURE__ */ e("div", { className: "w-10 h-6 bg-input rounded-full transition-colors peer-checked:bg-primary" }),
|
|
@@ -2331,35 +2343,35 @@ const jo = y.forwardRef(({ label: t, className: r = "", checked: o, defaultCheck
|
|
|
2331
2343
|
] });
|
|
2332
2344
|
});
|
|
2333
2345
|
jo.displayName = "Switch";
|
|
2334
|
-
const
|
|
2346
|
+
const Eo = ({
|
|
2335
2347
|
columns: t,
|
|
2336
2348
|
data: r,
|
|
2337
2349
|
pageSize: o = 10,
|
|
2338
|
-
className:
|
|
2350
|
+
className: a = "",
|
|
2339
2351
|
onRowClick: i,
|
|
2340
|
-
emptyMessage:
|
|
2352
|
+
emptyMessage: s = "No data available",
|
|
2341
2353
|
...n
|
|
2342
2354
|
}, d) => {
|
|
2343
2355
|
const [c, l] = C({
|
|
2344
2356
|
key: "",
|
|
2345
2357
|
direction: null
|
|
2346
|
-
}), [m, u] = C(1),
|
|
2358
|
+
}), [m, u] = C(1), h = q(() => !c.key || !c.direction ? r : [...r].sort((b, S) => {
|
|
2347
2359
|
const w = b[c.key], z = S[c.key];
|
|
2348
2360
|
if (w === z) return 0;
|
|
2349
2361
|
const I = w < z ? -1 : 1;
|
|
2350
2362
|
return c.direction === "asc" ? I : -I;
|
|
2351
|
-
}), [r, c]),
|
|
2352
|
-
|
|
2353
|
-
m >
|
|
2354
|
-
}, [
|
|
2355
|
-
const p =
|
|
2363
|
+
}), [r, c]), g = Math.ceil(h.length / o);
|
|
2364
|
+
D(() => {
|
|
2365
|
+
m > g && g > 0 ? u(g) : g === 0 && u(1);
|
|
2366
|
+
}, [g, m]);
|
|
2367
|
+
const p = q(() => {
|
|
2356
2368
|
const b = (m - 1) * o;
|
|
2357
|
-
return
|
|
2358
|
-
}, [
|
|
2369
|
+
return h.slice(b, b + o);
|
|
2370
|
+
}, [h, m, o]), k = (b) => {
|
|
2359
2371
|
let S = "asc";
|
|
2360
2372
|
c.key === b && (c.direction === "asc" ? S = "desc" : c.direction === "desc" && (S = null)), l({ key: b, direction: S }), u(1);
|
|
2361
|
-
}, x = (b) => b.sortable ? c.key !== b.key || !c.direction ? /* @__PURE__ */ e(
|
|
2362
|
-
return /* @__PURE__ */ f("div", { ref: d, className: `w-full space-y-4 ${
|
|
2373
|
+
}, x = (b) => b.sortable ? c.key !== b.key || !c.direction ? /* @__PURE__ */ e(Pr, { size: 14, className: "text-muted-foreground/50" }) : c.direction === "asc" ? /* @__PURE__ */ e(ce, { size: 14, className: "text-primary" }) : /* @__PURE__ */ e(ne, { size: 14, className: "text-primary" }) : null;
|
|
2374
|
+
return /* @__PURE__ */ f("div", { ref: d, className: `w-full space-y-4 ${a}`, ...n, children: [
|
|
2363
2375
|
/* @__PURE__ */ e("div", { className: "w-full overflow-x-auto rounded-lg border border-border bg-background shadow-sm", children: /* @__PURE__ */ f("table", { className: "min-w-full text-sm text-left border-collapse", children: [
|
|
2364
2376
|
/* @__PURE__ */ e("thead", { children: /* @__PURE__ */ e("tr", { className: "border-b border-border bg-muted/30", children: t.map((b) => /* @__PURE__ */ e(
|
|
2365
2377
|
"th",
|
|
@@ -2402,21 +2414,21 @@ const Ao = ({
|
|
|
2402
2414
|
})
|
|
2403
2415
|
},
|
|
2404
2416
|
S
|
|
2405
|
-
)) : /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: t.length, className: "px-4 py-12 text-center", children: /* @__PURE__ */ e(
|
|
2417
|
+
)) : /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { colSpan: t.length, className: "px-4 py-12 text-center", children: /* @__PURE__ */ e(A, { variant: "muted", children: s }) }) }) })
|
|
2406
2418
|
] }) }),
|
|
2407
|
-
|
|
2408
|
-
/* @__PURE__ */ f(
|
|
2419
|
+
g > 1 && /* @__PURE__ */ f("div", { className: "flex items-center justify-between px-2", children: [
|
|
2420
|
+
/* @__PURE__ */ f(A, { variant: "small", className: "text-muted-foreground", children: [
|
|
2409
2421
|
"Showing ",
|
|
2410
2422
|
(m - 1) * o + 1,
|
|
2411
2423
|
" to ",
|
|
2412
|
-
Math.min(m * o,
|
|
2424
|
+
Math.min(m * o, h.length),
|
|
2413
2425
|
" of ",
|
|
2414
|
-
|
|
2426
|
+
h.length,
|
|
2415
2427
|
" results"
|
|
2416
2428
|
] }),
|
|
2417
2429
|
/* @__PURE__ */ f("div", { className: "flex items-center gap-2", children: [
|
|
2418
2430
|
/* @__PURE__ */ e(
|
|
2419
|
-
|
|
2431
|
+
B,
|
|
2420
2432
|
{
|
|
2421
2433
|
variant: "outline",
|
|
2422
2434
|
size: "sm",
|
|
@@ -2426,8 +2438,8 @@ const Ao = ({
|
|
|
2426
2438
|
children: "Previous"
|
|
2427
2439
|
}
|
|
2428
2440
|
),
|
|
2429
|
-
/* @__PURE__ */ e("div", { className: "flex items-center gap-1", children: Array.from({ length:
|
|
2430
|
-
|
|
2441
|
+
/* @__PURE__ */ e("div", { className: "flex items-center gap-1", children: Array.from({ length: g }, (b, S) => S + 1).map((b) => /* @__PURE__ */ e(
|
|
2442
|
+
B,
|
|
2431
2443
|
{
|
|
2432
2444
|
variant: m === b ? "primary" : "ghost",
|
|
2433
2445
|
size: "sm",
|
|
@@ -2438,37 +2450,37 @@ const Ao = ({
|
|
|
2438
2450
|
b
|
|
2439
2451
|
)) }),
|
|
2440
2452
|
/* @__PURE__ */ e(
|
|
2441
|
-
|
|
2453
|
+
B,
|
|
2442
2454
|
{
|
|
2443
2455
|
variant: "outline",
|
|
2444
2456
|
size: "sm",
|
|
2445
|
-
onClick: () => u((b) => Math.min(
|
|
2446
|
-
disabled: m ===
|
|
2447
|
-
rightIcon:
|
|
2457
|
+
onClick: () => u((b) => Math.min(g, b + 1)),
|
|
2458
|
+
disabled: m === g,
|
|
2459
|
+
rightIcon: K,
|
|
2448
2460
|
children: "Next"
|
|
2449
2461
|
}
|
|
2450
2462
|
)
|
|
2451
2463
|
] })
|
|
2452
2464
|
] })
|
|
2453
2465
|
] });
|
|
2454
|
-
},
|
|
2455
|
-
|
|
2456
|
-
const ae =
|
|
2466
|
+
}, Ao = y.forwardRef(Eo);
|
|
2467
|
+
Ao.displayName = "Table";
|
|
2468
|
+
const ae = J(void 0), et = y.forwardRef(({ defaultValue: t, value: r, onValueChange: o, children: a, className: i = "", ...s }, n) => {
|
|
2457
2469
|
const [d, c] = C(r || t || "");
|
|
2458
|
-
|
|
2470
|
+
D(() => {
|
|
2459
2471
|
r !== void 0 && c(r);
|
|
2460
2472
|
}, [r]);
|
|
2461
2473
|
const l = (m) => {
|
|
2462
2474
|
r === void 0 && c(m), o == null || o(m);
|
|
2463
2475
|
};
|
|
2464
|
-
return /* @__PURE__ */ e(ae.Provider, { value: { activeTab: d, setActiveTab: l }, children: /* @__PURE__ */ e("div", { ref: n, className: `w-full ${i}`, ...
|
|
2476
|
+
return /* @__PURE__ */ e(ae.Provider, { value: { activeTab: d, setActiveTab: l }, children: /* @__PURE__ */ e("div", { ref: n, className: `w-full ${i}`, ...s, children: a }) });
|
|
2465
2477
|
});
|
|
2466
2478
|
et.displayName = "Tabs";
|
|
2467
|
-
const tt = y.forwardRef(({ children: t, className: r = "", ...o },
|
|
2468
|
-
const i =
|
|
2479
|
+
const tt = y.forwardRef(({ children: t, className: r = "", ...o }, a) => {
|
|
2480
|
+
const i = U(ae);
|
|
2469
2481
|
if (!i) throw new Error("TabsList must be used within Tabs");
|
|
2470
|
-
const { activeTab:
|
|
2471
|
-
return y.useImperativeHandle(
|
|
2482
|
+
const { activeTab: s } = i, n = P(null), [d, c] = C({ left: 0, width: 0, opacity: 0 });
|
|
2483
|
+
return y.useImperativeHandle(a, () => n.current), D(() => {
|
|
2472
2484
|
const l = n.current;
|
|
2473
2485
|
if (!l) return;
|
|
2474
2486
|
const m = l.querySelector('[data-state="active"]');
|
|
@@ -2477,7 +2489,7 @@ const tt = y.forwardRef(({ children: t, className: r = "", ...o }, s) => {
|
|
|
2477
2489
|
width: m.offsetWidth,
|
|
2478
2490
|
opacity: 1
|
|
2479
2491
|
});
|
|
2480
|
-
}, [
|
|
2492
|
+
}, [s]), /* @__PURE__ */ f("div", { ref: n, className: `relative flex border-b border-border mb-4 ${r}`, ...o, children: [
|
|
2481
2493
|
t,
|
|
2482
2494
|
/* @__PURE__ */ e(
|
|
2483
2495
|
"div",
|
|
@@ -2497,48 +2509,48 @@ const rt = y.forwardRef(({
|
|
|
2497
2509
|
value: t,
|
|
2498
2510
|
children: r,
|
|
2499
2511
|
icon: o,
|
|
2500
|
-
iconPosition:
|
|
2512
|
+
iconPosition: a = "left",
|
|
2501
2513
|
className: i = "",
|
|
2502
|
-
disabled:
|
|
2514
|
+
disabled: s = !1,
|
|
2503
2515
|
onClick: n,
|
|
2504
2516
|
...d
|
|
2505
2517
|
}, c) => {
|
|
2506
|
-
const l =
|
|
2518
|
+
const l = U(ae);
|
|
2507
2519
|
if (!l) throw new Error("TabsTrigger must be used within Tabs");
|
|
2508
|
-
const { activeTab: m, setActiveTab: u } = l,
|
|
2520
|
+
const { activeTab: m, setActiveTab: u } = l, h = m === t;
|
|
2509
2521
|
return /* @__PURE__ */ f(
|
|
2510
2522
|
"button",
|
|
2511
2523
|
{
|
|
2512
2524
|
ref: c,
|
|
2513
2525
|
type: "button",
|
|
2514
|
-
"data-state":
|
|
2526
|
+
"data-state": h ? "active" : "inactive",
|
|
2515
2527
|
"data-value": t,
|
|
2516
|
-
disabled:
|
|
2528
|
+
disabled: s,
|
|
2517
2529
|
onClick: (p) => {
|
|
2518
2530
|
u(t), n == null || n(p);
|
|
2519
2531
|
},
|
|
2520
2532
|
className: `
|
|
2521
2533
|
relative px-4 py-2 text-sm font-medium transition-colors duration-200 cursor-pointer
|
|
2522
2534
|
flex items-center gap-2 -mb-px border-b-2 border-transparent
|
|
2523
|
-
${
|
|
2524
|
-
${
|
|
2535
|
+
${h ? "text-primary" : "text-muted-foreground hover:text-foreground"}
|
|
2536
|
+
${s ? "opacity-50 cursor-not-allowed" : ""}
|
|
2525
2537
|
${i}
|
|
2526
2538
|
`,
|
|
2527
2539
|
...d,
|
|
2528
2540
|
children: [
|
|
2529
|
-
o &&
|
|
2541
|
+
o && a === "left" && /* @__PURE__ */ e(o, { size: 16 }),
|
|
2530
2542
|
r,
|
|
2531
|
-
o &&
|
|
2543
|
+
o && a === "right" && /* @__PURE__ */ e(o, { size: 16 })
|
|
2532
2544
|
]
|
|
2533
2545
|
}
|
|
2534
2546
|
);
|
|
2535
2547
|
});
|
|
2536
2548
|
rt.displayName = "TabsTrigger";
|
|
2537
|
-
const ot = y.forwardRef(({ value: t, children: r, className: o = "", ...
|
|
2538
|
-
const
|
|
2539
|
-
if (!
|
|
2540
|
-
const { activeTab: n } =
|
|
2541
|
-
return n !== t ? null : /* @__PURE__ */ e("div", { ref: i, className: `animate-in fade-in slide-in-from-bottom-1 duration-200 ${o}`, ...
|
|
2549
|
+
const ot = y.forwardRef(({ value: t, children: r, className: o = "", ...a }, i) => {
|
|
2550
|
+
const s = U(ae);
|
|
2551
|
+
if (!s) throw new Error("TabsContent must be used within Tabs");
|
|
2552
|
+
const { activeTab: n } = s;
|
|
2553
|
+
return n !== t ? null : /* @__PURE__ */ e("div", { ref: i, className: `animate-in fade-in slide-in-from-bottom-1 duration-200 ${o}`, ...a, children: r });
|
|
2542
2554
|
});
|
|
2543
2555
|
ot.displayName = "TabsContent";
|
|
2544
2556
|
const sn = Object.assign(et, {
|
|
@@ -2549,24 +2561,24 @@ const sn = Object.assign(et, {
|
|
|
2549
2561
|
label: t,
|
|
2550
2562
|
error: r,
|
|
2551
2563
|
required: o,
|
|
2552
|
-
className:
|
|
2564
|
+
className: a = "",
|
|
2553
2565
|
maxCharacters: i,
|
|
2554
|
-
resizable:
|
|
2566
|
+
resizable: s = !0,
|
|
2555
2567
|
onChange: n,
|
|
2556
2568
|
value: d,
|
|
2557
2569
|
defaultValue: c,
|
|
2558
2570
|
maxLength: l,
|
|
2559
2571
|
hint: m,
|
|
2560
2572
|
...u
|
|
2561
|
-
},
|
|
2562
|
-
const [
|
|
2573
|
+
}, h) => {
|
|
2574
|
+
const [g, p] = C(
|
|
2563
2575
|
d !== void 0 ? d : c
|
|
2564
2576
|
), [k, x] = C(0);
|
|
2565
|
-
|
|
2577
|
+
D(() => {
|
|
2566
2578
|
d !== void 0 && p(d);
|
|
2567
|
-
}, [d]),
|
|
2568
|
-
x(typeof
|
|
2569
|
-
}, [
|
|
2579
|
+
}, [d]), D(() => {
|
|
2580
|
+
x(typeof g == "string" ? g.length : typeof g == "number" ? g.toString().length : 0);
|
|
2581
|
+
}, [g]);
|
|
2570
2582
|
const b = (w) => {
|
|
2571
2583
|
const z = w.target.value;
|
|
2572
2584
|
x(z.length), d === void 0 && p(z), n == null || n(z, w);
|
|
@@ -2586,10 +2598,10 @@ const sn = Object.assign(et, {
|
|
|
2586
2598
|
/* @__PURE__ */ e(
|
|
2587
2599
|
"textarea",
|
|
2588
2600
|
{
|
|
2589
|
-
ref:
|
|
2590
|
-
className: `flex min-h-[80px] w-full rounded-lg border border-input bg-background px-4 py-3 text-base ring-offset-background placeholder:text-muted-foreground/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all ${
|
|
2601
|
+
ref: h,
|
|
2602
|
+
className: `flex min-h-[80px] w-full rounded-lg border border-input bg-background px-4 py-3 text-base ring-offset-background placeholder:text-muted-foreground/30 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all ${s ? "" : "resize-none"} ${a}`,
|
|
2591
2603
|
onChange: b,
|
|
2592
|
-
value:
|
|
2604
|
+
value: g,
|
|
2593
2605
|
maxLength: S,
|
|
2594
2606
|
...u
|
|
2595
2607
|
}
|
|
@@ -2602,9 +2614,9 @@ const Ho = y.forwardRef(({
|
|
|
2602
2614
|
text: t,
|
|
2603
2615
|
width: r = "100%",
|
|
2604
2616
|
lines: o = 1,
|
|
2605
|
-
tooltip:
|
|
2617
|
+
tooltip: a = !0,
|
|
2606
2618
|
className: i = "",
|
|
2607
|
-
...
|
|
2619
|
+
...s
|
|
2608
2620
|
}, n) => {
|
|
2609
2621
|
const d = o > 1, c = {
|
|
2610
2622
|
maxWidth: r,
|
|
@@ -2628,12 +2640,12 @@ const Ho = y.forwardRef(({
|
|
|
2628
2640
|
ref: n,
|
|
2629
2641
|
className: `text-foreground ${i}`,
|
|
2630
2642
|
style: c,
|
|
2631
|
-
...
|
|
2643
|
+
...s,
|
|
2632
2644
|
children: t
|
|
2633
2645
|
}
|
|
2634
2646
|
);
|
|
2635
|
-
return
|
|
2636
|
-
|
|
2647
|
+
return a ? /* @__PURE__ */ e(
|
|
2648
|
+
X,
|
|
2637
2649
|
{
|
|
2638
2650
|
content: /* @__PURE__ */ e("div", { className: "max-w-xs whitespace-normal break-words", children: t }),
|
|
2639
2651
|
className: "max-w-full",
|
|
@@ -2665,14 +2677,14 @@ const Oo = [
|
|
|
2665
2677
|
value: t,
|
|
2666
2678
|
onChange: r,
|
|
2667
2679
|
className: o = "",
|
|
2668
|
-
label:
|
|
2680
|
+
label: a
|
|
2669
2681
|
}) => {
|
|
2670
|
-
const [i,
|
|
2671
|
-
|
|
2682
|
+
const [i, s] = C(!1), [n, d] = C(t), c = P(null);
|
|
2683
|
+
D(() => {
|
|
2672
2684
|
d(t);
|
|
2673
|
-
}, [t]),
|
|
2674
|
-
const u = (
|
|
2675
|
-
c.current && !c.current.contains(
|
|
2685
|
+
}, [t]), D(() => {
|
|
2686
|
+
const u = (h) => {
|
|
2687
|
+
c.current && !c.current.contains(h.target) && (s(!1), d(t));
|
|
2676
2688
|
};
|
|
2677
2689
|
return i && document.addEventListener("mousedown", u), () => {
|
|
2678
2690
|
document.removeEventListener("mousedown", u);
|
|
@@ -2684,11 +2696,11 @@ const Oo = [
|
|
|
2684
2696
|
/^#[0-9A-Fa-f]{6}$/.test(n) || d(t);
|
|
2685
2697
|
};
|
|
2686
2698
|
return /* @__PURE__ */ f("div", { className: `flex flex-col gap-1.5 relative ${o}`, ref: c, children: [
|
|
2687
|
-
|
|
2699
|
+
a && /* @__PURE__ */ e("label", { className: "text-sm font-medium leading-none pl-[3px] mb-[5px]", children: a }),
|
|
2688
2700
|
/* @__PURE__ */ f(
|
|
2689
2701
|
"button",
|
|
2690
2702
|
{
|
|
2691
|
-
onClick: () =>
|
|
2703
|
+
onClick: () => s(!i),
|
|
2692
2704
|
className: "flex items-center gap-2 px-3 border border-input rounded-lg hover:bg-muted/50 transition-colors w-full h-12 bg-background",
|
|
2693
2705
|
children: [
|
|
2694
2706
|
/* @__PURE__ */ e(
|
|
@@ -2726,7 +2738,7 @@ const Oo = [
|
|
|
2726
2738
|
className: "w-8 h-8 rounded-full border border-border hover:scale-110 transition-transform focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1 relative flex items-center justify-center",
|
|
2727
2739
|
style: { backgroundColor: u },
|
|
2728
2740
|
title: u,
|
|
2729
|
-
children: t.toLowerCase() === u.toLowerCase() && /* @__PURE__ */ e(
|
|
2741
|
+
children: t.toLowerCase() === u.toLowerCase() && /* @__PURE__ */ e(Q, { size: 14, className: Vo(u) === "black" ? "text-black" : "text-white" })
|
|
2730
2742
|
},
|
|
2731
2743
|
u
|
|
2732
2744
|
)) })
|
|
@@ -2735,34 +2747,34 @@ const Oo = [
|
|
|
2735
2747
|
};
|
|
2736
2748
|
function Vo(t) {
|
|
2737
2749
|
t = t.replace("#", "");
|
|
2738
|
-
var r = parseInt(t.substr(0, 2), 16), o = parseInt(t.substr(2, 2), 16),
|
|
2750
|
+
var r = parseInt(t.substr(0, 2), 16), o = parseInt(t.substr(2, 2), 16), a = parseInt(t.substr(4, 2), 16), i = (r * 299 + o * 587 + a * 114) / 1e3;
|
|
2739
2751
|
return i >= 128 ? "black" : "white";
|
|
2740
2752
|
}
|
|
2741
|
-
const nt =
|
|
2742
|
-
const [r, o] = C([]), [
|
|
2743
|
-
|
|
2753
|
+
const nt = J(void 0), dn = ({ children: t }) => {
|
|
2754
|
+
const [r, o] = C([]), [a, i] = C(!1);
|
|
2755
|
+
D(() => {
|
|
2744
2756
|
i(!0);
|
|
2745
2757
|
}, []);
|
|
2746
|
-
const
|
|
2758
|
+
const s = he((d) => {
|
|
2747
2759
|
o((c) => c.map((l) => l.id === d ? { ...l, exiting: !0 } : l)), setTimeout(() => {
|
|
2748
2760
|
o((c) => c.filter((l) => l.id !== d));
|
|
2749
2761
|
}, 300);
|
|
2750
|
-
}, []), n =
|
|
2762
|
+
}, []), n = he((d, c, l = "success") => {
|
|
2751
2763
|
const m = Math.random().toString(36).substring(2, 9);
|
|
2752
|
-
o((u) => [...u, { id: m, title: d, message: c, type: l }]), setTimeout(() =>
|
|
2753
|
-
}, [
|
|
2754
|
-
return /* @__PURE__ */ f(nt.Provider, { value: { toast: n, removeToast:
|
|
2764
|
+
o((u) => [...u, { id: m, title: d, message: c, type: l }]), setTimeout(() => s(m), 5e3);
|
|
2765
|
+
}, [s]);
|
|
2766
|
+
return /* @__PURE__ */ f(nt.Provider, { value: { toast: n, removeToast: s }, children: [
|
|
2755
2767
|
t,
|
|
2756
|
-
|
|
2757
|
-
/* @__PURE__ */ e("div", { className: "fixed top-6 right-6 z-100 flex flex-col gap-4 w-full max-w-sm pointer-events-none", children: r.map((d) => /* @__PURE__ */ e(Uo, { ...d, onRemove: () =>
|
|
2768
|
+
a && ue(
|
|
2769
|
+
/* @__PURE__ */ e("div", { className: "fixed top-6 right-6 z-100 flex flex-col gap-4 w-full max-w-sm pointer-events-none", children: r.map((d) => /* @__PURE__ */ e(Uo, { ...d, onRemove: () => s(d.id) }, d.id)) }),
|
|
2758
2770
|
document.body
|
|
2759
2771
|
)
|
|
2760
2772
|
] });
|
|
2761
2773
|
}, cn = () => {
|
|
2762
|
-
const t =
|
|
2774
|
+
const t = U(nt);
|
|
2763
2775
|
if (!t) throw new Error("useToast must be used within ToastProvider");
|
|
2764
2776
|
return t;
|
|
2765
|
-
}, Uo = ({ type: t, title: r, message: o, exiting:
|
|
2777
|
+
}, Uo = ({ type: t, title: r, message: o, exiting: a, onRemove: i }) => /* @__PURE__ */ f(
|
|
2766
2778
|
"div",
|
|
2767
2779
|
{
|
|
2768
2780
|
className: `pointer-events-auto relative overflow-hidden rounded-lg border border-border bg-background shadow-lg border-t-4 ${{
|
|
@@ -2770,11 +2782,11 @@ const nt = Y(void 0), dn = ({ children: t }) => {
|
|
|
2770
2782
|
warning: "border-t-orange-500",
|
|
2771
2783
|
error: "border-t-red-500"
|
|
2772
2784
|
}[t]}
|
|
2773
|
-
${
|
|
2785
|
+
${a ? "animate-out fade-out slide-out-to-right-full duration-300" : "animate-in slide-in-from-right-full duration-300"}`,
|
|
2774
2786
|
children: [
|
|
2775
2787
|
/* @__PURE__ */ f("div", { className: "pt-3 pb-4 px-4 pr-10", children: [
|
|
2776
|
-
/* @__PURE__ */ e(
|
|
2777
|
-
/* @__PURE__ */ e(
|
|
2788
|
+
/* @__PURE__ */ e(A, { className: "font-semibold mb-0.5! m-0!", children: r }),
|
|
2789
|
+
/* @__PURE__ */ e(A, { variant: "small", className: "text-muted-foreground m-0!", children: o })
|
|
2778
2790
|
] }),
|
|
2779
2791
|
/* @__PURE__ */ e(
|
|
2780
2792
|
"button",
|
|
@@ -2802,41 +2814,41 @@ const nt = Y(void 0), dn = ({ children: t }) => {
|
|
|
2802
2814
|
{ name: "Lora", value: "Lora", category: "serif" },
|
|
2803
2815
|
{ name: "Roboto Mono", value: "Roboto Mono", category: "monospace" },
|
|
2804
2816
|
{ name: "Space Mono", value: "Space Mono", category: "monospace" }
|
|
2805
|
-
], at =
|
|
2806
|
-
const [r, o] = C("Urbanist"), [
|
|
2807
|
-
|
|
2817
|
+
], at = J(void 0), un = ({ children: t }) => {
|
|
2818
|
+
const [r, o] = C("Urbanist"), [a, i] = C("Urbanist"), [s, n] = C(!1);
|
|
2819
|
+
D(() => {
|
|
2808
2820
|
const l = localStorage.getItem("headingFont"), m = localStorage.getItem("bodyFont");
|
|
2809
2821
|
l && o(l), m && i(m), n(!0);
|
|
2810
|
-
}, []),
|
|
2811
|
-
if (!
|
|
2822
|
+
}, []), D(() => {
|
|
2823
|
+
if (!s) return;
|
|
2812
2824
|
const l = /* @__PURE__ */ new Set();
|
|
2813
|
-
r !== "Urbanist" && l.add(r),
|
|
2814
|
-
const m = Array.from(l).map((
|
|
2825
|
+
r !== "Urbanist" && l.add(r), a !== "Urbanist" && l.add(a);
|
|
2826
|
+
const m = Array.from(l).map((h) => h.replace(/ /g, "+"));
|
|
2815
2827
|
if (m.length > 0) {
|
|
2816
|
-
const
|
|
2817
|
-
let
|
|
2818
|
-
|
|
2828
|
+
const h = "dynamic-google-fonts";
|
|
2829
|
+
let g = document.getElementById(h);
|
|
2830
|
+
g || (g = document.createElement("link"), g.id = h, g.rel = "stylesheet", document.head.appendChild(g));
|
|
2819
2831
|
const p = m.map((k) => `family=${k}:wght@400;500;600;700`).join("&");
|
|
2820
|
-
|
|
2832
|
+
g.href = `https://fonts.googleapis.com/css2?${p}&display=swap`;
|
|
2821
2833
|
}
|
|
2822
2834
|
const u = document.documentElement;
|
|
2823
|
-
r === "Urbanist" ? u.style.setProperty("--font-heading", "var(--font-urbanist)") : u.style.setProperty("--font-heading", `"${r}", sans-serif`),
|
|
2824
|
-
}, [r,
|
|
2835
|
+
r === "Urbanist" ? u.style.setProperty("--font-heading", "var(--font-urbanist)") : u.style.setProperty("--font-heading", `"${r}", sans-serif`), a === "Urbanist" ? u.style.setProperty("--font-body", "var(--font-urbanist)") : u.style.setProperty("--font-body", `"${a}", sans-serif`), localStorage.setItem("headingFont", r), localStorage.setItem("bodyFont", a);
|
|
2836
|
+
}, [r, a, s]);
|
|
2825
2837
|
const d = (l) => o(l), c = (l) => i(l);
|
|
2826
2838
|
return /* @__PURE__ */ e(at.Provider, { value: {
|
|
2827
2839
|
headingFont: r,
|
|
2828
2840
|
setHeadingFont: d,
|
|
2829
|
-
bodyFont:
|
|
2841
|
+
bodyFont: a,
|
|
2830
2842
|
setBodyFont: c,
|
|
2831
2843
|
availableFonts: Wo
|
|
2832
2844
|
}, children: t });
|
|
2833
2845
|
}, _o = () => {
|
|
2834
|
-
const t =
|
|
2846
|
+
const t = U(at);
|
|
2835
2847
|
if (t === void 0)
|
|
2836
2848
|
throw new Error("useFont must be used within a FontProvider");
|
|
2837
2849
|
return t;
|
|
2838
2850
|
}, mn = () => {
|
|
2839
|
-
const { headingFont: t, setHeadingFont: r, bodyFont: o, setBodyFont:
|
|
2851
|
+
const { headingFont: t, setHeadingFont: r, bodyFont: o, setBodyFont: a, availableFonts: i } = _o(), s = i.map((n) => ({
|
|
2840
2852
|
label: n.name,
|
|
2841
2853
|
value: n.value
|
|
2842
2854
|
}));
|
|
@@ -2847,7 +2859,7 @@ const nt = Y(void 0), dn = ({ children: t }) => {
|
|
|
2847
2859
|
label: "Heading Font",
|
|
2848
2860
|
value: t,
|
|
2849
2861
|
onChange: (n) => r(n.target.value),
|
|
2850
|
-
options:
|
|
2862
|
+
options: s,
|
|
2851
2863
|
style: { fontFamily: t }
|
|
2852
2864
|
}
|
|
2853
2865
|
),
|
|
@@ -2856,39 +2868,39 @@ const nt = Y(void 0), dn = ({ children: t }) => {
|
|
|
2856
2868
|
{
|
|
2857
2869
|
label: "Body Font",
|
|
2858
2870
|
value: o,
|
|
2859
|
-
onChange: (n) =>
|
|
2860
|
-
options:
|
|
2871
|
+
onChange: (n) => a(n.target.value),
|
|
2872
|
+
options: s,
|
|
2861
2873
|
style: { fontFamily: o }
|
|
2862
2874
|
}
|
|
2863
2875
|
)
|
|
2864
2876
|
] });
|
|
2865
2877
|
};
|
|
2866
2878
|
function fn(t, r = {}) {
|
|
2867
|
-
const [o,
|
|
2868
|
-
return
|
|
2879
|
+
const [o, a] = C(""), { offset: i = 0, containerRef: s } = r;
|
|
2880
|
+
return D(() => {
|
|
2869
2881
|
const n = () => {
|
|
2870
2882
|
let c = "";
|
|
2871
|
-
const l =
|
|
2872
|
-
for (const
|
|
2873
|
-
const
|
|
2874
|
-
if (
|
|
2875
|
-
const p =
|
|
2876
|
-
k <= u + 20 && x > u + 20 && (c =
|
|
2883
|
+
const l = s == null ? void 0 : s.current, u = (l ? l.getBoundingClientRect().top : 0) + i;
|
|
2884
|
+
for (const h of t) {
|
|
2885
|
+
const g = document.getElementById(h);
|
|
2886
|
+
if (g) {
|
|
2887
|
+
const p = g.getBoundingClientRect(), k = p.top, x = p.bottom;
|
|
2888
|
+
k <= u + 20 && x > u + 20 && (c = h);
|
|
2877
2889
|
}
|
|
2878
2890
|
}
|
|
2879
|
-
c !== o &&
|
|
2880
|
-
}, d = (
|
|
2891
|
+
c !== o && a(c);
|
|
2892
|
+
}, d = (s == null ? void 0 : s.current) || window;
|
|
2881
2893
|
return d.addEventListener("scroll", n, { passive: !0 }), n(), () => {
|
|
2882
2894
|
d.removeEventListener("scroll", n);
|
|
2883
2895
|
};
|
|
2884
|
-
}, [t, i, o,
|
|
2896
|
+
}, [t, i, o, s]), o;
|
|
2885
2897
|
}
|
|
2886
2898
|
export {
|
|
2887
2899
|
fo as Avatar,
|
|
2888
|
-
|
|
2900
|
+
B as Button,
|
|
2889
2901
|
De as Calendar,
|
|
2890
2902
|
en as Card,
|
|
2891
|
-
|
|
2903
|
+
go as Checkbox,
|
|
2892
2904
|
yo as CodeReveal,
|
|
2893
2905
|
tn as Collapse,
|
|
2894
2906
|
ln as ColorPicker,
|
|
@@ -2916,26 +2928,26 @@ export {
|
|
|
2916
2928
|
we as SYNTAX_THEMES,
|
|
2917
2929
|
de as Select,
|
|
2918
2930
|
Do as Slider,
|
|
2919
|
-
|
|
2931
|
+
Po as Space,
|
|
2920
2932
|
Fe as Spinner,
|
|
2921
2933
|
ve as StandardIcons,
|
|
2922
2934
|
jo as Switch,
|
|
2923
2935
|
Be as SyntaxHighlighter,
|
|
2924
|
-
|
|
2936
|
+
Ao as Table,
|
|
2925
2937
|
sn as Tabs,
|
|
2926
2938
|
ot as TabsContent,
|
|
2927
2939
|
tt as TabsList,
|
|
2928
2940
|
rt as TabsTrigger,
|
|
2929
2941
|
Oe as Tag,
|
|
2930
|
-
|
|
2942
|
+
A as Text,
|
|
2931
2943
|
Bo as TextArea,
|
|
2932
2944
|
Ho as TextEllipsis,
|
|
2933
2945
|
rn as ThemeProvider,
|
|
2934
2946
|
We as TimePicker,
|
|
2935
2947
|
dn as ToastProvider,
|
|
2936
|
-
|
|
2948
|
+
X as Tooltip,
|
|
2937
2949
|
_o as useFont,
|
|
2938
2950
|
fn as useScrollSpy,
|
|
2939
|
-
|
|
2951
|
+
Ae as useTheme,
|
|
2940
2952
|
cn as useToast
|
|
2941
2953
|
};
|