@kenshinx/ui 1.1.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -8,6 +8,13 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';
8
8
  import * as SwitchPrimitives from '@radix-ui/react-switch';
9
9
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
10
10
  import * as SelectPrimitive from '@radix-ui/react-select';
11
+ import { ToasterProps } from 'sonner';
12
+ export { toast } from 'sonner';
13
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
14
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
15
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
16
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
17
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
11
18
 
12
19
  /**
13
20
  * Utility function to merge Tailwind CSS classes with clsx
@@ -71,4 +78,99 @@ declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.
71
78
  declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
72
79
  declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
73
80
 
74
- export { Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Input, type InputProps, Label, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Switch, Textarea, type TextareaProps, buttonVariants, cn };
81
+ declare const Toaster: ({ theme: themeProp, ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
82
+
83
+ declare const alertVariants: (props?: ({
84
+ variant?: "default" | "destructive" | null | undefined;
85
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
86
+ declare const Alert: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
87
+ variant?: "default" | "destructive" | null | undefined;
88
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
89
+ declare const AlertTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
90
+ declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
91
+
92
+ declare const badgeVariants: (props?: ({
93
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
94
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
95
+ interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
96
+ asChild?: boolean;
97
+ }
98
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLDivElement>>;
99
+
100
+ declare const DropdownMenu: React.FC<DropdownMenuPrimitive.DropdownMenuProps>;
101
+ declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
102
+ declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
103
+ declare const DropdownMenuPortal: React.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
104
+ declare const DropdownMenuSub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
105
+ declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
106
+ declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
107
+ inset?: boolean;
108
+ } & React.RefAttributes<HTMLDivElement>>;
109
+ declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
110
+ declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
111
+ declare const DropdownMenuItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
112
+ inset?: boolean;
113
+ } & React.RefAttributes<HTMLDivElement>>;
114
+ declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
115
+ declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
116
+ declare const DropdownMenuLabel: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
117
+ inset?: boolean;
118
+ } & React.RefAttributes<HTMLDivElement>>;
119
+ declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
120
+ declare const DropdownMenuShortcut: {
121
+ ({ className, ...props }: React.HTMLAttributes<globalThis.HTMLSpanElement>): react_jsx_runtime.JSX.Element;
122
+ displayName: string;
123
+ };
124
+
125
+ declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
126
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
127
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
128
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
129
+
130
+ declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
131
+ declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
132
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
133
+ declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
134
+
135
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
136
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
137
+ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
138
+
139
+ declare const Sheet: React.FC<DialogPrimitive.DialogProps>;
140
+ declare const SheetTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
141
+ declare const SheetClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
142
+ declare const SheetPortal: React.FC<DialogPrimitive.DialogPortalProps>;
143
+ declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
144
+ declare const sheetVariants: (props?: ({
145
+ side?: "top" | "right" | "bottom" | "left" | null | undefined;
146
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
147
+ interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
148
+ }
149
+ declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
150
+ declare const SheetHeader: {
151
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
152
+ displayName: string;
153
+ };
154
+ declare const SheetFooter: {
155
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
156
+ displayName: string;
157
+ };
158
+ declare const SheetTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
159
+ declare const SheetDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
160
+
161
+ declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
162
+ declare const AvatarImage: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
163
+ declare const AvatarFallback: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
164
+
165
+ declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
166
+
167
+ declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
168
+ declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
169
+ declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
170
+ declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
171
+ declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
172
+ declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
173
+ declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
174
+ declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
175
+
176
+ export { Alert, AlertDescription, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, type InputProps, Label, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, badgeVariants, buttonVariants, cn };
package/dist/index.js CHANGED
@@ -1,15 +1,23 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { twMerge } from 'tailwind-merge';
3
- import * as React9 from 'react';
3
+ import * as React12 from 'react';
4
+ import { useState, useEffect } from 'react';
4
5
  import { Slot } from '@radix-ui/react-slot';
5
6
  import { cva } from 'class-variance-authority';
6
7
  import { jsx, jsxs } from 'react/jsx-runtime';
7
8
  import * as LabelPrimitive from '@radix-ui/react-label';
8
9
  import * as DialogPrimitive from '@radix-ui/react-dialog';
9
- import { X, Check, ChevronDown, ChevronUp } from 'lucide-react';
10
+ import { X, Check, ChevronDown, ChevronUp, ChevronRight, Circle } from 'lucide-react';
10
11
  import * as SwitchPrimitives from '@radix-ui/react-switch';
11
12
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
12
13
  import * as SelectPrimitive from '@radix-ui/react-select';
14
+ import { Toaster as Toaster$1 } from 'sonner';
15
+ export { toast } from 'sonner';
16
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
17
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
18
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
19
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
20
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
13
21
 
14
22
  // src/lib/utils.ts
15
23
  function cn(...inputs) {
@@ -40,7 +48,7 @@ var buttonVariants = cva(
40
48
  }
41
49
  }
42
50
  );
43
- var Button = React9.forwardRef(
51
+ var Button = React12.forwardRef(
44
52
  ({ className, variant, size, asChild = false, ...props }, ref) => {
45
53
  const Comp = asChild ? Slot : "button";
46
54
  return /* @__PURE__ */ jsx(
@@ -54,7 +62,7 @@ var Button = React9.forwardRef(
54
62
  }
55
63
  );
56
64
  Button.displayName = "Button";
57
- var Input = React9.forwardRef(
65
+ var Input = React12.forwardRef(
58
66
  ({ className, type, ...props }, ref) => {
59
67
  return /* @__PURE__ */ jsx(
60
68
  "input",
@@ -74,7 +82,7 @@ Input.displayName = "Input";
74
82
  var labelVariants = cva(
75
83
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
76
84
  );
77
- var Label = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
85
+ var Label = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
78
86
  LabelPrimitive.Root,
79
87
  {
80
88
  ref,
@@ -83,7 +91,7 @@ var Label = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
83
91
  }
84
92
  ));
85
93
  Label.displayName = LabelPrimitive.Root.displayName;
86
- var Card = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
94
+ var Card = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
87
95
  "div",
88
96
  {
89
97
  ref,
@@ -95,7 +103,7 @@ var Card = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
95
103
  }
96
104
  ));
97
105
  Card.displayName = "Card";
98
- var CardHeader = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
106
+ var CardHeader = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
99
107
  "div",
100
108
  {
101
109
  ref,
@@ -104,7 +112,7 @@ var CardHeader = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE_
104
112
  }
105
113
  ));
106
114
  CardHeader.displayName = "CardHeader";
107
- var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
115
+ var CardTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
108
116
  "h3",
109
117
  {
110
118
  ref,
@@ -116,7 +124,7 @@ var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__
116
124
  }
117
125
  ));
118
126
  CardTitle.displayName = "CardTitle";
119
- var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
127
+ var CardDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
120
128
  "p",
121
129
  {
122
130
  ref,
@@ -125,9 +133,9 @@ var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__
125
133
  }
126
134
  ));
127
135
  CardDescription.displayName = "CardDescription";
128
- var CardContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
136
+ var CardContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
129
137
  CardContent.displayName = "CardContent";
130
- var CardFooter = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
138
+ var CardFooter = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
131
139
  "div",
132
140
  {
133
141
  ref,
@@ -140,7 +148,7 @@ var Dialog = DialogPrimitive.Root;
140
148
  var DialogTrigger = DialogPrimitive.Trigger;
141
149
  var DialogPortal = DialogPrimitive.Portal;
142
150
  var DialogClose = DialogPrimitive.Close;
143
- var DialogOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
151
+ var DialogOverlay = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
144
152
  DialogPrimitive.Overlay,
145
153
  {
146
154
  ref,
@@ -152,7 +160,7 @@ var DialogOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PU
152
160
  }
153
161
  ));
154
162
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
155
- var DialogContent = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
163
+ var DialogContent = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
156
164
  /* @__PURE__ */ jsx(DialogOverlay, {}),
157
165
  /* @__PURE__ */ jsxs(
158
166
  DialogPrimitive.Content,
@@ -202,7 +210,7 @@ var DialogFooter = ({
202
210
  }
203
211
  );
204
212
  DialogFooter.displayName = "DialogFooter";
205
- var DialogTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
213
+ var DialogTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
206
214
  DialogPrimitive.Title,
207
215
  {
208
216
  ref,
@@ -214,7 +222,7 @@ var DialogTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE
214
222
  }
215
223
  ));
216
224
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
217
- var DialogDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
225
+ var DialogDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
218
226
  DialogPrimitive.Description,
219
227
  {
220
228
  ref,
@@ -223,7 +231,7 @@ var DialogDescription = React9.forwardRef(({ className, ...props }, ref) => /* @
223
231
  }
224
232
  ));
225
233
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
226
- var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
234
+ var Switch = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
227
235
  SwitchPrimitives.Root,
228
236
  {
229
237
  className: cn(
@@ -243,7 +251,7 @@ var Switch = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
243
251
  }
244
252
  ));
245
253
  Switch.displayName = SwitchPrimitives.Root.displayName;
246
- var Checkbox = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
254
+ var Checkbox = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
247
255
  CheckboxPrimitive.Root,
248
256
  {
249
257
  ref,
@@ -262,7 +270,7 @@ var Checkbox = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__
262
270
  }
263
271
  ));
264
272
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
265
- var Textarea = React9.forwardRef(
273
+ var Textarea = React12.forwardRef(
266
274
  ({ className, ...props }, ref) => {
267
275
  return /* @__PURE__ */ jsx(
268
276
  "textarea",
@@ -281,7 +289,7 @@ Textarea.displayName = "Textarea";
281
289
  var Select = SelectPrimitive.Root;
282
290
  var SelectGroup = SelectPrimitive.Group;
283
291
  var SelectValue = SelectPrimitive.Value;
284
- var SelectTrigger = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
292
+ var SelectTrigger = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
285
293
  SelectPrimitive.Trigger,
286
294
  {
287
295
  ref,
@@ -297,7 +305,7 @@ var SelectTrigger = React9.forwardRef(({ className, children, ...props }, ref) =
297
305
  }
298
306
  ));
299
307
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
300
- var SelectScrollUpButton = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
308
+ var SelectScrollUpButton = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
301
309
  SelectPrimitive.ScrollUpButton,
302
310
  {
303
311
  ref,
@@ -310,7 +318,7 @@ var SelectScrollUpButton = React9.forwardRef(({ className, ...props }, ref) => /
310
318
  }
311
319
  ));
312
320
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
313
- var SelectScrollDownButton = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
321
+ var SelectScrollDownButton = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
314
322
  SelectPrimitive.ScrollDownButton,
315
323
  {
316
324
  ref,
@@ -323,7 +331,7 @@ var SelectScrollDownButton = React9.forwardRef(({ className, ...props }, ref) =>
323
331
  }
324
332
  ));
325
333
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
326
- var SelectContent = React9.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
334
+ var SelectContent = React12.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
327
335
  SelectPrimitive.Content,
328
336
  {
329
337
  ref,
@@ -351,7 +359,7 @@ var SelectContent = React9.forwardRef(({ className, children, position = "popper
351
359
  }
352
360
  ) }));
353
361
  SelectContent.displayName = SelectPrimitive.Content.displayName;
354
- var SelectLabel = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
362
+ var SelectLabel = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
355
363
  SelectPrimitive.Label,
356
364
  {
357
365
  ref,
@@ -360,7 +368,7 @@ var SelectLabel = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE
360
368
  }
361
369
  ));
362
370
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
363
- var SelectItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
371
+ var SelectItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
364
372
  SelectPrimitive.Item,
365
373
  {
366
374
  ref,
@@ -376,7 +384,7 @@ var SelectItem = React9.forwardRef(({ className, children, ...props }, ref) => /
376
384
  }
377
385
  ));
378
386
  SelectItem.displayName = SelectPrimitive.Item.displayName;
379
- var SelectSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
387
+ var SelectSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
380
388
  SelectPrimitive.Separator,
381
389
  {
382
390
  ref,
@@ -385,5 +393,538 @@ var SelectSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__
385
393
  }
386
394
  ));
387
395
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
396
+ var Toaster = ({ theme: themeProp, ...props }) => {
397
+ const [theme, setTheme] = useState("system");
398
+ useEffect(() => {
399
+ if (!themeProp && typeof document !== "undefined") {
400
+ const isDark = document.documentElement.classList.contains("dark");
401
+ setTheme(isDark ? "dark" : "light");
402
+ const observer = new MutationObserver((mutations) => {
403
+ mutations.forEach((mutation) => {
404
+ if (mutation.attributeName === "class") {
405
+ const isDark2 = document.documentElement.classList.contains("dark");
406
+ setTheme(isDark2 ? "dark" : "light");
407
+ }
408
+ });
409
+ });
410
+ observer.observe(document.documentElement, {
411
+ attributes: true,
412
+ attributeFilter: ["class"]
413
+ });
414
+ return () => observer.disconnect();
415
+ }
416
+ }, [themeProp]);
417
+ return /* @__PURE__ */ jsx(
418
+ Toaster$1,
419
+ {
420
+ theme: themeProp || theme,
421
+ className: "toaster group",
422
+ toastOptions: {
423
+ classNames: {
424
+ toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
425
+ description: "group-[.toast]:text-muted-foreground",
426
+ actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
427
+ cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
428
+ success: "group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border",
429
+ error: "group-[.toaster]:bg-destructive group-[.toaster]:text-destructive-foreground group-[.toaster]:border-destructive",
430
+ warning: "group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border",
431
+ info: "group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border"
432
+ }
433
+ },
434
+ style: {
435
+ "--normal-bg": "hsl(var(--popover))",
436
+ "--normal-text": "hsl(var(--popover-foreground))",
437
+ "--normal-border": "hsl(var(--border))"
438
+ },
439
+ ...props
440
+ }
441
+ );
442
+ };
443
+ var alertVariants = cva(
444
+ "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
445
+ {
446
+ variants: {
447
+ variant: {
448
+ default: "bg-background text-foreground",
449
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
450
+ }
451
+ },
452
+ defaultVariants: {
453
+ variant: "default"
454
+ }
455
+ }
456
+ );
457
+ var Alert = React12.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
458
+ "div",
459
+ {
460
+ ref,
461
+ role: "alert",
462
+ className: cn(alertVariants({ variant }), className),
463
+ ...props
464
+ }
465
+ ));
466
+ Alert.displayName = "Alert";
467
+ var AlertTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
468
+ "h5",
469
+ {
470
+ ref,
471
+ className: cn("mb-1 font-medium leading-none tracking-tight", className),
472
+ ...props
473
+ }
474
+ ));
475
+ AlertTitle.displayName = "AlertTitle";
476
+ var AlertDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
477
+ "div",
478
+ {
479
+ ref,
480
+ className: cn("text-sm [&_p]:leading-relaxed", className),
481
+ ...props
482
+ }
483
+ ));
484
+ AlertDescription.displayName = "AlertDescription";
485
+ var badgeVariants = cva(
486
+ "inline-flex cursor-default items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
487
+ {
488
+ variants: {
489
+ variant: {
490
+ default: "border-transparent bg-primary text-primary-foreground",
491
+ secondary: "border-transparent bg-secondary text-secondary-foreground",
492
+ destructive: "border-transparent bg-destructive text-destructive-foreground",
493
+ outline: "text-foreground"
494
+ }
495
+ },
496
+ defaultVariants: {
497
+ variant: "default"
498
+ }
499
+ }
500
+ );
501
+ var Badge = React12.forwardRef(
502
+ ({ className, variant, asChild = false, ...props }, ref) => {
503
+ const Comp = asChild ? Slot : "div";
504
+ return /* @__PURE__ */ jsx(
505
+ Comp,
506
+ {
507
+ ref,
508
+ className: cn(badgeVariants({ variant }), className),
509
+ ...props
510
+ }
511
+ );
512
+ }
513
+ );
514
+ Badge.displayName = "Badge";
515
+ var DropdownMenu = DropdownMenuPrimitive.Root;
516
+ var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
517
+ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
518
+ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
519
+ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
520
+ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
521
+ var DropdownMenuSubTrigger = React12.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
522
+ DropdownMenuPrimitive.SubTrigger,
523
+ {
524
+ ref,
525
+ className: cn(
526
+ "focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
527
+ inset && "pl-8",
528
+ className
529
+ ),
530
+ ...props,
531
+ children: [
532
+ children,
533
+ /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto" })
534
+ ]
535
+ }
536
+ ));
537
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
538
+ var DropdownMenuSubContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
539
+ DropdownMenuPrimitive.SubContent,
540
+ {
541
+ ref,
542
+ className: cn(
543
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",
544
+ className
545
+ ),
546
+ ...props
547
+ }
548
+ ));
549
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
550
+ var DropdownMenuContent = React12.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
551
+ DropdownMenuPrimitive.Content,
552
+ {
553
+ ref,
554
+ sideOffset,
555
+ className: cn(
556
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",
557
+ className
558
+ ),
559
+ ...props
560
+ }
561
+ ) }));
562
+ DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
563
+ var DropdownMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
564
+ DropdownMenuPrimitive.Item,
565
+ {
566
+ ref,
567
+ className: cn(
568
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
569
+ inset && "pl-8",
570
+ className
571
+ ),
572
+ ...props
573
+ }
574
+ ));
575
+ DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
576
+ var DropdownMenuCheckboxItem = React12.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
577
+ DropdownMenuPrimitive.CheckboxItem,
578
+ {
579
+ ref,
580
+ className: cn(
581
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
582
+ className
583
+ ),
584
+ checked,
585
+ ...props,
586
+ children: [
587
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
588
+ children
589
+ ]
590
+ }
591
+ ));
592
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
593
+ var DropdownMenuRadioItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
594
+ DropdownMenuPrimitive.RadioItem,
595
+ {
596
+ ref,
597
+ className: cn(
598
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
599
+ className
600
+ ),
601
+ ...props,
602
+ children: [
603
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
604
+ children
605
+ ]
606
+ }
607
+ ));
608
+ DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
609
+ var DropdownMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
610
+ DropdownMenuPrimitive.Label,
611
+ {
612
+ ref,
613
+ className: cn(
614
+ "px-2 py-1.5 text-sm font-semibold",
615
+ inset && "pl-8",
616
+ className
617
+ ),
618
+ ...props
619
+ }
620
+ ));
621
+ DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
622
+ var DropdownMenuSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
623
+ DropdownMenuPrimitive.Separator,
624
+ {
625
+ ref,
626
+ className: cn("bg-muted -mx-1 my-1 h-px", className),
627
+ ...props
628
+ }
629
+ ));
630
+ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
631
+ var DropdownMenuShortcut = ({
632
+ className,
633
+ ...props
634
+ }) => {
635
+ return /* @__PURE__ */ jsx(
636
+ "span",
637
+ {
638
+ className: cn("ml-auto text-xs tracking-widest opacity-60", className),
639
+ ...props
640
+ }
641
+ );
642
+ };
643
+ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
644
+ var Tabs = TabsPrimitive.Root;
645
+ var TabsList = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
646
+ TabsPrimitive.List,
647
+ {
648
+ ref,
649
+ className: cn(
650
+ "bg-muted text-muted-foreground inline-flex h-10 items-center justify-center rounded-md p-1",
651
+ className
652
+ ),
653
+ ...props
654
+ }
655
+ ));
656
+ TabsList.displayName = TabsPrimitive.List.displayName;
657
+ var TabsTrigger = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
658
+ TabsPrimitive.Trigger,
659
+ {
660
+ ref,
661
+ className: cn(
662
+ "ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",
663
+ className
664
+ ),
665
+ ...props
666
+ }
667
+ ));
668
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
669
+ var TabsContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
670
+ TabsPrimitive.Content,
671
+ {
672
+ ref,
673
+ className: cn(
674
+ "ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
675
+ className
676
+ ),
677
+ ...props
678
+ }
679
+ ));
680
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
681
+ var TooltipProvider = TooltipPrimitive.Provider;
682
+ var Tooltip = TooltipPrimitive.Root;
683
+ var TooltipTrigger = TooltipPrimitive.Trigger;
684
+ var TooltipContent = React12.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
685
+ TooltipPrimitive.Content,
686
+ {
687
+ ref,
688
+ sideOffset,
689
+ className: cn(
690
+ "bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",
691
+ className
692
+ ),
693
+ ...props
694
+ }
695
+ ));
696
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
697
+ var Popover = PopoverPrimitive.Root;
698
+ var PopoverTrigger = PopoverPrimitive.Trigger;
699
+ var PopoverContent = React12.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
700
+ PopoverPrimitive.Content,
701
+ {
702
+ ref,
703
+ align,
704
+ sideOffset,
705
+ className: cn(
706
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",
707
+ className
708
+ ),
709
+ ...props
710
+ }
711
+ ) }));
712
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
713
+ var Sheet = DialogPrimitive.Root;
714
+ var SheetTrigger = DialogPrimitive.Trigger;
715
+ var SheetClose = DialogPrimitive.Close;
716
+ var SheetPortal = DialogPrimitive.Portal;
717
+ var SheetOverlay = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
718
+ DialogPrimitive.Overlay,
719
+ {
720
+ className: cn(
721
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
722
+ className
723
+ ),
724
+ ...props,
725
+ ref
726
+ }
727
+ ));
728
+ SheetOverlay.displayName = DialogPrimitive.Overlay.displayName;
729
+ var sheetVariants = cva(
730
+ "bg-background fixed z-50 gap-4 p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
731
+ {
732
+ variants: {
733
+ side: {
734
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
735
+ bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
736
+ left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
737
+ right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
738
+ }
739
+ },
740
+ defaultVariants: {
741
+ side: "right"
742
+ }
743
+ }
744
+ );
745
+ var SheetContent = React12.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
746
+ /* @__PURE__ */ jsx(SheetOverlay, {}),
747
+ /* @__PURE__ */ jsxs(
748
+ DialogPrimitive.Content,
749
+ {
750
+ ref,
751
+ className: cn(sheetVariants({ side }), className),
752
+ ...props,
753
+ children: [
754
+ children,
755
+ /* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none", children: [
756
+ /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
757
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
758
+ ] })
759
+ ]
760
+ }
761
+ )
762
+ ] }));
763
+ SheetContent.displayName = DialogPrimitive.Content.displayName;
764
+ var SheetHeader = ({
765
+ className,
766
+ ...props
767
+ }) => /* @__PURE__ */ jsx(
768
+ "div",
769
+ {
770
+ className: cn(
771
+ "flex flex-col space-y-2 text-center sm:text-left",
772
+ className
773
+ ),
774
+ ...props
775
+ }
776
+ );
777
+ SheetHeader.displayName = "SheetHeader";
778
+ var SheetFooter = ({
779
+ className,
780
+ ...props
781
+ }) => /* @__PURE__ */ jsx(
782
+ "div",
783
+ {
784
+ className: cn(
785
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
786
+ className
787
+ ),
788
+ ...props
789
+ }
790
+ );
791
+ SheetFooter.displayName = "SheetFooter";
792
+ var SheetTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
793
+ DialogPrimitive.Title,
794
+ {
795
+ ref,
796
+ className: cn("text-foreground text-lg font-semibold", className),
797
+ ...props
798
+ }
799
+ ));
800
+ SheetTitle.displayName = DialogPrimitive.Title.displayName;
801
+ var SheetDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
802
+ DialogPrimitive.Description,
803
+ {
804
+ ref,
805
+ className: cn("text-muted-foreground text-sm", className),
806
+ ...props
807
+ }
808
+ ));
809
+ SheetDescription.displayName = DialogPrimitive.Description.displayName;
810
+ var Avatar = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
811
+ AvatarPrimitive.Root,
812
+ {
813
+ ref,
814
+ className: cn(
815
+ "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
816
+ className
817
+ ),
818
+ ...props
819
+ }
820
+ ));
821
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
822
+ var AvatarImage = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
823
+ AvatarPrimitive.Image,
824
+ {
825
+ ref,
826
+ className: cn("aspect-square h-full w-full", className),
827
+ ...props
828
+ }
829
+ ));
830
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
831
+ var AvatarFallback = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
832
+ AvatarPrimitive.Fallback,
833
+ {
834
+ ref,
835
+ className: cn(
836
+ "bg-muted flex h-full w-full items-center justify-center rounded-full",
837
+ className
838
+ ),
839
+ ...props
840
+ }
841
+ ));
842
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
843
+ function Skeleton({
844
+ className,
845
+ ...props
846
+ }) {
847
+ return /* @__PURE__ */ jsx(
848
+ "div",
849
+ {
850
+ className: cn("bg-muted animate-pulse rounded-md", className),
851
+ ...props
852
+ }
853
+ );
854
+ }
855
+ var Table = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx(
856
+ "table",
857
+ {
858
+ ref,
859
+ className: cn("w-full caption-bottom text-sm", className),
860
+ ...props
861
+ }
862
+ ) }));
863
+ Table.displayName = "Table";
864
+ var TableHeader = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
865
+ TableHeader.displayName = "TableHeader";
866
+ var TableBody = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
867
+ "tbody",
868
+ {
869
+ ref,
870
+ className: cn("[&_tr:last-child]:border-0", className),
871
+ ...props
872
+ }
873
+ ));
874
+ TableBody.displayName = "TableBody";
875
+ var TableFooter = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
876
+ "tfoot",
877
+ {
878
+ ref,
879
+ className: cn(
880
+ "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
881
+ className
882
+ ),
883
+ ...props
884
+ }
885
+ ));
886
+ TableFooter.displayName = "TableFooter";
887
+ var TableRow = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
888
+ "tr",
889
+ {
890
+ ref,
891
+ className: cn(
892
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
893
+ className
894
+ ),
895
+ ...props
896
+ }
897
+ ));
898
+ TableRow.displayName = "TableRow";
899
+ var TableHead = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
900
+ "th",
901
+ {
902
+ ref,
903
+ className: cn(
904
+ "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
905
+ className
906
+ ),
907
+ ...props
908
+ }
909
+ ));
910
+ TableHead.displayName = "TableHead";
911
+ var TableCell = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
912
+ "td",
913
+ {
914
+ ref,
915
+ className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
916
+ ...props
917
+ }
918
+ ));
919
+ TableCell.displayName = "TableCell";
920
+ var TableCaption = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
921
+ "caption",
922
+ {
923
+ ref,
924
+ className: cn("text-muted-foreground mt-4 text-sm", className),
925
+ ...props
926
+ }
927
+ ));
928
+ TableCaption.displayName = "TableCaption";
388
929
 
389
- export { Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Input, Label, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Switch, Textarea, buttonVariants, cn };
930
+ export { Alert, AlertDescription, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, Label, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, badgeVariants, buttonVariants, cn };
package/dist/styles.css CHANGED
@@ -83,7 +83,7 @@
83
83
  --secondary-foreground: 218 13% 84%;
84
84
 
85
85
  /* Muted */
86
- --muted: 270 18% 18%;
86
+ --muted: 270 18% 24%;
87
87
  --muted-foreground: 218 10% 65%;
88
88
 
89
89
  /* Accent */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kenshinx/ui",
3
- "version": "1.1.0",
3
+ "version": "1.4.0",
4
4
  "description": "Personal React UI component library based on shadcn/ui patterns",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -33,16 +33,22 @@
33
33
  "clean": "rm -rf dist"
34
34
  },
35
35
  "dependencies": {
36
+ "@radix-ui/react-avatar": "^1.1.11",
36
37
  "@radix-ui/react-checkbox": "^1.1.3",
37
38
  "@radix-ui/react-dialog": "^1.1.4",
39
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
38
40
  "@radix-ui/react-label": "^2.1.1",
41
+ "@radix-ui/react-popover": "^1.1.15",
39
42
  "@radix-ui/react-select": "^2.1.5",
40
43
  "@radix-ui/react-slot": "^1.1.0",
41
44
  "@radix-ui/react-switch": "^1.1.2",
45
+ "@radix-ui/react-tabs": "^1.1.13",
46
+ "@radix-ui/react-tooltip": "^1.2.8",
42
47
  "class-variance-authority": "^0.7.1",
43
48
  "clsx": "^2.1.1",
44
- "tailwind-merge": "^2.6.0",
45
49
  "lucide-react": "^0.469.0",
50
+ "sonner": "^2.0.7",
51
+ "tailwind-merge": "^2.6.0",
46
52
  "tailwindcss-animate": "^1.0.7"
47
53
  },
48
54
  "peerDependencies": {