@potenlab/ui 0.1.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.
Files changed (71) hide show
  1. package/dist/chunk-2W3RBVMM.js +698 -0
  2. package/dist/chunk-2W3RBVMM.js.map +1 -0
  3. package/dist/chunk-3PDPL453.cjs +42 -0
  4. package/dist/chunk-3PDPL453.cjs.map +1 -0
  5. package/dist/chunk-6GVBJTP3.js +3 -0
  6. package/dist/chunk-6GVBJTP3.js.map +1 -0
  7. package/dist/chunk-7XPQQR3Z.cjs +586 -0
  8. package/dist/chunk-7XPQQR3Z.cjs.map +1 -0
  9. package/dist/chunk-CN4BR5A5.cjs +1442 -0
  10. package/dist/chunk-CN4BR5A5.cjs.map +1 -0
  11. package/dist/chunk-DUACVZEX.js +13 -0
  12. package/dist/chunk-DUACVZEX.js.map +1 -0
  13. package/dist/chunk-EKVWVJD4.cjs +4 -0
  14. package/dist/chunk-EKVWVJD4.cjs.map +1 -0
  15. package/dist/chunk-IIMC6ODV.js +554 -0
  16. package/dist/chunk-IIMC6ODV.js.map +1 -0
  17. package/dist/chunk-M67D4PYJ.cjs +4 -0
  18. package/dist/chunk-M67D4PYJ.cjs.map +1 -0
  19. package/dist/chunk-O4BML5KD.cjs +744 -0
  20. package/dist/chunk-O4BML5KD.cjs.map +1 -0
  21. package/dist/chunk-OF2IE7ZP.cjs +26 -0
  22. package/dist/chunk-OF2IE7ZP.cjs.map +1 -0
  23. package/dist/chunk-T2ZO7QTO.js +3 -0
  24. package/dist/chunk-T2ZO7QTO.js.map +1 -0
  25. package/dist/chunk-T3VMPVU4.js +20 -0
  26. package/dist/chunk-T3VMPVU4.js.map +1 -0
  27. package/dist/chunk-VMWIQIIN.js +1343 -0
  28. package/dist/chunk-VMWIQIIN.js.map +1 -0
  29. package/dist/chunk-YDSVKR35.js +23 -0
  30. package/dist/chunk-YDSVKR35.js.map +1 -0
  31. package/dist/chunk-YSNZIYC2.cjs +16 -0
  32. package/dist/chunk-YSNZIYC2.cjs.map +1 -0
  33. package/dist/components/common/index.cjs +54 -0
  34. package/dist/components/common/index.cjs.map +1 -0
  35. package/dist/components/common/index.d.cts +138 -0
  36. package/dist/components/common/index.d.ts +138 -0
  37. package/dist/components/common/index.js +5 -0
  38. package/dist/components/common/index.js.map +1 -0
  39. package/dist/components/layouts/index.cjs +16 -0
  40. package/dist/components/layouts/index.cjs.map +1 -0
  41. package/dist/components/layouts/index.d.cts +15 -0
  42. package/dist/components/layouts/index.d.ts +15 -0
  43. package/dist/components/layouts/index.js +3 -0
  44. package/dist/components/layouts/index.js.map +1 -0
  45. package/dist/components/ui/index.cjs +503 -0
  46. package/dist/components/ui/index.cjs.map +1 -0
  47. package/dist/components/ui/index.d.cts +217 -0
  48. package/dist/components/ui/index.d.ts +217 -0
  49. package/dist/components/ui/index.js +6 -0
  50. package/dist/components/ui/index.js.map +1 -0
  51. package/dist/hooks/index.cjs +13 -0
  52. package/dist/hooks/index.cjs.map +1 -0
  53. package/dist/hooks/index.d.cts +3 -0
  54. package/dist/hooks/index.d.ts +3 -0
  55. package/dist/hooks/index.js +4 -0
  56. package/dist/hooks/index.js.map +1 -0
  57. package/dist/index.cjs +571 -0
  58. package/dist/index.cjs.map +1 -0
  59. package/dist/index.d.cts +29 -0
  60. package/dist/index.d.ts +29 -0
  61. package/dist/index.js +10 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/lib/index.cjs +17 -0
  64. package/dist/lib/index.cjs.map +1 -0
  65. package/dist/lib/index.d.cts +6 -0
  66. package/dist/lib/index.d.ts +6 -0
  67. package/dist/lib/index.js +4 -0
  68. package/dist/lib/index.js.map +1 -0
  69. package/dist/styles/globals.css +167 -0
  70. package/package.json +137 -0
  71. package/src/styles/globals.css +167 -0
@@ -0,0 +1,1442 @@
1
+ 'use strict';
2
+
3
+ var chunkO4BML5KD_cjs = require('./chunk-O4BML5KD.cjs');
4
+ var chunkYSNZIYC2_cjs = require('./chunk-YSNZIYC2.cjs');
5
+ var chunk3PDPL453_cjs = require('./chunk-3PDPL453.cjs');
6
+ var lucideReact = require('lucide-react');
7
+ var radixUi = require('radix-ui');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var React = require('react');
10
+ var classVarianceAuthority = require('class-variance-authority');
11
+ var nextThemes = require('next-themes');
12
+ var sonner = require('sonner');
13
+
14
+ function _interopNamespace(e) {
15
+ if (e && e.__esModule) return e;
16
+ var n = Object.create(null);
17
+ if (e) {
18
+ Object.keys(e).forEach(function (k) {
19
+ if (k !== 'default') {
20
+ var d = Object.getOwnPropertyDescriptor(e, k);
21
+ Object.defineProperty(n, k, d.get ? d : {
22
+ enumerable: true,
23
+ get: function () { return e[k]; }
24
+ });
25
+ }
26
+ });
27
+ }
28
+ n.default = e;
29
+ return Object.freeze(n);
30
+ }
31
+
32
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
+
34
+ function Accordion({
35
+ ...props
36
+ }) {
37
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Root, { "data-slot": "accordion", ...props });
38
+ }
39
+ function AccordionItem({
40
+ className,
41
+ ...props
42
+ }) {
43
+ return /* @__PURE__ */ jsxRuntime.jsx(
44
+ radixUi.Accordion.Item,
45
+ {
46
+ "data-slot": "accordion-item",
47
+ className: chunkYSNZIYC2_cjs.cn("border-b last:border-b-0", className),
48
+ ...props
49
+ }
50
+ );
51
+ }
52
+ function AccordionTrigger({
53
+ className,
54
+ children,
55
+ ...props
56
+ }) {
57
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
58
+ radixUi.Accordion.Trigger,
59
+ {
60
+ "data-slot": "accordion-trigger",
61
+ className: chunkYSNZIYC2_cjs.cn(
62
+ "font-pretendard text-[16px] text-muted-fg flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left transition-all outline-none hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
63
+ className
64
+ ),
65
+ ...props,
66
+ children: [
67
+ children,
68
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-300 ease-in-out" })
69
+ ]
70
+ }
71
+ ) });
72
+ }
73
+ function AccordionContent({
74
+ className,
75
+ children,
76
+ ...props
77
+ }) {
78
+ return /* @__PURE__ */ jsxRuntime.jsx(
79
+ radixUi.Accordion.Content,
80
+ {
81
+ "data-slot": "accordion-content",
82
+ className: "overflow-hidden text-sm transition-all duration-300 ease-in-out data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
83
+ ...props,
84
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkYSNZIYC2_cjs.cn("pt-0 pb-4", className), children })
85
+ }
86
+ );
87
+ }
88
+ function AlertDialog({
89
+ ...props
90
+ }) {
91
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
92
+ }
93
+ function AlertDialogTrigger({
94
+ ...props
95
+ }) {
96
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
97
+ }
98
+ function AlertDialogPortal({
99
+ ...props
100
+ }) {
101
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Portal, { "data-slot": "alert-dialog-portal", ...props });
102
+ }
103
+ function AlertDialogOverlay({
104
+ className,
105
+ ...props
106
+ }) {
107
+ return /* @__PURE__ */ jsxRuntime.jsx(
108
+ radixUi.AlertDialog.Overlay,
109
+ {
110
+ "data-slot": "alert-dialog-overlay",
111
+ className: chunkYSNZIYC2_cjs.cn(
112
+ "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
113
+ className
114
+ ),
115
+ ...props
116
+ }
117
+ );
118
+ }
119
+ function AlertDialogContent({
120
+ className,
121
+ size = "default",
122
+ ...props
123
+ }) {
124
+ return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
125
+ /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
126
+ /* @__PURE__ */ jsxRuntime.jsx(
127
+ radixUi.AlertDialog.Content,
128
+ {
129
+ "data-slot": "alert-dialog-content",
130
+ "data-size": size,
131
+ className: chunkYSNZIYC2_cjs.cn(
132
+ "group/alert-dialog-content 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 bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg",
133
+ className
134
+ ),
135
+ ...props
136
+ }
137
+ )
138
+ ] });
139
+ }
140
+ function AlertDialogHeader({
141
+ className,
142
+ ...props
143
+ }) {
144
+ return /* @__PURE__ */ jsxRuntime.jsx(
145
+ "div",
146
+ {
147
+ "data-slot": "alert-dialog-header",
148
+ className: chunkYSNZIYC2_cjs.cn(
149
+ "grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
150
+ className
151
+ ),
152
+ ...props
153
+ }
154
+ );
155
+ }
156
+ function AlertDialogFooter({
157
+ className,
158
+ ...props
159
+ }) {
160
+ return /* @__PURE__ */ jsxRuntime.jsx(
161
+ "div",
162
+ {
163
+ "data-slot": "alert-dialog-footer",
164
+ className: chunkYSNZIYC2_cjs.cn(
165
+ "flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
166
+ className
167
+ ),
168
+ ...props
169
+ }
170
+ );
171
+ }
172
+ function AlertDialogTitle({
173
+ className,
174
+ ...props
175
+ }) {
176
+ return /* @__PURE__ */ jsxRuntime.jsx(
177
+ radixUi.AlertDialog.Title,
178
+ {
179
+ "data-slot": "alert-dialog-title",
180
+ className: chunkYSNZIYC2_cjs.cn(
181
+ "text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
182
+ className
183
+ ),
184
+ ...props
185
+ }
186
+ );
187
+ }
188
+ function AlertDialogDescription({
189
+ className,
190
+ ...props
191
+ }) {
192
+ return /* @__PURE__ */ jsxRuntime.jsx(
193
+ radixUi.AlertDialog.Description,
194
+ {
195
+ "data-slot": "alert-dialog-description",
196
+ className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
197
+ ...props
198
+ }
199
+ );
200
+ }
201
+ function AlertDialogMedia({
202
+ className,
203
+ ...props
204
+ }) {
205
+ return /* @__PURE__ */ jsxRuntime.jsx(
206
+ "div",
207
+ {
208
+ "data-slot": "alert-dialog-media",
209
+ className: chunkYSNZIYC2_cjs.cn(
210
+ "mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",
211
+ className
212
+ ),
213
+ ...props
214
+ }
215
+ );
216
+ }
217
+ function AlertDialogAction({
218
+ className,
219
+ variant = "primary",
220
+ size = "default",
221
+ ...props
222
+ }) {
223
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkO4BML5KD_cjs.Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
224
+ radixUi.AlertDialog.Action,
225
+ {
226
+ "data-slot": "alert-dialog-action",
227
+ className: chunkYSNZIYC2_cjs.cn(className),
228
+ ...props
229
+ }
230
+ ) });
231
+ }
232
+ function AlertDialogCancel({
233
+ className,
234
+ variant = "outline",
235
+ size = "default",
236
+ ...props
237
+ }) {
238
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkO4BML5KD_cjs.Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
239
+ radixUi.AlertDialog.Cancel,
240
+ {
241
+ "data-slot": "alert-dialog-cancel",
242
+ className: chunkYSNZIYC2_cjs.cn(className),
243
+ ...props
244
+ }
245
+ ) });
246
+ }
247
+ function Avatar({
248
+ className,
249
+ size = "default",
250
+ ...props
251
+ }) {
252
+ return /* @__PURE__ */ jsxRuntime.jsx(
253
+ radixUi.Avatar.Root,
254
+ {
255
+ "data-slot": "avatar",
256
+ "data-size": size,
257
+ className: chunkYSNZIYC2_cjs.cn(
258
+ "group/avatar relative flex w-[22px] h-[22px] shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
259
+ className
260
+ ),
261
+ ...props
262
+ }
263
+ );
264
+ }
265
+ function AvatarImage({
266
+ className,
267
+ alt = "",
268
+ ...props
269
+ }) {
270
+ return /* @__PURE__ */ jsxRuntime.jsx(
271
+ radixUi.Avatar.Image,
272
+ {
273
+ "data-slot": "avatar-image",
274
+ className: chunkYSNZIYC2_cjs.cn("aspect-square size-full", className),
275
+ alt,
276
+ ...props
277
+ }
278
+ );
279
+ }
280
+ function AvatarFallback({
281
+ className,
282
+ ...props
283
+ }) {
284
+ return /* @__PURE__ */ jsxRuntime.jsx(
285
+ radixUi.Avatar.Fallback,
286
+ {
287
+ "data-slot": "avatar-fallback",
288
+ className: chunkYSNZIYC2_cjs.cn(
289
+ "flex size-full items-center justify-center rounded-full bg-sidebar-selected text-muted-fg text-[10px] group-data-[size=sm]/avatar:text-xs",
290
+ className
291
+ ),
292
+ ...props
293
+ }
294
+ );
295
+ }
296
+ function AvatarBadge({ className, ...props }) {
297
+ return /* @__PURE__ */ jsxRuntime.jsx(
298
+ "span",
299
+ {
300
+ "data-slot": "avatar-badge",
301
+ className: chunkYSNZIYC2_cjs.cn(
302
+ "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
303
+ "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
304
+ "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
305
+ "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
306
+ className
307
+ ),
308
+ ...props
309
+ }
310
+ );
311
+ }
312
+ function AvatarGroup({ className, ...props }) {
313
+ return /* @__PURE__ */ jsxRuntime.jsx(
314
+ "div",
315
+ {
316
+ "data-slot": "avatar-group",
317
+ className: chunkYSNZIYC2_cjs.cn(
318
+ "group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
319
+ className
320
+ ),
321
+ ...props
322
+ }
323
+ );
324
+ }
325
+ function AvatarGroupCount({
326
+ className,
327
+ ...props
328
+ }) {
329
+ return /* @__PURE__ */ jsxRuntime.jsx(
330
+ "div",
331
+ {
332
+ "data-slot": "avatar-group-count",
333
+ className: chunkYSNZIYC2_cjs.cn(
334
+ "relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
335
+ className
336
+ ),
337
+ ...props
338
+ }
339
+ );
340
+ }
341
+ function Card({ className, ...props }) {
342
+ return /* @__PURE__ */ jsxRuntime.jsx(
343
+ "div",
344
+ {
345
+ "data-slot": "card",
346
+ className: chunkYSNZIYC2_cjs.cn(
347
+ "flex flex-col bg-white border border-border rounded-lg text-card-foreground shadow-none",
348
+ className
349
+ ),
350
+ ...props
351
+ }
352
+ );
353
+ }
354
+ function CardHeader({ className, ...props }) {
355
+ return /* @__PURE__ */ jsxRuntime.jsx(
356
+ "div",
357
+ {
358
+ "data-slot": "card-header",
359
+ className: chunkYSNZIYC2_cjs.cn(
360
+ "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
361
+ className
362
+ ),
363
+ ...props
364
+ }
365
+ );
366
+ }
367
+ function CardTitle({ className, ...props }) {
368
+ return /* @__PURE__ */ jsxRuntime.jsx(
369
+ "div",
370
+ {
371
+ "data-slot": "card-title",
372
+ className: chunkYSNZIYC2_cjs.cn("leading-none font-semibold", className),
373
+ ...props
374
+ }
375
+ );
376
+ }
377
+ function CardDescription({ className, ...props }) {
378
+ return /* @__PURE__ */ jsxRuntime.jsx(
379
+ "div",
380
+ {
381
+ "data-slot": "card-description",
382
+ className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
383
+ ...props
384
+ }
385
+ );
386
+ }
387
+ function CardAction({ className, ...props }) {
388
+ return /* @__PURE__ */ jsxRuntime.jsx(
389
+ "div",
390
+ {
391
+ "data-slot": "card-action",
392
+ className: chunkYSNZIYC2_cjs.cn(
393
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
394
+ className
395
+ ),
396
+ ...props
397
+ }
398
+ );
399
+ }
400
+ function CardContent({ className, ...props }) {
401
+ return /* @__PURE__ */ jsxRuntime.jsx(
402
+ "div",
403
+ {
404
+ "data-slot": "card-content",
405
+ className: chunkYSNZIYC2_cjs.cn("px-6", className),
406
+ ...props
407
+ }
408
+ );
409
+ }
410
+ function CardFooter({ className, ...props }) {
411
+ return /* @__PURE__ */ jsxRuntime.jsx(
412
+ "div",
413
+ {
414
+ "data-slot": "card-footer",
415
+ className: chunkYSNZIYC2_cjs.cn("flex items-center px-6 [.border-t]:pt-6", className),
416
+ ...props
417
+ }
418
+ );
419
+ }
420
+ function Checkbox({
421
+ className,
422
+ ...props
423
+ }) {
424
+ return /* @__PURE__ */ jsxRuntime.jsx(
425
+ radixUi.Checkbox.Root,
426
+ {
427
+ "data-slot": "checkbox",
428
+ className: chunkYSNZIYC2_cjs.cn(
429
+ "peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary",
430
+ className
431
+ ),
432
+ ...props,
433
+ children: /* @__PURE__ */ jsxRuntime.jsx(
434
+ radixUi.Checkbox.Indicator,
435
+ {
436
+ "data-slot": "checkbox-indicator",
437
+ className: "grid place-content-center text-current transition-none",
438
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-3.5" })
439
+ }
440
+ )
441
+ }
442
+ );
443
+ }
444
+ function Dialog({
445
+ ...props
446
+ }) {
447
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { "data-slot": "dialog", ...props });
448
+ }
449
+ function DialogTrigger({
450
+ ...props
451
+ }) {
452
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
453
+ }
454
+ function DialogPortal({
455
+ ...props
456
+ }) {
457
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
458
+ }
459
+ function DialogClose({
460
+ ...props
461
+ }) {
462
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { "data-slot": "dialog-close", ...props });
463
+ }
464
+ function DialogOverlay({
465
+ className,
466
+ ...props
467
+ }) {
468
+ return /* @__PURE__ */ jsxRuntime.jsx(
469
+ radixUi.Dialog.Overlay,
470
+ {
471
+ "data-slot": "dialog-overlay",
472
+ className: chunkYSNZIYC2_cjs.cn(
473
+ "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
474
+ className
475
+ ),
476
+ ...props
477
+ }
478
+ );
479
+ }
480
+ function DialogContent({
481
+ className,
482
+ children,
483
+ showCloseButton = true,
484
+ ...props
485
+ }) {
486
+ return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
487
+ /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
488
+ /* @__PURE__ */ jsxRuntime.jsxs(
489
+ radixUi.Dialog.Content,
490
+ {
491
+ "data-slot": "dialog-content",
492
+ className: chunkYSNZIYC2_cjs.cn(
493
+ "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 bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",
494
+ className
495
+ ),
496
+ ...props,
497
+ children: [
498
+ children,
499
+ showCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(
500
+ radixUi.Dialog.Close,
501
+ {
502
+ "data-slot": "dialog-close",
503
+ className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
504
+ children: [
505
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, {}),
506
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
507
+ ]
508
+ }
509
+ )
510
+ ]
511
+ }
512
+ )
513
+ ] });
514
+ }
515
+ function DialogHeader({ className, ...props }) {
516
+ return /* @__PURE__ */ jsxRuntime.jsx(
517
+ "div",
518
+ {
519
+ "data-slot": "dialog-header",
520
+ className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
521
+ ...props
522
+ }
523
+ );
524
+ }
525
+ function DialogFooter({
526
+ className,
527
+ showCloseButton = false,
528
+ children,
529
+ ...props
530
+ }) {
531
+ return /* @__PURE__ */ jsxRuntime.jsxs(
532
+ "div",
533
+ {
534
+ "data-slot": "dialog-footer",
535
+ className: chunkYSNZIYC2_cjs.cn(
536
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
537
+ className
538
+ ),
539
+ ...props,
540
+ children: [
541
+ children,
542
+ showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkO4BML5KD_cjs.Button, { variant: "outline", children: "Close" }) })
543
+ ]
544
+ }
545
+ );
546
+ }
547
+ function DialogTitle({
548
+ className,
549
+ ...props
550
+ }) {
551
+ return /* @__PURE__ */ jsxRuntime.jsx(
552
+ radixUi.Dialog.Title,
553
+ {
554
+ "data-slot": "dialog-title",
555
+ className: chunkYSNZIYC2_cjs.cn("text-lg leading-none font-semibold", className),
556
+ ...props
557
+ }
558
+ );
559
+ }
560
+ function DialogDescription({
561
+ className,
562
+ ...props
563
+ }) {
564
+ return /* @__PURE__ */ jsxRuntime.jsx(
565
+ radixUi.Dialog.Description,
566
+ {
567
+ "data-slot": "dialog-description",
568
+ className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
569
+ ...props
570
+ }
571
+ );
572
+ }
573
+ function Sheet({ ...props }) {
574
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { "data-slot": "sheet", ...props });
575
+ }
576
+ function SheetTrigger({
577
+ ...props
578
+ }) {
579
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Trigger, { "data-slot": "sheet-trigger", ...props });
580
+ }
581
+ function SheetClose({
582
+ ...props
583
+ }) {
584
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { "data-slot": "sheet-close", ...props });
585
+ }
586
+ function SheetPortal({
587
+ ...props
588
+ }) {
589
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { "data-slot": "sheet-portal", ...props });
590
+ }
591
+ function SheetOverlay({
592
+ className,
593
+ ...props
594
+ }) {
595
+ return /* @__PURE__ */ jsxRuntime.jsx(
596
+ radixUi.Dialog.Overlay,
597
+ {
598
+ "data-slot": "sheet-overlay",
599
+ className: chunkYSNZIYC2_cjs.cn(
600
+ "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
601
+ className
602
+ ),
603
+ ...props
604
+ }
605
+ );
606
+ }
607
+ function SheetContent({
608
+ className,
609
+ children,
610
+ side = "right",
611
+ showCloseButton = true,
612
+ ...props
613
+ }) {
614
+ return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
615
+ /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
616
+ /* @__PURE__ */ jsxRuntime.jsxs(
617
+ radixUi.Dialog.Content,
618
+ {
619
+ "data-slot": "sheet-content",
620
+ className: chunkYSNZIYC2_cjs.cn(
621
+ "fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",
622
+ side === "right" && "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
623
+ side === "left" && "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
624
+ side === "top" && "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
625
+ side === "bottom" && "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
626
+ className
627
+ ),
628
+ ...props,
629
+ children: [
630
+ children,
631
+ showCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
632
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "size-4" }),
633
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
634
+ ] })
635
+ ]
636
+ }
637
+ )
638
+ ] });
639
+ }
640
+ function SheetHeader({ className, ...props }) {
641
+ return /* @__PURE__ */ jsxRuntime.jsx(
642
+ "div",
643
+ {
644
+ "data-slot": "sheet-header",
645
+ className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-1.5 p-4", className),
646
+ ...props
647
+ }
648
+ );
649
+ }
650
+ function SheetFooter({ className, ...props }) {
651
+ return /* @__PURE__ */ jsxRuntime.jsx(
652
+ "div",
653
+ {
654
+ "data-slot": "sheet-footer",
655
+ className: chunkYSNZIYC2_cjs.cn("mt-auto flex flex-col gap-2 p-4", className),
656
+ ...props
657
+ }
658
+ );
659
+ }
660
+ function SheetTitle({
661
+ className,
662
+ ...props
663
+ }) {
664
+ return /* @__PURE__ */ jsxRuntime.jsx(
665
+ radixUi.Dialog.Title,
666
+ {
667
+ "data-slot": "sheet-title",
668
+ className: chunkYSNZIYC2_cjs.cn("font-semibold text-foreground", className),
669
+ ...props
670
+ }
671
+ );
672
+ }
673
+ function SheetDescription({
674
+ className,
675
+ ...props
676
+ }) {
677
+ return /* @__PURE__ */ jsxRuntime.jsx(
678
+ radixUi.Dialog.Description,
679
+ {
680
+ "data-slot": "sheet-description",
681
+ className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
682
+ ...props
683
+ }
684
+ );
685
+ }
686
+ function Skeleton({ className, ...props }) {
687
+ return /* @__PURE__ */ jsxRuntime.jsx(
688
+ "div",
689
+ {
690
+ "data-slot": "skeleton",
691
+ className: chunkYSNZIYC2_cjs.cn("animate-pulse rounded-md bg-accent", className),
692
+ ...props
693
+ }
694
+ );
695
+ }
696
+ function TooltipProvider({
697
+ delayDuration = 300,
698
+ ...props
699
+ }) {
700
+ return /* @__PURE__ */ jsxRuntime.jsx(
701
+ radixUi.Tooltip.Provider,
702
+ {
703
+ "data-slot": "tooltip-provider",
704
+ delayDuration,
705
+ ...props
706
+ }
707
+ );
708
+ }
709
+ function Tooltip({
710
+ ...props
711
+ }) {
712
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Root, { "data-slot": "tooltip", ...props });
713
+ }
714
+ function TooltipTrigger({
715
+ ...props
716
+ }) {
717
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
718
+ }
719
+ function TooltipContent({
720
+ className,
721
+ sideOffset = 0,
722
+ children,
723
+ ...props
724
+ }) {
725
+ return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
726
+ radixUi.Tooltip.Content,
727
+ {
728
+ "data-slot": "tooltip-content",
729
+ sideOffset,
730
+ className: chunkYSNZIYC2_cjs.cn(
731
+ "z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-[#1A202C] px-3 py-2 text-[14px] text-balance text-white fade-in-0 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
732
+ className
733
+ ),
734
+ ...props,
735
+ children: [
736
+ children,
737
+ /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-[#1A202C] fill-[#1A202C]" })
738
+ ]
739
+ }
740
+ ) });
741
+ }
742
+ var SIDEBAR_COOKIE_NAME = "sidebar_state";
743
+ var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
744
+ var SIDEBAR_WIDTH = "16rem";
745
+ var SIDEBAR_WIDTH_MOBILE = "18rem";
746
+ var SIDEBAR_WIDTH_ICON = "3rem";
747
+ var SIDEBAR_KEYBOARD_SHORTCUT = "b";
748
+ var SidebarContext = React__namespace.createContext(null);
749
+ function useSidebar() {
750
+ const context = React__namespace.useContext(SidebarContext);
751
+ if (!context) {
752
+ throw new Error("useSidebar must be used within a SidebarProvider.");
753
+ }
754
+ return context;
755
+ }
756
+ function SidebarProvider({
757
+ defaultOpen = true,
758
+ open: openProp,
759
+ onOpenChange: setOpenProp,
760
+ className,
761
+ style,
762
+ children,
763
+ ...props
764
+ }) {
765
+ const isMobile = chunk3PDPL453_cjs.useIsMobile();
766
+ const [openMobile, setOpenMobile] = React__namespace.useState(false);
767
+ const [_open, _setOpen] = React__namespace.useState(defaultOpen);
768
+ const open = openProp ?? _open;
769
+ const setOpen = React__namespace.useCallback(
770
+ (value) => {
771
+ const openState = typeof value === "function" ? value(open) : value;
772
+ if (setOpenProp) {
773
+ setOpenProp(openState);
774
+ } else {
775
+ _setOpen(openState);
776
+ }
777
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
778
+ },
779
+ [setOpenProp, open]
780
+ );
781
+ const toggleSidebar = React__namespace.useCallback(() => {
782
+ return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
783
+ }, [isMobile, setOpen, setOpenMobile]);
784
+ React__namespace.useEffect(() => {
785
+ const handleKeyDown = (event) => {
786
+ if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
787
+ event.preventDefault();
788
+ toggleSidebar();
789
+ }
790
+ };
791
+ window.addEventListener("keydown", handleKeyDown);
792
+ return () => window.removeEventListener("keydown", handleKeyDown);
793
+ }, [toggleSidebar]);
794
+ const state = open ? "expanded" : "collapsed";
795
+ const contextValue = React__namespace.useMemo(
796
+ () => ({
797
+ state,
798
+ open,
799
+ setOpen,
800
+ isMobile,
801
+ openMobile,
802
+ setOpenMobile,
803
+ toggleSidebar
804
+ }),
805
+ [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
806
+ );
807
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsxRuntime.jsx(
808
+ "div",
809
+ {
810
+ "data-slot": "sidebar-wrapper",
811
+ style: {
812
+ "--sidebar-width": SIDEBAR_WIDTH,
813
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
814
+ ...style
815
+ },
816
+ className: chunkYSNZIYC2_cjs.cn(
817
+ "group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
818
+ className
819
+ ),
820
+ ...props,
821
+ children
822
+ }
823
+ ) }) });
824
+ }
825
+ function Sidebar({
826
+ side = "left",
827
+ variant = "sidebar",
828
+ collapsible = "offcanvas",
829
+ className,
830
+ children,
831
+ ...props
832
+ }) {
833
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
834
+ if (collapsible === "none") {
835
+ return /* @__PURE__ */ jsxRuntime.jsx(
836
+ "div",
837
+ {
838
+ "data-slot": "sidebar",
839
+ className: chunkYSNZIYC2_cjs.cn(
840
+ "flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
841
+ className
842
+ ),
843
+ ...props,
844
+ children
845
+ }
846
+ );
847
+ }
848
+ if (isMobile) {
849
+ return /* @__PURE__ */ jsxRuntime.jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(
850
+ SheetContent,
851
+ {
852
+ "data-sidebar": "sidebar",
853
+ "data-slot": "sidebar",
854
+ "data-mobile": "true",
855
+ className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
856
+ style: {
857
+ "--sidebar-width": SIDEBAR_WIDTH_MOBILE
858
+ },
859
+ side,
860
+ children: [
861
+ /* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: "sr-only", children: [
862
+ /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: "Sidebar" }),
863
+ /* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { children: "Displays the mobile sidebar." })
864
+ ] }),
865
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full flex-col", children })
866
+ ]
867
+ }
868
+ ) });
869
+ }
870
+ return /* @__PURE__ */ jsxRuntime.jsxs(
871
+ "div",
872
+ {
873
+ className: "group peer hidden text-sidebar-foreground md:block",
874
+ "data-state": state,
875
+ "data-collapsible": state === "collapsed" ? collapsible : "",
876
+ "data-variant": variant,
877
+ "data-side": side,
878
+ "data-slot": "sidebar",
879
+ children: [
880
+ /* @__PURE__ */ jsxRuntime.jsx(
881
+ "div",
882
+ {
883
+ "data-slot": "sidebar-gap",
884
+ className: chunkYSNZIYC2_cjs.cn(
885
+ "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
886
+ "group-data-[collapsible=offcanvas]:w-0",
887
+ "group-data-[side=right]:rotate-180",
888
+ variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
889
+ )
890
+ }
891
+ ),
892
+ /* @__PURE__ */ jsxRuntime.jsx(
893
+ "div",
894
+ {
895
+ "data-slot": "sidebar-container",
896
+ className: chunkYSNZIYC2_cjs.cn(
897
+ "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",
898
+ side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
899
+ variant === "floating" || variant === "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-r group-data-[side=right]:border-l",
900
+ className
901
+ ),
902
+ ...props,
903
+ children: /* @__PURE__ */ jsxRuntime.jsx(
904
+ "div",
905
+ {
906
+ "data-sidebar": "sidebar",
907
+ "data-slot": "sidebar-inner",
908
+ className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",
909
+ children
910
+ }
911
+ )
912
+ }
913
+ )
914
+ ]
915
+ }
916
+ );
917
+ }
918
+ function SidebarTrigger({
919
+ className,
920
+ onClick,
921
+ ...props
922
+ }) {
923
+ const { toggleSidebar } = useSidebar();
924
+ return /* @__PURE__ */ jsxRuntime.jsxs(
925
+ chunkO4BML5KD_cjs.Button,
926
+ {
927
+ "data-sidebar": "trigger",
928
+ "data-slot": "sidebar-trigger",
929
+ variant: "ghost",
930
+ size: "icon",
931
+ className: chunkYSNZIYC2_cjs.cn("size-7", className),
932
+ onClick: (event) => {
933
+ onClick?.(event);
934
+ toggleSidebar();
935
+ },
936
+ ...props,
937
+ children: [
938
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftIcon, {}),
939
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle Sidebar" })
940
+ ]
941
+ }
942
+ );
943
+ }
944
+ function SidebarRail({ className, ...props }) {
945
+ const { toggleSidebar } = useSidebar();
946
+ return /* @__PURE__ */ jsxRuntime.jsx(
947
+ "button",
948
+ {
949
+ "data-sidebar": "rail",
950
+ "data-slot": "sidebar-rail",
951
+ "aria-label": "Toggle Sidebar",
952
+ tabIndex: -1,
953
+ onClick: toggleSidebar,
954
+ title: "Toggle Sidebar",
955
+ className: chunkYSNZIYC2_cjs.cn(
956
+ "absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex",
957
+ "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
958
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
959
+ "group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
960
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
961
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
962
+ className
963
+ ),
964
+ ...props
965
+ }
966
+ );
967
+ }
968
+ function SidebarInset({ className, ...props }) {
969
+ return /* @__PURE__ */ jsxRuntime.jsx(
970
+ "main",
971
+ {
972
+ "data-slot": "sidebar-inset",
973
+ className: chunkYSNZIYC2_cjs.cn(
974
+ "relative flex w-full flex-1 flex-col bg-background",
975
+ "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
976
+ className
977
+ ),
978
+ ...props
979
+ }
980
+ );
981
+ }
982
+ function SidebarInput({
983
+ className,
984
+ ...props
985
+ }) {
986
+ return /* @__PURE__ */ jsxRuntime.jsx(
987
+ chunkO4BML5KD_cjs.Input,
988
+ {
989
+ "data-slot": "sidebar-input",
990
+ "data-sidebar": "input",
991
+ className: chunkYSNZIYC2_cjs.cn("h-8 w-full bg-background shadow-none", className),
992
+ ...props
993
+ }
994
+ );
995
+ }
996
+ function SidebarHeader({ className, ...props }) {
997
+ return /* @__PURE__ */ jsxRuntime.jsx(
998
+ "div",
999
+ {
1000
+ "data-slot": "sidebar-header",
1001
+ "data-sidebar": "header",
1002
+ className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-2 p-2", className),
1003
+ ...props
1004
+ }
1005
+ );
1006
+ }
1007
+ function SidebarFooter({ className, ...props }) {
1008
+ return /* @__PURE__ */ jsxRuntime.jsx(
1009
+ "div",
1010
+ {
1011
+ "data-slot": "sidebar-footer",
1012
+ "data-sidebar": "footer",
1013
+ className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-2 p-2", className),
1014
+ ...props
1015
+ }
1016
+ );
1017
+ }
1018
+ function SidebarSeparator({
1019
+ className,
1020
+ ...props
1021
+ }) {
1022
+ return /* @__PURE__ */ jsxRuntime.jsx(
1023
+ chunkO4BML5KD_cjs.Separator,
1024
+ {
1025
+ "data-slot": "sidebar-separator",
1026
+ "data-sidebar": "separator",
1027
+ className: chunkYSNZIYC2_cjs.cn("mx-2 w-auto bg-sidebar-border", className),
1028
+ ...props
1029
+ }
1030
+ );
1031
+ }
1032
+ function SidebarContent({ className, ...props }) {
1033
+ return /* @__PURE__ */ jsxRuntime.jsx(
1034
+ "div",
1035
+ {
1036
+ "data-slot": "sidebar-content",
1037
+ "data-sidebar": "content",
1038
+ className: chunkYSNZIYC2_cjs.cn(
1039
+ "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
1040
+ className
1041
+ ),
1042
+ ...props
1043
+ }
1044
+ );
1045
+ }
1046
+ function SidebarGroup({ className, ...props }) {
1047
+ return /* @__PURE__ */ jsxRuntime.jsx(
1048
+ "div",
1049
+ {
1050
+ "data-slot": "sidebar-group",
1051
+ "data-sidebar": "group",
1052
+ className: chunkYSNZIYC2_cjs.cn("relative flex w-full min-w-0 flex-col p-2", className),
1053
+ ...props
1054
+ }
1055
+ );
1056
+ }
1057
+ function SidebarGroupLabel({
1058
+ className,
1059
+ asChild = false,
1060
+ ...props
1061
+ }) {
1062
+ const Comp = asChild ? radixUi.Slot.Root : "div";
1063
+ return /* @__PURE__ */ jsxRuntime.jsx(
1064
+ Comp,
1065
+ {
1066
+ "data-slot": "sidebar-group-label",
1067
+ "data-sidebar": "group-label",
1068
+ className: chunkYSNZIYC2_cjs.cn(
1069
+ "flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1070
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
1071
+ className
1072
+ ),
1073
+ ...props
1074
+ }
1075
+ );
1076
+ }
1077
+ function SidebarGroupAction({
1078
+ className,
1079
+ asChild = false,
1080
+ ...props
1081
+ }) {
1082
+ const Comp = asChild ? radixUi.Slot.Root : "button";
1083
+ return /* @__PURE__ */ jsxRuntime.jsx(
1084
+ Comp,
1085
+ {
1086
+ "data-slot": "sidebar-group-action",
1087
+ "data-sidebar": "group-action",
1088
+ className: chunkYSNZIYC2_cjs.cn(
1089
+ "absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1090
+ "after:absolute after:-inset-2 md:after:hidden",
1091
+ "group-data-[collapsible=icon]:hidden",
1092
+ className
1093
+ ),
1094
+ ...props
1095
+ }
1096
+ );
1097
+ }
1098
+ function SidebarGroupContent({
1099
+ className,
1100
+ ...props
1101
+ }) {
1102
+ return /* @__PURE__ */ jsxRuntime.jsx(
1103
+ "div",
1104
+ {
1105
+ "data-slot": "sidebar-group-content",
1106
+ "data-sidebar": "group-content",
1107
+ className: chunkYSNZIYC2_cjs.cn("w-full text-sm", className),
1108
+ ...props
1109
+ }
1110
+ );
1111
+ }
1112
+ function SidebarMenu({ className, ...props }) {
1113
+ return /* @__PURE__ */ jsxRuntime.jsx(
1114
+ "ul",
1115
+ {
1116
+ "data-slot": "sidebar-menu",
1117
+ "data-sidebar": "menu",
1118
+ className: chunkYSNZIYC2_cjs.cn("flex w-full min-w-0 flex-col gap-1", className),
1119
+ ...props
1120
+ }
1121
+ );
1122
+ }
1123
+ function SidebarMenuItem({ className, ...props }) {
1124
+ return /* @__PURE__ */ jsxRuntime.jsx(
1125
+ "li",
1126
+ {
1127
+ "data-slot": "sidebar-menu-item",
1128
+ "data-sidebar": "menu-item",
1129
+ className: chunkYSNZIYC2_cjs.cn("group/menu-item relative", className),
1130
+ ...props
1131
+ }
1132
+ );
1133
+ }
1134
+ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
1135
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! 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 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 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
1136
+ {
1137
+ variants: {
1138
+ variant: {
1139
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
1140
+ 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))]"
1141
+ },
1142
+ size: {
1143
+ default: "h-8 text-sm",
1144
+ sm: "h-7 text-xs",
1145
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
1146
+ }
1147
+ },
1148
+ defaultVariants: {
1149
+ variant: "default",
1150
+ size: "default"
1151
+ }
1152
+ }
1153
+ );
1154
+ function SidebarMenuButton({
1155
+ asChild = false,
1156
+ isActive = false,
1157
+ variant = "default",
1158
+ size = "default",
1159
+ tooltip,
1160
+ className,
1161
+ ...props
1162
+ }) {
1163
+ const Comp = asChild ? radixUi.Slot.Root : "button";
1164
+ const { isMobile, state } = useSidebar();
1165
+ const button = /* @__PURE__ */ jsxRuntime.jsx(
1166
+ Comp,
1167
+ {
1168
+ "data-slot": "sidebar-menu-button",
1169
+ "data-sidebar": "menu-button",
1170
+ "data-size": size,
1171
+ "data-active": isActive,
1172
+ className: chunkYSNZIYC2_cjs.cn(sidebarMenuButtonVariants({ variant, size }), className),
1173
+ ...props
1174
+ }
1175
+ );
1176
+ if (!tooltip) {
1177
+ return button;
1178
+ }
1179
+ if (typeof tooltip === "string") {
1180
+ tooltip = {
1181
+ children: tooltip
1182
+ };
1183
+ }
1184
+ return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
1185
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: button }),
1186
+ /* @__PURE__ */ jsxRuntime.jsx(
1187
+ TooltipContent,
1188
+ {
1189
+ side: "right",
1190
+ align: "center",
1191
+ hidden: state !== "collapsed" || isMobile,
1192
+ ...tooltip
1193
+ }
1194
+ )
1195
+ ] });
1196
+ }
1197
+ function SidebarMenuAction({
1198
+ className,
1199
+ asChild = false,
1200
+ showOnHover = false,
1201
+ ...props
1202
+ }) {
1203
+ const Comp = asChild ? radixUi.Slot.Root : "button";
1204
+ return /* @__PURE__ */ jsxRuntime.jsx(
1205
+ Comp,
1206
+ {
1207
+ "data-slot": "sidebar-menu-action",
1208
+ "data-sidebar": "menu-action",
1209
+ className: chunkYSNZIYC2_cjs.cn(
1210
+ "absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1211
+ "after:absolute after:-inset-2 md:after:hidden",
1212
+ "peer-data-[size=sm]/menu-button:top-1",
1213
+ "peer-data-[size=default]/menu-button:top-1.5",
1214
+ "peer-data-[size=lg]/menu-button:top-2.5",
1215
+ "group-data-[collapsible=icon]:hidden",
1216
+ showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground data-[state=open]:opacity-100 md:opacity-0",
1217
+ className
1218
+ ),
1219
+ ...props
1220
+ }
1221
+ );
1222
+ }
1223
+ function SidebarMenuBadge({
1224
+ className,
1225
+ ...props
1226
+ }) {
1227
+ return /* @__PURE__ */ jsxRuntime.jsx(
1228
+ "div",
1229
+ {
1230
+ "data-slot": "sidebar-menu-badge",
1231
+ "data-sidebar": "menu-badge",
1232
+ className: chunkYSNZIYC2_cjs.cn(
1233
+ "pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none",
1234
+ "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
1235
+ "peer-data-[size=sm]/menu-button:top-1",
1236
+ "peer-data-[size=default]/menu-button:top-1.5",
1237
+ "peer-data-[size=lg]/menu-button:top-2.5",
1238
+ "group-data-[collapsible=icon]:hidden",
1239
+ className
1240
+ ),
1241
+ ...props
1242
+ }
1243
+ );
1244
+ }
1245
+ function SidebarMenuSkeleton({
1246
+ className,
1247
+ showIcon = false,
1248
+ ...props
1249
+ }) {
1250
+ const width = React__namespace.useMemo(() => {
1251
+ return `${Math.floor(Math.random() * 40) + 50}%`;
1252
+ }, []);
1253
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1254
+ "div",
1255
+ {
1256
+ "data-slot": "sidebar-menu-skeleton",
1257
+ "data-sidebar": "menu-skeleton",
1258
+ className: chunkYSNZIYC2_cjs.cn("flex h-8 items-center gap-2 rounded-md px-2", className),
1259
+ ...props,
1260
+ children: [
1261
+ showIcon && /* @__PURE__ */ jsxRuntime.jsx(
1262
+ Skeleton,
1263
+ {
1264
+ className: "size-4 rounded-md",
1265
+ "data-sidebar": "menu-skeleton-icon"
1266
+ }
1267
+ ),
1268
+ /* @__PURE__ */ jsxRuntime.jsx(
1269
+ Skeleton,
1270
+ {
1271
+ className: "h-4 max-w-(--skeleton-width) flex-1",
1272
+ "data-sidebar": "menu-skeleton-text",
1273
+ style: {
1274
+ "--skeleton-width": width
1275
+ }
1276
+ }
1277
+ )
1278
+ ]
1279
+ }
1280
+ );
1281
+ }
1282
+ function SidebarMenuSub({ className, ...props }) {
1283
+ return /* @__PURE__ */ jsxRuntime.jsx(
1284
+ "ul",
1285
+ {
1286
+ "data-slot": "sidebar-menu-sub",
1287
+ "data-sidebar": "menu-sub",
1288
+ className: chunkYSNZIYC2_cjs.cn(
1289
+ "mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
1290
+ "group-data-[collapsible=icon]:hidden",
1291
+ className
1292
+ ),
1293
+ ...props
1294
+ }
1295
+ );
1296
+ }
1297
+ function SidebarMenuSubItem({
1298
+ className,
1299
+ ...props
1300
+ }) {
1301
+ return /* @__PURE__ */ jsxRuntime.jsx(
1302
+ "li",
1303
+ {
1304
+ "data-slot": "sidebar-menu-sub-item",
1305
+ "data-sidebar": "menu-sub-item",
1306
+ className: chunkYSNZIYC2_cjs.cn("group/menu-sub-item relative", className),
1307
+ ...props
1308
+ }
1309
+ );
1310
+ }
1311
+ function SidebarMenuSubButton({
1312
+ asChild = false,
1313
+ size = "md",
1314
+ isActive = false,
1315
+ className,
1316
+ ...props
1317
+ }) {
1318
+ const Comp = asChild ? radixUi.Slot.Root : "a";
1319
+ return /* @__PURE__ */ jsxRuntime.jsx(
1320
+ Comp,
1321
+ {
1322
+ "data-slot": "sidebar-menu-sub-button",
1323
+ "data-sidebar": "menu-sub-button",
1324
+ "data-size": size,
1325
+ "data-active": isActive,
1326
+ className: chunkYSNZIYC2_cjs.cn(
1327
+ "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
1328
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
1329
+ size === "sm" && "text-xs",
1330
+ size === "md" && "text-sm",
1331
+ "group-data-[collapsible=icon]:hidden",
1332
+ className
1333
+ ),
1334
+ ...props
1335
+ }
1336
+ );
1337
+ }
1338
+ var Toaster = ({ ...props }) => {
1339
+ const { theme = "system" } = nextThemes.useTheme();
1340
+ return /* @__PURE__ */ jsxRuntime.jsx(
1341
+ sonner.Toaster,
1342
+ {
1343
+ theme,
1344
+ className: "toaster group",
1345
+ icons: {
1346
+ success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheckIcon, { className: "size-4" }),
1347
+ info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, { className: "size-4" }),
1348
+ warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TriangleAlertIcon, { className: "size-4" }),
1349
+ error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.OctagonXIcon, { className: "size-4" }),
1350
+ loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2Icon, { className: "size-4 animate-spin" })
1351
+ },
1352
+ style: {
1353
+ "--normal-bg": "var(--popover)",
1354
+ "--normal-text": "var(--popover-foreground)",
1355
+ "--normal-border": "var(--border)",
1356
+ "--border-radius": "var(--radius)"
1357
+ },
1358
+ ...props
1359
+ }
1360
+ );
1361
+ };
1362
+
1363
+ exports.Accordion = Accordion;
1364
+ exports.AccordionContent = AccordionContent;
1365
+ exports.AccordionItem = AccordionItem;
1366
+ exports.AccordionTrigger = AccordionTrigger;
1367
+ exports.AlertDialog = AlertDialog;
1368
+ exports.AlertDialogAction = AlertDialogAction;
1369
+ exports.AlertDialogCancel = AlertDialogCancel;
1370
+ exports.AlertDialogContent = AlertDialogContent;
1371
+ exports.AlertDialogDescription = AlertDialogDescription;
1372
+ exports.AlertDialogFooter = AlertDialogFooter;
1373
+ exports.AlertDialogHeader = AlertDialogHeader;
1374
+ exports.AlertDialogMedia = AlertDialogMedia;
1375
+ exports.AlertDialogOverlay = AlertDialogOverlay;
1376
+ exports.AlertDialogPortal = AlertDialogPortal;
1377
+ exports.AlertDialogTitle = AlertDialogTitle;
1378
+ exports.AlertDialogTrigger = AlertDialogTrigger;
1379
+ exports.Avatar = Avatar;
1380
+ exports.AvatarBadge = AvatarBadge;
1381
+ exports.AvatarFallback = AvatarFallback;
1382
+ exports.AvatarGroup = AvatarGroup;
1383
+ exports.AvatarGroupCount = AvatarGroupCount;
1384
+ exports.AvatarImage = AvatarImage;
1385
+ exports.Card = Card;
1386
+ exports.CardAction = CardAction;
1387
+ exports.CardContent = CardContent;
1388
+ exports.CardDescription = CardDescription;
1389
+ exports.CardFooter = CardFooter;
1390
+ exports.CardHeader = CardHeader;
1391
+ exports.CardTitle = CardTitle;
1392
+ exports.Checkbox = Checkbox;
1393
+ exports.Dialog = Dialog;
1394
+ exports.DialogClose = DialogClose;
1395
+ exports.DialogContent = DialogContent;
1396
+ exports.DialogDescription = DialogDescription;
1397
+ exports.DialogFooter = DialogFooter;
1398
+ exports.DialogHeader = DialogHeader;
1399
+ exports.DialogOverlay = DialogOverlay;
1400
+ exports.DialogPortal = DialogPortal;
1401
+ exports.DialogTitle = DialogTitle;
1402
+ exports.DialogTrigger = DialogTrigger;
1403
+ exports.Sheet = Sheet;
1404
+ exports.SheetClose = SheetClose;
1405
+ exports.SheetContent = SheetContent;
1406
+ exports.SheetDescription = SheetDescription;
1407
+ exports.SheetFooter = SheetFooter;
1408
+ exports.SheetHeader = SheetHeader;
1409
+ exports.SheetTitle = SheetTitle;
1410
+ exports.SheetTrigger = SheetTrigger;
1411
+ exports.Sidebar = Sidebar;
1412
+ exports.SidebarContent = SidebarContent;
1413
+ exports.SidebarFooter = SidebarFooter;
1414
+ exports.SidebarGroup = SidebarGroup;
1415
+ exports.SidebarGroupAction = SidebarGroupAction;
1416
+ exports.SidebarGroupContent = SidebarGroupContent;
1417
+ exports.SidebarGroupLabel = SidebarGroupLabel;
1418
+ exports.SidebarHeader = SidebarHeader;
1419
+ exports.SidebarInput = SidebarInput;
1420
+ exports.SidebarInset = SidebarInset;
1421
+ exports.SidebarMenu = SidebarMenu;
1422
+ exports.SidebarMenuAction = SidebarMenuAction;
1423
+ exports.SidebarMenuBadge = SidebarMenuBadge;
1424
+ exports.SidebarMenuButton = SidebarMenuButton;
1425
+ exports.SidebarMenuItem = SidebarMenuItem;
1426
+ exports.SidebarMenuSkeleton = SidebarMenuSkeleton;
1427
+ exports.SidebarMenuSub = SidebarMenuSub;
1428
+ exports.SidebarMenuSubButton = SidebarMenuSubButton;
1429
+ exports.SidebarMenuSubItem = SidebarMenuSubItem;
1430
+ exports.SidebarProvider = SidebarProvider;
1431
+ exports.SidebarRail = SidebarRail;
1432
+ exports.SidebarSeparator = SidebarSeparator;
1433
+ exports.SidebarTrigger = SidebarTrigger;
1434
+ exports.Skeleton = Skeleton;
1435
+ exports.Toaster = Toaster;
1436
+ exports.Tooltip = Tooltip;
1437
+ exports.TooltipContent = TooltipContent;
1438
+ exports.TooltipProvider = TooltipProvider;
1439
+ exports.TooltipTrigger = TooltipTrigger;
1440
+ exports.useSidebar = useSidebar;
1441
+ //# sourceMappingURL=chunk-CN4BR5A5.cjs.map
1442
+ //# sourceMappingURL=chunk-CN4BR5A5.cjs.map