@asteby/metacore-starter-core 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/components/ui/accordion.d.ts +8 -0
- package/dist/components/ui/accordion.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +15 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert.d.ts +10 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/avatar.d.ts +7 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +11 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/code-editor.d.ts +13 -0
- package/dist/components/ui/code-editor.d.ts.map +1 -0
- package/dist/components/ui/collapsible.d.ts +6 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/command.d.ts +19 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/dialog.d.ts +16 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +26 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/form.d.ts +25 -0
- package/dist/components/ui/form.d.ts.map +1 -0
- package/dist/components/ui/image-upload.d.ts +11 -0
- package/dist/components/ui/image-upload.d.ts.map +1 -0
- package/dist/components/ui/index.d.ts +37 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/input-otp.d.ts +12 -0
- package/dist/components/ui/input-otp.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +4 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/label.d.ts +5 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/multi-select.d.ts +18 -0
- package/dist/components/ui/multi-select.d.ts.map +1 -0
- package/dist/components/ui/phone-input.d.ts +8 -0
- package/dist/components/ui/phone-input.d.ts.map +1 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/progress.d.ts +5 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/radio-group.d.ts +6 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +11 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/select.d.ts +16 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/separator.d.ts +5 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/sheet.d.ts +14 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sidebar.d.ts +70 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -0
- package/dist/components/ui/skeleton.d.ts +3 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/sonner.d.ts +3 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/table.d.ts +14 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/tabs.d.ts +8 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/textarea.d.ts +4 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/context/theme-provider.d.ts +18 -0
- package/dist/context/theme-provider.d.ts.map +1 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/i18n/i18n.d.ts +5 -0
- package/dist/i18n/i18n.d.ts.map +1 -0
- package/dist/index.cjs +7 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2350 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api.d.ts +2 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/cookies.d.ts +17 -0
- package/dist/lib/cookies.d.ts.map +1 -0
- package/dist/lib/countries.d.ts +7 -0
- package/dist/lib/countries.d.ts.map +1 -0
- package/dist/lib/currency-utils.d.ts +17 -0
- package/dist/lib/currency-utils.d.ts.map +1 -0
- package/dist/lib/date-utils.d.ts +10 -0
- package/dist/lib/date-utils.d.ts.map +1 -0
- package/dist/lib/format.d.ts +11 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/handle-server-error.d.ts +2 -0
- package/dist/lib/handle-server-error.d.ts.map +1 -0
- package/dist/lib/index.d.ts +13 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/notifications.d.ts +20 -0
- package/dist/lib/notifications.d.ts.map +1 -0
- package/dist/lib/option-colors.d.ts +27 -0
- package/dist/lib/option-colors.d.ts.map +1 -0
- package/dist/lib/push-notifications.d.ts +17 -0
- package/dist/lib/push-notifications.d.ts.map +1 -0
- package/dist/lib/sound.d.ts +2 -0
- package/dist/lib/sound.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +28 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/stores/auth-store.d.ts +37 -0
- package/dist/stores/auth-store.d.ts.map +1 -0
- package/package.json +5 -5
package/dist/index.js
ADDED
|
@@ -0,0 +1,2350 @@
|
|
|
1
|
+
import { clsx as e } from "clsx";
|
|
2
|
+
import { twMerge as t } from "tailwind-merge";
|
|
3
|
+
import { create as n } from "zustand";
|
|
4
|
+
import { Toaster as r, toast as i } from "sonner";
|
|
5
|
+
import a, { AxiosError as o } from "axios";
|
|
6
|
+
import * as s from "react";
|
|
7
|
+
import { createContext as c, useContext as l, useEffect as u, useRef as d, useState as f } from "react";
|
|
8
|
+
import * as p from "@radix-ui/react-accordion";
|
|
9
|
+
import { Check as m, CheckIcon as h, ChevronDown as g, ChevronDownIcon as _, ChevronLeftIcon as ee, ChevronRightIcon as te, ChevronUpIcon as ne, ChevronsUpDown as re, CircleIcon as ie, Image as ae, Loader2 as oe, MinusIcon as se, PanelLeftIcon as ce, SearchIcon as le, X as ue, XIcon as de } from "lucide-react";
|
|
10
|
+
import { jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
11
|
+
import { cva as b } from "class-variance-authority";
|
|
12
|
+
import * as x from "@radix-ui/react-alert-dialog";
|
|
13
|
+
import { Slot as S } from "@radix-ui/react-slot";
|
|
14
|
+
import * as C from "@radix-ui/react-avatar";
|
|
15
|
+
import { DayPicker as fe, getDefaultClassNames as pe } from "react-day-picker";
|
|
16
|
+
import * as me from "@radix-ui/react-checkbox";
|
|
17
|
+
import he from "@monaco-editor/react";
|
|
18
|
+
import * as ge from "@radix-ui/react-collapsible";
|
|
19
|
+
import { Command as w } from "cmdk";
|
|
20
|
+
import * as T from "@radix-ui/react-dialog";
|
|
21
|
+
import * as E from "@radix-ui/react-dropdown-menu";
|
|
22
|
+
import { Controller as _e, FormProvider as ve, useFormContext as ye, useFormState as be } from "react-hook-form";
|
|
23
|
+
import * as xe from "@radix-ui/react-label";
|
|
24
|
+
import { OTPInput as Se, OTPInputContext as Ce } from "input-otp";
|
|
25
|
+
import * as D from "@radix-ui/react-popover";
|
|
26
|
+
import * as we from "react-phone-number-input";
|
|
27
|
+
import Te from "react-phone-number-input/flags";
|
|
28
|
+
import * as O from "@radix-ui/react-scroll-area";
|
|
29
|
+
import * as k from "@radix-ui/react-progress";
|
|
30
|
+
import * as Ee from "@radix-ui/react-radio-group";
|
|
31
|
+
import * as A from "@radix-ui/react-select";
|
|
32
|
+
import * as De from "@radix-ui/react-separator";
|
|
33
|
+
import * as j from "@radix-ui/react-tooltip";
|
|
34
|
+
import * as Oe from "@radix-ui/react-switch";
|
|
35
|
+
import * as M from "@radix-ui/react-tabs";
|
|
36
|
+
//#region src/lib/utils.ts
|
|
37
|
+
function N(...n) {
|
|
38
|
+
return t(e(n));
|
|
39
|
+
}
|
|
40
|
+
function ke(e, t) {
|
|
41
|
+
if (!e) return "";
|
|
42
|
+
if (e.startsWith("http://") || e.startsWith("https://")) return e;
|
|
43
|
+
let n = "http://localhost:8080/api".replace(/\/api$/, "");
|
|
44
|
+
return e.startsWith("/storage/") ? `${n}${e}` : `${n}/storage/${t}/${e}`;
|
|
45
|
+
}
|
|
46
|
+
function Ae(e) {
|
|
47
|
+
return e ? e.startsWith("http://") || e.startsWith("https://") ? e : `${"http://localhost:8080".replace(/\/api\/?$/, "").replace(/\/+$/, "")}${e.startsWith("/") ? e : `/${e}`}` : "";
|
|
48
|
+
}
|
|
49
|
+
function je(e = 1e3) {
|
|
50
|
+
return new Promise((t) => setTimeout(t, e));
|
|
51
|
+
}
|
|
52
|
+
function Me(e, t) {
|
|
53
|
+
let n = [];
|
|
54
|
+
if (t <= 5) for (let e = 1; e <= t; e++) n.push(e);
|
|
55
|
+
else if (n.push(1), e <= 3) {
|
|
56
|
+
for (let e = 2; e <= 4; e++) n.push(e);
|
|
57
|
+
n.push("...", t);
|
|
58
|
+
} else if (e >= t - 2) {
|
|
59
|
+
n.push("...");
|
|
60
|
+
for (let e = t - 3; e <= t; e++) n.push(e);
|
|
61
|
+
} else {
|
|
62
|
+
n.push("...");
|
|
63
|
+
for (let t = e - 1; t <= e + 1; t++) n.push(t);
|
|
64
|
+
n.push("...", t);
|
|
65
|
+
}
|
|
66
|
+
return n;
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
//#region src/stores/auth-store.ts
|
|
70
|
+
var P = "auth_token", F = "auth_user", I = n()((e) => {
|
|
71
|
+
let t = localStorage.getItem(P) || "", n = localStorage.getItem(F);
|
|
72
|
+
return { auth: {
|
|
73
|
+
user: n ? JSON.parse(n) : null,
|
|
74
|
+
setUser: (t) => e((e) => (t ? localStorage.setItem(F, JSON.stringify(t)) : localStorage.removeItem(F), {
|
|
75
|
+
...e,
|
|
76
|
+
auth: {
|
|
77
|
+
...e.auth,
|
|
78
|
+
user: t
|
|
79
|
+
}
|
|
80
|
+
})),
|
|
81
|
+
accessToken: t,
|
|
82
|
+
setAccessToken: (t) => e((e) => (localStorage.setItem(P, t), {
|
|
83
|
+
...e,
|
|
84
|
+
auth: {
|
|
85
|
+
...e.auth,
|
|
86
|
+
accessToken: t
|
|
87
|
+
}
|
|
88
|
+
})),
|
|
89
|
+
resetAccessToken: () => e((e) => (localStorage.removeItem(P), localStorage.removeItem(F), {
|
|
90
|
+
...e,
|
|
91
|
+
auth: {
|
|
92
|
+
...e.auth,
|
|
93
|
+
accessToken: "",
|
|
94
|
+
user: null
|
|
95
|
+
}
|
|
96
|
+
})),
|
|
97
|
+
reset: () => e((e) => (localStorage.removeItem(P), localStorage.removeItem(F), {
|
|
98
|
+
...e,
|
|
99
|
+
auth: {
|
|
100
|
+
...e.auth,
|
|
101
|
+
user: null,
|
|
102
|
+
accessToken: ""
|
|
103
|
+
}
|
|
104
|
+
}))
|
|
105
|
+
} };
|
|
106
|
+
}), Ne = {
|
|
107
|
+
PEN: "S/",
|
|
108
|
+
VES: "Bs.",
|
|
109
|
+
BOB: "Bs.",
|
|
110
|
+
GTQ: "Q",
|
|
111
|
+
HNL: "L",
|
|
112
|
+
NIO: "C$",
|
|
113
|
+
CRC: "₡",
|
|
114
|
+
PAB: "B/.",
|
|
115
|
+
PYG: "₲",
|
|
116
|
+
MXN: "$",
|
|
117
|
+
COP: "$",
|
|
118
|
+
ARS: "$",
|
|
119
|
+
CLP: "$",
|
|
120
|
+
UYU: "$",
|
|
121
|
+
DOP: "$",
|
|
122
|
+
CUP: "$",
|
|
123
|
+
EUR: "€",
|
|
124
|
+
USD: "$"
|
|
125
|
+
};
|
|
126
|
+
function Pe(e, t = "USD", n = "es") {
|
|
127
|
+
try {
|
|
128
|
+
return new Intl.NumberFormat(n, {
|
|
129
|
+
style: "currency",
|
|
130
|
+
currency: t
|
|
131
|
+
}).format(e);
|
|
132
|
+
} catch {
|
|
133
|
+
return `${t} ${e}`;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function Fe(e) {
|
|
137
|
+
return Ne[e] || (typeof Intl < "u" ? new Intl.NumberFormat("en-US", {
|
|
138
|
+
style: "currency",
|
|
139
|
+
currency: e,
|
|
140
|
+
currencyDisplay: "narrowSymbol"
|
|
141
|
+
}).formatToParts(0).find((e) => e.type === "currency")?.value || e : "$");
|
|
142
|
+
}
|
|
143
|
+
//#endregion
|
|
144
|
+
//#region src/lib/format.ts
|
|
145
|
+
function Ie() {
|
|
146
|
+
let e = I((e) => e.auth.user?.currency_code) || "USD";
|
|
147
|
+
return (t) => Pe(t, e);
|
|
148
|
+
}
|
|
149
|
+
function Le(e) {
|
|
150
|
+
return Pe(e, I.getState().auth.user?.currency_code || "USD");
|
|
151
|
+
}
|
|
152
|
+
//#endregion
|
|
153
|
+
//#region src/lib/date-utils.ts
|
|
154
|
+
function Re() {
|
|
155
|
+
let e = typeof Intl < "u" && Intl.supportedValuesOf ? Intl.supportedValuesOf("timeZone") : [
|
|
156
|
+
"UTC",
|
|
157
|
+
"America/Mexico_City",
|
|
158
|
+
"America/Bogota",
|
|
159
|
+
"America/Santiago",
|
|
160
|
+
"America/Argentina/Buenos_Aires",
|
|
161
|
+
"America/New_York",
|
|
162
|
+
"America/Los_Angeles",
|
|
163
|
+
"Europe/Madrid",
|
|
164
|
+
"Europe/London",
|
|
165
|
+
"Europe/Paris",
|
|
166
|
+
"Asia/Tokyo",
|
|
167
|
+
"Asia/Shanghai",
|
|
168
|
+
"Asia/Dubai",
|
|
169
|
+
"Australia/Sydney"
|
|
170
|
+
], t = /* @__PURE__ */ new Date();
|
|
171
|
+
return e.map((e) => {
|
|
172
|
+
try {
|
|
173
|
+
let n = new Intl.DateTimeFormat("en-US", {
|
|
174
|
+
timeZone: e,
|
|
175
|
+
timeZoneName: "shortOffset"
|
|
176
|
+
}).formatToParts(t).find((e) => e.type === "timeZoneName")?.value || "";
|
|
177
|
+
return {
|
|
178
|
+
value: e,
|
|
179
|
+
label: `(${n}) ${e.replace(/_/g, " ")}`,
|
|
180
|
+
offset: n
|
|
181
|
+
};
|
|
182
|
+
} catch {
|
|
183
|
+
return {
|
|
184
|
+
value: e,
|
|
185
|
+
label: e,
|
|
186
|
+
offset: ""
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}).sort((e, t) => {
|
|
190
|
+
let n = (e) => {
|
|
191
|
+
if (!e || e === "GMT") return 0;
|
|
192
|
+
let t = e.match(/GMT([+-])(\d+)(?::(\d+))?/);
|
|
193
|
+
if (!t) return 0;
|
|
194
|
+
let n = t[1] === "+" ? 1 : -1, r = parseInt(t[2]), i = parseInt(t[3] || "0");
|
|
195
|
+
return n * (r * 60 + i);
|
|
196
|
+
}, r = n(e.offset), i = n(t.offset);
|
|
197
|
+
return r === i ? e.value.localeCompare(t.value) : r - i;
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/lib/countries.ts
|
|
202
|
+
var ze = /* @__PURE__ */ "AR.AT.AU.AE.AL.AO.AZ.BA.BB.BD.BE.BG.BH.BO.BR.BS.BY.BZ.CA.CD.CH.CI.CL.CM.CN.CO.CR.CU.CY.CZ.DE.DK.DO.DZ.EC.EE.EG.ES.ET.SV.FI.FJ.FR.GB.GE.GH.GR.GT.GY.HK.HN.HR.HT.HU.ID.IE.IL.IN.IQ.IR.IS.IT.JM.JO.JP.KE.KH.KR.KW.KZ.LA.LB.LK.LT.LU.LV.LY.MA.MD.ME.MK.MM.MN.MT.MU.MX.MY.MZ.NG.NI.NL.NO.NP.NZ.OM.PA.PE.PG.PH.PK.PL.PR.PT.PY.QA.RO.RS.RU.RW.SA.SE.SG.SI.SK.SN.SR.TH.TN.TR.TT.TW.TZ.UA.UG.US.UY.UZ.VE.VN.ZA".split(".");
|
|
203
|
+
function Be(e) {
|
|
204
|
+
return String.fromCodePoint(...e.toUpperCase().split("").map((e) => 127462 + e.charCodeAt(0) - 65));
|
|
205
|
+
}
|
|
206
|
+
function Ve(e) {
|
|
207
|
+
let t = e || navigator.language || "es", n = new Intl.DisplayNames([t], { type: "region" });
|
|
208
|
+
return ze.map((e) => ({
|
|
209
|
+
code: e,
|
|
210
|
+
name: n.of(e) || e,
|
|
211
|
+
flag: Be(e)
|
|
212
|
+
})).sort((e, n) => e.name.localeCompare(n.name, t));
|
|
213
|
+
}
|
|
214
|
+
//#endregion
|
|
215
|
+
//#region src/lib/option-colors.ts
|
|
216
|
+
var He = {
|
|
217
|
+
red: "ef4444",
|
|
218
|
+
orange: "f97316",
|
|
219
|
+
amber: "f59e0b",
|
|
220
|
+
yellow: "eab308",
|
|
221
|
+
lime: "84cc16",
|
|
222
|
+
green: "22c55e",
|
|
223
|
+
emerald: "10b981",
|
|
224
|
+
teal: "14b8a6",
|
|
225
|
+
cyan: "06b6d4",
|
|
226
|
+
sky: "0ea5e9",
|
|
227
|
+
blue: "3b82f6",
|
|
228
|
+
indigo: "6366f1",
|
|
229
|
+
violet: "8b5cf6",
|
|
230
|
+
purple: "a855f7",
|
|
231
|
+
fuchsia: "d946ef",
|
|
232
|
+
pink: "ec4899",
|
|
233
|
+
rose: "f43f5e",
|
|
234
|
+
gray: "6b7280",
|
|
235
|
+
slate: "64748b",
|
|
236
|
+
zinc: "71717a",
|
|
237
|
+
neutral: "737373",
|
|
238
|
+
stone: "78716c"
|
|
239
|
+
}, Ue = (e) => e ? He[e.toLowerCase()] || e.replace("#", "") : "", We = (e) => {
|
|
240
|
+
let t = Ue(e);
|
|
241
|
+
return t ? `#${t}` : "";
|
|
242
|
+
}, Ge = (e, { isDark: t }) => {
|
|
243
|
+
let n = Ue(e);
|
|
244
|
+
if (n.length < 6) return {};
|
|
245
|
+
let r = parseInt(n.substring(0, 2), 16), i = parseInt(n.substring(2, 4), 16), a = parseInt(n.substring(4, 6), 16);
|
|
246
|
+
return t ? {
|
|
247
|
+
backgroundColor: `rgba(${r}, ${i}, ${a}, 0.2)`,
|
|
248
|
+
color: `rgb(${Math.min(255, Math.floor(r * 1.2))}, ${Math.min(255, Math.floor(i * 1.2))}, ${Math.min(255, Math.floor(a * 1.2))})`,
|
|
249
|
+
border: `1px solid rgba(${r}, ${i}, ${a}, 0.5)`,
|
|
250
|
+
fontWeight: 500
|
|
251
|
+
} : {
|
|
252
|
+
backgroundColor: `rgba(${r}, ${i}, ${a}, 0.12)`,
|
|
253
|
+
color: `rgb(${Math.floor(r * .5)}, ${Math.floor(i * .5)}, ${Math.floor(a * .5)})`,
|
|
254
|
+
border: `1px solid rgba(${r}, ${i}, ${a}, 0.25)`,
|
|
255
|
+
fontWeight: 500
|
|
256
|
+
};
|
|
257
|
+
}, Ke = 3600 * 24 * 7;
|
|
258
|
+
function qe(e) {
|
|
259
|
+
if (typeof document > "u") return;
|
|
260
|
+
let t = `; ${document.cookie}`.split(`; ${e}=`);
|
|
261
|
+
if (t.length === 2) return t.pop()?.split(";").shift();
|
|
262
|
+
}
|
|
263
|
+
function Je(e, t, n = Ke) {
|
|
264
|
+
typeof document > "u" || (document.cookie = `${e}=${t}; path=/; max-age=${n}`);
|
|
265
|
+
}
|
|
266
|
+
function Ye(e) {
|
|
267
|
+
typeof document > "u" || (document.cookie = `${e}=; path=/; max-age=0`);
|
|
268
|
+
}
|
|
269
|
+
//#endregion
|
|
270
|
+
//#region src/lib/sound.ts
|
|
271
|
+
function Xe() {
|
|
272
|
+
try {
|
|
273
|
+
let e = window.AudioContext || window.webkitAudioContext;
|
|
274
|
+
if (!e) return;
|
|
275
|
+
let t = new e(), n = t.createOscillator(), r = t.createGain();
|
|
276
|
+
n.connect(r), r.connect(t.destination), n.type = "sine", n.frequency.setValueAtTime(880, t.currentTime), n.frequency.exponentialRampToValueAtTime(500, t.currentTime + .5), r.gain.setValueAtTime(.1, t.currentTime), r.gain.exponentialRampToValueAtTime(.001, t.currentTime + .4), n.start(t.currentTime), n.stop(t.currentTime + .5);
|
|
277
|
+
} catch (e) {
|
|
278
|
+
console.error("Error playing notification sound:", e);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
var Ze = new class {
|
|
282
|
+
permission = "default";
|
|
283
|
+
constructor() {
|
|
284
|
+
"Notification" in window && (this.permission = Notification.permission);
|
|
285
|
+
}
|
|
286
|
+
async requestPermission() {
|
|
287
|
+
if (!("Notification" in window)) return i.error("Este navegador no soporta notificaciones"), !1;
|
|
288
|
+
if (this.permission === "granted") return !0;
|
|
289
|
+
try {
|
|
290
|
+
let e = await Notification.requestPermission();
|
|
291
|
+
return this.permission = e, e === "granted" ? (i.success("Notificaciones activadas"), !0) : (i.error("Permiso de notificaciones denegado"), !1);
|
|
292
|
+
} catch (e) {
|
|
293
|
+
return console.error("Error requesting notification permission:", e), i.error("Error al solicitar permisos"), !1;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
async show(e) {
|
|
297
|
+
if (!("Notification" in window)) {
|
|
298
|
+
i(e.title, { description: e.body });
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
if (this.permission !== "granted" && !await this.requestPermission()) {
|
|
302
|
+
i(e.title, { description: e.body });
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
try {
|
|
306
|
+
if ("serviceWorker" in navigator && navigator.serviceWorker.controller) await (await navigator.serviceWorker.ready).showNotification(e.title, {
|
|
307
|
+
body: e.body,
|
|
308
|
+
icon: e.icon || "/images/icons/android/android-launchericon-192-192.png",
|
|
309
|
+
badge: "/images/icons/android/android-launchericon-96-96.png",
|
|
310
|
+
tag: e.tag,
|
|
311
|
+
data: e.data,
|
|
312
|
+
requireInteraction: e.requireInteraction || !1,
|
|
313
|
+
silent: e.silent || !1
|
|
314
|
+
});
|
|
315
|
+
else {
|
|
316
|
+
let t = new Notification(e.title, {
|
|
317
|
+
body: e.body,
|
|
318
|
+
icon: e.icon || "/images/icons/android/android-launchericon-192-192.png",
|
|
319
|
+
tag: e.tag,
|
|
320
|
+
data: e.data,
|
|
321
|
+
requireInteraction: e.requireInteraction || !1,
|
|
322
|
+
silent: e.silent || !1
|
|
323
|
+
});
|
|
324
|
+
t.onclick = () => {
|
|
325
|
+
window.focus(), t.close();
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
i(e.title, {
|
|
329
|
+
description: e.body,
|
|
330
|
+
duration: 5e3
|
|
331
|
+
});
|
|
332
|
+
} catch (t) {
|
|
333
|
+
console.error("Error showing notification:", t), i(e.title, { description: e.body });
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
isSupported() {
|
|
337
|
+
return "Notification" in window;
|
|
338
|
+
}
|
|
339
|
+
getPermission() {
|
|
340
|
+
return this.permission;
|
|
341
|
+
}
|
|
342
|
+
}(), Qe = { language: "es" }, L = a.create({
|
|
343
|
+
baseURL: "/api",
|
|
344
|
+
headers: { "Content-Type": "application/json" }
|
|
345
|
+
});
|
|
346
|
+
L.interceptors.request.use((e) => {
|
|
347
|
+
let t = localStorage.getItem("auth_token");
|
|
348
|
+
t && (e.headers.Authorization = `Bearer ${t}`), e.headers["Accept-Language"] = Qe.language || "es";
|
|
349
|
+
try {
|
|
350
|
+
let t = JSON.parse(localStorage.getItem("current_branch") || "{}");
|
|
351
|
+
t?.id && (e.headers["X-Branch-ID"] = t.id);
|
|
352
|
+
} catch {}
|
|
353
|
+
return e.data instanceof FormData && delete e.headers["Content-Type"], e;
|
|
354
|
+
}), L.interceptors.response.use((e) => e, (e) => {
|
|
355
|
+
let t = e.response?.status, n = e.response?.data, r = e.config?.method?.toUpperCase() + " " + e.config?.url, i = n?.message || n?.error || n?.title || e.message;
|
|
356
|
+
if (console.error(`[API Error] ${r} → ${t}: ${i}`, n), t === 401) {
|
|
357
|
+
let { reset: e } = I.getState().auth;
|
|
358
|
+
e(), window.location.href = "/sign-in";
|
|
359
|
+
}
|
|
360
|
+
return Promise.reject(e);
|
|
361
|
+
});
|
|
362
|
+
var $e = new class {
|
|
363
|
+
vapidPublicKey = null;
|
|
364
|
+
subscription = null;
|
|
365
|
+
isSupported = !1;
|
|
366
|
+
constructor() {
|
|
367
|
+
this.isSupported = "serviceWorker" in navigator && "PushManager" in window;
|
|
368
|
+
}
|
|
369
|
+
async init() {
|
|
370
|
+
if (!this.isSupported) {
|
|
371
|
+
console.log("⚠️ Push notifications not supported");
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
try {
|
|
375
|
+
let e = await L.get("/push/public-key");
|
|
376
|
+
e.data?.publicKey && (this.vapidPublicKey = e.data.publicKey, console.log("✅ VAPID public key loaded")), this.subscription = await (await navigator.serviceWorker.ready).pushManager.getSubscription(), this.subscription && console.log("✅ Existing push subscription found");
|
|
377
|
+
} catch (e) {
|
|
378
|
+
console.error("Failed to initialize push service:", e);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
async subscribe() {
|
|
382
|
+
if (!this.isSupported) return i.error("Tu navegador no soporta notificaciones push"), !1;
|
|
383
|
+
if (!this.vapidPublicKey && (await this.init(), !this.vapidPublicKey)) return i.error("No se pudo obtener la clave del servidor"), !1;
|
|
384
|
+
try {
|
|
385
|
+
if (await Notification.requestPermission() !== "granted") return i.error("Permiso de notificaciones denegado"), !1;
|
|
386
|
+
let e = await (await navigator.serviceWorker.ready).pushManager.subscribe({
|
|
387
|
+
userVisibleOnly: !0,
|
|
388
|
+
applicationServerKey: this.urlBase64ToUint8Array(this.vapidPublicKey)
|
|
389
|
+
});
|
|
390
|
+
this.subscription = e;
|
|
391
|
+
let t = e.toJSON().keys;
|
|
392
|
+
return await L.post("/push/subscribe", {
|
|
393
|
+
endpoint: e.endpoint,
|
|
394
|
+
p256dh: t.p256dh,
|
|
395
|
+
auth: t.auth,
|
|
396
|
+
device_type: this.detectDeviceType()
|
|
397
|
+
}), i.success("🔔 Notificaciones push activadas"), console.log("✅ Push subscription registered"), !0;
|
|
398
|
+
} catch (e) {
|
|
399
|
+
return console.error("Failed to subscribe to push:", e), i.error("Error al activar notificaciones push"), !1;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
async unsubscribe() {
|
|
403
|
+
if (!this.subscription) return !0;
|
|
404
|
+
try {
|
|
405
|
+
return await this.subscription.unsubscribe(), await L.post("/push/unsubscribe", { endpoint: this.subscription.endpoint }), this.subscription = null, i.success("Notificaciones push desactivadas"), !0;
|
|
406
|
+
} catch (e) {
|
|
407
|
+
return console.error("Failed to unsubscribe:", e), i.error("Error al desactivar notificaciones"), !1;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
async testNotification() {
|
|
411
|
+
try {
|
|
412
|
+
await L.post("/push/test"), i.success("Notificación de prueba enviada");
|
|
413
|
+
} catch (e) {
|
|
414
|
+
console.error("Failed to send test notification:", e), i.error("Error al enviar notificación de prueba");
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
isSubscribed() {
|
|
418
|
+
return this.subscription !== null;
|
|
419
|
+
}
|
|
420
|
+
getSupported() {
|
|
421
|
+
return this.isSupported;
|
|
422
|
+
}
|
|
423
|
+
urlBase64ToUint8Array(e) {
|
|
424
|
+
let t = (e + "=".repeat((4 - e.length % 4) % 4)).replace(/-/g, "+").replace(/_/g, "/"), n = window.atob(t), r = new Uint8Array(n.length);
|
|
425
|
+
for (let e = 0; e < n.length; ++e) r[e] = n.charCodeAt(e);
|
|
426
|
+
return r;
|
|
427
|
+
}
|
|
428
|
+
detectDeviceType() {
|
|
429
|
+
let e = navigator.userAgent.toLowerCase();
|
|
430
|
+
return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e) ? "mobile" : /electron/i.test(e) ? "desktop" : "web";
|
|
431
|
+
}
|
|
432
|
+
}();
|
|
433
|
+
//#endregion
|
|
434
|
+
//#region src/lib/handle-server-error.ts
|
|
435
|
+
function et(e) {
|
|
436
|
+
console.log(e);
|
|
437
|
+
let t = "Something went wrong!";
|
|
438
|
+
e && typeof e == "object" && "status" in e && Number(e.status) === 204 && (t = "Content not found."), e instanceof o && (t = e.response?.data?.message || e.response?.data?.title || e.message), i.error(t);
|
|
439
|
+
}
|
|
440
|
+
//#endregion
|
|
441
|
+
//#region src/components/ui/accordion.tsx
|
|
442
|
+
var tt = p.Root, nt = s.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ v(p.Item, {
|
|
443
|
+
ref: n,
|
|
444
|
+
className: N("border-b", e),
|
|
445
|
+
...t
|
|
446
|
+
}));
|
|
447
|
+
nt.displayName = "AccordionItem";
|
|
448
|
+
var rt = s.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ v(p.Header, {
|
|
449
|
+
className: "flex",
|
|
450
|
+
children: /* @__PURE__ */ y(p.Trigger, {
|
|
451
|
+
ref: r,
|
|
452
|
+
className: N("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180", e),
|
|
453
|
+
...n,
|
|
454
|
+
children: [t, /* @__PURE__ */ v(g, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })]
|
|
455
|
+
})
|
|
456
|
+
}));
|
|
457
|
+
rt.displayName = p.Trigger.displayName;
|
|
458
|
+
var it = s.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ v(p.Content, {
|
|
459
|
+
ref: r,
|
|
460
|
+
className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
461
|
+
...n,
|
|
462
|
+
children: /* @__PURE__ */ v("div", {
|
|
463
|
+
className: N("pb-4 pt-0", e),
|
|
464
|
+
children: t
|
|
465
|
+
})
|
|
466
|
+
}));
|
|
467
|
+
it.displayName = p.Content.displayName;
|
|
468
|
+
//#endregion
|
|
469
|
+
//#region src/components/ui/alert.tsx
|
|
470
|
+
var at = b("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", {
|
|
471
|
+
variants: { variant: {
|
|
472
|
+
default: "bg-card text-card-foreground",
|
|
473
|
+
destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
|
|
474
|
+
} },
|
|
475
|
+
defaultVariants: { variant: "default" }
|
|
476
|
+
});
|
|
477
|
+
function ot({ className: e, variant: t, ...n }) {
|
|
478
|
+
return /* @__PURE__ */ v("div", {
|
|
479
|
+
"data-slot": "alert",
|
|
480
|
+
role: "alert",
|
|
481
|
+
className: N(at({ variant: t }), e),
|
|
482
|
+
...n
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
function st({ className: e, ...t }) {
|
|
486
|
+
return /* @__PURE__ */ v("div", {
|
|
487
|
+
"data-slot": "alert-title",
|
|
488
|
+
className: N("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", e),
|
|
489
|
+
...t
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
function ct({ className: e, ...t }) {
|
|
493
|
+
return /* @__PURE__ */ v("div", {
|
|
494
|
+
"data-slot": "alert-description",
|
|
495
|
+
className: N("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", e),
|
|
496
|
+
...t
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
//#endregion
|
|
500
|
+
//#region src/components/ui/button.tsx
|
|
501
|
+
var R = b("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all 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", {
|
|
502
|
+
variants: {
|
|
503
|
+
variant: {
|
|
504
|
+
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
505
|
+
destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
506
|
+
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
507
|
+
secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
|
|
508
|
+
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
509
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
510
|
+
},
|
|
511
|
+
size: {
|
|
512
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
513
|
+
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
514
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
515
|
+
icon: "size-9"
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
defaultVariants: {
|
|
519
|
+
variant: "default",
|
|
520
|
+
size: "default"
|
|
521
|
+
}
|
|
522
|
+
});
|
|
523
|
+
function z({ className: e, variant: t, size: n, asChild: r = !1, ...i }) {
|
|
524
|
+
return /* @__PURE__ */ v(r ? S : "button", {
|
|
525
|
+
"data-slot": "button",
|
|
526
|
+
className: N(R({
|
|
527
|
+
variant: t,
|
|
528
|
+
size: n,
|
|
529
|
+
className: e
|
|
530
|
+
})),
|
|
531
|
+
...i
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
//#endregion
|
|
535
|
+
//#region src/components/ui/alert-dialog.tsx
|
|
536
|
+
function lt({ ...e }) {
|
|
537
|
+
return /* @__PURE__ */ v(x.Root, {
|
|
538
|
+
"data-slot": "alert-dialog",
|
|
539
|
+
...e
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
function ut({ ...e }) {
|
|
543
|
+
return /* @__PURE__ */ v(x.Trigger, {
|
|
544
|
+
"data-slot": "alert-dialog-trigger",
|
|
545
|
+
...e
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
function dt({ ...e }) {
|
|
549
|
+
return /* @__PURE__ */ v(x.Portal, {
|
|
550
|
+
"data-slot": "alert-dialog-portal",
|
|
551
|
+
...e
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
function ft({ className: e, ...t }) {
|
|
555
|
+
return /* @__PURE__ */ v(x.Overlay, {
|
|
556
|
+
"data-slot": "alert-dialog-overlay",
|
|
557
|
+
className: N("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", e),
|
|
558
|
+
...t
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
function pt({ className: e, ...t }) {
|
|
562
|
+
return /* @__PURE__ */ y(dt, { children: [/* @__PURE__ */ v(ft, {}), /* @__PURE__ */ v(x.Content, {
|
|
563
|
+
"data-slot": "alert-dialog-content",
|
|
564
|
+
className: N("bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", e),
|
|
565
|
+
...t
|
|
566
|
+
})] });
|
|
567
|
+
}
|
|
568
|
+
function mt({ className: e, ...t }) {
|
|
569
|
+
return /* @__PURE__ */ v("div", {
|
|
570
|
+
"data-slot": "alert-dialog-header",
|
|
571
|
+
className: N("flex flex-col gap-2 text-center sm:text-start", e),
|
|
572
|
+
...t
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
function ht({ className: e, ...t }) {
|
|
576
|
+
return /* @__PURE__ */ v("div", {
|
|
577
|
+
"data-slot": "alert-dialog-footer",
|
|
578
|
+
className: N("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
|
|
579
|
+
...t
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
function gt({ className: e, ...t }) {
|
|
583
|
+
return /* @__PURE__ */ v(x.Title, {
|
|
584
|
+
"data-slot": "alert-dialog-title",
|
|
585
|
+
className: N("text-lg font-semibold", e),
|
|
586
|
+
...t
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
function _t({ className: e, ...t }) {
|
|
590
|
+
return /* @__PURE__ */ v(x.Description, {
|
|
591
|
+
"data-slot": "alert-dialog-description",
|
|
592
|
+
className: N("text-muted-foreground text-sm", e),
|
|
593
|
+
...t
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
function vt({ className: e, ...t }) {
|
|
597
|
+
return /* @__PURE__ */ v(x.Action, {
|
|
598
|
+
className: N(R(), e),
|
|
599
|
+
...t
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
function yt({ className: e, ...t }) {
|
|
603
|
+
return /* @__PURE__ */ v(x.Cancel, {
|
|
604
|
+
className: N(R({ variant: "outline" }), e),
|
|
605
|
+
...t
|
|
606
|
+
});
|
|
607
|
+
}
|
|
608
|
+
//#endregion
|
|
609
|
+
//#region src/components/ui/avatar.tsx
|
|
610
|
+
function bt({ className: e, ...t }) {
|
|
611
|
+
return /* @__PURE__ */ v(C.Root, {
|
|
612
|
+
"data-slot": "avatar",
|
|
613
|
+
className: N("relative flex size-8 shrink-0 overflow-hidden rounded-full", e),
|
|
614
|
+
...t
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
function xt({ className: e, ...t }) {
|
|
618
|
+
return /* @__PURE__ */ v(C.Image, {
|
|
619
|
+
"data-slot": "avatar-image",
|
|
620
|
+
className: N("aspect-square size-full object-cover", e),
|
|
621
|
+
...t
|
|
622
|
+
});
|
|
623
|
+
}
|
|
624
|
+
function St({ className: e, ...t }) {
|
|
625
|
+
return /* @__PURE__ */ v(C.Fallback, {
|
|
626
|
+
"data-slot": "avatar-fallback",
|
|
627
|
+
className: N("bg-muted flex size-full items-center justify-center rounded-full", e),
|
|
628
|
+
...t
|
|
629
|
+
});
|
|
630
|
+
}
|
|
631
|
+
//#endregion
|
|
632
|
+
//#region src/components/ui/badge.tsx
|
|
633
|
+
var Ct = b("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden", {
|
|
634
|
+
variants: { variant: {
|
|
635
|
+
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
636
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
637
|
+
destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
638
|
+
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
|
|
639
|
+
} },
|
|
640
|
+
defaultVariants: { variant: "default" }
|
|
641
|
+
});
|
|
642
|
+
function wt({ className: e, variant: t, asChild: n = !1, ...r }) {
|
|
643
|
+
return /* @__PURE__ */ v(n ? S : "span", {
|
|
644
|
+
"data-slot": "badge",
|
|
645
|
+
className: N(Ct({ variant: t }), e),
|
|
646
|
+
...r
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
//#endregion
|
|
650
|
+
//#region src/components/ui/calendar.tsx
|
|
651
|
+
function Tt({ className: e, classNames: t, showOutsideDays: n = !0, captionLayout: r = "label", buttonVariant: i = "ghost", formatters: a, components: o, ...s }) {
|
|
652
|
+
let c = pe();
|
|
653
|
+
return /* @__PURE__ */ v(fe, {
|
|
654
|
+
showOutsideDays: n,
|
|
655
|
+
className: N("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, e),
|
|
656
|
+
captionLayout: r,
|
|
657
|
+
formatters: {
|
|
658
|
+
formatMonthDropdown: (e) => e.toLocaleString("default", { month: "short" }),
|
|
659
|
+
...a
|
|
660
|
+
},
|
|
661
|
+
classNames: {
|
|
662
|
+
root: N("w-fit", c.root),
|
|
663
|
+
months: N("flex gap-4 flex-col md:flex-row relative", c.months),
|
|
664
|
+
month: N("flex flex-col w-full gap-4", c.month),
|
|
665
|
+
nav: N("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", c.nav),
|
|
666
|
+
button_previous: N(R({ variant: i }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", c.button_previous),
|
|
667
|
+
button_next: N(R({ variant: i }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", c.button_next),
|
|
668
|
+
month_caption: N("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", c.month_caption),
|
|
669
|
+
dropdowns: N("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", c.dropdowns),
|
|
670
|
+
dropdown_root: N("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md", c.dropdown_root),
|
|
671
|
+
dropdown: N("absolute bg-popover inset-0 opacity-0", c.dropdown),
|
|
672
|
+
caption_label: N("select-none font-medium", r === "label" ? "text-sm" : "rounded-md ps-2 pe-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5", c.caption_label),
|
|
673
|
+
table: "w-full border-collapse",
|
|
674
|
+
weekdays: N("flex", c.weekdays),
|
|
675
|
+
weekday: N("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none", c.weekday),
|
|
676
|
+
week: N("flex w-full mt-2", c.week),
|
|
677
|
+
week_number_header: N("select-none w-(--cell-size)", c.week_number_header),
|
|
678
|
+
week_number: N("text-[0.8rem] select-none text-muted-foreground", c.week_number),
|
|
679
|
+
day: N("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none", c.day),
|
|
680
|
+
range_start: N("rounded-l-md bg-accent", c.range_start),
|
|
681
|
+
range_middle: N("rounded-none", c.range_middle),
|
|
682
|
+
range_end: N("rounded-r-md bg-accent", c.range_end),
|
|
683
|
+
today: N("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", c.today),
|
|
684
|
+
outside: N("text-muted-foreground aria-selected:text-muted-foreground", c.outside),
|
|
685
|
+
disabled: N("text-muted-foreground opacity-50", c.disabled),
|
|
686
|
+
hidden: N("invisible", c.hidden),
|
|
687
|
+
...t
|
|
688
|
+
},
|
|
689
|
+
components: {
|
|
690
|
+
Root: ({ className: e, rootRef: t, ...n }) => /* @__PURE__ */ v("div", {
|
|
691
|
+
"data-slot": "calendar",
|
|
692
|
+
ref: t,
|
|
693
|
+
className: N(e),
|
|
694
|
+
...n
|
|
695
|
+
}),
|
|
696
|
+
Chevron: ({ className: e, orientation: t, ...n }) => v(t === "left" ? ee : t === "right" ? te : _, {
|
|
697
|
+
className: N("size-4", e),
|
|
698
|
+
...n
|
|
699
|
+
}),
|
|
700
|
+
DayButton: Et,
|
|
701
|
+
WeekNumber: ({ children: e, ...t }) => /* @__PURE__ */ v("td", {
|
|
702
|
+
...t,
|
|
703
|
+
children: /* @__PURE__ */ v("div", {
|
|
704
|
+
className: "flex size-(--cell-size) items-center justify-center text-center",
|
|
705
|
+
children: e
|
|
706
|
+
})
|
|
707
|
+
}),
|
|
708
|
+
...o
|
|
709
|
+
},
|
|
710
|
+
...s
|
|
711
|
+
});
|
|
712
|
+
}
|
|
713
|
+
function Et({ className: e, day: t, modifiers: n, ...r }) {
|
|
714
|
+
let i = pe(), a = s.useRef(null);
|
|
715
|
+
return s.useEffect(() => {
|
|
716
|
+
n.focused && a.current?.focus();
|
|
717
|
+
}, [n.focused]), /* @__PURE__ */ v(z, {
|
|
718
|
+
ref: a,
|
|
719
|
+
variant: "ghost",
|
|
720
|
+
size: "icon",
|
|
721
|
+
"data-day": t.date.toLocaleDateString(),
|
|
722
|
+
"data-selected-single": n.selected && !n.range_start && !n.range_end && !n.range_middle,
|
|
723
|
+
"data-range-start": n.range_start,
|
|
724
|
+
"data-range-end": n.range_end,
|
|
725
|
+
"data-range-middle": n.range_middle,
|
|
726
|
+
className: N("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70", i.day, e),
|
|
727
|
+
...r
|
|
728
|
+
});
|
|
729
|
+
}
|
|
730
|
+
//#endregion
|
|
731
|
+
//#region src/components/ui/card.tsx
|
|
732
|
+
function Dt({ className: e, ...t }) {
|
|
733
|
+
return /* @__PURE__ */ v("div", {
|
|
734
|
+
"data-slot": "card",
|
|
735
|
+
className: N("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", e),
|
|
736
|
+
...t
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
function Ot({ className: e, ...t }) {
|
|
740
|
+
return /* @__PURE__ */ v("div", {
|
|
741
|
+
"data-slot": "card-header",
|
|
742
|
+
className: N("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", e),
|
|
743
|
+
...t
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
function kt({ className: e, ...t }) {
|
|
747
|
+
return /* @__PURE__ */ v("div", {
|
|
748
|
+
"data-slot": "card-title",
|
|
749
|
+
className: N("leading-none font-semibold", e),
|
|
750
|
+
...t
|
|
751
|
+
});
|
|
752
|
+
}
|
|
753
|
+
function At({ className: e, ...t }) {
|
|
754
|
+
return /* @__PURE__ */ v("div", {
|
|
755
|
+
"data-slot": "card-description",
|
|
756
|
+
className: N("text-muted-foreground text-sm", e),
|
|
757
|
+
...t
|
|
758
|
+
});
|
|
759
|
+
}
|
|
760
|
+
function jt({ className: e, ...t }) {
|
|
761
|
+
return /* @__PURE__ */ v("div", {
|
|
762
|
+
"data-slot": "card-action",
|
|
763
|
+
className: N("col-start-2 row-span-2 row-start-1 self-start justify-self-end", e),
|
|
764
|
+
...t
|
|
765
|
+
});
|
|
766
|
+
}
|
|
767
|
+
function Mt({ className: e, ...t }) {
|
|
768
|
+
return /* @__PURE__ */ v("div", {
|
|
769
|
+
"data-slot": "card-content",
|
|
770
|
+
className: N("px-6", e),
|
|
771
|
+
...t
|
|
772
|
+
});
|
|
773
|
+
}
|
|
774
|
+
function Nt({ className: e, ...t }) {
|
|
775
|
+
return /* @__PURE__ */ v("div", {
|
|
776
|
+
"data-slot": "card-footer",
|
|
777
|
+
className: N("flex items-center px-6 [.border-t]:pt-6", e),
|
|
778
|
+
...t
|
|
779
|
+
});
|
|
780
|
+
}
|
|
781
|
+
//#endregion
|
|
782
|
+
//#region src/components/ui/checkbox.tsx
|
|
783
|
+
function Pt({ className: e, ...t }) {
|
|
784
|
+
return /* @__PURE__ */ v(me.Root, {
|
|
785
|
+
"data-slot": "checkbox",
|
|
786
|
+
className: N("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", e),
|
|
787
|
+
...t,
|
|
788
|
+
children: /* @__PURE__ */ v(me.Indicator, {
|
|
789
|
+
"data-slot": "checkbox-indicator",
|
|
790
|
+
className: "flex items-center justify-center text-current transition-none",
|
|
791
|
+
children: /* @__PURE__ */ v(h, { className: "size-3.5" })
|
|
792
|
+
})
|
|
793
|
+
});
|
|
794
|
+
}
|
|
795
|
+
//#endregion
|
|
796
|
+
//#region src/context/theme-provider.tsx
|
|
797
|
+
var Ft = "system", It = c({
|
|
798
|
+
defaultTheme: Ft,
|
|
799
|
+
resolvedTheme: "light",
|
|
800
|
+
theme: Ft,
|
|
801
|
+
setTheme: () => null,
|
|
802
|
+
resetTheme: () => null
|
|
803
|
+
}), Lt = () => {
|
|
804
|
+
let e = l(It);
|
|
805
|
+
if (!e) throw Error("useTheme must be used within a ThemeProvider");
|
|
806
|
+
return e;
|
|
807
|
+
};
|
|
808
|
+
//#endregion
|
|
809
|
+
//#region src/components/ui/code-editor.tsx
|
|
810
|
+
function Rt({ value: e, onChange: t, language: n = "json", height: r = "200px", readOnly: i = !1, minimap: a = !1, onDrop: o, disableValidation: s = !1 }) {
|
|
811
|
+
let { theme: c } = Lt(), l = d(null), [u, p] = f(!1);
|
|
812
|
+
return /* @__PURE__ */ v("div", {
|
|
813
|
+
className: N("border rounded-md overflow-hidden bg-background transition-all duration-200", u && "ring-2 ring-violet-500 ring-offset-2 border-violet-500"),
|
|
814
|
+
children: /* @__PURE__ */ v(he, {
|
|
815
|
+
height: r,
|
|
816
|
+
language: n,
|
|
817
|
+
value: e,
|
|
818
|
+
onChange: t,
|
|
819
|
+
beforeMount: (e) => {
|
|
820
|
+
s && n === "json" && e.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
821
|
+
validate: !1,
|
|
822
|
+
schemaValidation: "ignore"
|
|
823
|
+
});
|
|
824
|
+
},
|
|
825
|
+
onMount: (e, n) => {
|
|
826
|
+
l.current = e, e.updateOptions({
|
|
827
|
+
scrollBeyondLastLine: !1,
|
|
828
|
+
fontSize: 12,
|
|
829
|
+
fontFamily: "'Geist Mono', monospace",
|
|
830
|
+
padding: {
|
|
831
|
+
top: 8,
|
|
832
|
+
bottom: 8
|
|
833
|
+
}
|
|
834
|
+
}), s && n.editor.setModelMarkers(e.getModel(), "json", []);
|
|
835
|
+
let r = e.getDomNode();
|
|
836
|
+
r && (r.addEventListener("dragover", (e) => {
|
|
837
|
+
e.preventDefault(), e.stopPropagation(), p(!0);
|
|
838
|
+
}), r.addEventListener("dragleave", (e) => {
|
|
839
|
+
e.preventDefault(), p(!1);
|
|
840
|
+
}), r.addEventListener("drop", (n) => {
|
|
841
|
+
n.preventDefault(), n.stopPropagation(), p(!1);
|
|
842
|
+
let r = n.dataTransfer?.getData("variable") || n.dataTransfer?.getData("text/plain");
|
|
843
|
+
if (!r) return;
|
|
844
|
+
let i = e.getTargetAtClientPoint(n.clientX, n.clientY);
|
|
845
|
+
if (i?.position) {
|
|
846
|
+
let t = i.position;
|
|
847
|
+
e.executeEdits("drop", [{
|
|
848
|
+
range: {
|
|
849
|
+
startLineNumber: t.lineNumber,
|
|
850
|
+
startColumn: t.column,
|
|
851
|
+
endLineNumber: t.lineNumber,
|
|
852
|
+
endColumn: t.column
|
|
853
|
+
},
|
|
854
|
+
text: r
|
|
855
|
+
}]), e.setPosition({
|
|
856
|
+
lineNumber: t.lineNumber,
|
|
857
|
+
column: t.column + r.length
|
|
858
|
+
}), e.focus();
|
|
859
|
+
} else {
|
|
860
|
+
let t = e.getPosition();
|
|
861
|
+
t && e.executeEdits("drop", [{
|
|
862
|
+
range: {
|
|
863
|
+
startLineNumber: t.lineNumber,
|
|
864
|
+
startColumn: t.column,
|
|
865
|
+
endLineNumber: t.lineNumber,
|
|
866
|
+
endColumn: t.column
|
|
867
|
+
},
|
|
868
|
+
text: r
|
|
869
|
+
}]);
|
|
870
|
+
}
|
|
871
|
+
let a = e.getValue();
|
|
872
|
+
t?.(a), o?.(r);
|
|
873
|
+
}));
|
|
874
|
+
},
|
|
875
|
+
theme: c === "dark" ? "vs-dark" : "light",
|
|
876
|
+
options: {
|
|
877
|
+
readOnly: i,
|
|
878
|
+
minimap: { enabled: a },
|
|
879
|
+
scrollBeyondLastLine: !1,
|
|
880
|
+
fontSize: 12,
|
|
881
|
+
fontFamily: "'Geist Mono', monospace",
|
|
882
|
+
padding: {
|
|
883
|
+
top: 8,
|
|
884
|
+
bottom: 8
|
|
885
|
+
},
|
|
886
|
+
lineNumbers: "on",
|
|
887
|
+
renderLineHighlight: "all",
|
|
888
|
+
automaticLayout: !0,
|
|
889
|
+
dropIntoEditor: { enabled: !0 }
|
|
890
|
+
},
|
|
891
|
+
loading: /* @__PURE__ */ y("div", {
|
|
892
|
+
className: "flex items-center justify-center h-full text-muted-foreground gap-2",
|
|
893
|
+
children: [/* @__PURE__ */ v(oe, { className: "h-4 w-4 animate-spin" }), /* @__PURE__ */ v("span", {
|
|
894
|
+
className: "text-xs",
|
|
895
|
+
children: "Cargando editor..."
|
|
896
|
+
})]
|
|
897
|
+
})
|
|
898
|
+
})
|
|
899
|
+
});
|
|
900
|
+
}
|
|
901
|
+
//#endregion
|
|
902
|
+
//#region src/components/ui/collapsible.tsx
|
|
903
|
+
function zt({ ...e }) {
|
|
904
|
+
return /* @__PURE__ */ v(ge.Root, {
|
|
905
|
+
"data-slot": "collapsible",
|
|
906
|
+
...e
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
function Bt({ ...e }) {
|
|
910
|
+
return /* @__PURE__ */ v(ge.CollapsibleTrigger, {
|
|
911
|
+
"data-slot": "collapsible-trigger",
|
|
912
|
+
...e
|
|
913
|
+
});
|
|
914
|
+
}
|
|
915
|
+
function Vt({ ...e }) {
|
|
916
|
+
return /* @__PURE__ */ v(ge.CollapsibleContent, {
|
|
917
|
+
"data-slot": "collapsible-content",
|
|
918
|
+
...e
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
//#endregion
|
|
922
|
+
//#region src/components/ui/dialog.tsx
|
|
923
|
+
function Ht({ ...e }) {
|
|
924
|
+
return /* @__PURE__ */ v(T.Root, {
|
|
925
|
+
"data-slot": "dialog",
|
|
926
|
+
...e
|
|
927
|
+
});
|
|
928
|
+
}
|
|
929
|
+
function Ut({ ...e }) {
|
|
930
|
+
return /* @__PURE__ */ v(T.Trigger, {
|
|
931
|
+
"data-slot": "dialog-trigger",
|
|
932
|
+
...e
|
|
933
|
+
});
|
|
934
|
+
}
|
|
935
|
+
function Wt({ ...e }) {
|
|
936
|
+
return /* @__PURE__ */ v(T.Portal, {
|
|
937
|
+
"data-slot": "dialog-portal",
|
|
938
|
+
...e
|
|
939
|
+
});
|
|
940
|
+
}
|
|
941
|
+
function Gt({ ...e }) {
|
|
942
|
+
return /* @__PURE__ */ v(T.Close, {
|
|
943
|
+
"data-slot": "dialog-close",
|
|
944
|
+
...e
|
|
945
|
+
});
|
|
946
|
+
}
|
|
947
|
+
function Kt({ className: e, ...t }) {
|
|
948
|
+
return /* @__PURE__ */ v(T.Overlay, {
|
|
949
|
+
"data-slot": "dialog-overlay",
|
|
950
|
+
className: N("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", e),
|
|
951
|
+
...t
|
|
952
|
+
});
|
|
953
|
+
}
|
|
954
|
+
function qt({ className: e, children: t, showCloseButton: n = !0, ...r }) {
|
|
955
|
+
return /* @__PURE__ */ y(Wt, {
|
|
956
|
+
"data-slot": "dialog-portal",
|
|
957
|
+
children: [/* @__PURE__ */ v(Kt, {}), /* @__PURE__ */ y(T.Content, {
|
|
958
|
+
"data-slot": "dialog-content",
|
|
959
|
+
className: N("bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", e),
|
|
960
|
+
...r,
|
|
961
|
+
children: [t, n && /* @__PURE__ */ y(T.Close, {
|
|
962
|
+
"data-slot": "dialog-close",
|
|
963
|
+
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
964
|
+
children: [/* @__PURE__ */ v(de, {}), /* @__PURE__ */ v("span", {
|
|
965
|
+
className: "sr-only",
|
|
966
|
+
children: "Close"
|
|
967
|
+
})]
|
|
968
|
+
})]
|
|
969
|
+
})]
|
|
970
|
+
});
|
|
971
|
+
}
|
|
972
|
+
function Jt({ className: e, ...t }) {
|
|
973
|
+
return /* @__PURE__ */ v("div", {
|
|
974
|
+
"data-slot": "dialog-header",
|
|
975
|
+
className: N("flex flex-col gap-2 text-center sm:text-start", e),
|
|
976
|
+
...t
|
|
977
|
+
});
|
|
978
|
+
}
|
|
979
|
+
function Yt({ className: e, ...t }) {
|
|
980
|
+
return /* @__PURE__ */ v("div", {
|
|
981
|
+
"data-slot": "dialog-footer",
|
|
982
|
+
className: N("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
|
|
983
|
+
...t
|
|
984
|
+
});
|
|
985
|
+
}
|
|
986
|
+
function Xt({ className: e, ...t }) {
|
|
987
|
+
return /* @__PURE__ */ v(T.Title, {
|
|
988
|
+
"data-slot": "dialog-title",
|
|
989
|
+
className: N("text-lg leading-none font-semibold", e),
|
|
990
|
+
...t
|
|
991
|
+
});
|
|
992
|
+
}
|
|
993
|
+
function Zt({ className: e, ...t }) {
|
|
994
|
+
return /* @__PURE__ */ v(T.Description, {
|
|
995
|
+
"data-slot": "dialog-description",
|
|
996
|
+
className: N("text-muted-foreground text-sm", e),
|
|
997
|
+
...t
|
|
998
|
+
});
|
|
999
|
+
}
|
|
1000
|
+
//#endregion
|
|
1001
|
+
//#region src/components/ui/command.tsx
|
|
1002
|
+
function B({ className: e, ...t }) {
|
|
1003
|
+
return /* @__PURE__ */ v(w, {
|
|
1004
|
+
"data-slot": "command",
|
|
1005
|
+
className: N("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", e),
|
|
1006
|
+
...t
|
|
1007
|
+
});
|
|
1008
|
+
}
|
|
1009
|
+
function Qt({ title: e = "Command Palette", description: t = "Search for a command to run...", children: n, className: r, showCloseButton: i = !0, ...a }) {
|
|
1010
|
+
return /* @__PURE__ */ y(Ht, {
|
|
1011
|
+
...a,
|
|
1012
|
+
children: [/* @__PURE__ */ y(Jt, {
|
|
1013
|
+
className: "sr-only",
|
|
1014
|
+
children: [/* @__PURE__ */ v(Xt, { children: e }), /* @__PURE__ */ v(Zt, { children: t })]
|
|
1015
|
+
}), /* @__PURE__ */ v(qt, {
|
|
1016
|
+
className: N("overflow-hidden p-0", r),
|
|
1017
|
+
showCloseButton: i,
|
|
1018
|
+
children: /* @__PURE__ */ v(B, {
|
|
1019
|
+
className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",
|
|
1020
|
+
children: n
|
|
1021
|
+
})
|
|
1022
|
+
})]
|
|
1023
|
+
});
|
|
1024
|
+
}
|
|
1025
|
+
function V({ className: e, ...t }) {
|
|
1026
|
+
return /* @__PURE__ */ y("div", {
|
|
1027
|
+
"data-slot": "command-input-wrapper",
|
|
1028
|
+
className: "flex h-10 items-center gap-2 border-b px-3",
|
|
1029
|
+
children: [/* @__PURE__ */ v(le, { className: "size-4 shrink-0 opacity-50" }), /* @__PURE__ */ v(w.Input, {
|
|
1030
|
+
"data-slot": "command-input",
|
|
1031
|
+
className: N("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", e),
|
|
1032
|
+
...t
|
|
1033
|
+
})]
|
|
1034
|
+
});
|
|
1035
|
+
}
|
|
1036
|
+
function H({ className: e, ...t }) {
|
|
1037
|
+
return /* @__PURE__ */ v(w.List, {
|
|
1038
|
+
"data-slot": "command-list",
|
|
1039
|
+
className: N("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", e),
|
|
1040
|
+
...t
|
|
1041
|
+
});
|
|
1042
|
+
}
|
|
1043
|
+
function U({ ...e }) {
|
|
1044
|
+
return /* @__PURE__ */ v(w.Empty, {
|
|
1045
|
+
"data-slot": "command-empty",
|
|
1046
|
+
className: "py-6 text-center text-sm",
|
|
1047
|
+
...e
|
|
1048
|
+
});
|
|
1049
|
+
}
|
|
1050
|
+
function W({ className: e, ...t }) {
|
|
1051
|
+
return /* @__PURE__ */ v(w.Group, {
|
|
1052
|
+
"data-slot": "command-group",
|
|
1053
|
+
className: N("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium", e),
|
|
1054
|
+
...t
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
1057
|
+
function $t({ className: e, ...t }) {
|
|
1058
|
+
return /* @__PURE__ */ v(w.Separator, {
|
|
1059
|
+
"data-slot": "command-separator",
|
|
1060
|
+
className: N("bg-border -mx-1 h-px", e),
|
|
1061
|
+
...t
|
|
1062
|
+
});
|
|
1063
|
+
}
|
|
1064
|
+
function G({ className: e, ...t }) {
|
|
1065
|
+
return /* @__PURE__ */ v(w.Item, {
|
|
1066
|
+
"data-slot": "command-item",
|
|
1067
|
+
className: N("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
|
|
1068
|
+
...t
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1071
|
+
function en({ className: e, ...t }) {
|
|
1072
|
+
return /* @__PURE__ */ v("span", {
|
|
1073
|
+
"data-slot": "command-shortcut",
|
|
1074
|
+
className: N("text-muted-foreground ms-auto text-xs tracking-widest", e),
|
|
1075
|
+
...t
|
|
1076
|
+
});
|
|
1077
|
+
}
|
|
1078
|
+
//#endregion
|
|
1079
|
+
//#region src/components/ui/dropdown-menu.tsx
|
|
1080
|
+
function tn({ ...e }) {
|
|
1081
|
+
return /* @__PURE__ */ v(E.Root, {
|
|
1082
|
+
"data-slot": "dropdown-menu",
|
|
1083
|
+
...e
|
|
1084
|
+
});
|
|
1085
|
+
}
|
|
1086
|
+
function nn({ ...e }) {
|
|
1087
|
+
return /* @__PURE__ */ v(E.Portal, {
|
|
1088
|
+
"data-slot": "dropdown-menu-portal",
|
|
1089
|
+
...e
|
|
1090
|
+
});
|
|
1091
|
+
}
|
|
1092
|
+
function rn({ ...e }) {
|
|
1093
|
+
return /* @__PURE__ */ v(E.Trigger, {
|
|
1094
|
+
"data-slot": "dropdown-menu-trigger",
|
|
1095
|
+
...e
|
|
1096
|
+
});
|
|
1097
|
+
}
|
|
1098
|
+
function an({ className: e, sideOffset: t = 4, ...n }) {
|
|
1099
|
+
return /* @__PURE__ */ v(E.Portal, { children: /* @__PURE__ */ v(E.Content, {
|
|
1100
|
+
"data-slot": "dropdown-menu-content",
|
|
1101
|
+
sideOffset: t,
|
|
1102
|
+
className: N("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", e),
|
|
1103
|
+
...n
|
|
1104
|
+
}) });
|
|
1105
|
+
}
|
|
1106
|
+
function on({ ...e }) {
|
|
1107
|
+
return /* @__PURE__ */ v(E.Group, {
|
|
1108
|
+
"data-slot": "dropdown-menu-group",
|
|
1109
|
+
...e
|
|
1110
|
+
});
|
|
1111
|
+
}
|
|
1112
|
+
function sn({ className: e, inset: t, variant: n = "default", ...r }) {
|
|
1113
|
+
return /* @__PURE__ */ v(E.Item, {
|
|
1114
|
+
"data-slot": "dropdown-menu-item",
|
|
1115
|
+
"data-inset": t,
|
|
1116
|
+
"data-variant": n,
|
|
1117
|
+
className: N("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:ps-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
|
|
1118
|
+
...r
|
|
1119
|
+
});
|
|
1120
|
+
}
|
|
1121
|
+
function cn({ className: e, children: t, checked: n, ...r }) {
|
|
1122
|
+
return /* @__PURE__ */ y(E.CheckboxItem, {
|
|
1123
|
+
"data-slot": "dropdown-menu-checkbox-item",
|
|
1124
|
+
className: N("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 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", e),
|
|
1125
|
+
checked: n,
|
|
1126
|
+
...r,
|
|
1127
|
+
children: [/* @__PURE__ */ v("span", {
|
|
1128
|
+
className: "pointer-events-none absolute start-2 flex size-3.5 items-center justify-center",
|
|
1129
|
+
children: /* @__PURE__ */ v(E.ItemIndicator, { children: /* @__PURE__ */ v(h, { className: "size-4" }) })
|
|
1130
|
+
}), t]
|
|
1131
|
+
});
|
|
1132
|
+
}
|
|
1133
|
+
function ln({ ...e }) {
|
|
1134
|
+
return /* @__PURE__ */ v(E.RadioGroup, {
|
|
1135
|
+
"data-slot": "dropdown-menu-radio-group",
|
|
1136
|
+
...e
|
|
1137
|
+
});
|
|
1138
|
+
}
|
|
1139
|
+
function un({ className: e, children: t, ...n }) {
|
|
1140
|
+
return /* @__PURE__ */ y(E.RadioItem, {
|
|
1141
|
+
"data-slot": "dropdown-menu-radio-item",
|
|
1142
|
+
className: N("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 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", e),
|
|
1143
|
+
...n,
|
|
1144
|
+
children: [/* @__PURE__ */ v("span", {
|
|
1145
|
+
className: "pointer-events-none absolute start-2 flex size-3.5 items-center justify-center",
|
|
1146
|
+
children: /* @__PURE__ */ v(E.ItemIndicator, { children: /* @__PURE__ */ v(ie, { className: "size-2 fill-current" }) })
|
|
1147
|
+
}), t]
|
|
1148
|
+
});
|
|
1149
|
+
}
|
|
1150
|
+
function dn({ className: e, inset: t, ...n }) {
|
|
1151
|
+
return /* @__PURE__ */ v(E.Label, {
|
|
1152
|
+
"data-slot": "dropdown-menu-label",
|
|
1153
|
+
"data-inset": t,
|
|
1154
|
+
className: N("px-2 py-1.5 text-sm font-medium data-[inset]:ps-8", e),
|
|
1155
|
+
...n
|
|
1156
|
+
});
|
|
1157
|
+
}
|
|
1158
|
+
function fn({ className: e, ...t }) {
|
|
1159
|
+
return /* @__PURE__ */ v(E.Separator, {
|
|
1160
|
+
"data-slot": "dropdown-menu-separator",
|
|
1161
|
+
className: N("bg-border -mx-1 my-1 h-px", e),
|
|
1162
|
+
...t
|
|
1163
|
+
});
|
|
1164
|
+
}
|
|
1165
|
+
function pn({ className: e, ...t }) {
|
|
1166
|
+
return /* @__PURE__ */ v("span", {
|
|
1167
|
+
"data-slot": "dropdown-menu-shortcut",
|
|
1168
|
+
className: N("text-muted-foreground ms-auto text-xs tracking-widest", e),
|
|
1169
|
+
...t
|
|
1170
|
+
});
|
|
1171
|
+
}
|
|
1172
|
+
function mn({ ...e }) {
|
|
1173
|
+
return /* @__PURE__ */ v(E.Sub, {
|
|
1174
|
+
"data-slot": "dropdown-menu-sub",
|
|
1175
|
+
...e
|
|
1176
|
+
});
|
|
1177
|
+
}
|
|
1178
|
+
function hn({ className: e, inset: t, children: n, ...r }) {
|
|
1179
|
+
return /* @__PURE__ */ y(E.SubTrigger, {
|
|
1180
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
1181
|
+
"data-inset": t,
|
|
1182
|
+
className: N("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:ps-8", e),
|
|
1183
|
+
...r,
|
|
1184
|
+
children: [n, /* @__PURE__ */ v(te, { className: "ms-auto size-4" })]
|
|
1185
|
+
});
|
|
1186
|
+
}
|
|
1187
|
+
function gn({ className: e, ...t }) {
|
|
1188
|
+
return /* @__PURE__ */ v(E.SubContent, {
|
|
1189
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
1190
|
+
className: N("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", e),
|
|
1191
|
+
...t
|
|
1192
|
+
});
|
|
1193
|
+
}
|
|
1194
|
+
//#endregion
|
|
1195
|
+
//#region src/components/ui/label.tsx
|
|
1196
|
+
function K({ className: e, ...t }) {
|
|
1197
|
+
return /* @__PURE__ */ v(xe.Root, {
|
|
1198
|
+
"data-slot": "label",
|
|
1199
|
+
className: N("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", e),
|
|
1200
|
+
...t
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1203
|
+
//#endregion
|
|
1204
|
+
//#region src/components/ui/form.tsx
|
|
1205
|
+
var _n = ve, vn = s.createContext({}), yn = ({ ...e }) => /* @__PURE__ */ v(vn.Provider, {
|
|
1206
|
+
value: { name: e.name },
|
|
1207
|
+
children: /* @__PURE__ */ v(_e, { ...e })
|
|
1208
|
+
}), q = () => {
|
|
1209
|
+
let e = s.useContext(vn), t = s.useContext(bn), { getFieldState: n } = ye(), r = be({ name: e.name }), i = n(e.name, r);
|
|
1210
|
+
if (!e) throw Error("useFormField should be used within <FormField>");
|
|
1211
|
+
let { id: a } = t;
|
|
1212
|
+
return {
|
|
1213
|
+
id: a,
|
|
1214
|
+
name: e.name,
|
|
1215
|
+
formItemId: `${a}-form-item`,
|
|
1216
|
+
formDescriptionId: `${a}-form-item-description`,
|
|
1217
|
+
formMessageId: `${a}-form-item-message`,
|
|
1218
|
+
...i
|
|
1219
|
+
};
|
|
1220
|
+
}, bn = s.createContext({});
|
|
1221
|
+
function xn({ className: e, ...t }) {
|
|
1222
|
+
let n = s.useId();
|
|
1223
|
+
return /* @__PURE__ */ v(bn.Provider, {
|
|
1224
|
+
value: { id: n },
|
|
1225
|
+
children: /* @__PURE__ */ v("div", {
|
|
1226
|
+
"data-slot": "form-item",
|
|
1227
|
+
className: N("grid gap-2", e),
|
|
1228
|
+
...t
|
|
1229
|
+
})
|
|
1230
|
+
});
|
|
1231
|
+
}
|
|
1232
|
+
function Sn({ className: e, ...t }) {
|
|
1233
|
+
let { error: n, formItemId: r } = q();
|
|
1234
|
+
return /* @__PURE__ */ v(K, {
|
|
1235
|
+
"data-slot": "form-label",
|
|
1236
|
+
"data-error": !!n,
|
|
1237
|
+
className: N("data-[error=true]:text-destructive", e),
|
|
1238
|
+
htmlFor: r,
|
|
1239
|
+
...t
|
|
1240
|
+
});
|
|
1241
|
+
}
|
|
1242
|
+
function Cn({ ...e }) {
|
|
1243
|
+
let { error: t, formItemId: n, formDescriptionId: r, formMessageId: i } = q();
|
|
1244
|
+
return /* @__PURE__ */ v(S, {
|
|
1245
|
+
"data-slot": "form-control",
|
|
1246
|
+
id: n,
|
|
1247
|
+
"aria-describedby": t ? `${r} ${i}` : `${r}`,
|
|
1248
|
+
"aria-invalid": !!t,
|
|
1249
|
+
...e
|
|
1250
|
+
});
|
|
1251
|
+
}
|
|
1252
|
+
function wn({ className: e, ...t }) {
|
|
1253
|
+
let { formDescriptionId: n } = q();
|
|
1254
|
+
return /* @__PURE__ */ v("p", {
|
|
1255
|
+
"data-slot": "form-description",
|
|
1256
|
+
id: n,
|
|
1257
|
+
className: N("text-muted-foreground text-sm", e),
|
|
1258
|
+
...t
|
|
1259
|
+
});
|
|
1260
|
+
}
|
|
1261
|
+
function Tn({ className: e, ...t }) {
|
|
1262
|
+
let { error: n, formMessageId: r } = q(), i = n ? String(n?.message ?? "") : t.children;
|
|
1263
|
+
return i ? /* @__PURE__ */ v("p", {
|
|
1264
|
+
"data-slot": "form-message",
|
|
1265
|
+
id: r,
|
|
1266
|
+
className: N("text-destructive text-sm", e),
|
|
1267
|
+
...t,
|
|
1268
|
+
children: i
|
|
1269
|
+
}) : null;
|
|
1270
|
+
}
|
|
1271
|
+
//#endregion
|
|
1272
|
+
//#region src/components/ui/image-upload.tsx
|
|
1273
|
+
function En({ value: e, onChange: t, label: n = "Imagen", disabled: r, multiple: a = !1, className: o }) {
|
|
1274
|
+
let s = d(null), [c, l] = f(!1), [p, m] = f([]);
|
|
1275
|
+
u(() => {
|
|
1276
|
+
m(Array.isArray(e) ? e : e ? [e] : []);
|
|
1277
|
+
}, [e]);
|
|
1278
|
+
let h = async (e) => {
|
|
1279
|
+
let t = e.target.files;
|
|
1280
|
+
if (!t || t.length === 0) return;
|
|
1281
|
+
let n = [];
|
|
1282
|
+
for (let e = 0; e < t.length; e++) {
|
|
1283
|
+
let r = t[e];
|
|
1284
|
+
if (!r.type.startsWith("image/")) {
|
|
1285
|
+
i.error(`Archivo ${r.name} no es una imagen válida`);
|
|
1286
|
+
continue;
|
|
1287
|
+
}
|
|
1288
|
+
if (r.size > 5 * 1024 * 1024) {
|
|
1289
|
+
i.error(`Imagen ${r.name} supera los 5MB`);
|
|
1290
|
+
continue;
|
|
1291
|
+
}
|
|
1292
|
+
n.push(r);
|
|
1293
|
+
}
|
|
1294
|
+
n.length > 0 && await g(n);
|
|
1295
|
+
}, g = async (e) => {
|
|
1296
|
+
l(!0);
|
|
1297
|
+
try {
|
|
1298
|
+
let n = e.map(async (e) => {
|
|
1299
|
+
let t = new FormData();
|
|
1300
|
+
t.append("file", e);
|
|
1301
|
+
try {
|
|
1302
|
+
return (await L.post("/upload", t, { headers: { "Content-Type": "multipart/form-data" } })).data.url;
|
|
1303
|
+
} catch (e) {
|
|
1304
|
+
return console.error("Single file upload failed", e), null;
|
|
1305
|
+
}
|
|
1306
|
+
}), r = (await Promise.all(n)).filter((e) => e !== null);
|
|
1307
|
+
r.length > 0 && (t(a ? [...p, ...r] : r[0]), i.success(`${r.length} imagen(es) cargada(s)`));
|
|
1308
|
+
} catch (e) {
|
|
1309
|
+
console.error("Upload Error:", e), i.error("Error al subir imágenes");
|
|
1310
|
+
} finally {
|
|
1311
|
+
l(!1), s.current && (s.current.value = "");
|
|
1312
|
+
}
|
|
1313
|
+
}, _ = (e) => {
|
|
1314
|
+
t(a ? p.filter((t) => t !== e) : "");
|
|
1315
|
+
};
|
|
1316
|
+
return /* @__PURE__ */ y("div", {
|
|
1317
|
+
className: N("space-y-4", o),
|
|
1318
|
+
children: [
|
|
1319
|
+
/* @__PURE__ */ v(K, { children: n }),
|
|
1320
|
+
p.length > 0 && /* @__PURE__ */ v("div", {
|
|
1321
|
+
className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4 mb-4",
|
|
1322
|
+
children: p.map((e, t) => /* @__PURE__ */ y("div", {
|
|
1323
|
+
className: "relative group rounded-lg overflow-hidden border bg-background aspect-square flex items-center justify-center bg-gray-50 dark:bg-gray-800/50",
|
|
1324
|
+
children: [/* @__PURE__ */ v("img", {
|
|
1325
|
+
src: e,
|
|
1326
|
+
alt: `Image ${t + 1}`,
|
|
1327
|
+
className: "h-full w-full object-contain p-1"
|
|
1328
|
+
}), !r && /* @__PURE__ */ v("div", {
|
|
1329
|
+
className: "absolute top-1 right-1 opacity-0 group-hover:opacity-100 transition-opacity",
|
|
1330
|
+
children: /* @__PURE__ */ v(z, {
|
|
1331
|
+
type: "button",
|
|
1332
|
+
variant: "destructive",
|
|
1333
|
+
size: "icon",
|
|
1334
|
+
className: "h-6 w-6 rounded-full",
|
|
1335
|
+
onClick: () => _(e),
|
|
1336
|
+
children: /* @__PURE__ */ v(ue, { className: "h-3 w-3" })
|
|
1337
|
+
})
|
|
1338
|
+
})]
|
|
1339
|
+
}, t))
|
|
1340
|
+
}),
|
|
1341
|
+
!r && (a || p.length === 0) && /* @__PURE__ */ y("div", {
|
|
1342
|
+
className: `
|
|
1343
|
+
border-2 border-dashed border-muted-foreground/25 rounded-lg
|
|
1344
|
+
flex flex-col items-center justify-center p-6 gap-2
|
|
1345
|
+
transition-all hover:bg-accent/50 cursor-pointer hover:border-primary/50
|
|
1346
|
+
${c ? "opacity-50 pointer-events-none" : ""}
|
|
1347
|
+
`,
|
|
1348
|
+
onClick: () => s.current?.click(),
|
|
1349
|
+
children: [
|
|
1350
|
+
c ? /* @__PURE__ */ v(oe, { className: "h-8 w-8 animate-spin text-muted-foreground" }) : /* @__PURE__ */ v(ae, { className: "h-8 w-8 text-muted-foreground" }),
|
|
1351
|
+
/* @__PURE__ */ v("span", {
|
|
1352
|
+
className: "text-sm text-muted-foreground font-medium",
|
|
1353
|
+
children: c ? "Subiendo..." : a ? "Click para agregar imágenes" : "Click para subir imagen"
|
|
1354
|
+
}),
|
|
1355
|
+
/* @__PURE__ */ v("p", {
|
|
1356
|
+
className: "text-xs text-muted-foreground/70",
|
|
1357
|
+
children: "Soporta: JPG, PNG, WEBP (Max 5MB)"
|
|
1358
|
+
}),
|
|
1359
|
+
/* @__PURE__ */ v("input", {
|
|
1360
|
+
type: "file",
|
|
1361
|
+
ref: s,
|
|
1362
|
+
className: "hidden",
|
|
1363
|
+
accept: "image/*",
|
|
1364
|
+
multiple: a,
|
|
1365
|
+
onChange: h,
|
|
1366
|
+
disabled: r || c
|
|
1367
|
+
})
|
|
1368
|
+
]
|
|
1369
|
+
})
|
|
1370
|
+
]
|
|
1371
|
+
});
|
|
1372
|
+
}
|
|
1373
|
+
//#endregion
|
|
1374
|
+
//#region src/components/ui/input.tsx
|
|
1375
|
+
function J({ className: e, type: t, ...n }) {
|
|
1376
|
+
return /* @__PURE__ */ v("input", {
|
|
1377
|
+
type: t,
|
|
1378
|
+
"data-slot": "input",
|
|
1379
|
+
className: N("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "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", e),
|
|
1380
|
+
...n
|
|
1381
|
+
});
|
|
1382
|
+
}
|
|
1383
|
+
//#endregion
|
|
1384
|
+
//#region src/components/ui/input-otp.tsx
|
|
1385
|
+
function Dn({ className: e, containerClassName: t, ...n }) {
|
|
1386
|
+
return /* @__PURE__ */ v(Se, {
|
|
1387
|
+
"data-slot": "input-otp",
|
|
1388
|
+
containerClassName: N("flex items-center gap-2 has-disabled:opacity-50", t),
|
|
1389
|
+
className: N("disabled:cursor-not-allowed", e),
|
|
1390
|
+
...n
|
|
1391
|
+
});
|
|
1392
|
+
}
|
|
1393
|
+
function On({ className: e, ...t }) {
|
|
1394
|
+
return /* @__PURE__ */ v("div", {
|
|
1395
|
+
"data-slot": "input-otp-group",
|
|
1396
|
+
className: N("flex items-center", e),
|
|
1397
|
+
...t
|
|
1398
|
+
});
|
|
1399
|
+
}
|
|
1400
|
+
function kn({ index: e, className: t, ...n }) {
|
|
1401
|
+
let { char: r, hasFakeCaret: i, isActive: a } = s.useContext(Ce)?.slots[e] ?? {};
|
|
1402
|
+
return /* @__PURE__ */ y("div", {
|
|
1403
|
+
"data-slot": "input-otp-slot",
|
|
1404
|
+
"data-active": a,
|
|
1405
|
+
className: N("data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]", t),
|
|
1406
|
+
...n,
|
|
1407
|
+
children: [r, i && /* @__PURE__ */ v("div", {
|
|
1408
|
+
className: "pointer-events-none absolute inset-0 flex items-center justify-center",
|
|
1409
|
+
children: /* @__PURE__ */ v("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" })
|
|
1410
|
+
})]
|
|
1411
|
+
});
|
|
1412
|
+
}
|
|
1413
|
+
function An({ ...e }) {
|
|
1414
|
+
return /* @__PURE__ */ v("div", {
|
|
1415
|
+
"data-slot": "input-otp-separator",
|
|
1416
|
+
role: "separator",
|
|
1417
|
+
...e,
|
|
1418
|
+
children: /* @__PURE__ */ v(se, {})
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1421
|
+
//#endregion
|
|
1422
|
+
//#region src/components/ui/popover.tsx
|
|
1423
|
+
function Y({ ...e }) {
|
|
1424
|
+
return /* @__PURE__ */ v(D.Root, {
|
|
1425
|
+
"data-slot": "popover",
|
|
1426
|
+
...e
|
|
1427
|
+
});
|
|
1428
|
+
}
|
|
1429
|
+
function X({ ...e }) {
|
|
1430
|
+
return /* @__PURE__ */ v(D.Trigger, {
|
|
1431
|
+
"data-slot": "popover-trigger",
|
|
1432
|
+
...e
|
|
1433
|
+
});
|
|
1434
|
+
}
|
|
1435
|
+
function Z({ className: e, align: t = "center", sideOffset: n = 4, ...r }) {
|
|
1436
|
+
return /* @__PURE__ */ v(D.Portal, { children: /* @__PURE__ */ v(D.Content, {
|
|
1437
|
+
"data-slot": "popover-content",
|
|
1438
|
+
align: t,
|
|
1439
|
+
sideOffset: n,
|
|
1440
|
+
className: N("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 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden", e),
|
|
1441
|
+
...r
|
|
1442
|
+
}) });
|
|
1443
|
+
}
|
|
1444
|
+
function jn({ ...e }) {
|
|
1445
|
+
return /* @__PURE__ */ v(D.Anchor, {
|
|
1446
|
+
"data-slot": "popover-anchor",
|
|
1447
|
+
...e
|
|
1448
|
+
});
|
|
1449
|
+
}
|
|
1450
|
+
//#endregion
|
|
1451
|
+
//#region src/components/ui/multi-select.tsx
|
|
1452
|
+
function Mn({ options: e, selected: t, onChange: n, placeholder: r = "Select options...", className: i }) {
|
|
1453
|
+
let [a, o] = s.useState(!1), c = (e) => {
|
|
1454
|
+
n(t.filter((t) => t !== e));
|
|
1455
|
+
};
|
|
1456
|
+
return /* @__PURE__ */ y(Y, {
|
|
1457
|
+
open: a,
|
|
1458
|
+
onOpenChange: o,
|
|
1459
|
+
children: [/* @__PURE__ */ v(X, {
|
|
1460
|
+
asChild: !0,
|
|
1461
|
+
children: /* @__PURE__ */ y("div", {
|
|
1462
|
+
role: "combobox",
|
|
1463
|
+
"aria-expanded": a,
|
|
1464
|
+
className: N("flex w-full justify-between items-center rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer hover:bg-accent hover:text-accent-foreground", "h-auto min-h-10", i),
|
|
1465
|
+
onClick: () => o(!a),
|
|
1466
|
+
children: [/* @__PURE__ */ v("div", {
|
|
1467
|
+
className: "flex flex-wrap gap-1",
|
|
1468
|
+
children: t.length > 0 ? t.map((t) => {
|
|
1469
|
+
let n = e.find((e) => e.value === t);
|
|
1470
|
+
return n ? /* @__PURE__ */ y(wt, {
|
|
1471
|
+
variant: "secondary",
|
|
1472
|
+
className: "mr-1 mb-1",
|
|
1473
|
+
onClick: (e) => {
|
|
1474
|
+
e.stopPropagation(), c(t);
|
|
1475
|
+
},
|
|
1476
|
+
children: [
|
|
1477
|
+
n.icon && /* @__PURE__ */ v(n.icon, { className: "mr-1 h-3 w-3" }),
|
|
1478
|
+
n.label,
|
|
1479
|
+
/* @__PURE__ */ v("button", {
|
|
1480
|
+
className: "ml-1 ring-offset-background rounded-full outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
1481
|
+
onKeyDown: (e) => {
|
|
1482
|
+
e.key === "Enter" && c(t);
|
|
1483
|
+
},
|
|
1484
|
+
onMouseDown: (e) => {
|
|
1485
|
+
e.preventDefault(), e.stopPropagation();
|
|
1486
|
+
},
|
|
1487
|
+
onClick: (e) => {
|
|
1488
|
+
e.preventDefault(), e.stopPropagation(), c(t);
|
|
1489
|
+
},
|
|
1490
|
+
children: /* @__PURE__ */ v(ue, { className: "h-3 w-3 text-muted-foreground hover:text-foreground" })
|
|
1491
|
+
})
|
|
1492
|
+
]
|
|
1493
|
+
}, n.value) : null;
|
|
1494
|
+
}) : /* @__PURE__ */ v("span", {
|
|
1495
|
+
className: "text-muted-foreground font-normal",
|
|
1496
|
+
children: r
|
|
1497
|
+
})
|
|
1498
|
+
}), /* @__PURE__ */ v(re, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })]
|
|
1499
|
+
})
|
|
1500
|
+
}), /* @__PURE__ */ v(Z, {
|
|
1501
|
+
className: "w-full p-0",
|
|
1502
|
+
children: /* @__PURE__ */ y(B, { children: [
|
|
1503
|
+
/* @__PURE__ */ v(V, { placeholder: "Search..." }),
|
|
1504
|
+
/* @__PURE__ */ v(U, { children: "No item found." }),
|
|
1505
|
+
/* @__PURE__ */ v(H, { children: /* @__PURE__ */ v(W, {
|
|
1506
|
+
className: "max-h-64 overflow-auto",
|
|
1507
|
+
children: e.map((e) => /* @__PURE__ */ y(G, {
|
|
1508
|
+
onSelect: () => {
|
|
1509
|
+
t.includes(e.value) ? n(t.filter((t) => t !== e.value)) : n([...t, e.value]), o(!0);
|
|
1510
|
+
},
|
|
1511
|
+
children: [
|
|
1512
|
+
/* @__PURE__ */ v(m, { className: N("mr-2 h-4 w-4", t.includes(e.value) ? "opacity-100" : "opacity-0") }),
|
|
1513
|
+
e.icon && /* @__PURE__ */ v(e.icon, { className: "mr-2 h-4 w-4" }),
|
|
1514
|
+
e.label
|
|
1515
|
+
]
|
|
1516
|
+
}, e.value))
|
|
1517
|
+
}) })
|
|
1518
|
+
] })
|
|
1519
|
+
})]
|
|
1520
|
+
});
|
|
1521
|
+
}
|
|
1522
|
+
//#endregion
|
|
1523
|
+
//#region src/components/ui/scroll-area.tsx
|
|
1524
|
+
var Nn = s.forwardRef(({ className: e, children: t, orientation: n = "vertical", type: r = "hover", ...i }, a) => /* @__PURE__ */ y(O.Root, {
|
|
1525
|
+
ref: a,
|
|
1526
|
+
"data-slot": "scroll-area",
|
|
1527
|
+
type: r,
|
|
1528
|
+
className: N("relative overflow-hidden", e),
|
|
1529
|
+
...i,
|
|
1530
|
+
children: [
|
|
1531
|
+
/* @__PURE__ */ v(O.Viewport, {
|
|
1532
|
+
"data-slot": "scroll-area-viewport",
|
|
1533
|
+
className: N("focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1", n === "horizontal" && "overflow-x-auto!"),
|
|
1534
|
+
children: t
|
|
1535
|
+
}),
|
|
1536
|
+
/* @__PURE__ */ v(Q, { orientation: n }),
|
|
1537
|
+
/* @__PURE__ */ v(O.Corner, {})
|
|
1538
|
+
]
|
|
1539
|
+
}));
|
|
1540
|
+
Nn.displayName = "ScrollArea";
|
|
1541
|
+
var Q = s.forwardRef(({ className: e, orientation: t = "vertical", ...n }, r) => /* @__PURE__ */ v(O.ScrollAreaScrollbar, {
|
|
1542
|
+
ref: r,
|
|
1543
|
+
"data-slot": "scroll-area-scrollbar",
|
|
1544
|
+
orientation: t,
|
|
1545
|
+
className: N("flex touch-none p-px transition-colors select-none", t === "vertical" && "h-full w-3 border-l border-l-transparent", t === "horizontal" && "h-3 flex-col border-t border-t-transparent", e),
|
|
1546
|
+
...n,
|
|
1547
|
+
children: /* @__PURE__ */ v(O.ScrollAreaThumb, {
|
|
1548
|
+
"data-slot": "scroll-area-thumb",
|
|
1549
|
+
className: "bg-foreground/35 hover:bg-foreground/50 relative flex-1 rounded-full transition-colors"
|
|
1550
|
+
})
|
|
1551
|
+
}));
|
|
1552
|
+
Q.displayName = "ScrollBar";
|
|
1553
|
+
//#endregion
|
|
1554
|
+
//#region src/components/ui/phone-input.tsx
|
|
1555
|
+
var Pn = s.forwardRef(({ className: e, onChange: t, ...n }, r) => /* @__PURE__ */ v(we.default, {
|
|
1556
|
+
ref: r,
|
|
1557
|
+
className: N("flex", e),
|
|
1558
|
+
flagComponent: Ln,
|
|
1559
|
+
countrySelectComponent: In,
|
|
1560
|
+
inputComponent: Fn,
|
|
1561
|
+
smartCaret: !1,
|
|
1562
|
+
onChange: (e) => t?.(e || ""),
|
|
1563
|
+
...n
|
|
1564
|
+
}));
|
|
1565
|
+
Pn.displayName = "PhoneInput";
|
|
1566
|
+
var Fn = s.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ v(J, {
|
|
1567
|
+
className: N("rounded-e-lg rounded-s-none", e),
|
|
1568
|
+
...t,
|
|
1569
|
+
ref: n
|
|
1570
|
+
}));
|
|
1571
|
+
Fn.displayName = "InputComponent";
|
|
1572
|
+
var In = ({ disabled: e, value: t, onChange: n, options: r }) => {
|
|
1573
|
+
let i = s.useCallback((e) => {
|
|
1574
|
+
n(e);
|
|
1575
|
+
}, [n]);
|
|
1576
|
+
return /* @__PURE__ */ y(Y, { children: [/* @__PURE__ */ v(X, {
|
|
1577
|
+
asChild: !0,
|
|
1578
|
+
children: /* @__PURE__ */ y(z, {
|
|
1579
|
+
type: "button",
|
|
1580
|
+
variant: "outline",
|
|
1581
|
+
className: N("flex gap-1 rounded-e-none rounded-s-lg border-r-0 px-3 focus:z-10"),
|
|
1582
|
+
disabled: e,
|
|
1583
|
+
children: [/* @__PURE__ */ v(Ln, {
|
|
1584
|
+
country: t,
|
|
1585
|
+
countryName: t
|
|
1586
|
+
}), /* @__PURE__ */ v(re, { className: N("-mr-2 size-4 opacity-50", e ? "hidden" : "opacity-100") })]
|
|
1587
|
+
})
|
|
1588
|
+
}), /* @__PURE__ */ v(Z, {
|
|
1589
|
+
className: "w-[300px] p-0",
|
|
1590
|
+
children: /* @__PURE__ */ y(B, { children: [/* @__PURE__ */ v(V, { placeholder: "Buscar país..." }), /* @__PURE__ */ v(H, { children: /* @__PURE__ */ y(Nn, {
|
|
1591
|
+
className: "h-72",
|
|
1592
|
+
children: [/* @__PURE__ */ v(U, { children: "País no encontrado." }), /* @__PURE__ */ v(W, { children: r.filter((e) => e.value).map((e) => /* @__PURE__ */ y(G, {
|
|
1593
|
+
className: "gap-2",
|
|
1594
|
+
onSelect: () => i(e.value),
|
|
1595
|
+
children: [
|
|
1596
|
+
/* @__PURE__ */ v(Ln, {
|
|
1597
|
+
country: e.value,
|
|
1598
|
+
countryName: e.label
|
|
1599
|
+
}),
|
|
1600
|
+
/* @__PURE__ */ v("span", {
|
|
1601
|
+
className: "flex-1 text-sm",
|
|
1602
|
+
children: e.label
|
|
1603
|
+
}),
|
|
1604
|
+
e.value && /* @__PURE__ */ v("span", {
|
|
1605
|
+
className: "text-sm text-foreground/50",
|
|
1606
|
+
children: `+${we.getCountryCallingCode(e.value)}`
|
|
1607
|
+
}),
|
|
1608
|
+
/* @__PURE__ */ v(h, { className: N("ml-auto size-4", e.value === t ? "opacity-100" : "opacity-0") })
|
|
1609
|
+
]
|
|
1610
|
+
}, e.value)) })]
|
|
1611
|
+
}) })] })
|
|
1612
|
+
})] });
|
|
1613
|
+
}, Ln = ({ country: e, countryName: t }) => {
|
|
1614
|
+
let n = Te[e];
|
|
1615
|
+
return /* @__PURE__ */ v("span", {
|
|
1616
|
+
className: "flex h-5 w-7 shrink-0 items-center justify-center overflow-hidden rounded-sm bg-foreground/10 [&_svg]:h-full [&_svg]:w-full [&_svg]:object-cover",
|
|
1617
|
+
children: n && /* @__PURE__ */ v(n, { title: t })
|
|
1618
|
+
});
|
|
1619
|
+
}, Rn = s.forwardRef(({ className: e, value: t, ...n }, r) => /* @__PURE__ */ v(k.Root, {
|
|
1620
|
+
ref: r,
|
|
1621
|
+
className: N("relative h-2 w-full overflow-hidden rounded-full bg-primary/20", e),
|
|
1622
|
+
...n,
|
|
1623
|
+
children: /* @__PURE__ */ v(k.Indicator, {
|
|
1624
|
+
className: "h-full bg-primary transition-transform duration-300 ease-out",
|
|
1625
|
+
style: {
|
|
1626
|
+
width: "100%",
|
|
1627
|
+
transform: `translateX(-${100 - (t || 0)}%)`
|
|
1628
|
+
}
|
|
1629
|
+
})
|
|
1630
|
+
}));
|
|
1631
|
+
Rn.displayName = k.Root.displayName;
|
|
1632
|
+
//#endregion
|
|
1633
|
+
//#region src/components/ui/radio-group.tsx
|
|
1634
|
+
function zn({ className: e, ...t }) {
|
|
1635
|
+
return /* @__PURE__ */ v(Ee.Root, {
|
|
1636
|
+
"data-slot": "radio-group",
|
|
1637
|
+
className: N("grid gap-3", e),
|
|
1638
|
+
...t
|
|
1639
|
+
});
|
|
1640
|
+
}
|
|
1641
|
+
function Bn({ className: e, ...t }) {
|
|
1642
|
+
return /* @__PURE__ */ v(Ee.Item, {
|
|
1643
|
+
"data-slot": "radio-group-item",
|
|
1644
|
+
className: N("border-input text-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 dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", e),
|
|
1645
|
+
...t,
|
|
1646
|
+
children: /* @__PURE__ */ v(Ee.Indicator, {
|
|
1647
|
+
"data-slot": "radio-group-indicator",
|
|
1648
|
+
className: "relative flex items-center justify-center",
|
|
1649
|
+
children: /* @__PURE__ */ v(ie, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
|
|
1650
|
+
})
|
|
1651
|
+
});
|
|
1652
|
+
}
|
|
1653
|
+
//#endregion
|
|
1654
|
+
//#region src/components/ui/select.tsx
|
|
1655
|
+
function Vn({ ...e }) {
|
|
1656
|
+
return /* @__PURE__ */ v(A.Root, {
|
|
1657
|
+
"data-slot": "select",
|
|
1658
|
+
...e
|
|
1659
|
+
});
|
|
1660
|
+
}
|
|
1661
|
+
function Hn({ ...e }) {
|
|
1662
|
+
return /* @__PURE__ */ v(A.Group, {
|
|
1663
|
+
"data-slot": "select-group",
|
|
1664
|
+
...e
|
|
1665
|
+
});
|
|
1666
|
+
}
|
|
1667
|
+
function Un({ ...e }) {
|
|
1668
|
+
return /* @__PURE__ */ v(A.Value, {
|
|
1669
|
+
"data-slot": "select-value",
|
|
1670
|
+
...e
|
|
1671
|
+
});
|
|
1672
|
+
}
|
|
1673
|
+
function Wn({ className: e, size: t = "default", children: n, ...r }) {
|
|
1674
|
+
return /* @__PURE__ */ y(A.Trigger, {
|
|
1675
|
+
"data-slot": "select-trigger",
|
|
1676
|
+
"data-size": t,
|
|
1677
|
+
className: N("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
|
|
1678
|
+
...r,
|
|
1679
|
+
children: [n, /* @__PURE__ */ v(A.Icon, {
|
|
1680
|
+
asChild: !0,
|
|
1681
|
+
children: /* @__PURE__ */ v(_, { className: "size-4 opacity-50" })
|
|
1682
|
+
})]
|
|
1683
|
+
});
|
|
1684
|
+
}
|
|
1685
|
+
function Gn({ className: e, children: t, position: n = "popper", ...r }) {
|
|
1686
|
+
return /* @__PURE__ */ v(A.Portal, { children: /* @__PURE__ */ y(A.Content, {
|
|
1687
|
+
"data-slot": "select-content",
|
|
1688
|
+
className: N("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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md", n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", e),
|
|
1689
|
+
position: n,
|
|
1690
|
+
...r,
|
|
1691
|
+
children: [
|
|
1692
|
+
/* @__PURE__ */ v(Yn, {}),
|
|
1693
|
+
/* @__PURE__ */ v(A.Viewport, {
|
|
1694
|
+
className: N("p-1", n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),
|
|
1695
|
+
children: t
|
|
1696
|
+
}),
|
|
1697
|
+
/* @__PURE__ */ v(Xn, {})
|
|
1698
|
+
]
|
|
1699
|
+
}) });
|
|
1700
|
+
}
|
|
1701
|
+
function Kn({ className: e, ...t }) {
|
|
1702
|
+
return /* @__PURE__ */ v(A.Label, {
|
|
1703
|
+
"data-slot": "select-label",
|
|
1704
|
+
className: N("text-muted-foreground px-2 py-1.5 text-xs", e),
|
|
1705
|
+
...t
|
|
1706
|
+
});
|
|
1707
|
+
}
|
|
1708
|
+
function qn({ className: e, children: t, ...n }) {
|
|
1709
|
+
return /* @__PURE__ */ y(A.Item, {
|
|
1710
|
+
"data-slot": "select-item",
|
|
1711
|
+
className: N("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-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 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", e),
|
|
1712
|
+
...n,
|
|
1713
|
+
children: [/* @__PURE__ */ v("span", {
|
|
1714
|
+
className: "absolute end-2 flex size-3.5 items-center justify-center",
|
|
1715
|
+
children: /* @__PURE__ */ v(A.ItemIndicator, { children: /* @__PURE__ */ v(h, { className: "size-4" }) })
|
|
1716
|
+
}), /* @__PURE__ */ v(A.ItemText, { children: t })]
|
|
1717
|
+
});
|
|
1718
|
+
}
|
|
1719
|
+
function Jn({ className: e, ...t }) {
|
|
1720
|
+
return /* @__PURE__ */ v(A.Separator, {
|
|
1721
|
+
"data-slot": "select-separator",
|
|
1722
|
+
className: N("bg-border pointer-events-none -mx-1 my-1 h-px", e),
|
|
1723
|
+
...t
|
|
1724
|
+
});
|
|
1725
|
+
}
|
|
1726
|
+
function Yn({ className: e, ...t }) {
|
|
1727
|
+
return /* @__PURE__ */ v(A.ScrollUpButton, {
|
|
1728
|
+
"data-slot": "select-scroll-up-button",
|
|
1729
|
+
className: N("flex cursor-default items-center justify-center py-1", e),
|
|
1730
|
+
...t,
|
|
1731
|
+
children: /* @__PURE__ */ v(ne, { className: "size-4" })
|
|
1732
|
+
});
|
|
1733
|
+
}
|
|
1734
|
+
function Xn({ className: e, ...t }) {
|
|
1735
|
+
return /* @__PURE__ */ v(A.ScrollDownButton, {
|
|
1736
|
+
"data-slot": "select-scroll-down-button",
|
|
1737
|
+
className: N("flex cursor-default items-center justify-center py-1", e),
|
|
1738
|
+
...t,
|
|
1739
|
+
children: /* @__PURE__ */ v(_, { className: "size-4" })
|
|
1740
|
+
});
|
|
1741
|
+
}
|
|
1742
|
+
//#endregion
|
|
1743
|
+
//#region src/components/ui/separator.tsx
|
|
1744
|
+
function Zn({ className: e, orientation: t = "horizontal", decorative: n = !0, ...r }) {
|
|
1745
|
+
return /* @__PURE__ */ v(De.Root, {
|
|
1746
|
+
"data-slot": "separator",
|
|
1747
|
+
decorative: n,
|
|
1748
|
+
orientation: t,
|
|
1749
|
+
className: N("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px", e),
|
|
1750
|
+
...r
|
|
1751
|
+
});
|
|
1752
|
+
}
|
|
1753
|
+
//#endregion
|
|
1754
|
+
//#region src/components/ui/sheet.tsx
|
|
1755
|
+
function Qn({ ...e }) {
|
|
1756
|
+
return /* @__PURE__ */ v(T.Root, {
|
|
1757
|
+
"data-slot": "sheet",
|
|
1758
|
+
...e
|
|
1759
|
+
});
|
|
1760
|
+
}
|
|
1761
|
+
function $n({ ...e }) {
|
|
1762
|
+
return /* @__PURE__ */ v(T.Trigger, {
|
|
1763
|
+
"data-slot": "sheet-trigger",
|
|
1764
|
+
...e
|
|
1765
|
+
});
|
|
1766
|
+
}
|
|
1767
|
+
function er({ ...e }) {
|
|
1768
|
+
return /* @__PURE__ */ v(T.Close, {
|
|
1769
|
+
"data-slot": "sheet-close",
|
|
1770
|
+
...e
|
|
1771
|
+
});
|
|
1772
|
+
}
|
|
1773
|
+
function tr({ ...e }) {
|
|
1774
|
+
return /* @__PURE__ */ v(T.Portal, {
|
|
1775
|
+
"data-slot": "sheet-portal",
|
|
1776
|
+
...e
|
|
1777
|
+
});
|
|
1778
|
+
}
|
|
1779
|
+
function nr({ className: e, ...t }) {
|
|
1780
|
+
return /* @__PURE__ */ v(T.Overlay, {
|
|
1781
|
+
"data-slot": "sheet-overlay",
|
|
1782
|
+
className: N("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", e),
|
|
1783
|
+
...t
|
|
1784
|
+
});
|
|
1785
|
+
}
|
|
1786
|
+
function rr({ className: e, children: t, side: n = "right", ...r }) {
|
|
1787
|
+
return /* @__PURE__ */ y(tr, { children: [/* @__PURE__ */ v(nr, {}), /* @__PURE__ */ y(T.Content, {
|
|
1788
|
+
"data-slot": "sheet-content",
|
|
1789
|
+
className: N("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", n === "right" && "data-[state=closed]:slide-out-to-end data-[state=open]:slide-in-from-end inset-y-0 end-0 h-full w-3/4 border-s sm:max-w-sm", n === "left" && "data-[state=closed]:slide-out-to-start data-[state=open]:slide-in-from-start inset-y-0 start-0 h-full w-3/4 border-e sm:max-w-sm", n === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", n === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", e),
|
|
1790
|
+
...r,
|
|
1791
|
+
children: [t, /* @__PURE__ */ y(T.Close, {
|
|
1792
|
+
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",
|
|
1793
|
+
children: [/* @__PURE__ */ v(de, { className: "size-4" }), /* @__PURE__ */ v("span", {
|
|
1794
|
+
className: "sr-only",
|
|
1795
|
+
children: "Close"
|
|
1796
|
+
})]
|
|
1797
|
+
})]
|
|
1798
|
+
})] });
|
|
1799
|
+
}
|
|
1800
|
+
function ir({ className: e, ...t }) {
|
|
1801
|
+
return /* @__PURE__ */ v("div", {
|
|
1802
|
+
"data-slot": "sheet-header",
|
|
1803
|
+
className: N("flex flex-col gap-1.5 p-4", e),
|
|
1804
|
+
...t
|
|
1805
|
+
});
|
|
1806
|
+
}
|
|
1807
|
+
function ar({ className: e, ...t }) {
|
|
1808
|
+
return /* @__PURE__ */ v("div", {
|
|
1809
|
+
"data-slot": "sheet-footer",
|
|
1810
|
+
className: N("mt-auto flex flex-col gap-2 p-4", e),
|
|
1811
|
+
...t
|
|
1812
|
+
});
|
|
1813
|
+
}
|
|
1814
|
+
function or({ className: e, ...t }) {
|
|
1815
|
+
return /* @__PURE__ */ v(T.Title, {
|
|
1816
|
+
"data-slot": "sheet-title",
|
|
1817
|
+
className: N("text-foreground font-semibold", e),
|
|
1818
|
+
...t
|
|
1819
|
+
});
|
|
1820
|
+
}
|
|
1821
|
+
function sr({ className: e, ...t }) {
|
|
1822
|
+
return /* @__PURE__ */ v(T.Description, {
|
|
1823
|
+
"data-slot": "sheet-description",
|
|
1824
|
+
className: N("text-muted-foreground text-sm", e),
|
|
1825
|
+
...t
|
|
1826
|
+
});
|
|
1827
|
+
}
|
|
1828
|
+
//#endregion
|
|
1829
|
+
//#region src/hooks/use-mobile.tsx
|
|
1830
|
+
var cr = 768;
|
|
1831
|
+
function lr() {
|
|
1832
|
+
let [e, t] = s.useState(void 0);
|
|
1833
|
+
return s.useEffect(() => {
|
|
1834
|
+
let e = window.matchMedia(`(max-width: ${cr - 1}px)`), n = () => {
|
|
1835
|
+
t(window.innerWidth < cr);
|
|
1836
|
+
};
|
|
1837
|
+
return e.addEventListener("change", n), t(window.innerWidth < cr), () => e.removeEventListener("change", n);
|
|
1838
|
+
}, []), !!e;
|
|
1839
|
+
}
|
|
1840
|
+
//#endregion
|
|
1841
|
+
//#region src/components/ui/skeleton.tsx
|
|
1842
|
+
function ur({ className: e, ...t }) {
|
|
1843
|
+
return /* @__PURE__ */ v("div", {
|
|
1844
|
+
"data-slot": "skeleton",
|
|
1845
|
+
className: N("bg-accent animate-pulse rounded-md", e),
|
|
1846
|
+
...t
|
|
1847
|
+
});
|
|
1848
|
+
}
|
|
1849
|
+
//#endregion
|
|
1850
|
+
//#region src/components/ui/tooltip.tsx
|
|
1851
|
+
function dr({ delayDuration: e = 0, ...t }) {
|
|
1852
|
+
return /* @__PURE__ */ v(j.Provider, {
|
|
1853
|
+
"data-slot": "tooltip-provider",
|
|
1854
|
+
delayDuration: e,
|
|
1855
|
+
...t
|
|
1856
|
+
});
|
|
1857
|
+
}
|
|
1858
|
+
function fr({ ...e }) {
|
|
1859
|
+
return /* @__PURE__ */ v(dr, { children: /* @__PURE__ */ v(j.Root, {
|
|
1860
|
+
"data-slot": "tooltip",
|
|
1861
|
+
...e
|
|
1862
|
+
}) });
|
|
1863
|
+
}
|
|
1864
|
+
function pr({ ...e }) {
|
|
1865
|
+
return /* @__PURE__ */ v(j.Trigger, {
|
|
1866
|
+
"data-slot": "tooltip-trigger",
|
|
1867
|
+
...e
|
|
1868
|
+
});
|
|
1869
|
+
}
|
|
1870
|
+
function mr({ className: e, sideOffset: t = 0, children: n, ...r }) {
|
|
1871
|
+
return /* @__PURE__ */ v(j.Portal, { children: /* @__PURE__ */ y(j.Content, {
|
|
1872
|
+
"data-slot": "tooltip-content",
|
|
1873
|
+
sideOffset: t,
|
|
1874
|
+
className: N("bg-primary text-primary-foreground 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", e),
|
|
1875
|
+
...r,
|
|
1876
|
+
children: [n, /* @__PURE__ */ v(j.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
|
|
1877
|
+
}) });
|
|
1878
|
+
}
|
|
1879
|
+
//#endregion
|
|
1880
|
+
//#region src/components/ui/sidebar.tsx
|
|
1881
|
+
var hr = "sidebar_state", gr = 3600 * 24 * 7, _r = "16rem", vr = "18rem", yr = "3rem", br = "b", xr = s.createContext(null);
|
|
1882
|
+
function $() {
|
|
1883
|
+
let e = s.useContext(xr);
|
|
1884
|
+
if (!e) throw Error("useSidebar must be used within a SidebarProvider.");
|
|
1885
|
+
return e;
|
|
1886
|
+
}
|
|
1887
|
+
function Sr({ defaultOpen: e = !0, open: t, onOpenChange: n, className: r, style: i, children: a, ...o }) {
|
|
1888
|
+
let c = lr(), [l, u] = s.useState(!1), [d, f] = s.useState(e), p = t ?? d, m = s.useCallback((e) => {
|
|
1889
|
+
let t = typeof e == "function" ? e(p) : e;
|
|
1890
|
+
n ? n(t) : f(t), document.cookie = `${hr}=${t}; path=/; max-age=${gr}`;
|
|
1891
|
+
}, [n, p]), h = s.useCallback(() => c ? u((e) => !e) : m((e) => !e), [
|
|
1892
|
+
c,
|
|
1893
|
+
m,
|
|
1894
|
+
u
|
|
1895
|
+
]);
|
|
1896
|
+
s.useEffect(() => {
|
|
1897
|
+
let e = (e) => {
|
|
1898
|
+
e.key === br && (e.metaKey || e.ctrlKey) && (e.preventDefault(), h());
|
|
1899
|
+
};
|
|
1900
|
+
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
1901
|
+
}, [h]);
|
|
1902
|
+
let g = p ? "expanded" : "collapsed", _ = s.useMemo(() => ({
|
|
1903
|
+
state: g,
|
|
1904
|
+
open: p,
|
|
1905
|
+
setOpen: m,
|
|
1906
|
+
isMobile: c,
|
|
1907
|
+
openMobile: l,
|
|
1908
|
+
setOpenMobile: u,
|
|
1909
|
+
toggleSidebar: h
|
|
1910
|
+
}), [
|
|
1911
|
+
g,
|
|
1912
|
+
p,
|
|
1913
|
+
m,
|
|
1914
|
+
c,
|
|
1915
|
+
l,
|
|
1916
|
+
u,
|
|
1917
|
+
h
|
|
1918
|
+
]);
|
|
1919
|
+
return /* @__PURE__ */ v(xr.Provider, {
|
|
1920
|
+
value: _,
|
|
1921
|
+
children: /* @__PURE__ */ v(dr, {
|
|
1922
|
+
delayDuration: 0,
|
|
1923
|
+
children: /* @__PURE__ */ v("div", {
|
|
1924
|
+
"data-slot": "sidebar-wrapper",
|
|
1925
|
+
style: {
|
|
1926
|
+
"--sidebar-width": _r,
|
|
1927
|
+
"--sidebar-width-icon": yr,
|
|
1928
|
+
...i
|
|
1929
|
+
},
|
|
1930
|
+
className: N("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex h-svh w-full overflow-hidden", r),
|
|
1931
|
+
...o,
|
|
1932
|
+
children: a
|
|
1933
|
+
})
|
|
1934
|
+
})
|
|
1935
|
+
});
|
|
1936
|
+
}
|
|
1937
|
+
function Cr({ side: e = "left", variant: t = "sidebar", collapsible: n = "offcanvas", className: r, children: i, ...a }) {
|
|
1938
|
+
let { isMobile: o, state: s, openMobile: c, setOpenMobile: l } = $();
|
|
1939
|
+
return n === "none" ? /* @__PURE__ */ v("div", {
|
|
1940
|
+
"data-slot": "sidebar",
|
|
1941
|
+
className: N("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", r),
|
|
1942
|
+
...a,
|
|
1943
|
+
children: i
|
|
1944
|
+
}) : o ? /* @__PURE__ */ v(Qn, {
|
|
1945
|
+
open: c,
|
|
1946
|
+
onOpenChange: l,
|
|
1947
|
+
...a,
|
|
1948
|
+
children: /* @__PURE__ */ y(rr, {
|
|
1949
|
+
"data-sidebar": "sidebar",
|
|
1950
|
+
"data-slot": "sidebar",
|
|
1951
|
+
"data-mobile": "true",
|
|
1952
|
+
className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
|
|
1953
|
+
style: { "--sidebar-width": vr },
|
|
1954
|
+
side: e,
|
|
1955
|
+
children: [/* @__PURE__ */ y(ir, {
|
|
1956
|
+
className: "sr-only",
|
|
1957
|
+
children: [/* @__PURE__ */ v(or, { children: "Sidebar" }), /* @__PURE__ */ v(sr, { children: "Displays the mobile sidebar." })]
|
|
1958
|
+
}), /* @__PURE__ */ v("div", {
|
|
1959
|
+
className: "flex h-full w-full flex-col",
|
|
1960
|
+
children: i
|
|
1961
|
+
})]
|
|
1962
|
+
})
|
|
1963
|
+
}) : /* @__PURE__ */ y("div", {
|
|
1964
|
+
className: "group peer text-sidebar-foreground hidden md:block",
|
|
1965
|
+
"data-state": s,
|
|
1966
|
+
"data-collapsible": s === "collapsed" ? n : "",
|
|
1967
|
+
"data-variant": t,
|
|
1968
|
+
"data-side": e,
|
|
1969
|
+
"data-slot": "sidebar",
|
|
1970
|
+
children: [/* @__PURE__ */ v("div", {
|
|
1971
|
+
"data-slot": "sidebar-gap",
|
|
1972
|
+
className: N("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", t === "floating" || t === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
|
|
1973
|
+
}), /* @__PURE__ */ v("div", {
|
|
1974
|
+
"data-slot": "sidebar-container",
|
|
1975
|
+
className: N("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[inset-inline,width] duration-200 ease-linear md:flex", e === "left" ? "start-0 group-data-[collapsible=offcanvas]:-start-[calc(var(--sidebar-width))]" : "end-0 group-data-[collapsible=offcanvas]:-end-[calc(var(--sidebar-width))]", t === "floating" || t === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-e group-data-[side=right]:border-s", r),
|
|
1976
|
+
...a,
|
|
1977
|
+
children: /* @__PURE__ */ v("div", {
|
|
1978
|
+
"data-sidebar": "sidebar",
|
|
1979
|
+
"data-slot": "sidebar-inner",
|
|
1980
|
+
className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",
|
|
1981
|
+
children: i
|
|
1982
|
+
})
|
|
1983
|
+
})]
|
|
1984
|
+
});
|
|
1985
|
+
}
|
|
1986
|
+
function wr({ className: e, onClick: t, ...n }) {
|
|
1987
|
+
let { toggleSidebar: r } = $();
|
|
1988
|
+
return /* @__PURE__ */ y(z, {
|
|
1989
|
+
"data-sidebar": "trigger",
|
|
1990
|
+
"data-slot": "sidebar-trigger",
|
|
1991
|
+
variant: "ghost",
|
|
1992
|
+
size: "icon",
|
|
1993
|
+
className: N("size-7", e),
|
|
1994
|
+
onClick: (e) => {
|
|
1995
|
+
t?.(e), r();
|
|
1996
|
+
},
|
|
1997
|
+
...n,
|
|
1998
|
+
children: [/* @__PURE__ */ v(ce, {}), /* @__PURE__ */ v("span", {
|
|
1999
|
+
className: "sr-only",
|
|
2000
|
+
children: "Toggle Sidebar"
|
|
2001
|
+
})]
|
|
2002
|
+
});
|
|
2003
|
+
}
|
|
2004
|
+
function Tr({ className: e, ...t }) {
|
|
2005
|
+
let { toggleSidebar: n } = $();
|
|
2006
|
+
return /* @__PURE__ */ v("button", {
|
|
2007
|
+
"data-sidebar": "rail",
|
|
2008
|
+
"data-slot": "sidebar-rail",
|
|
2009
|
+
"aria-label": "Toggle Sidebar",
|
|
2010
|
+
tabIndex: -1,
|
|
2011
|
+
onClick: n,
|
|
2012
|
+
title: "Toggle Sidebar",
|
|
2013
|
+
className: N("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-end-4 group-data-[side=right]:start-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:start-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-end-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-start-2", "rtl:translate-x-1/2", "rtl:in-data-[side=left]:cursor-e-resize rtl:in-data-[side=right]:cursor-w-resize", "rtl:[[data-side=left][data-state=collapsed]_&]:cursor-w-resize rtl:[[data-side=right][data-state=collapsed]_&]:cursor-e-resize", e),
|
|
2014
|
+
...t
|
|
2015
|
+
});
|
|
2016
|
+
}
|
|
2017
|
+
function Er({ className: e, ...t }) {
|
|
2018
|
+
return /* @__PURE__ */ v("div", {
|
|
2019
|
+
"data-slot": "sidebar-inset",
|
|
2020
|
+
className: N("bg-background relative flex w-full flex-1 flex-col overflow-y-auto", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2", e),
|
|
2021
|
+
...t
|
|
2022
|
+
});
|
|
2023
|
+
}
|
|
2024
|
+
function Dr({ className: e, ...t }) {
|
|
2025
|
+
return /* @__PURE__ */ v(J, {
|
|
2026
|
+
"data-slot": "sidebar-input",
|
|
2027
|
+
"data-sidebar": "input",
|
|
2028
|
+
className: N("bg-background h-8 w-full shadow-none", e),
|
|
2029
|
+
...t
|
|
2030
|
+
});
|
|
2031
|
+
}
|
|
2032
|
+
function Or({ className: e, ...t }) {
|
|
2033
|
+
return /* @__PURE__ */ v("div", {
|
|
2034
|
+
"data-slot": "sidebar-header",
|
|
2035
|
+
"data-sidebar": "header",
|
|
2036
|
+
className: N("flex flex-col gap-2 p-2", e),
|
|
2037
|
+
...t
|
|
2038
|
+
});
|
|
2039
|
+
}
|
|
2040
|
+
function kr({ className: e, ...t }) {
|
|
2041
|
+
return /* @__PURE__ */ v("div", {
|
|
2042
|
+
"data-slot": "sidebar-footer",
|
|
2043
|
+
"data-sidebar": "footer",
|
|
2044
|
+
className: N("flex flex-col gap-2 p-2", e),
|
|
2045
|
+
...t
|
|
2046
|
+
});
|
|
2047
|
+
}
|
|
2048
|
+
function Ar({ className: e, ...t }) {
|
|
2049
|
+
return /* @__PURE__ */ v(Zn, {
|
|
2050
|
+
"data-slot": "sidebar-separator",
|
|
2051
|
+
"data-sidebar": "separator",
|
|
2052
|
+
className: N("bg-sidebar-border mx-2 w-auto", e),
|
|
2053
|
+
...t
|
|
2054
|
+
});
|
|
2055
|
+
}
|
|
2056
|
+
function jr({ className: e, ...t }) {
|
|
2057
|
+
return /* @__PURE__ */ v("div", {
|
|
2058
|
+
"data-slot": "sidebar-content",
|
|
2059
|
+
"data-sidebar": "content",
|
|
2060
|
+
className: N("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", e),
|
|
2061
|
+
...t
|
|
2062
|
+
});
|
|
2063
|
+
}
|
|
2064
|
+
function Mr({ className: e, ...t }) {
|
|
2065
|
+
return /* @__PURE__ */ v("div", {
|
|
2066
|
+
"data-slot": "sidebar-group",
|
|
2067
|
+
"data-sidebar": "group",
|
|
2068
|
+
className: N("relative flex w-full min-w-0 flex-col p-2", e),
|
|
2069
|
+
...t
|
|
2070
|
+
});
|
|
2071
|
+
}
|
|
2072
|
+
function Nr({ className: e, asChild: t = !1, ...n }) {
|
|
2073
|
+
return /* @__PURE__ */ v(t ? S : "div", {
|
|
2074
|
+
"data-slot": "sidebar-group-label",
|
|
2075
|
+
"data-sidebar": "group-label",
|
|
2076
|
+
className: N("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", e),
|
|
2077
|
+
...n
|
|
2078
|
+
});
|
|
2079
|
+
}
|
|
2080
|
+
function Pr({ className: e, asChild: t = !1, ...n }) {
|
|
2081
|
+
return /* @__PURE__ */ v(t ? S : "button", {
|
|
2082
|
+
"data-slot": "sidebar-group-action",
|
|
2083
|
+
"data-sidebar": "group-action",
|
|
2084
|
+
className: N("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute end-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", e),
|
|
2085
|
+
...n
|
|
2086
|
+
});
|
|
2087
|
+
}
|
|
2088
|
+
function Fr({ className: e, ...t }) {
|
|
2089
|
+
return /* @__PURE__ */ v("div", {
|
|
2090
|
+
"data-slot": "sidebar-group-content",
|
|
2091
|
+
"data-sidebar": "group-content",
|
|
2092
|
+
className: N("w-full text-sm", e),
|
|
2093
|
+
...t
|
|
2094
|
+
});
|
|
2095
|
+
}
|
|
2096
|
+
function Ir({ className: e, ...t }) {
|
|
2097
|
+
return /* @__PURE__ */ v("ul", {
|
|
2098
|
+
"data-slot": "sidebar-menu",
|
|
2099
|
+
"data-sidebar": "menu",
|
|
2100
|
+
className: N("flex w-full min-w-0 flex-col gap-1", e),
|
|
2101
|
+
...t
|
|
2102
|
+
});
|
|
2103
|
+
}
|
|
2104
|
+
function Lr({ className: e, ...t }) {
|
|
2105
|
+
return /* @__PURE__ */ v("li", {
|
|
2106
|
+
"data-slot": "sidebar-menu-item",
|
|
2107
|
+
"data-sidebar": "menu-item",
|
|
2108
|
+
className: N("group/menu-item relative", e),
|
|
2109
|
+
...t
|
|
2110
|
+
});
|
|
2111
|
+
}
|
|
2112
|
+
var Rr = b("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-start text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pe-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
|
|
2113
|
+
variants: {
|
|
2114
|
+
variant: {
|
|
2115
|
+
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
2116
|
+
outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
2117
|
+
},
|
|
2118
|
+
size: {
|
|
2119
|
+
default: "h-8 text-sm",
|
|
2120
|
+
sm: "h-7 text-xs",
|
|
2121
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
2122
|
+
}
|
|
2123
|
+
},
|
|
2124
|
+
defaultVariants: {
|
|
2125
|
+
variant: "default",
|
|
2126
|
+
size: "default"
|
|
2127
|
+
}
|
|
2128
|
+
});
|
|
2129
|
+
function zr({ asChild: e = !1, isActive: t = !1, variant: n = "default", size: r = "default", tooltip: i, className: a, ...o }) {
|
|
2130
|
+
let s = e ? S : "button", { isMobile: c, state: l } = $(), u = /* @__PURE__ */ v(s, {
|
|
2131
|
+
"data-slot": "sidebar-menu-button",
|
|
2132
|
+
"data-sidebar": "menu-button",
|
|
2133
|
+
"data-size": r,
|
|
2134
|
+
"data-active": t,
|
|
2135
|
+
className: N(Rr({
|
|
2136
|
+
variant: n,
|
|
2137
|
+
size: r
|
|
2138
|
+
}), a),
|
|
2139
|
+
...o
|
|
2140
|
+
});
|
|
2141
|
+
return i ? (typeof i == "string" && (i = { children: i }), /* @__PURE__ */ y(fr, { children: [/* @__PURE__ */ v(pr, {
|
|
2142
|
+
asChild: !0,
|
|
2143
|
+
children: u
|
|
2144
|
+
}), /* @__PURE__ */ v(mr, {
|
|
2145
|
+
side: "right",
|
|
2146
|
+
align: "center",
|
|
2147
|
+
hidden: l !== "collapsed" || c,
|
|
2148
|
+
...i
|
|
2149
|
+
})] })) : u;
|
|
2150
|
+
}
|
|
2151
|
+
function Br({ className: e, asChild: t = !1, showOnHover: n = !1, ...r }) {
|
|
2152
|
+
return /* @__PURE__ */ v(t ? S : "button", {
|
|
2153
|
+
"data-slot": "sidebar-menu-action",
|
|
2154
|
+
"data-sidebar": "menu-action",
|
|
2155
|
+
className: N("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", n && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0", e),
|
|
2156
|
+
...r
|
|
2157
|
+
});
|
|
2158
|
+
}
|
|
2159
|
+
function Vr({ className: e, ...t }) {
|
|
2160
|
+
return /* @__PURE__ */ v("div", {
|
|
2161
|
+
"data-slot": "sidebar-menu-badge",
|
|
2162
|
+
"data-sidebar": "menu-badge",
|
|
2163
|
+
className: N("text-sidebar-foreground pointer-events-none absolute end-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", e),
|
|
2164
|
+
...t
|
|
2165
|
+
});
|
|
2166
|
+
}
|
|
2167
|
+
function Hr({ className: e, showIcon: t = !1, ...n }) {
|
|
2168
|
+
let r = s.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
|
|
2169
|
+
return /* @__PURE__ */ y("div", {
|
|
2170
|
+
"data-slot": "sidebar-menu-skeleton",
|
|
2171
|
+
"data-sidebar": "menu-skeleton",
|
|
2172
|
+
className: N("flex h-8 items-center gap-2 rounded-md px-2", e),
|
|
2173
|
+
...n,
|
|
2174
|
+
children: [t && /* @__PURE__ */ v(ur, {
|
|
2175
|
+
className: "size-4 rounded-md",
|
|
2176
|
+
"data-sidebar": "menu-skeleton-icon"
|
|
2177
|
+
}), /* @__PURE__ */ v(ur, {
|
|
2178
|
+
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
2179
|
+
"data-sidebar": "menu-skeleton-text",
|
|
2180
|
+
style: { "--skeleton-width": r }
|
|
2181
|
+
})]
|
|
2182
|
+
});
|
|
2183
|
+
}
|
|
2184
|
+
function Ur({ className: e, ...t }) {
|
|
2185
|
+
return /* @__PURE__ */ v("ul", {
|
|
2186
|
+
"data-slot": "sidebar-menu-sub",
|
|
2187
|
+
"data-sidebar": "menu-sub",
|
|
2188
|
+
className: N("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-s px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", e),
|
|
2189
|
+
...t
|
|
2190
|
+
});
|
|
2191
|
+
}
|
|
2192
|
+
function Wr({ className: e, ...t }) {
|
|
2193
|
+
return /* @__PURE__ */ v("li", {
|
|
2194
|
+
"data-slot": "sidebar-menu-sub-item",
|
|
2195
|
+
"data-sidebar": "menu-sub-item",
|
|
2196
|
+
className: N("group/menu-sub-item relative", e),
|
|
2197
|
+
...t
|
|
2198
|
+
});
|
|
2199
|
+
}
|
|
2200
|
+
function Gr({ asChild: e = !1, size: t = "md", isActive: n = !1, className: r, ...i }) {
|
|
2201
|
+
return /* @__PURE__ */ v(e ? S : "a", {
|
|
2202
|
+
"data-slot": "sidebar-menu-sub-button",
|
|
2203
|
+
"data-sidebar": "menu-sub-button",
|
|
2204
|
+
"data-size": t,
|
|
2205
|
+
"data-active": n,
|
|
2206
|
+
className: N("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-inherit", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", t === "sm" && "text-xs", t === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", r),
|
|
2207
|
+
...i
|
|
2208
|
+
});
|
|
2209
|
+
}
|
|
2210
|
+
//#endregion
|
|
2211
|
+
//#region src/components/ui/sonner.tsx
|
|
2212
|
+
function Kr({ ...e }) {
|
|
2213
|
+
let { theme: t = "system" } = Lt();
|
|
2214
|
+
return /* @__PURE__ */ v(r, {
|
|
2215
|
+
theme: t,
|
|
2216
|
+
className: "toaster group [&_div[data-content]]:w-full",
|
|
2217
|
+
toastOptions: { classNames: {
|
|
2218
|
+
toast: "rounded-lg border bg-background shadow-lg",
|
|
2219
|
+
title: "font-semibold",
|
|
2220
|
+
description: "text-sm text-muted-foreground",
|
|
2221
|
+
actionButton: "bg-primary text-primary-foreground",
|
|
2222
|
+
cancelButton: "bg-muted text-muted-foreground"
|
|
2223
|
+
} },
|
|
2224
|
+
style: {
|
|
2225
|
+
"--normal-bg": "var(--popover)",
|
|
2226
|
+
"--normal-text": "var(--popover-foreground)",
|
|
2227
|
+
"--normal-border": "var(--border)"
|
|
2228
|
+
},
|
|
2229
|
+
...e
|
|
2230
|
+
});
|
|
2231
|
+
}
|
|
2232
|
+
//#endregion
|
|
2233
|
+
//#region src/components/ui/switch.tsx
|
|
2234
|
+
function qr({ className: e, ...t }) {
|
|
2235
|
+
return /* @__PURE__ */ v(Oe.Root, {
|
|
2236
|
+
"data-slot": "switch",
|
|
2237
|
+
className: N("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", e),
|
|
2238
|
+
...t,
|
|
2239
|
+
children: /* @__PURE__ */ v(Oe.Thumb, {
|
|
2240
|
+
"data-slot": "switch-thumb",
|
|
2241
|
+
className: N("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")
|
|
2242
|
+
})
|
|
2243
|
+
});
|
|
2244
|
+
}
|
|
2245
|
+
//#endregion
|
|
2246
|
+
//#region src/components/ui/table.tsx
|
|
2247
|
+
function Jr({ className: e, noWrapper: t, ...n }) {
|
|
2248
|
+
let r = /* @__PURE__ */ v("table", {
|
|
2249
|
+
"data-slot": "table",
|
|
2250
|
+
className: N("w-full caption-bottom text-sm", e),
|
|
2251
|
+
...n
|
|
2252
|
+
});
|
|
2253
|
+
return t ? r : /* @__PURE__ */ v("div", {
|
|
2254
|
+
"data-slot": "table-container",
|
|
2255
|
+
className: "relative w-full overflow-x-auto",
|
|
2256
|
+
children: r
|
|
2257
|
+
});
|
|
2258
|
+
}
|
|
2259
|
+
function Yr({ className: e, ...t }) {
|
|
2260
|
+
return /* @__PURE__ */ v("thead", {
|
|
2261
|
+
"data-slot": "table-header",
|
|
2262
|
+
className: N("[&_tr]:border-b", e),
|
|
2263
|
+
...t
|
|
2264
|
+
});
|
|
2265
|
+
}
|
|
2266
|
+
function Xr({ className: e, ...t }) {
|
|
2267
|
+
return /* @__PURE__ */ v("tbody", {
|
|
2268
|
+
"data-slot": "table-body",
|
|
2269
|
+
className: N("[&_tr:last-child]:border-0", e),
|
|
2270
|
+
...t
|
|
2271
|
+
});
|
|
2272
|
+
}
|
|
2273
|
+
function Zr({ className: e, ...t }) {
|
|
2274
|
+
return /* @__PURE__ */ v("tfoot", {
|
|
2275
|
+
"data-slot": "table-footer",
|
|
2276
|
+
className: N("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", e),
|
|
2277
|
+
...t
|
|
2278
|
+
});
|
|
2279
|
+
}
|
|
2280
|
+
function Qr({ className: e, ...t }) {
|
|
2281
|
+
return /* @__PURE__ */ v("tr", {
|
|
2282
|
+
"data-slot": "table-row",
|
|
2283
|
+
className: N("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", e),
|
|
2284
|
+
...t
|
|
2285
|
+
});
|
|
2286
|
+
}
|
|
2287
|
+
function $r({ className: e, ...t }) {
|
|
2288
|
+
return /* @__PURE__ */ v("th", {
|
|
2289
|
+
"data-slot": "table-head",
|
|
2290
|
+
className: N("text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&>[role=checkbox]]:translate-y-[2px]", e),
|
|
2291
|
+
...t
|
|
2292
|
+
});
|
|
2293
|
+
}
|
|
2294
|
+
function ei({ className: e, ...t }) {
|
|
2295
|
+
return /* @__PURE__ */ v("td", {
|
|
2296
|
+
"data-slot": "table-cell",
|
|
2297
|
+
className: N("p-2 align-middle whitespace-nowrap [&>[role=checkbox]]:translate-y-[2px]", e),
|
|
2298
|
+
...t
|
|
2299
|
+
});
|
|
2300
|
+
}
|
|
2301
|
+
function ti({ className: e, ...t }) {
|
|
2302
|
+
return /* @__PURE__ */ v("caption", {
|
|
2303
|
+
"data-slot": "table-caption",
|
|
2304
|
+
className: N("text-muted-foreground mt-4 text-sm", e),
|
|
2305
|
+
...t
|
|
2306
|
+
});
|
|
2307
|
+
}
|
|
2308
|
+
//#endregion
|
|
2309
|
+
//#region src/components/ui/tabs.tsx
|
|
2310
|
+
function ni({ className: e, ...t }) {
|
|
2311
|
+
return /* @__PURE__ */ v(M.Root, {
|
|
2312
|
+
"data-slot": "tabs",
|
|
2313
|
+
className: N("flex flex-col gap-2", e),
|
|
2314
|
+
...t
|
|
2315
|
+
});
|
|
2316
|
+
}
|
|
2317
|
+
function ri({ className: e, ...t }) {
|
|
2318
|
+
return /* @__PURE__ */ v(M.List, {
|
|
2319
|
+
"data-slot": "tabs-list",
|
|
2320
|
+
className: N("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", e),
|
|
2321
|
+
...t
|
|
2322
|
+
});
|
|
2323
|
+
}
|
|
2324
|
+
function ii({ className: e, ...t }) {
|
|
2325
|
+
return /* @__PURE__ */ v(M.Trigger, {
|
|
2326
|
+
"data-slot": "tabs-trigger",
|
|
2327
|
+
className: N("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", e),
|
|
2328
|
+
...t
|
|
2329
|
+
});
|
|
2330
|
+
}
|
|
2331
|
+
function ai({ className: e, ...t }) {
|
|
2332
|
+
return /* @__PURE__ */ v(M.Content, {
|
|
2333
|
+
"data-slot": "tabs-content",
|
|
2334
|
+
className: N("flex-1 outline-none", e),
|
|
2335
|
+
...t
|
|
2336
|
+
});
|
|
2337
|
+
}
|
|
2338
|
+
//#endregion
|
|
2339
|
+
//#region src/components/ui/textarea.tsx
|
|
2340
|
+
function oi({ className: e, ...t }) {
|
|
2341
|
+
return /* @__PURE__ */ v("textarea", {
|
|
2342
|
+
"data-slot": "textarea",
|
|
2343
|
+
className: N("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", e),
|
|
2344
|
+
...t
|
|
2345
|
+
});
|
|
2346
|
+
}
|
|
2347
|
+
//#endregion
|
|
2348
|
+
export { tt as Accordion, it as AccordionContent, nt as AccordionItem, rt as AccordionTrigger, ot as Alert, ct as AlertDescription, lt as AlertDialog, vt as AlertDialogAction, yt as AlertDialogCancel, pt as AlertDialogContent, _t as AlertDialogDescription, ht as AlertDialogFooter, mt as AlertDialogHeader, ft as AlertDialogOverlay, dt as AlertDialogPortal, gt as AlertDialogTitle, ut as AlertDialogTrigger, st as AlertTitle, bt as Avatar, St as AvatarFallback, xt as AvatarImage, wt as Badge, z as Button, Tt as Calendar, Et as CalendarDayButton, Dt as Card, jt as CardAction, Mt as CardContent, At as CardDescription, Nt as CardFooter, Ot as CardHeader, kt as CardTitle, Pt as Checkbox, Rt as CodeEditor, zt as Collapsible, Vt as CollapsibleContent, Bt as CollapsibleTrigger, B as Command, Qt as CommandDialog, U as CommandEmpty, W as CommandGroup, V as CommandInput, G as CommandItem, H as CommandList, $t as CommandSeparator, en as CommandShortcut, Ht as Dialog, Gt as DialogClose, qt as DialogContent, Zt as DialogDescription, Yt as DialogFooter, Jt as DialogHeader, Kt as DialogOverlay, Wt as DialogPortal, Xt as DialogTitle, Ut as DialogTrigger, tn as DropdownMenu, cn as DropdownMenuCheckboxItem, an as DropdownMenuContent, on as DropdownMenuGroup, sn as DropdownMenuItem, dn as DropdownMenuLabel, nn as DropdownMenuPortal, ln as DropdownMenuRadioGroup, un as DropdownMenuRadioItem, fn as DropdownMenuSeparator, pn as DropdownMenuShortcut, mn as DropdownMenuSub, gn as DropdownMenuSubContent, hn as DropdownMenuSubTrigger, rn as DropdownMenuTrigger, _n as Form, Cn as FormControl, wn as FormDescription, yn as FormField, xn as FormItem, Sn as FormLabel, Tn as FormMessage, En as ImageUpload, J as Input, Dn as InputOTP, On as InputOTPGroup, An as InputOTPSeparator, kn as InputOTPSlot, K as Label, Mn as MultiSelect, Pn as PhoneInput, Y as Popover, jn as PopoverAnchor, Z as PopoverContent, X as PopoverTrigger, Rn as Progress, zn as RadioGroup, Bn as RadioGroupItem, Ne as SPANISH_SYMBOLS, Nn as ScrollArea, Q as ScrollBar, Vn as Select, Gn as SelectContent, Hn as SelectGroup, qn as SelectItem, Kn as SelectLabel, Xn as SelectScrollDownButton, Yn as SelectScrollUpButton, Jn as SelectSeparator, Wn as SelectTrigger, Un as SelectValue, Zn as Separator, Qn as Sheet, er as SheetClose, rr as SheetContent, sr as SheetDescription, ar as SheetFooter, ir as SheetHeader, or as SheetTitle, $n as SheetTrigger, Cr as Sidebar, jr as SidebarContent, kr as SidebarFooter, Mr as SidebarGroup, Pr as SidebarGroupAction, Fr as SidebarGroupContent, Nr as SidebarGroupLabel, Or as SidebarHeader, Dr as SidebarInput, Er as SidebarInset, Ir as SidebarMenu, Br as SidebarMenuAction, Vr as SidebarMenuBadge, zr as SidebarMenuButton, Lr as SidebarMenuItem, Hr as SidebarMenuSkeleton, Ur as SidebarMenuSub, Gr as SidebarMenuSubButton, Wr as SidebarMenuSubItem, Sr as SidebarProvider, Tr as SidebarRail, Ar as SidebarSeparator, wr as SidebarTrigger, ur as Skeleton, qr as Switch, Jr as Table, Xr as TableBody, ti as TableCaption, ei as TableCell, Zr as TableFooter, $r as TableHead, Yr as TableHeader, Qr as TableRow, ni as Tabs, ai as TabsContent, ri as TabsList, ii as TabsTrigger, oi as Textarea, Kr as Toaster, fr as Tooltip, mr as TooltipContent, dr as TooltipProvider, pr as TooltipTrigger, L as api, Ct as badgeVariants, R as buttonVariants, N as cn, Le as fmtCurrency, Pe as formatCurrency, Ge as generateBadgeStyles, Re as getAllTimezones, qe as getCookie, Ve as getCountries, Fe as getCurrencySymbol, Ae as getImageUrl, Me as getPageNumbers, ke as getStorageUrl, et as handleServerError, Ze as notificationManager, Xe as playNotificationSound, $e as pushService, Ye as removeCookie, We as resolveColorCss, Ue as resolveColorHex, Je as setCookie, je as sleep, q as useFormField, Ie as useFormatCurrency, $ as useSidebar };
|
|
2349
|
+
|
|
2350
|
+
//# sourceMappingURL=index.js.map
|