@viglet/viglet-design-system 2026.3.11 → 2026.3.13
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/README.md +41 -12
- package/consumers.json +2 -2
- package/dist/badge-locale-1_BmNTro.cjs +1 -0
- package/dist/{badge-locale-DxDp8Q3S.js → badge-locale-Bx7m7tg2.js} +189 -85
- package/dist/bento/bento-calendar.d.ts +52 -0
- package/dist/bento/bento-calendar.d.ts.map +1 -0
- package/dist/bento/bento-change-mark.d.ts +21 -0
- package/dist/bento/bento-change-mark.d.ts.map +1 -0
- package/dist/bento/bento-data-table.d.ts +8 -1
- package/dist/bento/bento-data-table.d.ts.map +1 -1
- package/dist/bento/bento-diff.d.ts +10 -1
- package/dist/bento/bento-diff.d.ts.map +1 -1
- package/dist/bento/bento-split-page.d.ts +31 -0
- package/dist/bento/bento-split-page.d.ts.map +1 -0
- package/dist/bento/bento-version-rail.d.ts.map +1 -1
- package/dist/bento/index.d.ts +4 -1
- package/dist/bento/index.d.ts.map +1 -1
- package/dist/bento.cjs +4 -4
- package/dist/bento.es.js +1431 -788
- package/dist/catalogue.json +256 -2
- package/dist/components/ui/form.d.ts +1 -1
- package/dist/components/ui/form.d.ts.map +1 -1
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/tree.d.ts +60 -0
- package/dist/components/ui/tree.d.ts.map +1 -0
- package/dist/components/ui/viglet-assistant.d.ts +7 -1
- package/dist/components/ui/viglet-assistant.d.ts.map +1 -1
- package/dist/exports.json +20 -1
- package/dist/i18n/index.d.ts +44 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locales/en/bento.json.d.ts +22 -0
- package/dist/i18n/locales/pt/bento.json.d.ts +22 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.es.js +40 -0
- package/dist/index.cjs +1 -1
- package/dist/index.es.js +1365 -1230
- package/dist/{loading-provider-ClDkFPuv.js → loading-provider-D-_5G-08.js} +1 -1
- package/dist/{loading-provider-DGuCfsl9.cjs → loading-provider-E4tIG9BM.cjs} +1 -1
- package/dist/preset.css +1 -1
- package/dist/router.cjs +1 -1
- package/dist/router.es.js +1 -1
- package/dist/{user.context-Cr3GAQ_r.js → user.context-D3kmD3_y.js} +379 -210
- package/dist/user.context-gQvBxcwr.cjs +1 -0
- package/dist/viglet-design-system.css +1 -1
- package/docs/BENTO-AUTHORING.md +13 -2
- package/docs/reference/README.md +2 -1
- package/docs/reference/canvas.json +10 -1
- package/docs/reference/split.dc.html +164 -0
- package/package.json +1 -1
- package/scripts/lib/contrast.mjs +29 -3
- package/scripts/page-reference.mjs +3 -3
- package/dist/badge-locale-CJkHDlPg.cjs +0 -1
- package/dist/user.context-hbdvmXOn.cjs +0 -1
|
@@ -1,84 +1,182 @@
|
|
|
1
1
|
import { t as e } from "./utils-Fk5jmzzb.js";
|
|
2
|
-
import { C as t, a as n, c as r, g as i, o as a, p as o, u as s, v as c, y as l } from "./badge-locale-
|
|
2
|
+
import { C as t, a as n, c as r, g as i, o as a, p as o, u as s, v as c, y as l } from "./badge-locale-Bx7m7tg2.js";
|
|
3
3
|
import * as u from "react";
|
|
4
4
|
import d, { createContext as f, useCallback as ee, useContext as p, useEffect as m, useRef as h, useState as g } from "react";
|
|
5
5
|
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
6
6
|
import * as b from "@radix-ui/react-avatar";
|
|
7
7
|
import { Slot as x } from "@radix-ui/react-slot";
|
|
8
8
|
import { cva as S } from "class-variance-authority";
|
|
9
|
-
import { useTranslation as
|
|
10
|
-
import * as
|
|
11
|
-
import * as
|
|
12
|
-
import { IconChevronDown as
|
|
13
|
-
import { Icon as
|
|
14
|
-
import { Popover as
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
9
|
+
import { useTranslation as te } from "react-i18next";
|
|
10
|
+
import * as C from "@radix-ui/react-checkbox";
|
|
11
|
+
import * as w from "@radix-ui/react-dropdown-menu";
|
|
12
|
+
import { IconChevronDown as T, IconLoader2 as ne, IconSearch as re, IconSparkles as ie, IconTrash as ae } from "@tabler/icons-react";
|
|
13
|
+
import { Icon as E } from "@iconify/react";
|
|
14
|
+
import { Popover as D } from "radix-ui";
|
|
15
|
+
import { Group as O, Panel as k, Separator as A } from "react-resizable-panels";
|
|
16
|
+
import * as j from "@radix-ui/react-tooltip";
|
|
17
|
+
import { useTheme as M } from "next-themes";
|
|
18
|
+
import { Toaster as N, toast as P } from "sonner";
|
|
19
|
+
import * as F from "@radix-ui/react-tabs";
|
|
20
|
+
//#region node_modules/lucide-react/dist/esm/icons/check.mjs
|
|
21
|
+
var I = {
|
|
22
|
+
name: "check",
|
|
23
|
+
size: 24,
|
|
24
|
+
node: [["path", {
|
|
25
|
+
d: "M20 6 9 17l-5-5",
|
|
26
|
+
key: "1gmf2c"
|
|
27
|
+
}]]
|
|
28
|
+
};
|
|
29
|
+
I.node;
|
|
30
|
+
var L = t(I), R = {
|
|
31
|
+
name: "chevron-right",
|
|
32
|
+
size: 24,
|
|
33
|
+
node: [["path", {
|
|
34
|
+
d: "m9 18 6-6-6-6",
|
|
35
|
+
key: "mthhwq"
|
|
36
|
+
}]]
|
|
37
|
+
};
|
|
38
|
+
R.node;
|
|
39
|
+
var z = t(R), B = {
|
|
40
|
+
name: "circle-check",
|
|
41
|
+
size: 24,
|
|
42
|
+
node: [["circle", {
|
|
43
|
+
cx: "12",
|
|
44
|
+
cy: "12",
|
|
45
|
+
r: "10",
|
|
46
|
+
key: "1mglay"
|
|
47
|
+
}], ["path", {
|
|
48
|
+
d: "m16 9-5.5 5.5L8 12",
|
|
49
|
+
key: "xofnsj"
|
|
50
|
+
}]],
|
|
51
|
+
aliases: ["check-circle-2"]
|
|
52
|
+
};
|
|
53
|
+
B.node;
|
|
54
|
+
var oe = t(B), V = {
|
|
55
|
+
name: "circle",
|
|
56
|
+
size: 24,
|
|
57
|
+
node: [["circle", {
|
|
39
58
|
cx: "12",
|
|
40
59
|
cy: "12",
|
|
41
60
|
r: "10",
|
|
42
61
|
key: "1mglay"
|
|
43
|
-
}]
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}]
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
62
|
+
}]]
|
|
63
|
+
};
|
|
64
|
+
V.node;
|
|
65
|
+
var se = t(V), H = {
|
|
66
|
+
name: "grip-vertical",
|
|
67
|
+
size: 24,
|
|
68
|
+
node: [
|
|
69
|
+
["circle", {
|
|
70
|
+
cx: "9",
|
|
71
|
+
cy: "12",
|
|
72
|
+
r: "1",
|
|
73
|
+
key: "1vctgf"
|
|
74
|
+
}],
|
|
75
|
+
["circle", {
|
|
76
|
+
cx: "9",
|
|
77
|
+
cy: "5",
|
|
78
|
+
r: "1",
|
|
79
|
+
key: "hp0tcf"
|
|
80
|
+
}],
|
|
81
|
+
["circle", {
|
|
82
|
+
cx: "9",
|
|
83
|
+
cy: "19",
|
|
84
|
+
r: "1",
|
|
85
|
+
key: "fkjjf6"
|
|
86
|
+
}],
|
|
87
|
+
["circle", {
|
|
88
|
+
cx: "15",
|
|
89
|
+
cy: "12",
|
|
90
|
+
r: "1",
|
|
91
|
+
key: "1tmaij"
|
|
92
|
+
}],
|
|
93
|
+
["circle", {
|
|
94
|
+
cx: "15",
|
|
95
|
+
cy: "5",
|
|
96
|
+
r: "1",
|
|
97
|
+
key: "19l28e"
|
|
98
|
+
}],
|
|
99
|
+
["circle", {
|
|
100
|
+
cx: "15",
|
|
101
|
+
cy: "19",
|
|
102
|
+
r: "1",
|
|
103
|
+
key: "f4zoj3"
|
|
104
|
+
}]
|
|
105
|
+
]
|
|
106
|
+
};
|
|
107
|
+
H.node;
|
|
108
|
+
var ce = t(H), U = {
|
|
109
|
+
name: "info",
|
|
110
|
+
size: 24,
|
|
111
|
+
node: [
|
|
112
|
+
["circle", {
|
|
113
|
+
cx: "12",
|
|
114
|
+
cy: "12",
|
|
115
|
+
r: "10",
|
|
116
|
+
key: "1mglay"
|
|
117
|
+
}],
|
|
118
|
+
["path", {
|
|
119
|
+
d: "M12 16v-4",
|
|
120
|
+
key: "1dtifu"
|
|
121
|
+
}],
|
|
122
|
+
["path", {
|
|
123
|
+
d: "M12 8h.01",
|
|
124
|
+
key: "e9boi3"
|
|
125
|
+
}]
|
|
126
|
+
]
|
|
127
|
+
};
|
|
128
|
+
U.node;
|
|
129
|
+
var le = t(U), W = {
|
|
130
|
+
name: "loader-circle",
|
|
131
|
+
size: 24,
|
|
132
|
+
node: [["path", {
|
|
133
|
+
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
|
134
|
+
key: "13zald"
|
|
135
|
+
}]],
|
|
136
|
+
aliases: ["loader-2"]
|
|
137
|
+
};
|
|
138
|
+
W.node;
|
|
139
|
+
var ue = t(W), G = {
|
|
140
|
+
name: "octagon-x",
|
|
141
|
+
size: 24,
|
|
142
|
+
node: [
|
|
143
|
+
["path", {
|
|
144
|
+
d: "m15 9-6 6",
|
|
145
|
+
key: "1uzhvr"
|
|
146
|
+
}],
|
|
147
|
+
["path", {
|
|
148
|
+
d: "M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",
|
|
149
|
+
key: "2d38gg"
|
|
150
|
+
}],
|
|
151
|
+
["path", {
|
|
152
|
+
d: "m9 9 6 6",
|
|
153
|
+
key: "z0biqf"
|
|
154
|
+
}]
|
|
155
|
+
],
|
|
156
|
+
aliases: ["x-octagon"]
|
|
157
|
+
};
|
|
158
|
+
G.node;
|
|
159
|
+
var de = t(G), K = {
|
|
160
|
+
name: "triangle-alert",
|
|
161
|
+
size: 24,
|
|
162
|
+
node: [
|
|
163
|
+
["path", {
|
|
164
|
+
d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
|
|
165
|
+
key: "wmoenq"
|
|
166
|
+
}],
|
|
167
|
+
["path", {
|
|
168
|
+
d: "M12 9v4",
|
|
169
|
+
key: "juzpu7"
|
|
170
|
+
}],
|
|
171
|
+
["path", {
|
|
172
|
+
d: "M12 17h.01",
|
|
173
|
+
key: "p32p05"
|
|
174
|
+
}]
|
|
175
|
+
],
|
|
176
|
+
aliases: ["alert-triangle"]
|
|
177
|
+
};
|
|
178
|
+
K.node;
|
|
179
|
+
var fe = t(K), q = S("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
|
|
82
180
|
variants: {
|
|
83
181
|
variant: {
|
|
84
182
|
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
@@ -102,11 +200,11 @@ var P = t("check", [["path", {
|
|
|
102
200
|
size: "default"
|
|
103
201
|
}
|
|
104
202
|
});
|
|
105
|
-
function
|
|
203
|
+
function pe({ className: t, variant: n, size: r, asChild: i = !1, loading: a = !1, onClick: o, children: s, ...u }) {
|
|
106
204
|
let d = i ? x : "button", f = l(a, u["aria-disabled"], o);
|
|
107
205
|
return /* @__PURE__ */ v(d, {
|
|
108
206
|
"data-slot": "button",
|
|
109
|
-
className: e(
|
|
207
|
+
className: e(q({
|
|
110
208
|
variant: n,
|
|
111
209
|
size: r,
|
|
112
210
|
className: t
|
|
@@ -118,54 +216,54 @@ function ie({ className: t, variant: n, size: r, asChild: i = !1, loading: a = !
|
|
|
118
216
|
}
|
|
119
217
|
//#endregion
|
|
120
218
|
//#region src/components/ui/checkbox.tsx
|
|
121
|
-
function
|
|
122
|
-
return /* @__PURE__ */ v(
|
|
219
|
+
function me({ className: t, ...n }) {
|
|
220
|
+
return /* @__PURE__ */ v(C.Root, {
|
|
123
221
|
"data-slot": "checkbox",
|
|
124
222
|
className: e("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", t),
|
|
125
223
|
...n,
|
|
126
|
-
children: /* @__PURE__ */ v(
|
|
224
|
+
children: /* @__PURE__ */ v(C.Indicator, {
|
|
127
225
|
"data-slot": "checkbox-indicator",
|
|
128
226
|
className: "grid place-content-center text-current transition-none",
|
|
129
|
-
children: /* @__PURE__ */ v(
|
|
227
|
+
children: /* @__PURE__ */ v(L, { className: "size-3.5" })
|
|
130
228
|
})
|
|
131
229
|
});
|
|
132
230
|
}
|
|
133
231
|
//#endregion
|
|
134
232
|
//#region src/components/ui/dropdown-menu.tsx
|
|
135
|
-
function
|
|
136
|
-
return /* @__PURE__ */ v(
|
|
233
|
+
function he({ ...e }) {
|
|
234
|
+
return /* @__PURE__ */ v(w.Root, {
|
|
137
235
|
"data-slot": "dropdown-menu",
|
|
138
236
|
...e
|
|
139
237
|
});
|
|
140
238
|
}
|
|
141
|
-
function
|
|
142
|
-
return /* @__PURE__ */ v(
|
|
239
|
+
function ge({ ...e }) {
|
|
240
|
+
return /* @__PURE__ */ v(w.Portal, {
|
|
143
241
|
"data-slot": "dropdown-menu-portal",
|
|
144
242
|
...e
|
|
145
243
|
});
|
|
146
244
|
}
|
|
147
|
-
function
|
|
148
|
-
return /* @__PURE__ */ v(
|
|
245
|
+
function _e({ ...e }) {
|
|
246
|
+
return /* @__PURE__ */ v(w.Trigger, {
|
|
149
247
|
"data-slot": "dropdown-menu-trigger",
|
|
150
248
|
...e
|
|
151
249
|
});
|
|
152
250
|
}
|
|
153
|
-
function
|
|
154
|
-
return /* @__PURE__ */ v(
|
|
251
|
+
function ve({ className: t, sideOffset: n = 4, ...r }) {
|
|
252
|
+
return /* @__PURE__ */ v(w.Portal, { children: /* @__PURE__ */ v(w.Content, {
|
|
155
253
|
"data-slot": "dropdown-menu-content",
|
|
156
254
|
sideOffset: n,
|
|
157
255
|
className: e("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", t),
|
|
158
256
|
...r
|
|
159
257
|
}) });
|
|
160
258
|
}
|
|
161
|
-
function
|
|
162
|
-
return /* @__PURE__ */ v(
|
|
259
|
+
function ye({ ...e }) {
|
|
260
|
+
return /* @__PURE__ */ v(w.Group, {
|
|
163
261
|
"data-slot": "dropdown-menu-group",
|
|
164
262
|
...e
|
|
165
263
|
});
|
|
166
264
|
}
|
|
167
|
-
function
|
|
168
|
-
return /* @__PURE__ */ v(
|
|
265
|
+
function be({ className: t, inset: n, variant: r = "default", ...i }) {
|
|
266
|
+
return /* @__PURE__ */ v(w.Item, {
|
|
169
267
|
"data-slot": "dropdown-menu-item",
|
|
170
268
|
"data-inset": n,
|
|
171
269
|
"data-variant": r,
|
|
@@ -173,74 +271,74 @@ function de({ className: t, inset: n, variant: r = "default", ...i }) {
|
|
|
173
271
|
...i
|
|
174
272
|
});
|
|
175
273
|
}
|
|
176
|
-
function
|
|
177
|
-
return /* @__PURE__ */ y(
|
|
274
|
+
function xe({ className: t, children: n, checked: r, ...i }) {
|
|
275
|
+
return /* @__PURE__ */ y(w.CheckboxItem, {
|
|
178
276
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
179
277
|
className: e("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", t),
|
|
180
278
|
checked: r,
|
|
181
279
|
...i,
|
|
182
280
|
children: [/* @__PURE__ */ v("span", {
|
|
183
281
|
className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
|
|
184
|
-
children: /* @__PURE__ */ v(
|
|
282
|
+
children: /* @__PURE__ */ v(w.ItemIndicator, { children: /* @__PURE__ */ v(L, { className: "size-4" }) })
|
|
185
283
|
}), n]
|
|
186
284
|
});
|
|
187
285
|
}
|
|
188
|
-
function
|
|
189
|
-
return /* @__PURE__ */ v(
|
|
286
|
+
function Se({ ...e }) {
|
|
287
|
+
return /* @__PURE__ */ v(w.RadioGroup, {
|
|
190
288
|
"data-slot": "dropdown-menu-radio-group",
|
|
191
289
|
...e
|
|
192
290
|
});
|
|
193
291
|
}
|
|
194
|
-
function
|
|
195
|
-
return /* @__PURE__ */ y(
|
|
292
|
+
function Ce({ className: t, children: n, ...r }) {
|
|
293
|
+
return /* @__PURE__ */ y(w.RadioItem, {
|
|
196
294
|
"data-slot": "dropdown-menu-radio-item",
|
|
197
295
|
className: e("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", t),
|
|
198
296
|
...r,
|
|
199
297
|
children: [/* @__PURE__ */ v("span", {
|
|
200
298
|
className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
|
|
201
|
-
children: /* @__PURE__ */ v(
|
|
299
|
+
children: /* @__PURE__ */ v(w.ItemIndicator, { children: /* @__PURE__ */ v(se, { className: "size-2 fill-current" }) })
|
|
202
300
|
}), n]
|
|
203
301
|
});
|
|
204
302
|
}
|
|
205
|
-
function
|
|
206
|
-
return /* @__PURE__ */ v(
|
|
303
|
+
function we({ className: t, inset: n, ...r }) {
|
|
304
|
+
return /* @__PURE__ */ v(w.Label, {
|
|
207
305
|
"data-slot": "dropdown-menu-label",
|
|
208
306
|
"data-inset": n,
|
|
209
307
|
className: e("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", t),
|
|
210
308
|
...r
|
|
211
309
|
});
|
|
212
310
|
}
|
|
213
|
-
function
|
|
214
|
-
return /* @__PURE__ */ v(
|
|
311
|
+
function Te({ className: t, ...n }) {
|
|
312
|
+
return /* @__PURE__ */ v(w.Separator, {
|
|
215
313
|
"data-slot": "dropdown-menu-separator",
|
|
216
314
|
className: e("bg-border -mx-1 my-1 h-px", t),
|
|
217
315
|
...n
|
|
218
316
|
});
|
|
219
317
|
}
|
|
220
|
-
function
|
|
318
|
+
function Ee({ className: t, ...n }) {
|
|
221
319
|
return /* @__PURE__ */ v("span", {
|
|
222
320
|
"data-slot": "dropdown-menu-shortcut",
|
|
223
321
|
className: e("text-muted-foreground ml-auto text-xs tracking-widest", t),
|
|
224
322
|
...n
|
|
225
323
|
});
|
|
226
324
|
}
|
|
227
|
-
function
|
|
228
|
-
return /* @__PURE__ */ v(
|
|
325
|
+
function De({ ...e }) {
|
|
326
|
+
return /* @__PURE__ */ v(w.Sub, {
|
|
229
327
|
"data-slot": "dropdown-menu-sub",
|
|
230
328
|
...e
|
|
231
329
|
});
|
|
232
330
|
}
|
|
233
|
-
function
|
|
234
|
-
return /* @__PURE__ */ y(
|
|
331
|
+
function Oe({ className: t, inset: n, children: r, ...i }) {
|
|
332
|
+
return /* @__PURE__ */ y(w.SubTrigger, {
|
|
235
333
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
236
334
|
"data-inset": n,
|
|
237
335
|
className: e("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", t),
|
|
238
336
|
...i,
|
|
239
|
-
children: [r, /* @__PURE__ */ v(
|
|
337
|
+
children: [r, /* @__PURE__ */ v(z, { className: "ml-auto size-4" })]
|
|
240
338
|
});
|
|
241
339
|
}
|
|
242
|
-
function
|
|
243
|
-
return /* @__PURE__ */ v(
|
|
340
|
+
function ke({ className: t, ...n }) {
|
|
341
|
+
return /* @__PURE__ */ v(w.SubContent, {
|
|
244
342
|
"data-slot": "dropdown-menu-sub-content",
|
|
245
343
|
className: e("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg", t),
|
|
246
344
|
...n
|
|
@@ -248,53 +346,53 @@ function be({ className: t, ...n }) {
|
|
|
248
346
|
}
|
|
249
347
|
//#endregion
|
|
250
348
|
//#region src/components/ui/icon-picker-dialog.tsx
|
|
251
|
-
var
|
|
349
|
+
var J = [
|
|
252
350
|
"lucide",
|
|
253
351
|
"tabler",
|
|
254
352
|
"mdi",
|
|
255
353
|
"ph",
|
|
256
354
|
"solar",
|
|
257
355
|
"heroicons"
|
|
258
|
-
],
|
|
259
|
-
async function
|
|
356
|
+
], Ae = J.join(",");
|
|
357
|
+
async function Y(e, t, n) {
|
|
260
358
|
try {
|
|
261
|
-
let r = await fetch(`https://api.iconify.design/search?query=${encodeURIComponent(e)}&limit=${t}&prefixes=${
|
|
359
|
+
let r = await fetch(`https://api.iconify.design/search?query=${encodeURIComponent(e)}&limit=${t}&prefixes=${Ae}`, { signal: n });
|
|
262
360
|
if (r.ok) return (await r.json()).icons ?? [];
|
|
263
361
|
} catch {}
|
|
264
362
|
return [];
|
|
265
363
|
}
|
|
266
|
-
function
|
|
267
|
-
let { t: _ } =
|
|
268
|
-
let n = ++
|
|
364
|
+
function je({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title: d, description: f, suggestKeywords: p }) {
|
|
365
|
+
let { t: _ } = te(), [b, x] = g(""), [S, C] = g([]), [w, T] = g(!1), D = h(null), [O, k] = g(!1), [A, j] = g([]), M = h(0), [N, P] = g(null), F = ee(async (e, t) => {
|
|
366
|
+
let n = ++M.current, r = () => n === M.current && !t.aborted;
|
|
269
367
|
if (!e.trim()) {
|
|
270
|
-
|
|
368
|
+
C([]);
|
|
271
369
|
return;
|
|
272
370
|
}
|
|
273
|
-
|
|
371
|
+
T(!0);
|
|
274
372
|
try {
|
|
275
|
-
let n = await
|
|
276
|
-
r() &&
|
|
373
|
+
let n = await Y(e, 60, t);
|
|
374
|
+
r() && C(n);
|
|
277
375
|
} catch {
|
|
278
|
-
r() &&
|
|
376
|
+
r() && C([]);
|
|
279
377
|
} finally {
|
|
280
|
-
r() &&
|
|
378
|
+
r() && T(!1);
|
|
281
379
|
}
|
|
282
380
|
}, []);
|
|
283
381
|
m(() => {
|
|
284
382
|
let e = new AbortController();
|
|
285
|
-
return
|
|
286
|
-
|
|
383
|
+
return D.current && clearTimeout(D.current), D.current = setTimeout(() => F(b, e.signal), 350), () => {
|
|
384
|
+
D.current && clearTimeout(D.current), e.abort();
|
|
287
385
|
};
|
|
288
|
-
}, [b,
|
|
289
|
-
let
|
|
290
|
-
m(() => () =>
|
|
291
|
-
function
|
|
292
|
-
l(e), t(!1), x(""),
|
|
386
|
+
}, [b, F]);
|
|
387
|
+
let I = h(null);
|
|
388
|
+
m(() => () => I.current?.abort(), []);
|
|
389
|
+
function L(e) {
|
|
390
|
+
l(e), t(!1), x(""), C([]), j([]), P(null);
|
|
293
391
|
}
|
|
294
|
-
async function
|
|
295
|
-
if (!p ||
|
|
392
|
+
async function R() {
|
|
393
|
+
if (!p || O) return;
|
|
296
394
|
let e = new AbortController();
|
|
297
|
-
|
|
395
|
+
I.current = e, k(!0), j([]), P(null);
|
|
298
396
|
try {
|
|
299
397
|
let t = (await p({
|
|
300
398
|
title: d,
|
|
@@ -304,17 +402,17 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
304
402
|
if (e.signal.aborted) return;
|
|
305
403
|
n.push({
|
|
306
404
|
keyword: r.trim(),
|
|
307
|
-
icons: await
|
|
405
|
+
icons: await Y(r.trim(), 30, e.signal)
|
|
308
406
|
});
|
|
309
407
|
}
|
|
310
|
-
e.signal.aborted ||
|
|
408
|
+
e.signal.aborted || j(n);
|
|
311
409
|
} catch {
|
|
312
|
-
e.signal.aborted ||
|
|
410
|
+
e.signal.aborted || j([]);
|
|
313
411
|
} finally {
|
|
314
|
-
e.signal.aborted ||
|
|
412
|
+
e.signal.aborted || k(!1);
|
|
315
413
|
}
|
|
316
414
|
}
|
|
317
|
-
let
|
|
415
|
+
let z = N ? A.find((e) => e.keyword === N)?.icons ?? [] : A.flatMap((e) => e.icons.slice(0, 3)), B = !!p && !!(d?.trim() ?? f?.trim());
|
|
318
416
|
return /* @__PURE__ */ v(r, {
|
|
319
417
|
open: e,
|
|
320
418
|
onOpenChange: t,
|
|
@@ -326,36 +424,36 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
326
424
|
className: "flex gap-2",
|
|
327
425
|
children: [/* @__PURE__ */ y("div", {
|
|
328
426
|
className: "relative flex-1",
|
|
329
|
-
children: [/* @__PURE__ */ v(
|
|
427
|
+
children: [/* @__PURE__ */ v(re, { className: "absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ v(n, {
|
|
330
428
|
value: b,
|
|
331
429
|
onChange: (e) => x(e.target.value),
|
|
332
430
|
placeholder: _("forms.iconPicker.searchIcons", { defaultValue: "Search icons" }),
|
|
333
431
|
className: "pl-9",
|
|
334
432
|
autoFocus: !0
|
|
335
433
|
})]
|
|
336
|
-
}),
|
|
434
|
+
}), B && /* @__PURE__ */ y(a, {
|
|
337
435
|
type: "button",
|
|
338
436
|
size: "sm",
|
|
339
437
|
variant: "outline",
|
|
340
|
-
onClick:
|
|
341
|
-
disabled:
|
|
438
|
+
onClick: R,
|
|
439
|
+
disabled: O,
|
|
342
440
|
className: "shrink-0 gap-1.5",
|
|
343
|
-
children: [
|
|
441
|
+
children: [O ? /* @__PURE__ */ v(ne, { className: "size-4 animate-spin" }) : /* @__PURE__ */ v(ie, { className: "size-4" }), _("forms.iconPicker.aiSuggest", { defaultValue: "Suggest" })]
|
|
344
442
|
})]
|
|
345
443
|
}),
|
|
346
|
-
|
|
444
|
+
A.length > 0 && /* @__PURE__ */ y("div", {
|
|
347
445
|
className: "rounded-lg border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface)] p-3",
|
|
348
446
|
children: [
|
|
349
447
|
/* @__PURE__ */ y("div", {
|
|
350
448
|
className: "mb-2 flex items-center gap-1.5 text-xs font-medium vg-accent-text",
|
|
351
|
-
children: [/* @__PURE__ */ v(
|
|
449
|
+
children: [/* @__PURE__ */ v(ie, { className: "size-3.5" }), _("forms.iconPicker.aiSuggestions", { defaultValue: "Suggestions" })]
|
|
352
450
|
}),
|
|
353
451
|
/* @__PURE__ */ v("div", {
|
|
354
452
|
className: "mb-3 flex flex-wrap gap-1.5",
|
|
355
|
-
children:
|
|
453
|
+
children: A.map((e) => /* @__PURE__ */ y("button", {
|
|
356
454
|
type: "button",
|
|
357
|
-
onClick: () =>
|
|
358
|
-
className: `cursor-pointer rounded-full px-3 py-1 text-xs font-medium transition-all ${
|
|
455
|
+
onClick: () => P(N === e.keyword ? null : e.keyword),
|
|
456
|
+
className: `cursor-pointer rounded-full px-3 py-1 text-xs font-medium transition-all ${N === e.keyword ? "vg-accent-solid text-white" : "bg-[var(--vg-accent-surface)] text-[var(--vg-accent-fg)] hover:bg-[var(--vg-accent-surface-strong)]"}`,
|
|
359
457
|
children: [e.keyword, /* @__PURE__ */ v("span", {
|
|
360
458
|
className: "ml-1 opacity-60",
|
|
361
459
|
children: e.icons.length
|
|
@@ -364,12 +462,12 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
364
462
|
}),
|
|
365
463
|
/* @__PURE__ */ v("div", {
|
|
366
464
|
className: "flex max-h-60 flex-wrap gap-2 overflow-y-auto",
|
|
367
|
-
children:
|
|
465
|
+
children: z.map((e) => /* @__PURE__ */ y("button", {
|
|
368
466
|
type: "button",
|
|
369
|
-
onClick: () =>
|
|
467
|
+
onClick: () => L(e),
|
|
370
468
|
className: `flex cursor-pointer flex-col items-center gap-1 rounded-lg p-2 transition-all hover:bg-[var(--vg-accent-surface)] ${c === e ? "border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface-strong)] vg-accent-text" : "border border-[var(--vg-accent-line)]"}`,
|
|
371
469
|
title: e,
|
|
372
|
-
children: [/* @__PURE__ */ v(
|
|
470
|
+
children: [/* @__PURE__ */ v(E, {
|
|
373
471
|
icon: e,
|
|
374
472
|
className: "size-7"
|
|
375
473
|
}), /* @__PURE__ */ v("span", {
|
|
@@ -383,23 +481,23 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
383
481
|
/* @__PURE__ */ y("div", {
|
|
384
482
|
className: "max-h-[400px] min-h-[200px] flex-1 overflow-y-auto",
|
|
385
483
|
children: [
|
|
386
|
-
|
|
484
|
+
w && /* @__PURE__ */ v("div", {
|
|
387
485
|
className: "flex h-32 items-center justify-center text-sm text-muted-foreground",
|
|
388
486
|
children: _("forms.iconPicker.searching", { defaultValue: "Searching…" })
|
|
389
487
|
}),
|
|
390
|
-
!
|
|
488
|
+
!w && b && S.length === 0 && /* @__PURE__ */ v("div", {
|
|
391
489
|
className: "flex h-32 items-center justify-center text-sm text-muted-foreground",
|
|
392
490
|
children: _("forms.iconPicker.noIconsFound", {
|
|
393
491
|
query: b,
|
|
394
492
|
defaultValue: "No icons found for “{{query}}”"
|
|
395
493
|
})
|
|
396
494
|
}),
|
|
397
|
-
!
|
|
495
|
+
!w && !b && S.length === 0 && A.length === 0 && /* @__PURE__ */ y("div", {
|
|
398
496
|
className: "flex h-32 flex-col items-center justify-center gap-2 px-4 text-center text-sm text-muted-foreground",
|
|
399
497
|
children: [/* @__PURE__ */ v("span", { children: _("forms.iconPicker.typeToSearch", {
|
|
400
|
-
count:
|
|
498
|
+
count: J.length,
|
|
401
499
|
defaultValue: "Type to search {{count}} icon collections"
|
|
402
|
-
}) }),
|
|
500
|
+
}) }), B && /* @__PURE__ */ v("span", {
|
|
403
501
|
className: "text-xs leading-relaxed",
|
|
404
502
|
children: _("forms.iconPicker.orClickAi", { defaultValue: "…or let the title and description suggest some" })
|
|
405
503
|
})]
|
|
@@ -408,10 +506,10 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
408
506
|
className: "grid grid-cols-6 gap-1.5 p-1",
|
|
409
507
|
children: S.map((e) => /* @__PURE__ */ y("button", {
|
|
410
508
|
type: "button",
|
|
411
|
-
onClick: () =>
|
|
509
|
+
onClick: () => L(e),
|
|
412
510
|
className: `flex cursor-pointer flex-col items-center justify-center gap-1 rounded-lg p-2 transition-all hover:bg-muted ${c === e ? "border border-[var(--vg-accent-line)] bg-[var(--vg-accent-surface)] vg-accent-text" : "border border-transparent hover:border-border"}`,
|
|
413
511
|
title: e,
|
|
414
|
-
children: [/* @__PURE__ */ v(
|
|
512
|
+
children: [/* @__PURE__ */ v(E, {
|
|
415
513
|
icon: e,
|
|
416
514
|
className: "size-6"
|
|
417
515
|
}), /* @__PURE__ */ v("span", {
|
|
@@ -426,7 +524,7 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
426
524
|
className: "flex items-center justify-between border-t pt-2",
|
|
427
525
|
children: [/* @__PURE__ */ y("div", {
|
|
428
526
|
className: "flex items-center gap-2",
|
|
429
|
-
children: [/* @__PURE__ */ v(
|
|
527
|
+
children: [/* @__PURE__ */ v(E, {
|
|
430
528
|
icon: c,
|
|
431
529
|
className: "size-5"
|
|
432
530
|
}), /* @__PURE__ */ v("span", {
|
|
@@ -442,7 +540,7 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
442
540
|
onClick: () => {
|
|
443
541
|
u(), t(!1);
|
|
444
542
|
},
|
|
445
|
-
children: [/* @__PURE__ */ v(
|
|
543
|
+
children: [/* @__PURE__ */ v(ae, { className: "size-4" }), _("forms.common.remove", { defaultValue: "Remove" })]
|
|
446
544
|
}), /* @__PURE__ */ v(a, {
|
|
447
545
|
size: "sm",
|
|
448
546
|
type: "button",
|
|
@@ -457,20 +555,20 @@ function Se({ open: e, onOpenChange: t, value: c, onSelect: l, onClear: u, title
|
|
|
457
555
|
}
|
|
458
556
|
//#endregion
|
|
459
557
|
//#region src/components/ui/popover.tsx
|
|
460
|
-
function
|
|
461
|
-
return /* @__PURE__ */ v(
|
|
558
|
+
function Me({ ...e }) {
|
|
559
|
+
return /* @__PURE__ */ v(D.Root, {
|
|
462
560
|
"data-slot": "popover",
|
|
463
561
|
...e
|
|
464
562
|
});
|
|
465
563
|
}
|
|
466
|
-
function
|
|
467
|
-
return /* @__PURE__ */ v(
|
|
564
|
+
function Ne({ ...e }) {
|
|
565
|
+
return /* @__PURE__ */ v(D.Trigger, {
|
|
468
566
|
"data-slot": "popover-trigger",
|
|
469
567
|
...e
|
|
470
568
|
});
|
|
471
569
|
}
|
|
472
|
-
function
|
|
473
|
-
return /* @__PURE__ */ v(
|
|
570
|
+
function Pe({ className: t, align: n = "center", sideOffset: r = 4, ...i }) {
|
|
571
|
+
return /* @__PURE__ */ v(D.Portal, { children: /* @__PURE__ */ v(D.Content, {
|
|
474
572
|
"data-slot": "popover-content",
|
|
475
573
|
align: n,
|
|
476
574
|
sideOffset: r,
|
|
@@ -478,27 +576,27 @@ function Te({ className: t, align: n = "center", sideOffset: r = 4, ...i }) {
|
|
|
478
576
|
...i
|
|
479
577
|
}) });
|
|
480
578
|
}
|
|
481
|
-
function
|
|
482
|
-
return /* @__PURE__ */ v(
|
|
579
|
+
function Fe({ ...e }) {
|
|
580
|
+
return /* @__PURE__ */ v(D.Anchor, {
|
|
483
581
|
"data-slot": "popover-anchor",
|
|
484
582
|
...e
|
|
485
583
|
});
|
|
486
584
|
}
|
|
487
|
-
function
|
|
585
|
+
function Ie({ className: t, ...n }) {
|
|
488
586
|
return /* @__PURE__ */ v("div", {
|
|
489
587
|
"data-slot": "popover-header",
|
|
490
588
|
className: e("flex flex-col gap-1 text-sm", t),
|
|
491
589
|
...n
|
|
492
590
|
});
|
|
493
591
|
}
|
|
494
|
-
function
|
|
592
|
+
function Le({ className: t, ...n }) {
|
|
495
593
|
return /* @__PURE__ */ v("div", {
|
|
496
594
|
"data-slot": "popover-title",
|
|
497
595
|
className: e("font-medium", t),
|
|
498
596
|
...n
|
|
499
597
|
});
|
|
500
598
|
}
|
|
501
|
-
function
|
|
599
|
+
function Re({ className: t, ...n }) {
|
|
502
600
|
return /* @__PURE__ */ v("p", {
|
|
503
601
|
"data-slot": "popover-description",
|
|
504
602
|
className: e("text-muted-foreground", t),
|
|
@@ -506,8 +604,36 @@ function ke({ className: t, ...n }) {
|
|
|
506
604
|
});
|
|
507
605
|
}
|
|
508
606
|
//#endregion
|
|
607
|
+
//#region src/components/ui/resizable.tsx
|
|
608
|
+
function ze({ className: t, ...n }) {
|
|
609
|
+
return /* @__PURE__ */ v(O, {
|
|
610
|
+
"data-slot": "resizable-panel-group",
|
|
611
|
+
className: e("flex h-full w-full", t),
|
|
612
|
+
...n
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
function Be({ overflowHidden: t, className: n, ...r }) {
|
|
616
|
+
return /* @__PURE__ */ v(k, {
|
|
617
|
+
"data-slot": "resizable-panel",
|
|
618
|
+
className: e(t && "[&>div]:overflow-hidden!", n),
|
|
619
|
+
style: t ? { overflow: "hidden" } : void 0,
|
|
620
|
+
...r
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
function Ve({ withHandle: t, className: n, ...r }) {
|
|
624
|
+
return /* @__PURE__ */ v(A, {
|
|
625
|
+
"data-slot": "resizable-handle",
|
|
626
|
+
className: e("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:-left-2 after:-right-2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden", "[&[aria-orientation=horizontal]]:h-px [&[aria-orientation=horizontal]]:w-full [&[aria-orientation=horizontal]]:after:inset-x-0 [&[aria-orientation=horizontal]]:after:-top-2 [&[aria-orientation=horizontal]]:after:-bottom-2 [&[aria-orientation=horizontal]>div]:rotate-90", n),
|
|
627
|
+
...r,
|
|
628
|
+
children: t && /* @__PURE__ */ v("div", {
|
|
629
|
+
className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border",
|
|
630
|
+
children: /* @__PURE__ */ v(ce, { className: "size-2.5" })
|
|
631
|
+
})
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
//#endregion
|
|
509
635
|
//#region src/components/ui/section-card.tsx
|
|
510
|
-
var
|
|
636
|
+
var X = {
|
|
511
637
|
blue: {
|
|
512
638
|
color: "text-blue-600 dark:text-blue-400",
|
|
513
639
|
bg: "from-blue-500/10 to-indigo-500/10 dark:from-blue-500/20 dark:to-indigo-500/20",
|
|
@@ -548,14 +674,14 @@ var G = {
|
|
|
548
674
|
bg: "from-slate-500/10 to-gray-500/10 dark:from-slate-500/20 dark:to-gray-500/20",
|
|
549
675
|
ring: "ring-slate-500/10 dark:ring-slate-400/10"
|
|
550
676
|
}
|
|
551
|
-
},
|
|
677
|
+
}, Z = f({
|
|
552
678
|
open: !0,
|
|
553
679
|
toggle: () => {},
|
|
554
680
|
variant: "blue"
|
|
555
681
|
});
|
|
556
|
-
function
|
|
682
|
+
function Q({ variant: t = "blue", defaultOpen: n = !0, children: r, className: i }) {
|
|
557
683
|
let [a, o] = g(n);
|
|
558
|
-
return /* @__PURE__ */ v(
|
|
684
|
+
return /* @__PURE__ */ v(Z.Provider, {
|
|
559
685
|
value: {
|
|
560
686
|
open: a,
|
|
561
687
|
toggle: () => o((e) => !e),
|
|
@@ -567,8 +693,8 @@ function q({ variant: t = "blue", defaultOpen: n = !0, children: r, className: i
|
|
|
567
693
|
})
|
|
568
694
|
});
|
|
569
695
|
}
|
|
570
|
-
function
|
|
571
|
-
let { open: a, toggle: o, variant: s } = p(
|
|
696
|
+
function He({ icon: t, title: n, description: r, className: i }) {
|
|
697
|
+
let { open: a, toggle: o, variant: s } = p(Z), c = X[s];
|
|
572
698
|
return /* @__PURE__ */ y("button", {
|
|
573
699
|
type: "button",
|
|
574
700
|
onClick: o,
|
|
@@ -588,12 +714,12 @@ function Ae({ icon: t, title: n, description: r, className: i }) {
|
|
|
588
714
|
children: r
|
|
589
715
|
})]
|
|
590
716
|
}),
|
|
591
|
-
/* @__PURE__ */ v(
|
|
717
|
+
/* @__PURE__ */ v(T, { className: e("ml-auto size-4 text-muted-foreground shrink-0 transition-transform duration-200", a && "rotate-180") })
|
|
592
718
|
]
|
|
593
719
|
});
|
|
594
720
|
}
|
|
595
|
-
function
|
|
596
|
-
let { variant: a } = p(
|
|
721
|
+
function Ue({ icon: t, title: n, description: r, className: i }) {
|
|
722
|
+
let { variant: a } = p(Z), o = X[a];
|
|
597
723
|
return /* @__PURE__ */ y("div", {
|
|
598
724
|
className: e("flex items-center gap-3 px-5 py-4 bg-muted/40 border-b", i),
|
|
599
725
|
children: [/* @__PURE__ */ v("div", {
|
|
@@ -611,63 +737,76 @@ function je({ icon: t, title: n, description: r, className: i }) {
|
|
|
611
737
|
})]
|
|
612
738
|
});
|
|
613
739
|
}
|
|
614
|
-
function
|
|
615
|
-
let { open: r } = p(
|
|
740
|
+
function We({ children: t, className: n }) {
|
|
741
|
+
let { open: r } = p(Z);
|
|
616
742
|
return r ? /* @__PURE__ */ v("div", {
|
|
617
743
|
className: e("p-5 space-y-6", n),
|
|
618
744
|
children: t
|
|
619
745
|
}) : null;
|
|
620
746
|
}
|
|
621
|
-
|
|
747
|
+
Q.Header = He, Q.StaticHeader = Ue, Q.Content = We;
|
|
622
748
|
//#endregion
|
|
623
749
|
//#region src/components/ui/tooltip.tsx
|
|
624
|
-
var
|
|
625
|
-
function
|
|
626
|
-
return /* @__PURE__ */ v(
|
|
750
|
+
var Ge = u.createContext(!1);
|
|
751
|
+
function Ke({ delayDuration: e = 0, ...t }) {
|
|
752
|
+
return /* @__PURE__ */ v(Ge, {
|
|
627
753
|
value: !0,
|
|
628
|
-
children: /* @__PURE__ */ v(
|
|
754
|
+
children: /* @__PURE__ */ v(j.Provider, {
|
|
629
755
|
"data-slot": "tooltip-provider",
|
|
630
756
|
delayDuration: e,
|
|
631
757
|
...t
|
|
632
758
|
})
|
|
633
759
|
});
|
|
634
760
|
}
|
|
635
|
-
function
|
|
636
|
-
let t = u.useContext(
|
|
761
|
+
function qe({ ...e }) {
|
|
762
|
+
let t = u.useContext(Ge), n = /* @__PURE__ */ v(j.Root, {
|
|
637
763
|
"data-slot": "tooltip",
|
|
638
764
|
...e
|
|
639
765
|
});
|
|
640
|
-
return t ? n : /* @__PURE__ */ v(
|
|
766
|
+
return t ? n : /* @__PURE__ */ v(Ke, { children: n });
|
|
641
767
|
}
|
|
642
|
-
function
|
|
643
|
-
return /* @__PURE__ */ v(
|
|
768
|
+
function Je({ ...e }) {
|
|
769
|
+
return /* @__PURE__ */ v(j.Trigger, {
|
|
644
770
|
"data-slot": "tooltip-trigger",
|
|
645
771
|
...e
|
|
646
772
|
});
|
|
647
773
|
}
|
|
648
|
-
function
|
|
649
|
-
return /* @__PURE__ */ v(
|
|
774
|
+
function Ye({ className: t, sideOffset: n = 0, children: r, ...i }) {
|
|
775
|
+
return /* @__PURE__ */ v(j.Portal, { children: /* @__PURE__ */ y(j.Content, {
|
|
650
776
|
"data-slot": "tooltip-content",
|
|
651
777
|
sideOffset: n,
|
|
652
778
|
className: e("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", t),
|
|
653
779
|
...i,
|
|
654
|
-
children: [r, /* @__PURE__ */ v(
|
|
780
|
+
children: [r, /* @__PURE__ */ v(j.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
|
|
655
781
|
}) });
|
|
656
782
|
}
|
|
657
783
|
//#endregion
|
|
784
|
+
//#region src/hooks/use-mobile.ts
|
|
785
|
+
var Xe = "(max-width: 767px)";
|
|
786
|
+
function Ze() {
|
|
787
|
+
return window.matchMedia(Xe);
|
|
788
|
+
}
|
|
789
|
+
function Qe(e) {
|
|
790
|
+
let t = Ze();
|
|
791
|
+
return t.addEventListener("change", e), () => t.removeEventListener("change", e);
|
|
792
|
+
}
|
|
793
|
+
function $e() {
|
|
794
|
+
return u.useSyncExternalStore(Qe, () => Ze().matches, () => !1);
|
|
795
|
+
}
|
|
796
|
+
//#endregion
|
|
658
797
|
//#region src/components/ui/sonner.tsx
|
|
659
|
-
var
|
|
660
|
-
let { theme: t = "system" } =
|
|
661
|
-
return /* @__PURE__ */ v(
|
|
798
|
+
var et = ({ ...e }) => {
|
|
799
|
+
let { theme: t = "system" } = M(), { t: n } = te();
|
|
800
|
+
return /* @__PURE__ */ v(N, {
|
|
662
801
|
theme: t,
|
|
663
802
|
className: "toaster group",
|
|
664
803
|
containerAriaLabel: n("common.notifications", { defaultValue: "Notifications" }),
|
|
665
804
|
icons: {
|
|
666
|
-
success: /* @__PURE__ */ v(
|
|
667
|
-
info: /* @__PURE__ */ v(
|
|
668
|
-
warning: /* @__PURE__ */ v(
|
|
669
|
-
error: /* @__PURE__ */ v(
|
|
670
|
-
loading: /* @__PURE__ */ v(
|
|
805
|
+
success: /* @__PURE__ */ v(oe, { className: "size-4" }),
|
|
806
|
+
info: /* @__PURE__ */ v(le, { className: "size-4" }),
|
|
807
|
+
warning: /* @__PURE__ */ v(fe, { className: "size-4" }),
|
|
808
|
+
error: /* @__PURE__ */ v(de, { className: "size-4" }),
|
|
809
|
+
loading: /* @__PURE__ */ v(ue, { className: "size-4 animate-spin" })
|
|
671
810
|
},
|
|
672
811
|
style: {
|
|
673
812
|
"--normal-bg": "var(--vg-popover)",
|
|
@@ -679,8 +818,38 @@ var Fe = ({ ...e }) => {
|
|
|
679
818
|
});
|
|
680
819
|
};
|
|
681
820
|
//#endregion
|
|
821
|
+
//#region src/components/ui/tabs.tsx
|
|
822
|
+
function tt({ className: t, ...n }) {
|
|
823
|
+
return /* @__PURE__ */ v(F.Root, {
|
|
824
|
+
"data-slot": "tabs",
|
|
825
|
+
className: e("flex flex-col gap-2", t),
|
|
826
|
+
...n
|
|
827
|
+
});
|
|
828
|
+
}
|
|
829
|
+
function nt({ className: t, ...n }) {
|
|
830
|
+
return /* @__PURE__ */ v(F.List, {
|
|
831
|
+
"data-slot": "tabs-list",
|
|
832
|
+
className: e("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", t),
|
|
833
|
+
...n
|
|
834
|
+
});
|
|
835
|
+
}
|
|
836
|
+
function rt({ className: t, ...n }) {
|
|
837
|
+
return /* @__PURE__ */ v(F.Trigger, {
|
|
838
|
+
"data-slot": "tabs-trigger",
|
|
839
|
+
className: e("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", t),
|
|
840
|
+
...n
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
function it({ className: t, ...n }) {
|
|
844
|
+
return /* @__PURE__ */ v(F.Content, {
|
|
845
|
+
"data-slot": "tabs-content",
|
|
846
|
+
className: e("flex-1 outline-none", t),
|
|
847
|
+
...n
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
//#endregion
|
|
682
851
|
//#region src/components/ui/user-avatar.tsx
|
|
683
|
-
function
|
|
852
|
+
function at({ givenName: e, familyName: t, name: n }) {
|
|
684
853
|
let r = (e ?? "").trim(), i = (t ?? "").trim();
|
|
685
854
|
if (r || i) {
|
|
686
855
|
let e = r ? r[0] : "", t = i.split(/\s+/).filter(Boolean), n = `${e}${t.length > 0 ? t[t.length - 1][0] : ""}`.toUpperCase();
|
|
@@ -693,8 +862,8 @@ function Z({ givenName: e, familyName: t, name: n }) {
|
|
|
693
862
|
}
|
|
694
863
|
return "U";
|
|
695
864
|
}
|
|
696
|
-
function
|
|
697
|
-
let l =
|
|
865
|
+
function ot({ className: t, givenName: n, familyName: r, name: i, src: a, alt: o, children: s, ...c }) {
|
|
866
|
+
let l = at({
|
|
698
867
|
givenName: n,
|
|
699
868
|
familyName: r,
|
|
700
869
|
name: i
|
|
@@ -718,14 +887,14 @@ function Ie({ className: t, givenName: n, familyName: r, name: i, src: a, alt: o
|
|
|
718
887
|
}
|
|
719
888
|
//#endregion
|
|
720
889
|
//#region src/lib/corner-slot.ts
|
|
721
|
-
var
|
|
722
|
-
function
|
|
723
|
-
return p(
|
|
890
|
+
var st = f(!1);
|
|
891
|
+
function ct() {
|
|
892
|
+
return p(st);
|
|
724
893
|
}
|
|
725
894
|
//#endregion
|
|
726
895
|
//#region src/contexts/user.context.tsx
|
|
727
896
|
var $ = d.createContext(null);
|
|
728
|
-
function
|
|
897
|
+
function lt({ children: e, fetchUser: t }) {
|
|
729
898
|
let [n, r] = d.useState({}), [i, a] = d.useState("loading"), [o, s] = d.useState(null), c = d.useRef(0), l = d.useCallback(() => {
|
|
730
899
|
let e = ++c.current;
|
|
731
900
|
t().then((t) => {
|
|
@@ -753,10 +922,10 @@ function Re({ children: e, fetchUser: t }) {
|
|
|
753
922
|
children: e
|
|
754
923
|
});
|
|
755
924
|
}
|
|
756
|
-
function
|
|
925
|
+
function ut() {
|
|
757
926
|
let e = d.useContext($);
|
|
758
927
|
if (!e) throw Error("useCurrentUser must be used within UserProvider");
|
|
759
928
|
return e;
|
|
760
929
|
}
|
|
761
930
|
//#endregion
|
|
762
|
-
export {
|
|
931
|
+
export { je as A, Te as B, Me as C, Ie as D, Re as E, be as F, _e as G, De as H, we as I, q as J, me as K, ge as L, xe as M, ve as N, Le as O, ye as P, Se as R, ze as S, Pe as T, ke as U, Ee as V, Oe as W, L as X, z as Y, Je as _, ot as a, Ve as b, it as c, et as d, P as f, Ke as g, Ye as h, ct as i, he as j, Ne as k, nt as l, qe as m, ut as n, at as o, $e as p, pe as q, st as r, tt as s, lt as t, rt as u, Q as v, Fe as w, Be as x, X as y, Ce as z };
|