@timbal-ai/timbal-react 1.4.0 → 1.5.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 (53) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +18 -4
  3. package/dist/app.cjs +3532 -1483
  4. package/dist/app.d.cts +75 -30
  5. package/dist/app.d.ts +75 -30
  6. package/dist/app.esm.js +29 -7
  7. package/dist/{chart-artifact-CMnDys2t.d.ts → chart-artifact-2OTDTRwM.d.ts} +194 -40
  8. package/dist/{chart-artifact-C8-Py6lc.d.cts → chart-artifact-CS3qyGIY.d.cts} +194 -40
  9. package/dist/chat.cjs +264 -107
  10. package/dist/chat.d.cts +2 -2
  11. package/dist/chat.d.ts +2 -2
  12. package/dist/chat.esm.js +4 -3
  13. package/dist/chunk-5ECRZ5O7.esm.js +899 -0
  14. package/dist/{chunk-QU7ET55D.esm.js → chunk-AZL2WANO.esm.js} +320 -177
  15. package/dist/{chunk-OH23AX2V.esm.js → chunk-B4XAC4G7.esm.js} +430 -780
  16. package/dist/chunk-EDEKQYSU.esm.js +10 -0
  17. package/dist/{chunk-GQBYZRD7.esm.js → chunk-IGHBLJV3.esm.js} +38 -27
  18. package/dist/{chunk-OFWC4MIY.esm.js → chunk-JYDJRGDE.esm.js} +5 -3
  19. package/dist/{chunk-VOWNCS3F.esm.js → chunk-SZDYIRMB.esm.js} +1567 -490
  20. package/dist/chunk-TZI3ID3C.esm.js +232 -0
  21. package/dist/{chunk-THBA27QY.esm.js → chunk-WMKPT5BV.esm.js} +242 -123
  22. package/dist/{chunk-VXMM2HX7.esm.js → chunk-ZNYAETFD.esm.js} +1 -1
  23. package/dist/{circular-progress-Ci8L-Hfa.d.cts → circular-progress-CDsJwIPF.d.cts} +19 -77
  24. package/dist/{circular-progress-Ci8L-Hfa.d.ts → circular-progress-CDsJwIPF.d.ts} +19 -77
  25. package/dist/index.cjs +5506 -3626
  26. package/dist/index.d.cts +7 -6
  27. package/dist/index.d.ts +7 -6
  28. package/dist/index.esm.js +45 -33
  29. package/dist/kanban-U5xNe9py.d.cts +212 -0
  30. package/dist/kanban-U5xNe9py.d.ts +212 -0
  31. package/dist/{layout-BTJyU8wd.d.ts → layout-B8r6Jbat.d.ts} +1 -1
  32. package/dist/{layout-C2G-FcER.d.cts → layout-Cu7Ijn04.d.cts} +1 -1
  33. package/dist/site.cjs +358 -0
  34. package/dist/site.d.cts +184 -0
  35. package/dist/site.d.ts +184 -0
  36. package/dist/site.esm.js +322 -0
  37. package/dist/studio.cjs +702 -343
  38. package/dist/studio.d.cts +1 -1
  39. package/dist/studio.d.ts +1 -1
  40. package/dist/studio.esm.js +7 -5
  41. package/dist/styles.css +56 -0
  42. package/dist/{timbal-v2-button-CNfdwGq4.d.cts → timbal-v2-button-B7vPs7gg.d.cts} +2 -2
  43. package/dist/{timbal-v2-button-CNfdwGq4.d.ts → timbal-v2-button-B7vPs7gg.d.ts} +2 -2
  44. package/dist/ui.cjs +1504 -659
  45. package/dist/ui.d.cts +11 -4
  46. package/dist/ui.d.ts +11 -4
  47. package/dist/ui.esm.js +35 -26
  48. package/dist/{welcome-DXqsGTwH.d.ts → welcome-DduQAC4K.d.ts} +4 -0
  49. package/dist/{welcome-BFGRoNfK.d.cts → welcome-NXZlcihe.d.cts} +4 -0
  50. package/package.json +9 -1
  51. package/dist/button-BoyX5pM_.d.cts +0 -18
  52. package/dist/button-BoyX5pM_.d.ts +0 -18
  53. package/dist/chunk-UCGVL7ZY.esm.js +0 -52
@@ -1,3 +1,10 @@
1
+ import {
2
+ CopyButton,
3
+ Popover,
4
+ PopoverAnchor,
5
+ PopoverContent,
6
+ PopoverTrigger
7
+ } from "./chunk-5ECRZ5O7.esm.js";
1
8
  import {
2
9
  Button,
3
10
  Dialog,
@@ -9,287 +16,34 @@ import {
9
16
  TIMBAL_V2_MODAL_SURFACE,
10
17
  TIMBAL_V2_SWITCH_THUMB,
11
18
  TIMBAL_V2_SWITCH_TRACK_OFF,
12
- cn,
13
19
  controlClass,
14
20
  controlSurfaceClass,
15
21
  overlayItemClass,
16
22
  overlayListPanelClass,
17
23
  overlaySurfaceClass
18
- } from "./chunk-QU7ET55D.esm.js";
19
-
20
- // src/ui/dropdown-menu.tsx
21
- import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
22
- import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
23
- import { jsx, jsxs } from "react/jsx-runtime";
24
- function DropdownMenu({
25
- ...props
26
- }) {
27
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
28
- }
29
- function DropdownMenuTrigger({
30
- ...props
31
- }) {
32
- return /* @__PURE__ */ jsx(
33
- DropdownMenuPrimitive.Trigger,
34
- {
35
- "data-slot": "dropdown-menu-trigger",
36
- ...props
37
- }
38
- );
39
- }
40
- function DropdownMenuGroup({
41
- ...props
42
- }) {
43
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
44
- }
45
- function DropdownMenuContent({
46
- className,
47
- sideOffset = 4,
48
- ...props
49
- }) {
50
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
51
- DropdownMenuPrimitive.Content,
52
- {
53
- "data-slot": "dropdown-menu-content",
54
- sideOffset,
55
- className: cn(
56
- overlayListPanelClass,
57
- "max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] origin-[var(--radix-dropdown-menu-content-transform-origin)] overflow-x-hidden overflow-y-auto p-1",
58
- className
59
- ),
60
- ...props
61
- }
62
- ) });
63
- }
64
- function DropdownMenuItem({
65
- className,
66
- inset,
67
- variant = "default",
68
- ...props
69
- }) {
70
- return /* @__PURE__ */ jsx(
71
- DropdownMenuPrimitive.Item,
72
- {
73
- "data-slot": "dropdown-menu-item",
74
- "data-inset": inset,
75
- "data-variant": variant,
76
- className: cn(
77
- overlayItemClass,
78
- "data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10",
79
- className
80
- ),
81
- ...props
82
- }
83
- );
84
- }
85
- function DropdownMenuCheckboxItem({
86
- className,
87
- children,
88
- checked,
89
- ...props
90
- }) {
91
- return /* @__PURE__ */ jsxs(
92
- DropdownMenuPrimitive.CheckboxItem,
93
- {
94
- "data-slot": "dropdown-menu-checkbox-item",
95
- className: cn(overlayItemClass, "py-1.5 pr-2 pl-8", className),
96
- checked,
97
- ...props,
98
- children: [
99
- /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
100
- children
101
- ]
102
- }
103
- );
104
- }
105
- function DropdownMenuRadioGroup({
106
- ...props
107
- }) {
108
- return /* @__PURE__ */ jsx(
109
- DropdownMenuPrimitive.RadioGroup,
110
- {
111
- "data-slot": "dropdown-menu-radio-group",
112
- ...props
113
- }
114
- );
115
- }
116
- function DropdownMenuRadioItem({
117
- className,
118
- children,
119
- ...props
120
- }) {
121
- return /* @__PURE__ */ jsxs(
122
- DropdownMenuPrimitive.RadioItem,
123
- {
124
- "data-slot": "dropdown-menu-radio-item",
125
- className: cn(overlayItemClass, "py-1.5 pr-2 pl-8", className),
126
- ...props,
127
- children: [
128
- /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
129
- children
130
- ]
131
- }
132
- );
133
- }
134
- function DropdownMenuLabel({
135
- className,
136
- inset,
137
- ...props
138
- }) {
139
- return /* @__PURE__ */ jsx(
140
- DropdownMenuPrimitive.Label,
141
- {
142
- "data-slot": "dropdown-menu-label",
143
- "data-inset": inset,
144
- className: cn(
145
- "px-2 py-1.5 text-xs font-medium text-muted-foreground data-[inset]:pl-8",
146
- className
147
- ),
148
- ...props
149
- }
150
- );
151
- }
152
- function DropdownMenuSeparator({
153
- className,
154
- ...props
155
- }) {
156
- return /* @__PURE__ */ jsx(
157
- DropdownMenuPrimitive.Separator,
158
- {
159
- "data-slot": "dropdown-menu-separator",
160
- className: cn("-mx-1 my-1 h-px bg-border", className),
161
- ...props
162
- }
163
- );
164
- }
165
- function DropdownMenuShortcut({
166
- className,
167
- ...props
168
- }) {
169
- return /* @__PURE__ */ jsx(
170
- "span",
171
- {
172
- "data-slot": "dropdown-menu-shortcut",
173
- className: cn(
174
- "ml-auto text-xs tracking-widest text-muted-foreground",
175
- className
176
- ),
177
- ...props
178
- }
179
- );
180
- }
181
- function DropdownMenuSub({
182
- ...props
183
- }) {
184
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
185
- }
186
- function DropdownMenuSubTrigger({
187
- className,
188
- inset,
189
- children,
190
- ...props
191
- }) {
192
- return /* @__PURE__ */ jsxs(
193
- DropdownMenuPrimitive.SubTrigger,
194
- {
195
- "data-slot": "dropdown-menu-sub-trigger",
196
- "data-inset": inset,
197
- className: cn(
198
- overlayItemClass,
199
- "data-[state=open]:bg-accent data-[state=open]:text-accent-foreground data-[inset]:pl-8",
200
- className
201
- ),
202
- ...props,
203
- children: [
204
- children,
205
- /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto size-4" })
206
- ]
207
- }
208
- );
209
- }
210
- function DropdownMenuSubContent({
211
- className,
212
- ...props
213
- }) {
214
- return /* @__PURE__ */ jsx(
215
- DropdownMenuPrimitive.SubContent,
216
- {
217
- "data-slot": "dropdown-menu-sub-content",
218
- className: cn(
219
- overlayListPanelClass,
220
- "min-w-[8rem] origin-[var(--radix-dropdown-menu-content-transform-origin)] overflow-hidden p-1",
221
- className
222
- ),
223
- ...props
224
- }
225
- );
226
- }
227
-
228
- // src/ui/popover.tsx
229
- import { Popover as PopoverPrimitive } from "radix-ui";
230
- import { jsx as jsx2 } from "react/jsx-runtime";
231
- function Popover({
232
- ...props
233
- }) {
234
- return /* @__PURE__ */ jsx2(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
235
- }
236
- function PopoverTrigger({
237
- ...props
238
- }) {
239
- return /* @__PURE__ */ jsx2(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
240
- }
241
- function PopoverAnchor({
242
- ...props
243
- }) {
244
- return /* @__PURE__ */ jsx2(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
245
- }
246
- function PopoverContent({
247
- className,
248
- align = "center",
249
- sideOffset = 4,
250
- variant = "default",
251
- ...props
252
- }) {
253
- return /* @__PURE__ */ jsx2(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx2(
254
- PopoverPrimitive.Content,
255
- {
256
- "data-slot": "popover-content",
257
- "data-variant": variant,
258
- align,
259
- sideOffset,
260
- className: cn(
261
- variant === "list" ? cn(
262
- overlayListPanelClass,
263
- "min-w-[8rem] origin-[var(--radix-popover-content-transform-origin)]"
264
- ) : cn(
265
- overlaySurfaceClass,
266
- "w-72 origin-[var(--radix-popover-content-transform-origin)] rounded-xl p-4 outline-hidden"
267
- ),
268
- className
269
- ),
270
- ...props
271
- }
272
- ) });
273
- }
24
+ } from "./chunk-AZL2WANO.esm.js";
25
+ import {
26
+ cn
27
+ } from "./chunk-EDEKQYSU.esm.js";
274
28
 
275
29
  // src/ui/select.tsx
276
30
  import { Select as SelectPrimitive } from "radix-ui";
277
- import { CheckIcon as CheckIcon2, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
278
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
31
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
32
+ import { jsx, jsxs } from "react/jsx-runtime";
279
33
  function Select({
280
34
  ...props
281
35
  }) {
282
- return /* @__PURE__ */ jsx3(SelectPrimitive.Root, { "data-slot": "select", ...props });
36
+ return /* @__PURE__ */ jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
283
37
  }
284
38
  function SelectGroup({
285
39
  ...props
286
40
  }) {
287
- return /* @__PURE__ */ jsx3(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
41
+ return /* @__PURE__ */ jsx(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
288
42
  }
289
43
  function SelectValue({
290
44
  ...props
291
45
  }) {
292
- return /* @__PURE__ */ jsx3(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
46
+ return /* @__PURE__ */ jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
293
47
  }
294
48
  function SelectTrigger({
295
49
  className,
@@ -297,7 +51,7 @@ function SelectTrigger({
297
51
  children,
298
52
  ...props
299
53
  }) {
300
- return /* @__PURE__ */ jsxs2(
54
+ return /* @__PURE__ */ jsxs(
301
55
  SelectPrimitive.Trigger,
302
56
  {
303
57
  "data-slot": "select-trigger",
@@ -310,7 +64,7 @@ function SelectTrigger({
310
64
  ...props,
311
65
  children: [
312
66
  children,
313
- /* @__PURE__ */ jsx3(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx3(ChevronDownIcon, { className: "size-4 opacity-50" }) })
67
+ /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })
314
68
  ]
315
69
  }
316
70
  );
@@ -321,7 +75,7 @@ function SelectContent({
321
75
  position = "popper",
322
76
  ...props
323
77
  }) {
324
- return /* @__PURE__ */ jsx3(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
78
+ return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
325
79
  SelectPrimitive.Content,
326
80
  {
327
81
  "data-slot": "select-content",
@@ -334,8 +88,8 @@ function SelectContent({
334
88
  position,
335
89
  ...props,
336
90
  children: [
337
- /* @__PURE__ */ jsx3(SelectScrollUpButton, {}),
338
- /* @__PURE__ */ jsx3(
91
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
92
+ /* @__PURE__ */ jsx(
339
93
  SelectPrimitive.Viewport,
340
94
  {
341
95
  className: cn(
@@ -345,7 +99,7 @@ function SelectContent({
345
99
  children
346
100
  }
347
101
  ),
348
- /* @__PURE__ */ jsx3(SelectScrollDownButton, {})
102
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
349
103
  ]
350
104
  }
351
105
  ) });
@@ -354,7 +108,7 @@ function SelectLabel({
354
108
  className,
355
109
  ...props
356
110
  }) {
357
- return /* @__PURE__ */ jsx3(
111
+ return /* @__PURE__ */ jsx(
358
112
  SelectPrimitive.Label,
359
113
  {
360
114
  "data-slot": "select-label",
@@ -368,7 +122,7 @@ function SelectItem({
368
122
  children,
369
123
  ...props
370
124
  }) {
371
- return /* @__PURE__ */ jsxs2(
125
+ return /* @__PURE__ */ jsxs(
372
126
  SelectPrimitive.Item,
373
127
  {
374
128
  "data-slot": "select-item",
@@ -379,8 +133,8 @@ function SelectItem({
379
133
  ),
380
134
  ...props,
381
135
  children: [
382
- /* @__PURE__ */ jsx3("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx3(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx3(CheckIcon2, { className: "size-4" }) }) }),
383
- /* @__PURE__ */ jsx3(SelectPrimitive.ItemText, { children })
136
+ /* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
137
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
384
138
  ]
385
139
  }
386
140
  );
@@ -389,7 +143,7 @@ function SelectSeparator({
389
143
  className,
390
144
  ...props
391
145
  }) {
392
- return /* @__PURE__ */ jsx3(
146
+ return /* @__PURE__ */ jsx(
393
147
  SelectPrimitive.Separator,
394
148
  {
395
149
  "data-slot": "select-separator",
@@ -402,13 +156,13 @@ function SelectScrollUpButton({
402
156
  className,
403
157
  ...props
404
158
  }) {
405
- return /* @__PURE__ */ jsx3(
159
+ return /* @__PURE__ */ jsx(
406
160
  SelectPrimitive.ScrollUpButton,
407
161
  {
408
162
  "data-slot": "select-scroll-up-button",
409
163
  className: cn("flex cursor-default items-center justify-center py-1", className),
410
164
  ...props,
411
- children: /* @__PURE__ */ jsx3(ChevronUpIcon, { className: "size-4" })
165
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
412
166
  }
413
167
  );
414
168
  }
@@ -416,26 +170,26 @@ function SelectScrollDownButton({
416
170
  className,
417
171
  ...props
418
172
  }) {
419
- return /* @__PURE__ */ jsx3(
173
+ return /* @__PURE__ */ jsx(
420
174
  SelectPrimitive.ScrollDownButton,
421
175
  {
422
176
  "data-slot": "select-scroll-down-button",
423
177
  className: cn("flex cursor-default items-center justify-center py-1", className),
424
178
  ...props,
425
- children: /* @__PURE__ */ jsx3(ChevronDownIcon, { className: "size-4" })
179
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
426
180
  }
427
181
  );
428
182
  }
429
183
 
430
184
  // src/ui/input.tsx
431
- import { jsx as jsx4 } from "react/jsx-runtime";
185
+ import { jsx as jsx2 } from "react/jsx-runtime";
432
186
  function Input({
433
187
  className,
434
188
  type,
435
189
  controlSize,
436
190
  ...props
437
191
  }) {
438
- return /* @__PURE__ */ jsx4(
192
+ return /* @__PURE__ */ jsx2(
439
193
  "input",
440
194
  {
441
195
  type,
@@ -451,9 +205,9 @@ function Input({
451
205
  }
452
206
 
453
207
  // src/ui/textarea.tsx
454
- import { jsx as jsx5 } from "react/jsx-runtime";
208
+ import { jsx as jsx3 } from "react/jsx-runtime";
455
209
  function Textarea({ className, ...props }) {
456
- return /* @__PURE__ */ jsx5(
210
+ return /* @__PURE__ */ jsx3(
457
211
  "textarea",
458
212
  {
459
213
  "data-slot": "textarea",
@@ -469,12 +223,12 @@ function Textarea({ className, ...props }) {
469
223
 
470
224
  // src/ui/label.tsx
471
225
  import { Label as LabelPrimitive } from "radix-ui";
472
- import { jsx as jsx6 } from "react/jsx-runtime";
226
+ import { jsx as jsx4 } from "react/jsx-runtime";
473
227
  function Label({
474
228
  className,
475
229
  ...props
476
230
  }) {
477
- return /* @__PURE__ */ jsx6(
231
+ return /* @__PURE__ */ jsx4(
478
232
  LabelPrimitive.Root,
479
233
  {
480
234
  "data-slot": "label",
@@ -490,12 +244,12 @@ function Label({
490
244
 
491
245
  // src/ui/switch.tsx
492
246
  import { Switch as SwitchPrimitive } from "radix-ui";
493
- import { jsx as jsx7 } from "react/jsx-runtime";
247
+ import { jsx as jsx5 } from "react/jsx-runtime";
494
248
  function Switch({
495
249
  className,
496
250
  ...props
497
251
  }) {
498
- return /* @__PURE__ */ jsx7(
252
+ return /* @__PURE__ */ jsx5(
499
253
  SwitchPrimitive.Root,
500
254
  {
501
255
  "data-slot": "switch",
@@ -507,7 +261,7 @@ function Switch({
507
261
  className
508
262
  ),
509
263
  ...props,
510
- children: /* @__PURE__ */ jsx7(
264
+ children: /* @__PURE__ */ jsx5(
511
265
  SwitchPrimitive.Thumb,
512
266
  {
513
267
  "data-slot": "switch-thumb",
@@ -523,13 +277,13 @@ function Switch({
523
277
 
524
278
  // src/ui/radio-group.tsx
525
279
  import { RadioGroup as RadioGroupPrimitive } from "radix-ui";
526
- import { CircleIcon as CircleIcon2 } from "lucide-react";
527
- import { jsx as jsx8 } from "react/jsx-runtime";
280
+ import { CircleIcon } from "lucide-react";
281
+ import { jsx as jsx6 } from "react/jsx-runtime";
528
282
  function RadioGroup({
529
283
  className,
530
284
  ...props
531
285
  }) {
532
- return /* @__PURE__ */ jsx8(
286
+ return /* @__PURE__ */ jsx6(
533
287
  RadioGroupPrimitive.Root,
534
288
  {
535
289
  "data-slot": "radio-group",
@@ -542,7 +296,7 @@ function RadioGroupItem({
542
296
  className,
543
297
  ...props
544
298
  }) {
545
- return /* @__PURE__ */ jsx8(
299
+ return /* @__PURE__ */ jsx6(
546
300
  RadioGroupPrimitive.Item,
547
301
  {
548
302
  "data-slot": "radio-group-item",
@@ -553,12 +307,12 @@ function RadioGroupItem({
553
307
  className
554
308
  ),
555
309
  ...props,
556
- children: /* @__PURE__ */ jsx8(
310
+ children: /* @__PURE__ */ jsx6(
557
311
  RadioGroupPrimitive.Indicator,
558
312
  {
559
313
  "data-slot": "radio-group-indicator",
560
314
  className: "flex items-center justify-center",
561
- children: /* @__PURE__ */ jsx8(CircleIcon2, { className: "size-2 fill-foreground text-foreground" })
315
+ children: /* @__PURE__ */ jsx6(CircleIcon, { className: "size-2 fill-foreground text-foreground" })
562
316
  }
563
317
  )
564
318
  }
@@ -567,17 +321,17 @@ function RadioGroupItem({
567
321
 
568
322
  // src/ui/form.tsx
569
323
  import { Form as FormPrimitive } from "radix-ui";
570
- import { jsx as jsx9 } from "react/jsx-runtime";
324
+ import { jsx as jsx7 } from "react/jsx-runtime";
571
325
  function Form({ ...props }) {
572
- return /* @__PURE__ */ jsx9(FormPrimitive.Root, { "data-slot": "form", ...props });
326
+ return /* @__PURE__ */ jsx7(FormPrimitive.Root, { "data-slot": "form", ...props });
573
327
  }
574
328
  function FormField({
575
329
  ...props
576
330
  }) {
577
- return /* @__PURE__ */ jsx9(FormPrimitive.Field, { "data-slot": "form-field", ...props });
331
+ return /* @__PURE__ */ jsx7(FormPrimitive.Field, { "data-slot": "form-field", ...props });
578
332
  }
579
333
  function FormItem({ className, ...props }) {
580
- return /* @__PURE__ */ jsx9(
334
+ return /* @__PURE__ */ jsx7(
581
335
  "div",
582
336
  {
583
337
  "data-slot": "form-item",
@@ -590,18 +344,18 @@ function FormLabel({
590
344
  className,
591
345
  ...props
592
346
  }) {
593
- return /* @__PURE__ */ jsx9(FormPrimitive.Label, { asChild: true, children: /* @__PURE__ */ jsx9(Label, { "data-slot": "form-label", className, ...props }) });
347
+ return /* @__PURE__ */ jsx7(FormPrimitive.Label, { asChild: true, children: /* @__PURE__ */ jsx7(Label, { "data-slot": "form-label", className, ...props }) });
594
348
  }
595
349
  function FormControl({
596
350
  ...props
597
351
  }) {
598
- return /* @__PURE__ */ jsx9(FormPrimitive.Control, { "data-slot": "form-control", ...props });
352
+ return /* @__PURE__ */ jsx7(FormPrimitive.Control, { "data-slot": "form-control", ...props });
599
353
  }
600
354
  function FormMessage({
601
355
  className,
602
356
  ...props
603
357
  }) {
604
- return /* @__PURE__ */ jsx9(
358
+ return /* @__PURE__ */ jsx7(
605
359
  FormPrimitive.Message,
606
360
  {
607
361
  "data-slot": "form-message",
@@ -614,7 +368,7 @@ function FormSubmit({
614
368
  className,
615
369
  ...props
616
370
  }) {
617
- return /* @__PURE__ */ jsx9(
371
+ return /* @__PURE__ */ jsx7(
618
372
  FormPrimitive.Submit,
619
373
  {
620
374
  "data-slot": "form-submit",
@@ -626,22 +380,22 @@ function FormSubmit({
626
380
 
627
381
  // src/ui/aspect-ratio.tsx
628
382
  import { AspectRatio as AspectRatioPrimitive } from "radix-ui";
629
- import { jsx as jsx10 } from "react/jsx-runtime";
383
+ import { jsx as jsx8 } from "react/jsx-runtime";
630
384
  function AspectRatio({
631
385
  ...props
632
386
  }) {
633
- return /* @__PURE__ */ jsx10(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
387
+ return /* @__PURE__ */ jsx8(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
634
388
  }
635
389
 
636
390
  // src/ui/breadcrumb.tsx
637
- import { ChevronRightIcon as ChevronRightIcon2, MoreHorizontalIcon } from "lucide-react";
391
+ import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
638
392
  import { Slot } from "radix-ui";
639
- import { jsx as jsx11, jsxs as jsxs3 } from "react/jsx-runtime";
393
+ import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
640
394
  function Breadcrumb({ ...props }) {
641
- return /* @__PURE__ */ jsx11("nav", { "data-slot": "breadcrumb", "aria-label": "Breadcrumb", ...props });
395
+ return /* @__PURE__ */ jsx9("nav", { "data-slot": "breadcrumb", "aria-label": "Breadcrumb", ...props });
642
396
  }
643
397
  function BreadcrumbList({ className, ...props }) {
644
- return /* @__PURE__ */ jsx11(
398
+ return /* @__PURE__ */ jsx9(
645
399
  "ol",
646
400
  {
647
401
  "data-slot": "breadcrumb-list",
@@ -654,7 +408,7 @@ function BreadcrumbList({ className, ...props }) {
654
408
  );
655
409
  }
656
410
  function BreadcrumbItem({ className, ...props }) {
657
- return /* @__PURE__ */ jsx11(
411
+ return /* @__PURE__ */ jsx9(
658
412
  "li",
659
413
  {
660
414
  "data-slot": "breadcrumb-item",
@@ -669,7 +423,7 @@ function BreadcrumbLink({
669
423
  ...props
670
424
  }) {
671
425
  const Comp = asChild ? Slot.Root : "a";
672
- return /* @__PURE__ */ jsx11(
426
+ return /* @__PURE__ */ jsx9(
673
427
  Comp,
674
428
  {
675
429
  "data-slot": "breadcrumb-link",
@@ -679,7 +433,7 @@ function BreadcrumbLink({
679
433
  );
680
434
  }
681
435
  function BreadcrumbPage({ className, ...props }) {
682
- return /* @__PURE__ */ jsx11(
436
+ return /* @__PURE__ */ jsx9(
683
437
  "span",
684
438
  {
685
439
  "data-slot": "breadcrumb-page",
@@ -696,7 +450,7 @@ function BreadcrumbSeparator({
696
450
  className,
697
451
  ...props
698
452
  }) {
699
- return /* @__PURE__ */ jsx11(
453
+ return /* @__PURE__ */ jsx9(
700
454
  "li",
701
455
  {
702
456
  "data-slot": "breadcrumb-separator",
@@ -704,7 +458,7 @@ function BreadcrumbSeparator({
704
458
  "aria-hidden": "true",
705
459
  className: cn("[&>svg]:size-3.5", className),
706
460
  ...props,
707
- children: children ?? /* @__PURE__ */ jsx11(ChevronRightIcon2, {})
461
+ children: children ?? /* @__PURE__ */ jsx9(ChevronRightIcon, {})
708
462
  }
709
463
  );
710
464
  }
@@ -712,7 +466,7 @@ function BreadcrumbEllipsis({
712
466
  className,
713
467
  ...props
714
468
  }) {
715
- return /* @__PURE__ */ jsxs3(
469
+ return /* @__PURE__ */ jsxs2(
716
470
  "span",
717
471
  {
718
472
  "data-slot": "breadcrumb-ellipsis",
@@ -721,18 +475,18 @@ function BreadcrumbEllipsis({
721
475
  className: cn("flex size-9 items-center justify-center", className),
722
476
  ...props,
723
477
  children: [
724
- /* @__PURE__ */ jsx11(MoreHorizontalIcon, { className: "size-4" }),
725
- /* @__PURE__ */ jsx11("span", { className: "sr-only", children: "More" })
478
+ /* @__PURE__ */ jsx9(MoreHorizontalIcon, { className: "size-4" }),
479
+ /* @__PURE__ */ jsx9("span", { className: "sr-only", children: "More" })
726
480
  ]
727
481
  }
728
482
  );
729
483
  }
730
484
 
731
485
  // src/ui/pagination.tsx
732
- import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon3, MoreHorizontalIcon as MoreHorizontalIcon2 } from "lucide-react";
733
- import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
486
+ import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2, MoreHorizontalIcon as MoreHorizontalIcon2 } from "lucide-react";
487
+ import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
734
488
  function Pagination({ className, ...props }) {
735
- return /* @__PURE__ */ jsx12(
489
+ return /* @__PURE__ */ jsx10(
736
490
  "nav",
737
491
  {
738
492
  "data-slot": "pagination",
@@ -744,7 +498,7 @@ function Pagination({ className, ...props }) {
744
498
  );
745
499
  }
746
500
  function PaginationContent({ className, ...props }) {
747
- return /* @__PURE__ */ jsx12(
501
+ return /* @__PURE__ */ jsx10(
748
502
  "ul",
749
503
  {
750
504
  "data-slot": "pagination-content",
@@ -754,7 +508,7 @@ function PaginationContent({ className, ...props }) {
754
508
  );
755
509
  }
756
510
  function PaginationItem({ ...props }) {
757
- return /* @__PURE__ */ jsx12("li", { "data-slot": "pagination-item", ...props });
511
+ return /* @__PURE__ */ jsx10("li", { "data-slot": "pagination-item", ...props });
758
512
  }
759
513
  function PaginationLink({
760
514
  className,
@@ -762,7 +516,7 @@ function PaginationLink({
762
516
  size = "icon",
763
517
  ...props
764
518
  }) {
765
- return /* @__PURE__ */ jsx12(Button, { asChild: true, variant: isActive ? "outline" : "ghost", size, className, children: /* @__PURE__ */ jsx12(
519
+ return /* @__PURE__ */ jsx10(Button, { asChild: true, variant: isActive ? "outline" : "ghost", size, className, children: /* @__PURE__ */ jsx10(
766
520
  "a",
767
521
  {
768
522
  "data-slot": "pagination-link",
@@ -775,7 +529,7 @@ function PaginationPrevious({
775
529
  className,
776
530
  ...props
777
531
  }) {
778
- return /* @__PURE__ */ jsxs4(
532
+ return /* @__PURE__ */ jsxs3(
779
533
  PaginationLink,
780
534
  {
781
535
  "aria-label": "Go to previous page",
@@ -783,8 +537,8 @@ function PaginationPrevious({
783
537
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
784
538
  ...props,
785
539
  children: [
786
- /* @__PURE__ */ jsx12(ChevronLeftIcon, { className: "size-4" }),
787
- /* @__PURE__ */ jsx12("span", { className: "hidden sm:block", children: "Previous" })
540
+ /* @__PURE__ */ jsx10(ChevronLeftIcon, { className: "size-4" }),
541
+ /* @__PURE__ */ jsx10("span", { className: "hidden sm:block", children: "Previous" })
788
542
  ]
789
543
  }
790
544
  );
@@ -793,7 +547,7 @@ function PaginationNext({
793
547
  className,
794
548
  ...props
795
549
  }) {
796
- return /* @__PURE__ */ jsxs4(
550
+ return /* @__PURE__ */ jsxs3(
797
551
  PaginationLink,
798
552
  {
799
553
  "aria-label": "Go to next page",
@@ -801,8 +555,8 @@ function PaginationNext({
801
555
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
802
556
  ...props,
803
557
  children: [
804
- /* @__PURE__ */ jsx12("span", { className: "hidden sm:block", children: "Next" }),
805
- /* @__PURE__ */ jsx12(ChevronRightIcon3, { className: "size-4" })
558
+ /* @__PURE__ */ jsx10("span", { className: "hidden sm:block", children: "Next" }),
559
+ /* @__PURE__ */ jsx10(ChevronRightIcon2, { className: "size-4" })
806
560
  ]
807
561
  }
808
562
  );
@@ -811,7 +565,7 @@ function PaginationEllipsis({
811
565
  className,
812
566
  ...props
813
567
  }) {
814
- return /* @__PURE__ */ jsxs4(
568
+ return /* @__PURE__ */ jsxs3(
815
569
  "span",
816
570
  {
817
571
  "data-slot": "pagination-ellipsis",
@@ -819,8 +573,8 @@ function PaginationEllipsis({
819
573
  className: cn("flex size-9 items-center justify-center", className),
820
574
  ...props,
821
575
  children: [
822
- /* @__PURE__ */ jsx12(MoreHorizontalIcon2, { className: "size-4" }),
823
- /* @__PURE__ */ jsx12("span", { className: "sr-only", children: "More pages" })
576
+ /* @__PURE__ */ jsx10(MoreHorizontalIcon2, { className: "size-4" }),
577
+ /* @__PURE__ */ jsx10("span", { className: "sr-only", children: "More pages" })
824
578
  ]
825
579
  }
826
580
  );
@@ -828,12 +582,12 @@ function PaginationEllipsis({
828
582
 
829
583
  // src/ui/toolbar.tsx
830
584
  import { Toolbar as ToolbarPrimitive } from "radix-ui";
831
- import { jsx as jsx13 } from "react/jsx-runtime";
585
+ import { jsx as jsx11 } from "react/jsx-runtime";
832
586
  function Toolbar({
833
587
  className,
834
588
  ...props
835
589
  }) {
836
- return /* @__PURE__ */ jsx13(
590
+ return /* @__PURE__ */ jsx11(
837
591
  ToolbarPrimitive.Root,
838
592
  {
839
593
  "data-slot": "toolbar",
@@ -849,7 +603,7 @@ function ToolbarButton({
849
603
  className,
850
604
  ...props
851
605
  }) {
852
- return /* @__PURE__ */ jsx13(
606
+ return /* @__PURE__ */ jsx11(
853
607
  ToolbarPrimitive.Button,
854
608
  {
855
609
  "data-slot": "toolbar-button",
@@ -866,7 +620,7 @@ function ToolbarSeparator({
866
620
  className,
867
621
  ...props
868
622
  }) {
869
- return /* @__PURE__ */ jsx13(
623
+ return /* @__PURE__ */ jsx11(
870
624
  ToolbarPrimitive.Separator,
871
625
  {
872
626
  "data-slot": "toolbar-separator",
@@ -879,7 +633,7 @@ function ToolbarToggleGroup({
879
633
  className,
880
634
  ...props
881
635
  }) {
882
- return /* @__PURE__ */ jsx13(
636
+ return /* @__PURE__ */ jsx11(
883
637
  ToolbarPrimitive.ToggleGroup,
884
638
  {
885
639
  "data-slot": "toolbar-toggle-group",
@@ -892,7 +646,7 @@ function ToolbarToggleItem({
892
646
  className,
893
647
  ...props
894
648
  }) {
895
- return /* @__PURE__ */ jsx13(
649
+ return /* @__PURE__ */ jsx11(
896
650
  ToolbarPrimitive.ToggleItem,
897
651
  {
898
652
  "data-slot": "toolbar-toggle-item",
@@ -910,7 +664,7 @@ function ToolbarLink({
910
664
  className,
911
665
  ...props
912
666
  }) {
913
- return /* @__PURE__ */ jsx13(
667
+ return /* @__PURE__ */ jsx11(
914
668
  ToolbarPrimitive.Link,
915
669
  {
916
670
  "data-slot": "toolbar-link",
@@ -925,13 +679,13 @@ function ToolbarLink({
925
679
 
926
680
  // src/ui/menubar.tsx
927
681
  import { Menubar as MenubarPrimitive } from "radix-ui";
928
- import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon3 } from "lucide-react";
929
- import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
682
+ import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon3, CircleIcon as CircleIcon2 } from "lucide-react";
683
+ import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
930
684
  function Menubar({
931
685
  className,
932
686
  ...props
933
687
  }) {
934
- return /* @__PURE__ */ jsx14(
688
+ return /* @__PURE__ */ jsx12(
935
689
  MenubarPrimitive.Root,
936
690
  {
937
691
  "data-slot": "menubar",
@@ -946,13 +700,13 @@ function Menubar({
946
700
  function MenubarMenu({
947
701
  ...props
948
702
  }) {
949
- return /* @__PURE__ */ jsx14(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
703
+ return /* @__PURE__ */ jsx12(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
950
704
  }
951
705
  function MenubarTrigger({
952
706
  className,
953
707
  ...props
954
708
  }) {
955
- return /* @__PURE__ */ jsx14(
709
+ return /* @__PURE__ */ jsx12(
956
710
  MenubarPrimitive.Trigger,
957
711
  {
958
712
  "data-slot": "menubar-trigger",
@@ -972,7 +726,7 @@ function MenubarContent({
972
726
  sideOffset = 8,
973
727
  ...props
974
728
  }) {
975
- return /* @__PURE__ */ jsx14(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx14(
729
+ return /* @__PURE__ */ jsx12(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx12(
976
730
  MenubarPrimitive.Content,
977
731
  {
978
732
  "data-slot": "menubar-content",
@@ -994,7 +748,7 @@ function MenubarItem({
994
748
  variant = "default",
995
749
  ...props
996
750
  }) {
997
- return /* @__PURE__ */ jsx14(
751
+ return /* @__PURE__ */ jsx12(
998
752
  MenubarPrimitive.Item,
999
753
  {
1000
754
  "data-slot": "menubar-item",
@@ -1015,7 +769,7 @@ function MenubarCheckboxItem({
1015
769
  checked,
1016
770
  ...props
1017
771
  }) {
1018
- return /* @__PURE__ */ jsxs5(
772
+ return /* @__PURE__ */ jsxs4(
1019
773
  MenubarPrimitive.CheckboxItem,
1020
774
  {
1021
775
  "data-slot": "menubar-checkbox-item",
@@ -1023,7 +777,7 @@ function MenubarCheckboxItem({
1023
777
  checked,
1024
778
  ...props,
1025
779
  children: [
1026
- /* @__PURE__ */ jsx14("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(CheckIcon3, { className: "size-4" }) }) }),
780
+ /* @__PURE__ */ jsx12("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx12(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx12(CheckIcon2, { className: "size-4" }) }) }),
1027
781
  children
1028
782
  ]
1029
783
  }
@@ -1032,21 +786,21 @@ function MenubarCheckboxItem({
1032
786
  function MenubarRadioGroup({
1033
787
  ...props
1034
788
  }) {
1035
- return /* @__PURE__ */ jsx14(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
789
+ return /* @__PURE__ */ jsx12(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
1036
790
  }
1037
791
  function MenubarRadioItem({
1038
792
  className,
1039
793
  children,
1040
794
  ...props
1041
795
  }) {
1042
- return /* @__PURE__ */ jsxs5(
796
+ return /* @__PURE__ */ jsxs4(
1043
797
  MenubarPrimitive.RadioItem,
1044
798
  {
1045
799
  "data-slot": "menubar-radio-item",
1046
800
  className: cn(overlayItemClass, "py-1.5 pr-2 pl-8", className),
1047
801
  ...props,
1048
802
  children: [
1049
- /* @__PURE__ */ jsx14("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(CircleIcon3, { className: "size-2 fill-current" }) }) }),
803
+ /* @__PURE__ */ jsx12("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx12(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx12(CircleIcon2, { className: "size-2 fill-current" }) }) }),
1050
804
  children
1051
805
  ]
1052
806
  }
@@ -1057,7 +811,7 @@ function MenubarLabel({
1057
811
  inset,
1058
812
  ...props
1059
813
  }) {
1060
- return /* @__PURE__ */ jsx14(
814
+ return /* @__PURE__ */ jsx12(
1061
815
  MenubarPrimitive.Label,
1062
816
  {
1063
817
  "data-slot": "menubar-label",
@@ -1074,7 +828,7 @@ function MenubarSeparator({
1074
828
  className,
1075
829
  ...props
1076
830
  }) {
1077
- return /* @__PURE__ */ jsx14(
831
+ return /* @__PURE__ */ jsx12(
1078
832
  MenubarPrimitive.Separator,
1079
833
  {
1080
834
  "data-slot": "menubar-separator",
@@ -1087,7 +841,7 @@ function MenubarShortcut({
1087
841
  className,
1088
842
  ...props
1089
843
  }) {
1090
- return /* @__PURE__ */ jsx14(
844
+ return /* @__PURE__ */ jsx12(
1091
845
  "span",
1092
846
  {
1093
847
  "data-slot": "menubar-shortcut",
@@ -1102,7 +856,7 @@ function MenubarShortcut({
1102
856
  function MenubarSub({
1103
857
  ...props
1104
858
  }) {
1105
- return /* @__PURE__ */ jsx14(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
859
+ return /* @__PURE__ */ jsx12(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
1106
860
  }
1107
861
  function MenubarSubTrigger({
1108
862
  className,
@@ -1110,7 +864,7 @@ function MenubarSubTrigger({
1110
864
  children,
1111
865
  ...props
1112
866
  }) {
1113
- return /* @__PURE__ */ jsxs5(
867
+ return /* @__PURE__ */ jsxs4(
1114
868
  MenubarPrimitive.SubTrigger,
1115
869
  {
1116
870
  "data-slot": "menubar-sub-trigger",
@@ -1123,7 +877,7 @@ function MenubarSubTrigger({
1123
877
  ...props,
1124
878
  children: [
1125
879
  children,
1126
- /* @__PURE__ */ jsx14(ChevronRightIcon4, { className: "ml-auto size-4" })
880
+ /* @__PURE__ */ jsx12(ChevronRightIcon3, { className: "ml-auto size-4" })
1127
881
  ]
1128
882
  }
1129
883
  );
@@ -1132,7 +886,7 @@ function MenubarSubContent({
1132
886
  className,
1133
887
  ...props
1134
888
  }) {
1135
- return /* @__PURE__ */ jsx14(
889
+ return /* @__PURE__ */ jsx12(
1136
890
  MenubarPrimitive.SubContent,
1137
891
  {
1138
892
  "data-slot": "menubar-sub-content",
@@ -1150,14 +904,14 @@ function MenubarSubContent({
1150
904
  import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
1151
905
  import { ChevronDownIcon as ChevronDownIcon2 } from "lucide-react";
1152
906
  import { cva } from "class-variance-authority";
1153
- import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
907
+ import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
1154
908
  function NavigationMenu({
1155
909
  className,
1156
910
  children,
1157
911
  viewport = true,
1158
912
  ...props
1159
913
  }) {
1160
- return /* @__PURE__ */ jsxs6(
914
+ return /* @__PURE__ */ jsxs5(
1161
915
  NavigationMenuPrimitive.Root,
1162
916
  {
1163
917
  "data-slot": "navigation-menu",
@@ -1169,7 +923,7 @@ function NavigationMenu({
1169
923
  ...props,
1170
924
  children: [
1171
925
  children,
1172
- viewport ? /* @__PURE__ */ jsx15(NavigationMenuViewport, {}) : null
926
+ viewport ? /* @__PURE__ */ jsx13(NavigationMenuViewport, {}) : null
1173
927
  ]
1174
928
  }
1175
929
  );
@@ -1178,7 +932,7 @@ function NavigationMenuList({
1178
932
  className,
1179
933
  ...props
1180
934
  }) {
1181
- return /* @__PURE__ */ jsx15(
935
+ return /* @__PURE__ */ jsx13(
1182
936
  NavigationMenuPrimitive.List,
1183
937
  {
1184
938
  "data-slot": "navigation-menu-list",
@@ -1193,7 +947,7 @@ function NavigationMenuList({
1193
947
  function NavigationMenuItem({
1194
948
  ...props
1195
949
  }) {
1196
- return /* @__PURE__ */ jsx15(NavigationMenuPrimitive.Item, { "data-slot": "navigation-menu-item", ...props });
950
+ return /* @__PURE__ */ jsx13(NavigationMenuPrimitive.Item, { "data-slot": "navigation-menu-item", ...props });
1197
951
  }
1198
952
  var navigationMenuTriggerStyle = cva(
1199
953
  "group inline-flex h-9 w-max items-center justify-center rounded-lg bg-transparent px-4 py-2 text-sm font-medium transition-colors hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-muted/80 data-[state=open]:text-foreground"
@@ -1203,7 +957,7 @@ function NavigationMenuTrigger({
1203
957
  children,
1204
958
  ...props
1205
959
  }) {
1206
- return /* @__PURE__ */ jsxs6(
960
+ return /* @__PURE__ */ jsxs5(
1207
961
  NavigationMenuPrimitive.Trigger,
1208
962
  {
1209
963
  "data-slot": "navigation-menu-trigger",
@@ -1212,7 +966,7 @@ function NavigationMenuTrigger({
1212
966
  children: [
1213
967
  children,
1214
968
  " ",
1215
- /* @__PURE__ */ jsx15(
969
+ /* @__PURE__ */ jsx13(
1216
970
  ChevronDownIcon2,
1217
971
  {
1218
972
  className: "relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
@@ -1227,12 +981,12 @@ function NavigationMenuContent({
1227
981
  className,
1228
982
  ...props
1229
983
  }) {
1230
- return /* @__PURE__ */ jsx15(
984
+ return /* @__PURE__ */ jsx13(
1231
985
  NavigationMenuPrimitive.Content,
1232
986
  {
1233
987
  "data-slot": "navigation-menu-content",
1234
988
  className: cn(
1235
- "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
989
+ "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-1 md:absolute md:w-auto",
1236
990
  "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:border-border group-data-[viewport=false]/navigation-menu:shadow-card",
1237
991
  className
1238
992
  ),
@@ -1244,7 +998,7 @@ function NavigationMenuViewport({
1244
998
  className,
1245
999
  ...props
1246
1000
  }) {
1247
- return /* @__PURE__ */ jsx15("div", { className: cn("absolute top-full left-0 isolate z-[80] flex justify-center"), children: /* @__PURE__ */ jsx15(
1001
+ return /* @__PURE__ */ jsx13("div", { className: cn("absolute top-full left-0 isolate z-[80] flex justify-center"), children: /* @__PURE__ */ jsx13(
1248
1002
  NavigationMenuPrimitive.Viewport,
1249
1003
  {
1250
1004
  "data-slot": "navigation-menu-viewport",
@@ -1261,12 +1015,12 @@ function NavigationMenuLink({
1261
1015
  className,
1262
1016
  ...props
1263
1017
  }) {
1264
- return /* @__PURE__ */ jsx15(
1018
+ return /* @__PURE__ */ jsx13(
1265
1019
  NavigationMenuPrimitive.Link,
1266
1020
  {
1267
1021
  "data-slot": "navigation-menu-link",
1268
1022
  className: cn(
1269
- "flex flex-col gap-1 rounded-md p-2 text-sm transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground [&_svg:not([class*='size-'])]:size-4",
1023
+ "flex flex-col gap-1 rounded-md px-3 py-1.5 text-sm transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground [&_svg:not([class*='size-'])]:size-4",
1270
1024
  className
1271
1025
  ),
1272
1026
  ...props
@@ -1277,7 +1031,7 @@ function NavigationMenuIndicator({
1277
1031
  className,
1278
1032
  ...props
1279
1033
  }) {
1280
- return /* @__PURE__ */ jsx15(
1034
+ return /* @__PURE__ */ jsx13(
1281
1035
  NavigationMenuPrimitive.Indicator,
1282
1036
  {
1283
1037
  "data-slot": "navigation-menu-indicator",
@@ -1286,7 +1040,7 @@ function NavigationMenuIndicator({
1286
1040
  className
1287
1041
  ),
1288
1042
  ...props,
1289
- children: /* @__PURE__ */ jsx15("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
1043
+ children: /* @__PURE__ */ jsx13("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
1290
1044
  }
1291
1045
  );
1292
1046
  }
@@ -1294,12 +1048,12 @@ function NavigationMenuIndicator({
1294
1048
  // src/ui/command.tsx
1295
1049
  import { Command as CommandPrimitive } from "cmdk";
1296
1050
  import { SearchIcon } from "lucide-react";
1297
- import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1051
+ import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
1298
1052
  function Command({
1299
1053
  className,
1300
1054
  ...props
1301
1055
  }) {
1302
- return /* @__PURE__ */ jsx16(
1056
+ return /* @__PURE__ */ jsx14(
1303
1057
  CommandPrimitive,
1304
1058
  {
1305
1059
  "data-slot": "command",
@@ -1319,17 +1073,17 @@ function CommandDialog({
1319
1073
  showCloseButton = true,
1320
1074
  ...props
1321
1075
  }) {
1322
- return /* @__PURE__ */ jsxs7(Dialog, { ...props, children: [
1323
- /* @__PURE__ */ jsxs7(DialogHeader, { className: "sr-only", children: [
1324
- /* @__PURE__ */ jsx16(DialogTitle, { children: title }),
1325
- /* @__PURE__ */ jsx16(DialogDescription, { children: description })
1076
+ return /* @__PURE__ */ jsxs6(Dialog, { ...props, children: [
1077
+ /* @__PURE__ */ jsxs6(DialogHeader, { className: "sr-only", children: [
1078
+ /* @__PURE__ */ jsx14(DialogTitle, { children: title }),
1079
+ /* @__PURE__ */ jsx14(DialogDescription, { children: description })
1326
1080
  ] }),
1327
- /* @__PURE__ */ jsx16(
1081
+ /* @__PURE__ */ jsx14(
1328
1082
  DialogContent,
1329
1083
  {
1330
1084
  className: cn("overflow-hidden p-0", className),
1331
1085
  showCloseButton,
1332
- children: /* @__PURE__ */ jsx16(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-4 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-2 [&_[cmdk-item]_svg]:size-4", children })
1086
+ children: /* @__PURE__ */ jsx14(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-4 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-2 [&_[cmdk-item]_svg]:size-4", children })
1333
1087
  }
1334
1088
  )
1335
1089
  ] });
@@ -1338,14 +1092,14 @@ function CommandInput({
1338
1092
  className,
1339
1093
  ...props
1340
1094
  }) {
1341
- return /* @__PURE__ */ jsxs7(
1095
+ return /* @__PURE__ */ jsxs6(
1342
1096
  "div",
1343
1097
  {
1344
1098
  "data-slot": "command-input-wrapper",
1345
1099
  className: "flex h-10 items-center gap-2 border-b border-border px-3",
1346
1100
  children: [
1347
- /* @__PURE__ */ jsx16(SearchIcon, { className: "size-4 shrink-0 text-muted-foreground" }),
1348
- /* @__PURE__ */ jsx16(
1101
+ /* @__PURE__ */ jsx14(SearchIcon, { className: "size-4 shrink-0 text-muted-foreground" }),
1102
+ /* @__PURE__ */ jsx14(
1349
1103
  CommandPrimitive.Input,
1350
1104
  {
1351
1105
  "data-slot": "command-input",
@@ -1364,7 +1118,7 @@ function CommandList({
1364
1118
  className,
1365
1119
  ...props
1366
1120
  }) {
1367
- return /* @__PURE__ */ jsx16(
1121
+ return /* @__PURE__ */ jsx14(
1368
1122
  CommandPrimitive.List,
1369
1123
  {
1370
1124
  "data-slot": "command-list",
@@ -1376,7 +1130,7 @@ function CommandList({
1376
1130
  function CommandEmpty({
1377
1131
  ...props
1378
1132
  }) {
1379
- return /* @__PURE__ */ jsx16(
1133
+ return /* @__PURE__ */ jsx14(
1380
1134
  CommandPrimitive.Empty,
1381
1135
  {
1382
1136
  "data-slot": "command-empty",
@@ -1389,7 +1143,7 @@ function CommandGroup({
1389
1143
  className,
1390
1144
  ...props
1391
1145
  }) {
1392
- return /* @__PURE__ */ jsx16(
1146
+ return /* @__PURE__ */ jsx14(
1393
1147
  CommandPrimitive.Group,
1394
1148
  {
1395
1149
  "data-slot": "command-group",
@@ -1405,7 +1159,7 @@ function CommandSeparator({
1405
1159
  className,
1406
1160
  ...props
1407
1161
  }) {
1408
- return /* @__PURE__ */ jsx16(
1162
+ return /* @__PURE__ */ jsx14(
1409
1163
  CommandPrimitive.Separator,
1410
1164
  {
1411
1165
  "data-slot": "command-separator",
@@ -1418,7 +1172,7 @@ function CommandItem({
1418
1172
  className,
1419
1173
  ...props
1420
1174
  }) {
1421
- return /* @__PURE__ */ jsx16(
1175
+ return /* @__PURE__ */ jsx14(
1422
1176
  CommandPrimitive.Item,
1423
1177
  {
1424
1178
  "data-slot": "command-item",
@@ -1435,7 +1189,7 @@ function CommandShortcut({
1435
1189
  className,
1436
1190
  ...props
1437
1191
  }) {
1438
- return /* @__PURE__ */ jsx16(
1192
+ return /* @__PURE__ */ jsx14(
1439
1193
  "span",
1440
1194
  {
1441
1195
  "data-slot": "command-shortcut",
@@ -1450,12 +1204,12 @@ function CommandShortcut({
1450
1204
 
1451
1205
  // src/ui/calendar.tsx
1452
1206
  import * as React from "react";
1453
- import { ChevronDownIcon as ChevronDownIcon3, ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon5 } from "lucide-react";
1207
+ import { ChevronDownIcon as ChevronDownIcon3, ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon4 } from "lucide-react";
1454
1208
  import {
1455
1209
  DayPicker,
1456
1210
  getDefaultClassNames
1457
1211
  } from "react-day-picker";
1458
- import { jsx as jsx17 } from "react/jsx-runtime";
1212
+ import { jsx as jsx15 } from "react/jsx-runtime";
1459
1213
  function Calendar({
1460
1214
  className,
1461
1215
  classNames,
@@ -1463,7 +1217,7 @@ function Calendar({
1463
1217
  ...props
1464
1218
  }) {
1465
1219
  const defaults = getDefaultClassNames();
1466
- return /* @__PURE__ */ jsx17(
1220
+ return /* @__PURE__ */ jsx15(
1467
1221
  DayPicker,
1468
1222
  {
1469
1223
  showOutsideDays,
@@ -1525,8 +1279,8 @@ function Calendar({
1525
1279
  },
1526
1280
  components: {
1527
1281
  Chevron: ({ orientation, className: chevronClass, ...chevronProps }) => {
1528
- const Icon = orientation === "left" ? ChevronLeftIcon2 : orientation === "right" ? ChevronRightIcon5 : ChevronDownIcon3;
1529
- return /* @__PURE__ */ jsx17(Icon, { className: cn("size-4", chevronClass), ...chevronProps });
1282
+ const Icon = orientation === "left" ? ChevronLeftIcon2 : orientation === "right" ? ChevronRightIcon4 : ChevronDownIcon3;
1283
+ return /* @__PURE__ */ jsx15(Icon, { className: cn("size-4", chevronClass), ...chevronProps });
1530
1284
  },
1531
1285
  DayButton: CalendarDayButton
1532
1286
  },
@@ -1551,7 +1305,7 @@ function CalendarDayButton({
1551
1305
  if (modifiers.focused) ref.current?.focus();
1552
1306
  }, [modifiers.focused]);
1553
1307
  const isSingle = modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle;
1554
- return /* @__PURE__ */ jsx17(
1308
+ return /* @__PURE__ */ jsx15(
1555
1309
  "button",
1556
1310
  {
1557
1311
  ref,
@@ -1579,11 +1333,11 @@ function CalendarDayButton({
1579
1333
 
1580
1334
  // src/ui/combobox.tsx
1581
1335
  import { ChevronDownIcon as ChevronDownIcon4 } from "lucide-react";
1582
- import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
1336
+ import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1583
1337
  function Combobox({
1584
1338
  ...props
1585
1339
  }) {
1586
- return /* @__PURE__ */ jsx18(Popover, { "data-slot": "combobox", ...props });
1340
+ return /* @__PURE__ */ jsx16(Popover, { "data-slot": "combobox", ...props });
1587
1341
  }
1588
1342
  function ComboboxTrigger({
1589
1343
  className,
@@ -1591,7 +1345,7 @@ function ComboboxTrigger({
1591
1345
  children,
1592
1346
  ...props
1593
1347
  }) {
1594
- return /* @__PURE__ */ jsxs8(
1348
+ return /* @__PURE__ */ jsxs7(
1595
1349
  PopoverTrigger,
1596
1350
  {
1597
1351
  "data-slot": "combobox-trigger",
@@ -1603,8 +1357,8 @@ function ComboboxTrigger({
1603
1357
  ),
1604
1358
  ...props,
1605
1359
  children: [
1606
- /* @__PURE__ */ jsx18("span", { className: "truncate", children }),
1607
- /* @__PURE__ */ jsx18(ChevronDownIcon4, { className: "size-4 shrink-0 opacity-50" })
1360
+ /* @__PURE__ */ jsx16("span", { className: "truncate", children }),
1361
+ /* @__PURE__ */ jsx16(ChevronDownIcon4, { className: "size-4 shrink-0 opacity-50" })
1608
1362
  ]
1609
1363
  }
1610
1364
  );
@@ -1612,14 +1366,14 @@ function ComboboxTrigger({
1612
1366
  function ComboboxAnchor({
1613
1367
  ...props
1614
1368
  }) {
1615
- return /* @__PURE__ */ jsx18(PopoverAnchor, { "data-slot": "combobox-anchor", ...props });
1369
+ return /* @__PURE__ */ jsx16(PopoverAnchor, { "data-slot": "combobox-anchor", ...props });
1616
1370
  }
1617
1371
  function ComboboxContent({
1618
1372
  className,
1619
1373
  align = "start",
1620
1374
  ...props
1621
1375
  }) {
1622
- return /* @__PURE__ */ jsx18(
1376
+ return /* @__PURE__ */ jsx16(
1623
1377
  PopoverContent,
1624
1378
  {
1625
1379
  "data-slot": "combobox-content",
@@ -1637,7 +1391,7 @@ function ComboboxCommand({
1637
1391
  className,
1638
1392
  ...props
1639
1393
  }) {
1640
- return /* @__PURE__ */ jsx18(
1394
+ return /* @__PURE__ */ jsx16(
1641
1395
  Command,
1642
1396
  {
1643
1397
  "data-slot": "combobox-command",
@@ -1649,58 +1403,58 @@ function ComboboxCommand({
1649
1403
  function ComboboxInput({
1650
1404
  ...props
1651
1405
  }) {
1652
- return /* @__PURE__ */ jsx18(CommandInput, { "data-slot": "combobox-input", ...props });
1406
+ return /* @__PURE__ */ jsx16(CommandInput, { "data-slot": "combobox-input", ...props });
1653
1407
  }
1654
1408
  function ComboboxList({
1655
1409
  ...props
1656
1410
  }) {
1657
- return /* @__PURE__ */ jsx18(CommandList, { "data-slot": "combobox-list", ...props });
1411
+ return /* @__PURE__ */ jsx16(CommandList, { "data-slot": "combobox-list", ...props });
1658
1412
  }
1659
1413
  function ComboboxEmpty({
1660
1414
  ...props
1661
1415
  }) {
1662
- return /* @__PURE__ */ jsx18(CommandEmpty, { "data-slot": "combobox-empty", ...props });
1416
+ return /* @__PURE__ */ jsx16(CommandEmpty, { "data-slot": "combobox-empty", ...props });
1663
1417
  }
1664
1418
  function ComboboxGroup({
1665
1419
  ...props
1666
1420
  }) {
1667
- return /* @__PURE__ */ jsx18(CommandGroup, { "data-slot": "combobox-group", ...props });
1421
+ return /* @__PURE__ */ jsx16(CommandGroup, { "data-slot": "combobox-group", ...props });
1668
1422
  }
1669
1423
  function ComboboxItem({
1670
1424
  ...props
1671
1425
  }) {
1672
- return /* @__PURE__ */ jsx18(CommandItem, { "data-slot": "combobox-item", ...props });
1426
+ return /* @__PURE__ */ jsx16(CommandItem, { "data-slot": "combobox-item", ...props });
1673
1427
  }
1674
1428
  function ComboboxSeparator({
1675
1429
  ...props
1676
1430
  }) {
1677
- return /* @__PURE__ */ jsx18(CommandSeparator, { "data-slot": "combobox-separator", ...props });
1431
+ return /* @__PURE__ */ jsx16(CommandSeparator, { "data-slot": "combobox-separator", ...props });
1678
1432
  }
1679
1433
  function ComboboxShortcut({
1680
1434
  ...props
1681
1435
  }) {
1682
- return /* @__PURE__ */ jsx18(CommandShortcut, { "data-slot": "combobox-shortcut", ...props });
1436
+ return /* @__PURE__ */ jsx16(CommandShortcut, { "data-slot": "combobox-shortcut", ...props });
1683
1437
  }
1684
1438
 
1685
1439
  // src/ui/date-picker.tsx
1686
1440
  import { CalendarIcon } from "lucide-react";
1687
- import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1441
+ import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1688
1442
  function DatePicker({
1689
1443
  ...props
1690
1444
  }) {
1691
- return /* @__PURE__ */ jsx19(Popover, { "data-slot": "date-picker", ...props });
1445
+ return /* @__PURE__ */ jsx17(Popover, { "data-slot": "date-picker", ...props });
1692
1446
  }
1693
1447
  function DatePickerTrigger({
1694
1448
  ...props
1695
1449
  }) {
1696
- return /* @__PURE__ */ jsx19(PopoverTrigger, { "data-slot": "date-picker-trigger", ...props });
1450
+ return /* @__PURE__ */ jsx17(PopoverTrigger, { "data-slot": "date-picker-trigger", ...props });
1697
1451
  }
1698
1452
  function DatePickerContent({
1699
1453
  className,
1700
1454
  align = "start",
1701
1455
  ...props
1702
1456
  }) {
1703
- return /* @__PURE__ */ jsx19(
1457
+ return /* @__PURE__ */ jsx17(
1704
1458
  PopoverContent,
1705
1459
  {
1706
1460
  "data-slot": "date-picker-content",
@@ -1714,7 +1468,7 @@ function DatePickerCalendar({
1714
1468
  className,
1715
1469
  ...props
1716
1470
  }) {
1717
- return /* @__PURE__ */ jsx19(
1471
+ return /* @__PURE__ */ jsx17(
1718
1472
  Calendar,
1719
1473
  {
1720
1474
  "data-slot": "date-picker-calendar",
@@ -1736,7 +1490,7 @@ function DatePickerButton({
1736
1490
  className,
1737
1491
  ...props
1738
1492
  }) {
1739
- return /* @__PURE__ */ jsxs9(
1493
+ return /* @__PURE__ */ jsxs8(
1740
1494
  "button",
1741
1495
  {
1742
1496
  type: "button",
@@ -1749,7 +1503,7 @@ function DatePickerButton({
1749
1503
  ),
1750
1504
  ...props,
1751
1505
  children: [
1752
- /* @__PURE__ */ jsx19(CalendarIcon, { className: "size-4 shrink-0 opacity-70" }),
1506
+ /* @__PURE__ */ jsx17(CalendarIcon, { className: "size-4 shrink-0 opacity-70" }),
1753
1507
  date ? formatPickerDate(date) : placeholder
1754
1508
  ]
1755
1509
  }
@@ -1759,14 +1513,14 @@ function DatePickerButton({
1759
1513
  // src/ui/input-otp.tsx
1760
1514
  import { MinusIcon } from "lucide-react";
1761
1515
  import { unstable_OneTimePasswordField as OTPField } from "radix-ui";
1762
- import { jsx as jsx20 } from "react/jsx-runtime";
1516
+ import { jsx as jsx18 } from "react/jsx-runtime";
1763
1517
  function InputOTP({
1764
1518
  className,
1765
1519
  containerClassName,
1766
1520
  children,
1767
1521
  ...props
1768
1522
  }) {
1769
- return /* @__PURE__ */ jsx20(
1523
+ return /* @__PURE__ */ jsx18(
1770
1524
  OTPField.Root,
1771
1525
  {
1772
1526
  "data-slot": "input-otp",
@@ -1784,7 +1538,7 @@ function InputOTPGroup({
1784
1538
  className,
1785
1539
  ...props
1786
1540
  }) {
1787
- return /* @__PURE__ */ jsx20(
1541
+ return /* @__PURE__ */ jsx18(
1788
1542
  "div",
1789
1543
  {
1790
1544
  "data-slot": "input-otp-group",
@@ -1797,7 +1551,7 @@ function InputOTPSlot({
1797
1551
  className,
1798
1552
  ...props
1799
1553
  }) {
1800
- return /* @__PURE__ */ jsx20(
1554
+ return /* @__PURE__ */ jsx18(
1801
1555
  OTPField.Input,
1802
1556
  {
1803
1557
  "data-slot": "input-otp-slot",
@@ -1815,13 +1569,13 @@ function InputOTPSlot({
1815
1569
  function InputOTPHiddenInput({
1816
1570
  ...props
1817
1571
  }) {
1818
- return /* @__PURE__ */ jsx20(OTPField.HiddenInput, { "data-slot": "input-otp-hidden-input", ...props });
1572
+ return /* @__PURE__ */ jsx18(OTPField.HiddenInput, { "data-slot": "input-otp-hidden-input", ...props });
1819
1573
  }
1820
1574
  function InputOTPSeparator({
1821
1575
  className,
1822
1576
  ...props
1823
1577
  }) {
1824
- return /* @__PURE__ */ jsx20(
1578
+ return /* @__PURE__ */ jsx18(
1825
1579
  "div",
1826
1580
  {
1827
1581
  role: "separator",
@@ -1829,15 +1583,15 @@ function InputOTPSeparator({
1829
1583
  "aria-hidden": true,
1830
1584
  className: cn("text-muted-foreground", className),
1831
1585
  ...props,
1832
- children: /* @__PURE__ */ jsx20(MinusIcon, { className: "size-4" })
1586
+ children: /* @__PURE__ */ jsx18(MinusIcon, { className: "size-4" })
1833
1587
  }
1834
1588
  );
1835
1589
  }
1836
1590
 
1837
1591
  // src/ui/kbd.tsx
1838
- import { jsx as jsx21 } from "react/jsx-runtime";
1592
+ import { jsx as jsx19 } from "react/jsx-runtime";
1839
1593
  function Kbd({ className, ...props }) {
1840
- return /* @__PURE__ */ jsx21(
1594
+ return /* @__PURE__ */ jsx19(
1841
1595
  "kbd",
1842
1596
  {
1843
1597
  "data-slot": "kbd",
@@ -1850,7 +1604,7 @@ function Kbd({ className, ...props }) {
1850
1604
  );
1851
1605
  }
1852
1606
  function KbdGroup({ className, ...props }) {
1853
- return /* @__PURE__ */ jsx21(
1607
+ return /* @__PURE__ */ jsx19(
1854
1608
  "div",
1855
1609
  {
1856
1610
  "data-slot": "kbd-group",
@@ -1861,12 +1615,12 @@ function KbdGroup({ className, ...props }) {
1861
1615
  }
1862
1616
 
1863
1617
  // src/ui/spinner.tsx
1864
- import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
1618
+ import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
1865
1619
  function Spinner({
1866
1620
  className,
1867
1621
  ...props
1868
1622
  }) {
1869
- return /* @__PURE__ */ jsxs10(
1623
+ return /* @__PURE__ */ jsxs9(
1870
1624
  "svg",
1871
1625
  {
1872
1626
  "data-slot": "spinner",
@@ -1877,7 +1631,7 @@ function Spinner({
1877
1631
  className: cn("size-4 animate-spin text-muted-foreground", className),
1878
1632
  ...props,
1879
1633
  children: [
1880
- /* @__PURE__ */ jsx22(
1634
+ /* @__PURE__ */ jsx20(
1881
1635
  "circle",
1882
1636
  {
1883
1637
  className: "opacity-25",
@@ -1888,7 +1642,7 @@ function Spinner({
1888
1642
  strokeWidth: "3"
1889
1643
  }
1890
1644
  ),
1891
- /* @__PURE__ */ jsx22(
1645
+ /* @__PURE__ */ jsx20(
1892
1646
  "path",
1893
1647
  {
1894
1648
  className: "opacity-75",
@@ -1902,12 +1656,12 @@ function Spinner({
1902
1656
  }
1903
1657
 
1904
1658
  // src/ui/input-group.tsx
1905
- import { jsx as jsx23 } from "react/jsx-runtime";
1659
+ import { jsx as jsx21 } from "react/jsx-runtime";
1906
1660
  function InputGroup({
1907
1661
  className,
1908
1662
  ...props
1909
1663
  }) {
1910
- return /* @__PURE__ */ jsx23(
1664
+ return /* @__PURE__ */ jsx21(
1911
1665
  "div",
1912
1666
  {
1913
1667
  "data-slot": "input-group",
@@ -1926,7 +1680,7 @@ function InputGroupAddon({
1926
1680
  align = "inline-start",
1927
1681
  ...props
1928
1682
  }) {
1929
- return /* @__PURE__ */ jsx23(
1683
+ return /* @__PURE__ */ jsx21(
1930
1684
  "div",
1931
1685
  {
1932
1686
  "data-slot": "input-group-addon",
@@ -1945,7 +1699,7 @@ function InputGroupInput({
1945
1699
  className,
1946
1700
  ...props
1947
1701
  }) {
1948
- return /* @__PURE__ */ jsx23(
1702
+ return /* @__PURE__ */ jsx21(
1949
1703
  "input",
1950
1704
  {
1951
1705
  "data-slot": "input-group-control",
@@ -1962,7 +1716,7 @@ function InputGroupText({
1962
1716
  className,
1963
1717
  ...props
1964
1718
  }) {
1965
- return /* @__PURE__ */ jsx23(
1719
+ return /* @__PURE__ */ jsx21(
1966
1720
  "span",
1967
1721
  {
1968
1722
  "data-slot": "input-group-text",
@@ -1975,17 +1729,17 @@ function InputGroupText({
1975
1729
  // src/ui/accordion.tsx
1976
1730
  import { Accordion as AccordionPrimitive } from "radix-ui";
1977
1731
  import { ChevronDownIcon as ChevronDownIcon5 } from "lucide-react";
1978
- import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
1732
+ import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
1979
1733
  function Accordion({
1980
1734
  ...props
1981
1735
  }) {
1982
- return /* @__PURE__ */ jsx24(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
1736
+ return /* @__PURE__ */ jsx22(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
1983
1737
  }
1984
1738
  function AccordionItem({
1985
1739
  className,
1986
1740
  ...props
1987
1741
  }) {
1988
- return /* @__PURE__ */ jsx24(
1742
+ return /* @__PURE__ */ jsx22(
1989
1743
  AccordionPrimitive.Item,
1990
1744
  {
1991
1745
  "data-slot": "accordion-item",
@@ -1999,7 +1753,7 @@ function AccordionTrigger({
1999
1753
  children,
2000
1754
  ...props
2001
1755
  }) {
2002
- return /* @__PURE__ */ jsx24(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs11(
1756
+ return /* @__PURE__ */ jsx22(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs10(
2003
1757
  AccordionPrimitive.Trigger,
2004
1758
  {
2005
1759
  "data-slot": "accordion-trigger",
@@ -2012,7 +1766,7 @@ function AccordionTrigger({
2012
1766
  ...props,
2013
1767
  children: [
2014
1768
  children,
2015
- /* @__PURE__ */ jsx24(ChevronDownIcon5, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
1769
+ /* @__PURE__ */ jsx22(ChevronDownIcon5, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
2016
1770
  ]
2017
1771
  }
2018
1772
  ) });
@@ -2022,27 +1776,27 @@ function AccordionContent({
2022
1776
  children,
2023
1777
  ...props
2024
1778
  }) {
2025
- return /* @__PURE__ */ jsx24(
1779
+ return /* @__PURE__ */ jsx22(
2026
1780
  AccordionPrimitive.Content,
2027
1781
  {
2028
1782
  "data-slot": "accordion-content",
2029
1783
  className: "overflow-hidden text-sm text-muted-foreground data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
2030
1784
  ...props,
2031
- children: /* @__PURE__ */ jsx24("div", { className: cn("pt-0 pb-4", className), children })
1785
+ children: /* @__PURE__ */ jsx22("div", { className: cn("pt-0 pb-4", className), children })
2032
1786
  }
2033
1787
  );
2034
1788
  }
2035
1789
 
2036
1790
  // src/ui/separator.tsx
2037
1791
  import { Separator as SeparatorPrimitive } from "radix-ui";
2038
- import { jsx as jsx25 } from "react/jsx-runtime";
1792
+ import { jsx as jsx23 } from "react/jsx-runtime";
2039
1793
  function Separator({
2040
1794
  className,
2041
1795
  orientation = "horizontal",
2042
1796
  decorative = true,
2043
1797
  ...props
2044
1798
  }) {
2045
- return /* @__PURE__ */ jsx25(
1799
+ return /* @__PURE__ */ jsx23(
2046
1800
  SeparatorPrimitive.Root,
2047
1801
  {
2048
1802
  "data-slot": "separator",
@@ -2060,7 +1814,7 @@ function Separator({
2060
1814
  // src/ui/slider.tsx
2061
1815
  import * as React2 from "react";
2062
1816
  import { Slider as SliderPrimitive } from "radix-ui";
2063
- import { jsx as jsx26, jsxs as jsxs12 } from "react/jsx-runtime";
1817
+ import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
2064
1818
  function Slider({
2065
1819
  className,
2066
1820
  defaultValue,
@@ -2074,7 +1828,7 @@ function Slider({
2074
1828
  if (Array.isArray(defaultValue)) return defaultValue;
2075
1829
  return [min];
2076
1830
  }, [value, defaultValue, min]);
2077
- return /* @__PURE__ */ jsxs12(
1831
+ return /* @__PURE__ */ jsxs11(
2078
1832
  SliderPrimitive.Root,
2079
1833
  {
2080
1834
  "data-slot": "slider",
@@ -2089,12 +1843,12 @@ function Slider({
2089
1843
  ),
2090
1844
  ...props,
2091
1845
  children: [
2092
- /* @__PURE__ */ jsx26(
1846
+ /* @__PURE__ */ jsx24(
2093
1847
  SliderPrimitive.Track,
2094
1848
  {
2095
1849
  "data-slot": "slider-track",
2096
1850
  className: "relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5",
2097
- children: /* @__PURE__ */ jsx26(
1851
+ children: /* @__PURE__ */ jsx24(
2098
1852
  SliderPrimitive.Range,
2099
1853
  {
2100
1854
  "data-slot": "slider-range",
@@ -2103,7 +1857,7 @@ function Slider({
2103
1857
  )
2104
1858
  }
2105
1859
  ),
2106
- Array.from({ length: thumbs.length }, (_, i) => /* @__PURE__ */ jsx26(
1860
+ Array.from({ length: thumbs.length }, (_, i) => /* @__PURE__ */ jsx24(
2107
1861
  SliderPrimitive.Thumb,
2108
1862
  {
2109
1863
  "data-slot": "slider-thumb",
@@ -2118,13 +1872,13 @@ function Slider({
2118
1872
 
2119
1873
  // src/ui/progress.tsx
2120
1874
  import { Progress as ProgressPrimitive } from "radix-ui";
2121
- import { jsx as jsx27 } from "react/jsx-runtime";
1875
+ import { jsx as jsx25 } from "react/jsx-runtime";
2122
1876
  function Progress({
2123
1877
  className,
2124
1878
  value,
2125
1879
  ...props
2126
1880
  }) {
2127
- return /* @__PURE__ */ jsx27(
1881
+ return /* @__PURE__ */ jsx25(
2128
1882
  ProgressPrimitive.Root,
2129
1883
  {
2130
1884
  "data-slot": "progress",
@@ -2133,7 +1887,7 @@ function Progress({
2133
1887
  className
2134
1888
  ),
2135
1889
  ...props,
2136
- children: /* @__PURE__ */ jsx27(
1890
+ children: /* @__PURE__ */ jsx25(
2137
1891
  ProgressPrimitive.Indicator,
2138
1892
  {
2139
1893
  "data-slot": "progress-indicator",
@@ -2148,7 +1902,7 @@ function Progress({
2148
1902
  // src/ui/badge.tsx
2149
1903
  import { Slot as Slot2 } from "radix-ui";
2150
1904
  import { cva as cva2 } from "class-variance-authority";
2151
- import { jsx as jsx28 } from "react/jsx-runtime";
1905
+ import { jsx as jsx26 } from "react/jsx-runtime";
2152
1906
  var badgeVariants = cva2(
2153
1907
  "inline-flex w-fit shrink-0 items-center justify-center gap-1 whitespace-nowrap rounded-md border px-2 py-0.5 text-xs font-medium [&>svg]:pointer-events-none [&>svg]:size-3",
2154
1908
  {
@@ -2172,7 +1926,7 @@ function Badge({
2172
1926
  ...props
2173
1927
  }) {
2174
1928
  const Comp = asChild ? Slot2.Root : "span";
2175
- return /* @__PURE__ */ jsx28(
1929
+ return /* @__PURE__ */ jsx26(
2176
1930
  Comp,
2177
1931
  {
2178
1932
  "data-slot": "badge",
@@ -2186,35 +1940,35 @@ function Badge({
2186
1940
  import { XIcon } from "lucide-react";
2187
1941
  import { Dialog as SheetPrimitive } from "radix-ui";
2188
1942
  import { cva as cva3 } from "class-variance-authority";
2189
- import { jsx as jsx29, jsxs as jsxs13 } from "react/jsx-runtime";
1943
+ import { jsx as jsx27, jsxs as jsxs12 } from "react/jsx-runtime";
2190
1944
  function Sheet({ ...props }) {
2191
- return /* @__PURE__ */ jsx29(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
1945
+ return /* @__PURE__ */ jsx27(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
2192
1946
  }
2193
1947
  function SheetTrigger({
2194
1948
  ...props
2195
1949
  }) {
2196
- return /* @__PURE__ */ jsx29(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
1950
+ return /* @__PURE__ */ jsx27(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
2197
1951
  }
2198
1952
  function SheetClose({
2199
1953
  ...props
2200
1954
  }) {
2201
- return /* @__PURE__ */ jsx29(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
1955
+ return /* @__PURE__ */ jsx27(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
2202
1956
  }
2203
1957
  function SheetPortal({
2204
1958
  ...props
2205
1959
  }) {
2206
- return /* @__PURE__ */ jsx29(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
1960
+ return /* @__PURE__ */ jsx27(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
2207
1961
  }
2208
1962
  function SheetOverlay({
2209
1963
  className,
2210
1964
  ...props
2211
1965
  }) {
2212
- return /* @__PURE__ */ jsx29(
1966
+ return /* @__PURE__ */ jsx27(
2213
1967
  SheetPrimitive.Overlay,
2214
1968
  {
2215
1969
  "data-slot": "sheet-overlay",
2216
1970
  className: cn(
2217
- "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-[70] bg-black/50",
1971
+ "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-[70] bg-black/40 backdrop-blur-[2px] duration-300",
2218
1972
  className
2219
1973
  ),
2220
1974
  ...props
@@ -2224,19 +1978,45 @@ function SheetOverlay({
2224
1978
  var sheetContentVariants = cva3(
2225
1979
  cn(
2226
1980
  TIMBAL_V2_MODAL_SURFACE,
2227
- "data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-[70] flex flex-col gap-4 shadow-card-elevated transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500"
1981
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0 fixed z-[70] flex flex-col gap-4 shadow-card-elevated duration-300"
2228
1982
  ),
2229
1983
  {
2230
1984
  variants: {
2231
1985
  side: {
2232
- top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b p-6",
2233
- bottom: "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t p-6",
2234
- left: "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r p-6 sm:max-w-sm",
2235
- right: "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l p-6 sm:max-w-sm"
1986
+ top: "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top fixed top-4 inset-x-4 mx-auto w-[calc(100vw-2rem)] sm:max-w-lg rounded-2xl p-6",
1987
+ bottom: "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom fixed bottom-4 inset-x-4 mx-auto w-[calc(100vw-2rem)] sm:max-w-lg rounded-2xl p-6",
1988
+ left: "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left fixed top-4 bottom-4 left-4 w-[calc(100vw-2rem)] rounded-2xl p-6",
1989
+ right: "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right fixed top-4 bottom-4 right-4 w-[calc(100vw-2rem)] rounded-2xl p-6"
1990
+ },
1991
+ size: {
1992
+ default: "",
1993
+ sm: "",
1994
+ md: "",
1995
+ lg: "",
1996
+ xl: "",
1997
+ "2xl": "",
1998
+ full: ""
2236
1999
  }
2237
2000
  },
2001
+ compoundVariants: [
2002
+ { side: "left", size: "default", class: "sm:max-w-md md:max-w-lg" },
2003
+ { side: "right", size: "default", class: "sm:max-w-md md:max-w-lg" },
2004
+ { side: "left", size: "sm", class: "sm:max-w-sm md:max-w-md" },
2005
+ { side: "right", size: "sm", class: "sm:max-w-sm md:max-w-md" },
2006
+ { side: "left", size: "md", class: "sm:max-w-md md:max-w-lg" },
2007
+ { side: "right", size: "md", class: "sm:max-w-md md:max-w-lg" },
2008
+ { side: "left", size: "lg", class: "sm:max-w-lg md:max-w-xl lg:max-w-2xl" },
2009
+ { side: "right", size: "lg", class: "sm:max-w-lg md:max-w-xl lg:max-w-2xl" },
2010
+ { side: "left", size: "xl", class: "sm:max-w-xl md:max-w-3xl lg:max-w-4xl" },
2011
+ { side: "right", size: "xl", class: "sm:max-w-xl md:max-w-3xl lg:max-w-4xl" },
2012
+ { side: "left", size: "2xl", class: "sm:max-w-2xl md:max-w-4xl lg:max-w-5xl xl:max-w-6xl" },
2013
+ { side: "right", size: "2xl", class: "sm:max-w-2xl md:max-w-4xl lg:max-w-5xl xl:max-w-6xl" },
2014
+ { side: "left", size: "full", class: "max-w-[calc(100vw-2rem)]" },
2015
+ { side: "right", size: "full", class: "max-w-[calc(100vw-2rem)]" }
2016
+ ],
2238
2017
  defaultVariants: {
2239
- side: "right"
2018
+ side: "right",
2019
+ size: "default"
2240
2020
  }
2241
2021
  }
2242
2022
  );
@@ -2244,22 +2024,23 @@ function SheetContent({
2244
2024
  className,
2245
2025
  children,
2246
2026
  side = "right",
2027
+ size = "default",
2247
2028
  showCloseButton = true,
2248
2029
  ...props
2249
2030
  }) {
2250
- return /* @__PURE__ */ jsxs13(SheetPortal, { children: [
2251
- /* @__PURE__ */ jsx29(SheetOverlay, {}),
2252
- /* @__PURE__ */ jsxs13(
2031
+ return /* @__PURE__ */ jsxs12(SheetPortal, { children: [
2032
+ /* @__PURE__ */ jsx27(SheetOverlay, {}),
2033
+ /* @__PURE__ */ jsxs12(
2253
2034
  SheetPrimitive.Content,
2254
2035
  {
2255
2036
  "data-slot": "sheet-content",
2256
- className: cn(sheetContentVariants({ side }), className),
2037
+ className: cn(sheetContentVariants({ side, size }), className),
2257
2038
  ...props,
2258
2039
  children: [
2259
2040
  children,
2260
- showCloseButton ? /* @__PURE__ */ jsxs13(SheetPrimitive.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 transition-[opacity,background-color] hover:bg-ghost-fill-hover hover:opacity-100 focus:ring-2 focus:ring-foreground/10 focus:outline-hidden disabled:pointer-events-none", children: [
2261
- /* @__PURE__ */ jsx29(XIcon, { className: "size-4" }),
2262
- /* @__PURE__ */ jsx29("span", { className: "sr-only", children: "Close" })
2041
+ showCloseButton ? /* @__PURE__ */ jsxs12(SheetPrimitive.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 transition-[opacity,background-color] hover:bg-ghost-fill-hover hover:opacity-100 focus:ring-2 focus:ring-foreground/10 focus:outline-hidden disabled:pointer-events-none", children: [
2042
+ /* @__PURE__ */ jsx27(XIcon, { className: "size-4" }),
2043
+ /* @__PURE__ */ jsx27("span", { className: "sr-only", children: "Close" })
2263
2044
  ] }) : null
2264
2045
  ]
2265
2046
  }
@@ -2267,7 +2048,7 @@ function SheetContent({
2267
2048
  ] });
2268
2049
  }
2269
2050
  function SheetHeader({ className, ...props }) {
2270
- return /* @__PURE__ */ jsx29(
2051
+ return /* @__PURE__ */ jsx27(
2271
2052
  "div",
2272
2053
  {
2273
2054
  "data-slot": "sheet-header",
@@ -2277,7 +2058,7 @@ function SheetHeader({ className, ...props }) {
2277
2058
  );
2278
2059
  }
2279
2060
  function SheetFooter({ className, ...props }) {
2280
- return /* @__PURE__ */ jsx29(
2061
+ return /* @__PURE__ */ jsx27(
2281
2062
  "div",
2282
2063
  {
2283
2064
  "data-slot": "sheet-footer",
@@ -2290,7 +2071,7 @@ function SheetTitle({
2290
2071
  className,
2291
2072
  ...props
2292
2073
  }) {
2293
- return /* @__PURE__ */ jsx29(
2074
+ return /* @__PURE__ */ jsx27(
2294
2075
  SheetPrimitive.Title,
2295
2076
  {
2296
2077
  "data-slot": "sheet-title",
@@ -2303,7 +2084,7 @@ function SheetDescription({
2303
2084
  className,
2304
2085
  ...props
2305
2086
  }) {
2306
- return /* @__PURE__ */ jsx29(
2087
+ return /* @__PURE__ */ jsx27(
2307
2088
  SheetPrimitive.Description,
2308
2089
  {
2309
2090
  "data-slot": "sheet-description",
@@ -2315,27 +2096,27 @@ function SheetDescription({
2315
2096
 
2316
2097
  // src/ui/alert-dialog.tsx
2317
2098
  import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
2318
- import { jsx as jsx30, jsxs as jsxs14 } from "react/jsx-runtime";
2099
+ import { jsx as jsx28, jsxs as jsxs13 } from "react/jsx-runtime";
2319
2100
  function AlertDialog({
2320
2101
  ...props
2321
2102
  }) {
2322
- return /* @__PURE__ */ jsx30(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
2103
+ return /* @__PURE__ */ jsx28(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
2323
2104
  }
2324
2105
  function AlertDialogTrigger({
2325
2106
  ...props
2326
2107
  }) {
2327
- return /* @__PURE__ */ jsx30(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
2108
+ return /* @__PURE__ */ jsx28(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
2328
2109
  }
2329
2110
  function AlertDialogPortal({
2330
2111
  ...props
2331
2112
  }) {
2332
- return /* @__PURE__ */ jsx30(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
2113
+ return /* @__PURE__ */ jsx28(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
2333
2114
  }
2334
2115
  function AlertDialogOverlay({
2335
2116
  className,
2336
2117
  ...props
2337
2118
  }) {
2338
- return /* @__PURE__ */ jsx30(
2119
+ return /* @__PURE__ */ jsx28(
2339
2120
  AlertDialogPrimitive.Overlay,
2340
2121
  {
2341
2122
  "data-slot": "alert-dialog-overlay",
@@ -2351,9 +2132,9 @@ function AlertDialogContent({
2351
2132
  className,
2352
2133
  ...props
2353
2134
  }) {
2354
- return /* @__PURE__ */ jsxs14(AlertDialogPortal, { children: [
2355
- /* @__PURE__ */ jsx30(AlertDialogOverlay, {}),
2356
- /* @__PURE__ */ jsx30(
2135
+ return /* @__PURE__ */ jsxs13(AlertDialogPortal, { children: [
2136
+ /* @__PURE__ */ jsx28(AlertDialogOverlay, {}),
2137
+ /* @__PURE__ */ jsx28(
2357
2138
  AlertDialogPrimitive.Content,
2358
2139
  {
2359
2140
  "data-slot": "alert-dialog-content",
@@ -2368,7 +2149,7 @@ function AlertDialogContent({
2368
2149
  ] });
2369
2150
  }
2370
2151
  function AlertDialogHeader({ className, ...props }) {
2371
- return /* @__PURE__ */ jsx30(
2152
+ return /* @__PURE__ */ jsx28(
2372
2153
  "div",
2373
2154
  {
2374
2155
  "data-slot": "alert-dialog-header",
@@ -2378,7 +2159,7 @@ function AlertDialogHeader({ className, ...props }) {
2378
2159
  );
2379
2160
  }
2380
2161
  function AlertDialogFooter({ className, ...props }) {
2381
- return /* @__PURE__ */ jsx30(
2162
+ return /* @__PURE__ */ jsx28(
2382
2163
  "div",
2383
2164
  {
2384
2165
  "data-slot": "alert-dialog-footer",
@@ -2394,7 +2175,7 @@ function AlertDialogTitle({
2394
2175
  className,
2395
2176
  ...props
2396
2177
  }) {
2397
- return /* @__PURE__ */ jsx30(
2178
+ return /* @__PURE__ */ jsx28(
2398
2179
  AlertDialogPrimitive.Title,
2399
2180
  {
2400
2181
  "data-slot": "alert-dialog-title",
@@ -2407,7 +2188,7 @@ function AlertDialogDescription({
2407
2188
  className,
2408
2189
  ...props
2409
2190
  }) {
2410
- return /* @__PURE__ */ jsx30(
2191
+ return /* @__PURE__ */ jsx28(
2411
2192
  AlertDialogPrimitive.Description,
2412
2193
  {
2413
2194
  "data-slot": "alert-dialog-description",
@@ -2420,7 +2201,7 @@ function AlertDialogAction({
2420
2201
  className,
2421
2202
  ...props
2422
2203
  }) {
2423
- return /* @__PURE__ */ jsx30(Button, { asChild: true, children: /* @__PURE__ */ jsx30(
2204
+ return /* @__PURE__ */ jsx28(Button, { asChild: true, children: /* @__PURE__ */ jsx28(
2424
2205
  AlertDialogPrimitive.Action,
2425
2206
  {
2426
2207
  "data-slot": "alert-dialog-action",
@@ -2433,7 +2214,7 @@ function AlertDialogCancel({
2433
2214
  className,
2434
2215
  ...props
2435
2216
  }) {
2436
- return /* @__PURE__ */ jsx30(Button, { asChild: true, variant: "outline", children: /* @__PURE__ */ jsx30(
2217
+ return /* @__PURE__ */ jsx28(Button, { asChild: true, variant: "outline", children: /* @__PURE__ */ jsx28(
2437
2218
  AlertDialogPrimitive.Cancel,
2438
2219
  {
2439
2220
  "data-slot": "alert-dialog-cancel",
@@ -2445,22 +2226,22 @@ function AlertDialogCancel({
2445
2226
 
2446
2227
  // src/ui/collapsible.tsx
2447
2228
  import { Collapsible as CollapsiblePrimitive } from "radix-ui";
2448
- import { jsx as jsx31 } from "react/jsx-runtime";
2229
+ import { jsx as jsx29 } from "react/jsx-runtime";
2449
2230
  function Collapsible({
2450
2231
  ...props
2451
2232
  }) {
2452
- return /* @__PURE__ */ jsx31(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
2233
+ return /* @__PURE__ */ jsx29(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
2453
2234
  }
2454
2235
  function CollapsibleTrigger({
2455
2236
  ...props
2456
2237
  }) {
2457
- return /* @__PURE__ */ jsx31(CollapsiblePrimitive.Trigger, { "data-slot": "collapsible-trigger", ...props });
2238
+ return /* @__PURE__ */ jsx29(CollapsiblePrimitive.Trigger, { "data-slot": "collapsible-trigger", ...props });
2458
2239
  }
2459
2240
  function CollapsibleContent({
2460
2241
  className,
2461
2242
  ...props
2462
2243
  }) {
2463
- return /* @__PURE__ */ jsx31(
2244
+ return /* @__PURE__ */ jsx29(
2464
2245
  CollapsiblePrimitive.Content,
2465
2246
  {
2466
2247
  "data-slot": "collapsible-content",
@@ -2475,20 +2256,20 @@ function CollapsibleContent({
2475
2256
 
2476
2257
  // src/ui/scroll-area.tsx
2477
2258
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
2478
- import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
2259
+ import { jsx as jsx30, jsxs as jsxs14 } from "react/jsx-runtime";
2479
2260
  function ScrollArea({
2480
2261
  className,
2481
2262
  children,
2482
2263
  ...props
2483
2264
  }) {
2484
- return /* @__PURE__ */ jsxs15(
2265
+ return /* @__PURE__ */ jsxs14(
2485
2266
  ScrollAreaPrimitive.Root,
2486
2267
  {
2487
2268
  "data-slot": "scroll-area",
2488
2269
  className: cn("relative overflow-hidden", className),
2489
2270
  ...props,
2490
2271
  children: [
2491
- /* @__PURE__ */ jsx32(
2272
+ /* @__PURE__ */ jsx30(
2492
2273
  ScrollAreaPrimitive.Viewport,
2493
2274
  {
2494
2275
  "data-slot": "scroll-area-viewport",
@@ -2496,8 +2277,8 @@ function ScrollArea({
2496
2277
  children
2497
2278
  }
2498
2279
  ),
2499
- /* @__PURE__ */ jsx32(ScrollBar, {}),
2500
- /* @__PURE__ */ jsx32(ScrollAreaPrimitive.Corner, {})
2280
+ /* @__PURE__ */ jsx30(ScrollBar, {}),
2281
+ /* @__PURE__ */ jsx30(ScrollAreaPrimitive.Corner, {})
2501
2282
  ]
2502
2283
  }
2503
2284
  );
@@ -2507,7 +2288,7 @@ function ScrollBar({
2507
2288
  orientation = "vertical",
2508
2289
  ...props
2509
2290
  }) {
2510
- return /* @__PURE__ */ jsx32(
2291
+ return /* @__PURE__ */ jsx30(
2511
2292
  ScrollAreaPrimitive.ScrollAreaScrollbar,
2512
2293
  {
2513
2294
  "data-slot": "scroll-area-scrollbar",
@@ -2519,7 +2300,7 @@ function ScrollBar({
2519
2300
  className
2520
2301
  ),
2521
2302
  ...props,
2522
- children: /* @__PURE__ */ jsx32(
2303
+ children: /* @__PURE__ */ jsx30(
2523
2304
  ScrollAreaPrimitive.ScrollAreaThumb,
2524
2305
  {
2525
2306
  "data-slot": "scroll-area-thumb",
@@ -2533,7 +2314,7 @@ function ScrollBar({
2533
2314
  // src/ui/toggle.tsx
2534
2315
  import { Toggle as TogglePrimitive } from "radix-ui";
2535
2316
  import { cva as cva4 } from "class-variance-authority";
2536
- import { jsx as jsx33 } from "react/jsx-runtime";
2317
+ import { jsx as jsx31 } from "react/jsx-runtime";
2537
2318
  var toggleVariants = cva4(
2538
2319
  "inline-flex items-center justify-center gap-2 rounded-lg text-sm font-medium whitespace-nowrap outline-none transition-[color,box-shadow,background-color,border-color] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",
2539
2320
  {
@@ -2570,7 +2351,7 @@ function Toggle({
2570
2351
  size,
2571
2352
  ...props
2572
2353
  }) {
2573
- return /* @__PURE__ */ jsx33(
2354
+ return /* @__PURE__ */ jsx31(
2574
2355
  TogglePrimitive.Root,
2575
2356
  {
2576
2357
  "data-slot": "toggle",
@@ -2582,12 +2363,12 @@ function Toggle({
2582
2363
 
2583
2364
  // src/ui/toggle-group.tsx
2584
2365
  import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
2585
- import { jsx as jsx34 } from "react/jsx-runtime";
2366
+ import { jsx as jsx32 } from "react/jsx-runtime";
2586
2367
  function ToggleGroup({
2587
2368
  className,
2588
2369
  ...props
2589
2370
  }) {
2590
- return /* @__PURE__ */ jsx34(
2371
+ return /* @__PURE__ */ jsx32(
2591
2372
  ToggleGroupPrimitive.Root,
2592
2373
  {
2593
2374
  "data-slot": "toggle-group",
@@ -2600,7 +2381,7 @@ function ToggleGroupItem({
2600
2381
  className,
2601
2382
  ...props
2602
2383
  }) {
2603
- return /* @__PURE__ */ jsx34(
2384
+ return /* @__PURE__ */ jsx32(
2604
2385
  ToggleGroupPrimitive.Item,
2605
2386
  {
2606
2387
  "data-slot": "toggle-group-item",
@@ -2612,16 +2393,16 @@ function ToggleGroupItem({
2612
2393
 
2613
2394
  // src/ui/hover-card.tsx
2614
2395
  import { HoverCard as HoverCardPrimitive } from "radix-ui";
2615
- import { jsx as jsx35 } from "react/jsx-runtime";
2396
+ import { jsx as jsx33 } from "react/jsx-runtime";
2616
2397
  function HoverCard({
2617
2398
  ...props
2618
2399
  }) {
2619
- return /* @__PURE__ */ jsx35(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
2400
+ return /* @__PURE__ */ jsx33(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
2620
2401
  }
2621
2402
  function HoverCardTrigger({
2622
2403
  ...props
2623
2404
  }) {
2624
- return /* @__PURE__ */ jsx35(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
2405
+ return /* @__PURE__ */ jsx33(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
2625
2406
  }
2626
2407
  function HoverCardContent({
2627
2408
  className,
@@ -2629,7 +2410,7 @@ function HoverCardContent({
2629
2410
  sideOffset = 4,
2630
2411
  ...props
2631
2412
  }) {
2632
- return /* @__PURE__ */ jsx35(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx35(
2413
+ return /* @__PURE__ */ jsx33(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx33(
2633
2414
  HoverCardPrimitive.Content,
2634
2415
  {
2635
2416
  "data-slot": "hover-card-content",
@@ -2647,28 +2428,28 @@ function HoverCardContent({
2647
2428
 
2648
2429
  // src/ui/context-menu.tsx
2649
2430
  import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
2650
- import { CheckIcon as CheckIcon4, ChevronRightIcon as ChevronRightIcon6, CircleIcon as CircleIcon4 } from "lucide-react";
2651
- import { jsx as jsx36, jsxs as jsxs16 } from "react/jsx-runtime";
2431
+ import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon5, CircleIcon as CircleIcon3 } from "lucide-react";
2432
+ import { jsx as jsx34, jsxs as jsxs15 } from "react/jsx-runtime";
2652
2433
  function ContextMenu({
2653
2434
  ...props
2654
2435
  }) {
2655
- return /* @__PURE__ */ jsx36(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
2436
+ return /* @__PURE__ */ jsx34(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
2656
2437
  }
2657
2438
  function ContextMenuTrigger({
2658
2439
  ...props
2659
2440
  }) {
2660
- return /* @__PURE__ */ jsx36(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
2441
+ return /* @__PURE__ */ jsx34(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
2661
2442
  }
2662
2443
  function ContextMenuGroup({
2663
2444
  ...props
2664
2445
  }) {
2665
- return /* @__PURE__ */ jsx36(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
2446
+ return /* @__PURE__ */ jsx34(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
2666
2447
  }
2667
2448
  function ContextMenuContent({
2668
2449
  className,
2669
2450
  ...props
2670
2451
  }) {
2671
- return /* @__PURE__ */ jsx36(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx36(
2452
+ return /* @__PURE__ */ jsx34(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx34(
2672
2453
  ContextMenuPrimitive.Content,
2673
2454
  {
2674
2455
  "data-slot": "context-menu-content",
@@ -2687,7 +2468,7 @@ function ContextMenuItem({
2687
2468
  variant = "default",
2688
2469
  ...props
2689
2470
  }) {
2690
- return /* @__PURE__ */ jsx36(
2471
+ return /* @__PURE__ */ jsx34(
2691
2472
  ContextMenuPrimitive.Item,
2692
2473
  {
2693
2474
  "data-slot": "context-menu-item",
@@ -2708,7 +2489,7 @@ function ContextMenuCheckboxItem({
2708
2489
  checked,
2709
2490
  ...props
2710
2491
  }) {
2711
- return /* @__PURE__ */ jsxs16(
2492
+ return /* @__PURE__ */ jsxs15(
2712
2493
  ContextMenuPrimitive.CheckboxItem,
2713
2494
  {
2714
2495
  "data-slot": "context-menu-checkbox-item",
@@ -2716,7 +2497,7 @@ function ContextMenuCheckboxItem({
2716
2497
  checked,
2717
2498
  ...props,
2718
2499
  children: [
2719
- /* @__PURE__ */ jsx36("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx36(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx36(CheckIcon4, { className: "size-4" }) }) }),
2500
+ /* @__PURE__ */ jsx34("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(CheckIcon3, { className: "size-4" }) }) }),
2720
2501
  children
2721
2502
  ]
2722
2503
  }
@@ -2725,7 +2506,7 @@ function ContextMenuCheckboxItem({
2725
2506
  function ContextMenuRadioGroup({
2726
2507
  ...props
2727
2508
  }) {
2728
- return /* @__PURE__ */ jsx36(
2509
+ return /* @__PURE__ */ jsx34(
2729
2510
  ContextMenuPrimitive.RadioGroup,
2730
2511
  {
2731
2512
  "data-slot": "context-menu-radio-group",
@@ -2738,14 +2519,14 @@ function ContextMenuRadioItem({
2738
2519
  children,
2739
2520
  ...props
2740
2521
  }) {
2741
- return /* @__PURE__ */ jsxs16(
2522
+ return /* @__PURE__ */ jsxs15(
2742
2523
  ContextMenuPrimitive.RadioItem,
2743
2524
  {
2744
2525
  "data-slot": "context-menu-radio-item",
2745
2526
  className: cn(overlayItemClass, "py-1.5 pr-2 pl-8", className),
2746
2527
  ...props,
2747
2528
  children: [
2748
- /* @__PURE__ */ jsx36("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx36(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx36(CircleIcon4, { className: "size-2 fill-current" }) }) }),
2529
+ /* @__PURE__ */ jsx34("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(CircleIcon3, { className: "size-2 fill-current" }) }) }),
2749
2530
  children
2750
2531
  ]
2751
2532
  }
@@ -2756,7 +2537,7 @@ function ContextMenuLabel({
2756
2537
  inset,
2757
2538
  ...props
2758
2539
  }) {
2759
- return /* @__PURE__ */ jsx36(
2540
+ return /* @__PURE__ */ jsx34(
2760
2541
  ContextMenuPrimitive.Label,
2761
2542
  {
2762
2543
  "data-slot": "context-menu-label",
@@ -2773,7 +2554,7 @@ function ContextMenuSeparator({
2773
2554
  className,
2774
2555
  ...props
2775
2556
  }) {
2776
- return /* @__PURE__ */ jsx36(
2557
+ return /* @__PURE__ */ jsx34(
2777
2558
  ContextMenuPrimitive.Separator,
2778
2559
  {
2779
2560
  "data-slot": "context-menu-separator",
@@ -2786,7 +2567,7 @@ function ContextMenuShortcut({
2786
2567
  className,
2787
2568
  ...props
2788
2569
  }) {
2789
- return /* @__PURE__ */ jsx36(
2570
+ return /* @__PURE__ */ jsx34(
2790
2571
  "span",
2791
2572
  {
2792
2573
  "data-slot": "context-menu-shortcut",
@@ -2801,7 +2582,7 @@ function ContextMenuShortcut({
2801
2582
  function ContextMenuSub({
2802
2583
  ...props
2803
2584
  }) {
2804
- return /* @__PURE__ */ jsx36(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
2585
+ return /* @__PURE__ */ jsx34(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
2805
2586
  }
2806
2587
  function ContextMenuSubTrigger({
2807
2588
  className,
@@ -2809,7 +2590,7 @@ function ContextMenuSubTrigger({
2809
2590
  children,
2810
2591
  ...props
2811
2592
  }) {
2812
- return /* @__PURE__ */ jsxs16(
2593
+ return /* @__PURE__ */ jsxs15(
2813
2594
  ContextMenuPrimitive.SubTrigger,
2814
2595
  {
2815
2596
  "data-slot": "context-menu-sub-trigger",
@@ -2822,7 +2603,7 @@ function ContextMenuSubTrigger({
2822
2603
  ...props,
2823
2604
  children: [
2824
2605
  children,
2825
- /* @__PURE__ */ jsx36(ChevronRightIcon6, { className: "ml-auto size-4" })
2606
+ /* @__PURE__ */ jsx34(ChevronRightIcon5, { className: "ml-auto size-4" })
2826
2607
  ]
2827
2608
  }
2828
2609
  );
@@ -2831,7 +2612,7 @@ function ContextMenuSubContent({
2831
2612
  className,
2832
2613
  ...props
2833
2614
  }) {
2834
- return /* @__PURE__ */ jsx36(
2615
+ return /* @__PURE__ */ jsx34(
2835
2616
  ContextMenuPrimitive.SubContent,
2836
2617
  {
2837
2618
  "data-slot": "context-menu-sub-content",
@@ -2847,7 +2628,7 @@ function ContextMenuSubContent({
2847
2628
 
2848
2629
  // src/ui/alert.tsx
2849
2630
  import { cva as cva5 } from "class-variance-authority";
2850
- import { jsx as jsx37 } from "react/jsx-runtime";
2631
+ import { jsx as jsx35 } from "react/jsx-runtime";
2851
2632
  var alertVariants = cva5(
2852
2633
  "relative grid w-full gap-1 rounded-xl border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-3.5 [&>svg]:left-4 [&>svg]:size-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11",
2853
2634
  {
@@ -2867,7 +2648,7 @@ function Alert({
2867
2648
  variant,
2868
2649
  ...props
2869
2650
  }) {
2870
- return /* @__PURE__ */ jsx37(
2651
+ return /* @__PURE__ */ jsx35(
2871
2652
  "div",
2872
2653
  {
2873
2654
  "data-slot": "alert",
@@ -2878,7 +2659,7 @@ function Alert({
2878
2659
  );
2879
2660
  }
2880
2661
  function AlertTitle({ className, ...props }) {
2881
- return /* @__PURE__ */ jsx37(
2662
+ return /* @__PURE__ */ jsx35(
2882
2663
  "div",
2883
2664
  {
2884
2665
  "data-slot": "alert-title",
@@ -2888,7 +2669,7 @@ function AlertTitle({ className, ...props }) {
2888
2669
  );
2889
2670
  }
2890
2671
  function AlertDescription({ className, ...props }) {
2891
- return /* @__PURE__ */ jsx37(
2672
+ return /* @__PURE__ */ jsx35(
2892
2673
  "div",
2893
2674
  {
2894
2675
  "data-slot": "alert-description",
@@ -2899,9 +2680,9 @@ function AlertDescription({ className, ...props }) {
2899
2680
  }
2900
2681
 
2901
2682
  // src/ui/card.tsx
2902
- import { jsx as jsx38 } from "react/jsx-runtime";
2683
+ import { jsx as jsx36 } from "react/jsx-runtime";
2903
2684
  function Card({ className, ...props }) {
2904
- return /* @__PURE__ */ jsx38(
2685
+ return /* @__PURE__ */ jsx36(
2905
2686
  "div",
2906
2687
  {
2907
2688
  "data-slot": "card",
@@ -2915,7 +2696,7 @@ function Card({ className, ...props }) {
2915
2696
  );
2916
2697
  }
2917
2698
  function CardHeader({ className, ...props }) {
2918
- return /* @__PURE__ */ jsx38(
2699
+ return /* @__PURE__ */ jsx36(
2919
2700
  "div",
2920
2701
  {
2921
2702
  "data-slot": "card-header",
@@ -2925,7 +2706,7 @@ function CardHeader({ className, ...props }) {
2925
2706
  );
2926
2707
  }
2927
2708
  function CardTitle({ className, ...props }) {
2928
- return /* @__PURE__ */ jsx38(
2709
+ return /* @__PURE__ */ jsx36(
2929
2710
  "div",
2930
2711
  {
2931
2712
  "data-slot": "card-title",
@@ -2935,7 +2716,7 @@ function CardTitle({ className, ...props }) {
2935
2716
  );
2936
2717
  }
2937
2718
  function CardDescription({ className, ...props }) {
2938
- return /* @__PURE__ */ jsx38(
2719
+ return /* @__PURE__ */ jsx36(
2939
2720
  "div",
2940
2721
  {
2941
2722
  "data-slot": "card-description",
@@ -2945,10 +2726,10 @@ function CardDescription({ className, ...props }) {
2945
2726
  );
2946
2727
  }
2947
2728
  function CardContent({ className, ...props }) {
2948
- return /* @__PURE__ */ jsx38("div", { "data-slot": "card-content", className: cn("px-4", className), ...props });
2729
+ return /* @__PURE__ */ jsx36("div", { "data-slot": "card-content", className: cn("px-4", className), ...props });
2949
2730
  }
2950
2731
  function CardFooter({ className, ...props }) {
2951
- return /* @__PURE__ */ jsx38(
2732
+ return /* @__PURE__ */ jsx36(
2952
2733
  "div",
2953
2734
  {
2954
2735
  "data-slot": "card-footer",
@@ -2959,9 +2740,9 @@ function CardFooter({ className, ...props }) {
2959
2740
  }
2960
2741
 
2961
2742
  // src/ui/table.tsx
2962
- import { jsx as jsx39 } from "react/jsx-runtime";
2743
+ import { jsx as jsx37 } from "react/jsx-runtime";
2963
2744
  function Table({ className, ...props }) {
2964
- return /* @__PURE__ */ jsx39("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ jsx39(
2745
+ return /* @__PURE__ */ jsx37("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ jsx37(
2965
2746
  "table",
2966
2747
  {
2967
2748
  "data-slot": "table",
@@ -2971,7 +2752,7 @@ function Table({ className, ...props }) {
2971
2752
  ) });
2972
2753
  }
2973
2754
  function TableHeader({ className, ...props }) {
2974
- return /* @__PURE__ */ jsx39(
2755
+ return /* @__PURE__ */ jsx37(
2975
2756
  "thead",
2976
2757
  {
2977
2758
  "data-slot": "table-header",
@@ -2981,7 +2762,7 @@ function TableHeader({ className, ...props }) {
2981
2762
  );
2982
2763
  }
2983
2764
  function TableBody({ className, ...props }) {
2984
- return /* @__PURE__ */ jsx39(
2765
+ return /* @__PURE__ */ jsx37(
2985
2766
  "tbody",
2986
2767
  {
2987
2768
  "data-slot": "table-body",
@@ -2991,7 +2772,7 @@ function TableBody({ className, ...props }) {
2991
2772
  );
2992
2773
  }
2993
2774
  function TableFooter({ className, ...props }) {
2994
- return /* @__PURE__ */ jsx39(
2775
+ return /* @__PURE__ */ jsx37(
2995
2776
  "tfoot",
2996
2777
  {
2997
2778
  "data-slot": "table-footer",
@@ -3004,7 +2785,7 @@ function TableFooter({ className, ...props }) {
3004
2785
  );
3005
2786
  }
3006
2787
  function TableRow({ className, ...props }) {
3007
- return /* @__PURE__ */ jsx39(
2788
+ return /* @__PURE__ */ jsx37(
3008
2789
  "tr",
3009
2790
  {
3010
2791
  "data-slot": "table-row",
@@ -3017,7 +2798,7 @@ function TableRow({ className, ...props }) {
3017
2798
  );
3018
2799
  }
3019
2800
  function TableHead({ className, ...props }) {
3020
- return /* @__PURE__ */ jsx39(
2801
+ return /* @__PURE__ */ jsx37(
3021
2802
  "th",
3022
2803
  {
3023
2804
  "data-slot": "table-head",
@@ -3030,7 +2811,7 @@ function TableHead({ className, ...props }) {
3030
2811
  );
3031
2812
  }
3032
2813
  function TableCell({ className, ...props }) {
3033
- return /* @__PURE__ */ jsx39(
2814
+ return /* @__PURE__ */ jsx37(
3034
2815
  "td",
3035
2816
  {
3036
2817
  "data-slot": "table-cell",
@@ -3043,7 +2824,7 @@ function TableCell({ className, ...props }) {
3043
2824
  );
3044
2825
  }
3045
2826
  function TableCaption({ className, ...props }) {
3046
- return /* @__PURE__ */ jsx39(
2827
+ return /* @__PURE__ */ jsx37(
3047
2828
  "caption",
3048
2829
  {
3049
2830
  "data-slot": "table-caption",
@@ -3056,17 +2837,17 @@ function TableCaption({ className, ...props }) {
3056
2837
  // src/ui/toast.tsx
3057
2838
  import { Toast as ToastPrimitive } from "radix-ui";
3058
2839
  import { XIcon as XIcon2 } from "lucide-react";
3059
- import { jsx as jsx40 } from "react/jsx-runtime";
2840
+ import { jsx as jsx38 } from "react/jsx-runtime";
3060
2841
  function ToastProvider({
3061
2842
  ...props
3062
2843
  }) {
3063
- return /* @__PURE__ */ jsx40(ToastPrimitive.Provider, { "data-slot": "toast-provider", ...props });
2844
+ return /* @__PURE__ */ jsx38(ToastPrimitive.Provider, { "data-slot": "toast-provider", ...props });
3064
2845
  }
3065
2846
  function ToastViewport({
3066
2847
  className,
3067
2848
  ...props
3068
2849
  }) {
3069
- return /* @__PURE__ */ jsx40(
2850
+ return /* @__PURE__ */ jsx38(
3070
2851
  ToastPrimitive.Viewport,
3071
2852
  {
3072
2853
  "data-slot": "toast-viewport",
@@ -3083,7 +2864,7 @@ function Toast({
3083
2864
  variant = "default",
3084
2865
  ...props
3085
2866
  }) {
3086
- return /* @__PURE__ */ jsx40(
2867
+ return /* @__PURE__ */ jsx38(
3087
2868
  ToastPrimitive.Root,
3088
2869
  {
3089
2870
  "data-slot": "toast",
@@ -3102,7 +2883,7 @@ function ToastAction({
3102
2883
  className,
3103
2884
  ...props
3104
2885
  }) {
3105
- return /* @__PURE__ */ jsx40(
2886
+ return /* @__PURE__ */ jsx38(
3106
2887
  ToastPrimitive.Action,
3107
2888
  {
3108
2889
  "data-slot": "toast-action",
@@ -3118,7 +2899,7 @@ function ToastClose({
3118
2899
  className,
3119
2900
  ...props
3120
2901
  }) {
3121
- return /* @__PURE__ */ jsx40(
2902
+ return /* @__PURE__ */ jsx38(
3122
2903
  ToastPrimitive.Close,
3123
2904
  {
3124
2905
  "data-slot": "toast-close",
@@ -3128,7 +2909,7 @@ function ToastClose({
3128
2909
  ),
3129
2910
  "toast-close": "",
3130
2911
  ...props,
3131
- children: /* @__PURE__ */ jsx40(XIcon2, { className: "size-4" })
2912
+ children: /* @__PURE__ */ jsx38(XIcon2, { className: "size-4" })
3132
2913
  }
3133
2914
  );
3134
2915
  }
@@ -3136,7 +2917,7 @@ function ToastTitle({
3136
2917
  className,
3137
2918
  ...props
3138
2919
  }) {
3139
- return /* @__PURE__ */ jsx40(
2920
+ return /* @__PURE__ */ jsx38(
3140
2921
  ToastPrimitive.Title,
3141
2922
  {
3142
2923
  "data-slot": "toast-title",
@@ -3149,7 +2930,7 @@ function ToastDescription({
3149
2930
  className,
3150
2931
  ...props
3151
2932
  }) {
3152
- return /* @__PURE__ */ jsx40(
2933
+ return /* @__PURE__ */ jsx38(
3153
2934
  ToastPrimitive.Description,
3154
2935
  {
3155
2936
  "data-slot": "toast-description",
@@ -3228,32 +3009,32 @@ function useToast() {
3228
3009
  }
3229
3010
 
3230
3011
  // src/ui/toaster.tsx
3231
- import { jsx as jsx41, jsxs as jsxs17 } from "react/jsx-runtime";
3012
+ import { jsx as jsx39, jsxs as jsxs16 } from "react/jsx-runtime";
3232
3013
  function Toaster() {
3233
3014
  const { toasts, dismiss } = useToast();
3234
- return /* @__PURE__ */ jsxs17(ToastProvider, { children: [
3235
- toasts.map(({ id, title, description, variant }) => /* @__PURE__ */ jsxs17(
3015
+ return /* @__PURE__ */ jsxs16(ToastProvider, { children: [
3016
+ toasts.map(({ id, title, description, variant }) => /* @__PURE__ */ jsxs16(
3236
3017
  Toast,
3237
3018
  {
3238
3019
  variant,
3239
3020
  onOpenChange: (open) => !open && dismiss(id),
3240
3021
  children: [
3241
- /* @__PURE__ */ jsxs17("div", { className: "grid gap-1", children: [
3242
- title ? /* @__PURE__ */ jsx41(ToastTitle, { children: title }) : null,
3243
- description ? /* @__PURE__ */ jsx41(ToastDescription, { children: description }) : null
3022
+ /* @__PURE__ */ jsxs16("div", { className: "grid gap-1", children: [
3023
+ title ? /* @__PURE__ */ jsx39(ToastTitle, { children: title }) : null,
3024
+ description ? /* @__PURE__ */ jsx39(ToastDescription, { children: description }) : null
3244
3025
  ] }),
3245
- /* @__PURE__ */ jsx41(ToastClose, {})
3026
+ /* @__PURE__ */ jsx39(ToastClose, {})
3246
3027
  ]
3247
3028
  },
3248
3029
  id
3249
3030
  )),
3250
- /* @__PURE__ */ jsx41(ToastViewport, {})
3031
+ /* @__PURE__ */ jsx39(ToastViewport, {})
3251
3032
  ] });
3252
3033
  }
3253
3034
 
3254
3035
  // src/ui/avatar-group.tsx
3255
3036
  import * as React4 from "react";
3256
- import { jsxs as jsxs18 } from "react/jsx-runtime";
3037
+ import { jsxs as jsxs17 } from "react/jsx-runtime";
3257
3038
  var spacingClass = {
3258
3039
  sm: "-space-x-2",
3259
3040
  md: "-space-x-3"
@@ -3268,7 +3049,7 @@ function AvatarGroup({
3268
3049
  const items = React4.Children.toArray(children);
3269
3050
  const overflow = typeof max === "number" ? items.length - max : 0;
3270
3051
  const visible = typeof max === "number" ? items.slice(0, max) : items;
3271
- return /* @__PURE__ */ jsxs18(
3052
+ return /* @__PURE__ */ jsxs17(
3272
3053
  "div",
3273
3054
  {
3274
3055
  "data-slot": "avatar-group",
@@ -3281,7 +3062,7 @@ function AvatarGroup({
3281
3062
  ...props,
3282
3063
  children: [
3283
3064
  visible,
3284
- overflow > 0 ? /* @__PURE__ */ jsxs18(
3065
+ overflow > 0 ? /* @__PURE__ */ jsxs17(
3285
3066
  "span",
3286
3067
  {
3287
3068
  "aria-label": `${overflow} more`,
@@ -3298,8 +3079,8 @@ function AvatarGroup({
3298
3079
  }
3299
3080
 
3300
3081
  // src/ui/stepper.tsx
3301
- import { CheckIcon as CheckIcon5 } from "lucide-react";
3302
- import { jsx as jsx42, jsxs as jsxs19 } from "react/jsx-runtime";
3082
+ import { CheckIcon as CheckIcon4 } from "lucide-react";
3083
+ import { jsx as jsx40, jsxs as jsxs18 } from "react/jsx-runtime";
3303
3084
  function Stepper({
3304
3085
  steps,
3305
3086
  current,
@@ -3308,7 +3089,7 @@ function Stepper({
3308
3089
  ...props
3309
3090
  }) {
3310
3091
  const isVertical = orientation === "vertical";
3311
- return /* @__PURE__ */ jsx42(
3092
+ return /* @__PURE__ */ jsx40(
3312
3093
  "ol",
3313
3094
  {
3314
3095
  "data-slot": "stepper",
@@ -3323,7 +3104,7 @@ function Stepper({
3323
3104
  const active = index === current;
3324
3105
  const last = index === steps.length - 1;
3325
3106
  const connectorFilled = index < current;
3326
- return /* @__PURE__ */ jsxs19(
3107
+ return /* @__PURE__ */ jsxs18(
3327
3108
  "li",
3328
3109
  {
3329
3110
  "aria-current": active ? "step" : void 0,
@@ -3333,8 +3114,8 @@ function Stepper({
3333
3114
  last && !isVertical && "flex-none"
3334
3115
  ),
3335
3116
  children: [
3336
- /* @__PURE__ */ jsxs19("div", { className: cn("flex items-center gap-2", isVertical && "flex-col"), children: [
3337
- /* @__PURE__ */ jsx42(
3117
+ /* @__PURE__ */ jsxs18("div", { className: cn("flex items-center gap-2", isVertical && "flex-col"), children: [
3118
+ /* @__PURE__ */ jsx40(
3338
3119
  "span",
3339
3120
  {
3340
3121
  className: cn(
@@ -3343,10 +3124,10 @@ function Stepper({
3343
3124
  active && "border-primary text-primary",
3344
3125
  !complete && !active && "border-border text-muted-foreground"
3345
3126
  ),
3346
- children: complete ? /* @__PURE__ */ jsx42(CheckIcon5, { className: "size-3.5", "aria-hidden": true }) : index + 1
3127
+ children: complete ? /* @__PURE__ */ jsx40(CheckIcon4, { className: "size-3.5", "aria-hidden": true }) : index + 1
3347
3128
  }
3348
3129
  ),
3349
- !last ? /* @__PURE__ */ jsx42(
3130
+ !last ? /* @__PURE__ */ jsx40(
3350
3131
  "span",
3351
3132
  {
3352
3133
  "aria-hidden": true,
@@ -3358,8 +3139,8 @@ function Stepper({
3358
3139
  }
3359
3140
  ) : null
3360
3141
  ] }),
3361
- /* @__PURE__ */ jsxs19("div", { className: cn("min-w-0", isVertical && "pb-4"), children: [
3362
- /* @__PURE__ */ jsx42(
3142
+ /* @__PURE__ */ jsxs18("div", { className: cn("min-w-0", isVertical && "pb-4"), children: [
3143
+ /* @__PURE__ */ jsx40(
3363
3144
  "p",
3364
3145
  {
3365
3146
  className: cn(
@@ -3369,7 +3150,7 @@ function Stepper({
3369
3150
  children: step.label
3370
3151
  }
3371
3152
  ),
3372
- step.description ? /* @__PURE__ */ jsx42("p", { className: "truncate text-xs text-muted-foreground", children: step.description }) : null
3153
+ step.description ? /* @__PURE__ */ jsx40("p", { className: "truncate text-xs text-muted-foreground", children: step.description }) : null
3373
3154
  ] })
3374
3155
  ]
3375
3156
  },
@@ -3380,50 +3161,19 @@ function Stepper({
3380
3161
  );
3381
3162
  }
3382
3163
 
3383
- // src/ui/timeline.tsx
3384
- import { jsx as jsx43, jsxs as jsxs20 } from "react/jsx-runtime";
3385
- var dotToneClass = {
3386
- default: "border-border bg-card",
3387
- primary: "border-primary bg-primary",
3388
- success: "border-emerald-500 bg-emerald-500",
3389
- warn: "border-amber-500 bg-amber-500",
3390
- danger: "border-destructive bg-destructive"
3391
- };
3392
- function Timeline({ items, className, ...props }) {
3393
- return /* @__PURE__ */ jsx43("ol", { "data-slot": "timeline", className: cn("flex flex-col", className), ...props, children: items.map((item, index) => {
3394
- const last = index === items.length - 1;
3395
- const tone = item.tone ?? "default";
3396
- return /* @__PURE__ */ jsxs20("li", { className: "relative flex gap-3 pb-5 last:pb-0", children: [
3397
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center", children: [
3398
- /* @__PURE__ */ jsx43(
3399
- "span",
3400
- {
3401
- className: cn(
3402
- "z-[1] mt-0.5 inline-flex size-3 shrink-0 items-center justify-center rounded-full border-2",
3403
- dotToneClass[tone],
3404
- item.icon && "size-6"
3405
- ),
3406
- children: item.icon
3407
- }
3408
- ),
3409
- !last ? /* @__PURE__ */ jsx43("span", { "aria-hidden": true, className: "w-px flex-1 bg-border" }) : null
3410
- ] }),
3411
- /* @__PURE__ */ jsxs20("div", { className: "min-w-0 flex-1 pb-0.5", children: [
3412
- /* @__PURE__ */ jsxs20("div", { className: "flex items-start justify-between gap-2", children: [
3413
- /* @__PURE__ */ jsx43("p", { className: "text-sm font-medium text-foreground", children: item.title }),
3414
- item.meta ? /* @__PURE__ */ jsx43("span", { className: "shrink-0 text-xs text-muted-foreground tabular-nums", children: item.meta }) : null
3415
- ] }),
3416
- item.description ? /* @__PURE__ */ jsx43("p", { className: "mt-0.5 text-sm text-muted-foreground", children: item.description }) : null
3417
- ] })
3418
- ] }, item.id);
3419
- }) });
3420
- }
3421
-
3422
3164
  // src/ui/rating.tsx
3423
3165
  import * as React5 from "react";
3424
3166
  import { StarIcon } from "lucide-react";
3425
- import { jsx as jsx44 } from "react/jsx-runtime";
3167
+ import { jsx as jsx41 } from "react/jsx-runtime";
3426
3168
  var sizeClass = { sm: "size-4", md: "size-5", lg: "size-6" };
3169
+ var ratingFillClass = {
3170
+ amber: "fill-amber-400 text-amber-400",
3171
+ primary: "fill-primary text-primary",
3172
+ success: "fill-emerald-500 text-emerald-500",
3173
+ warn: "fill-amber-500 text-amber-500",
3174
+ danger: "fill-destructive text-destructive"
3175
+ };
3176
+ var ratingEmptyClass = "fill-transparent text-muted-foreground/40";
3427
3177
  function Rating({
3428
3178
  value: valueProp,
3429
3179
  defaultValue = 0,
@@ -3432,6 +3182,7 @@ function Rating({
3432
3182
  readOnly = false,
3433
3183
  disabled = false,
3434
3184
  size = "md",
3185
+ tone = "amber",
3435
3186
  label = "Rating",
3436
3187
  className
3437
3188
  }) {
@@ -3447,20 +3198,20 @@ function Rating({
3447
3198
  onChange?.(next);
3448
3199
  };
3449
3200
  if (!interactive) {
3450
- return /* @__PURE__ */ jsx44(
3201
+ return /* @__PURE__ */ jsx41(
3451
3202
  "span",
3452
3203
  {
3453
3204
  "data-slot": "rating",
3454
3205
  role: "img",
3455
3206
  "aria-label": `${label}: ${value} of ${max}`,
3456
3207
  className: cn("inline-flex items-center gap-0.5", disabled && "opacity-50", className),
3457
- children: Array.from({ length: max }, (_, i) => /* @__PURE__ */ jsx44(
3208
+ children: Array.from({ length: max }, (_, i) => /* @__PURE__ */ jsx41(
3458
3209
  StarIcon,
3459
3210
  {
3460
3211
  "aria-hidden": true,
3461
3212
  className: cn(
3462
3213
  sizeClass[size],
3463
- i < value ? "fill-amber-400 text-amber-400" : "fill-transparent text-muted-foreground/40"
3214
+ i < value ? ratingFillClass[tone] : ratingEmptyClass
3464
3215
  )
3465
3216
  },
3466
3217
  i
@@ -3468,7 +3219,7 @@ function Rating({
3468
3219
  }
3469
3220
  );
3470
3221
  }
3471
- return /* @__PURE__ */ jsx44(
3222
+ return /* @__PURE__ */ jsx41(
3472
3223
  "span",
3473
3224
  {
3474
3225
  "data-slot": "rating",
@@ -3479,7 +3230,7 @@ function Rating({
3479
3230
  children: Array.from({ length: max }, (_, i) => {
3480
3231
  const unit = i + 1;
3481
3232
  const filled = unit <= shown;
3482
- return /* @__PURE__ */ jsx44(
3233
+ return /* @__PURE__ */ jsx41(
3483
3234
  "button",
3484
3235
  {
3485
3236
  type: "button",
@@ -3491,13 +3242,13 @@ function Rating({
3491
3242
  onFocus: () => setHover(unit),
3492
3243
  onBlur: () => setHover(null),
3493
3244
  className: "rounded-sm p-0.5 transition-transform hover:scale-110 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-foreground/15",
3494
- children: /* @__PURE__ */ jsx44(
3245
+ children: /* @__PURE__ */ jsx41(
3495
3246
  StarIcon,
3496
3247
  {
3497
3248
  className: cn(
3498
3249
  sizeClass[size],
3499
3250
  "transition-colors",
3500
- filled ? "fill-amber-400 text-amber-400" : "fill-transparent text-muted-foreground/40"
3251
+ filled ? ratingFillClass[tone] : ratingEmptyClass
3501
3252
  )
3502
3253
  }
3503
3254
  )
@@ -3512,7 +3263,7 @@ function Rating({
3512
3263
  // src/ui/number-field.tsx
3513
3264
  import * as React6 from "react";
3514
3265
  import { MinusIcon as MinusIcon2, PlusIcon } from "lucide-react";
3515
- import { jsx as jsx45, jsxs as jsxs21 } from "react/jsx-runtime";
3266
+ import { jsx as jsx42, jsxs as jsxs19 } from "react/jsx-runtime";
3516
3267
  var heightClass = { sm: "h-9", default: "h-10" };
3517
3268
  var stepButtonClass = "inline-flex aspect-square h-full items-center justify-center text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:pointer-events-none disabled:opacity-40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-foreground/15";
3518
3269
  function clamp(n, min, max) {
@@ -3541,7 +3292,7 @@ function NumberField({
3541
3292
  if (!isControlled) setUncontrolled(clamped);
3542
3293
  onValueChange?.(clamped);
3543
3294
  };
3544
- return /* @__PURE__ */ jsxs21(
3295
+ return /* @__PURE__ */ jsxs19(
3545
3296
  "div",
3546
3297
  {
3547
3298
  "data-slot": "number-field",
@@ -3553,7 +3304,7 @@ function NumberField({
3553
3304
  className
3554
3305
  ),
3555
3306
  children: [
3556
- /* @__PURE__ */ jsx45(
3307
+ /* @__PURE__ */ jsx42(
3557
3308
  "button",
3558
3309
  {
3559
3310
  type: "button",
@@ -3562,10 +3313,10 @@ function NumberField({
3562
3313
  disabled: disabled || typeof min === "number" && value <= min,
3563
3314
  onClick: () => commit(value - step),
3564
3315
  className: cn(stepButtonClass, "border-r border-border"),
3565
- children: /* @__PURE__ */ jsx45(MinusIcon2, { className: "size-4" })
3316
+ children: /* @__PURE__ */ jsx42(MinusIcon2, { className: "size-4" })
3566
3317
  }
3567
3318
  ),
3568
- /* @__PURE__ */ jsx45(
3319
+ /* @__PURE__ */ jsx42(
3569
3320
  "input",
3570
3321
  {
3571
3322
  type: "number",
@@ -3589,7 +3340,7 @@ function NumberField({
3589
3340
  ...inputProps
3590
3341
  }
3591
3342
  ),
3592
- /* @__PURE__ */ jsx45(
3343
+ /* @__PURE__ */ jsx42(
3593
3344
  "button",
3594
3345
  {
3595
3346
  type: "button",
@@ -3598,7 +3349,7 @@ function NumberField({
3598
3349
  disabled: disabled || typeof max === "number" && value >= max,
3599
3350
  onClick: () => commit(value + step),
3600
3351
  className: cn(stepButtonClass, "border-l border-border"),
3601
- children: /* @__PURE__ */ jsx45(PlusIcon, { className: "size-4" })
3352
+ children: /* @__PURE__ */ jsx42(PlusIcon, { className: "size-4" })
3602
3353
  }
3603
3354
  )
3604
3355
  ]
@@ -3609,7 +3360,11 @@ function NumberField({
3609
3360
  // src/ui/tag-input.tsx
3610
3361
  import * as React7 from "react";
3611
3362
  import { XIcon as XIcon3 } from "lucide-react";
3612
- import { jsx as jsx46, jsxs as jsxs22 } from "react/jsx-runtime";
3363
+ import { jsx as jsx43, jsxs as jsxs20 } from "react/jsx-runtime";
3364
+ var tagInputSizeClass = {
3365
+ sm: "min-h-9 gap-1 px-1.5 py-1",
3366
+ default: "min-h-10 gap-1.5 px-2 py-1.5"
3367
+ };
3613
3368
  function TagInput({
3614
3369
  value: valueProp,
3615
3370
  defaultValue = [],
@@ -3619,6 +3374,7 @@ function TagInput({
3619
3374
  dedupe = true,
3620
3375
  max,
3621
3376
  disabled,
3377
+ size = "default",
3622
3378
  ariaLabel,
3623
3379
  className,
3624
3380
  inputClassName
@@ -3653,38 +3409,39 @@ function TagInput({
3653
3409
  removeAt(tags.length - 1);
3654
3410
  }
3655
3411
  };
3656
- return /* @__PURE__ */ jsxs22(
3412
+ return /* @__PURE__ */ jsxs20(
3657
3413
  "div",
3658
3414
  {
3659
3415
  "data-slot": "tag-input",
3660
3416
  className: cn(
3661
3417
  controlSurfaceClass,
3662
- "flex min-h-10 w-full flex-wrap items-center gap-1.5 rounded-lg px-2 py-1.5",
3418
+ "flex w-full flex-wrap items-center rounded-lg",
3419
+ tagInputSizeClass[size],
3663
3420
  disabled && "pointer-events-none opacity-50",
3664
3421
  className
3665
3422
  ),
3666
3423
  children: [
3667
- tags.map((tag, index) => /* @__PURE__ */ jsxs22(
3424
+ tags.map((tag, index) => /* @__PURE__ */ jsxs20(
3668
3425
  "span",
3669
3426
  {
3670
3427
  className: "inline-flex items-center gap-1 rounded-md bg-muted py-0.5 pl-2 pr-1 text-xs font-medium text-foreground",
3671
3428
  children: [
3672
3429
  tag,
3673
- /* @__PURE__ */ jsx46(
3430
+ /* @__PURE__ */ jsx43(
3674
3431
  "button",
3675
3432
  {
3676
3433
  type: "button",
3677
3434
  "aria-label": `Remove ${tag}`,
3678
3435
  onClick: () => removeAt(index),
3679
3436
  className: "inline-flex size-4 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-foreground/10 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-foreground/20",
3680
- children: /* @__PURE__ */ jsx46(XIcon3, { className: "size-3", "aria-hidden": true })
3437
+ children: /* @__PURE__ */ jsx43(XIcon3, { className: "size-3", "aria-hidden": true })
3681
3438
  }
3682
3439
  )
3683
3440
  ]
3684
3441
  },
3685
3442
  `${tag}-${index}`
3686
3443
  )),
3687
- /* @__PURE__ */ jsx46(
3444
+ /* @__PURE__ */ jsx43(
3688
3445
  "input",
3689
3446
  {
3690
3447
  type: "text",
@@ -3706,141 +3463,55 @@ function TagInput({
3706
3463
  );
3707
3464
  }
3708
3465
 
3709
- // src/ui/banner.tsx
3710
- import { XIcon as XIcon4 } from "lucide-react";
3711
- import { jsx as jsx47, jsxs as jsxs23 } from "react/jsx-runtime";
3712
- var bannerToneClass = {
3713
- default: "border-border bg-muted/50 text-foreground",
3714
- primary: "border-primary/20 bg-primary/10 text-foreground",
3715
- success: "border-emerald-500/25 bg-emerald-500/10 text-foreground [&_[data-banner-icon]]:text-emerald-600 dark:[&_[data-banner-icon]]:text-emerald-400",
3716
- warn: "border-amber-500/25 bg-amber-500/10 text-foreground [&_[data-banner-icon]]:text-amber-600 dark:[&_[data-banner-icon]]:text-amber-400",
3717
- danger: "border-destructive/25 bg-destructive/10 text-foreground [&_[data-banner-icon]]:text-destructive"
3718
- };
3719
- function Banner({
3720
- tone = "default",
3721
- icon,
3722
- title,
3723
- actions,
3724
- onDismiss,
3725
- className,
3726
- children,
3727
- ...props
3728
- }) {
3729
- return /* @__PURE__ */ jsxs23(
3730
- "div",
3731
- {
3732
- "data-slot": "banner",
3733
- role: "status",
3734
- className: cn(
3735
- "flex w-full items-start gap-3 rounded-lg border px-4 py-3 text-sm",
3736
- bannerToneClass[tone],
3737
- className
3738
- ),
3739
- ...props,
3740
- children: [
3741
- icon ? /* @__PURE__ */ jsx47("span", { "data-banner-icon": true, className: "mt-0.5 shrink-0 [&_svg]:size-4", children: icon }) : null,
3742
- /* @__PURE__ */ jsxs23("div", { className: "min-w-0 flex-1", children: [
3743
- title ? /* @__PURE__ */ jsx47("p", { className: "font-medium", children: title }) : null,
3744
- children ? /* @__PURE__ */ jsx47("div", { className: cn("text-muted-foreground", title && "mt-0.5"), children }) : null
3745
- ] }),
3746
- actions ? /* @__PURE__ */ jsx47("div", { className: "flex shrink-0 items-center gap-2", children: actions }) : null,
3747
- onDismiss ? /* @__PURE__ */ jsx47(
3748
- "button",
3749
- {
3750
- type: "button",
3751
- "aria-label": "Dismiss",
3752
- onClick: onDismiss,
3753
- className: "-mr-1 -mt-0.5 inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-foreground/10 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-foreground/15",
3754
- children: /* @__PURE__ */ jsx47(XIcon4, { className: "size-4", "aria-hidden": true })
3755
- }
3756
- ) : null
3757
- ]
3758
- }
3759
- );
3760
- }
3761
-
3762
- // src/ui/copy-button.tsx
3763
- import * as React8 from "react";
3764
- import { CheckIcon as CheckIcon6, CopyIcon } from "lucide-react";
3765
- import { jsx as jsx48, jsxs as jsxs24 } from "react/jsx-runtime";
3766
- function CopyButton({
3767
- value,
3768
- timeout = 1500,
3769
- onCopied,
3770
- className,
3771
- children,
3772
- onClick,
3773
- ...props
3774
- }) {
3775
- const [copied, setCopied] = React8.useState(false);
3776
- const timer = React8.useRef(void 0);
3777
- React8.useEffect(() => () => clearTimeout(timer.current), []);
3778
- const handleClick = async (event) => {
3779
- onClick?.(event);
3780
- if (event.defaultPrevented) return;
3781
- try {
3782
- await navigator.clipboard.writeText(value);
3783
- setCopied(true);
3784
- onCopied?.(value);
3785
- clearTimeout(timer.current);
3786
- timer.current = setTimeout(() => setCopied(false), timeout);
3787
- } catch {
3788
- }
3789
- };
3790
- const Icon = copied ? CheckIcon6 : CopyIcon;
3791
- return /* @__PURE__ */ jsxs24(
3792
- "button",
3793
- {
3794
- type: "button",
3795
- "data-slot": "copy-button",
3796
- "data-copied": copied || void 0,
3797
- "aria-label": copied ? "Copied" : "Copy",
3798
- onClick: handleClick,
3799
- className: cn(
3800
- "inline-flex items-center justify-center gap-1.5 rounded-md text-sm font-medium text-muted-foreground transition-colors",
3801
- "hover:bg-accent hover:text-foreground data-[copied=true]:text-emerald-600 dark:data-[copied=true]:text-emerald-400",
3802
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-foreground/15",
3803
- children ? "h-8 px-2" : "size-8",
3804
- className
3805
- ),
3806
- ...props,
3807
- children: [
3808
- /* @__PURE__ */ jsx48(Icon, { className: "size-4 shrink-0", "aria-hidden": true }),
3809
- children
3810
- ]
3811
- }
3812
- );
3813
- }
3814
-
3815
3466
  // src/ui/snippet.tsx
3816
- import { jsx as jsx49, jsxs as jsxs25 } from "react/jsx-runtime";
3467
+ import { jsx as jsx44, jsxs as jsxs21 } from "react/jsx-runtime";
3468
+ var snippetVariantClass = {
3469
+ muted: "border-border bg-muted/40",
3470
+ outline: "border-border bg-transparent",
3471
+ ghost: "border-transparent bg-foreground/[0.04]"
3472
+ };
3473
+ var snippetSizeClass = {
3474
+ sm: "gap-1.5 py-1 pl-2.5 pr-1 text-xs",
3475
+ default: "gap-2 py-1.5 pl-3 pr-1.5 text-sm"
3476
+ };
3817
3477
  function Snippet({
3818
3478
  children,
3819
3479
  symbol,
3480
+ variant = "muted",
3481
+ size = "default",
3820
3482
  hideCopy = false,
3821
3483
  className,
3822
3484
  ...props
3823
3485
  }) {
3824
- return /* @__PURE__ */ jsxs25(
3486
+ return /* @__PURE__ */ jsxs21(
3825
3487
  "div",
3826
3488
  {
3827
3489
  "data-slot": "snippet",
3490
+ "data-variant": variant,
3828
3491
  className: cn(
3829
- "flex items-center gap-2 rounded-lg border border-border bg-muted/40 py-1.5 pl-3 pr-1.5 font-mono text-sm",
3492
+ "flex items-center rounded-lg border font-mono",
3493
+ snippetVariantClass[variant],
3494
+ snippetSizeClass[size],
3830
3495
  className
3831
3496
  ),
3832
3497
  ...props,
3833
3498
  children: [
3834
- symbol ? /* @__PURE__ */ jsx49("span", { "aria-hidden": true, className: "select-none text-muted-foreground", children: symbol }) : null,
3835
- /* @__PURE__ */ jsx49("code", { className: "min-w-0 flex-1 truncate text-foreground", children }),
3836
- hideCopy ? null : /* @__PURE__ */ jsx49(CopyButton, { value: children, className: "size-7 shrink-0" })
3499
+ symbol ? /* @__PURE__ */ jsx44("span", { "aria-hidden": true, className: "select-none text-muted-foreground", children: symbol }) : null,
3500
+ /* @__PURE__ */ jsx44("code", { className: "min-w-0 flex-1 truncate text-foreground", children }),
3501
+ hideCopy ? null : /* @__PURE__ */ jsx44(
3502
+ CopyButton,
3503
+ {
3504
+ value: children,
3505
+ className: cn("shrink-0", size === "sm" ? "size-6" : "size-7")
3506
+ }
3507
+ )
3837
3508
  ]
3838
3509
  }
3839
3510
  );
3840
3511
  }
3841
3512
 
3842
3513
  // src/ui/circular-progress.tsx
3843
- import { jsx as jsx50, jsxs as jsxs26 } from "react/jsx-runtime";
3514
+ import { jsx as jsx45, jsxs as jsxs22 } from "react/jsx-runtime";
3844
3515
  var toneClass = {
3845
3516
  primary: "text-primary",
3846
3517
  success: "text-emerald-500",
@@ -3863,7 +3534,7 @@ function CircularProgress({
3863
3534
  const circumference = 2 * Math.PI * radius;
3864
3535
  const pct = indeterminate ? 0.25 : Math.min(Math.max(value / max, 0), 1);
3865
3536
  const dashOffset = circumference * (1 - pct);
3866
- return /* @__PURE__ */ jsxs26(
3537
+ return /* @__PURE__ */ jsxs22(
3867
3538
  "div",
3868
3539
  {
3869
3540
  "data-slot": "circular-progress",
@@ -3875,7 +3546,7 @@ function CircularProgress({
3875
3546
  style: { width: size, height: size },
3876
3547
  ...props,
3877
3548
  children: [
3878
- /* @__PURE__ */ jsxs26(
3549
+ /* @__PURE__ */ jsxs22(
3879
3550
  "svg",
3880
3551
  {
3881
3552
  width: size,
@@ -3883,7 +3554,7 @@ function CircularProgress({
3883
3554
  viewBox: `0 0 ${size} ${size}`,
3884
3555
  className: cn(toneClass[tone], indeterminate && "animate-spin"),
3885
3556
  children: [
3886
- /* @__PURE__ */ jsx50(
3557
+ /* @__PURE__ */ jsx45(
3887
3558
  "circle",
3888
3559
  {
3889
3560
  cx: size / 2,
@@ -3894,7 +3565,7 @@ function CircularProgress({
3894
3565
  className: "stroke-current opacity-15"
3895
3566
  }
3896
3567
  ),
3897
- /* @__PURE__ */ jsx50(
3568
+ /* @__PURE__ */ jsx45(
3898
3569
  "circle",
3899
3570
  {
3900
3571
  cx: size / 2,
@@ -3912,31 +3583,13 @@ function CircularProgress({
3912
3583
  ]
3913
3584
  }
3914
3585
  ),
3915
- showLabel && !indeterminate ? /* @__PURE__ */ jsx50("span", { className: "absolute inset-0 flex items-center justify-center text-[0.7rem] font-medium tabular-nums text-foreground", children: label ?? `${Math.round(pct * 100)}%` }) : null
3586
+ showLabel && !indeterminate ? /* @__PURE__ */ jsx45("span", { className: "absolute inset-0 flex items-center justify-center text-[0.7rem] font-medium tabular-nums text-foreground", children: label ?? `${Math.round(pct * 100)}%` }) : null
3916
3587
  ]
3917
3588
  }
3918
3589
  );
3919
3590
  }
3920
3591
 
3921
3592
  export {
3922
- DropdownMenu,
3923
- DropdownMenuTrigger,
3924
- DropdownMenuGroup,
3925
- DropdownMenuContent,
3926
- DropdownMenuItem,
3927
- DropdownMenuCheckboxItem,
3928
- DropdownMenuRadioGroup,
3929
- DropdownMenuRadioItem,
3930
- DropdownMenuLabel,
3931
- DropdownMenuSeparator,
3932
- DropdownMenuShortcut,
3933
- DropdownMenuSub,
3934
- DropdownMenuSubTrigger,
3935
- DropdownMenuSubContent,
3936
- Popover,
3937
- PopoverTrigger,
3938
- PopoverAnchor,
3939
- PopoverContent,
3940
3593
  Select,
3941
3594
  SelectGroup,
3942
3595
  SelectValue,
@@ -4129,12 +3782,9 @@ export {
4129
3782
  Toaster,
4130
3783
  AvatarGroup,
4131
3784
  Stepper,
4132
- Timeline,
4133
3785
  Rating,
4134
3786
  NumberField,
4135
3787
  TagInput,
4136
- Banner,
4137
- CopyButton,
4138
3788
  Snippet,
4139
3789
  CircularProgress
4140
3790
  };