@atxp/design-system 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,2278 @@
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 });
18
+ }
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);
30
+
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
+ Activity: () => import_lucide_react17.Activity,
39
+ Alert: () => Alert,
40
+ AlertCircle: () => import_lucide_react4.AlertCircle,
41
+ AlertDescription: () => AlertDescription,
42
+ AlertDialog: () => AlertDialog,
43
+ AlertDialogAction: () => AlertDialogAction,
44
+ AlertDialogCancel: () => AlertDialogCancel,
45
+ AlertDialogContent: () => AlertDialogContent,
46
+ AlertDialogDescription: () => AlertDialogDescription,
47
+ AlertDialogFooter: () => AlertDialogFooter,
48
+ AlertDialogHeader: () => AlertDialogHeader,
49
+ AlertDialogTitle: () => AlertDialogTitle,
50
+ AlertTitle: () => AlertTitle,
51
+ AlertTriangle: () => import_lucide_react4.AlertTriangle,
52
+ ArrowDown: () => import_lucide_react2.ArrowDown,
53
+ ArrowLeft: () => import_lucide_react2.ArrowLeft,
54
+ ArrowRight: () => import_lucide_react2.ArrowRight,
55
+ ArrowUp: () => import_lucide_react2.ArrowUp,
56
+ Avatar: () => Avatar,
57
+ AvatarFallback: () => AvatarFallback,
58
+ AvatarImage: () => AvatarImage,
59
+ Award: () => import_lucide_react17.Award,
60
+ Badge: () => Badge,
61
+ BarChart: () => import_lucide_react17.BarChart,
62
+ BarChart2: () => import_lucide_react17.BarChart2,
63
+ Battery: () => import_lucide_react13.Battery,
64
+ BatteryCharging: () => import_lucide_react13.BatteryCharging,
65
+ BatteryFull: () => import_lucide_react13.BatteryFull,
66
+ BatteryLow: () => import_lucide_react13.BatteryLow,
67
+ Bell: () => import_lucide_react6.Bell,
68
+ BellOff: () => import_lucide_react6.BellOff,
69
+ Bluetooth: () => import_lucide_react13.Bluetooth,
70
+ BookOpen: () => import_lucide_react17.BookOpen,
71
+ Bookmark: () => import_lucide_react17.Bookmark,
72
+ Breadcrumb: () => Breadcrumb,
73
+ BreadcrumbEllipsis: () => BreadcrumbEllipsis,
74
+ BreadcrumbItem: () => BreadcrumbItem,
75
+ BreadcrumbLink: () => BreadcrumbLink,
76
+ BreadcrumbList: () => BreadcrumbList,
77
+ BreadcrumbPage: () => BreadcrumbPage,
78
+ BreadcrumbSeparator: () => BreadcrumbSeparator,
79
+ Bug: () => import_lucide_react16.Bug,
80
+ Building: () => import_lucide_react14.Building,
81
+ Building2: () => import_lucide_react14.Building2,
82
+ Button: () => Button,
83
+ ButtonGroup: () => ButtonGroup,
84
+ Calendar: () => import_lucide_react11.Calendar,
85
+ CalendarCheck: () => import_lucide_react11.CalendarCheck,
86
+ CalendarDays: () => import_lucide_react11.CalendarDays,
87
+ CalendarMinus: () => import_lucide_react11.CalendarMinus,
88
+ CalendarPlus: () => import_lucide_react11.CalendarPlus,
89
+ CalendarX: () => import_lucide_react11.CalendarX,
90
+ Camera: () => import_lucide_react8.Camera,
91
+ CameraOff: () => import_lucide_react8.CameraOff,
92
+ Card: () => Card,
93
+ CardContent: () => CardContent,
94
+ CardDescription: () => CardDescription,
95
+ CardFooter: () => CardFooter,
96
+ CardHeader: () => CardHeader,
97
+ CardTitle: () => CardTitle,
98
+ Carousel: () => Carousel,
99
+ CarouselContent: () => CarouselContent,
100
+ CarouselItem: () => CarouselItem,
101
+ CarouselNext: () => CarouselNext,
102
+ CarouselPrevious: () => CarouselPrevious,
103
+ Check: () => import_lucide_react3.Check,
104
+ CheckCircle: () => import_lucide_react4.CheckCircle,
105
+ CheckCircle2: () => import_lucide_react4.CheckCircle2,
106
+ CheckWaves: () => import_lucide_react17.CheckCircle,
107
+ Checkbox: () => Checkbox,
108
+ ChevronDown: () => import_lucide_react2.ChevronDown,
109
+ ChevronLeft: () => import_lucide_react2.ChevronLeft,
110
+ ChevronRight: () => import_lucide_react2.ChevronRight,
111
+ ChevronUp: () => import_lucide_react2.ChevronUp,
112
+ ChevronsDown: () => import_lucide_react2.ChevronsDown,
113
+ ChevronsLeft: () => import_lucide_react2.ChevronsLeft,
114
+ ChevronsRight: () => import_lucide_react2.ChevronsRight,
115
+ ChevronsUp: () => import_lucide_react2.ChevronsUp,
116
+ Clock: () => import_lucide_react11.Clock,
117
+ Cloud: () => import_lucide_react12.Cloud,
118
+ CloudDrizzle: () => import_lucide_react12.CloudDrizzle,
119
+ CloudLightning: () => import_lucide_react12.CloudLightning,
120
+ CloudRain: () => import_lucide_react12.CloudRain,
121
+ CloudSnow: () => import_lucide_react12.CloudSnow,
122
+ Code: () => import_lucide_react16.Code,
123
+ Code2: () => import_lucide_react16.Code2,
124
+ Cog: () => import_lucide_react17.Cog,
125
+ Columns: () => import_lucide_react9.Columns,
126
+ Compass: () => import_lucide_react14.Compass,
127
+ Copy: () => import_lucide_react3.Copy,
128
+ Cpu: () => import_lucide_react16.Cpu,
129
+ CreditCard: () => import_lucide_react10.CreditCard,
130
+ Database: () => import_lucide_react16.Database,
131
+ Dialog: () => Dialog,
132
+ DialogContent: () => DialogContent,
133
+ DialogDescription: () => DialogDescription,
134
+ DialogFooter: () => DialogFooter,
135
+ DialogHeader: () => DialogHeader,
136
+ DialogTitle: () => DialogTitle,
137
+ DollarSign: () => import_lucide_react10.DollarSign,
138
+ Dots: () => import_lucide_react17.MoreHorizontal,
139
+ Download: () => import_lucide_react3.Download,
140
+ Drawer: () => Drawer,
141
+ DrawerContent: () => DrawerContent,
142
+ DrawerDescription: () => DrawerDescription,
143
+ DrawerFooter: () => DrawerFooter,
144
+ DrawerHeader: () => DrawerHeader,
145
+ DrawerTitle: () => DrawerTitle,
146
+ Edit: () => import_lucide_react3.Edit,
147
+ Edit2: () => import_lucide_react3.Edit2,
148
+ Edit3: () => import_lucide_react3.Edit3,
149
+ ExternalLink: () => import_lucide_react17.ExternalLink,
150
+ Eye: () => import_lucide_react7.Eye,
151
+ EyeOff: () => import_lucide_react7.EyeOff,
152
+ Facebook: () => import_lucide_react15.Facebook,
153
+ Figma: () => import_lucide_react15.Figma,
154
+ File: () => import_lucide_react5.File,
155
+ FileImage: () => import_lucide_react5.FileImage,
156
+ FilePlus: () => import_lucide_react5.FilePlus,
157
+ FileText: () => import_lucide_react5.FileText,
158
+ Filter: () => import_lucide_react17.Filter,
159
+ Flag: () => import_lucide_react17.Flag,
160
+ Folder: () => import_lucide_react5.Folder,
161
+ FolderOpen: () => import_lucide_react5.FolderOpen,
162
+ FolderPlus: () => import_lucide_react5.FolderPlus,
163
+ Gift: () => import_lucide_react10.Gift,
164
+ GitBranch: () => import_lucide_react16.GitBranch,
165
+ GitCommit: () => import_lucide_react16.GitCommit,
166
+ GitMerge: () => import_lucide_react16.GitMerge,
167
+ GitPullRequest: () => import_lucide_react16.GitPullRequest,
168
+ Github: () => import_lucide_react15.Github,
169
+ Globe: () => import_lucide_react14.Globe,
170
+ Grid: () => import_lucide_react9.Grid,
171
+ Header: () => Header2,
172
+ HeaderActions: () => HeaderActions,
173
+ HeaderBreadcrumbs: () => HeaderBreadcrumbs,
174
+ HeaderContent: () => HeaderContent,
175
+ HeaderDescription: () => HeaderDescription,
176
+ HeaderTitle: () => HeaderTitle,
177
+ Heart: () => import_lucide_react17.Heart,
178
+ HelpCircle: () => import_lucide_react4.HelpCircle,
179
+ Home: () => import_lucide_react14.Home,
180
+ Icon: () => Icon,
181
+ Image: () => import_lucide_react5.Image,
182
+ Info: () => import_lucide_react4.Info,
183
+ Instagram: () => import_lucide_react15.Instagram,
184
+ Key: () => import_lucide_react7.Key,
185
+ Laptop: () => import_lucide_react13.Laptop,
186
+ Layout: () => import_lucide_react9.Layout,
187
+ LayoutGrid: () => import_lucide_react9.LayoutGrid,
188
+ LayoutList: () => import_lucide_react9.LayoutList,
189
+ LineChart: () => import_lucide_react17.LineChart,
190
+ Link: () => import_lucide_react17.Link,
191
+ Link2: () => import_lucide_react17.Link2,
192
+ Linkedin: () => import_lucide_react15.Linkedin,
193
+ List: () => import_lucide_react9.List,
194
+ Loader: () => import_lucide_react4.Loader,
195
+ Loader2: () => import_lucide_react4.Loader2,
196
+ Lock: () => import_lucide_react7.Lock,
197
+ LogIn: () => import_lucide_react7.LogIn,
198
+ LogOut: () => import_lucide_react7.LogOut,
199
+ Mail: () => import_lucide_react6.Mail,
200
+ Map: () => import_lucide_react14.Map,
201
+ MapPin: () => import_lucide_react14.MapPin,
202
+ Maximize: () => import_lucide_react9.Maximize,
203
+ Maximize2: () => import_lucide_react9.Maximize2,
204
+ Menu: () => import_lucide_react9.Menu,
205
+ MessageCircle: () => import_lucide_react6.MessageCircle,
206
+ MessageSquare: () => import_lucide_react6.MessageSquare,
207
+ Mic: () => import_lucide_react6.Mic,
208
+ MicOff: () => import_lucide_react6.MicOff,
209
+ Minimize: () => import_lucide_react9.Minimize,
210
+ Minimize2: () => import_lucide_react9.Minimize2,
211
+ Minus: () => import_lucide_react3.Minus,
212
+ Monitor: () => import_lucide_react13.Monitor,
213
+ Moon: () => import_lucide_react12.Moon,
214
+ MoreHorizontal: () => import_lucide_react9.MoreHorizontal,
215
+ MoreVertical: () => import_lucide_react9.MoreVertical,
216
+ Music: () => import_lucide_react8.Music,
217
+ Navigation: () => import_lucide_react14.Navigation,
218
+ Navigation2: () => import_lucide_react14.Navigation2,
219
+ Package: () => import_lucide_react10.Package,
220
+ PanelLeft: () => import_lucide_react9.PanelLeft,
221
+ PanelRight: () => import_lucide_react9.PanelRight,
222
+ Paperclip: () => import_lucide_react17.Paperclip,
223
+ Pause: () => import_lucide_react8.Pause,
224
+ Pen: () => import_lucide_react17.Pen,
225
+ Phone: () => import_lucide_react6.Phone,
226
+ PhoneCall: () => import_lucide_react6.PhoneCall,
227
+ PhoneOff: () => import_lucide_react6.PhoneOff,
228
+ PieChart: () => import_lucide_react17.PieChart,
229
+ Play: () => import_lucide_react8.Play,
230
+ Plus: () => import_lucide_react3.Plus,
231
+ Radio: () => Radio,
232
+ RefreshCw: () => import_lucide_react3.RefreshCw,
233
+ RotateCcw: () => import_lucide_react3.RotateCcw,
234
+ RotateCw: () => import_lucide_react3.RotateCw,
235
+ Save: () => import_lucide_react3.Save,
236
+ Search: () => import_lucide_react17.Search,
237
+ Select: () => Select,
238
+ SelectContent: () => SelectContent,
239
+ SelectGroup: () => SelectGroup,
240
+ SelectItem: () => SelectItem,
241
+ SelectLabel: () => SelectLabel,
242
+ SelectScrollDownButton: () => SelectScrollDownButton,
243
+ SelectScrollUpButton: () => SelectScrollUpButton,
244
+ SelectSeparator: () => SelectSeparator,
245
+ SelectTrigger: () => SelectTrigger,
246
+ SelectValue: () => SelectValue,
247
+ Send: () => import_lucide_react3.Send,
248
+ Separator: () => Separator2,
249
+ Server: () => import_lucide_react16.Server,
250
+ Settings: () => import_lucide_react7.Settings,
251
+ Share: () => import_lucide_react3.Share,
252
+ Share2: () => import_lucide_react3.Share2,
253
+ Sheet: () => Sheet,
254
+ SheetClose: () => SheetClose,
255
+ SheetContent: () => SheetContent,
256
+ SheetDescription: () => SheetDescription,
257
+ SheetFooter: () => SheetFooter,
258
+ SheetHeader: () => SheetHeader,
259
+ SheetTitle: () => SheetTitle,
260
+ Shield: () => import_lucide_react7.Shield,
261
+ ShieldCheck: () => import_lucide_react7.ShieldCheck,
262
+ ShoppingBag: () => import_lucide_react10.ShoppingBag,
263
+ ShoppingCart: () => import_lucide_react10.ShoppingCart,
264
+ Sidebar: () => import_lucide_react9.Sidebar,
265
+ Skeleton: () => Skeleton,
266
+ SkipBack: () => import_lucide_react8.SkipBack,
267
+ SkipForward: () => import_lucide_react8.SkipForward,
268
+ Slider: () => Slider,
269
+ Smartphone: () => import_lucide_react13.Smartphone,
270
+ Square: () => import_lucide_react8.Square,
271
+ Star: () => import_lucide_react17.Star,
272
+ Store: () => import_lucide_react14.Store,
273
+ Sun: () => import_lucide_react12.Sun,
274
+ Switch: () => Switch,
275
+ Table: () => Table,
276
+ TableBody: () => TableBody,
277
+ TableCaption: () => TableCaption,
278
+ TableCell: () => TableCell,
279
+ TableFooter: () => TableFooter,
280
+ TableHead: () => TableHead,
281
+ TableHeader: () => TableHeader,
282
+ TableRow: () => TableRow,
283
+ Tablet: () => import_lucide_react13.Tablet,
284
+ Tabs: () => Tabs,
285
+ TabsContent: () => TabsContent,
286
+ TabsList: () => TabsList,
287
+ TabsTrigger: () => TabsTrigger,
288
+ Tag: () => import_lucide_react10.Tag,
289
+ Terminal: () => import_lucide_react16.Terminal,
290
+ Textarea: () => Textarea,
291
+ ThemeProvider: () => ThemeProvider,
292
+ Toast: () => Toaster2,
293
+ Toaster: () => import_sonner2.Toaster,
294
+ Toggle: () => Toggle,
295
+ Trash: () => import_lucide_react3.Trash,
296
+ Trash2: () => import_lucide_react3.Trash2,
297
+ TrendingDown: () => import_lucide_react17.TrendingDown,
298
+ TrendingUp: () => import_lucide_react17.TrendingUp,
299
+ Tv: () => import_lucide_react13.Tv,
300
+ Twitch: () => import_lucide_react15.Twitch,
301
+ Twitter: () => import_lucide_react15.Twitter,
302
+ Unlock: () => import_lucide_react7.Unlock,
303
+ Upload: () => import_lucide_react3.Upload,
304
+ User: () => import_lucide_react7.User,
305
+ UserCheck: () => import_lucide_react7.UserCheck,
306
+ UserMinus: () => import_lucide_react7.UserMinus,
307
+ UserPlus: () => import_lucide_react7.UserPlus,
308
+ UserX: () => import_lucide_react7.UserX,
309
+ Users: () => import_lucide_react7.Users,
310
+ Video: () => import_lucide_react6.Video,
311
+ VideoOff: () => import_lucide_react6.VideoOff,
312
+ Volume: () => import_lucide_react8.Volume,
313
+ Volume1: () => import_lucide_react8.Volume1,
314
+ Volume2: () => import_lucide_react8.Volume2,
315
+ VolumeX: () => import_lucide_react8.VolumeX,
316
+ Watch: () => import_lucide_react13.Watch,
317
+ Wifi: () => import_lucide_react13.Wifi,
318
+ WifiOff: () => import_lucide_react13.WifiOff,
319
+ Wind: () => import_lucide_react12.Wind,
320
+ X: () => import_lucide_react3.X,
321
+ XCircle: () => import_lucide_react4.XCircle,
322
+ Youtube: () => import_lucide_react15.Youtube,
323
+ Zap: () => import_lucide_react17.Zap,
324
+ badgeVariants: () => badgeVariants,
325
+ buttonVariants: () => buttonVariants,
326
+ cn: () => cn,
327
+ toast: () => import_sonner2.toast,
328
+ toggleVariants: () => toggleVariants,
329
+ useTheme: () => useTheme
330
+ });
331
+ module.exports = __toCommonJS(index_exports);
332
+
333
+ // src/components/Accordion/Accordion.tsx
334
+ var React = __toESM(require("react"), 1);
335
+ var AccordionPrimitive = __toESM(require("@radix-ui/react-accordion"), 1);
336
+ var import_lucide_react = require("lucide-react");
337
+
338
+ // src/lib/utils.ts
339
+ var import_clsx = require("clsx");
340
+ function cn(...inputs) {
341
+ return (0, import_clsx.clsx)(inputs);
342
+ }
343
+
344
+ // src/components/Accordion/Accordion.tsx
345
+ var import_jsx_runtime = require("react/jsx-runtime");
346
+ var Accordion = AccordionPrimitive.Root;
347
+ var AccordionItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
348
+ AccordionPrimitive.Item,
349
+ {
350
+ ref,
351
+ className: cn("border-b border-border", className),
352
+ ...props
353
+ }
354
+ ));
355
+ AccordionItem.displayName = "AccordionItem";
356
+ var AccordionTrigger = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
357
+ AccordionPrimitive.Trigger,
358
+ {
359
+ ref,
360
+ className: cn(
361
+ "flex flex-1 items-center justify-between py-4 text-base font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
362
+ className
363
+ ),
364
+ ...props,
365
+ children: [
366
+ children,
367
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, { className: "h-4 w-4 shrink-0 text-foreground transition-transform duration-200" })
368
+ ]
369
+ }
370
+ ) }));
371
+ AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
372
+ var AccordionContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
373
+ AccordionPrimitive.Content,
374
+ {
375
+ ref,
376
+ className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
377
+ ...props,
378
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: cn("pb-4 pt-0", className), children })
379
+ }
380
+ ));
381
+ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
382
+
383
+ // src/components/Alert/Alert.tsx
384
+ var React2 = __toESM(require("react"), 1);
385
+ var import_class_variance_authority = require("class-variance-authority");
386
+ var import_jsx_runtime2 = require("react/jsx-runtime");
387
+ var alertVariants = (0, import_class_variance_authority.cva)(
388
+ "relative w-full rounded-lg border p-4 flex gap-3 items-start",
389
+ {
390
+ variants: {
391
+ variant: {
392
+ default: "bg-background text-foreground border-border",
393
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
394
+ }
395
+ },
396
+ defaultVariants: {
397
+ variant: "default"
398
+ }
399
+ }
400
+ );
401
+ var Alert = React2.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
402
+ "div",
403
+ {
404
+ ref,
405
+ role: "alert",
406
+ className: cn(alertVariants({ variant }), className),
407
+ ...props
408
+ }
409
+ ));
410
+ Alert.displayName = "Alert";
411
+ var AlertTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
412
+ "h5",
413
+ {
414
+ ref,
415
+ className: cn("mb-1 font-medium leading-6 tracking-normal", className),
416
+ ...props
417
+ }
418
+ ));
419
+ AlertTitle.displayName = "AlertTitle";
420
+ var AlertDescription = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
421
+ "div",
422
+ {
423
+ ref,
424
+ className: cn("text-sm leading-5 [&_p]:leading-relaxed", className),
425
+ ...props
426
+ }
427
+ ));
428
+ AlertDescription.displayName = "AlertDescription";
429
+
430
+ // src/components/AlertDialog/AlertDialog.tsx
431
+ var React3 = __toESM(require("react"), 1);
432
+ var import_jsx_runtime3 = require("react/jsx-runtime");
433
+ var AlertDialog = ({ open, onOpenChange, children }) => {
434
+ React3.useEffect(() => {
435
+ const handleEscape = (e) => {
436
+ if (e.key === "Escape" && open) {
437
+ onOpenChange?.(false);
438
+ }
439
+ };
440
+ if (open) {
441
+ document.addEventListener("keydown", handleEscape);
442
+ document.body.style.overflow = "hidden";
443
+ }
444
+ return () => {
445
+ document.removeEventListener("keydown", handleEscape);
446
+ document.body.style.overflow = "";
447
+ };
448
+ }, [open, onOpenChange]);
449
+ if (!open) return null;
450
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: React3.Children.map(children, (child) => {
451
+ if (React3.isValidElement(child)) {
452
+ return React3.cloneElement(child, { onOpenChange });
453
+ }
454
+ return child;
455
+ }) });
456
+ };
457
+ AlertDialog.displayName = "AlertDialog";
458
+ var AlertDialogContent = React3.forwardRef(({ className, children, onOpenChange, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
459
+ "div",
460
+ {
461
+ className: "fixed inset-0 z-50 flex items-center justify-center",
462
+ onClick: () => onOpenChange?.(false),
463
+ children: [
464
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "fixed inset-0 bg-black/50", "aria-hidden": "true" }),
465
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
466
+ "div",
467
+ {
468
+ ref,
469
+ role: "alertdialog",
470
+ "aria-modal": "true",
471
+ className: cn(
472
+ "relative z-50 flex w-[512px] flex-col gap-4 rounded-lg border border-border bg-background p-6",
473
+ className
474
+ ),
475
+ onClick: (e) => e.stopPropagation(),
476
+ ...props,
477
+ children
478
+ }
479
+ )
480
+ ]
481
+ }
482
+ ));
483
+ AlertDialogContent.displayName = "AlertDialogContent";
484
+ var AlertDialogHeader = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
485
+ "div",
486
+ {
487
+ ref,
488
+ className: cn("flex flex-col gap-2", className),
489
+ ...props
490
+ }
491
+ ));
492
+ AlertDialogHeader.displayName = "AlertDialogHeader";
493
+ var AlertDialogTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
494
+ "h2",
495
+ {
496
+ ref,
497
+ className: cn("text-lg font-semibold leading-7 text-foreground", className),
498
+ ...props
499
+ }
500
+ ));
501
+ AlertDialogTitle.displayName = "AlertDialogTitle";
502
+ var AlertDialogDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
503
+ "p",
504
+ {
505
+ ref,
506
+ className: cn("text-sm leading-5 text-muted-foreground", className),
507
+ ...props
508
+ }
509
+ ));
510
+ AlertDialogDescription.displayName = "AlertDialogDescription";
511
+ var AlertDialogFooter = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
512
+ "div",
513
+ {
514
+ ref,
515
+ className: cn("flex items-center justify-end gap-2", className),
516
+ ...props
517
+ }
518
+ ));
519
+ AlertDialogFooter.displayName = "AlertDialogFooter";
520
+ var AlertDialogCancel = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
521
+ "button",
522
+ {
523
+ ref,
524
+ type: "button",
525
+ className: cn(
526
+ "flex h-9 items-center justify-center rounded-lg border-2 border-border bg-background px-4 py-2 text-sm font-medium leading-5 text-accent-foreground shadow-[0px_1px_2px_0px_rgba(0,0,0,0.05)] transition-colors hover:bg-muted",
527
+ className
528
+ ),
529
+ ...props
530
+ }
531
+ ));
532
+ AlertDialogCancel.displayName = "AlertDialogCancel";
533
+ var AlertDialogAction = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
534
+ "button",
535
+ {
536
+ ref,
537
+ type: "button",
538
+ className: cn(
539
+ "flex h-9 items-center justify-center rounded-lg bg-primary px-4 py-2 text-sm font-medium leading-5 text-primary-foreground transition-colors hover:bg-primary/90",
540
+ className
541
+ ),
542
+ ...props
543
+ }
544
+ ));
545
+ AlertDialogAction.displayName = "AlertDialogAction";
546
+
547
+ // src/components/Avatar/Avatar.tsx
548
+ var React4 = __toESM(require("react"), 1);
549
+ var import_jsx_runtime4 = require("react/jsx-runtime");
550
+ var Avatar = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
551
+ "div",
552
+ {
553
+ ref,
554
+ className: cn(
555
+ "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
556
+ className
557
+ ),
558
+ ...props
559
+ }
560
+ ));
561
+ Avatar.displayName = "Avatar";
562
+ var AvatarImage = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
563
+ "img",
564
+ {
565
+ ref,
566
+ className: cn("aspect-square h-full w-full object-cover", className),
567
+ ...props
568
+ }
569
+ ));
570
+ AvatarImage.displayName = "AvatarImage";
571
+ var AvatarFallback = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
572
+ "div",
573
+ {
574
+ ref,
575
+ className: cn(
576
+ "flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-semibold leading-5 text-foreground",
577
+ className
578
+ ),
579
+ ...props
580
+ }
581
+ ));
582
+ AvatarFallback.displayName = "AvatarFallback";
583
+
584
+ // src/components/Badge/Badge.tsx
585
+ var import_class_variance_authority2 = require("class-variance-authority");
586
+ var import_jsx_runtime5 = require("react/jsx-runtime");
587
+ var badgeVariants = (0, import_class_variance_authority2.cva)(
588
+ "inline-flex items-center justify-center rounded-lg border transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2",
589
+ {
590
+ variants: {
591
+ variant: {
592
+ default: "border-primary bg-primary text-primary-foreground hover:bg-primary/80",
593
+ secondary: "border-secondary bg-secondary text-secondary-foreground hover:brightness-95",
594
+ destructive: "border-destructive bg-destructive text-destructive-foreground hover:bg-destructive/80",
595
+ outline: "border-border bg-transparent text-foreground hover:bg-muted",
596
+ success: "border-success bg-success-background text-foreground hover:brightness-95"
597
+ },
598
+ size: {
599
+ sm: "px-2 py-0.5 text-xs font-semibold",
600
+ md: "px-2 py-0.5 text-sm font-medium"
601
+ }
602
+ },
603
+ defaultVariants: {
604
+ variant: "default",
605
+ size: "sm"
606
+ }
607
+ }
608
+ );
609
+ function Badge({ className, variant, size, ...props }) {
610
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
611
+ "div",
612
+ {
613
+ className: cn(badgeVariants({ variant, size }), className),
614
+ ...props
615
+ }
616
+ );
617
+ }
618
+
619
+ // src/components/Breadcrumb/Breadcrumb.tsx
620
+ var React6 = __toESM(require("react"), 1);
621
+
622
+ // src/components/Icon/Icon.tsx
623
+ var React5 = __toESM(require("react"), 1);
624
+ var import_jsx_runtime6 = require("react/jsx-runtime");
625
+ var Icon = React5.forwardRef(
626
+ ({ icon: IconComponent, size = 24, className, ...props }, ref) => {
627
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
628
+ IconComponent,
629
+ {
630
+ ref,
631
+ size,
632
+ className: cn("shrink-0", className),
633
+ ...props
634
+ }
635
+ );
636
+ }
637
+ );
638
+ Icon.displayName = "Icon";
639
+
640
+ // src/components/Icon/index.ts
641
+ var import_lucide_react2 = require("lucide-react");
642
+ var import_lucide_react3 = require("lucide-react");
643
+ var import_lucide_react4 = require("lucide-react");
644
+ var import_lucide_react5 = require("lucide-react");
645
+ var import_lucide_react6 = require("lucide-react");
646
+ var import_lucide_react7 = require("lucide-react");
647
+ var import_lucide_react8 = require("lucide-react");
648
+ var import_lucide_react9 = require("lucide-react");
649
+ var import_lucide_react10 = require("lucide-react");
650
+ var import_lucide_react11 = require("lucide-react");
651
+ var import_lucide_react12 = require("lucide-react");
652
+ var import_lucide_react13 = require("lucide-react");
653
+ var import_lucide_react14 = require("lucide-react");
654
+ var import_lucide_react15 = require("lucide-react");
655
+ var import_lucide_react16 = require("lucide-react");
656
+ var import_lucide_react17 = require("lucide-react");
657
+
658
+ // src/components/Breadcrumb/Breadcrumb.tsx
659
+ var import_jsx_runtime7 = require("react/jsx-runtime");
660
+ var Breadcrumb = React6.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("nav", { ref, "aria-label": "breadcrumb", ...props }));
661
+ Breadcrumb.displayName = "Breadcrumb";
662
+ var BreadcrumbList = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
663
+ "ol",
664
+ {
665
+ ref,
666
+ className: cn(
667
+ "flex flex-wrap items-center gap-2 break-words text-sm text-muted-foreground",
668
+ className
669
+ ),
670
+ ...props
671
+ }
672
+ ));
673
+ BreadcrumbList.displayName = "BreadcrumbList";
674
+ var BreadcrumbItem = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
675
+ "li",
676
+ {
677
+ ref,
678
+ className: cn("inline-flex items-center gap-2", className),
679
+ ...props
680
+ }
681
+ ));
682
+ BreadcrumbItem.displayName = "BreadcrumbItem";
683
+ var BreadcrumbLink = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
684
+ "a",
685
+ {
686
+ ref,
687
+ className: cn(
688
+ "text-sm font-normal leading-5 transition-colors hover:text-foreground",
689
+ className
690
+ ),
691
+ ...props
692
+ }
693
+ ));
694
+ BreadcrumbLink.displayName = "BreadcrumbLink";
695
+ var BreadcrumbPage = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
696
+ "span",
697
+ {
698
+ ref,
699
+ role: "link",
700
+ "aria-disabled": "true",
701
+ "aria-current": "page",
702
+ className: cn("text-sm font-normal leading-5 text-foreground", className),
703
+ ...props
704
+ }
705
+ ));
706
+ BreadcrumbPage.displayName = "BreadcrumbPage";
707
+ var BreadcrumbSeparator = ({
708
+ children,
709
+ className,
710
+ ...props
711
+ }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
712
+ "li",
713
+ {
714
+ role: "presentation",
715
+ "aria-hidden": "true",
716
+ className: cn("flex h-5 w-5 items-center justify-center", className),
717
+ ...props,
718
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { icon: import_lucide_react2.ChevronRight, size: 14 })
719
+ }
720
+ );
721
+ BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
722
+ var BreadcrumbEllipsis = ({
723
+ className,
724
+ ...props
725
+ }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
726
+ "span",
727
+ {
728
+ role: "presentation",
729
+ "aria-hidden": "true",
730
+ className: cn("flex h-5 w-5 items-center justify-center", className),
731
+ ...props,
732
+ children: [
733
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { icon: import_lucide_react9.MoreHorizontal, size: 16 }),
734
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "sr-only", children: "More" })
735
+ ]
736
+ }
737
+ );
738
+ BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
739
+
740
+ // src/components/Button/Button.tsx
741
+ var React7 = __toESM(require("react"), 1);
742
+ var import_class_variance_authority3 = require("class-variance-authority");
743
+ var import_jsx_runtime8 = require("react/jsx-runtime");
744
+ var buttonVariants = (0, import_class_variance_authority3.cva)(
745
+ "inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-lg text-sm font-medium leading-5 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
746
+ {
747
+ variants: {
748
+ variant: {
749
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
750
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
751
+ "destructive-subtle": "bg-destructive-background text-destructive hover:bg-destructive-background/80",
752
+ outline: "border-2 border-border bg-background text-accent-foreground shadow-[0px_1px_2px_0px_rgba(0,0,0,0.05)] hover:bg-muted",
753
+ "secondary-outline": "border border-border bg-background text-foreground hover:bg-muted",
754
+ secondary: "bg-secondary text-secondary-foreground hover:brightness-95",
755
+ ghost: "text-foreground hover:bg-muted",
756
+ link: "text-primary underline-offset-4 hover:underline",
757
+ success: "bg-success text-success-foreground hover:bg-success/90",
758
+ "side-panel": "justify-start gap-2 rounded-md bg-transparent text-foreground hover:bg-muted data-[state=selected]:bg-muted"
759
+ },
760
+ size: {
761
+ default: "h-9 px-4 py-2",
762
+ sm: "h-8 px-4 py-2",
763
+ lg: "h-10 px-4 py-2",
764
+ icon: "h-10 w-10"
765
+ }
766
+ },
767
+ defaultVariants: {
768
+ variant: "default",
769
+ size: "default"
770
+ }
771
+ }
772
+ );
773
+ var Button = React7.forwardRef(
774
+ ({ className, variant, size, ...props }, ref) => {
775
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
776
+ "button",
777
+ {
778
+ className: cn(buttonVariants({ variant, size, className })),
779
+ ref,
780
+ ...props
781
+ }
782
+ );
783
+ }
784
+ );
785
+ Button.displayName = "Button";
786
+
787
+ // src/components/ButtonGroup/ButtonGroup.tsx
788
+ var React8 = __toESM(require("react"), 1);
789
+ var import_jsx_runtime9 = require("react/jsx-runtime");
790
+ var ButtonGroup = React8.forwardRef(
791
+ ({ className, orientation = "horizontal", children, ...props }, ref) => {
792
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
793
+ "div",
794
+ {
795
+ ref,
796
+ className: cn(
797
+ "flex items-center",
798
+ orientation === "horizontal" ? "flex-row gap-3" : "flex-col gap-2",
799
+ className
800
+ ),
801
+ role: "group",
802
+ ...props,
803
+ children
804
+ }
805
+ );
806
+ }
807
+ );
808
+ ButtonGroup.displayName = "ButtonGroup";
809
+
810
+ // src/components/Card/Card.tsx
811
+ var React9 = __toESM(require("react"), 1);
812
+ var import_jsx_runtime10 = require("react/jsx-runtime");
813
+ var Card = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
814
+ "div",
815
+ {
816
+ ref,
817
+ className: cn(
818
+ "rounded-lg border border-border bg-card text-card-foreground shadow-[0px_1px_2px_0px_rgba(0,0,0,0.05)]",
819
+ className
820
+ ),
821
+ ...props
822
+ }
823
+ ));
824
+ Card.displayName = "Card";
825
+ var CardHeader = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
826
+ "div",
827
+ {
828
+ ref,
829
+ className: cn("flex flex-col gap-1 p-6", className),
830
+ ...props
831
+ }
832
+ ));
833
+ CardHeader.displayName = "CardHeader";
834
+ var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
835
+ "h3",
836
+ {
837
+ ref,
838
+ className: cn(
839
+ "text-xl font-semibold leading-7 tracking-normal text-card-foreground",
840
+ className
841
+ ),
842
+ ...props
843
+ }
844
+ ));
845
+ CardTitle.displayName = "CardTitle";
846
+ var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
847
+ "p",
848
+ {
849
+ ref,
850
+ className: cn("text-sm font-normal leading-5 text-muted-foreground", className),
851
+ ...props
852
+ }
853
+ ));
854
+ CardDescription.displayName = "CardDescription";
855
+ var CardContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { ref, className: cn("px-6 pb-6 pt-0", className), ...props }));
856
+ CardContent.displayName = "CardContent";
857
+ var CardFooter = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
858
+ "div",
859
+ {
860
+ ref,
861
+ className: cn("flex items-center justify-end gap-2 px-6 pb-6 pt-0", className),
862
+ ...props
863
+ }
864
+ ));
865
+ CardFooter.displayName = "CardFooter";
866
+
867
+ // src/components/Carousel/Carousel.tsx
868
+ var React10 = __toESM(require("react"), 1);
869
+ var import_jsx_runtime11 = require("react/jsx-runtime");
870
+ var CarouselContext = React10.createContext(
871
+ void 0
872
+ );
873
+ function useCarousel() {
874
+ const context = React10.useContext(CarouselContext);
875
+ if (!context) {
876
+ throw new Error("useCarousel must be used within a Carousel");
877
+ }
878
+ return context;
879
+ }
880
+ var Carousel = React10.forwardRef(
881
+ ({ className, children, ...props }, ref) => {
882
+ const [currentIndex, setCurrentIndex] = React10.useState(0);
883
+ const [totalItems, setTotalItems] = React10.useState(0);
884
+ const goToSlide = React10.useCallback((index) => {
885
+ setCurrentIndex(index);
886
+ }, []);
887
+ const nextSlide = React10.useCallback(() => {
888
+ setCurrentIndex((prev) => (prev + 1) % totalItems);
889
+ }, [totalItems]);
890
+ const previousSlide = React10.useCallback(() => {
891
+ setCurrentIndex((prev) => (prev - 1 + totalItems) % totalItems);
892
+ }, [totalItems]);
893
+ const value = React10.useMemo(
894
+ () => ({
895
+ currentIndex,
896
+ totalItems,
897
+ goToSlide,
898
+ nextSlide,
899
+ previousSlide
900
+ }),
901
+ [currentIndex, totalItems, goToSlide, nextSlide, previousSlide]
902
+ );
903
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(CarouselContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
904
+ "div",
905
+ {
906
+ ref,
907
+ className: cn("flex items-center justify-center gap-6", className),
908
+ ...props,
909
+ children: React10.Children.map(children, (child) => {
910
+ if (React10.isValidElement(child)) {
911
+ return React10.cloneElement(child, { setTotalItems });
912
+ }
913
+ return child;
914
+ })
915
+ }
916
+ ) });
917
+ }
918
+ );
919
+ Carousel.displayName = "Carousel";
920
+ var CarouselContent = React10.forwardRef(
921
+ ({ className, children, setTotalItems, ...props }, ref) => {
922
+ const { currentIndex } = useCarousel();
923
+ const childrenArray = React10.Children.toArray(children);
924
+ React10.useEffect(() => {
925
+ setTotalItems?.(childrenArray.length);
926
+ }, [childrenArray.length, setTotalItems]);
927
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
928
+ "div",
929
+ {
930
+ ref,
931
+ className: cn(
932
+ "relative w-96 h-96 overflow-hidden rounded-md border-2 border-border bg-card shadow-sm",
933
+ className
934
+ ),
935
+ ...props,
936
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
937
+ "div",
938
+ {
939
+ className: "flex h-full transition-transform duration-300 ease-in-out",
940
+ style: {
941
+ transform: `translateX(-${currentIndex * 100}%)`
942
+ },
943
+ children: childrenArray
944
+ }
945
+ )
946
+ }
947
+ );
948
+ }
949
+ );
950
+ CarouselContent.displayName = "CarouselContent";
951
+ var CarouselItem = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
952
+ "div",
953
+ {
954
+ ref,
955
+ className: cn(
956
+ "min-w-full flex items-center justify-center",
957
+ className
958
+ ),
959
+ ...props
960
+ }
961
+ ));
962
+ CarouselItem.displayName = "CarouselItem";
963
+ var CarouselPrevious = React10.forwardRef(({ className, ...props }, ref) => {
964
+ const { previousSlide, currentIndex } = useCarousel();
965
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
966
+ "button",
967
+ {
968
+ ref,
969
+ type: "button",
970
+ className: cn(
971
+ "flex h-10 w-10 items-center justify-center rounded-full border-2 border-border bg-background shadow-sm transition-opacity hover:opacity-100",
972
+ currentIndex === 0 ? "opacity-50" : "opacity-100",
973
+ className
974
+ ),
975
+ onClick: previousSlide,
976
+ "aria-label": "Previous slide",
977
+ ...props,
978
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, { icon: import_lucide_react2.ArrowLeft, size: 20 })
979
+ }
980
+ );
981
+ });
982
+ CarouselPrevious.displayName = "CarouselPrevious";
983
+ var CarouselNext = React10.forwardRef(({ className, ...props }, ref) => {
984
+ const { nextSlide, currentIndex, totalItems } = useCarousel();
985
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
986
+ "button",
987
+ {
988
+ ref,
989
+ type: "button",
990
+ className: cn(
991
+ "flex h-10 w-10 items-center justify-center rounded-full border-2 border-border bg-background shadow-sm transition-opacity hover:opacity-100",
992
+ currentIndex === totalItems - 1 ? "opacity-50" : "opacity-100",
993
+ className
994
+ ),
995
+ onClick: nextSlide,
996
+ "aria-label": "Next slide",
997
+ ...props,
998
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, { icon: import_lucide_react2.ArrowRight, size: 20 })
999
+ }
1000
+ );
1001
+ });
1002
+ CarouselNext.displayName = "CarouselNext";
1003
+
1004
+ // src/components/Checkbox/Checkbox.tsx
1005
+ var React11 = __toESM(require("react"), 1);
1006
+ var import_jsx_runtime12 = require("react/jsx-runtime");
1007
+ var Checkbox = React11.forwardRef(
1008
+ ({ className, onCheckedChange, onChange, ...props }, ref) => {
1009
+ const handleChange = (e) => {
1010
+ onChange?.(e);
1011
+ onCheckedChange?.(e.target.checked);
1012
+ };
1013
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "relative inline-flex items-center", children: [
1014
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1015
+ "input",
1016
+ {
1017
+ type: "checkbox",
1018
+ className: "peer sr-only",
1019
+ ref,
1020
+ onChange: handleChange,
1021
+ ...props
1022
+ }
1023
+ ),
1024
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1025
+ "div",
1026
+ {
1027
+ className: cn(
1028
+ "flex h-4 w-4 shrink-0 items-center justify-center rounded-sm border border-primary transition-colors",
1029
+ "peer-checked:bg-primary peer-checked:text-primary-foreground",
1030
+ "peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2",
1031
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
1032
+ className
1033
+ ),
1034
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1035
+ Icon,
1036
+ {
1037
+ icon: import_lucide_react3.Check,
1038
+ size: 12,
1039
+ className: "hidden peer-checked:block"
1040
+ }
1041
+ )
1042
+ }
1043
+ )
1044
+ ] });
1045
+ }
1046
+ );
1047
+ Checkbox.displayName = "Checkbox";
1048
+
1049
+ // src/components/Dialog/Dialog.tsx
1050
+ var React12 = __toESM(require("react"), 1);
1051
+ var import_jsx_runtime13 = require("react/jsx-runtime");
1052
+ var Dialog = ({ open, onOpenChange, children }) => {
1053
+ React12.useEffect(() => {
1054
+ const handleEscape = (e) => {
1055
+ if (e.key === "Escape" && open) {
1056
+ onOpenChange?.(false);
1057
+ }
1058
+ };
1059
+ if (open) {
1060
+ document.addEventListener("keydown", handleEscape);
1061
+ document.body.style.overflow = "hidden";
1062
+ }
1063
+ return () => {
1064
+ document.removeEventListener("keydown", handleEscape);
1065
+ document.body.style.overflow = "";
1066
+ };
1067
+ }, [open, onOpenChange]);
1068
+ if (!open) return null;
1069
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: React12.Children.map(children, (child) => {
1070
+ if (React12.isValidElement(child)) {
1071
+ return React12.cloneElement(child, { onOpenChange });
1072
+ }
1073
+ return child;
1074
+ }) });
1075
+ };
1076
+ Dialog.displayName = "Dialog";
1077
+ var DialogContent = React12.forwardRef(
1078
+ ({ className, children, onOpenChange, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1079
+ "div",
1080
+ {
1081
+ className: "fixed inset-0 z-50 flex items-center justify-center",
1082
+ onClick: () => onOpenChange?.(false),
1083
+ children: [
1084
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "fixed inset-0 bg-black/80", "aria-hidden": "true" }),
1085
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1086
+ "div",
1087
+ {
1088
+ ref,
1089
+ role: "dialog",
1090
+ "aria-modal": "true",
1091
+ className: cn(
1092
+ "relative z-50 flex w-[512px] flex-col gap-4 overflow-hidden rounded-lg border border-border bg-background p-6 shadow-[0px_10px_15px_-3px_rgba(0,0,0,0.1),0px_4px_6px_-2px_rgba(0,0,0,0.05)]",
1093
+ className
1094
+ ),
1095
+ onClick: (e) => e.stopPropagation(),
1096
+ ...props,
1097
+ children: [
1098
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1099
+ "button",
1100
+ {
1101
+ onClick: () => onOpenChange?.(false),
1102
+ className: "absolute right-[15px] top-[15px] rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1103
+ "aria-label": "Close",
1104
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, { icon: import_lucide_react3.X, size: 16 })
1105
+ }
1106
+ ),
1107
+ children
1108
+ ]
1109
+ }
1110
+ )
1111
+ ]
1112
+ }
1113
+ )
1114
+ );
1115
+ DialogContent.displayName = "DialogContent";
1116
+ var DialogHeader = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1117
+ "div",
1118
+ {
1119
+ ref,
1120
+ className: cn("flex flex-col gap-1.5", className),
1121
+ ...props
1122
+ }
1123
+ ));
1124
+ DialogHeader.displayName = "DialogHeader";
1125
+ var DialogTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1126
+ "h2",
1127
+ {
1128
+ ref,
1129
+ className: cn("text-lg font-semibold leading-7 text-foreground", className),
1130
+ ...props
1131
+ }
1132
+ ));
1133
+ DialogTitle.displayName = "DialogTitle";
1134
+ var DialogDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1135
+ "p",
1136
+ {
1137
+ ref,
1138
+ className: cn("text-sm leading-5 text-muted-foreground", className),
1139
+ ...props
1140
+ }
1141
+ ));
1142
+ DialogDescription.displayName = "DialogDescription";
1143
+ var DialogFooter = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1144
+ "div",
1145
+ {
1146
+ ref,
1147
+ className: cn("flex items-center justify-end gap-2", className),
1148
+ ...props
1149
+ }
1150
+ ));
1151
+ DialogFooter.displayName = "DialogFooter";
1152
+
1153
+ // src/components/Drawer/Drawer.tsx
1154
+ var React13 = __toESM(require("react"), 1);
1155
+ var import_jsx_runtime14 = require("react/jsx-runtime");
1156
+ var Drawer = ({ open, onOpenChange, children }) => {
1157
+ React13.useEffect(() => {
1158
+ const handleEscape = (e) => {
1159
+ if (e.key === "Escape" && open) {
1160
+ onOpenChange?.(false);
1161
+ }
1162
+ };
1163
+ if (open) {
1164
+ document.addEventListener("keydown", handleEscape);
1165
+ document.body.style.overflow = "hidden";
1166
+ }
1167
+ return () => {
1168
+ document.removeEventListener("keydown", handleEscape);
1169
+ document.body.style.overflow = "";
1170
+ };
1171
+ }, [open, onOpenChange]);
1172
+ if (!open) return null;
1173
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, { children: React13.Children.map(children, (child) => {
1174
+ if (React13.isValidElement(child)) {
1175
+ return React13.cloneElement(child, { onOpenChange });
1176
+ }
1177
+ return child;
1178
+ }) });
1179
+ };
1180
+ Drawer.displayName = "Drawer";
1181
+ var DrawerContent = React13.forwardRef(
1182
+ ({ className, children, onOpenChange, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1183
+ "div",
1184
+ {
1185
+ className: "fixed inset-0 z-50 flex items-end justify-center",
1186
+ onClick: () => onOpenChange?.(false),
1187
+ children: [
1188
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "fixed inset-0 bg-black/80", "aria-hidden": "true" }),
1189
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1190
+ "div",
1191
+ {
1192
+ ref,
1193
+ role: "dialog",
1194
+ "aria-modal": "true",
1195
+ className: cn(
1196
+ "relative z-50 flex w-[320px] flex-col gap-4 overflow-hidden rounded-t-lg border-t border-x border-border bg-background p-6 shadow-[0px_10px_15px_-3px_rgba(0,0,0,0.1),0px_4px_6px_-2px_rgba(0,0,0,0.05)]",
1197
+ className
1198
+ ),
1199
+ onClick: (e) => e.stopPropagation(),
1200
+ ...props,
1201
+ children: [
1202
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "absolute left-1/2 top-4 h-2 w-[100px] -translate-x-1/2 rounded-full bg-muted" }),
1203
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1204
+ "button",
1205
+ {
1206
+ onClick: () => onOpenChange?.(false),
1207
+ className: "absolute right-[15px] top-[15px] rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1208
+ "aria-label": "Close",
1209
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { icon: import_lucide_react3.X, size: 16 })
1210
+ }
1211
+ ),
1212
+ children
1213
+ ]
1214
+ }
1215
+ )
1216
+ ]
1217
+ }
1218
+ )
1219
+ );
1220
+ DrawerContent.displayName = "DrawerContent";
1221
+ var DrawerHeader = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1222
+ "div",
1223
+ {
1224
+ ref,
1225
+ className: cn("flex flex-col gap-1 pt-4 text-center", className),
1226
+ ...props
1227
+ }
1228
+ ));
1229
+ DrawerHeader.displayName = "DrawerHeader";
1230
+ var DrawerTitle = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1231
+ "h2",
1232
+ {
1233
+ ref,
1234
+ className: cn("text-lg font-semibold leading-7 text-foreground", className),
1235
+ ...props
1236
+ }
1237
+ ));
1238
+ DrawerTitle.displayName = "DrawerTitle";
1239
+ var DrawerDescription = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1240
+ "p",
1241
+ {
1242
+ ref,
1243
+ className: cn("text-sm leading-5 text-muted-foreground", className),
1244
+ ...props
1245
+ }
1246
+ ));
1247
+ DrawerDescription.displayName = "DrawerDescription";
1248
+ var DrawerFooter = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1249
+ "div",
1250
+ {
1251
+ ref,
1252
+ className: cn("flex flex-col gap-2", className),
1253
+ ...props
1254
+ }
1255
+ ));
1256
+ DrawerFooter.displayName = "DrawerFooter";
1257
+
1258
+ // src/components/Header/Header.tsx
1259
+ var React14 = __toESM(require("react"), 1);
1260
+ var import_jsx_runtime15 = require("react/jsx-runtime");
1261
+ var Header2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1262
+ "header",
1263
+ {
1264
+ ref,
1265
+ className: cn(
1266
+ "flex flex-col gap-2 border-b-2 border-accent bg-background px-6 pb-4 pt-6",
1267
+ className
1268
+ ),
1269
+ ...props
1270
+ }
1271
+ ));
1272
+ Header2.displayName = "Header";
1273
+ var HeaderBreadcrumbs = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1274
+ "div",
1275
+ {
1276
+ ref,
1277
+ className: cn("flex items-center gap-2.5 w-full", className),
1278
+ ...props
1279
+ }
1280
+ ));
1281
+ HeaderBreadcrumbs.displayName = "HeaderBreadcrumbs";
1282
+ var HeaderContent = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1283
+ "div",
1284
+ {
1285
+ ref,
1286
+ className: cn("flex items-center justify-between w-full", className),
1287
+ ...props
1288
+ }
1289
+ ));
1290
+ HeaderContent.displayName = "HeaderContent";
1291
+ var HeaderTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1292
+ "h1",
1293
+ {
1294
+ ref,
1295
+ className: cn(
1296
+ "text-2xl font-medium leading-8 text-foreground",
1297
+ className
1298
+ ),
1299
+ ...props
1300
+ }
1301
+ ));
1302
+ HeaderTitle.displayName = "HeaderTitle";
1303
+ var HeaderActions = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1304
+ "div",
1305
+ {
1306
+ ref,
1307
+ className: cn("flex items-center gap-3", className),
1308
+ ...props
1309
+ }
1310
+ ));
1311
+ HeaderActions.displayName = "HeaderActions";
1312
+ var HeaderDescription = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1313
+ "p",
1314
+ {
1315
+ ref,
1316
+ className: cn(
1317
+ "text-base leading-6 text-muted-foreground",
1318
+ className
1319
+ ),
1320
+ ...props
1321
+ }
1322
+ ));
1323
+ HeaderDescription.displayName = "HeaderDescription";
1324
+
1325
+ // src/components/Radio/Radio.tsx
1326
+ var React15 = __toESM(require("react"), 1);
1327
+ var import_jsx_runtime16 = require("react/jsx-runtime");
1328
+ var Radio = React15.forwardRef(
1329
+ ({ className, onCheckedChange, onChange, ...props }, ref) => {
1330
+ const handleChange = (e) => {
1331
+ onChange?.(e);
1332
+ onCheckedChange?.(e.target.checked);
1333
+ };
1334
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "relative inline-flex items-center", children: [
1335
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1336
+ "input",
1337
+ {
1338
+ type: "radio",
1339
+ className: "peer sr-only",
1340
+ ref,
1341
+ onChange: handleChange,
1342
+ ...props
1343
+ }
1344
+ ),
1345
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1346
+ "div",
1347
+ {
1348
+ className: cn(
1349
+ "relative flex h-4 w-4 shrink-0 items-center justify-center rounded-full border border-primary bg-background transition-colors",
1350
+ "peer-checked:border-primary",
1351
+ "peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2",
1352
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
1353
+ "after:absolute after:inset-0 after:m-auto after:h-2 after:w-2 after:rounded-full after:bg-primary after:scale-0 after:transition-transform",
1354
+ "peer-checked:after:scale-100",
1355
+ className
1356
+ )
1357
+ }
1358
+ )
1359
+ ] });
1360
+ }
1361
+ );
1362
+ Radio.displayName = "Radio";
1363
+
1364
+ // src/components/Select/Select.tsx
1365
+ var React16 = __toESM(require("react"), 1);
1366
+ var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
1367
+ var import_lucide_react18 = require("lucide-react");
1368
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1369
+ var Select = SelectPrimitive.Root;
1370
+ var SelectGroup = SelectPrimitive.Group;
1371
+ var SelectValue = SelectPrimitive.Value;
1372
+ var SelectTrigger = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1373
+ SelectPrimitive.Trigger,
1374
+ {
1375
+ ref,
1376
+ className: cn(
1377
+ "relative z-10 flex h-10 w-full items-center justify-between gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground transition-colors",
1378
+ "hover:border-border-hover",
1379
+ "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
1380
+ "disabled:cursor-not-allowed disabled:opacity-50",
1381
+ "[&>span]:line-clamp-1",
1382
+ className
1383
+ ),
1384
+ ...props,
1385
+ children: [
1386
+ children,
1387
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react18.ChevronDown, { className: "h-3 w-3 opacity-50" }) })
1388
+ ]
1389
+ }
1390
+ ));
1391
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
1392
+ var SelectScrollUpButton = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1393
+ SelectPrimitive.ScrollUpButton,
1394
+ {
1395
+ ref,
1396
+ className: cn(
1397
+ "flex cursor-default items-center justify-center py-1",
1398
+ className
1399
+ ),
1400
+ ...props,
1401
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react18.ChevronDown, { className: "h-4 w-4 rotate-180" })
1402
+ }
1403
+ ));
1404
+ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
1405
+ var SelectScrollDownButton = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1406
+ SelectPrimitive.ScrollDownButton,
1407
+ {
1408
+ ref,
1409
+ className: cn(
1410
+ "flex cursor-default items-center justify-center py-1",
1411
+ className
1412
+ ),
1413
+ ...props,
1414
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react18.ChevronDown, { className: "h-4 w-4" })
1415
+ }
1416
+ ));
1417
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
1418
+ var SelectContent = React16.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1419
+ SelectPrimitive.Content,
1420
+ {
1421
+ ref,
1422
+ className: cn(
1423
+ "relative z-[100] max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md",
1424
+ "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",
1425
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
1426
+ className
1427
+ ),
1428
+ position,
1429
+ sideOffset: 4,
1430
+ collisionPadding: 8,
1431
+ ...props,
1432
+ children: [
1433
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SelectScrollUpButton, {}),
1434
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1435
+ SelectPrimitive.Viewport,
1436
+ {
1437
+ className: cn(
1438
+ "p-1",
1439
+ position === "popper" && "w-full min-w-[var(--radix-select-trigger-width)]"
1440
+ ),
1441
+ children
1442
+ }
1443
+ ),
1444
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SelectScrollDownButton, {})
1445
+ ]
1446
+ }
1447
+ ) }));
1448
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
1449
+ var SelectLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1450
+ SelectPrimitive.Label,
1451
+ {
1452
+ ref,
1453
+ className: cn(
1454
+ "px-8 py-1.5 text-sm font-semibold text-popover-foreground",
1455
+ className
1456
+ ),
1457
+ ...props
1458
+ }
1459
+ ));
1460
+ SelectLabel.displayName = SelectPrimitive.Label.displayName;
1461
+ var SelectItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1462
+ SelectPrimitive.Item,
1463
+ {
1464
+ ref,
1465
+ className: cn(
1466
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm text-popover-foreground outline-none",
1467
+ "focus:bg-accent focus:text-accent-foreground",
1468
+ "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
1469
+ className
1470
+ ),
1471
+ ...props,
1472
+ children: [
1473
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react18.Check, { className: "h-4 w-4" }) }) }),
1474
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SelectPrimitive.ItemText, { children })
1475
+ ]
1476
+ }
1477
+ ));
1478
+ SelectItem.displayName = SelectPrimitive.Item.displayName;
1479
+ var SelectSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1480
+ SelectPrimitive.Separator,
1481
+ {
1482
+ ref,
1483
+ className: cn("mx-1 my-1 h-px bg-border", className),
1484
+ ...props
1485
+ }
1486
+ ));
1487
+ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
1488
+
1489
+ // src/components/Separator/Separator.tsx
1490
+ var React17 = __toESM(require("react"), 1);
1491
+ var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
1492
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1493
+ var Separator2 = React17.forwardRef(
1494
+ ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1495
+ SeparatorPrimitive.Root,
1496
+ {
1497
+ ref,
1498
+ decorative,
1499
+ orientation,
1500
+ className: cn(
1501
+ "shrink-0 bg-border",
1502
+ orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
1503
+ className
1504
+ ),
1505
+ ...props
1506
+ }
1507
+ )
1508
+ );
1509
+ Separator2.displayName = SeparatorPrimitive.Root.displayName;
1510
+
1511
+ // src/components/Sheet/Sheet.tsx
1512
+ var React18 = __toESM(require("react"), 1);
1513
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1514
+ var Sheet = ({ open, onOpenChange, children }) => {
1515
+ React18.useEffect(() => {
1516
+ const handleEscape = (e) => {
1517
+ if (e.key === "Escape" && open) {
1518
+ onOpenChange?.(false);
1519
+ }
1520
+ };
1521
+ if (open) {
1522
+ document.addEventListener("keydown", handleEscape);
1523
+ document.body.style.overflow = "hidden";
1524
+ }
1525
+ return () => {
1526
+ document.removeEventListener("keydown", handleEscape);
1527
+ document.body.style.overflow = "";
1528
+ };
1529
+ }, [open, onOpenChange]);
1530
+ if (!open) return null;
1531
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children: React18.Children.map(children, (child) => {
1532
+ if (React18.isValidElement(child)) {
1533
+ return React18.cloneElement(child, { onOpenChange });
1534
+ }
1535
+ return child;
1536
+ }) });
1537
+ };
1538
+ Sheet.displayName = "Sheet";
1539
+ var sheetVariants = {
1540
+ top: "inset-x-0 top-0 border-b",
1541
+ bottom: "inset-x-0 bottom-0 border-t",
1542
+ left: "inset-y-0 left-0 h-full w-[448px] border-r",
1543
+ right: "inset-y-0 right-0 h-full w-[448px] border-l"
1544
+ };
1545
+ var SheetContent = React18.forwardRef(
1546
+ ({ className, children, onOpenChange, side = "right", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1547
+ "div",
1548
+ {
1549
+ className: "fixed inset-0 z-50",
1550
+ onClick: () => onOpenChange?.(false),
1551
+ children: [
1552
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "fixed inset-0 bg-black/80", "aria-hidden": "true" }),
1553
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1554
+ "div",
1555
+ {
1556
+ ref,
1557
+ role: "dialog",
1558
+ "aria-modal": "true",
1559
+ className: cn(
1560
+ "fixed z-50 flex flex-col gap-4 bg-background p-6 shadow-lg transition-transform duration-300",
1561
+ sheetVariants[side],
1562
+ className
1563
+ ),
1564
+ onClick: (e) => e.stopPropagation(),
1565
+ ...props,
1566
+ children: [
1567
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1568
+ "button",
1569
+ {
1570
+ onClick: () => onOpenChange?.(false),
1571
+ className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1572
+ "aria-label": "Close",
1573
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { icon: import_lucide_react3.X, size: 16 })
1574
+ }
1575
+ ),
1576
+ children
1577
+ ]
1578
+ }
1579
+ )
1580
+ ]
1581
+ }
1582
+ )
1583
+ );
1584
+ SheetContent.displayName = "SheetContent";
1585
+ var SheetHeader = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1586
+ "div",
1587
+ {
1588
+ ref,
1589
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className),
1590
+ ...props
1591
+ }
1592
+ ));
1593
+ SheetHeader.displayName = "SheetHeader";
1594
+ var SheetTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1595
+ "h2",
1596
+ {
1597
+ ref,
1598
+ className: cn("text-lg font-semibold text-foreground", className),
1599
+ ...props
1600
+ }
1601
+ ));
1602
+ SheetTitle.displayName = "SheetTitle";
1603
+ var SheetDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1604
+ "p",
1605
+ {
1606
+ ref,
1607
+ className: cn("text-sm text-muted-foreground", className),
1608
+ ...props
1609
+ }
1610
+ ));
1611
+ SheetDescription.displayName = "SheetDescription";
1612
+ var SheetFooter = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1613
+ "div",
1614
+ {
1615
+ ref,
1616
+ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
1617
+ ...props
1618
+ }
1619
+ ));
1620
+ SheetFooter.displayName = "SheetFooter";
1621
+ var SheetClose = React18.forwardRef(({ className, onOpenChange, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1622
+ "button",
1623
+ {
1624
+ ref,
1625
+ onClick: () => onOpenChange?.(false),
1626
+ className: cn(
1627
+ "rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
1628
+ className
1629
+ ),
1630
+ ...props
1631
+ }
1632
+ ));
1633
+ SheetClose.displayName = "SheetClose";
1634
+
1635
+ // src/components/Skeleton/Skeleton.tsx
1636
+ var React19 = __toESM(require("react"), 1);
1637
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1638
+ var Skeleton = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1639
+ "div",
1640
+ {
1641
+ ref,
1642
+ className: cn(
1643
+ "animate-pulse rounded-md bg-muted",
1644
+ className
1645
+ ),
1646
+ ...props
1647
+ }
1648
+ ));
1649
+ Skeleton.displayName = "Skeleton";
1650
+
1651
+ // src/components/Slider/Slider.tsx
1652
+ var React20 = __toESM(require("react"), 1);
1653
+ var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
1654
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1655
+ var Slider = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1656
+ SliderPrimitive.Root,
1657
+ {
1658
+ ref,
1659
+ className: cn(
1660
+ "relative flex w-full touch-none select-none items-center",
1661
+ className
1662
+ ),
1663
+ ...props,
1664
+ children: [
1665
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
1666
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
1667
+ ]
1668
+ }
1669
+ ));
1670
+ Slider.displayName = SliderPrimitive.Root.displayName;
1671
+
1672
+ // src/components/Switch/Switch.tsx
1673
+ var React21 = __toESM(require("react"), 1);
1674
+ var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
1675
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1676
+ var Switch = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1677
+ SwitchPrimitives.Root,
1678
+ {
1679
+ className: cn(
1680
+ "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent bg-input p-0.5 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
1681
+ className
1682
+ ),
1683
+ ...props,
1684
+ ref,
1685
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1686
+ SwitchPrimitives.Thumb,
1687
+ {
1688
+ className: cn(
1689
+ "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
1690
+ )
1691
+ }
1692
+ )
1693
+ }
1694
+ ));
1695
+ Switch.displayName = SwitchPrimitives.Root.displayName;
1696
+
1697
+ // src/components/Table/Table.tsx
1698
+ var React22 = __toESM(require("react"), 1);
1699
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1700
+ var Table = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1701
+ "table",
1702
+ {
1703
+ ref,
1704
+ className: cn("w-full caption-bottom text-sm", className),
1705
+ ...props
1706
+ }
1707
+ ) }));
1708
+ Table.displayName = "Table";
1709
+ var TableHeader = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
1710
+ TableHeader.displayName = "TableHeader";
1711
+ var TableBody = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1712
+ "tbody",
1713
+ {
1714
+ ref,
1715
+ className: cn("[&_tr:last-child]:border-0", className),
1716
+ ...props
1717
+ }
1718
+ ));
1719
+ TableBody.displayName = "TableBody";
1720
+ var TableFooter = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1721
+ "tfoot",
1722
+ {
1723
+ ref,
1724
+ className: cn(
1725
+ "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
1726
+ className
1727
+ ),
1728
+ ...props
1729
+ }
1730
+ ));
1731
+ TableFooter.displayName = "TableFooter";
1732
+ var TableRow = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1733
+ "tr",
1734
+ {
1735
+ ref,
1736
+ className: cn(
1737
+ "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
1738
+ className
1739
+ ),
1740
+ ...props
1741
+ }
1742
+ ));
1743
+ TableRow.displayName = "TableRow";
1744
+ var TableHead = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1745
+ "th",
1746
+ {
1747
+ ref,
1748
+ className: cn(
1749
+ "h-11 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
1750
+ className
1751
+ ),
1752
+ ...props
1753
+ }
1754
+ ));
1755
+ TableHead.displayName = "TableHead";
1756
+ var TableCell = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1757
+ "td",
1758
+ {
1759
+ ref,
1760
+ className: cn(
1761
+ "p-4 align-middle [&:has([role=checkbox])]:pr-0",
1762
+ className
1763
+ ),
1764
+ ...props
1765
+ }
1766
+ ));
1767
+ TableCell.displayName = "TableCell";
1768
+ var TableCaption = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1769
+ "caption",
1770
+ {
1771
+ ref,
1772
+ className: cn("mt-4 text-sm text-muted-foreground", className),
1773
+ ...props
1774
+ }
1775
+ ));
1776
+ TableCaption.displayName = "TableCaption";
1777
+
1778
+ // src/components/Tabs/Tabs.tsx
1779
+ var React23 = __toESM(require("react"), 1);
1780
+ var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
1781
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1782
+ var Tabs = TabsPrimitive.Root;
1783
+ var TabsList = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1784
+ TabsPrimitive.List,
1785
+ {
1786
+ ref,
1787
+ className: cn(
1788
+ "inline-flex h-auto items-center justify-start gap-0 text-muted-foreground",
1789
+ className
1790
+ ),
1791
+ ...props
1792
+ }
1793
+ ));
1794
+ TabsList.displayName = TabsPrimitive.List.displayName;
1795
+ var TabsTrigger = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1796
+ TabsPrimitive.Trigger,
1797
+ {
1798
+ ref,
1799
+ className: cn(
1800
+ "inline-flex items-center justify-center whitespace-nowrap rounded-xs px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm data-[state=active]:font-semibold data-[state=inactive]:text-muted-foreground",
1801
+ className
1802
+ ),
1803
+ ...props
1804
+ }
1805
+ ));
1806
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
1807
+ var TabsContent = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1808
+ TabsPrimitive.Content,
1809
+ {
1810
+ ref,
1811
+ className: cn(
1812
+ "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1813
+ className
1814
+ ),
1815
+ ...props
1816
+ }
1817
+ ));
1818
+ TabsContent.displayName = TabsPrimitive.Content.displayName;
1819
+
1820
+ // src/components/Textarea/Textarea.tsx
1821
+ var React24 = __toESM(require("react"), 1);
1822
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1823
+ var Textarea = React24.forwardRef(
1824
+ ({ className, ...props }, ref) => {
1825
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1826
+ "textarea",
1827
+ {
1828
+ className: cn(
1829
+ "flex min-h-[82px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1830
+ className
1831
+ ),
1832
+ ref,
1833
+ ...props
1834
+ }
1835
+ );
1836
+ }
1837
+ );
1838
+ Textarea.displayName = "Textarea";
1839
+
1840
+ // src/components/Toast/Toast.tsx
1841
+ var import_sonner = require("sonner");
1842
+ var import_sonner2 = require("sonner");
1843
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1844
+ var Toaster2 = ({ ...props }) => {
1845
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1846
+ import_sonner.Toaster,
1847
+ {
1848
+ className: "toaster group",
1849
+ toastOptions: {
1850
+ classNames: {
1851
+ toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
1852
+ description: "group-[.toast]:text-muted-foreground",
1853
+ actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
1854
+ cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
1855
+ }
1856
+ },
1857
+ ...props
1858
+ }
1859
+ );
1860
+ };
1861
+
1862
+ // src/components/Toggle/Toggle.tsx
1863
+ var React25 = __toESM(require("react"), 1);
1864
+ var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
1865
+ var import_class_variance_authority4 = require("class-variance-authority");
1866
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1867
+ var toggleVariants = (0, import_class_variance_authority4.cva)(
1868
+ "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-muted data-[state=on]:text-foreground",
1869
+ {
1870
+ variants: {
1871
+ variant: {
1872
+ default: "bg-transparent",
1873
+ outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
1874
+ },
1875
+ size: {
1876
+ default: "h-10 px-3",
1877
+ sm: "h-9 px-2.5",
1878
+ lg: "h-11 px-5"
1879
+ }
1880
+ },
1881
+ defaultVariants: {
1882
+ variant: "default",
1883
+ size: "default"
1884
+ }
1885
+ }
1886
+ );
1887
+ var Toggle = React25.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1888
+ TogglePrimitive.Root,
1889
+ {
1890
+ ref,
1891
+ className: cn(toggleVariants({ variant, size, className })),
1892
+ ...props
1893
+ }
1894
+ ));
1895
+ Toggle.displayName = TogglePrimitive.Root.displayName;
1896
+
1897
+ // src/lib/theme.tsx
1898
+ var React26 = __toESM(require("react"), 1);
1899
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1900
+ var ThemeContext = React26.createContext(void 0);
1901
+ function ThemeProvider({
1902
+ children,
1903
+ defaultTheme = "auto",
1904
+ storageKey = "cc-theme",
1905
+ enablePersistence = true
1906
+ }) {
1907
+ const [theme, setThemeState] = React26.useState(() => {
1908
+ if (typeof window === "undefined") return defaultTheme;
1909
+ if (enablePersistence) {
1910
+ const stored = window.localStorage.getItem(storageKey);
1911
+ if (stored && isValidTheme(stored)) {
1912
+ return stored;
1913
+ }
1914
+ }
1915
+ return defaultTheme;
1916
+ });
1917
+ const [actualTheme, setActualTheme] = React26.useState(() => {
1918
+ if (theme === "auto") {
1919
+ return typeof window !== "undefined" && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
1920
+ }
1921
+ return theme;
1922
+ });
1923
+ React26.useEffect(() => {
1924
+ const root = window.document.documentElement;
1925
+ if (theme === "auto") {
1926
+ root.removeAttribute("data-theme");
1927
+ } else {
1928
+ root.setAttribute("data-theme", theme);
1929
+ }
1930
+ }, [theme]);
1931
+ React26.useEffect(() => {
1932
+ if (theme !== "auto") {
1933
+ setActualTheme(theme);
1934
+ return;
1935
+ }
1936
+ const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
1937
+ const handleChange = (e) => {
1938
+ setActualTheme(e.matches ? "dark" : "light");
1939
+ };
1940
+ handleChange(mediaQuery);
1941
+ mediaQuery.addEventListener("change", handleChange);
1942
+ return () => {
1943
+ mediaQuery.removeEventListener("change", handleChange);
1944
+ };
1945
+ }, [theme]);
1946
+ const setTheme = React26.useCallback(
1947
+ (newTheme) => {
1948
+ setThemeState(newTheme);
1949
+ if (enablePersistence && typeof window !== "undefined") {
1950
+ try {
1951
+ window.localStorage.setItem(storageKey, newTheme);
1952
+ } catch (error) {
1953
+ console.warn("Failed to persist theme preference:", error);
1954
+ }
1955
+ }
1956
+ },
1957
+ [enablePersistence, storageKey]
1958
+ );
1959
+ const value = React26.useMemo(
1960
+ () => ({
1961
+ theme,
1962
+ setTheme,
1963
+ actualTheme
1964
+ }),
1965
+ [theme, setTheme, actualTheme]
1966
+ );
1967
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ThemeContext.Provider, { value, children });
1968
+ }
1969
+ function useTheme() {
1970
+ const context = React26.useContext(ThemeContext);
1971
+ if (context === void 0) {
1972
+ throw new Error("useTheme must be used within a ThemeProvider");
1973
+ }
1974
+ return context;
1975
+ }
1976
+ function isValidTheme(value) {
1977
+ return ["light", "dark", "atxp", "dbg", "auto"].includes(value);
1978
+ }
1979
+ // Annotate the CommonJS export names for ESM import in node:
1980
+ 0 && (module.exports = {
1981
+ Accordion,
1982
+ AccordionContent,
1983
+ AccordionItem,
1984
+ AccordionTrigger,
1985
+ Activity,
1986
+ Alert,
1987
+ AlertCircle,
1988
+ AlertDescription,
1989
+ AlertDialog,
1990
+ AlertDialogAction,
1991
+ AlertDialogCancel,
1992
+ AlertDialogContent,
1993
+ AlertDialogDescription,
1994
+ AlertDialogFooter,
1995
+ AlertDialogHeader,
1996
+ AlertDialogTitle,
1997
+ AlertTitle,
1998
+ AlertTriangle,
1999
+ ArrowDown,
2000
+ ArrowLeft,
2001
+ ArrowRight,
2002
+ ArrowUp,
2003
+ Avatar,
2004
+ AvatarFallback,
2005
+ AvatarImage,
2006
+ Award,
2007
+ Badge,
2008
+ BarChart,
2009
+ BarChart2,
2010
+ Battery,
2011
+ BatteryCharging,
2012
+ BatteryFull,
2013
+ BatteryLow,
2014
+ Bell,
2015
+ BellOff,
2016
+ Bluetooth,
2017
+ BookOpen,
2018
+ Bookmark,
2019
+ Breadcrumb,
2020
+ BreadcrumbEllipsis,
2021
+ BreadcrumbItem,
2022
+ BreadcrumbLink,
2023
+ BreadcrumbList,
2024
+ BreadcrumbPage,
2025
+ BreadcrumbSeparator,
2026
+ Bug,
2027
+ Building,
2028
+ Building2,
2029
+ Button,
2030
+ ButtonGroup,
2031
+ Calendar,
2032
+ CalendarCheck,
2033
+ CalendarDays,
2034
+ CalendarMinus,
2035
+ CalendarPlus,
2036
+ CalendarX,
2037
+ Camera,
2038
+ CameraOff,
2039
+ Card,
2040
+ CardContent,
2041
+ CardDescription,
2042
+ CardFooter,
2043
+ CardHeader,
2044
+ CardTitle,
2045
+ Carousel,
2046
+ CarouselContent,
2047
+ CarouselItem,
2048
+ CarouselNext,
2049
+ CarouselPrevious,
2050
+ Check,
2051
+ CheckCircle,
2052
+ CheckCircle2,
2053
+ CheckWaves,
2054
+ Checkbox,
2055
+ ChevronDown,
2056
+ ChevronLeft,
2057
+ ChevronRight,
2058
+ ChevronUp,
2059
+ ChevronsDown,
2060
+ ChevronsLeft,
2061
+ ChevronsRight,
2062
+ ChevronsUp,
2063
+ Clock,
2064
+ Cloud,
2065
+ CloudDrizzle,
2066
+ CloudLightning,
2067
+ CloudRain,
2068
+ CloudSnow,
2069
+ Code,
2070
+ Code2,
2071
+ Cog,
2072
+ Columns,
2073
+ Compass,
2074
+ Copy,
2075
+ Cpu,
2076
+ CreditCard,
2077
+ Database,
2078
+ Dialog,
2079
+ DialogContent,
2080
+ DialogDescription,
2081
+ DialogFooter,
2082
+ DialogHeader,
2083
+ DialogTitle,
2084
+ DollarSign,
2085
+ Dots,
2086
+ Download,
2087
+ Drawer,
2088
+ DrawerContent,
2089
+ DrawerDescription,
2090
+ DrawerFooter,
2091
+ DrawerHeader,
2092
+ DrawerTitle,
2093
+ Edit,
2094
+ Edit2,
2095
+ Edit3,
2096
+ ExternalLink,
2097
+ Eye,
2098
+ EyeOff,
2099
+ Facebook,
2100
+ Figma,
2101
+ File,
2102
+ FileImage,
2103
+ FilePlus,
2104
+ FileText,
2105
+ Filter,
2106
+ Flag,
2107
+ Folder,
2108
+ FolderOpen,
2109
+ FolderPlus,
2110
+ Gift,
2111
+ GitBranch,
2112
+ GitCommit,
2113
+ GitMerge,
2114
+ GitPullRequest,
2115
+ Github,
2116
+ Globe,
2117
+ Grid,
2118
+ Header,
2119
+ HeaderActions,
2120
+ HeaderBreadcrumbs,
2121
+ HeaderContent,
2122
+ HeaderDescription,
2123
+ HeaderTitle,
2124
+ Heart,
2125
+ HelpCircle,
2126
+ Home,
2127
+ Icon,
2128
+ Image,
2129
+ Info,
2130
+ Instagram,
2131
+ Key,
2132
+ Laptop,
2133
+ Layout,
2134
+ LayoutGrid,
2135
+ LayoutList,
2136
+ LineChart,
2137
+ Link,
2138
+ Link2,
2139
+ Linkedin,
2140
+ List,
2141
+ Loader,
2142
+ Loader2,
2143
+ Lock,
2144
+ LogIn,
2145
+ LogOut,
2146
+ Mail,
2147
+ Map,
2148
+ MapPin,
2149
+ Maximize,
2150
+ Maximize2,
2151
+ Menu,
2152
+ MessageCircle,
2153
+ MessageSquare,
2154
+ Mic,
2155
+ MicOff,
2156
+ Minimize,
2157
+ Minimize2,
2158
+ Minus,
2159
+ Monitor,
2160
+ Moon,
2161
+ MoreHorizontal,
2162
+ MoreVertical,
2163
+ Music,
2164
+ Navigation,
2165
+ Navigation2,
2166
+ Package,
2167
+ PanelLeft,
2168
+ PanelRight,
2169
+ Paperclip,
2170
+ Pause,
2171
+ Pen,
2172
+ Phone,
2173
+ PhoneCall,
2174
+ PhoneOff,
2175
+ PieChart,
2176
+ Play,
2177
+ Plus,
2178
+ Radio,
2179
+ RefreshCw,
2180
+ RotateCcw,
2181
+ RotateCw,
2182
+ Save,
2183
+ Search,
2184
+ Select,
2185
+ SelectContent,
2186
+ SelectGroup,
2187
+ SelectItem,
2188
+ SelectLabel,
2189
+ SelectScrollDownButton,
2190
+ SelectScrollUpButton,
2191
+ SelectSeparator,
2192
+ SelectTrigger,
2193
+ SelectValue,
2194
+ Send,
2195
+ Separator,
2196
+ Server,
2197
+ Settings,
2198
+ Share,
2199
+ Share2,
2200
+ Sheet,
2201
+ SheetClose,
2202
+ SheetContent,
2203
+ SheetDescription,
2204
+ SheetFooter,
2205
+ SheetHeader,
2206
+ SheetTitle,
2207
+ Shield,
2208
+ ShieldCheck,
2209
+ ShoppingBag,
2210
+ ShoppingCart,
2211
+ Sidebar,
2212
+ Skeleton,
2213
+ SkipBack,
2214
+ SkipForward,
2215
+ Slider,
2216
+ Smartphone,
2217
+ Square,
2218
+ Star,
2219
+ Store,
2220
+ Sun,
2221
+ Switch,
2222
+ Table,
2223
+ TableBody,
2224
+ TableCaption,
2225
+ TableCell,
2226
+ TableFooter,
2227
+ TableHead,
2228
+ TableHeader,
2229
+ TableRow,
2230
+ Tablet,
2231
+ Tabs,
2232
+ TabsContent,
2233
+ TabsList,
2234
+ TabsTrigger,
2235
+ Tag,
2236
+ Terminal,
2237
+ Textarea,
2238
+ ThemeProvider,
2239
+ Toast,
2240
+ Toaster,
2241
+ Toggle,
2242
+ Trash,
2243
+ Trash2,
2244
+ TrendingDown,
2245
+ TrendingUp,
2246
+ Tv,
2247
+ Twitch,
2248
+ Twitter,
2249
+ Unlock,
2250
+ Upload,
2251
+ User,
2252
+ UserCheck,
2253
+ UserMinus,
2254
+ UserPlus,
2255
+ UserX,
2256
+ Users,
2257
+ Video,
2258
+ VideoOff,
2259
+ Volume,
2260
+ Volume1,
2261
+ Volume2,
2262
+ VolumeX,
2263
+ Watch,
2264
+ Wifi,
2265
+ WifiOff,
2266
+ Wind,
2267
+ X,
2268
+ XCircle,
2269
+ Youtube,
2270
+ Zap,
2271
+ badgeVariants,
2272
+ buttonVariants,
2273
+ cn,
2274
+ toast,
2275
+ toggleVariants,
2276
+ useTheme
2277
+ });
2278
+ //# sourceMappingURL=index.cjs.map