@nextlyhq/ui 0.0.2-alpha.35 → 0.0.2-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,34 +1,20 @@
1
- import { Slot } from '@radix-ui/react-slot';
2
- import { cva } from 'class-variance-authority';
3
- import * as React6 from 'react';
4
- import { forwardRef, createContext, useContext } from 'react';
5
- import { clsx } from 'clsx';
6
- import { twMerge } from 'tailwind-merge';
7
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
- import { Root as Root$2 } from '@radix-ui/react-label';
9
- import { Info, Minus, Check, ChevronDown, X, ChevronRight, Circle, Search, Loader2, ChevronUp, XCircle, AlertTriangle, AlertCircle, CheckCircle2, FileQuestion } from 'lucide-react';
10
- import { Portal, Content, Provider, Root, Trigger } from '@radix-ui/react-tooltip';
11
- import * as SeparatorPrimitive from '@radix-ui/react-separator';
12
- import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
13
- import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
14
- import { Root as Root$4, Thumb } from '@radix-ui/react-switch';
15
- import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
16
- import * as AccordionPrimitive from '@radix-ui/react-accordion';
17
- import { Root as Root$1, Image, Fallback } from '@radix-ui/react-avatar';
18
- import { List, Trigger as Trigger$1, Content as Content$1, Root as Root$3 } from '@radix-ui/react-tabs';
19
- import * as PopoverPrimitive from '@radix-ui/react-popover';
20
- import * as DialogPrimitive from '@radix-ui/react-dialog';
21
- import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
22
- import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
23
- import * as SelectPrimitive from '@radix-ui/react-select';
24
- import { Command as Command$1 } from 'cmdk';
25
- import { Toaster as Toaster$1 } from 'sonner';
26
- export { toast } from 'sonner';
1
+ "use client";
27
2
 
28
3
  // src/components/button.tsx
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { cva } from "class-variance-authority";
6
+ import * as React from "react";
7
+ import { forwardRef } from "react";
8
+
9
+ // src/lib/utils.ts
10
+ import { clsx } from "clsx";
11
+ import { twMerge } from "tailwind-merge";
29
12
  function cn(...inputs) {
30
13
  return twMerge(clsx(inputs));
31
14
  }
15
+
16
+ // src/components/button.tsx
17
+ import { jsx } from "react/jsx-runtime";
32
18
  var buttonVariants = cva(
33
19
  "inline-flex items-center justify-center whitespace-nowrap rounded-none text-sm font-medium cursor-pointer transition-all duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-0 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed active:scale-[0.98] [&_svg]:text-current",
34
20
  {
@@ -36,9 +22,15 @@ var buttonVariants = cva(
36
22
  variant: {
37
23
  default: "bg-primary text-primary-foreground border border-transparent hover:opacity-90",
38
24
  primary: "bg-primary text-primary-foreground border border-transparent hover:opacity-90",
39
- destructive: "bg-destructive text-destructive-foreground border border-transparent hover:opacity-90",
40
- outline: "border border-primary/10 text-foreground hover-unified bg-background",
41
- secondary: "bg-background border border-primary/10 text-foreground hover:bg-primary/5",
25
+ // Solid fill uses the emphasis token so white on-color text stays AA in
26
+ // dark mode (the base token is the readable text color, too light here).
27
+ // Hover darkens to a deeper shade instead of opacity-90, which would
28
+ // composite the fill toward the page and drop white text under 4.5:1.
29
+ destructive: "bg-destructive-solid text-destructive-foreground border border-transparent hover:bg-destructive-700",
30
+ // border-border (not a faint primary alpha) so the outline is a visible
31
+ // boundary at the 3:1 UI minimum.
32
+ outline: "border border-border text-foreground hover-unified bg-background",
33
+ secondary: "bg-background border border-border text-foreground hover:bg-primary/5",
42
34
  ghost: "text-foreground border border-transparent hover-unified",
43
35
  link: "text-primary border border-transparent underline-offset-4 hover:underline"
44
36
  },
@@ -68,7 +60,7 @@ var Button = forwardRef(
68
60
  ...props
69
61
  }, ref) => {
70
62
  const Comp = asChild ? Slot : "button";
71
- const hasMultipleChildren = React6.Children.count(children) > 1;
63
+ const hasMultipleChildren = React.Children.count(children) > 1;
72
64
  return /* @__PURE__ */ jsx(
73
65
  Comp,
74
66
  {
@@ -85,7 +77,12 @@ var Button = forwardRef(
85
77
  }
86
78
  );
87
79
  Button.displayName = "Button";
88
- var inputVariants = cva(
80
+
81
+ // src/components/input.tsx
82
+ import { cva as cva2 } from "class-variance-authority";
83
+ import { forwardRef as forwardRef2 } from "react";
84
+ import { jsx as jsx2 } from "react/jsx-runtime";
85
+ var inputVariants = cva2(
89
86
  "file:text-foreground placeholder:text-muted-foreground placeholder:opacity-50 selection:bg-primary selection:text-primary-foreground w-full min-w-0 rounded-none border border-input bg-background text-sm transition-all duration-150 outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus:ring-0 focus:ring-offset-0 focus:outline-none focus:border-primary! focus-visible:border-primary! aria-invalid:border-destructive aria-invalid:focus:border-destructive! data-[invalid=true]:border-destructive data-[invalid=true]:focus:border-destructive!",
90
87
  {
91
88
  variants: {
@@ -100,9 +97,9 @@ var inputVariants = cva(
100
97
  }
101
98
  }
102
99
  );
103
- var Input = forwardRef(
100
+ var Input = forwardRef2(
104
101
  ({ className, type, size, ...props }, ref) => {
105
- return /* @__PURE__ */ jsx(
102
+ return /* @__PURE__ */ jsx2(
106
103
  "input",
107
104
  {
108
105
  type,
@@ -115,13 +112,19 @@ var Input = forwardRef(
115
112
  }
116
113
  );
117
114
  Input.displayName = "Input";
118
- var Textarea = forwardRef(({ className, ...props }, ref) => {
119
- return /* @__PURE__ */ jsx(
115
+
116
+ // src/components/textarea.tsx
117
+ import { forwardRef as forwardRef3 } from "react";
118
+ import { jsx as jsx3 } from "react/jsx-runtime";
119
+ var Textarea = forwardRef3(({ className, ...props }, ref) => {
120
+ return /* @__PURE__ */ jsx3(
120
121
  "textarea",
121
122
  {
122
123
  "data-slot": "textarea",
123
124
  className: cn(
124
- "flex min-h-[80px] w-full rounded-none border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground placeholder:opacity-50 transition-all duration-200 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary/30 disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 resize-y",
125
+ // hover:border-primary (full strength) keeps the hover boundary more
126
+ // visible than the resting border-input, not a fainter alpha of it.
127
+ "flex min-h-[80px] w-full rounded-none border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground placeholder:opacity-50 transition-all duration-200 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 resize-y",
125
128
  "aria-invalid:border-destructive aria-invalid:focus:border-destructive!",
126
129
  className
127
130
  ),
@@ -131,9 +134,13 @@ var Textarea = forwardRef(({ className, ...props }, ref) => {
131
134
  );
132
135
  });
133
136
  Textarea.displayName = "Textarea";
137
+
138
+ // src/components/label.tsx
139
+ import { Root as LabelRoot } from "@radix-ui/react-label";
140
+ import { jsx as jsx4 } from "react/jsx-runtime";
134
141
  function Label({ className, ...props }) {
135
- return /* @__PURE__ */ jsx(
136
- Root$2,
142
+ return /* @__PURE__ */ jsx4(
143
+ LabelRoot,
137
144
  {
138
145
  "data-slot": "label",
139
146
  className: cn(
@@ -144,18 +151,39 @@ function Label({ className, ...props }) {
144
151
  }
145
152
  );
146
153
  }
154
+
155
+ // src/components/form-label-with-tooltip.tsx
156
+ import { Info } from "lucide-react";
157
+ import * as React2 from "react";
158
+
159
+ // src/components/tooltip.tsx
160
+ import {
161
+ Provider,
162
+ Root,
163
+ Trigger,
164
+ Portal,
165
+ Content
166
+ } from "@radix-ui/react-tooltip";
167
+ import { forwardRef as forwardRef4 } from "react";
168
+
169
+ // src/providers/portal-provider.tsx
170
+ import { createContext, useContext } from "react";
171
+ import { jsx as jsx5 } from "react/jsx-runtime";
147
172
  var PortalContext = createContext({ container: null });
148
173
  function PortalProvider({ container, children }) {
149
- return /* @__PURE__ */ jsx(PortalContext.Provider, { value: { container }, children });
174
+ return /* @__PURE__ */ jsx5(PortalContext.Provider, { value: { container }, children });
150
175
  }
151
176
  function usePortalContainer() {
152
177
  const { container } = useContext(PortalContext);
153
178
  return container ?? void 0;
154
179
  }
180
+
181
+ // src/components/tooltip.tsx
182
+ import { jsx as jsx6 } from "react/jsx-runtime";
155
183
  var TooltipProvider = Provider;
156
184
  var Tooltip = Root;
157
185
  var TooltipTrigger = Trigger;
158
- var TooltipContent = forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
186
+ var TooltipContent = forwardRef4(({ className, sideOffset = 4, ...props }, ref) => {
159
187
  const portalContainer = usePortalContainer();
160
188
  return (
161
189
  // Portalled for the same reason as every other overlay here, plus one
@@ -164,7 +192,7 @@ var TooltipContent = forwardRef(({ className, sideOffset = 4, ...props }, ref) =
164
192
  // browser does not. Left inline under a `@container` element, the content
165
193
  // is offset by that element's own position. Portalling lifts it out of any
166
194
  // such ancestor, so the two agree again.
167
- /* @__PURE__ */ jsx(Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(
195
+ /* @__PURE__ */ jsx6(Portal, { container: portalContainer, children: /* @__PURE__ */ jsx6(
168
196
  Content,
169
197
  {
170
198
  ref,
@@ -180,7 +208,10 @@ var TooltipContent = forwardRef(({ className, sideOffset = 4, ...props }, ref) =
180
208
  );
181
209
  });
182
210
  TooltipContent.displayName = Content.displayName;
183
- var FormLabelWithTooltip = React6.forwardRef(
211
+
212
+ // src/components/form-label-with-tooltip.tsx
213
+ import { jsx as jsx7, jsxs } from "react/jsx-runtime";
214
+ var FormLabelWithTooltip = React2.forwardRef(
184
215
  ({
185
216
  className,
186
217
  labelClassName,
@@ -193,9 +224,9 @@ var FormLabelWithTooltip = React6.forwardRef(
193
224
  return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", className), children: [
194
225
  /* @__PURE__ */ jsxs(Label, { ref, className: labelClassName, ...props, children: [
195
226
  label,
196
- required && /* @__PURE__ */ jsx("span", { className: "text-destructive ml-1", children: "*" })
227
+ required && /* @__PURE__ */ jsx7("span", { className: "text-destructive ml-1", children: "*" })
197
228
  ] }),
198
- description && /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { delayDuration: 200, children: [
229
+ description && /* @__PURE__ */ jsx7(TooltipProvider, { children: /* @__PURE__ */ jsxs(Tooltip, { delayDuration: 200, children: [
199
230
  /* @__PURE__ */ jsxs(
200
231
  TooltipTrigger,
201
232
  {
@@ -203,12 +234,12 @@ var FormLabelWithTooltip = React6.forwardRef(
203
234
  tabIndex: -1,
204
235
  className: "shrink-0 text-muted-foreground hover:text-foreground focus:outline-none focus:text-foreground transition-colors cursor-help",
205
236
  children: [
206
- /* @__PURE__ */ jsx(Info, { className: "h-3.5 w-3.5" }),
207
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Toggle description" })
237
+ /* @__PURE__ */ jsx7(Info, { className: "h-3.5 w-3.5" }),
238
+ /* @__PURE__ */ jsx7("span", { className: "sr-only", children: "Toggle description" })
208
239
  ]
209
240
  }
210
241
  ),
211
- /* @__PURE__ */ jsx(
242
+ /* @__PURE__ */ jsx7(
212
243
  TooltipContent,
213
244
  {
214
245
  side: "right",
@@ -224,7 +255,11 @@ var FormLabelWithTooltip = React6.forwardRef(
224
255
  }
225
256
  );
226
257
  FormLabelWithTooltip.displayName = "FormLabelWithTooltip";
227
- var badgeVariants = cva(
258
+
259
+ // src/components/badge.tsx
260
+ import { cva as cva3 } from "class-variance-authority";
261
+ import { jsx as jsx8 } from "react/jsx-runtime";
262
+ var badgeVariants = cva3(
228
263
  "inline-flex items-center rounded-none px-2.5 py-0.5 h-[22px] text-xs font-medium transition-colors",
229
264
  {
230
265
  variants: {
@@ -245,7 +280,7 @@ var badgeVariants = cva(
245
280
  }
246
281
  );
247
282
  function Badge({ className, variant = "default", ...props }) {
248
- return /* @__PURE__ */ jsx(
283
+ return /* @__PURE__ */ jsx8(
249
284
  "div",
250
285
  {
251
286
  "data-slot": `badge.${variant}`,
@@ -254,7 +289,12 @@ function Badge({ className, variant = "default", ...props }) {
254
289
  }
255
290
  );
256
291
  }
257
- var cardVariants = cva(
292
+
293
+ // src/components/card.tsx
294
+ import { cva as cva4 } from "class-variance-authority";
295
+ import { forwardRef as forwardRef6 } from "react";
296
+ import { jsx as jsx9 } from "react/jsx-runtime";
297
+ var cardVariants = cva4(
258
298
  "bg-card text-foreground rounded-none border border-border transition-all duration-200",
259
299
  {
260
300
  variants: {
@@ -269,9 +309,9 @@ var cardVariants = cva(
269
309
  }
270
310
  }
271
311
  );
272
- var Card = forwardRef(
312
+ var Card = forwardRef6(
273
313
  ({ className, variant, ...props }, ref) => {
274
- return /* @__PURE__ */ jsx(
314
+ return /* @__PURE__ */ jsx9(
275
315
  "div",
276
316
  {
277
317
  ref,
@@ -283,9 +323,9 @@ var Card = forwardRef(
283
323
  }
284
324
  );
285
325
  Card.displayName = "Card";
286
- var CardHeader = forwardRef(
326
+ var CardHeader = forwardRef6(
287
327
  ({ className, noBorder = false, ...props }, ref) => {
288
- return /* @__PURE__ */ jsx(
328
+ return /* @__PURE__ */ jsx9(
289
329
  "div",
290
330
  {
291
331
  ref,
@@ -301,9 +341,9 @@ var CardHeader = forwardRef(
301
341
  }
302
342
  );
303
343
  CardHeader.displayName = "CardHeader";
304
- var CardTitle = forwardRef(
344
+ var CardTitle = forwardRef6(
305
345
  ({ className, ...props }, ref) => {
306
- return /* @__PURE__ */ jsx(
346
+ return /* @__PURE__ */ jsx9(
307
347
  "h3",
308
348
  {
309
349
  ref,
@@ -315,9 +355,9 @@ var CardTitle = forwardRef(
315
355
  }
316
356
  );
317
357
  CardTitle.displayName = "CardTitle";
318
- var CardDescription = forwardRef(
358
+ var CardDescription = forwardRef6(
319
359
  ({ className, ...props }, ref) => {
320
- return /* @__PURE__ */ jsx(
360
+ return /* @__PURE__ */ jsx9(
321
361
  "p",
322
362
  {
323
363
  ref,
@@ -329,9 +369,9 @@ var CardDescription = forwardRef(
329
369
  }
330
370
  );
331
371
  CardDescription.displayName = "CardDescription";
332
- var CardAction = forwardRef(
372
+ var CardAction = forwardRef6(
333
373
  ({ className, ...props }, ref) => {
334
- return /* @__PURE__ */ jsx(
374
+ return /* @__PURE__ */ jsx9(
335
375
  "div",
336
376
  {
337
377
  ref,
@@ -343,9 +383,9 @@ var CardAction = forwardRef(
343
383
  }
344
384
  );
345
385
  CardAction.displayName = "CardAction";
346
- var CardContent = forwardRef(
386
+ var CardContent = forwardRef6(
347
387
  ({ className, ...props }, ref) => {
348
- return /* @__PURE__ */ jsx(
388
+ return /* @__PURE__ */ jsx9(
349
389
  "div",
350
390
  {
351
391
  ref,
@@ -357,9 +397,9 @@ var CardContent = forwardRef(
357
397
  }
358
398
  );
359
399
  CardContent.displayName = "CardContent";
360
- var CardFooter = forwardRef(
400
+ var CardFooter = forwardRef6(
361
401
  ({ className, ...props }, ref) => {
362
- return /* @__PURE__ */ jsx(
402
+ return /* @__PURE__ */ jsx9(
363
403
  "div",
364
404
  {
365
405
  ref,
@@ -374,15 +414,80 @@ var CardFooter = forwardRef(
374
414
  }
375
415
  );
376
416
  CardFooter.displayName = "CardFooter";
377
- var alertVariants = cva(
417
+
418
+ // src/components/layout.tsx
419
+ import { forwardRef as forwardRef7 } from "react";
420
+ import { jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
421
+ var GAP = {
422
+ 0: "gap-0",
423
+ 1: "gap-1",
424
+ 2: "gap-2",
425
+ 3: "gap-3",
426
+ 4: "gap-4",
427
+ 6: "gap-6",
428
+ 8: "gap-8"
429
+ };
430
+ var COLS = {
431
+ 1: "grid-cols-1",
432
+ 2: "grid-cols-2",
433
+ 3: "grid-cols-3",
434
+ 4: "grid-cols-4",
435
+ 6: "grid-cols-6"
436
+ };
437
+ var Stack = forwardRef7(
438
+ ({ direction = "col", gap = 4, className, ...props }, ref) => /* @__PURE__ */ jsx10(
439
+ "div",
440
+ {
441
+ ref,
442
+ className: cn(
443
+ "flex",
444
+ direction === "col" ? "flex-col" : "flex-row",
445
+ GAP[gap],
446
+ className
447
+ ),
448
+ ...props
449
+ }
450
+ )
451
+ );
452
+ Stack.displayName = "Stack";
453
+ var Grid = forwardRef7(
454
+ ({ cols = 2, gap = 4, className, ...props }, ref) => /* @__PURE__ */ jsx10(
455
+ "div",
456
+ {
457
+ ref,
458
+ className: cn("grid", COLS[cols], GAP[gap], className),
459
+ ...props
460
+ }
461
+ )
462
+ );
463
+ Grid.displayName = "Grid";
464
+ var Stat = forwardRef7(
465
+ ({ label, value, className, ...props }, ref) => /* @__PURE__ */ jsxs2("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
466
+ /* @__PURE__ */ jsx10("span", { className: "text-sm text-muted-foreground", children: label }),
467
+ /* @__PURE__ */ jsx10("span", { className: "text-2xl font-semibold text-foreground", children: value })
468
+ ] })
469
+ );
470
+ Stat.displayName = "Stat";
471
+
472
+ // src/components/alert.tsx
473
+ import { cva as cva5 } from "class-variance-authority";
474
+ import { forwardRef as forwardRef8 } from "react";
475
+ import { jsx as jsx11 } from "react/jsx-runtime";
476
+ var alertVariants = cva5(
378
477
  "relative flex items-start gap-3 rounded-none border border-border p-4 text-sm transition-colors duration-150",
379
478
  {
380
479
  variants: {
381
480
  variant: {
382
- info: "border-border bg-primary/5 text-primary dark:border-primary/30 dark:bg-primary/5 dark:text-primary-foreground/90",
383
- success: "border-success-200 bg-success-50 text-success-900 border-l-4 border-l-success dark:border-success-900 dark:bg-success-950 dark:text-success-100",
384
- warning: "border-warning-200 bg-warning-50 text-warning-900 border-l-4 border-l-warning dark:border-warning-900 dark:bg-warning-950 dark:text-warning-100",
385
- destructive: "border-destructive-200 bg-destructive-50 text-destructive-900 border-l-4 border-l-destructive dark:border-destructive-900 dark:bg-destructive-950 dark:text-destructive-100"
481
+ // text-primary is mode-correct (dark ink on light in light mode, light
482
+ // ink on dark in dark mode); the previous dark text override rendered
483
+ // dark slate on the dark tint at about 1:1.
484
+ info: "bg-primary/5 text-primary",
485
+ // dark:border-l-* re-asserts the strong base accent on the left after
486
+ // the dark:border-*-900 all-sides rule, so the meaningful accent stays
487
+ // visible in dark mode instead of collapsing to the faint -900 shade.
488
+ success: "border-success-200 bg-success-50 text-success-900 border-l-4 border-l-success dark:border-success-900 dark:border-l-success dark:bg-success-950 dark:text-success-100",
489
+ warning: "border-warning-200 bg-warning-50 text-warning-900 border-l-4 border-l-warning dark:border-warning-900 dark:border-l-warning dark:bg-warning-950 dark:text-warning-100",
490
+ destructive: "border-destructive-200 bg-destructive-50 text-destructive-900 border-l-4 border-l-destructive dark:border-destructive-900 dark:border-l-destructive dark:bg-destructive-950 dark:text-destructive-100"
386
491
  }
387
492
  },
388
493
  defaultVariants: {
@@ -390,9 +495,9 @@ var alertVariants = cva(
390
495
  }
391
496
  }
392
497
  );
393
- var Alert = forwardRef(
498
+ var Alert = forwardRef8(
394
499
  ({ className, variant = "info", role = "alert", ...props }, ref) => {
395
- return /* @__PURE__ */ jsx(
500
+ return /* @__PURE__ */ jsx11(
396
501
  "div",
397
502
  {
398
503
  ref,
@@ -405,9 +510,9 @@ var Alert = forwardRef(
405
510
  }
406
511
  );
407
512
  Alert.displayName = "Alert";
408
- var AlertTitle = forwardRef(
513
+ var AlertTitle = forwardRef8(
409
514
  ({ className, ...props }, ref) => {
410
- return /* @__PURE__ */ jsx(
515
+ return /* @__PURE__ */ jsx11(
411
516
  "h5",
412
517
  {
413
518
  ref,
@@ -422,9 +527,9 @@ var AlertTitle = forwardRef(
422
527
  }
423
528
  );
424
529
  AlertTitle.displayName = "AlertTitle";
425
- var AlertDescription = forwardRef(
530
+ var AlertDescription = forwardRef8(
426
531
  ({ className, ...props }, ref) => {
427
- return /* @__PURE__ */ jsx(
532
+ return /* @__PURE__ */ jsx11(
428
533
  "div",
429
534
  {
430
535
  ref,
@@ -436,13 +541,17 @@ var AlertDescription = forwardRef(
436
541
  }
437
542
  );
438
543
  AlertDescription.displayName = "AlertDescription";
544
+
545
+ // src/components/separator.tsx
546
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
547
+ import { jsx as jsx12 } from "react/jsx-runtime";
439
548
  function Separator({
440
549
  className,
441
550
  orientation = "horizontal",
442
551
  decorative = true,
443
552
  ...props
444
553
  }) {
445
- return /* @__PURE__ */ jsx(
554
+ return /* @__PURE__ */ jsx12(
446
555
  SeparatorPrimitive.Root,
447
556
  {
448
557
  "data-slot": "separator",
@@ -456,9 +565,13 @@ function Separator({
456
565
  }
457
566
  );
458
567
  }
459
- var Skeleton = React6.forwardRef(
568
+
569
+ // src/components/skeleton.tsx
570
+ import * as React3 from "react";
571
+ import { jsx as jsx13 } from "react/jsx-runtime";
572
+ var Skeleton = React3.forwardRef(
460
573
  ({ className, ...props }, ref) => {
461
- return /* @__PURE__ */ jsx(
574
+ return /* @__PURE__ */ jsx13(
462
575
  "div",
463
576
  {
464
577
  ref,
@@ -474,7 +587,12 @@ var Skeleton = React6.forwardRef(
474
587
  }
475
588
  );
476
589
  Skeleton.displayName = "Skeleton";
477
- var progressVariants = cva("h-full rounded-none transition-all", {
590
+
591
+ // src/components/progress.tsx
592
+ import { cva as cva6 } from "class-variance-authority";
593
+ import * as React4 from "react";
594
+ import { jsx as jsx14 } from "react/jsx-runtime";
595
+ var progressVariants = cva6("h-full rounded-none transition-all", {
478
596
  variants: {
479
597
  variant: {
480
598
  default: "bg-primary-500",
@@ -486,7 +604,7 @@ var progressVariants = cva("h-full rounded-none transition-all", {
486
604
  variant: "default"
487
605
  }
488
606
  });
489
- var Progress = React6.forwardRef(
607
+ var Progress = React4.forwardRef(
490
608
  ({
491
609
  value,
492
610
  max = 100,
@@ -497,7 +615,7 @@ var Progress = React6.forwardRef(
497
615
  }, ref) => {
498
616
  const clampedValue = Math.min(Math.max(0, value), max);
499
617
  const percentage = clampedValue / max * 100;
500
- return /* @__PURE__ */ jsx(
618
+ return /* @__PURE__ */ jsx14(
501
619
  "div",
502
620
  {
503
621
  ref,
@@ -511,7 +629,7 @@ var Progress = React6.forwardRef(
511
629
  className
512
630
  ),
513
631
  ...props,
514
- children: /* @__PURE__ */ jsx(
632
+ children: /* @__PURE__ */ jsx14(
515
633
  "div",
516
634
  {
517
635
  className: cn(progressVariants({ variant })),
@@ -526,43 +644,41 @@ var Progress = React6.forwardRef(
526
644
  }
527
645
  );
528
646
  Progress.displayName = "Progress";
529
- var Checkbox = forwardRef(({ className, indeterminate, ...props }, ref) => /* @__PURE__ */ jsx(
647
+
648
+ // src/components/checkbox.tsx
649
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
650
+ import { Check, Minus } from "lucide-react";
651
+ import { forwardRef as forwardRef11 } from "react";
652
+ import { jsx as jsx15 } from "react/jsx-runtime";
653
+ var Checkbox = forwardRef11(({ className, indeterminate, ...props }, ref) => /* @__PURE__ */ jsx15(
530
654
  CheckboxPrimitive.Root,
531
655
  {
532
656
  ref,
533
657
  "data-slot": "checkbox",
534
658
  className: cn(
535
- // Unchecked outline uses primary/50: measured 3.95:1 on the light row and
536
- // 5.32:1 on the dark one. WCAG 1.4.11 asks 3:1 of a control's boundary and
537
- // the earlier values did not reach it primary/40 came out at 2.85, close
538
- // enough to look deliberate and still short. Callers must not override the
539
- // border: passing `border-border` puts the divider token here, which
540
- // measured 1.35:1 and 1.14:1, and a divider is meant to go unnoticed.
541
- // Checked and indeterminate share the filled appearance; declaring both
542
- // here keeps the control self-sufficient without host overrides.
543
- //
544
- // The box stays 16px and the target does not: `before` stretches an
545
- // invisible 24px square from the centre, which is WCAG 2.5.8's floor.
546
- // The exemption for a bare browser checkbox does not cover a styled one,
547
- // and this is styled. Growing the box instead would make every dense
548
- // table heavier for a rule about pointers, so the box and the thing you
549
- // can hit are allowed to differ.
550
- "peer relative h-4 w-4 shrink-0 rounded-none border border-primary/50 ring-offset-background before:absolute before:left-1/2 before:top-1/2 before:h-6 before:w-6 before:-translate-x-1/2 before:-translate-y-1/2 before:content-[''] focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary transition-all duration-200",
659
+ // Resting border uses border-input (a visible 3:1 boundary); the checked
660
+ // state switches to border-primary below, keeping the two states distinct.
661
+ "peer relative h-4 w-4 shrink-0 rounded-none border border-input ring-offset-background before:absolute before:left-1/2 before:top-1/2 before:h-6 before:w-6 before:-translate-x-1/2 before:-translate-y-1/2 before:content-[''] focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary transition-all duration-200",
551
662
  className
552
663
  ),
553
664
  ...props,
554
- children: /* @__PURE__ */ jsx(
665
+ children: /* @__PURE__ */ jsx15(
555
666
  CheckboxPrimitive.Indicator,
556
667
  {
557
668
  className: cn("flex items-center justify-center text-current"),
558
- children: indeterminate ? /* @__PURE__ */ jsx(Minus, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx(Check, { className: "h-3 w-3" })
669
+ children: indeterminate ? /* @__PURE__ */ jsx15(Minus, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx15(Check, { className: "h-3 w-3" })
559
670
  }
560
671
  )
561
672
  }
562
673
  ));
563
674
  Checkbox.displayName = "Checkbox";
564
- var RadioGroup = forwardRef(({ className, ...props }, ref) => {
565
- return /* @__PURE__ */ jsx(
675
+
676
+ // src/components/radio-group.tsx
677
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
678
+ import { forwardRef as forwardRef12 } from "react";
679
+ import { jsx as jsx16 } from "react/jsx-runtime";
680
+ var RadioGroup = forwardRef12(({ className, ...props }, ref) => {
681
+ return /* @__PURE__ */ jsx16(
566
682
  RadioGroupPrimitive.Root,
567
683
  {
568
684
  className: cn("grid gap-2", className),
@@ -573,8 +689,8 @@ var RadioGroup = forwardRef(({ className, ...props }, ref) => {
573
689
  );
574
690
  });
575
691
  RadioGroup.displayName = "RadioGroup";
576
- var RadioGroupItem = forwardRef(({ className, ...props }, ref) => {
577
- return /* @__PURE__ */ jsx(
692
+ var RadioGroupItem = forwardRef12(({ className, ...props }, ref) => {
693
+ return /* @__PURE__ */ jsx16(
578
694
  RadioGroupPrimitive.Item,
579
695
  {
580
696
  ref,
@@ -582,18 +698,27 @@ var RadioGroupItem = forwardRef(({ className, ...props }, ref) => {
582
698
  className: cn(
583
699
  // Unchecked outline uses primary/40 (clearly visible) instead of primary/5
584
700
  // (~5% opacity, effectively invisible); hover strengthens above the resting state.
585
- "peer h-4 w-4 shrink-0 rounded-none border border-primary/40 bg-background cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 hover:border-primary/70 data-[state=checked]:border-primary data-[state=checked]:border-[5px]",
701
+ // Resting border uses border-input (a visible 3:1 boundary); the checked
702
+ // state switches to border-primary below, keeping the two states distinct.
703
+ "peer h-4 w-4 shrink-0 rounded-none border border-input bg-background cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none focus-visible:outline-none aria-invalid:border-destructive aria-invalid:focus:border-destructive! aria-invalid:focus-visible:border-destructive! disabled:cursor-not-allowed disabled:opacity-50 hover:border-primary/70 data-[state=checked]:border-primary data-[state=checked]:border-[5px]",
586
704
  className
587
705
  ),
588
706
  ...props,
589
- children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, {})
707
+ children: /* @__PURE__ */ jsx16(RadioGroupPrimitive.Indicator, {})
590
708
  }
591
709
  );
592
710
  });
593
711
  RadioGroupItem.displayName = "RadioGroupItem";
712
+
713
+ // src/components/switch.tsx
714
+ import {
715
+ Root as SwitchRoot,
716
+ Thumb as SwitchThumb
717
+ } from "@radix-ui/react-switch";
718
+ import { jsx as jsx17 } from "react/jsx-runtime";
594
719
  function Switch({ className, ...props }) {
595
- return /* @__PURE__ */ jsx(
596
- Root$4,
720
+ return /* @__PURE__ */ jsx17(
721
+ SwitchRoot,
597
722
  {
598
723
  "data-slot": "switch",
599
724
  className: cn(
@@ -603,8 +728,8 @@ function Switch({ className, ...props }) {
603
728
  className
604
729
  ),
605
730
  ...props,
606
- children: /* @__PURE__ */ jsx(
607
- Thumb,
731
+ children: /* @__PURE__ */ jsx17(
732
+ SwitchThumb,
608
733
  {
609
734
  "data-slot": "switch-thumb",
610
735
  className: cn(
@@ -615,12 +740,21 @@ function Switch({ className, ...props }) {
615
740
  }
616
741
  );
617
742
  }
743
+
744
+ // src/components/collapsible.tsx
745
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
618
746
  var Collapsible = CollapsiblePrimitive.Root;
619
747
  var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
620
748
  var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
749
+
750
+ // src/components/accordion.tsx
751
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
752
+ import { ChevronDown } from "lucide-react";
753
+ import { forwardRef as forwardRef13 } from "react";
754
+ import { jsx as jsx18, jsxs as jsxs3 } from "react/jsx-runtime";
621
755
  var Accordion = AccordionPrimitive.Root;
622
- var AccordionItem = forwardRef(
623
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
756
+ var AccordionItem = forwardRef13(
757
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
624
758
  AccordionPrimitive.Item,
625
759
  {
626
760
  ref,
@@ -631,8 +765,8 @@ var AccordionItem = forwardRef(
631
765
  )
632
766
  );
633
767
  AccordionItem.displayName = "AccordionItem";
634
- var AccordionTrigger = forwardRef(
635
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", "data-slot": "accordion-header", children: /* @__PURE__ */ jsxs(
768
+ var AccordionTrigger = forwardRef13(
769
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx18(AccordionPrimitive.Header, { className: "flex", "data-slot": "accordion-header", children: /* @__PURE__ */ jsxs3(
636
770
  AccordionPrimitive.Trigger,
637
771
  {
638
772
  ref,
@@ -644,26 +778,36 @@ var AccordionTrigger = forwardRef(
644
778
  ...props,
645
779
  children: [
646
780
  children,
647
- /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-150 will-change-transform" })
781
+ /* @__PURE__ */ jsx18(ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-150 will-change-transform" })
648
782
  ]
649
783
  }
650
784
  ) })
651
785
  );
652
786
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
653
- var AccordionContent = forwardRef(
654
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
787
+ var AccordionContent = forwardRef13(
788
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx18(
655
789
  AccordionPrimitive.Content,
656
790
  {
657
791
  ref,
658
792
  "data-slot": "accordion-content",
659
793
  className: "overflow-hidden text-sm transition-all will-change-[height] transform-[translateZ(0)] data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
660
794
  ...props,
661
- children: /* @__PURE__ */ jsx("div", { className: cn("pb-4 pt-0", className), children })
795
+ children: /* @__PURE__ */ jsx18("div", { className: cn("pb-4 pt-0", className), children })
662
796
  }
663
797
  )
664
798
  );
665
799
  AccordionContent.displayName = AccordionPrimitive.Content.displayName;
666
- var avatarVariants = cva(
800
+
801
+ // src/components/avatar.tsx
802
+ import {
803
+ Root as AvatarRoot,
804
+ Image as AvatarImagePrimitive,
805
+ Fallback as AvatarFallbackPrimitive
806
+ } from "@radix-ui/react-avatar";
807
+ import { cva as cva7 } from "class-variance-authority";
808
+ import { createContext as createContext2, forwardRef as forwardRef14, useContext as useContext2 } from "react";
809
+ import { jsx as jsx19 } from "react/jsx-runtime";
810
+ var avatarVariants = cva7(
667
811
  "relative inline-flex shrink-0 overflow-hidden rounded-none items-center justify-center bg-primary/5 text-muted-foreground",
668
812
  {
669
813
  variants: {
@@ -692,11 +836,11 @@ var fallbackTextSizeMap = {
692
836
  "2xl": "text-2xl"
693
837
  // 24px for 80px avatar
694
838
  };
695
- var AvatarSizeContext = createContext("md");
696
- var Avatar = forwardRef(
839
+ var AvatarSizeContext = createContext2("md");
840
+ var Avatar = forwardRef14(
697
841
  ({ className, size = "md", ...props }, ref) => {
698
- return /* @__PURE__ */ jsx(AvatarSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx(
699
- Root$1,
842
+ return /* @__PURE__ */ jsx19(AvatarSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx19(
843
+ AvatarRoot,
700
844
  {
701
845
  ref,
702
846
  "data-slot": "avatar",
@@ -707,10 +851,10 @@ var Avatar = forwardRef(
707
851
  }
708
852
  );
709
853
  Avatar.displayName = "Avatar";
710
- var AvatarImage = forwardRef(
854
+ var AvatarImage = forwardRef14(
711
855
  ({ className, ...props }, ref) => {
712
- return /* @__PURE__ */ jsx(
713
- Image,
856
+ return /* @__PURE__ */ jsx19(
857
+ AvatarImagePrimitive,
714
858
  {
715
859
  ref,
716
860
  "data-slot": "avatar-image",
@@ -721,12 +865,12 @@ var AvatarImage = forwardRef(
721
865
  }
722
866
  );
723
867
  AvatarImage.displayName = "AvatarImage";
724
- var AvatarFallback = forwardRef(
868
+ var AvatarFallback = forwardRef14(
725
869
  ({ className, children, ...props }, ref) => {
726
- const size = useContext(AvatarSizeContext) || "md";
870
+ const size = useContext2(AvatarSizeContext) || "md";
727
871
  const textSize = fallbackTextSizeMap[size];
728
- return /* @__PURE__ */ jsx(
729
- Fallback,
872
+ return /* @__PURE__ */ jsx19(
873
+ AvatarFallbackPrimitive,
730
874
  {
731
875
  ref,
732
876
  "data-slot": "avatar-fallback",
@@ -742,9 +886,14 @@ var AvatarFallback = forwardRef(
742
886
  }
743
887
  );
744
888
  AvatarFallback.displayName = "AvatarFallback";
745
- var Tabs = Root$3;
746
- var TabsList = forwardRef(
747
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
889
+
890
+ // src/components/tabs.tsx
891
+ import { Root as Root7, List, Trigger as Trigger3, Content as Content3 } from "@radix-ui/react-tabs";
892
+ import { forwardRef as forwardRef15 } from "react";
893
+ import { jsx as jsx20 } from "react/jsx-runtime";
894
+ var Tabs = Root7;
895
+ var TabsList = forwardRef15(
896
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
748
897
  List,
749
898
  {
750
899
  ref,
@@ -758,42 +907,47 @@ var TabsList = forwardRef(
758
907
  )
759
908
  );
760
909
  TabsList.displayName = List.displayName;
761
- var TabsTrigger = forwardRef(
762
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
763
- Trigger$1,
910
+ var TabsTrigger = forwardRef15(
911
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
912
+ Trigger3,
764
913
  {
765
914
  ref,
766
915
  "data-slot": "tabs-trigger",
767
916
  className: cn(
768
- "inline-flex items-center justify-center whitespace-nowrap rounded-none bg-transparent px-4 py-2 text-sm font-medium cursor-pointer transition-all duration-200 border-b-2 relative -mb-0.5 data-[state=active]:border-b-primary! data-[state=active]:text-primary data-[state=inactive]:border-transparent data-[state=inactive]:text-muted-foreground hover:text-primary hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/20 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
917
+ "inline-flex items-center justify-center whitespace-nowrap rounded-none bg-transparent px-4 py-2 text-sm font-medium cursor-pointer transition-all duration-200 border-b-2 relative -mb-0.5 data-[state=active]:border-b-primary! data-[state=active]:text-primary data-[state=inactive]:border-transparent data-[state=inactive]:text-muted-foreground hover:text-primary hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
769
918
  className
770
919
  ),
771
920
  ...props
772
921
  }
773
922
  )
774
923
  );
775
- TabsTrigger.displayName = Trigger$1.displayName;
776
- var TabsContent = forwardRef(
777
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
778
- Content$1,
924
+ TabsTrigger.displayName = Trigger3.displayName;
925
+ var TabsContent = forwardRef15(
926
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
927
+ Content3,
779
928
  {
780
929
  ref,
781
930
  "data-slot": "tabs-content",
782
931
  className: cn(
783
- "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/20 focus-visible:ring-offset-2",
932
+ "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
784
933
  className
785
934
  ),
786
935
  ...props
787
936
  }
788
937
  )
789
938
  );
790
- TabsContent.displayName = Content$1.displayName;
939
+ TabsContent.displayName = Content3.displayName;
940
+
941
+ // src/components/popover.tsx
942
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
943
+ import * as React5 from "react";
944
+ import { jsx as jsx21 } from "react/jsx-runtime";
791
945
  var Popover = PopoverPrimitive.Root;
792
946
  var PopoverTrigger = PopoverPrimitive.Trigger;
793
947
  var PopoverAnchor = PopoverPrimitive.Anchor;
794
- var PopoverContent = React6.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => {
948
+ var PopoverContent = React5.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => {
795
949
  const portalContainer = usePortalContainer();
796
- return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(
950
+ return /* @__PURE__ */ jsx21(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx21(
797
951
  PopoverPrimitive.Content,
798
952
  {
799
953
  ref,
@@ -809,11 +963,18 @@ var PopoverContent = React6.forwardRef(({ className, align = "center", sideOffse
809
963
  ) });
810
964
  });
811
965
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
966
+
967
+ // src/components/dialog.tsx
968
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
969
+ import { cva as cva8 } from "class-variance-authority";
970
+ import { X } from "lucide-react";
971
+ import { forwardRef as forwardRef17 } from "react";
972
+ import { jsx as jsx22, jsxs as jsxs4 } from "react/jsx-runtime";
812
973
  var Dialog = DialogPrimitive.Root;
813
974
  var DialogTrigger = DialogPrimitive.Trigger;
814
975
  var DialogPortal = DialogPrimitive.Portal;
815
976
  var DialogClose = DialogPrimitive.Close;
816
- var DialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
977
+ var DialogOverlay = forwardRef17(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
817
978
  DialogPrimitive.Overlay,
818
979
  {
819
980
  ref,
@@ -826,7 +987,7 @@ var DialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
826
987
  }
827
988
  ));
828
989
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
829
- var dialogContentVariants = cva("", {
990
+ var dialogContentVariants = cva8("", {
830
991
  variants: {
831
992
  size: {
832
993
  sm: "max-w-sm",
@@ -840,11 +1001,11 @@ var dialogContentVariants = cva("", {
840
1001
  size: "md"
841
1002
  }
842
1003
  });
843
- var DialogContent = forwardRef(({ className, children, size, ...props }, ref) => {
1004
+ var DialogContent = forwardRef17(({ className, children, size, ...props }, ref) => {
844
1005
  const portalContainer = usePortalContainer();
845
- return /* @__PURE__ */ jsxs(DialogPortal, { container: portalContainer, children: [
846
- /* @__PURE__ */ jsx(DialogOverlay, {}),
847
- /* @__PURE__ */ jsxs(
1006
+ return /* @__PURE__ */ jsxs4(DialogPortal, { container: portalContainer, children: [
1007
+ /* @__PURE__ */ jsx22(DialogOverlay, {}),
1008
+ /* @__PURE__ */ jsxs4(
848
1009
  DialogPrimitive.Content,
849
1010
  {
850
1011
  ref,
@@ -857,14 +1018,14 @@ var DialogContent = forwardRef(({ className, children, size, ...props }, ref) =>
857
1018
  ...props,
858
1019
  children: [
859
1020
  children,
860
- /* @__PURE__ */ jsxs(
1021
+ /* @__PURE__ */ jsxs4(
861
1022
  DialogPrimitive.Close,
862
1023
  {
863
1024
  "data-slot": "dialog-close",
864
1025
  className: "absolute right-4 top-4 rounded-none p-1 text-muted-foreground cursor-pointer transition-colors duration-150 hover-unified focus:outline-none focus:ring-2 focus:ring-ring disabled:pointer-events-none disabled:cursor-not-allowed",
865
1026
  children: [
866
- /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
867
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
1027
+ /* @__PURE__ */ jsx22(X, { className: "h-4 w-4" }),
1028
+ /* @__PURE__ */ jsx22("span", { className: "sr-only", children: "Close" })
868
1029
  ]
869
1030
  }
870
1031
  )
@@ -874,8 +1035,8 @@ var DialogContent = forwardRef(({ className, children, size, ...props }, ref) =>
874
1035
  ] });
875
1036
  });
876
1037
  DialogContent.displayName = DialogPrimitive.Content.displayName;
877
- var DialogHeader = forwardRef(
878
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1038
+ var DialogHeader = forwardRef17(
1039
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
879
1040
  "div",
880
1041
  {
881
1042
  ref,
@@ -888,8 +1049,8 @@ var DialogHeader = forwardRef(
888
1049
  )
889
1050
  );
890
1051
  DialogHeader.displayName = "DialogHeader";
891
- var DialogFooter = forwardRef(
892
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1052
+ var DialogFooter = forwardRef17(
1053
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
893
1054
  "div",
894
1055
  {
895
1056
  ref,
@@ -902,7 +1063,7 @@ var DialogFooter = forwardRef(
902
1063
  )
903
1064
  );
904
1065
  DialogFooter.displayName = "DialogFooter";
905
- var DialogTitle = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1066
+ var DialogTitle = forwardRef17(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
906
1067
  DialogPrimitive.Title,
907
1068
  {
908
1069
  ref,
@@ -914,7 +1075,7 @@ var DialogTitle = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
914
1075
  }
915
1076
  ));
916
1077
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
917
- var DialogDescription = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1078
+ var DialogDescription = forwardRef17(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
918
1079
  DialogPrimitive.Description,
919
1080
  {
920
1081
  ref,
@@ -923,10 +1084,17 @@ var DialogDescription = forwardRef(({ className, ...props }, ref) => /* @__PURE_
923
1084
  }
924
1085
  ));
925
1086
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
1087
+
1088
+ // src/components/alert-dialog.tsx
1089
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
1090
+ import {
1091
+ forwardRef as forwardRef18
1092
+ } from "react";
1093
+ import { jsx as jsx23, jsxs as jsxs5 } from "react/jsx-runtime";
926
1094
  var AlertDialog = AlertDialogPrimitive.Root;
927
1095
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
928
1096
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
929
- var AlertDialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1097
+ var AlertDialogOverlay = forwardRef18(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
930
1098
  AlertDialogPrimitive.Overlay,
931
1099
  {
932
1100
  ref,
@@ -938,11 +1106,11 @@ var AlertDialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PURE
938
1106
  }
939
1107
  ));
940
1108
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
941
- var AlertDialogContent = forwardRef(({ className, ...props }, ref) => {
1109
+ var AlertDialogContent = forwardRef18(({ className, ...props }, ref) => {
942
1110
  const portalContainer = usePortalContainer();
943
- return /* @__PURE__ */ jsxs(AlertDialogPortal, { container: portalContainer, children: [
944
- /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
945
- /* @__PURE__ */ jsx(
1111
+ return /* @__PURE__ */ jsxs5(AlertDialogPortal, { container: portalContainer, children: [
1112
+ /* @__PURE__ */ jsx23(AlertDialogOverlay, {}),
1113
+ /* @__PURE__ */ jsx23(
946
1114
  AlertDialogPrimitive.Content,
947
1115
  {
948
1116
  ref,
@@ -956,8 +1124,8 @@ var AlertDialogContent = forwardRef(({ className, ...props }, ref) => {
956
1124
  ] });
957
1125
  });
958
1126
  AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
959
- var AlertDialogHeader = forwardRef(
960
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1127
+ var AlertDialogHeader = forwardRef18(
1128
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
961
1129
  "div",
962
1130
  {
963
1131
  ref,
@@ -970,8 +1138,8 @@ var AlertDialogHeader = forwardRef(
970
1138
  )
971
1139
  );
972
1140
  AlertDialogHeader.displayName = "AlertDialogHeader";
973
- var AlertDialogFooter = forwardRef(
974
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1141
+ var AlertDialogFooter = forwardRef18(
1142
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
975
1143
  "div",
976
1144
  {
977
1145
  ref,
@@ -984,7 +1152,7 @@ var AlertDialogFooter = forwardRef(
984
1152
  )
985
1153
  );
986
1154
  AlertDialogFooter.displayName = "AlertDialogFooter";
987
- var AlertDialogTitle = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1155
+ var AlertDialogTitle = forwardRef18(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
988
1156
  AlertDialogPrimitive.Title,
989
1157
  {
990
1158
  ref,
@@ -996,7 +1164,7 @@ var AlertDialogTitle = forwardRef(({ className, ...props }, ref) => /* @__PURE__
996
1164
  }
997
1165
  ));
998
1166
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
999
- var AlertDialogDescription = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1167
+ var AlertDialogDescription = forwardRef18(({ className, ...props }, ref) => /* @__PURE__ */ jsx23(
1000
1168
  AlertDialogPrimitive.Description,
1001
1169
  {
1002
1170
  ref,
@@ -1005,7 +1173,7 @@ var AlertDialogDescription = forwardRef(({ className, ...props }, ref) => /* @__
1005
1173
  }
1006
1174
  ));
1007
1175
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
1008
- var AlertDialogAction = forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
1176
+ var AlertDialogAction = forwardRef18(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx23(
1009
1177
  AlertDialogPrimitive.Action,
1010
1178
  {
1011
1179
  ref,
@@ -1015,7 +1183,7 @@ var AlertDialogAction = forwardRef(({ className, children, ...props }, ref) => /
1015
1183
  }
1016
1184
  ));
1017
1185
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
1018
- var AlertDialogCancel = forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
1186
+ var AlertDialogCancel = forwardRef18(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx23(
1019
1187
  AlertDialogPrimitive.Cancel,
1020
1188
  {
1021
1189
  ref,
@@ -1029,6 +1197,12 @@ var AlertDialogCancel = forwardRef(({ className, children, ...props }, ref) => /
1029
1197
  }
1030
1198
  ));
1031
1199
  AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
1200
+
1201
+ // src/components/dropdown-menu.tsx
1202
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
1203
+ import { Check as Check2, ChevronRight, Circle } from "lucide-react";
1204
+ import * as React6 from "react";
1205
+ import { jsx as jsx24, jsxs as jsxs6 } from "react/jsx-runtime";
1032
1206
  var DropdownMenu = DropdownMenuPrimitive.Root;
1033
1207
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1034
1208
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -1036,7 +1210,7 @@ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1036
1210
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1037
1211
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
1038
1212
  var menuItemBase = "cursor-pointer transition-colors data-[highlighted]:bg-muted data-[highlighted]:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1039
- var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1213
+ var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1040
1214
  DropdownMenuPrimitive.SubTrigger,
1041
1215
  {
1042
1216
  ref,
@@ -1049,12 +1223,12 @@ var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ..
1049
1223
  ...props,
1050
1224
  children: [
1051
1225
  children,
1052
- /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto" })
1226
+ /* @__PURE__ */ jsx24(ChevronRight, { className: "ml-auto" })
1053
1227
  ]
1054
1228
  }
1055
1229
  ));
1056
1230
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1057
- var DropdownMenuSubContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1231
+ var DropdownMenuSubContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
1058
1232
  DropdownMenuPrimitive.SubContent,
1059
1233
  {
1060
1234
  ref,
@@ -1068,7 +1242,7 @@ var DropdownMenuSubContent = React6.forwardRef(({ className, ...props }, ref) =>
1068
1242
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1069
1243
  var DropdownMenuContent = React6.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
1070
1244
  const portalContainer = usePortalContainer();
1071
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(
1245
+ return /* @__PURE__ */ jsx24(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx24(
1072
1246
  DropdownMenuPrimitive.Content,
1073
1247
  {
1074
1248
  ref,
@@ -1082,7 +1256,7 @@ var DropdownMenuContent = React6.forwardRef(({ className, sideOffset = 4, ...pro
1082
1256
  ) });
1083
1257
  });
1084
1258
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1085
- var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1259
+ var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx24(
1086
1260
  DropdownMenuPrimitive.Item,
1087
1261
  {
1088
1262
  ref,
@@ -1096,7 +1270,7 @@ var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) =
1096
1270
  }
1097
1271
  ));
1098
1272
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1099
- var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
1273
+ var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs6(
1100
1274
  DropdownMenuPrimitive.CheckboxItem,
1101
1275
  {
1102
1276
  ref,
@@ -1108,13 +1282,13 @@ var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked
1108
1282
  checked,
1109
1283
  ...props,
1110
1284
  children: [
1111
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
1285
+ /* @__PURE__ */ jsx24("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(Check2, { className: "h-4 w-4" }) }) }),
1112
1286
  children
1113
1287
  ]
1114
1288
  }
1115
1289
  ));
1116
1290
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1117
- var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1291
+ var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1118
1292
  DropdownMenuPrimitive.RadioItem,
1119
1293
  {
1120
1294
  ref,
@@ -1125,13 +1299,13 @@ var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }
1125
1299
  ),
1126
1300
  ...props,
1127
1301
  children: [
1128
- /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
1302
+ /* @__PURE__ */ jsx24("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(Circle, { className: "h-2 w-2 fill-current" }) }) }),
1129
1303
  children
1130
1304
  ]
1131
1305
  }
1132
1306
  ));
1133
1307
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1134
- var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1308
+ var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx24(
1135
1309
  DropdownMenuPrimitive.Label,
1136
1310
  {
1137
1311
  ref,
@@ -1144,7 +1318,7 @@ var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref)
1144
1318
  }
1145
1319
  ));
1146
1320
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1147
- var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1321
+ var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
1148
1322
  DropdownMenuPrimitive.Separator,
1149
1323
  {
1150
1324
  ref,
@@ -1154,7 +1328,7 @@ var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) =>
1154
1328
  ));
1155
1329
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1156
1330
  var DropdownMenuShortcut = React6.forwardRef(({ className, ...props }, ref) => {
1157
- return /* @__PURE__ */ jsx(
1331
+ return /* @__PURE__ */ jsx24(
1158
1332
  "span",
1159
1333
  {
1160
1334
  ref,
@@ -1164,21 +1338,30 @@ var DropdownMenuShortcut = React6.forwardRef(({ className, ...props }, ref) => {
1164
1338
  );
1165
1339
  });
1166
1340
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1341
+
1342
+ // src/components/select.tsx
1343
+ import * as SelectPrimitive from "@radix-ui/react-select";
1344
+ import { cva as cva9 } from "class-variance-authority";
1345
+ import { Check as Check3, ChevronDown as ChevronDown2, ChevronUp } from "lucide-react";
1346
+ import { forwardRef as forwardRef20 } from "react";
1347
+ import { jsx as jsx25, jsxs as jsxs7 } from "react/jsx-runtime";
1167
1348
  function Select({ ...props }) {
1168
- return /* @__PURE__ */ jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
1349
+ return /* @__PURE__ */ jsx25(SelectPrimitive.Root, { "data-slot": "select", ...props });
1169
1350
  }
1170
1351
  function SelectGroup({
1171
1352
  ...props
1172
1353
  }) {
1173
- return /* @__PURE__ */ jsx(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
1354
+ return /* @__PURE__ */ jsx25(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
1174
1355
  }
1175
1356
  function SelectValue({
1176
1357
  ...props
1177
1358
  }) {
1178
- return /* @__PURE__ */ jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1359
+ return /* @__PURE__ */ jsx25(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1179
1360
  }
1180
- var selectTriggerVariants = cva(
1181
- "flex w-full items-center justify-between gap-2 rounded-none border border-input bg-background px-3 text-sm text-foreground cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary/30 disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 data-[placeholder]:text-muted-foreground aria-[invalid=true]:border-destructive aria-[invalid=true]:focus:border-destructive! [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",
1361
+ var selectTriggerVariants = cva9(
1362
+ // hover:border-primary (full strength) keeps the hover boundary more visible
1363
+ // than the resting border-input, not a fainter alpha of it.
1364
+ "flex w-full items-center justify-between gap-2 rounded-none border border-input bg-background px-3 text-sm text-foreground cursor-pointer transition-all duration-150 focus:border-primary! focus-visible:border-primary! focus:outline-none hover:border-primary disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-primary/5 data-[placeholder]:text-muted-foreground aria-[invalid=true]:border-destructive aria-[invalid=true]:focus:border-destructive! [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-4",
1182
1365
  {
1183
1366
  variants: {
1184
1367
  size: {
@@ -1192,8 +1375,8 @@ var selectTriggerVariants = cva(
1192
1375
  }
1193
1376
  }
1194
1377
  );
1195
- var SelectTrigger = forwardRef(({ className, size, children, ...props }, ref) => {
1196
- return /* @__PURE__ */ jsxs(
1378
+ var SelectTrigger = forwardRef20(({ className, size, children, ...props }, ref) => {
1379
+ return /* @__PURE__ */ jsxs7(
1197
1380
  SelectPrimitive.Trigger,
1198
1381
  {
1199
1382
  ref,
@@ -1202,7 +1385,7 @@ var SelectTrigger = forwardRef(({ className, size, children, ...props }, ref) =>
1202
1385
  ...props,
1203
1386
  children: [
1204
1387
  children,
1205
- /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4 opacity-50" }) })
1388
+ /* @__PURE__ */ jsx25(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx25(ChevronDown2, { className: "size-4 opacity-50" }) })
1206
1389
  ]
1207
1390
  }
1208
1391
  );
@@ -1215,7 +1398,7 @@ function SelectContent({
1215
1398
  ...props
1216
1399
  }) {
1217
1400
  const portalContainer = usePortalContainer();
1218
- return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs(
1401
+ return /* @__PURE__ */ jsx25(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs7(
1219
1402
  SelectPrimitive.Content,
1220
1403
  {
1221
1404
  "data-slot": "select-content",
@@ -1227,8 +1410,8 @@ function SelectContent({
1227
1410
  position,
1228
1411
  ...props,
1229
1412
  children: [
1230
- /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
1231
- /* @__PURE__ */ jsx(
1413
+ /* @__PURE__ */ jsx25(SelectScrollUpButton, {}),
1414
+ /* @__PURE__ */ jsx25(
1232
1415
  SelectPrimitive.Viewport,
1233
1416
  {
1234
1417
  className: cn(
@@ -1238,7 +1421,7 @@ function SelectContent({
1238
1421
  children
1239
1422
  }
1240
1423
  ),
1241
- /* @__PURE__ */ jsx(SelectScrollDownButton, {})
1424
+ /* @__PURE__ */ jsx25(SelectScrollDownButton, {})
1242
1425
  ]
1243
1426
  }
1244
1427
  ) });
@@ -1247,7 +1430,7 @@ function SelectLabel({
1247
1430
  className,
1248
1431
  ...props
1249
1432
  }) {
1250
- return /* @__PURE__ */ jsx(
1433
+ return /* @__PURE__ */ jsx25(
1251
1434
  SelectPrimitive.Label,
1252
1435
  {
1253
1436
  "data-slot": "select-label",
@@ -1261,7 +1444,7 @@ function SelectItem({
1261
1444
  children,
1262
1445
  ...props
1263
1446
  }) {
1264
- return /* @__PURE__ */ jsxs(
1447
+ return /* @__PURE__ */ jsxs7(
1265
1448
  SelectPrimitive.Item,
1266
1449
  {
1267
1450
  "data-slot": "select-item",
@@ -1271,8 +1454,8 @@ function SelectItem({
1271
1454
  ),
1272
1455
  ...props,
1273
1456
  children: [
1274
- /* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-4" }) }) }),
1275
- /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
1457
+ /* @__PURE__ */ jsx25("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(Check3, { className: "size-4" }) }) }),
1458
+ /* @__PURE__ */ jsx25(SelectPrimitive.ItemText, { children })
1276
1459
  ]
1277
1460
  }
1278
1461
  );
@@ -1281,7 +1464,7 @@ function SelectSeparator({
1281
1464
  className,
1282
1465
  ...props
1283
1466
  }) {
1284
- return /* @__PURE__ */ jsx(
1467
+ return /* @__PURE__ */ jsx25(
1285
1468
  SelectPrimitive.Separator,
1286
1469
  {
1287
1470
  "data-slot": "select-separator",
@@ -1294,7 +1477,7 @@ function SelectScrollUpButton({
1294
1477
  className,
1295
1478
  ...props
1296
1479
  }) {
1297
- return /* @__PURE__ */ jsx(
1480
+ return /* @__PURE__ */ jsx25(
1298
1481
  SelectPrimitive.ScrollUpButton,
1299
1482
  {
1300
1483
  "data-slot": "select-scroll-up-button",
@@ -1303,7 +1486,7 @@ function SelectScrollUpButton({
1303
1486
  className
1304
1487
  ),
1305
1488
  ...props,
1306
- children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-4" })
1489
+ children: /* @__PURE__ */ jsx25(ChevronUp, { className: "size-4" })
1307
1490
  }
1308
1491
  );
1309
1492
  }
@@ -1311,7 +1494,7 @@ function SelectScrollDownButton({
1311
1494
  className,
1312
1495
  ...props
1313
1496
  }) {
1314
- return /* @__PURE__ */ jsx(
1497
+ return /* @__PURE__ */ jsx25(
1315
1498
  SelectPrimitive.ScrollDownButton,
1316
1499
  {
1317
1500
  "data-slot": "select-scroll-down-button",
@@ -1320,16 +1503,22 @@ function SelectScrollDownButton({
1320
1503
  className
1321
1504
  ),
1322
1505
  ...props,
1323
- children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4" })
1506
+ children: /* @__PURE__ */ jsx25(ChevronDown2, { className: "size-4" })
1324
1507
  }
1325
1508
  );
1326
1509
  }
1327
- var Sheet = DialogPrimitive.Root;
1328
- var SheetTrigger = DialogPrimitive.Trigger;
1329
- var SheetClose = DialogPrimitive.Close;
1330
- var SheetPortal = DialogPrimitive.Portal;
1331
- var SheetOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1332
- DialogPrimitive.Overlay,
1510
+
1511
+ // src/components/sheet.tsx
1512
+ import * as DialogPrimitive2 from "@radix-ui/react-dialog";
1513
+ import { cva as cva10 } from "class-variance-authority";
1514
+ import * as React7 from "react";
1515
+ import { jsx as jsx26, jsxs as jsxs8 } from "react/jsx-runtime";
1516
+ var Sheet = DialogPrimitive2.Root;
1517
+ var SheetTrigger = DialogPrimitive2.Trigger;
1518
+ var SheetClose = DialogPrimitive2.Close;
1519
+ var SheetPortal = DialogPrimitive2.Portal;
1520
+ var SheetOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1521
+ DialogPrimitive2.Overlay,
1333
1522
  {
1334
1523
  className: cn(
1335
1524
  "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",
@@ -1341,8 +1530,8 @@ var SheetOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PUR
1341
1530
  ref
1342
1531
  }
1343
1532
  ));
1344
- SheetOverlay.displayName = DialogPrimitive.Overlay.displayName;
1345
- var sheetVariants = cva(
1533
+ SheetOverlay.displayName = DialogPrimitive2.Overlay.displayName;
1534
+ var sheetVariants = cva10(
1346
1535
  "fixed z-50 gap-4 bg-background p-6 shadow-lg will-change-transform transition ease-in-out data-[state=closed]:duration-150 data-[state=open]:duration-150 data-[state=open]:animate-in data-[state=closed]:animate-out",
1347
1536
  {
1348
1537
  variants: {
@@ -1358,12 +1547,12 @@ var sheetVariants = cva(
1358
1547
  }
1359
1548
  }
1360
1549
  );
1361
- var SheetContent = React6.forwardRef(({ side = "right", className, children, ...props }, ref) => {
1550
+ var SheetContent = React7.forwardRef(({ side = "right", className, children, ...props }, ref) => {
1362
1551
  const portalContainer = usePortalContainer();
1363
- return /* @__PURE__ */ jsxs(SheetPortal, { container: portalContainer, children: [
1364
- /* @__PURE__ */ jsx(SheetOverlay, {}),
1365
- /* @__PURE__ */ jsx(
1366
- DialogPrimitive.Content,
1552
+ return /* @__PURE__ */ jsxs8(SheetPortal, { container: portalContainer, children: [
1553
+ /* @__PURE__ */ jsx26(SheetOverlay, {}),
1554
+ /* @__PURE__ */ jsx26(
1555
+ DialogPrimitive2.Content,
1367
1556
  {
1368
1557
  ref,
1369
1558
  "data-slot": "sheet-content",
@@ -1374,11 +1563,11 @@ var SheetContent = React6.forwardRef(({ side = "right", className, children, ...
1374
1563
  )
1375
1564
  ] });
1376
1565
  });
1377
- SheetContent.displayName = DialogPrimitive.Content.displayName;
1566
+ SheetContent.displayName = DialogPrimitive2.Content.displayName;
1378
1567
  var SheetHeader = ({
1379
1568
  className,
1380
1569
  ...props
1381
- }) => /* @__PURE__ */ jsx(
1570
+ }) => /* @__PURE__ */ jsx26(
1382
1571
  "div",
1383
1572
  {
1384
1573
  className: cn(
@@ -1392,7 +1581,7 @@ SheetHeader.displayName = "SheetHeader";
1392
1581
  var SheetFooter = ({
1393
1582
  className,
1394
1583
  ...props
1395
- }) => /* @__PURE__ */ jsx(
1584
+ }) => /* @__PURE__ */ jsx26(
1396
1585
  "div",
1397
1586
  {
1398
1587
  className: cn(
@@ -1403,27 +1592,34 @@ var SheetFooter = ({
1403
1592
  }
1404
1593
  );
1405
1594
  SheetFooter.displayName = "SheetFooter";
1406
- var SheetTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1407
- DialogPrimitive.Title,
1595
+ var SheetTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1596
+ DialogPrimitive2.Title,
1408
1597
  {
1409
1598
  ref,
1410
1599
  className: cn("text-lg font-semibold text-foreground", className),
1411
1600
  ...props
1412
1601
  }
1413
1602
  ));
1414
- SheetTitle.displayName = DialogPrimitive.Title.displayName;
1415
- var SheetDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1416
- DialogPrimitive.Description,
1603
+ SheetTitle.displayName = DialogPrimitive2.Title.displayName;
1604
+ var SheetDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1605
+ DialogPrimitive2.Description,
1417
1606
  {
1418
1607
  ref,
1419
1608
  className: cn("text-sm text-muted-foreground", className),
1420
1609
  ...props
1421
1610
  }
1422
1611
  ));
1423
- SheetDescription.displayName = DialogPrimitive.Description.displayName;
1424
- var Command = forwardRef(
1425
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1426
- Command$1,
1612
+ SheetDescription.displayName = DialogPrimitive2.Description.displayName;
1613
+
1614
+ // src/components/command.tsx
1615
+ import * as DialogPrimitive3 from "@radix-ui/react-dialog";
1616
+ import { Command as CommandPrimitive } from "cmdk";
1617
+ import { Search } from "lucide-react";
1618
+ import { forwardRef as forwardRef22 } from "react";
1619
+ import { jsx as jsx27, jsxs as jsxs9 } from "react/jsx-runtime";
1620
+ var Command = forwardRef22(
1621
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1622
+ CommandPrimitive,
1427
1623
  {
1428
1624
  ref,
1429
1625
  className: cn(
@@ -1435,8 +1631,8 @@ var Command = forwardRef(
1435
1631
  )
1436
1632
  );
1437
1633
  Command.displayName = "Command";
1438
- var CommandDialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1439
- DialogPrimitive.Overlay,
1634
+ var CommandDialogOverlay = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1635
+ DialogPrimitive3.Overlay,
1440
1636
  {
1441
1637
  ref,
1442
1638
  className: cn(
@@ -1452,10 +1648,10 @@ var CommandDialogOverlay = forwardRef(({ className, ...props }, ref) => /* @__PU
1452
1648
  CommandDialogOverlay.displayName = "CommandDialogOverlay";
1453
1649
  var CommandDialog = ({ children, ...props }) => {
1454
1650
  const portalContainer = usePortalContainer();
1455
- return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...props, children: /* @__PURE__ */ jsxs(DialogPrimitive.Portal, { container: portalContainer, children: [
1456
- /* @__PURE__ */ jsx(CommandDialogOverlay, {}),
1457
- /* @__PURE__ */ jsx(
1458
- DialogPrimitive.Content,
1651
+ return /* @__PURE__ */ jsx27(DialogPrimitive3.Root, { ...props, children: /* @__PURE__ */ jsxs9(DialogPrimitive3.Portal, { container: portalContainer, children: [
1652
+ /* @__PURE__ */ jsx27(CommandDialogOverlay, {}),
1653
+ /* @__PURE__ */ jsx27(
1654
+ DialogPrimitive3.Content,
1459
1655
  {
1460
1656
  "data-slot": "command-content",
1461
1657
  className: cn(
@@ -1482,20 +1678,20 @@ var CommandDialog = ({ children, ...props }) => {
1482
1678
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
1483
1679
  "data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%]"
1484
1680
  ),
1485
- children: /* @__PURE__ */ jsx(Command, { className: "[&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-2 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wide [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:mb-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-3 [&_[cmdk-item]]:py-2 [&_[cmdk-item]_svg]:h-4 [&_[cmdk-item]_svg]:w-4", children })
1681
+ children: /* @__PURE__ */ jsx27(Command, { className: "[&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-2 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wide [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:mb-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-3 [&_[cmdk-item]]:py-2 [&_[cmdk-item]_svg]:h-4 [&_[cmdk-item]_svg]:w-4", children })
1486
1682
  }
1487
1683
  )
1488
1684
  ] }) });
1489
1685
  };
1490
- var CommandInput = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(
1686
+ var CommandInput = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsxs9(
1491
1687
  "div",
1492
1688
  {
1493
1689
  className: "flex items-center border-b border-border px-4",
1494
1690
  "cmdk-input-wrapper": "",
1495
1691
  children: [
1496
- /* @__PURE__ */ jsx(Search, { className: "mr-3 h-5 w-5 shrink-0 text-muted-foreground" }),
1497
- /* @__PURE__ */ jsx(
1498
- Command$1.Input,
1692
+ /* @__PURE__ */ jsx27(Search, { className: "mr-3 h-5 w-5 shrink-0 text-muted-foreground" }),
1693
+ /* @__PURE__ */ jsx27(
1694
+ CommandPrimitive.Input,
1499
1695
  {
1500
1696
  ref,
1501
1697
  className: cn(
@@ -1519,8 +1715,8 @@ var CommandInput = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
1519
1715
  }
1520
1716
  ));
1521
1717
  CommandInput.displayName = "CommandInput";
1522
- var CommandList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1523
- Command$1.List,
1718
+ var CommandList = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1719
+ CommandPrimitive.List,
1524
1720
  {
1525
1721
  ref,
1526
1722
  className: cn(
@@ -1534,8 +1730,8 @@ var CommandList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
1534
1730
  }
1535
1731
  ));
1536
1732
  CommandList.displayName = "CommandList";
1537
- var CommandEmpty = forwardRef((props, ref) => /* @__PURE__ */ jsx(
1538
- Command$1.Empty,
1733
+ var CommandEmpty = forwardRef22((props, ref) => /* @__PURE__ */ jsx27(
1734
+ CommandPrimitive.Empty,
1539
1735
  {
1540
1736
  ref,
1541
1737
  className: "py-8 px-4 text-center text-sm text-muted-foreground",
@@ -1543,8 +1739,8 @@ var CommandEmpty = forwardRef((props, ref) => /* @__PURE__ */ jsx(
1543
1739
  }
1544
1740
  ));
1545
1741
  CommandEmpty.displayName = "CommandEmpty";
1546
- var CommandGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1547
- Command$1.Group,
1742
+ var CommandGroup = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1743
+ CommandPrimitive.Group,
1548
1744
  {
1549
1745
  ref,
1550
1746
  className: cn(
@@ -1558,8 +1754,8 @@ var CommandGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
1558
1754
  }
1559
1755
  ));
1560
1756
  CommandGroup.displayName = "CommandGroup";
1561
- var CommandSeparator = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1562
- Command$1.Separator,
1757
+ var CommandSeparator = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1758
+ CommandPrimitive.Separator,
1563
1759
  {
1564
1760
  ref,
1565
1761
  className: cn("h-px bg-border my-2", className),
@@ -1567,8 +1763,8 @@ var CommandSeparator = forwardRef(({ className, ...props }, ref) => /* @__PURE__
1567
1763
  }
1568
1764
  ));
1569
1765
  CommandSeparator.displayName = "CommandSeparator";
1570
- var CommandItem = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1571
- Command$1.Item,
1766
+ var CommandItem = forwardRef22(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1767
+ CommandPrimitive.Item,
1572
1768
  {
1573
1769
  ref,
1574
1770
  className: cn(
@@ -1596,9 +1792,9 @@ var CommandItem = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
1596
1792
  }
1597
1793
  ));
1598
1794
  CommandItem.displayName = "CommandItem";
1599
- var CommandShortcut = forwardRef(
1795
+ var CommandShortcut = forwardRef22(
1600
1796
  ({ className, ...props }, ref) => {
1601
- return /* @__PURE__ */ jsx(
1797
+ return /* @__PURE__ */ jsx27(
1602
1798
  "span",
1603
1799
  {
1604
1800
  ref,
@@ -1620,7 +1816,13 @@ var CommandShortcut = forwardRef(
1620
1816
  }
1621
1817
  );
1622
1818
  CommandShortcut.displayName = "CommandShortcut";
1623
- var spinnerVariants = cva("animate-spin motion-reduce:animate-none", {
1819
+
1820
+ // src/components/spinner.tsx
1821
+ import { cva as cva11 } from "class-variance-authority";
1822
+ import { Loader2 } from "lucide-react";
1823
+ import { forwardRef as forwardRef23 } from "react";
1824
+ import { jsx as jsx28 } from "react/jsx-runtime";
1825
+ var spinnerVariants = cva11("animate-spin motion-reduce:animate-none", {
1624
1826
  variants: {
1625
1827
  size: {
1626
1828
  sm: "h-4 w-4",
@@ -1632,9 +1834,9 @@ var spinnerVariants = cva("animate-spin motion-reduce:animate-none", {
1632
1834
  size: "md"
1633
1835
  }
1634
1836
  });
1635
- var Spinner = forwardRef(
1837
+ var Spinner = forwardRef23(
1636
1838
  ({ size = "md", className, "aria-label": ariaLabel = "Loading", ...props }, ref) => {
1637
- return /* @__PURE__ */ jsx(
1839
+ return /* @__PURE__ */ jsx28(
1638
1840
  Loader2,
1639
1841
  {
1640
1842
  ref,
@@ -1647,9 +1849,20 @@ var Spinner = forwardRef(
1647
1849
  }
1648
1850
  );
1649
1851
  Spinner.displayName = "Spinner";
1852
+
1853
+ // src/components/toaster.tsx
1854
+ import {
1855
+ CheckCircle2,
1856
+ AlertCircle,
1857
+ AlertTriangle,
1858
+ XCircle,
1859
+ Loader2 as Loader22
1860
+ } from "lucide-react";
1861
+ import { toast, Toaster as Sonner } from "sonner";
1862
+ import { jsx as jsx29 } from "react/jsx-runtime";
1650
1863
  function Toaster({ theme = "system", ...props }) {
1651
- return /* @__PURE__ */ jsx(
1652
- Toaster$1,
1864
+ return /* @__PURE__ */ jsx29(
1865
+ Sonner,
1653
1866
  {
1654
1867
  theme,
1655
1868
  className: "toaster group bg-transparent! overflow-visible! z-[9999]!",
@@ -1660,11 +1873,11 @@ function Toaster({ theme = "system", ...props }) {
1660
1873
  }
1661
1874
  },
1662
1875
  icons: {
1663
- success: /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4" }),
1664
- info: /* @__PURE__ */ jsx(AlertCircle, { className: "h-4 w-4" }),
1665
- warning: /* @__PURE__ */ jsx(AlertTriangle, { className: "h-4 w-4" }),
1666
- error: /* @__PURE__ */ jsx(XCircle, { className: "h-4 w-4" }),
1667
- loading: /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" })
1876
+ success: /* @__PURE__ */ jsx29(CheckCircle2, { className: "h-4 w-4" }),
1877
+ info: /* @__PURE__ */ jsx29(AlertCircle, { className: "h-4 w-4" }),
1878
+ warning: /* @__PURE__ */ jsx29(AlertTriangle, { className: "h-4 w-4" }),
1879
+ error: /* @__PURE__ */ jsx29(XCircle, { className: "h-4 w-4" }),
1880
+ loading: /* @__PURE__ */ jsx29(Loader22, { className: "h-4 w-4 animate-spin" })
1668
1881
  },
1669
1882
  style: {
1670
1883
  "--normal-bg": "var(--nx-popover)",
@@ -1676,7 +1889,11 @@ function Toaster({ theme = "system", ...props }) {
1676
1889
  }
1677
1890
  );
1678
1891
  }
1679
- var Table = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx(
1892
+
1893
+ // src/components/table.tsx
1894
+ import * as React8 from "react";
1895
+ import { jsx as jsx30 } from "react/jsx-runtime";
1896
+ var Table = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx30(
1680
1897
  "table",
1681
1898
  {
1682
1899
  ref,
@@ -1685,7 +1902,7 @@ var Table = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
1685
1902
  }
1686
1903
  ) }));
1687
1904
  Table.displayName = "Table";
1688
- var TableHeader = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1905
+ var TableHeader = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1689
1906
  "thead",
1690
1907
  {
1691
1908
  ref,
@@ -1694,7 +1911,7 @@ var TableHeader = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE
1694
1911
  }
1695
1912
  ));
1696
1913
  TableHeader.displayName = "TableHeader";
1697
- var TableBody = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1914
+ var TableBody = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1698
1915
  "tbody",
1699
1916
  {
1700
1917
  ref,
@@ -1703,7 +1920,7 @@ var TableBody = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1703
1920
  }
1704
1921
  ));
1705
1922
  TableBody.displayName = "TableBody";
1706
- var TableFooter = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1923
+ var TableFooter = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1707
1924
  "tfoot",
1708
1925
  {
1709
1926
  ref,
@@ -1715,7 +1932,7 @@ var TableFooter = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE
1715
1932
  }
1716
1933
  ));
1717
1934
  TableFooter.displayName = "TableFooter";
1718
- var TableRow = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1935
+ var TableRow = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1719
1936
  "tr",
1720
1937
  {
1721
1938
  ref,
@@ -1727,7 +1944,7 @@ var TableRow = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1727
1944
  }
1728
1945
  ));
1729
1946
  TableRow.displayName = "TableRow";
1730
- var TableHead = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1947
+ var TableHead = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1731
1948
  "th",
1732
1949
  {
1733
1950
  ref,
@@ -1739,7 +1956,7 @@ var TableHead = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1739
1956
  }
1740
1957
  ));
1741
1958
  TableHead.displayName = "TableHead";
1742
- var TableCell = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1959
+ var TableCell = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1743
1960
  "td",
1744
1961
  {
1745
1962
  ref,
@@ -1751,7 +1968,7 @@ var TableCell = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1751
1968
  }
1752
1969
  ));
1753
1970
  TableCell.displayName = "TableCell";
1754
- var TableCaption = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1971
+ var TableCaption = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
1755
1972
  "caption",
1756
1973
  {
1757
1974
  ref,
@@ -1760,6 +1977,10 @@ var TableCaption = React6.forwardRef(({ className, ...props }, ref) => /* @__PUR
1760
1977
  }
1761
1978
  ));
1762
1979
  TableCaption.displayName = "TableCaption";
1980
+
1981
+ // src/components/table-search.tsx
1982
+ import { Search as Search2, Loader2 as Loader23, X as X2 } from "lucide-react";
1983
+ import { jsx as jsx31, jsxs as jsxs10 } from "react/jsx-runtime";
1763
1984
  function TableSearch({
1764
1985
  value,
1765
1986
  onChange,
@@ -1768,9 +1989,9 @@ function TableSearch({
1768
1989
  isLoading = false,
1769
1990
  inputRef
1770
1991
  }) {
1771
- return /* @__PURE__ */ jsxs("div", { className: "relative w-full max-w-lg", children: [
1772
- /* @__PURE__ */ jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
1773
- /* @__PURE__ */ jsx(
1992
+ return /* @__PURE__ */ jsxs10("div", { className: "relative w-full max-w-lg", children: [
1993
+ /* @__PURE__ */ jsx31(Search2, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
1994
+ /* @__PURE__ */ jsx31(
1774
1995
  "input",
1775
1996
  {
1776
1997
  ref: inputRef,
@@ -1782,155 +2003,232 @@ function TableSearch({
1782
2003
  className: "h-10 w-full rounded-none border border-border bg-background pl-10 pr-10 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 transition-all"
1783
2004
  }
1784
2005
  ),
1785
- (value || isLoading) && /* @__PURE__ */ jsxs("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-2", children: [
1786
- isLoading && /* @__PURE__ */ jsx(Loader2, { className: "w-3.5 h-3.5 text-primary animate-spin" }),
1787
- value && /* @__PURE__ */ jsx(
2006
+ (value || isLoading) && /* @__PURE__ */ jsxs10("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-2", children: [
2007
+ isLoading && /* @__PURE__ */ jsx31(Loader23, { className: "w-3.5 h-3.5 text-primary animate-spin" }),
2008
+ value && /* @__PURE__ */ jsx31(
1788
2009
  "button",
1789
2010
  {
1790
2011
  type: "button",
1791
2012
  onClick: onClear,
1792
- className: "text-muted-foreground/60 hover:text-foreground transition-colors p-0.5 rounded-none hover:bg-primary/5",
2013
+ className: "text-muted-foreground hover:text-foreground transition-colors p-0.5 rounded-none hover:bg-primary/5",
1793
2014
  "aria-label": "Clear search",
1794
- children: /* @__PURE__ */ jsx(X, { className: "w-3.5 h-3.5" })
2015
+ children: /* @__PURE__ */ jsx31(X2, { className: "w-3.5 h-3.5" })
1795
2016
  }
1796
2017
  )
1797
2018
  ] })
1798
2019
  ] });
1799
2020
  }
2021
+
2022
+ // src/components/table-states.tsx
2023
+ import { AlertCircle as AlertCircle2, Loader2 as Loader24, FileQuestion } from "lucide-react";
2024
+ import { jsx as jsx32, jsxs as jsxs11 } from "react/jsx-runtime";
1800
2025
  function TableError({
1801
2026
  message = "An error occurred. Please try again."
1802
2027
  }) {
1803
- return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1804
- /* @__PURE__ */ jsx(AlertCircle, { className: "w-4 h-4 shrink-0" }),
1805
- /* @__PURE__ */ jsx("span", { children: message })
2028
+ return /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
2029
+ /* @__PURE__ */ jsx32(AlertCircle2, { className: "w-4 h-4 shrink-0" }),
2030
+ /* @__PURE__ */ jsx32("span", { children: message })
1806
2031
  ] });
1807
2032
  }
1808
2033
  function TableLoading() {
1809
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-4 p-12 text-muted-foreground", children: [
1810
- /* @__PURE__ */ jsx(Loader2, { className: "w-8 h-8 animate-spin text-primary/80" }),
1811
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: "Loading data..." })
2034
+ return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col items-center justify-center gap-4 p-12 text-muted-foreground", children: [
2035
+ /* @__PURE__ */ jsx32(Loader24, { className: "w-8 h-8 animate-spin text-primary/80" }),
2036
+ /* @__PURE__ */ jsx32("span", { className: "text-sm font-medium", children: "Loading data..." })
1812
2037
  ] });
1813
2038
  }
1814
2039
  function TableEmpty({ message = "No records found" }) {
1815
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-4 p-16 text-center text-muted-foreground", children: [
1816
- /* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-none bg-primary/5", children: /* @__PURE__ */ jsx(FileQuestion, { className: "h-6 w-6" }) }),
1817
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: message })
2040
+ return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col items-center justify-center gap-4 p-16 text-center text-muted-foreground", children: [
2041
+ /* @__PURE__ */ jsx32("div", { className: "flex h-12 w-12 items-center justify-center rounded-none bg-primary/5", children: /* @__PURE__ */ jsx32(FileQuestion, { className: "h-6 w-6" }) }),
2042
+ /* @__PURE__ */ jsx32("span", { className: "text-sm font-medium", children: message })
1818
2043
  ] });
1819
2044
  }
1820
- var GrayBar = ({ className }) => /* @__PURE__ */ jsx(Skeleton, { className });
2045
+
2046
+ // src/components/table-skeleton.tsx
2047
+ import { Fragment, jsx as jsx33, jsxs as jsxs12 } from "react/jsx-runtime";
2048
+ var GrayBar = ({ className }) => /* @__PURE__ */ jsx33(Skeleton, { className });
1821
2049
  var TableSkeleton = ({
1822
2050
  columns = 5,
1823
2051
  rowCount = 8,
1824
2052
  hideWrapper = false,
1825
2053
  hideFooter = false
1826
2054
  }) => {
1827
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
1828
- /* @__PURE__ */ jsx("div", { className: "border-0 rounded-none shadow-none", children: /* @__PURE__ */ jsxs(Table, { children: [
1829
- /* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsx(TableRow, { children: Array.from({ length: columns }).map((_, colIdx) => /* @__PURE__ */ jsx(TableHead, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-4 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-[70%] max-w-[180px]" }) : /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, `skeleton-header-${colIdx}`)) }) }),
1830
- /* @__PURE__ */ jsx(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIdx) => /* @__PURE__ */ jsx(TableRow, { className: "border-b border-border", children: Array.from({ length: columns }).map((_2, colIdx) => /* @__PURE__ */ jsx(TableCell, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-8 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
1831
- /* @__PURE__ */ jsx(Skeleton, { className: "w-9 rounded-none shrink-0" }),
1832
- /* @__PURE__ */ jsxs("div", { className: "space-y-1.5 flex-1", children: [
1833
- /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-[120px]" }),
1834
- /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-[80px]" })
2055
+ const content = /* @__PURE__ */ jsxs12(Fragment, { children: [
2056
+ /* @__PURE__ */ jsx33("div", { className: "border-0 rounded-none shadow-none", children: /* @__PURE__ */ jsxs12(Table, { children: [
2057
+ /* @__PURE__ */ jsx33(TableHeader, { children: /* @__PURE__ */ jsx33(TableRow, { children: Array.from({ length: columns }).map((_, colIdx) => /* @__PURE__ */ jsx33(TableHead, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsx33("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx33(Skeleton, { className: "h-4 w-4 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[70%] max-w-[180px]" }) : /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, `skeleton-header-${colIdx}`)) }) }),
2058
+ /* @__PURE__ */ jsx33(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIdx) => /* @__PURE__ */ jsx33(TableRow, { className: "border-b border-border", children: Array.from({ length: columns }).map((_2, colIdx) => /* @__PURE__ */ jsx33(TableCell, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsx33("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx33(Skeleton, { className: "h-8 w-8 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
2059
+ /* @__PURE__ */ jsx33(Skeleton, { className: "w-9 rounded-none shrink-0" }),
2060
+ /* @__PURE__ */ jsxs12("div", { className: "space-y-1.5 flex-1", children: [
2061
+ /* @__PURE__ */ jsx33(Skeleton, { className: "h-4 w-[120px]" }),
2062
+ /* @__PURE__ */ jsx33(Skeleton, { className: "h-3 w-[80px]" })
1835
2063
  ] })
1836
- ] }) : /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, colIdx)) }, rowIdx)) })
2064
+ ] }) : /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, colIdx)) }, rowIdx)) })
1837
2065
  ] }) }),
1838
- !hideFooter && /* @__PURE__ */ jsx("div", { className: "table-footer border-t border-border", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-2 py-4 p-4", children: [
1839
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 text-sm", children: /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-[120px]" }) }),
1840
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6", children: [
1841
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1842
- /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-20" }),
1843
- /* @__PURE__ */ jsx(GrayBar, { className: "h-8 w-[70px]" })
2066
+ !hideFooter && /* @__PURE__ */ jsx33("div", { className: "table-footer border-t border-border", children: /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between px-2 py-4 p-4", children: [
2067
+ /* @__PURE__ */ jsx33("div", { className: "flex items-center gap-2 text-sm", children: /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[120px]" }) }),
2068
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-6", children: [
2069
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
2070
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-20" }),
2071
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-[70px]" })
1844
2072
  ] }),
1845
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
1846
- /* @__PURE__ */ jsx(GrayBar, { className: "h-8 w-8" }),
1847
- /* @__PURE__ */ jsx(GrayBar, { className: "h-8 w-8" }),
1848
- /* @__PURE__ */ jsx(GrayBar, { className: "h-8 w-8" }),
1849
- /* @__PURE__ */ jsx(GrayBar, { className: "h-8 w-8" }),
1850
- /* @__PURE__ */ jsx(GrayBar, { className: "h-8 w-8" })
2073
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1", children: [
2074
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
2075
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
2076
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
2077
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" }),
2078
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-8 w-8" })
1851
2079
  ] }),
1852
- /* @__PURE__ */ jsx(GrayBar, { className: "h-4 w-[120px]" })
2080
+ /* @__PURE__ */ jsx33(GrayBar, { className: "h-4 w-[120px]" })
1853
2081
  ] })
1854
2082
  ] }) })
1855
2083
  ] });
1856
2084
  if (hideWrapper) {
1857
2085
  return content;
1858
2086
  }
1859
- return /* @__PURE__ */ jsx("div", { className: "table-wrapper rounded-none border border-border bg-card overflow-hidden", children: content });
2087
+ return /* @__PURE__ */ jsx33("div", { className: "table-wrapper rounded-none border border-border bg-card overflow-hidden", children: content });
1860
2088
  };
1861
2089
  TableSkeleton.displayName = "TableSkeleton";
1862
-
1863
- // src/tailwind-preset.ts
1864
- var uiPreset = {
1865
- theme: {
1866
- extend: {
1867
- colors: {
1868
- border: "var(--nx-border)",
1869
- input: "var(--nx-input)",
1870
- ring: "var(--nx-ring)",
1871
- background: "var(--nx-background)",
1872
- foreground: "var(--nx-foreground)",
1873
- primary: {
1874
- DEFAULT: "var(--nx-primary)",
1875
- foreground: "var(--nx-primary-foreground)"
1876
- },
1877
- secondary: {
1878
- DEFAULT: "var(--nx-secondary)",
1879
- foreground: "var(--nx-secondary-foreground)"
1880
- },
1881
- destructive: {
1882
- DEFAULT: "var(--nx-destructive)",
1883
- foreground: "var(--nx-destructive-foreground)"
1884
- },
1885
- success: {
1886
- DEFAULT: "var(--nx-success)",
1887
- foreground: "var(--nx-success-foreground)"
1888
- },
1889
- warning: {
1890
- DEFAULT: "var(--nx-warning)",
1891
- foreground: "var(--nx-warning-foreground)"
1892
- },
1893
- muted: {
1894
- DEFAULT: "var(--nx-muted)",
1895
- foreground: "var(--nx-muted-foreground)"
1896
- },
1897
- accent: {
1898
- DEFAULT: "var(--nx-accent)",
1899
- foreground: "var(--nx-accent-foreground)"
1900
- },
1901
- popover: {
1902
- DEFAULT: "var(--nx-popover)",
1903
- foreground: "var(--nx-popover-foreground)"
1904
- },
1905
- card: {
1906
- DEFAULT: "var(--nx-card)",
1907
- foreground: "var(--nx-card-foreground)"
1908
- }
1909
- },
1910
- borderRadius: {
1911
- lg: "var(--radius)",
1912
- md: "calc(var(--radius) - 2px)",
1913
- sm: "calc(var(--radius) - 4px)"
1914
- },
1915
- keyframes: {
1916
- "accordion-down": {
1917
- from: { height: "0" },
1918
- to: { height: "var(--radix-accordion-content-height)" }
1919
- },
1920
- "accordion-up": {
1921
- from: { height: "var(--radix-accordion-content-height)" },
1922
- to: { height: "0" }
1923
- }
1924
- },
1925
- animation: {
1926
- "accordion-down": "accordion-down 0.3s cubic-bezier(0.87, 0, 0.13, 1)",
1927
- "accordion-up": "accordion-up 0.3s cubic-bezier(0.87, 0, 0.13, 1)"
1928
- }
1929
- }
1930
- }
2090
+ export {
2091
+ Accordion,
2092
+ AccordionContent,
2093
+ AccordionItem,
2094
+ AccordionTrigger,
2095
+ Alert,
2096
+ AlertDescription,
2097
+ AlertDialog,
2098
+ AlertDialogAction,
2099
+ AlertDialogCancel,
2100
+ AlertDialogContent,
2101
+ AlertDialogDescription,
2102
+ AlertDialogFooter,
2103
+ AlertDialogHeader,
2104
+ AlertDialogOverlay,
2105
+ AlertDialogPortal,
2106
+ AlertDialogTitle,
2107
+ AlertDialogTrigger,
2108
+ AlertTitle,
2109
+ Avatar,
2110
+ AvatarFallback,
2111
+ AvatarImage,
2112
+ Badge,
2113
+ Button,
2114
+ Card,
2115
+ CardAction,
2116
+ CardContent,
2117
+ CardDescription,
2118
+ CardFooter,
2119
+ CardHeader,
2120
+ CardTitle,
2121
+ Checkbox,
2122
+ Collapsible,
2123
+ CollapsibleContent2 as CollapsibleContent,
2124
+ CollapsibleTrigger2 as CollapsibleTrigger,
2125
+ Command,
2126
+ CommandDialog,
2127
+ CommandEmpty,
2128
+ CommandGroup,
2129
+ CommandInput,
2130
+ CommandItem,
2131
+ CommandList,
2132
+ CommandSeparator,
2133
+ CommandShortcut,
2134
+ Dialog,
2135
+ DialogClose,
2136
+ DialogContent,
2137
+ DialogDescription,
2138
+ DialogFooter,
2139
+ DialogHeader,
2140
+ DialogOverlay,
2141
+ DialogPortal,
2142
+ DialogTitle,
2143
+ DialogTrigger,
2144
+ DropdownMenu,
2145
+ DropdownMenuCheckboxItem,
2146
+ DropdownMenuContent,
2147
+ DropdownMenuGroup,
2148
+ DropdownMenuItem,
2149
+ DropdownMenuLabel,
2150
+ DropdownMenuPortal,
2151
+ DropdownMenuRadioGroup,
2152
+ DropdownMenuRadioItem,
2153
+ DropdownMenuSeparator,
2154
+ DropdownMenuShortcut,
2155
+ DropdownMenuSub,
2156
+ DropdownMenuSubContent,
2157
+ DropdownMenuSubTrigger,
2158
+ DropdownMenuTrigger,
2159
+ FormLabelWithTooltip,
2160
+ Grid,
2161
+ Input,
2162
+ Label,
2163
+ Popover,
2164
+ PopoverAnchor,
2165
+ PopoverContent,
2166
+ PopoverTrigger,
2167
+ PortalProvider,
2168
+ Progress,
2169
+ RadioGroup,
2170
+ RadioGroupItem,
2171
+ Select,
2172
+ SelectContent,
2173
+ SelectGroup,
2174
+ SelectItem,
2175
+ SelectLabel,
2176
+ SelectScrollDownButton,
2177
+ SelectScrollUpButton,
2178
+ SelectSeparator,
2179
+ SelectTrigger,
2180
+ SelectValue,
2181
+ Separator,
2182
+ Sheet,
2183
+ SheetClose,
2184
+ SheetContent,
2185
+ SheetDescription,
2186
+ SheetFooter,
2187
+ SheetHeader,
2188
+ SheetOverlay,
2189
+ SheetPortal,
2190
+ SheetTitle,
2191
+ SheetTrigger,
2192
+ Skeleton,
2193
+ Spinner,
2194
+ Stack,
2195
+ Stat,
2196
+ Switch,
2197
+ Table,
2198
+ TableBody,
2199
+ TableCaption,
2200
+ TableCell,
2201
+ TableEmpty,
2202
+ TableError,
2203
+ TableFooter,
2204
+ TableHead,
2205
+ TableHeader,
2206
+ TableLoading,
2207
+ TableRow,
2208
+ TableSearch,
2209
+ TableSkeleton,
2210
+ Tabs,
2211
+ TabsContent,
2212
+ TabsList,
2213
+ TabsTrigger,
2214
+ Textarea,
2215
+ Toaster,
2216
+ Tooltip,
2217
+ TooltipContent,
2218
+ TooltipProvider,
2219
+ TooltipTrigger,
2220
+ alertVariants,
2221
+ avatarVariants,
2222
+ badgeVariants,
2223
+ buttonVariants,
2224
+ cardVariants,
2225
+ dialogContentVariants,
2226
+ inputVariants,
2227
+ progressVariants,
2228
+ selectTriggerVariants,
2229
+ sheetVariants,
2230
+ spinnerVariants,
2231
+ toast,
2232
+ usePortalContainer
1931
2233
  };
1932
- var tailwind_preset_default = uiPreset;
1933
-
1934
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FormLabelWithTooltip, Input, Label, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalProvider, Progress, RadioGroup, RadioGroupItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableEmpty, TableError, TableFooter, TableHead, TableHeader, TableLoading, TableRow, TableSearch, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, avatarVariants, badgeVariants, buttonVariants, cardVariants, cn, dialogContentVariants, inputVariants, progressVariants, selectTriggerVariants, sheetVariants, spinnerVariants, tailwind_preset_default as uiPreset, usePortalContainer };
1935
- //# sourceMappingURL=index.mjs.map
1936
2234
  //# sourceMappingURL=index.mjs.map