@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.cjs CHANGED
@@ -1,74 +1,212 @@
1
- 'use strict';
2
-
3
- var reactSlot = require('@radix-ui/react-slot');
4
- var classVarianceAuthority = require('class-variance-authority');
5
- var React6 = require('react');
6
- var clsx = require('clsx');
7
- var tailwindMerge = require('tailwind-merge');
8
- var jsxRuntime = require('react/jsx-runtime');
9
- var reactLabel = require('@radix-ui/react-label');
10
- var lucideReact = require('lucide-react');
11
- var reactTooltip = require('@radix-ui/react-tooltip');
12
- var SeparatorPrimitive = require('@radix-ui/react-separator');
13
- var CheckboxPrimitive = require('@radix-ui/react-checkbox');
14
- var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
15
- var reactSwitch = require('@radix-ui/react-switch');
16
- var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
17
- var AccordionPrimitive = require('@radix-ui/react-accordion');
18
- var reactAvatar = require('@radix-ui/react-avatar');
19
- var reactTabs = require('@radix-ui/react-tabs');
20
- var PopoverPrimitive = require('@radix-ui/react-popover');
21
- var DialogPrimitive = require('@radix-ui/react-dialog');
22
- var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
23
- var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
24
- var SelectPrimitive = require('@radix-ui/react-select');
25
- var cmdk = require('cmdk');
26
- var sonner = require('sonner');
27
-
28
- function _interopNamespace(e) {
29
- if (e && e.__esModule) return e;
30
- var n = Object.create(null);
31
- if (e) {
32
- Object.keys(e).forEach(function (k) {
33
- if (k !== 'default') {
34
- var d = Object.getOwnPropertyDescriptor(e, k);
35
- Object.defineProperty(n, k, d.get ? d : {
36
- enumerable: true,
37
- get: function () { return e[k]; }
38
- });
39
- }
40
- });
1
+ "use client";
2
+ "use strict";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
41
18
  }
42
- n.default = e;
43
- return Object.freeze(n);
44
- }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
45
30
 
46
- var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
47
- var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
48
- var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
49
- var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
50
- var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
51
- var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
52
- var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
53
- var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
54
- var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
55
- var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
56
- var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
31
+ // src/index.ts
32
+ var index_exports = {};
33
+ __export(index_exports, {
34
+ Accordion: () => Accordion,
35
+ AccordionContent: () => AccordionContent,
36
+ AccordionItem: () => AccordionItem,
37
+ AccordionTrigger: () => AccordionTrigger,
38
+ Alert: () => Alert,
39
+ AlertDescription: () => AlertDescription,
40
+ AlertDialog: () => AlertDialog,
41
+ AlertDialogAction: () => AlertDialogAction,
42
+ AlertDialogCancel: () => AlertDialogCancel,
43
+ AlertDialogContent: () => AlertDialogContent,
44
+ AlertDialogDescription: () => AlertDialogDescription,
45
+ AlertDialogFooter: () => AlertDialogFooter,
46
+ AlertDialogHeader: () => AlertDialogHeader,
47
+ AlertDialogOverlay: () => AlertDialogOverlay,
48
+ AlertDialogPortal: () => AlertDialogPortal,
49
+ AlertDialogTitle: () => AlertDialogTitle,
50
+ AlertDialogTrigger: () => AlertDialogTrigger,
51
+ AlertTitle: () => AlertTitle,
52
+ Avatar: () => Avatar,
53
+ AvatarFallback: () => AvatarFallback,
54
+ AvatarImage: () => AvatarImage,
55
+ Badge: () => Badge,
56
+ Button: () => Button,
57
+ Card: () => Card,
58
+ CardAction: () => CardAction,
59
+ CardContent: () => CardContent,
60
+ CardDescription: () => CardDescription,
61
+ CardFooter: () => CardFooter,
62
+ CardHeader: () => CardHeader,
63
+ CardTitle: () => CardTitle,
64
+ Checkbox: () => Checkbox,
65
+ Collapsible: () => Collapsible,
66
+ CollapsibleContent: () => CollapsibleContent2,
67
+ CollapsibleTrigger: () => CollapsibleTrigger2,
68
+ Command: () => Command,
69
+ CommandDialog: () => CommandDialog,
70
+ CommandEmpty: () => CommandEmpty,
71
+ CommandGroup: () => CommandGroup,
72
+ CommandInput: () => CommandInput,
73
+ CommandItem: () => CommandItem,
74
+ CommandList: () => CommandList,
75
+ CommandSeparator: () => CommandSeparator,
76
+ CommandShortcut: () => CommandShortcut,
77
+ Dialog: () => Dialog,
78
+ DialogClose: () => DialogClose,
79
+ DialogContent: () => DialogContent,
80
+ DialogDescription: () => DialogDescription,
81
+ DialogFooter: () => DialogFooter,
82
+ DialogHeader: () => DialogHeader,
83
+ DialogOverlay: () => DialogOverlay,
84
+ DialogPortal: () => DialogPortal,
85
+ DialogTitle: () => DialogTitle,
86
+ DialogTrigger: () => DialogTrigger,
87
+ DropdownMenu: () => DropdownMenu,
88
+ DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem,
89
+ DropdownMenuContent: () => DropdownMenuContent,
90
+ DropdownMenuGroup: () => DropdownMenuGroup,
91
+ DropdownMenuItem: () => DropdownMenuItem,
92
+ DropdownMenuLabel: () => DropdownMenuLabel,
93
+ DropdownMenuPortal: () => DropdownMenuPortal,
94
+ DropdownMenuRadioGroup: () => DropdownMenuRadioGroup,
95
+ DropdownMenuRadioItem: () => DropdownMenuRadioItem,
96
+ DropdownMenuSeparator: () => DropdownMenuSeparator,
97
+ DropdownMenuShortcut: () => DropdownMenuShortcut,
98
+ DropdownMenuSub: () => DropdownMenuSub,
99
+ DropdownMenuSubContent: () => DropdownMenuSubContent,
100
+ DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,
101
+ DropdownMenuTrigger: () => DropdownMenuTrigger,
102
+ FormLabelWithTooltip: () => FormLabelWithTooltip,
103
+ Grid: () => Grid,
104
+ Input: () => Input,
105
+ Label: () => Label,
106
+ Popover: () => Popover,
107
+ PopoverAnchor: () => PopoverAnchor,
108
+ PopoverContent: () => PopoverContent,
109
+ PopoverTrigger: () => PopoverTrigger,
110
+ PortalProvider: () => PortalProvider,
111
+ Progress: () => Progress,
112
+ RadioGroup: () => RadioGroup,
113
+ RadioGroupItem: () => RadioGroupItem,
114
+ Select: () => Select,
115
+ SelectContent: () => SelectContent,
116
+ SelectGroup: () => SelectGroup,
117
+ SelectItem: () => SelectItem,
118
+ SelectLabel: () => SelectLabel,
119
+ SelectScrollDownButton: () => SelectScrollDownButton,
120
+ SelectScrollUpButton: () => SelectScrollUpButton,
121
+ SelectSeparator: () => SelectSeparator,
122
+ SelectTrigger: () => SelectTrigger,
123
+ SelectValue: () => SelectValue,
124
+ Separator: () => Separator,
125
+ Sheet: () => Sheet,
126
+ SheetClose: () => SheetClose,
127
+ SheetContent: () => SheetContent,
128
+ SheetDescription: () => SheetDescription,
129
+ SheetFooter: () => SheetFooter,
130
+ SheetHeader: () => SheetHeader,
131
+ SheetOverlay: () => SheetOverlay,
132
+ SheetPortal: () => SheetPortal,
133
+ SheetTitle: () => SheetTitle,
134
+ SheetTrigger: () => SheetTrigger,
135
+ Skeleton: () => Skeleton,
136
+ Spinner: () => Spinner,
137
+ Stack: () => Stack,
138
+ Stat: () => Stat,
139
+ Switch: () => Switch,
140
+ Table: () => Table,
141
+ TableBody: () => TableBody,
142
+ TableCaption: () => TableCaption,
143
+ TableCell: () => TableCell,
144
+ TableEmpty: () => TableEmpty,
145
+ TableError: () => TableError,
146
+ TableFooter: () => TableFooter,
147
+ TableHead: () => TableHead,
148
+ TableHeader: () => TableHeader,
149
+ TableLoading: () => TableLoading,
150
+ TableRow: () => TableRow,
151
+ TableSearch: () => TableSearch,
152
+ TableSkeleton: () => TableSkeleton,
153
+ Tabs: () => Tabs,
154
+ TabsContent: () => TabsContent,
155
+ TabsList: () => TabsList,
156
+ TabsTrigger: () => TabsTrigger,
157
+ Textarea: () => Textarea,
158
+ Toaster: () => Toaster,
159
+ Tooltip: () => Tooltip,
160
+ TooltipContent: () => TooltipContent,
161
+ TooltipProvider: () => TooltipProvider,
162
+ TooltipTrigger: () => TooltipTrigger,
163
+ alertVariants: () => alertVariants,
164
+ avatarVariants: () => avatarVariants,
165
+ badgeVariants: () => badgeVariants,
166
+ buttonVariants: () => buttonVariants,
167
+ cardVariants: () => cardVariants,
168
+ dialogContentVariants: () => dialogContentVariants,
169
+ inputVariants: () => inputVariants,
170
+ progressVariants: () => progressVariants,
171
+ selectTriggerVariants: () => selectTriggerVariants,
172
+ sheetVariants: () => sheetVariants,
173
+ spinnerVariants: () => spinnerVariants,
174
+ toast: () => import_sonner.toast,
175
+ usePortalContainer: () => usePortalContainer
176
+ });
177
+ module.exports = __toCommonJS(index_exports);
57
178
 
58
179
  // src/components/button.tsx
180
+ var import_react_slot = require("@radix-ui/react-slot");
181
+ var import_class_variance_authority = require("class-variance-authority");
182
+ var React = __toESM(require("react"), 1);
183
+ var import_react = require("react");
184
+
185
+ // src/lib/utils.ts
186
+ var import_clsx = require("clsx");
187
+ var import_tailwind_merge = require("tailwind-merge");
59
188
  function cn(...inputs) {
60
- return tailwindMerge.twMerge(clsx.clsx(inputs));
189
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
61
190
  }
62
- var buttonVariants = classVarianceAuthority.cva(
191
+
192
+ // src/components/button.tsx
193
+ var import_jsx_runtime = require("react/jsx-runtime");
194
+ var buttonVariants = (0, import_class_variance_authority.cva)(
63
195
  "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",
64
196
  {
65
197
  variants: {
66
198
  variant: {
67
199
  default: "bg-primary text-primary-foreground border border-transparent hover:opacity-90",
68
200
  primary: "bg-primary text-primary-foreground border border-transparent hover:opacity-90",
69
- destructive: "bg-destructive text-destructive-foreground border border-transparent hover:opacity-90",
70
- outline: "border border-primary/10 text-foreground hover-unified bg-background",
71
- secondary: "bg-background border border-primary/10 text-foreground hover:bg-primary/5",
201
+ // Solid fill uses the emphasis token so white on-color text stays AA in
202
+ // dark mode (the base token is the readable text color, too light here).
203
+ // Hover darkens to a deeper shade instead of opacity-90, which would
204
+ // composite the fill toward the page and drop white text under 4.5:1.
205
+ destructive: "bg-destructive-solid text-destructive-foreground border border-transparent hover:bg-destructive-700",
206
+ // border-border (not a faint primary alpha) so the outline is a visible
207
+ // boundary at the 3:1 UI minimum.
208
+ outline: "border border-border text-foreground hover-unified bg-background",
209
+ secondary: "bg-background border border-border text-foreground hover:bg-primary/5",
72
210
  ghost: "text-foreground border border-transparent hover-unified",
73
211
  link: "text-primary border border-transparent underline-offset-4 hover:underline"
74
212
  },
@@ -88,7 +226,7 @@ var buttonVariants = classVarianceAuthority.cva(
88
226
  }
89
227
  }
90
228
  );
91
- var Button = React6.forwardRef(
229
+ var Button = (0, import_react.forwardRef)(
92
230
  ({
93
231
  className,
94
232
  variant = "default",
@@ -97,9 +235,9 @@ var Button = React6.forwardRef(
97
235
  children,
98
236
  ...props
99
237
  }, ref) => {
100
- const Comp = asChild ? reactSlot.Slot : "button";
101
- const hasMultipleChildren = React6__namespace.Children.count(children) > 1;
102
- return /* @__PURE__ */ jsxRuntime.jsx(
238
+ const Comp = asChild ? import_react_slot.Slot : "button";
239
+ const hasMultipleChildren = React.Children.count(children) > 1;
240
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
103
241
  Comp,
104
242
  {
105
243
  "data-slot": `button.${variant}`,
@@ -115,7 +253,12 @@ var Button = React6.forwardRef(
115
253
  }
116
254
  );
117
255
  Button.displayName = "Button";
118
- var inputVariants = classVarianceAuthority.cva(
256
+
257
+ // src/components/input.tsx
258
+ var import_class_variance_authority2 = require("class-variance-authority");
259
+ var import_react2 = require("react");
260
+ var import_jsx_runtime2 = require("react/jsx-runtime");
261
+ var inputVariants = (0, import_class_variance_authority2.cva)(
119
262
  "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!",
120
263
  {
121
264
  variants: {
@@ -130,9 +273,9 @@ var inputVariants = classVarianceAuthority.cva(
130
273
  }
131
274
  }
132
275
  );
133
- var Input = React6.forwardRef(
276
+ var Input = (0, import_react2.forwardRef)(
134
277
  ({ className, type, size, ...props }, ref) => {
135
- return /* @__PURE__ */ jsxRuntime.jsx(
278
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
136
279
  "input",
137
280
  {
138
281
  type,
@@ -145,13 +288,19 @@ var Input = React6.forwardRef(
145
288
  }
146
289
  );
147
290
  Input.displayName = "Input";
148
- var Textarea = React6.forwardRef(({ className, ...props }, ref) => {
149
- return /* @__PURE__ */ jsxRuntime.jsx(
291
+
292
+ // src/components/textarea.tsx
293
+ var import_react3 = require("react");
294
+ var import_jsx_runtime3 = require("react/jsx-runtime");
295
+ var Textarea = (0, import_react3.forwardRef)(({ className, ...props }, ref) => {
296
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
150
297
  "textarea",
151
298
  {
152
299
  "data-slot": "textarea",
153
300
  className: cn(
154
- "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",
301
+ // hover:border-primary (full strength) keeps the hover boundary more
302
+ // visible than the resting border-input, not a fainter alpha of it.
303
+ "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",
155
304
  "aria-invalid:border-destructive aria-invalid:focus:border-destructive!",
156
305
  className
157
306
  ),
@@ -161,9 +310,13 @@ var Textarea = React6.forwardRef(({ className, ...props }, ref) => {
161
310
  );
162
311
  });
163
312
  Textarea.displayName = "Textarea";
313
+
314
+ // src/components/label.tsx
315
+ var import_react_label = require("@radix-ui/react-label");
316
+ var import_jsx_runtime4 = require("react/jsx-runtime");
164
317
  function Label({ className, ...props }) {
165
- return /* @__PURE__ */ jsxRuntime.jsx(
166
- reactLabel.Root,
318
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
319
+ import_react_label.Root,
167
320
  {
168
321
  "data-slot": "label",
169
322
  className: cn(
@@ -174,18 +327,33 @@ function Label({ className, ...props }) {
174
327
  }
175
328
  );
176
329
  }
177
- var PortalContext = React6.createContext({ container: null });
330
+
331
+ // src/components/form-label-with-tooltip.tsx
332
+ var import_lucide_react = require("lucide-react");
333
+ var React2 = __toESM(require("react"), 1);
334
+
335
+ // src/components/tooltip.tsx
336
+ var import_react_tooltip = require("@radix-ui/react-tooltip");
337
+ var import_react5 = require("react");
338
+
339
+ // src/providers/portal-provider.tsx
340
+ var import_react4 = require("react");
341
+ var import_jsx_runtime5 = require("react/jsx-runtime");
342
+ var PortalContext = (0, import_react4.createContext)({ container: null });
178
343
  function PortalProvider({ container, children }) {
179
- return /* @__PURE__ */ jsxRuntime.jsx(PortalContext.Provider, { value: { container }, children });
344
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(PortalContext.Provider, { value: { container }, children });
180
345
  }
181
346
  function usePortalContainer() {
182
- const { container } = React6.useContext(PortalContext);
347
+ const { container } = (0, import_react4.useContext)(PortalContext);
183
348
  return container ?? void 0;
184
349
  }
185
- var TooltipProvider = reactTooltip.Provider;
186
- var Tooltip = reactTooltip.Root;
187
- var TooltipTrigger = reactTooltip.Trigger;
188
- var TooltipContent = React6.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
350
+
351
+ // src/components/tooltip.tsx
352
+ var import_jsx_runtime6 = require("react/jsx-runtime");
353
+ var TooltipProvider = import_react_tooltip.Provider;
354
+ var Tooltip = import_react_tooltip.Root;
355
+ var TooltipTrigger = import_react_tooltip.Trigger;
356
+ var TooltipContent = (0, import_react5.forwardRef)(({ className, sideOffset = 4, ...props }, ref) => {
189
357
  const portalContainer = usePortalContainer();
190
358
  return (
191
359
  // Portalled for the same reason as every other overlay here, plus one
@@ -194,8 +362,8 @@ var TooltipContent = React6.forwardRef(({ className, sideOffset = 4, ...props },
194
362
  // browser does not. Left inline under a `@container` element, the content
195
363
  // is offset by that element's own position. Portalling lifts it out of any
196
364
  // such ancestor, so the two agree again.
197
- /* @__PURE__ */ jsxRuntime.jsx(reactTooltip.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
198
- reactTooltip.Content,
365
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_tooltip.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
366
+ import_react_tooltip.Content,
199
367
  {
200
368
  ref,
201
369
  sideOffset,
@@ -209,8 +377,11 @@ var TooltipContent = React6.forwardRef(({ className, sideOffset = 4, ...props },
209
377
  ) })
210
378
  );
211
379
  });
212
- TooltipContent.displayName = reactTooltip.Content.displayName;
213
- var FormLabelWithTooltip = React6__namespace.forwardRef(
380
+ TooltipContent.displayName = import_react_tooltip.Content.displayName;
381
+
382
+ // src/components/form-label-with-tooltip.tsx
383
+ var import_jsx_runtime7 = require("react/jsx-runtime");
384
+ var FormLabelWithTooltip = React2.forwardRef(
214
385
  ({
215
386
  className,
216
387
  labelClassName,
@@ -220,25 +391,25 @@ var FormLabelWithTooltip = React6__namespace.forwardRef(
220
391
  required,
221
392
  ...props
222
393
  }, ref) => {
223
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2", className), children: [
224
- /* @__PURE__ */ jsxRuntime.jsxs(Label, { ref, className: labelClassName, ...props, children: [
394
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: cn("flex items-center gap-2", className), children: [
395
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Label, { ref, className: labelClassName, ...props, children: [
225
396
  label,
226
- required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-destructive ml-1", children: "*" })
397
+ required && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "text-destructive ml-1", children: "*" })
227
398
  ] }),
228
- description && /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { delayDuration: 200, children: [
229
- /* @__PURE__ */ jsxRuntime.jsxs(
399
+ description && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Tooltip, { delayDuration: 200, children: [
400
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
230
401
  TooltipTrigger,
231
402
  {
232
403
  type: "button",
233
404
  tabIndex: -1,
234
405
  className: "shrink-0 text-muted-foreground hover:text-foreground focus:outline-none focus:text-foreground transition-colors cursor-help",
235
406
  children: [
236
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, { className: "h-3.5 w-3.5" }),
237
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle description" })
407
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react.Info, { className: "h-3.5 w-3.5" }),
408
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "sr-only", children: "Toggle description" })
238
409
  ]
239
410
  }
240
411
  ),
241
- /* @__PURE__ */ jsxRuntime.jsx(
412
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
242
413
  TooltipContent,
243
414
  {
244
415
  side: "right",
@@ -254,7 +425,11 @@ var FormLabelWithTooltip = React6__namespace.forwardRef(
254
425
  }
255
426
  );
256
427
  FormLabelWithTooltip.displayName = "FormLabelWithTooltip";
257
- var badgeVariants = classVarianceAuthority.cva(
428
+
429
+ // src/components/badge.tsx
430
+ var import_class_variance_authority3 = require("class-variance-authority");
431
+ var import_jsx_runtime8 = require("react/jsx-runtime");
432
+ var badgeVariants = (0, import_class_variance_authority3.cva)(
258
433
  "inline-flex items-center rounded-none px-2.5 py-0.5 h-[22px] text-xs font-medium transition-colors",
259
434
  {
260
435
  variants: {
@@ -275,7 +450,7 @@ var badgeVariants = classVarianceAuthority.cva(
275
450
  }
276
451
  );
277
452
  function Badge({ className, variant = "default", ...props }) {
278
- return /* @__PURE__ */ jsxRuntime.jsx(
453
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
279
454
  "div",
280
455
  {
281
456
  "data-slot": `badge.${variant}`,
@@ -284,7 +459,12 @@ function Badge({ className, variant = "default", ...props }) {
284
459
  }
285
460
  );
286
461
  }
287
- var cardVariants = classVarianceAuthority.cva(
462
+
463
+ // src/components/card.tsx
464
+ var import_class_variance_authority4 = require("class-variance-authority");
465
+ var import_react6 = require("react");
466
+ var import_jsx_runtime9 = require("react/jsx-runtime");
467
+ var cardVariants = (0, import_class_variance_authority4.cva)(
288
468
  "bg-card text-foreground rounded-none border border-border transition-all duration-200",
289
469
  {
290
470
  variants: {
@@ -299,9 +479,9 @@ var cardVariants = classVarianceAuthority.cva(
299
479
  }
300
480
  }
301
481
  );
302
- var Card = React6.forwardRef(
482
+ var Card = (0, import_react6.forwardRef)(
303
483
  ({ className, variant, ...props }, ref) => {
304
- return /* @__PURE__ */ jsxRuntime.jsx(
484
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
305
485
  "div",
306
486
  {
307
487
  ref,
@@ -313,9 +493,9 @@ var Card = React6.forwardRef(
313
493
  }
314
494
  );
315
495
  Card.displayName = "Card";
316
- var CardHeader = React6.forwardRef(
496
+ var CardHeader = (0, import_react6.forwardRef)(
317
497
  ({ className, noBorder = false, ...props }, ref) => {
318
- return /* @__PURE__ */ jsxRuntime.jsx(
498
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
319
499
  "div",
320
500
  {
321
501
  ref,
@@ -331,9 +511,9 @@ var CardHeader = React6.forwardRef(
331
511
  }
332
512
  );
333
513
  CardHeader.displayName = "CardHeader";
334
- var CardTitle = React6.forwardRef(
514
+ var CardTitle = (0, import_react6.forwardRef)(
335
515
  ({ className, ...props }, ref) => {
336
- return /* @__PURE__ */ jsxRuntime.jsx(
516
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
337
517
  "h3",
338
518
  {
339
519
  ref,
@@ -345,9 +525,9 @@ var CardTitle = React6.forwardRef(
345
525
  }
346
526
  );
347
527
  CardTitle.displayName = "CardTitle";
348
- var CardDescription = React6.forwardRef(
528
+ var CardDescription = (0, import_react6.forwardRef)(
349
529
  ({ className, ...props }, ref) => {
350
- return /* @__PURE__ */ jsxRuntime.jsx(
530
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
351
531
  "p",
352
532
  {
353
533
  ref,
@@ -359,9 +539,9 @@ var CardDescription = React6.forwardRef(
359
539
  }
360
540
  );
361
541
  CardDescription.displayName = "CardDescription";
362
- var CardAction = React6.forwardRef(
542
+ var CardAction = (0, import_react6.forwardRef)(
363
543
  ({ className, ...props }, ref) => {
364
- return /* @__PURE__ */ jsxRuntime.jsx(
544
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
365
545
  "div",
366
546
  {
367
547
  ref,
@@ -373,9 +553,9 @@ var CardAction = React6.forwardRef(
373
553
  }
374
554
  );
375
555
  CardAction.displayName = "CardAction";
376
- var CardContent = React6.forwardRef(
556
+ var CardContent = (0, import_react6.forwardRef)(
377
557
  ({ className, ...props }, ref) => {
378
- return /* @__PURE__ */ jsxRuntime.jsx(
558
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
379
559
  "div",
380
560
  {
381
561
  ref,
@@ -387,9 +567,9 @@ var CardContent = React6.forwardRef(
387
567
  }
388
568
  );
389
569
  CardContent.displayName = "CardContent";
390
- var CardFooter = React6.forwardRef(
570
+ var CardFooter = (0, import_react6.forwardRef)(
391
571
  ({ className, ...props }, ref) => {
392
- return /* @__PURE__ */ jsxRuntime.jsx(
572
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
393
573
  "div",
394
574
  {
395
575
  ref,
@@ -404,15 +584,80 @@ var CardFooter = React6.forwardRef(
404
584
  }
405
585
  );
406
586
  CardFooter.displayName = "CardFooter";
407
- var alertVariants = classVarianceAuthority.cva(
587
+
588
+ // src/components/layout.tsx
589
+ var import_react7 = require("react");
590
+ var import_jsx_runtime10 = require("react/jsx-runtime");
591
+ var GAP = {
592
+ 0: "gap-0",
593
+ 1: "gap-1",
594
+ 2: "gap-2",
595
+ 3: "gap-3",
596
+ 4: "gap-4",
597
+ 6: "gap-6",
598
+ 8: "gap-8"
599
+ };
600
+ var COLS = {
601
+ 1: "grid-cols-1",
602
+ 2: "grid-cols-2",
603
+ 3: "grid-cols-3",
604
+ 4: "grid-cols-4",
605
+ 6: "grid-cols-6"
606
+ };
607
+ var Stack = (0, import_react7.forwardRef)(
608
+ ({ direction = "col", gap = 4, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
609
+ "div",
610
+ {
611
+ ref,
612
+ className: cn(
613
+ "flex",
614
+ direction === "col" ? "flex-col" : "flex-row",
615
+ GAP[gap],
616
+ className
617
+ ),
618
+ ...props
619
+ }
620
+ )
621
+ );
622
+ Stack.displayName = "Stack";
623
+ var Grid = (0, import_react7.forwardRef)(
624
+ ({ cols = 2, gap = 4, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
625
+ "div",
626
+ {
627
+ ref,
628
+ className: cn("grid", COLS[cols], GAP[gap], className),
629
+ ...props
630
+ }
631
+ )
632
+ );
633
+ Grid.displayName = "Grid";
634
+ var Stat = (0, import_react7.forwardRef)(
635
+ ({ label, value, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { ref, className: cn("flex flex-col gap-1", className), ...props, children: [
636
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-sm text-muted-foreground", children: label }),
637
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "text-2xl font-semibold text-foreground", children: value })
638
+ ] })
639
+ );
640
+ Stat.displayName = "Stat";
641
+
642
+ // src/components/alert.tsx
643
+ var import_class_variance_authority5 = require("class-variance-authority");
644
+ var import_react8 = require("react");
645
+ var import_jsx_runtime11 = require("react/jsx-runtime");
646
+ var alertVariants = (0, import_class_variance_authority5.cva)(
408
647
  "relative flex items-start gap-3 rounded-none border border-border p-4 text-sm transition-colors duration-150",
409
648
  {
410
649
  variants: {
411
650
  variant: {
412
- info: "border-border bg-primary/5 text-primary dark:border-primary/30 dark:bg-primary/5 dark:text-primary-foreground/90",
413
- 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",
414
- 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",
415
- 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"
651
+ // text-primary is mode-correct (dark ink on light in light mode, light
652
+ // ink on dark in dark mode); the previous dark text override rendered
653
+ // dark slate on the dark tint at about 1:1.
654
+ info: "bg-primary/5 text-primary",
655
+ // dark:border-l-* re-asserts the strong base accent on the left after
656
+ // the dark:border-*-900 all-sides rule, so the meaningful accent stays
657
+ // visible in dark mode instead of collapsing to the faint -900 shade.
658
+ 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",
659
+ 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",
660
+ 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"
416
661
  }
417
662
  },
418
663
  defaultVariants: {
@@ -420,9 +665,9 @@ var alertVariants = classVarianceAuthority.cva(
420
665
  }
421
666
  }
422
667
  );
423
- var Alert = React6.forwardRef(
668
+ var Alert = (0, import_react8.forwardRef)(
424
669
  ({ className, variant = "info", role = "alert", ...props }, ref) => {
425
- return /* @__PURE__ */ jsxRuntime.jsx(
670
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
426
671
  "div",
427
672
  {
428
673
  ref,
@@ -435,9 +680,9 @@ var Alert = React6.forwardRef(
435
680
  }
436
681
  );
437
682
  Alert.displayName = "Alert";
438
- var AlertTitle = React6.forwardRef(
683
+ var AlertTitle = (0, import_react8.forwardRef)(
439
684
  ({ className, ...props }, ref) => {
440
- return /* @__PURE__ */ jsxRuntime.jsx(
685
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
441
686
  "h5",
442
687
  {
443
688
  ref,
@@ -452,9 +697,9 @@ var AlertTitle = React6.forwardRef(
452
697
  }
453
698
  );
454
699
  AlertTitle.displayName = "AlertTitle";
455
- var AlertDescription = React6.forwardRef(
700
+ var AlertDescription = (0, import_react8.forwardRef)(
456
701
  ({ className, ...props }, ref) => {
457
- return /* @__PURE__ */ jsxRuntime.jsx(
702
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
458
703
  "div",
459
704
  {
460
705
  ref,
@@ -466,14 +711,18 @@ var AlertDescription = React6.forwardRef(
466
711
  }
467
712
  );
468
713
  AlertDescription.displayName = "AlertDescription";
714
+
715
+ // src/components/separator.tsx
716
+ var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
717
+ var import_jsx_runtime12 = require("react/jsx-runtime");
469
718
  function Separator({
470
719
  className,
471
720
  orientation = "horizontal",
472
721
  decorative = true,
473
722
  ...props
474
723
  }) {
475
- return /* @__PURE__ */ jsxRuntime.jsx(
476
- SeparatorPrimitive__namespace.Root,
724
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
725
+ SeparatorPrimitive.Root,
477
726
  {
478
727
  "data-slot": "separator",
479
728
  decorative,
@@ -486,9 +735,13 @@ function Separator({
486
735
  }
487
736
  );
488
737
  }
489
- var Skeleton = React6__namespace.forwardRef(
738
+
739
+ // src/components/skeleton.tsx
740
+ var React3 = __toESM(require("react"), 1);
741
+ var import_jsx_runtime13 = require("react/jsx-runtime");
742
+ var Skeleton = React3.forwardRef(
490
743
  ({ className, ...props }, ref) => {
491
- return /* @__PURE__ */ jsxRuntime.jsx(
744
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
492
745
  "div",
493
746
  {
494
747
  ref,
@@ -504,7 +757,12 @@ var Skeleton = React6__namespace.forwardRef(
504
757
  }
505
758
  );
506
759
  Skeleton.displayName = "Skeleton";
507
- var progressVariants = classVarianceAuthority.cva("h-full rounded-none transition-all", {
760
+
761
+ // src/components/progress.tsx
762
+ var import_class_variance_authority6 = require("class-variance-authority");
763
+ var React4 = __toESM(require("react"), 1);
764
+ var import_jsx_runtime14 = require("react/jsx-runtime");
765
+ var progressVariants = (0, import_class_variance_authority6.cva)("h-full rounded-none transition-all", {
508
766
  variants: {
509
767
  variant: {
510
768
  default: "bg-primary-500",
@@ -516,7 +774,7 @@ var progressVariants = classVarianceAuthority.cva("h-full rounded-none transitio
516
774
  variant: "default"
517
775
  }
518
776
  });
519
- var Progress = React6__namespace.forwardRef(
777
+ var Progress = React4.forwardRef(
520
778
  ({
521
779
  value,
522
780
  max = 100,
@@ -527,7 +785,7 @@ var Progress = React6__namespace.forwardRef(
527
785
  }, ref) => {
528
786
  const clampedValue = Math.min(Math.max(0, value), max);
529
787
  const percentage = clampedValue / max * 100;
530
- return /* @__PURE__ */ jsxRuntime.jsx(
788
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
531
789
  "div",
532
790
  {
533
791
  ref,
@@ -541,7 +799,7 @@ var Progress = React6__namespace.forwardRef(
541
799
  className
542
800
  ),
543
801
  ...props,
544
- children: /* @__PURE__ */ jsxRuntime.jsx(
802
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
545
803
  "div",
546
804
  {
547
805
  className: cn(progressVariants({ variant })),
@@ -556,44 +814,42 @@ var Progress = React6__namespace.forwardRef(
556
814
  }
557
815
  );
558
816
  Progress.displayName = "Progress";
559
- var Checkbox = React6.forwardRef(({ className, indeterminate, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
560
- CheckboxPrimitive__namespace.Root,
817
+
818
+ // src/components/checkbox.tsx
819
+ var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
820
+ var import_lucide_react2 = require("lucide-react");
821
+ var import_react9 = require("react");
822
+ var import_jsx_runtime15 = require("react/jsx-runtime");
823
+ var Checkbox = (0, import_react9.forwardRef)(({ className, indeterminate, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
824
+ CheckboxPrimitive.Root,
561
825
  {
562
826
  ref,
563
827
  "data-slot": "checkbox",
564
828
  className: cn(
565
- // Unchecked outline uses primary/50: measured 3.95:1 on the light row and
566
- // 5.32:1 on the dark one. WCAG 1.4.11 asks 3:1 of a control's boundary and
567
- // the earlier values did not reach it primary/40 came out at 2.85, close
568
- // enough to look deliberate and still short. Callers must not override the
569
- // border: passing `border-border` puts the divider token here, which
570
- // measured 1.35:1 and 1.14:1, and a divider is meant to go unnoticed.
571
- // Checked and indeterminate share the filled appearance; declaring both
572
- // here keeps the control self-sufficient without host overrides.
573
- //
574
- // The box stays 16px and the target does not: `before` stretches an
575
- // invisible 24px square from the centre, which is WCAG 2.5.8's floor.
576
- // The exemption for a bare browser checkbox does not cover a styled one,
577
- // and this is styled. Growing the box instead would make every dense
578
- // table heavier for a rule about pointers, so the box and the thing you
579
- // can hit are allowed to differ.
580
- "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",
829
+ // Resting border uses border-input (a visible 3:1 boundary); the checked
830
+ // state switches to border-primary below, keeping the two states distinct.
831
+ "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",
581
832
  className
582
833
  ),
583
834
  ...props,
584
- children: /* @__PURE__ */ jsxRuntime.jsx(
585
- CheckboxPrimitive__namespace.Indicator,
835
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
836
+ CheckboxPrimitive.Indicator,
586
837
  {
587
838
  className: cn("flex items-center justify-center text-current"),
588
- children: indeterminate ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "h-3 w-3" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-3 w-3" })
839
+ children: indeterminate ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react2.Minus, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react2.Check, { className: "h-3 w-3" })
589
840
  }
590
841
  )
591
842
  }
592
843
  ));
593
844
  Checkbox.displayName = "Checkbox";
594
- var RadioGroup = React6.forwardRef(({ className, ...props }, ref) => {
595
- return /* @__PURE__ */ jsxRuntime.jsx(
596
- RadioGroupPrimitive__namespace.Root,
845
+
846
+ // src/components/radio-group.tsx
847
+ var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
848
+ var import_react10 = require("react");
849
+ var import_jsx_runtime16 = require("react/jsx-runtime");
850
+ var RadioGroup = (0, import_react10.forwardRef)(({ className, ...props }, ref) => {
851
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
852
+ RadioGroupPrimitive.Root,
597
853
  {
598
854
  className: cn("grid gap-2", className),
599
855
  ...props,
@@ -603,27 +859,33 @@ var RadioGroup = React6.forwardRef(({ className, ...props }, ref) => {
603
859
  );
604
860
  });
605
861
  RadioGroup.displayName = "RadioGroup";
606
- var RadioGroupItem = React6.forwardRef(({ className, ...props }, ref) => {
607
- return /* @__PURE__ */ jsxRuntime.jsx(
608
- RadioGroupPrimitive__namespace.Item,
862
+ var RadioGroupItem = (0, import_react10.forwardRef)(({ className, ...props }, ref) => {
863
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
864
+ RadioGroupPrimitive.Item,
609
865
  {
610
866
  ref,
611
867
  "data-slot": "radio-group-item",
612
868
  className: cn(
613
869
  // Unchecked outline uses primary/40 (clearly visible) instead of primary/5
614
870
  // (~5% opacity, effectively invisible); hover strengthens above the resting state.
615
- "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]",
871
+ // Resting border uses border-input (a visible 3:1 boundary); the checked
872
+ // state switches to border-primary below, keeping the two states distinct.
873
+ "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]",
616
874
  className
617
875
  ),
618
876
  ...props,
619
- children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Indicator, {})
877
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(RadioGroupPrimitive.Indicator, {})
620
878
  }
621
879
  );
622
880
  });
623
881
  RadioGroupItem.displayName = "RadioGroupItem";
882
+
883
+ // src/components/switch.tsx
884
+ var import_react_switch = require("@radix-ui/react-switch");
885
+ var import_jsx_runtime17 = require("react/jsx-runtime");
624
886
  function Switch({ className, ...props }) {
625
- return /* @__PURE__ */ jsxRuntime.jsx(
626
- reactSwitch.Root,
887
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
888
+ import_react_switch.Root,
627
889
  {
628
890
  "data-slot": "switch",
629
891
  className: cn(
@@ -633,8 +895,8 @@ function Switch({ className, ...props }) {
633
895
  className
634
896
  ),
635
897
  ...props,
636
- children: /* @__PURE__ */ jsxRuntime.jsx(
637
- reactSwitch.Thumb,
898
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
899
+ import_react_switch.Thumb,
638
900
  {
639
901
  "data-slot": "switch-thumb",
640
902
  className: cn(
@@ -645,13 +907,22 @@ function Switch({ className, ...props }) {
645
907
  }
646
908
  );
647
909
  }
648
- var Collapsible = CollapsiblePrimitive__namespace.Root;
649
- var CollapsibleTrigger2 = CollapsiblePrimitive__namespace.CollapsibleTrigger;
650
- var CollapsibleContent2 = CollapsiblePrimitive__namespace.CollapsibleContent;
651
- var Accordion = AccordionPrimitive__namespace.Root;
652
- var AccordionItem = React6.forwardRef(
653
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
654
- AccordionPrimitive__namespace.Item,
910
+
911
+ // src/components/collapsible.tsx
912
+ var CollapsiblePrimitive = __toESM(require("@radix-ui/react-collapsible"), 1);
913
+ var Collapsible = CollapsiblePrimitive.Root;
914
+ var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
915
+ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
916
+
917
+ // src/components/accordion.tsx
918
+ var AccordionPrimitive = __toESM(require("@radix-ui/react-accordion"), 1);
919
+ var import_lucide_react3 = require("lucide-react");
920
+ var import_react11 = require("react");
921
+ var import_jsx_runtime18 = require("react/jsx-runtime");
922
+ var Accordion = AccordionPrimitive.Root;
923
+ var AccordionItem = (0, import_react11.forwardRef)(
924
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
925
+ AccordionPrimitive.Item,
655
926
  {
656
927
  ref,
657
928
  "data-slot": "accordion-item",
@@ -661,9 +932,9 @@ var AccordionItem = React6.forwardRef(
661
932
  )
662
933
  );
663
934
  AccordionItem.displayName = "AccordionItem";
664
- var AccordionTrigger = React6.forwardRef(
665
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "flex", "data-slot": "accordion-header", children: /* @__PURE__ */ jsxRuntime.jsxs(
666
- AccordionPrimitive__namespace.Trigger,
935
+ var AccordionTrigger = (0, import_react11.forwardRef)(
936
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(AccordionPrimitive.Header, { className: "flex", "data-slot": "accordion-header", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
937
+ AccordionPrimitive.Trigger,
667
938
  {
668
939
  ref,
669
940
  "data-slot": "accordion-trigger",
@@ -674,26 +945,32 @@ var AccordionTrigger = React6.forwardRef(
674
945
  ...props,
675
946
  children: [
676
947
  children,
677
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-150 will-change-transform" })
948
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react3.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-150 will-change-transform" })
678
949
  ]
679
950
  }
680
951
  ) })
681
952
  );
682
- AccordionTrigger.displayName = AccordionPrimitive__namespace.Trigger.displayName;
683
- var AccordionContent = React6.forwardRef(
684
- ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
685
- AccordionPrimitive__namespace.Content,
953
+ AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
954
+ var AccordionContent = (0, import_react11.forwardRef)(
955
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
956
+ AccordionPrimitive.Content,
686
957
  {
687
958
  ref,
688
959
  "data-slot": "accordion-content",
689
960
  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",
690
961
  ...props,
691
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pb-4 pt-0", className), children })
962
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: cn("pb-4 pt-0", className), children })
692
963
  }
693
964
  )
694
965
  );
695
- AccordionContent.displayName = AccordionPrimitive__namespace.Content.displayName;
696
- var avatarVariants = classVarianceAuthority.cva(
966
+ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
967
+
968
+ // src/components/avatar.tsx
969
+ var import_react_avatar = require("@radix-ui/react-avatar");
970
+ var import_class_variance_authority7 = require("class-variance-authority");
971
+ var import_react12 = require("react");
972
+ var import_jsx_runtime19 = require("react/jsx-runtime");
973
+ var avatarVariants = (0, import_class_variance_authority7.cva)(
697
974
  "relative inline-flex shrink-0 overflow-hidden rounded-none items-center justify-center bg-primary/5 text-muted-foreground",
698
975
  {
699
976
  variants: {
@@ -722,11 +999,11 @@ var fallbackTextSizeMap = {
722
999
  "2xl": "text-2xl"
723
1000
  // 24px for 80px avatar
724
1001
  };
725
- var AvatarSizeContext = React6.createContext("md");
726
- var Avatar = React6.forwardRef(
1002
+ var AvatarSizeContext = (0, import_react12.createContext)("md");
1003
+ var Avatar = (0, import_react12.forwardRef)(
727
1004
  ({ className, size = "md", ...props }, ref) => {
728
- return /* @__PURE__ */ jsxRuntime.jsx(AvatarSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(
729
- reactAvatar.Root,
1005
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AvatarSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1006
+ import_react_avatar.Root,
730
1007
  {
731
1008
  ref,
732
1009
  "data-slot": "avatar",
@@ -737,10 +1014,10 @@ var Avatar = React6.forwardRef(
737
1014
  }
738
1015
  );
739
1016
  Avatar.displayName = "Avatar";
740
- var AvatarImage = React6.forwardRef(
1017
+ var AvatarImage = (0, import_react12.forwardRef)(
741
1018
  ({ className, ...props }, ref) => {
742
- return /* @__PURE__ */ jsxRuntime.jsx(
743
- reactAvatar.Image,
1019
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1020
+ import_react_avatar.Image,
744
1021
  {
745
1022
  ref,
746
1023
  "data-slot": "avatar-image",
@@ -751,12 +1028,12 @@ var AvatarImage = React6.forwardRef(
751
1028
  }
752
1029
  );
753
1030
  AvatarImage.displayName = "AvatarImage";
754
- var AvatarFallback = React6.forwardRef(
1031
+ var AvatarFallback = (0, import_react12.forwardRef)(
755
1032
  ({ className, children, ...props }, ref) => {
756
- const size = React6.useContext(AvatarSizeContext) || "md";
1033
+ const size = (0, import_react12.useContext)(AvatarSizeContext) || "md";
757
1034
  const textSize = fallbackTextSizeMap[size];
758
- return /* @__PURE__ */ jsxRuntime.jsx(
759
- reactAvatar.Fallback,
1035
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1036
+ import_react_avatar.Fallback,
760
1037
  {
761
1038
  ref,
762
1039
  "data-slot": "avatar-fallback",
@@ -772,10 +1049,15 @@ var AvatarFallback = React6.forwardRef(
772
1049
  }
773
1050
  );
774
1051
  AvatarFallback.displayName = "AvatarFallback";
775
- var Tabs = reactTabs.Root;
776
- var TabsList = React6.forwardRef(
777
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
778
- reactTabs.List,
1052
+
1053
+ // src/components/tabs.tsx
1054
+ var import_react_tabs = require("@radix-ui/react-tabs");
1055
+ var import_react13 = require("react");
1056
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1057
+ var Tabs = import_react_tabs.Root;
1058
+ var TabsList = (0, import_react13.forwardRef)(
1059
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1060
+ import_react_tabs.List,
779
1061
  {
780
1062
  ref,
781
1063
  "data-slot": "tabs-list",
@@ -787,44 +1069,49 @@ var TabsList = React6.forwardRef(
787
1069
  }
788
1070
  )
789
1071
  );
790
- TabsList.displayName = reactTabs.List.displayName;
791
- var TabsTrigger = React6.forwardRef(
792
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
793
- reactTabs.Trigger,
1072
+ TabsList.displayName = import_react_tabs.List.displayName;
1073
+ var TabsTrigger = (0, import_react13.forwardRef)(
1074
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1075
+ import_react_tabs.Trigger,
794
1076
  {
795
1077
  ref,
796
1078
  "data-slot": "tabs-trigger",
797
1079
  className: cn(
798
- "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",
1080
+ "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",
799
1081
  className
800
1082
  ),
801
1083
  ...props
802
1084
  }
803
1085
  )
804
1086
  );
805
- TabsTrigger.displayName = reactTabs.Trigger.displayName;
806
- var TabsContent = React6.forwardRef(
807
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
808
- reactTabs.Content,
1087
+ TabsTrigger.displayName = import_react_tabs.Trigger.displayName;
1088
+ var TabsContent = (0, import_react13.forwardRef)(
1089
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1090
+ import_react_tabs.Content,
809
1091
  {
810
1092
  ref,
811
1093
  "data-slot": "tabs-content",
812
1094
  className: cn(
813
- "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/20 focus-visible:ring-offset-2",
1095
+ "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
814
1096
  className
815
1097
  ),
816
1098
  ...props
817
1099
  }
818
1100
  )
819
1101
  );
820
- TabsContent.displayName = reactTabs.Content.displayName;
821
- var Popover = PopoverPrimitive__namespace.Root;
822
- var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
823
- var PopoverAnchor = PopoverPrimitive__namespace.Anchor;
824
- var PopoverContent = React6__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => {
1102
+ TabsContent.displayName = import_react_tabs.Content.displayName;
1103
+
1104
+ // src/components/popover.tsx
1105
+ var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
1106
+ var React5 = __toESM(require("react"), 1);
1107
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1108
+ var Popover = PopoverPrimitive.Root;
1109
+ var PopoverTrigger = PopoverPrimitive.Trigger;
1110
+ var PopoverAnchor = PopoverPrimitive.Anchor;
1111
+ var PopoverContent = React5.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => {
825
1112
  const portalContainer = usePortalContainer();
826
- return /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
827
- PopoverPrimitive__namespace.Content,
1113
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1114
+ PopoverPrimitive.Content,
828
1115
  {
829
1116
  ref,
830
1117
  align,
@@ -838,13 +1125,20 @@ var PopoverContent = React6__namespace.forwardRef(({ className, align = "center"
838
1125
  }
839
1126
  ) });
840
1127
  });
841
- PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
842
- var Dialog = DialogPrimitive__namespace.Root;
843
- var DialogTrigger = DialogPrimitive__namespace.Trigger;
844
- var DialogPortal = DialogPrimitive__namespace.Portal;
845
- var DialogClose = DialogPrimitive__namespace.Close;
846
- var DialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
847
- DialogPrimitive__namespace.Overlay,
1128
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1129
+
1130
+ // src/components/dialog.tsx
1131
+ var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
1132
+ var import_class_variance_authority8 = require("class-variance-authority");
1133
+ var import_lucide_react4 = require("lucide-react");
1134
+ var import_react14 = require("react");
1135
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1136
+ var Dialog = DialogPrimitive.Root;
1137
+ var DialogTrigger = DialogPrimitive.Trigger;
1138
+ var DialogPortal = DialogPrimitive.Portal;
1139
+ var DialogClose = DialogPrimitive.Close;
1140
+ var DialogOverlay = (0, import_react14.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1141
+ DialogPrimitive.Overlay,
848
1142
  {
849
1143
  ref,
850
1144
  "data-slot": "dialog-overlay",
@@ -855,8 +1149,8 @@ var DialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PU
855
1149
  ...props
856
1150
  }
857
1151
  ));
858
- DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
859
- var dialogContentVariants = classVarianceAuthority.cva("", {
1152
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
1153
+ var dialogContentVariants = (0, import_class_variance_authority8.cva)("", {
860
1154
  variants: {
861
1155
  size: {
862
1156
  sm: "max-w-sm",
@@ -870,12 +1164,12 @@ var dialogContentVariants = classVarianceAuthority.cva("", {
870
1164
  size: "md"
871
1165
  }
872
1166
  });
873
- var DialogContent = React6.forwardRef(({ className, children, size, ...props }, ref) => {
1167
+ var DialogContent = (0, import_react14.forwardRef)(({ className, children, size, ...props }, ref) => {
874
1168
  const portalContainer = usePortalContainer();
875
- return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { container: portalContainer, children: [
876
- /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
877
- /* @__PURE__ */ jsxRuntime.jsxs(
878
- DialogPrimitive__namespace.Content,
1169
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DialogPortal, { container: portalContainer, children: [
1170
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogOverlay, {}),
1171
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1172
+ DialogPrimitive.Content,
879
1173
  {
880
1174
  ref,
881
1175
  "data-slot": "dialog-content",
@@ -887,14 +1181,14 @@ var DialogContent = React6.forwardRef(({ className, children, size, ...props },
887
1181
  ...props,
888
1182
  children: [
889
1183
  children,
890
- /* @__PURE__ */ jsxRuntime.jsxs(
891
- DialogPrimitive__namespace.Close,
1184
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1185
+ DialogPrimitive.Close,
892
1186
  {
893
1187
  "data-slot": "dialog-close",
894
1188
  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",
895
1189
  children: [
896
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
897
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
1190
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react4.X, { className: "h-4 w-4" }),
1191
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sr-only", children: "Close" })
898
1192
  ]
899
1193
  }
900
1194
  )
@@ -903,9 +1197,9 @@ var DialogContent = React6.forwardRef(({ className, children, size, ...props },
903
1197
  )
904
1198
  ] });
905
1199
  });
906
- DialogContent.displayName = DialogPrimitive__namespace.Content.displayName;
907
- var DialogHeader = React6.forwardRef(
908
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1200
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
1201
+ var DialogHeader = (0, import_react14.forwardRef)(
1202
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
909
1203
  "div",
910
1204
  {
911
1205
  ref,
@@ -918,8 +1212,8 @@ var DialogHeader = React6.forwardRef(
918
1212
  )
919
1213
  );
920
1214
  DialogHeader.displayName = "DialogHeader";
921
- var DialogFooter = React6.forwardRef(
922
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1215
+ var DialogFooter = (0, import_react14.forwardRef)(
1216
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
923
1217
  "div",
924
1218
  {
925
1219
  ref,
@@ -932,8 +1226,8 @@ var DialogFooter = React6.forwardRef(
932
1226
  )
933
1227
  );
934
1228
  DialogFooter.displayName = "DialogFooter";
935
- var DialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
936
- DialogPrimitive__namespace.Title,
1229
+ var DialogTitle = (0, import_react14.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1230
+ DialogPrimitive.Title,
937
1231
  {
938
1232
  ref,
939
1233
  className: cn(
@@ -943,21 +1237,26 @@ var DialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE
943
1237
  ...props
944
1238
  }
945
1239
  ));
946
- DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
947
- var DialogDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
948
- DialogPrimitive__namespace.Description,
1240
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
1241
+ var DialogDescription = (0, import_react14.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1242
+ DialogPrimitive.Description,
949
1243
  {
950
1244
  ref,
951
1245
  className: cn("text-sm text-muted-foreground", className),
952
1246
  ...props
953
1247
  }
954
1248
  ));
955
- DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
956
- var AlertDialog = AlertDialogPrimitive__namespace.Root;
957
- var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
958
- var AlertDialogPortal = AlertDialogPrimitive__namespace.Portal;
959
- var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
960
- AlertDialogPrimitive__namespace.Overlay,
1249
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
1250
+
1251
+ // src/components/alert-dialog.tsx
1252
+ var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"), 1);
1253
+ var import_react15 = require("react");
1254
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1255
+ var AlertDialog = AlertDialogPrimitive.Root;
1256
+ var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
1257
+ var AlertDialogPortal = AlertDialogPrimitive.Portal;
1258
+ var AlertDialogOverlay = (0, import_react15.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1259
+ AlertDialogPrimitive.Overlay,
961
1260
  {
962
1261
  ref,
963
1262
  className: cn(
@@ -967,13 +1266,13 @@ var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /*
967
1266
  ...props
968
1267
  }
969
1268
  ));
970
- AlertDialogOverlay.displayName = AlertDialogPrimitive__namespace.Overlay.displayName;
971
- var AlertDialogContent = React6.forwardRef(({ className, ...props }, ref) => {
1269
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
1270
+ var AlertDialogContent = (0, import_react15.forwardRef)(({ className, ...props }, ref) => {
972
1271
  const portalContainer = usePortalContainer();
973
- return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { container: portalContainer, children: [
974
- /* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
975
- /* @__PURE__ */ jsxRuntime.jsx(
976
- AlertDialogPrimitive__namespace.Content,
1272
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(AlertDialogPortal, { container: portalContainer, children: [
1273
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(AlertDialogOverlay, {}),
1274
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1275
+ AlertDialogPrimitive.Content,
977
1276
  {
978
1277
  ref,
979
1278
  className: cn(
@@ -985,9 +1284,9 @@ var AlertDialogContent = React6.forwardRef(({ className, ...props }, ref) => {
985
1284
  )
986
1285
  ] });
987
1286
  });
988
- AlertDialogContent.displayName = AlertDialogPrimitive__namespace.Content.displayName;
989
- var AlertDialogHeader = React6.forwardRef(
990
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1287
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
1288
+ var AlertDialogHeader = (0, import_react15.forwardRef)(
1289
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
991
1290
  "div",
992
1291
  {
993
1292
  ref,
@@ -1000,8 +1299,8 @@ var AlertDialogHeader = React6.forwardRef(
1000
1299
  )
1001
1300
  );
1002
1301
  AlertDialogHeader.displayName = "AlertDialogHeader";
1003
- var AlertDialogFooter = React6.forwardRef(
1004
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1302
+ var AlertDialogFooter = (0, import_react15.forwardRef)(
1303
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1005
1304
  "div",
1006
1305
  {
1007
1306
  ref,
@@ -1014,8 +1313,8 @@ var AlertDialogFooter = React6.forwardRef(
1014
1313
  )
1015
1314
  );
1016
1315
  AlertDialogFooter.displayName = "AlertDialogFooter";
1017
- var AlertDialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1018
- AlertDialogPrimitive__namespace.Title,
1316
+ var AlertDialogTitle = (0, import_react15.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1317
+ AlertDialogPrimitive.Title,
1019
1318
  {
1020
1319
  ref,
1021
1320
  className: cn(
@@ -1025,18 +1324,18 @@ var AlertDialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @_
1025
1324
  ...props
1026
1325
  }
1027
1326
  ));
1028
- AlertDialogTitle.displayName = AlertDialogPrimitive__namespace.Title.displayName;
1029
- var AlertDialogDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1030
- AlertDialogPrimitive__namespace.Description,
1327
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
1328
+ var AlertDialogDescription = (0, import_react15.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1329
+ AlertDialogPrimitive.Description,
1031
1330
  {
1032
1331
  ref,
1033
1332
  className: cn("text-sm text-muted-foreground", className),
1034
1333
  ...props
1035
1334
  }
1036
1335
  ));
1037
- AlertDialogDescription.displayName = AlertDialogPrimitive__namespace.Description.displayName;
1038
- var AlertDialogAction = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1039
- AlertDialogPrimitive__namespace.Action,
1336
+ AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
1337
+ var AlertDialogAction = (0, import_react15.forwardRef)(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1338
+ AlertDialogPrimitive.Action,
1040
1339
  {
1041
1340
  ref,
1042
1341
  className: cn(buttonVariants({ variant: "destructive" }), className),
@@ -1044,9 +1343,9 @@ var AlertDialogAction = React6.forwardRef(({ className, children, ...props }, re
1044
1343
  children
1045
1344
  }
1046
1345
  ));
1047
- AlertDialogAction.displayName = AlertDialogPrimitive__namespace.Action.displayName;
1048
- var AlertDialogCancel = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1049
- AlertDialogPrimitive__namespace.Cancel,
1346
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
1347
+ var AlertDialogCancel = (0, import_react15.forwardRef)(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1348
+ AlertDialogPrimitive.Cancel,
1050
1349
  {
1051
1350
  ref,
1052
1351
  className: cn(
@@ -1058,16 +1357,22 @@ var AlertDialogCancel = React6.forwardRef(({ className, children, ...props }, re
1058
1357
  children
1059
1358
  }
1060
1359
  ));
1061
- AlertDialogCancel.displayName = AlertDialogPrimitive__namespace.Cancel.displayName;
1062
- var DropdownMenu = DropdownMenuPrimitive__namespace.Root;
1063
- var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
1064
- var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
1065
- var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
1066
- var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
1067
- var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
1360
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
1361
+
1362
+ // src/components/dropdown-menu.tsx
1363
+ var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
1364
+ var import_lucide_react5 = require("lucide-react");
1365
+ var React6 = __toESM(require("react"), 1);
1366
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1367
+ var DropdownMenu = DropdownMenuPrimitive.Root;
1368
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
1369
+ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
1370
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
1371
+ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
1372
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
1068
1373
  var menuItemBase = "cursor-pointer transition-colors data-[highlighted]:bg-muted data-[highlighted]:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1069
- var DropdownMenuSubTrigger = React6__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1070
- DropdownMenuPrimitive__namespace.SubTrigger,
1374
+ var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1375
+ DropdownMenuPrimitive.SubTrigger,
1071
1376
  {
1072
1377
  ref,
1073
1378
  className: cn(
@@ -1079,13 +1384,13 @@ var DropdownMenuSubTrigger = React6__namespace.forwardRef(({ className, inset, c
1079
1384
  ...props,
1080
1385
  children: [
1081
1386
  children,
1082
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto" })
1387
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react5.ChevronRight, { className: "ml-auto" })
1083
1388
  ]
1084
1389
  }
1085
1390
  ));
1086
- DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
1087
- var DropdownMenuSubContent = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1088
- DropdownMenuPrimitive__namespace.SubContent,
1391
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
1392
+ var DropdownMenuSubContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1393
+ DropdownMenuPrimitive.SubContent,
1089
1394
  {
1090
1395
  ref,
1091
1396
  className: cn(
@@ -1095,11 +1400,11 @@ var DropdownMenuSubContent = React6__namespace.forwardRef(({ className, ...props
1095
1400
  ...props
1096
1401
  }
1097
1402
  ));
1098
- DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
1099
- var DropdownMenuContent = React6__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
1403
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
1404
+ var DropdownMenuContent = React6.forwardRef(({ className, sideOffset = 4, ...props }, ref) => {
1100
1405
  const portalContainer = usePortalContainer();
1101
- return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsx(
1102
- DropdownMenuPrimitive__namespace.Content,
1406
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1407
+ DropdownMenuPrimitive.Content,
1103
1408
  {
1104
1409
  ref,
1105
1410
  sideOffset,
@@ -1111,9 +1416,9 @@ var DropdownMenuContent = React6__namespace.forwardRef(({ className, sideOffset
1111
1416
  }
1112
1417
  ) });
1113
1418
  });
1114
- DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
1115
- var DropdownMenuItem = React6__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1116
- DropdownMenuPrimitive__namespace.Item,
1419
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
1420
+ var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1421
+ DropdownMenuPrimitive.Item,
1117
1422
  {
1118
1423
  ref,
1119
1424
  className: cn(
@@ -1125,9 +1430,9 @@ var DropdownMenuItem = React6__namespace.forwardRef(({ className, inset, ...prop
1125
1430
  ...props
1126
1431
  }
1127
1432
  ));
1128
- DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
1129
- var DropdownMenuCheckboxItem = React6__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1130
- DropdownMenuPrimitive__namespace.CheckboxItem,
1433
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
1434
+ var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1435
+ DropdownMenuPrimitive.CheckboxItem,
1131
1436
  {
1132
1437
  ref,
1133
1438
  className: cn(
@@ -1138,14 +1443,14 @@ var DropdownMenuCheckboxItem = React6__namespace.forwardRef(({ className, childr
1138
1443
  checked,
1139
1444
  ...props,
1140
1445
  children: [
1141
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
1446
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react5.Check, { className: "h-4 w-4" }) }) }),
1142
1447
  children
1143
1448
  ]
1144
1449
  }
1145
1450
  ));
1146
- DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
1147
- var DropdownMenuRadioItem = React6__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1148
- DropdownMenuPrimitive__namespace.RadioItem,
1451
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
1452
+ var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1453
+ DropdownMenuPrimitive.RadioItem,
1149
1454
  {
1150
1455
  ref,
1151
1456
  className: cn(
@@ -1155,14 +1460,14 @@ var DropdownMenuRadioItem = React6__namespace.forwardRef(({ className, children,
1155
1460
  ),
1156
1461
  ...props,
1157
1462
  children: [
1158
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-2 w-2 fill-current" }) }) }),
1463
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react5.Circle, { className: "h-2 w-2 fill-current" }) }) }),
1159
1464
  children
1160
1465
  ]
1161
1466
  }
1162
1467
  ));
1163
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
1164
- var DropdownMenuLabel = React6__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1165
- DropdownMenuPrimitive__namespace.Label,
1468
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
1469
+ var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1470
+ DropdownMenuPrimitive.Label,
1166
1471
  {
1167
1472
  ref,
1168
1473
  className: cn(
@@ -1173,18 +1478,18 @@ var DropdownMenuLabel = React6__namespace.forwardRef(({ className, inset, ...pro
1173
1478
  ...props
1174
1479
  }
1175
1480
  ));
1176
- DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
1177
- var DropdownMenuSeparator = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1178
- DropdownMenuPrimitive__namespace.Separator,
1481
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1482
+ var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1483
+ DropdownMenuPrimitive.Separator,
1179
1484
  {
1180
1485
  ref,
1181
1486
  className: cn("-mx-1 my-1 h-px bg-primary/5", className),
1182
1487
  ...props
1183
1488
  }
1184
1489
  ));
1185
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
1186
- var DropdownMenuShortcut = React6__namespace.forwardRef(({ className, ...props }, ref) => {
1187
- return /* @__PURE__ */ jsxRuntime.jsx(
1490
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1491
+ var DropdownMenuShortcut = React6.forwardRef(({ className, ...props }, ref) => {
1492
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1188
1493
  "span",
1189
1494
  {
1190
1495
  ref,
@@ -1194,21 +1499,30 @@ var DropdownMenuShortcut = React6__namespace.forwardRef(({ className, ...props }
1194
1499
  );
1195
1500
  });
1196
1501
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
1502
+
1503
+ // src/components/select.tsx
1504
+ var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
1505
+ var import_class_variance_authority9 = require("class-variance-authority");
1506
+ var import_lucide_react6 = require("lucide-react");
1507
+ var import_react16 = require("react");
1508
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1197
1509
  function Select({ ...props }) {
1198
- return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Root, { "data-slot": "select", ...props });
1510
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
1199
1511
  }
1200
1512
  function SelectGroup({
1201
1513
  ...props
1202
1514
  }) {
1203
- return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Group, { "data-slot": "select-group", ...props });
1515
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
1204
1516
  }
1205
1517
  function SelectValue({
1206
1518
  ...props
1207
1519
  }) {
1208
- return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Value, { "data-slot": "select-value", ...props });
1520
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1209
1521
  }
1210
- var selectTriggerVariants = classVarianceAuthority.cva(
1211
- "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",
1522
+ var selectTriggerVariants = (0, import_class_variance_authority9.cva)(
1523
+ // hover:border-primary (full strength) keeps the hover boundary more visible
1524
+ // than the resting border-input, not a fainter alpha of it.
1525
+ "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",
1212
1526
  {
1213
1527
  variants: {
1214
1528
  size: {
@@ -1222,9 +1536,9 @@ var selectTriggerVariants = classVarianceAuthority.cva(
1222
1536
  }
1223
1537
  }
1224
1538
  );
1225
- var SelectTrigger = React6.forwardRef(({ className, size, children, ...props }, ref) => {
1226
- return /* @__PURE__ */ jsxRuntime.jsxs(
1227
- SelectPrimitive__namespace.Trigger,
1539
+ var SelectTrigger = (0, import_react16.forwardRef)(({ className, size, children, ...props }, ref) => {
1540
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1541
+ SelectPrimitive.Trigger,
1228
1542
  {
1229
1543
  ref,
1230
1544
  "data-slot": "select-trigger",
@@ -1232,7 +1546,7 @@ var SelectTrigger = React6.forwardRef(({ className, size, children, ...props },
1232
1546
  ...props,
1233
1547
  children: [
1234
1548
  children,
1235
- /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-4 opacity-50" }) })
1549
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronDown, { className: "size-4 opacity-50" }) })
1236
1550
  ]
1237
1551
  }
1238
1552
  );
@@ -1245,8 +1559,8 @@ function SelectContent({
1245
1559
  ...props
1246
1560
  }) {
1247
1561
  const portalContainer = usePortalContainer();
1248
- return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsxs(
1249
- SelectPrimitive__namespace.Content,
1562
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1563
+ SelectPrimitive.Content,
1250
1564
  {
1251
1565
  "data-slot": "select-content",
1252
1566
  className: cn(
@@ -1257,9 +1571,9 @@ function SelectContent({
1257
1571
  position,
1258
1572
  ...props,
1259
1573
  children: [
1260
- /* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
1261
- /* @__PURE__ */ jsxRuntime.jsx(
1262
- SelectPrimitive__namespace.Viewport,
1574
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectScrollUpButton, {}),
1575
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1576
+ SelectPrimitive.Viewport,
1263
1577
  {
1264
1578
  className: cn(
1265
1579
  "p-1",
@@ -1268,7 +1582,7 @@ function SelectContent({
1268
1582
  children
1269
1583
  }
1270
1584
  ),
1271
- /* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
1585
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectScrollDownButton, {})
1272
1586
  ]
1273
1587
  }
1274
1588
  ) });
@@ -1277,8 +1591,8 @@ function SelectLabel({
1277
1591
  className,
1278
1592
  ...props
1279
1593
  }) {
1280
- return /* @__PURE__ */ jsxRuntime.jsx(
1281
- SelectPrimitive__namespace.Label,
1594
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1595
+ SelectPrimitive.Label,
1282
1596
  {
1283
1597
  "data-slot": "select-label",
1284
1598
  className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
@@ -1291,8 +1605,8 @@ function SelectItem({
1291
1605
  children,
1292
1606
  ...props
1293
1607
  }) {
1294
- return /* @__PURE__ */ jsxRuntime.jsxs(
1295
- SelectPrimitive__namespace.Item,
1608
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1609
+ SelectPrimitive.Item,
1296
1610
  {
1297
1611
  "data-slot": "select-item",
1298
1612
  className: cn(
@@ -1301,8 +1615,8 @@ function SelectItem({
1301
1615
  ),
1302
1616
  ...props,
1303
1617
  children: [
1304
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-4" }) }) }),
1305
- /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children })
1618
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.Check, { className: "size-4" }) }) }),
1619
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectPrimitive.ItemText, { children })
1306
1620
  ]
1307
1621
  }
1308
1622
  );
@@ -1311,8 +1625,8 @@ function SelectSeparator({
1311
1625
  className,
1312
1626
  ...props
1313
1627
  }) {
1314
- return /* @__PURE__ */ jsxRuntime.jsx(
1315
- SelectPrimitive__namespace.Separator,
1628
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1629
+ SelectPrimitive.Separator,
1316
1630
  {
1317
1631
  "data-slot": "select-separator",
1318
1632
  className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
@@ -1324,8 +1638,8 @@ function SelectScrollUpButton({
1324
1638
  className,
1325
1639
  ...props
1326
1640
  }) {
1327
- return /* @__PURE__ */ jsxRuntime.jsx(
1328
- SelectPrimitive__namespace.ScrollUpButton,
1641
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1642
+ SelectPrimitive.ScrollUpButton,
1329
1643
  {
1330
1644
  "data-slot": "select-scroll-up-button",
1331
1645
  className: cn(
@@ -1333,7 +1647,7 @@ function SelectScrollUpButton({
1333
1647
  className
1334
1648
  ),
1335
1649
  ...props,
1336
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "size-4" })
1650
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronUp, { className: "size-4" })
1337
1651
  }
1338
1652
  );
1339
1653
  }
@@ -1341,8 +1655,8 @@ function SelectScrollDownButton({
1341
1655
  className,
1342
1656
  ...props
1343
1657
  }) {
1344
- return /* @__PURE__ */ jsxRuntime.jsx(
1345
- SelectPrimitive__namespace.ScrollDownButton,
1658
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1659
+ SelectPrimitive.ScrollDownButton,
1346
1660
  {
1347
1661
  "data-slot": "select-scroll-down-button",
1348
1662
  className: cn(
@@ -1350,16 +1664,22 @@ function SelectScrollDownButton({
1350
1664
  className
1351
1665
  ),
1352
1666
  ...props,
1353
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-4" })
1667
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronDown, { className: "size-4" })
1354
1668
  }
1355
1669
  );
1356
1670
  }
1357
- var Sheet = DialogPrimitive__namespace.Root;
1358
- var SheetTrigger = DialogPrimitive__namespace.Trigger;
1359
- var SheetClose = DialogPrimitive__namespace.Close;
1360
- var SheetPortal = DialogPrimitive__namespace.Portal;
1361
- var SheetOverlay = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1362
- DialogPrimitive__namespace.Overlay,
1671
+
1672
+ // src/components/sheet.tsx
1673
+ var DialogPrimitive2 = __toESM(require("@radix-ui/react-dialog"), 1);
1674
+ var import_class_variance_authority10 = require("class-variance-authority");
1675
+ var React7 = __toESM(require("react"), 1);
1676
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1677
+ var Sheet = DialogPrimitive2.Root;
1678
+ var SheetTrigger = DialogPrimitive2.Trigger;
1679
+ var SheetClose = DialogPrimitive2.Close;
1680
+ var SheetPortal = DialogPrimitive2.Portal;
1681
+ var SheetOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1682
+ DialogPrimitive2.Overlay,
1363
1683
  {
1364
1684
  className: cn(
1365
1685
  "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm",
@@ -1371,8 +1691,8 @@ var SheetOverlay = React6__namespace.forwardRef(({ className, ...props }, ref) =
1371
1691
  ref
1372
1692
  }
1373
1693
  ));
1374
- SheetOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
1375
- var sheetVariants = classVarianceAuthority.cva(
1694
+ SheetOverlay.displayName = DialogPrimitive2.Overlay.displayName;
1695
+ var sheetVariants = (0, import_class_variance_authority10.cva)(
1376
1696
  "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",
1377
1697
  {
1378
1698
  variants: {
@@ -1388,12 +1708,12 @@ var sheetVariants = classVarianceAuthority.cva(
1388
1708
  }
1389
1709
  }
1390
1710
  );
1391
- var SheetContent = React6__namespace.forwardRef(({ side = "right", className, children, ...props }, ref) => {
1711
+ var SheetContent = React7.forwardRef(({ side = "right", className, children, ...props }, ref) => {
1392
1712
  const portalContainer = usePortalContainer();
1393
- return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { container: portalContainer, children: [
1394
- /* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
1395
- /* @__PURE__ */ jsxRuntime.jsx(
1396
- DialogPrimitive__namespace.Content,
1713
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(SheetPortal, { container: portalContainer, children: [
1714
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SheetOverlay, {}),
1715
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1716
+ DialogPrimitive2.Content,
1397
1717
  {
1398
1718
  ref,
1399
1719
  "data-slot": "sheet-content",
@@ -1404,11 +1724,11 @@ var SheetContent = React6__namespace.forwardRef(({ side = "right", className, ch
1404
1724
  )
1405
1725
  ] });
1406
1726
  });
1407
- SheetContent.displayName = DialogPrimitive__namespace.Content.displayName;
1727
+ SheetContent.displayName = DialogPrimitive2.Content.displayName;
1408
1728
  var SheetHeader = ({
1409
1729
  className,
1410
1730
  ...props
1411
- }) => /* @__PURE__ */ jsxRuntime.jsx(
1731
+ }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1412
1732
  "div",
1413
1733
  {
1414
1734
  className: cn(
@@ -1422,7 +1742,7 @@ SheetHeader.displayName = "SheetHeader";
1422
1742
  var SheetFooter = ({
1423
1743
  className,
1424
1744
  ...props
1425
- }) => /* @__PURE__ */ jsxRuntime.jsx(
1745
+ }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1426
1746
  "div",
1427
1747
  {
1428
1748
  className: cn(
@@ -1433,27 +1753,34 @@ var SheetFooter = ({
1433
1753
  }
1434
1754
  );
1435
1755
  SheetFooter.displayName = "SheetFooter";
1436
- var SheetTitle = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1437
- DialogPrimitive__namespace.Title,
1756
+ var SheetTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1757
+ DialogPrimitive2.Title,
1438
1758
  {
1439
1759
  ref,
1440
1760
  className: cn("text-lg font-semibold text-foreground", className),
1441
1761
  ...props
1442
1762
  }
1443
1763
  ));
1444
- SheetTitle.displayName = DialogPrimitive__namespace.Title.displayName;
1445
- var SheetDescription = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1446
- DialogPrimitive__namespace.Description,
1764
+ SheetTitle.displayName = DialogPrimitive2.Title.displayName;
1765
+ var SheetDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1766
+ DialogPrimitive2.Description,
1447
1767
  {
1448
1768
  ref,
1449
1769
  className: cn("text-sm text-muted-foreground", className),
1450
1770
  ...props
1451
1771
  }
1452
1772
  ));
1453
- SheetDescription.displayName = DialogPrimitive__namespace.Description.displayName;
1454
- var Command = React6.forwardRef(
1455
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1456
- cmdk.Command,
1773
+ SheetDescription.displayName = DialogPrimitive2.Description.displayName;
1774
+
1775
+ // src/components/command.tsx
1776
+ var DialogPrimitive3 = __toESM(require("@radix-ui/react-dialog"), 1);
1777
+ var import_cmdk = require("cmdk");
1778
+ var import_lucide_react7 = require("lucide-react");
1779
+ var import_react17 = require("react");
1780
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1781
+ var Command = (0, import_react17.forwardRef)(
1782
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1783
+ import_cmdk.Command,
1457
1784
  {
1458
1785
  ref,
1459
1786
  className: cn(
@@ -1465,8 +1792,8 @@ var Command = React6.forwardRef(
1465
1792
  )
1466
1793
  );
1467
1794
  Command.displayName = "Command";
1468
- var CommandDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1469
- DialogPrimitive__namespace.Overlay,
1795
+ var CommandDialogOverlay = (0, import_react17.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1796
+ DialogPrimitive3.Overlay,
1470
1797
  {
1471
1798
  ref,
1472
1799
  className: cn(
@@ -1482,10 +1809,10 @@ var CommandDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /
1482
1809
  CommandDialogOverlay.displayName = "CommandDialogOverlay";
1483
1810
  var CommandDialog = ({ children, ...props }) => {
1484
1811
  const portalContainer = usePortalContainer();
1485
- return /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Root, { ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Portal, { container: portalContainer, children: [
1486
- /* @__PURE__ */ jsxRuntime.jsx(CommandDialogOverlay, {}),
1487
- /* @__PURE__ */ jsxRuntime.jsx(
1488
- DialogPrimitive__namespace.Content,
1812
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(DialogPrimitive3.Root, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(DialogPrimitive3.Portal, { container: portalContainer, children: [
1813
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CommandDialogOverlay, {}),
1814
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1815
+ DialogPrimitive3.Content,
1489
1816
  {
1490
1817
  "data-slot": "command-content",
1491
1818
  className: cn(
@@ -1512,20 +1839,20 @@ var CommandDialog = ({ children, ...props }) => {
1512
1839
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
1513
1840
  "data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%]"
1514
1841
  ),
1515
- children: /* @__PURE__ */ jsxRuntime.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 })
1842
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.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 })
1516
1843
  }
1517
1844
  )
1518
1845
  ] }) });
1519
1846
  };
1520
- var CommandInput = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
1847
+ var CommandInput = (0, import_react17.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
1521
1848
  "div",
1522
1849
  {
1523
1850
  className: "flex items-center border-b border-border px-4",
1524
1851
  "cmdk-input-wrapper": "",
1525
1852
  children: [
1526
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-3 h-5 w-5 shrink-0 text-muted-foreground" }),
1527
- /* @__PURE__ */ jsxRuntime.jsx(
1528
- cmdk.Command.Input,
1853
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react7.Search, { className: "mr-3 h-5 w-5 shrink-0 text-muted-foreground" }),
1854
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1855
+ import_cmdk.Command.Input,
1529
1856
  {
1530
1857
  ref,
1531
1858
  className: cn(
@@ -1549,8 +1876,8 @@ var CommandInput = React6.forwardRef(({ className, ...props }, ref) => /* @__PUR
1549
1876
  }
1550
1877
  ));
1551
1878
  CommandInput.displayName = "CommandInput";
1552
- var CommandList = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1553
- cmdk.Command.List,
1879
+ var CommandList = (0, import_react17.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1880
+ import_cmdk.Command.List,
1554
1881
  {
1555
1882
  ref,
1556
1883
  className: cn(
@@ -1564,8 +1891,8 @@ var CommandList = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE
1564
1891
  }
1565
1892
  ));
1566
1893
  CommandList.displayName = "CommandList";
1567
- var CommandEmpty = React6.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1568
- cmdk.Command.Empty,
1894
+ var CommandEmpty = (0, import_react17.forwardRef)((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1895
+ import_cmdk.Command.Empty,
1569
1896
  {
1570
1897
  ref,
1571
1898
  className: "py-8 px-4 text-center text-sm text-muted-foreground",
@@ -1573,8 +1900,8 @@ var CommandEmpty = React6.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.
1573
1900
  }
1574
1901
  ));
1575
1902
  CommandEmpty.displayName = "CommandEmpty";
1576
- var CommandGroup = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1577
- cmdk.Command.Group,
1903
+ var CommandGroup = (0, import_react17.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1904
+ import_cmdk.Command.Group,
1578
1905
  {
1579
1906
  ref,
1580
1907
  className: cn(
@@ -1588,8 +1915,8 @@ var CommandGroup = React6.forwardRef(({ className, ...props }, ref) => /* @__PUR
1588
1915
  }
1589
1916
  ));
1590
1917
  CommandGroup.displayName = "CommandGroup";
1591
- var CommandSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1592
- cmdk.Command.Separator,
1918
+ var CommandSeparator = (0, import_react17.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1919
+ import_cmdk.Command.Separator,
1593
1920
  {
1594
1921
  ref,
1595
1922
  className: cn("h-px bg-border my-2", className),
@@ -1597,8 +1924,8 @@ var CommandSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @_
1597
1924
  }
1598
1925
  ));
1599
1926
  CommandSeparator.displayName = "CommandSeparator";
1600
- var CommandItem = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1601
- cmdk.Command.Item,
1927
+ var CommandItem = (0, import_react17.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1928
+ import_cmdk.Command.Item,
1602
1929
  {
1603
1930
  ref,
1604
1931
  className: cn(
@@ -1626,9 +1953,9 @@ var CommandItem = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE
1626
1953
  }
1627
1954
  ));
1628
1955
  CommandItem.displayName = "CommandItem";
1629
- var CommandShortcut = React6.forwardRef(
1956
+ var CommandShortcut = (0, import_react17.forwardRef)(
1630
1957
  ({ className, ...props }, ref) => {
1631
- return /* @__PURE__ */ jsxRuntime.jsx(
1958
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1632
1959
  "span",
1633
1960
  {
1634
1961
  ref,
@@ -1650,7 +1977,13 @@ var CommandShortcut = React6.forwardRef(
1650
1977
  }
1651
1978
  );
1652
1979
  CommandShortcut.displayName = "CommandShortcut";
1653
- var spinnerVariants = classVarianceAuthority.cva("animate-spin motion-reduce:animate-none", {
1980
+
1981
+ // src/components/spinner.tsx
1982
+ var import_class_variance_authority11 = require("class-variance-authority");
1983
+ var import_lucide_react8 = require("lucide-react");
1984
+ var import_react18 = require("react");
1985
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1986
+ var spinnerVariants = (0, import_class_variance_authority11.cva)("animate-spin motion-reduce:animate-none", {
1654
1987
  variants: {
1655
1988
  size: {
1656
1989
  sm: "h-4 w-4",
@@ -1662,10 +1995,10 @@ var spinnerVariants = classVarianceAuthority.cva("animate-spin motion-reduce:ani
1662
1995
  size: "md"
1663
1996
  }
1664
1997
  });
1665
- var Spinner = React6.forwardRef(
1998
+ var Spinner = (0, import_react18.forwardRef)(
1666
1999
  ({ size = "md", className, "aria-label": ariaLabel = "Loading", ...props }, ref) => {
1667
- return /* @__PURE__ */ jsxRuntime.jsx(
1668
- lucideReact.Loader2,
2000
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2001
+ import_lucide_react8.Loader2,
1669
2002
  {
1670
2003
  ref,
1671
2004
  role: "status",
@@ -1677,9 +2010,14 @@ var Spinner = React6.forwardRef(
1677
2010
  }
1678
2011
  );
1679
2012
  Spinner.displayName = "Spinner";
2013
+
2014
+ // src/components/toaster.tsx
2015
+ var import_lucide_react9 = require("lucide-react");
2016
+ var import_sonner = require("sonner");
2017
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1680
2018
  function Toaster({ theme = "system", ...props }) {
1681
- return /* @__PURE__ */ jsxRuntime.jsx(
1682
- sonner.Toaster,
2019
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2020
+ import_sonner.Toaster,
1683
2021
  {
1684
2022
  theme,
1685
2023
  className: "toaster group bg-transparent! overflow-visible! z-[9999]!",
@@ -1690,11 +2028,11 @@ function Toaster({ theme = "system", ...props }) {
1690
2028
  }
1691
2029
  },
1692
2030
  icons: {
1693
- success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "h-4 w-4" }),
1694
- info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4" }),
1695
- warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "h-4 w-4" }),
1696
- error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XCircle, { className: "h-4 w-4" }),
1697
- loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 animate-spin" })
2031
+ success: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.CheckCircle2, { className: "h-4 w-4" }),
2032
+ info: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.AlertCircle, { className: "h-4 w-4" }),
2033
+ warning: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.AlertTriangle, { className: "h-4 w-4" }),
2034
+ error: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.XCircle, { className: "h-4 w-4" }),
2035
+ loading: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.Loader2, { className: "h-4 w-4 animate-spin" })
1698
2036
  },
1699
2037
  style: {
1700
2038
  "--normal-bg": "var(--nx-popover)",
@@ -1706,7 +2044,11 @@ function Toaster({ theme = "system", ...props }) {
1706
2044
  }
1707
2045
  );
1708
2046
  }
1709
- var Table = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
2047
+
2048
+ // src/components/table.tsx
2049
+ var React8 = __toESM(require("react"), 1);
2050
+ var import_jsx_runtime30 = require("react/jsx-runtime");
2051
+ var Table = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1710
2052
  "table",
1711
2053
  {
1712
2054
  ref,
@@ -1715,7 +2057,7 @@ var Table = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @_
1715
2057
  }
1716
2058
  ) }));
1717
2059
  Table.displayName = "Table";
1718
- var TableHeader = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2060
+ var TableHeader = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1719
2061
  "thead",
1720
2062
  {
1721
2063
  ref,
@@ -1724,7 +2066,7 @@ var TableHeader = React6__namespace.forwardRef(({ className, ...props }, ref) =>
1724
2066
  }
1725
2067
  ));
1726
2068
  TableHeader.displayName = "TableHeader";
1727
- var TableBody = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2069
+ var TableBody = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1728
2070
  "tbody",
1729
2071
  {
1730
2072
  ref,
@@ -1733,7 +2075,7 @@ var TableBody = React6__namespace.forwardRef(({ className, ...props }, ref) => /
1733
2075
  }
1734
2076
  ));
1735
2077
  TableBody.displayName = "TableBody";
1736
- var TableFooter = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2078
+ var TableFooter = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1737
2079
  "tfoot",
1738
2080
  {
1739
2081
  ref,
@@ -1745,7 +2087,7 @@ var TableFooter = React6__namespace.forwardRef(({ className, ...props }, ref) =>
1745
2087
  }
1746
2088
  ));
1747
2089
  TableFooter.displayName = "TableFooter";
1748
- var TableRow = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2090
+ var TableRow = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1749
2091
  "tr",
1750
2092
  {
1751
2093
  ref,
@@ -1757,7 +2099,7 @@ var TableRow = React6__namespace.forwardRef(({ className, ...props }, ref) => /*
1757
2099
  }
1758
2100
  ));
1759
2101
  TableRow.displayName = "TableRow";
1760
- var TableHead = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2102
+ var TableHead = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1761
2103
  "th",
1762
2104
  {
1763
2105
  ref,
@@ -1769,7 +2111,7 @@ var TableHead = React6__namespace.forwardRef(({ className, ...props }, ref) => /
1769
2111
  }
1770
2112
  ));
1771
2113
  TableHead.displayName = "TableHead";
1772
- var TableCell = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2114
+ var TableCell = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1773
2115
  "td",
1774
2116
  {
1775
2117
  ref,
@@ -1781,7 +2123,7 @@ var TableCell = React6__namespace.forwardRef(({ className, ...props }, ref) => /
1781
2123
  }
1782
2124
  ));
1783
2125
  TableCell.displayName = "TableCell";
1784
- var TableCaption = React6__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2126
+ var TableCaption = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1785
2127
  "caption",
1786
2128
  {
1787
2129
  ref,
@@ -1790,6 +2132,10 @@ var TableCaption = React6__namespace.forwardRef(({ className, ...props }, ref) =
1790
2132
  }
1791
2133
  ));
1792
2134
  TableCaption.displayName = "TableCaption";
2135
+
2136
+ // src/components/table-search.tsx
2137
+ var import_lucide_react10 = require("lucide-react");
2138
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1793
2139
  function TableSearch({
1794
2140
  value,
1795
2141
  onChange,
@@ -1798,9 +2144,9 @@ function TableSearch({
1798
2144
  isLoading = false,
1799
2145
  inputRef
1800
2146
  }) {
1801
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full max-w-lg", children: [
1802
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
1803
- /* @__PURE__ */ jsxRuntime.jsx(
2147
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "relative w-full max-w-lg", children: [
2148
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react10.Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
2149
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1804
2150
  "input",
1805
2151
  {
1806
2152
  ref: inputRef,
@@ -1812,298 +2158,233 @@ function TableSearch({
1812
2158
  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"
1813
2159
  }
1814
2160
  ),
1815
- (value || isLoading) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-2", children: [
1816
- isLoading && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "w-3.5 h-3.5 text-primary animate-spin" }),
1817
- value && /* @__PURE__ */ jsxRuntime.jsx(
2161
+ (value || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-2", children: [
2162
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react10.Loader2, { className: "w-3.5 h-3.5 text-primary animate-spin" }),
2163
+ value && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1818
2164
  "button",
1819
2165
  {
1820
2166
  type: "button",
1821
2167
  onClick: onClear,
1822
- className: "text-muted-foreground/60 hover:text-foreground transition-colors p-0.5 rounded-none hover:bg-primary/5",
2168
+ className: "text-muted-foreground hover:text-foreground transition-colors p-0.5 rounded-none hover:bg-primary/5",
1823
2169
  "aria-label": "Clear search",
1824
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-3.5 h-3.5" })
2170
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react10.X, { className: "w-3.5 h-3.5" })
1825
2171
  }
1826
2172
  )
1827
2173
  ] })
1828
2174
  ] });
1829
2175
  }
2176
+
2177
+ // src/components/table-states.tsx
2178
+ var import_lucide_react11 = require("lucide-react");
2179
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1830
2180
  function TableError({
1831
2181
  message = "An error occurred. Please try again."
1832
2182
  }) {
1833
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1834
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "w-4 h-4 shrink-0" }),
1835
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: message })
2183
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center gap-2", children: [
2184
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react11.AlertCircle, { className: "w-4 h-4 shrink-0" }),
2185
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { children: message })
1836
2186
  ] });
1837
2187
  }
1838
2188
  function TableLoading() {
1839
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center gap-4 p-12 text-muted-foreground", children: [
1840
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "w-8 h-8 animate-spin text-primary/80" }),
1841
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: "Loading data..." })
2189
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col items-center justify-center gap-4 p-12 text-muted-foreground", children: [
2190
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react11.Loader2, { className: "w-8 h-8 animate-spin text-primary/80" }),
2191
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: "Loading data..." })
1842
2192
  ] });
1843
2193
  }
1844
2194
  function TableEmpty({ message = "No records found" }) {
1845
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center gap-4 p-16 text-center text-muted-foreground", children: [
1846
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-none bg-primary/5", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileQuestion, { className: "h-6 w-6" }) }),
1847
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: message })
2195
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col items-center justify-center gap-4 p-16 text-center text-muted-foreground", children: [
2196
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex h-12 w-12 items-center justify-center rounded-none bg-primary/5", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react11.FileQuestion, { className: "h-6 w-6" }) }),
2197
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: message })
1848
2198
  ] });
1849
2199
  }
1850
- var GrayBar = ({ className }) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className });
2200
+
2201
+ // src/components/table-skeleton.tsx
2202
+ var import_jsx_runtime33 = require("react/jsx-runtime");
2203
+ var GrayBar = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Skeleton, { className });
1851
2204
  var TableSkeleton = ({
1852
2205
  columns = 5,
1853
2206
  rowCount = 8,
1854
2207
  hideWrapper = false,
1855
2208
  hideFooter = false
1856
2209
  }) => {
1857
- const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1858
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-0 rounded-none shadow-none", children: /* @__PURE__ */ jsxRuntime.jsxs(Table, { children: [
1859
- /* @__PURE__ */ jsxRuntime.jsx(TableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(TableRow, { children: Array.from({ length: columns }).map((_, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableHead, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-4 w-4 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[70%] max-w-[180px]" }) : /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, `skeleton-header-${colIdx}`)) }) }),
1860
- /* @__PURE__ */ jsxRuntime.jsx(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableRow, { className: "border-b border-border", children: Array.from({ length: columns }).map((_2, colIdx) => /* @__PURE__ */ jsxRuntime.jsx(TableCell, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-8 w-8 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1861
- /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "w-9 rounded-none shrink-0" }),
1862
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 flex-1", children: [
1863
- /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-4 w-[120px]" }),
1864
- /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-3 w-[80px]" })
2210
+ const content = /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
2211
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "border-0 rounded-none shadow-none", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Table, { children: [
2212
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TableRow, { children: Array.from({ length: columns }).map((_, colIdx) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TableHead, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Skeleton, { className: "h-4 w-4 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-[70%] max-w-[180px]" }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, `skeleton-header-${colIdx}`)) }) }),
2213
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TableBody, { children: Array.from({ length: rowCount }).map((_, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TableRow, { className: "border-b border-border", children: Array.from({ length: columns }).map((_2, colIdx) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TableCell, { className: "py-3", children: colIdx === 0 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-4" }) : colIdx === columns - 1 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Skeleton, { className: "h-8 w-8 rounded-none" }) }) : colIdx === 1 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-3", children: [
2214
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Skeleton, { className: "w-9 rounded-none shrink-0" }),
2215
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "space-y-1.5 flex-1", children: [
2216
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Skeleton, { className: "h-4 w-[120px]" }),
2217
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Skeleton, { className: "h-3 w-[80px]" })
1865
2218
  ] })
1866
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, colIdx)) }, rowIdx)) })
2219
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-[60%] max-w-[120px]" }) }, colIdx)) }, rowIdx)) })
1867
2220
  ] }) }),
1868
- !hideFooter && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-footer border-t border-border", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-2 py-4 p-4", children: [
1869
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 text-sm", children: /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[120px]" }) }),
1870
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-6", children: [
1871
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1872
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-20" }),
1873
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-8 w-[70px]" })
2221
+ !hideFooter && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "table-footer border-t border-border", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center justify-between px-2 py-4 p-4", children: [
2222
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex items-center gap-2 text-sm", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-[120px]" }) }),
2223
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-6", children: [
2224
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2", children: [
2225
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-20" }),
2226
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-8 w-[70px]" })
1874
2227
  ] }),
1875
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
1876
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-8 w-8" }),
1877
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-8 w-8" }),
1878
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-8 w-8" }),
1879
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-8 w-8" }),
1880
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-8 w-8" })
2228
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-1", children: [
2229
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-8 w-8" }),
2230
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-8 w-8" }),
2231
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-8 w-8" }),
2232
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-8 w-8" }),
2233
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-8 w-8" })
1881
2234
  ] }),
1882
- /* @__PURE__ */ jsxRuntime.jsx(GrayBar, { className: "h-4 w-[120px]" })
2235
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GrayBar, { className: "h-4 w-[120px]" })
1883
2236
  ] })
1884
2237
  ] }) })
1885
2238
  ] });
1886
2239
  if (hideWrapper) {
1887
2240
  return content;
1888
2241
  }
1889
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-wrapper rounded-none border border-border bg-card overflow-hidden", children: content });
2242
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "table-wrapper rounded-none border border-border bg-card overflow-hidden", children: content });
1890
2243
  };
1891
2244
  TableSkeleton.displayName = "TableSkeleton";
1892
-
1893
- // src/tailwind-preset.ts
1894
- var uiPreset = {
1895
- theme: {
1896
- extend: {
1897
- colors: {
1898
- border: "var(--nx-border)",
1899
- input: "var(--nx-input)",
1900
- ring: "var(--nx-ring)",
1901
- background: "var(--nx-background)",
1902
- foreground: "var(--nx-foreground)",
1903
- primary: {
1904
- DEFAULT: "var(--nx-primary)",
1905
- foreground: "var(--nx-primary-foreground)"
1906
- },
1907
- secondary: {
1908
- DEFAULT: "var(--nx-secondary)",
1909
- foreground: "var(--nx-secondary-foreground)"
1910
- },
1911
- destructive: {
1912
- DEFAULT: "var(--nx-destructive)",
1913
- foreground: "var(--nx-destructive-foreground)"
1914
- },
1915
- success: {
1916
- DEFAULT: "var(--nx-success)",
1917
- foreground: "var(--nx-success-foreground)"
1918
- },
1919
- warning: {
1920
- DEFAULT: "var(--nx-warning)",
1921
- foreground: "var(--nx-warning-foreground)"
1922
- },
1923
- muted: {
1924
- DEFAULT: "var(--nx-muted)",
1925
- foreground: "var(--nx-muted-foreground)"
1926
- },
1927
- accent: {
1928
- DEFAULT: "var(--nx-accent)",
1929
- foreground: "var(--nx-accent-foreground)"
1930
- },
1931
- popover: {
1932
- DEFAULT: "var(--nx-popover)",
1933
- foreground: "var(--nx-popover-foreground)"
1934
- },
1935
- card: {
1936
- DEFAULT: "var(--nx-card)",
1937
- foreground: "var(--nx-card-foreground)"
1938
- }
1939
- },
1940
- borderRadius: {
1941
- lg: "var(--radius)",
1942
- md: "calc(var(--radius) - 2px)",
1943
- sm: "calc(var(--radius) - 4px)"
1944
- },
1945
- keyframes: {
1946
- "accordion-down": {
1947
- from: { height: "0" },
1948
- to: { height: "var(--radix-accordion-content-height)" }
1949
- },
1950
- "accordion-up": {
1951
- from: { height: "var(--radix-accordion-content-height)" },
1952
- to: { height: "0" }
1953
- }
1954
- },
1955
- animation: {
1956
- "accordion-down": "accordion-down 0.3s cubic-bezier(0.87, 0, 0.13, 1)",
1957
- "accordion-up": "accordion-up 0.3s cubic-bezier(0.87, 0, 0.13, 1)"
1958
- }
1959
- }
1960
- }
1961
- };
1962
- var tailwind_preset_default = uiPreset;
1963
-
1964
- Object.defineProperty(exports, "toast", {
1965
- enumerable: true,
1966
- get: function () { return sonner.toast; }
2245
+ // Annotate the CommonJS export names for ESM import in node:
2246
+ 0 && (module.exports = {
2247
+ Accordion,
2248
+ AccordionContent,
2249
+ AccordionItem,
2250
+ AccordionTrigger,
2251
+ Alert,
2252
+ AlertDescription,
2253
+ AlertDialog,
2254
+ AlertDialogAction,
2255
+ AlertDialogCancel,
2256
+ AlertDialogContent,
2257
+ AlertDialogDescription,
2258
+ AlertDialogFooter,
2259
+ AlertDialogHeader,
2260
+ AlertDialogOverlay,
2261
+ AlertDialogPortal,
2262
+ AlertDialogTitle,
2263
+ AlertDialogTrigger,
2264
+ AlertTitle,
2265
+ Avatar,
2266
+ AvatarFallback,
2267
+ AvatarImage,
2268
+ Badge,
2269
+ Button,
2270
+ Card,
2271
+ CardAction,
2272
+ CardContent,
2273
+ CardDescription,
2274
+ CardFooter,
2275
+ CardHeader,
2276
+ CardTitle,
2277
+ Checkbox,
2278
+ Collapsible,
2279
+ CollapsibleContent,
2280
+ CollapsibleTrigger,
2281
+ Command,
2282
+ CommandDialog,
2283
+ CommandEmpty,
2284
+ CommandGroup,
2285
+ CommandInput,
2286
+ CommandItem,
2287
+ CommandList,
2288
+ CommandSeparator,
2289
+ CommandShortcut,
2290
+ Dialog,
2291
+ DialogClose,
2292
+ DialogContent,
2293
+ DialogDescription,
2294
+ DialogFooter,
2295
+ DialogHeader,
2296
+ DialogOverlay,
2297
+ DialogPortal,
2298
+ DialogTitle,
2299
+ DialogTrigger,
2300
+ DropdownMenu,
2301
+ DropdownMenuCheckboxItem,
2302
+ DropdownMenuContent,
2303
+ DropdownMenuGroup,
2304
+ DropdownMenuItem,
2305
+ DropdownMenuLabel,
2306
+ DropdownMenuPortal,
2307
+ DropdownMenuRadioGroup,
2308
+ DropdownMenuRadioItem,
2309
+ DropdownMenuSeparator,
2310
+ DropdownMenuShortcut,
2311
+ DropdownMenuSub,
2312
+ DropdownMenuSubContent,
2313
+ DropdownMenuSubTrigger,
2314
+ DropdownMenuTrigger,
2315
+ FormLabelWithTooltip,
2316
+ Grid,
2317
+ Input,
2318
+ Label,
2319
+ Popover,
2320
+ PopoverAnchor,
2321
+ PopoverContent,
2322
+ PopoverTrigger,
2323
+ PortalProvider,
2324
+ Progress,
2325
+ RadioGroup,
2326
+ RadioGroupItem,
2327
+ Select,
2328
+ SelectContent,
2329
+ SelectGroup,
2330
+ SelectItem,
2331
+ SelectLabel,
2332
+ SelectScrollDownButton,
2333
+ SelectScrollUpButton,
2334
+ SelectSeparator,
2335
+ SelectTrigger,
2336
+ SelectValue,
2337
+ Separator,
2338
+ Sheet,
2339
+ SheetClose,
2340
+ SheetContent,
2341
+ SheetDescription,
2342
+ SheetFooter,
2343
+ SheetHeader,
2344
+ SheetOverlay,
2345
+ SheetPortal,
2346
+ SheetTitle,
2347
+ SheetTrigger,
2348
+ Skeleton,
2349
+ Spinner,
2350
+ Stack,
2351
+ Stat,
2352
+ Switch,
2353
+ Table,
2354
+ TableBody,
2355
+ TableCaption,
2356
+ TableCell,
2357
+ TableEmpty,
2358
+ TableError,
2359
+ TableFooter,
2360
+ TableHead,
2361
+ TableHeader,
2362
+ TableLoading,
2363
+ TableRow,
2364
+ TableSearch,
2365
+ TableSkeleton,
2366
+ Tabs,
2367
+ TabsContent,
2368
+ TabsList,
2369
+ TabsTrigger,
2370
+ Textarea,
2371
+ Toaster,
2372
+ Tooltip,
2373
+ TooltipContent,
2374
+ TooltipProvider,
2375
+ TooltipTrigger,
2376
+ alertVariants,
2377
+ avatarVariants,
2378
+ badgeVariants,
2379
+ buttonVariants,
2380
+ cardVariants,
2381
+ dialogContentVariants,
2382
+ inputVariants,
2383
+ progressVariants,
2384
+ selectTriggerVariants,
2385
+ sheetVariants,
2386
+ spinnerVariants,
2387
+ toast,
2388
+ usePortalContainer
1967
2389
  });
1968
- exports.Accordion = Accordion;
1969
- exports.AccordionContent = AccordionContent;
1970
- exports.AccordionItem = AccordionItem;
1971
- exports.AccordionTrigger = AccordionTrigger;
1972
- exports.Alert = Alert;
1973
- exports.AlertDescription = AlertDescription;
1974
- exports.AlertDialog = AlertDialog;
1975
- exports.AlertDialogAction = AlertDialogAction;
1976
- exports.AlertDialogCancel = AlertDialogCancel;
1977
- exports.AlertDialogContent = AlertDialogContent;
1978
- exports.AlertDialogDescription = AlertDialogDescription;
1979
- exports.AlertDialogFooter = AlertDialogFooter;
1980
- exports.AlertDialogHeader = AlertDialogHeader;
1981
- exports.AlertDialogOverlay = AlertDialogOverlay;
1982
- exports.AlertDialogPortal = AlertDialogPortal;
1983
- exports.AlertDialogTitle = AlertDialogTitle;
1984
- exports.AlertDialogTrigger = AlertDialogTrigger;
1985
- exports.AlertTitle = AlertTitle;
1986
- exports.Avatar = Avatar;
1987
- exports.AvatarFallback = AvatarFallback;
1988
- exports.AvatarImage = AvatarImage;
1989
- exports.Badge = Badge;
1990
- exports.Button = Button;
1991
- exports.Card = Card;
1992
- exports.CardAction = CardAction;
1993
- exports.CardContent = CardContent;
1994
- exports.CardDescription = CardDescription;
1995
- exports.CardFooter = CardFooter;
1996
- exports.CardHeader = CardHeader;
1997
- exports.CardTitle = CardTitle;
1998
- exports.Checkbox = Checkbox;
1999
- exports.Collapsible = Collapsible;
2000
- exports.CollapsibleContent = CollapsibleContent2;
2001
- exports.CollapsibleTrigger = CollapsibleTrigger2;
2002
- exports.Command = Command;
2003
- exports.CommandDialog = CommandDialog;
2004
- exports.CommandEmpty = CommandEmpty;
2005
- exports.CommandGroup = CommandGroup;
2006
- exports.CommandInput = CommandInput;
2007
- exports.CommandItem = CommandItem;
2008
- exports.CommandList = CommandList;
2009
- exports.CommandSeparator = CommandSeparator;
2010
- exports.CommandShortcut = CommandShortcut;
2011
- exports.Dialog = Dialog;
2012
- exports.DialogClose = DialogClose;
2013
- exports.DialogContent = DialogContent;
2014
- exports.DialogDescription = DialogDescription;
2015
- exports.DialogFooter = DialogFooter;
2016
- exports.DialogHeader = DialogHeader;
2017
- exports.DialogOverlay = DialogOverlay;
2018
- exports.DialogPortal = DialogPortal;
2019
- exports.DialogTitle = DialogTitle;
2020
- exports.DialogTrigger = DialogTrigger;
2021
- exports.DropdownMenu = DropdownMenu;
2022
- exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
2023
- exports.DropdownMenuContent = DropdownMenuContent;
2024
- exports.DropdownMenuGroup = DropdownMenuGroup;
2025
- exports.DropdownMenuItem = DropdownMenuItem;
2026
- exports.DropdownMenuLabel = DropdownMenuLabel;
2027
- exports.DropdownMenuPortal = DropdownMenuPortal;
2028
- exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
2029
- exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
2030
- exports.DropdownMenuSeparator = DropdownMenuSeparator;
2031
- exports.DropdownMenuShortcut = DropdownMenuShortcut;
2032
- exports.DropdownMenuSub = DropdownMenuSub;
2033
- exports.DropdownMenuSubContent = DropdownMenuSubContent;
2034
- exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
2035
- exports.DropdownMenuTrigger = DropdownMenuTrigger;
2036
- exports.FormLabelWithTooltip = FormLabelWithTooltip;
2037
- exports.Input = Input;
2038
- exports.Label = Label;
2039
- exports.Popover = Popover;
2040
- exports.PopoverAnchor = PopoverAnchor;
2041
- exports.PopoverContent = PopoverContent;
2042
- exports.PopoverTrigger = PopoverTrigger;
2043
- exports.PortalProvider = PortalProvider;
2044
- exports.Progress = Progress;
2045
- exports.RadioGroup = RadioGroup;
2046
- exports.RadioGroupItem = RadioGroupItem;
2047
- exports.Select = Select;
2048
- exports.SelectContent = SelectContent;
2049
- exports.SelectGroup = SelectGroup;
2050
- exports.SelectItem = SelectItem;
2051
- exports.SelectLabel = SelectLabel;
2052
- exports.SelectScrollDownButton = SelectScrollDownButton;
2053
- exports.SelectScrollUpButton = SelectScrollUpButton;
2054
- exports.SelectSeparator = SelectSeparator;
2055
- exports.SelectTrigger = SelectTrigger;
2056
- exports.SelectValue = SelectValue;
2057
- exports.Separator = Separator;
2058
- exports.Sheet = Sheet;
2059
- exports.SheetClose = SheetClose;
2060
- exports.SheetContent = SheetContent;
2061
- exports.SheetDescription = SheetDescription;
2062
- exports.SheetFooter = SheetFooter;
2063
- exports.SheetHeader = SheetHeader;
2064
- exports.SheetOverlay = SheetOverlay;
2065
- exports.SheetPortal = SheetPortal;
2066
- exports.SheetTitle = SheetTitle;
2067
- exports.SheetTrigger = SheetTrigger;
2068
- exports.Skeleton = Skeleton;
2069
- exports.Spinner = Spinner;
2070
- exports.Switch = Switch;
2071
- exports.Table = Table;
2072
- exports.TableBody = TableBody;
2073
- exports.TableCaption = TableCaption;
2074
- exports.TableCell = TableCell;
2075
- exports.TableEmpty = TableEmpty;
2076
- exports.TableError = TableError;
2077
- exports.TableFooter = TableFooter;
2078
- exports.TableHead = TableHead;
2079
- exports.TableHeader = TableHeader;
2080
- exports.TableLoading = TableLoading;
2081
- exports.TableRow = TableRow;
2082
- exports.TableSearch = TableSearch;
2083
- exports.TableSkeleton = TableSkeleton;
2084
- exports.Tabs = Tabs;
2085
- exports.TabsContent = TabsContent;
2086
- exports.TabsList = TabsList;
2087
- exports.TabsTrigger = TabsTrigger;
2088
- exports.Textarea = Textarea;
2089
- exports.Toaster = Toaster;
2090
- exports.Tooltip = Tooltip;
2091
- exports.TooltipContent = TooltipContent;
2092
- exports.TooltipProvider = TooltipProvider;
2093
- exports.TooltipTrigger = TooltipTrigger;
2094
- exports.alertVariants = alertVariants;
2095
- exports.avatarVariants = avatarVariants;
2096
- exports.badgeVariants = badgeVariants;
2097
- exports.buttonVariants = buttonVariants;
2098
- exports.cardVariants = cardVariants;
2099
- exports.cn = cn;
2100
- exports.dialogContentVariants = dialogContentVariants;
2101
- exports.inputVariants = inputVariants;
2102
- exports.progressVariants = progressVariants;
2103
- exports.selectTriggerVariants = selectTriggerVariants;
2104
- exports.sheetVariants = sheetVariants;
2105
- exports.spinnerVariants = spinnerVariants;
2106
- exports.uiPreset = tailwind_preset_default;
2107
- exports.usePortalContainer = usePortalContainer;
2108
- //# sourceMappingURL=index.cjs.map
2109
2390
  //# sourceMappingURL=index.cjs.map