@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.
@@ -0,0 +1,901 @@
1
+ import * as React from 'react';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { LucideIcon } from 'lucide-react';
7
+ export { Activity, AlertCircle, AlertTriangle, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Award, BarChart, BarChart2, Battery, BatteryCharging, BatteryFull, BatteryLow, Bell, BellOff, Bluetooth, BookOpen, Bookmark, Bug, Building, Building2, Calendar, CalendarCheck, CalendarDays, CalendarMinus, CalendarPlus, CalendarX, Camera, CameraOff, Check, CheckCircle, CheckCircle2, CheckCircle as CheckWaves, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsDown, ChevronsLeft, ChevronsRight, ChevronsUp, Clock, Cloud, CloudDrizzle, CloudLightning, CloudRain, CloudSnow, Code, Code2, Cog, Columns, Compass, Copy, Cpu, CreditCard, Database, DollarSign, MoreHorizontal as Dots, Download, Edit, Edit2, Edit3, ExternalLink, Eye, EyeOff, Facebook, Figma, File, FileImage, FilePlus, FileText, Filter, Flag, Folder, FolderOpen, FolderPlus, Gift, GitBranch, GitCommit, GitMerge, GitPullRequest, Github, Globe, Grid, Heart, HelpCircle, Home, Image, Info, Instagram, Key, Laptop, Layout, LayoutGrid, LayoutList, LineChart, Link, Link2, Linkedin, List, Loader, Loader2, Lock, LogIn, LogOut, Mail, Map, MapPin, Maximize, Maximize2, Menu, MessageCircle, MessageSquare, Mic, MicOff, Minimize, Minimize2, Minus, Monitor, Moon, MoreHorizontal, MoreVertical, Music, Navigation, Navigation2, Package, PanelLeft, PanelRight, Paperclip, Pause, Pen, Phone, PhoneCall, PhoneOff, PieChart, Play, Plus, RefreshCw, RotateCcw, RotateCw, Save, Search, Send, Server, Settings, Share, Share2, Shield, ShieldCheck, ShoppingBag, ShoppingCart, Sidebar, SkipBack, SkipForward, Smartphone, Square, Star, Store, Sun, Tablet, Tag, Terminal, Trash, Trash2, TrendingDown, TrendingUp, Tv, Twitch, Twitter, Unlock, Upload, User, UserCheck, UserMinus, UserPlus, UserX, Users, Video, VideoOff, Volume, Volume1, Volume2, VolumeX, Watch, Wifi, WifiOff, Wind, X, XCircle, Youtube, Zap } from 'lucide-react';
8
+ import * as SelectPrimitive from '@radix-ui/react-select';
9
+ export { SelectContentProps, SelectGroupProps, SelectItemProps, SelectLabelProps, SelectProps, SelectSeparatorProps, SelectTriggerProps, SelectValueProps } from '@radix-ui/react-select';
10
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
11
+ export { SeparatorProps } from '@radix-ui/react-separator';
12
+ import * as SliderPrimitive from '@radix-ui/react-slider';
13
+ export { SliderProps } from '@radix-ui/react-slider';
14
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
15
+ export { SwitchProps } from '@radix-ui/react-switch';
16
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
17
+ export { TabsProps } from '@radix-ui/react-tabs';
18
+ import { Toaster as Toaster$1 } from 'sonner';
19
+ export { Toaster, toast } from 'sonner';
20
+ import * as TogglePrimitive from '@radix-ui/react-toggle';
21
+ import { ClassValue } from 'clsx';
22
+
23
+ /**
24
+ * Accordion Component
25
+ *
26
+ * A vertically stacked set of interactive headings that each reveal a section of content.
27
+ *
28
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2643:1487
29
+ *
30
+ * @see https://ui.shadcn.com/docs/components/accordion
31
+ * @see https://www.radix-ui.com/docs/primitives/components/accordion
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * <Accordion type="single" collapsible>
36
+ * <AccordionItem value="item-1">
37
+ * <AccordionTrigger>What is a micro-interaction?</AccordionTrigger>
38
+ * <AccordionContent>
39
+ * Micro-interactions are events which have one main task — a single purpose — and they are found all over your device and within apps.
40
+ * </AccordionContent>
41
+ * </AccordionItem>
42
+ * </Accordion>
43
+ * ```
44
+ */
45
+ declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
46
+ declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
47
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
48
+ declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
49
+
50
+ /**
51
+ * Alert Component
52
+ *
53
+ * Displays a callout for user attention.
54
+ *
55
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=628:2411
56
+ *
57
+ * @see https://ui.shadcn.com/docs/components/alert
58
+ *
59
+ * @example
60
+ * ```tsx
61
+ * <Alert>
62
+ * <AlertTitle>Heads up!</AlertTitle>
63
+ * <AlertDescription>
64
+ * You can add components to your app using the cli.
65
+ * </AlertDescription>
66
+ * </Alert>
67
+ * ```
68
+ */
69
+ declare const Alert: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
70
+ variant?: "default" | "destructive" | null | undefined;
71
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
72
+ declare const AlertTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
73
+ declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
74
+
75
+ /**
76
+ * AlertDialog Component
77
+ *
78
+ * A modal dialog that interrupts the user with important content and expects a response.
79
+ *
80
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2673-1596
81
+ *
82
+ * @see https://ui.shadcn.com/docs/components/alert-dialog
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * <AlertDialog open={isOpen} onOpenChange={setIsOpen}>
87
+ * <AlertDialogContent>
88
+ * <AlertDialogHeader>
89
+ * <AlertDialogTitle>Delete Account?</AlertDialogTitle>
90
+ * <AlertDialogDescription>
91
+ * Deleting your account is irreversible and will erase all your data.
92
+ * </AlertDialogDescription>
93
+ * </AlertDialogHeader>
94
+ * <AlertDialogFooter>
95
+ * <AlertDialogCancel>Cancel</AlertDialogCancel>
96
+ * <AlertDialogAction>Continue</AlertDialogAction>
97
+ * </AlertDialogFooter>
98
+ * </AlertDialogContent>
99
+ * </AlertDialog>
100
+ * ```
101
+ */
102
+ interface AlertDialogProps {
103
+ open?: boolean;
104
+ onOpenChange?: (open: boolean) => void;
105
+ children: React.ReactNode;
106
+ }
107
+ declare const AlertDialog: {
108
+ ({ open, onOpenChange, children }: AlertDialogProps): react_jsx_runtime.JSX.Element | null;
109
+ displayName: string;
110
+ };
111
+ interface AlertDialogContentProps extends React.HTMLAttributes<HTMLDivElement> {
112
+ onOpenChange?: (open: boolean) => void;
113
+ }
114
+ declare const AlertDialogContent: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
115
+ declare const AlertDialogHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
116
+ declare const AlertDialogTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
117
+ declare const AlertDialogDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
118
+ declare const AlertDialogFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
119
+ declare const AlertDialogCancel: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
120
+ declare const AlertDialogAction: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
121
+
122
+ /**
123
+ * Avatar Component
124
+ *
125
+ * An image element with a fallback for representing the user.
126
+ *
127
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2673-1641
128
+ *
129
+ * @see https://ui.shadcn.com/docs/components/avatar
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * <Avatar>
134
+ * <AvatarImage src="https://example.com/avatar.jpg" alt="User" />
135
+ * <AvatarFallback>UN</AvatarFallback>
136
+ * </Avatar>
137
+ * ```
138
+ */
139
+ declare const Avatar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
140
+ declare const AvatarImage: React.ForwardRefExoticComponent<React.ImgHTMLAttributes<HTMLImageElement> & React.RefAttributes<HTMLImageElement>>;
141
+ declare const AvatarFallback: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
142
+
143
+ /**
144
+ * Badge variants using class-variance-authority
145
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=620:965
146
+ */
147
+ declare const badgeVariants: (props?: ({
148
+ variant?: "default" | "destructive" | "secondary" | "outline" | "success" | null | undefined;
149
+ size?: "sm" | "md" | null | undefined;
150
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
151
+ interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
152
+ }
153
+ /**
154
+ * Badge Component
155
+ *
156
+ * Displays a badge or a component that looks like a badge.
157
+ *
158
+ * @see https://ui.shadcn.com/docs/components/badge
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * <Badge>Default</Badge>
163
+ * <Badge variant="secondary">Secondary</Badge>
164
+ * <Badge variant="destructive">Error</Badge>
165
+ * <Badge variant="outline">Outline</Badge>
166
+ * <Badge variant="success">Success</Badge>
167
+ * <Badge size="md">Larger Badge</Badge>
168
+ * ```
169
+ */
170
+ declare function Badge({ className, variant, size, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
171
+
172
+ /**
173
+ * Breadcrumb Component
174
+ *
175
+ * Displays the path to the current resource using a hierarchy of links.
176
+ *
177
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2673-1696
178
+ *
179
+ * @see https://ui.shadcn.com/docs/components/breadcrumb
180
+ *
181
+ * @example
182
+ * ```tsx
183
+ * <Breadcrumb>
184
+ * <BreadcrumbList>
185
+ * <BreadcrumbItem>
186
+ * <BreadcrumbLink href="/">Home</BreadcrumbLink>
187
+ * </BreadcrumbItem>
188
+ * <BreadcrumbSeparator />
189
+ * <BreadcrumbItem>
190
+ * <BreadcrumbLink href="/docs">Docs</BreadcrumbLink>
191
+ * </BreadcrumbItem>
192
+ * <BreadcrumbSeparator />
193
+ * <BreadcrumbItem>
194
+ * <BreadcrumbPage>Current</BreadcrumbPage>
195
+ * </BreadcrumbItem>
196
+ * </BreadcrumbList>
197
+ * </Breadcrumb>
198
+ * ```
199
+ */
200
+ declare const Breadcrumb: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
201
+ separator?: React.ReactNode;
202
+ } & React.RefAttributes<HTMLElement>>;
203
+ declare const BreadcrumbList: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
204
+ declare const BreadcrumbItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
205
+ declare const BreadcrumbLink: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
206
+ declare const BreadcrumbPage: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
207
+ declare const BreadcrumbSeparator: {
208
+ ({ children, className, ...props }: React.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
209
+ displayName: string;
210
+ };
211
+ declare const BreadcrumbEllipsis: {
212
+ ({ className, ...props }: React.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
213
+ displayName: string;
214
+ };
215
+
216
+ /**
217
+ * Button variants using class-variance-authority
218
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2674-1721
219
+ */
220
+ declare const buttonVariants: (props?: ({
221
+ variant?: "link" | "default" | "destructive" | "secondary" | "outline" | "success" | "destructive-subtle" | "secondary-outline" | "ghost" | "side-panel" | null | undefined;
222
+ size?: "default" | "sm" | "icon" | "lg" | null | undefined;
223
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
224
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
225
+ asChild?: boolean;
226
+ }
227
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
228
+
229
+ /**
230
+ * Button Group Component
231
+ *
232
+ * A container for grouping multiple buttons together with consistent spacing.
233
+ *
234
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=4720-4795
235
+ *
236
+ * @example
237
+ * ```tsx
238
+ * <ButtonGroup>
239
+ * <Button variant="outline">Cancel</Button>
240
+ * <Button>Save</Button>
241
+ * </ButtonGroup>
242
+ * ```
243
+ *
244
+ * @example
245
+ * ```tsx
246
+ * <ButtonGroup orientation="vertical">
247
+ * <Button>First</Button>
248
+ * <Button>Second</Button>
249
+ * <Button>Third</Button>
250
+ * </ButtonGroup>
251
+ * ```
252
+ */
253
+ interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement> {
254
+ /**
255
+ * The orientation of the button group
256
+ * @default "horizontal"
257
+ */
258
+ orientation?: 'horizontal' | 'vertical';
259
+ }
260
+ declare const ButtonGroup: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLDivElement>>;
261
+
262
+ /**
263
+ * Card Component
264
+ *
265
+ * Displays a card with header, content, and footer.
266
+ *
267
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2778-1195
268
+ *
269
+ * @see https://ui.shadcn.com/docs/components/card
270
+ *
271
+ * @example
272
+ * ```tsx
273
+ * <Card>
274
+ * <CardHeader>
275
+ * <CardTitle>Card Title</CardTitle>
276
+ * <CardDescription>Card Description</CardDescription>
277
+ * </CardHeader>
278
+ * <CardContent>
279
+ * <p>Card Content</p>
280
+ * </CardContent>
281
+ * <CardFooter>
282
+ * <Button>Action</Button>
283
+ * </CardFooter>
284
+ * </Card>
285
+ * ```
286
+ */
287
+ declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
288
+ declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
289
+ declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
290
+ declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
291
+ declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
292
+ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
293
+
294
+ declare const Carousel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
295
+ interface CarouselContentProps extends React.HTMLAttributes<HTMLDivElement> {
296
+ setTotalItems?: (count: number) => void;
297
+ }
298
+ declare const CarouselContent: React.ForwardRefExoticComponent<CarouselContentProps & React.RefAttributes<HTMLDivElement>>;
299
+ declare const CarouselItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
300
+ declare const CarouselPrevious: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
301
+ declare const CarouselNext: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
302
+
303
+ /**
304
+ * Checkbox Component
305
+ *
306
+ * A control that allows the user to toggle between checked and not checked.
307
+ *
308
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2674-1733
309
+ *
310
+ * @see https://ui.shadcn.com/docs/components/checkbox
311
+ *
312
+ * @example
313
+ * ```tsx
314
+ * <Checkbox id="terms" />
315
+ * <label htmlFor="terms">Accept terms and conditions</label>
316
+ * ```
317
+ */
318
+ interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
319
+ onCheckedChange?: (checked: boolean) => void;
320
+ }
321
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
322
+
323
+ /**
324
+ * Dialog Component
325
+ *
326
+ * A window overlaid on either the primary window or another dialog window.
327
+ *
328
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2730-1719
329
+ *
330
+ * @see https://ui.shadcn.com/docs/components/dialog
331
+ *
332
+ * @example
333
+ * ```tsx
334
+ * <Dialog open={isOpen} onOpenChange={setIsOpen}>
335
+ * <DialogContent>
336
+ * <DialogHeader>
337
+ * <DialogTitle>Dialog Title</DialogTitle>
338
+ * <DialogDescription>Dialog Description</DialogDescription>
339
+ * </DialogHeader>
340
+ * <div>Main content</div>
341
+ * <DialogFooter>
342
+ * <Button>Action</Button>
343
+ * </DialogFooter>
344
+ * </DialogContent>
345
+ * </Dialog>
346
+ * ```
347
+ */
348
+ interface DialogProps {
349
+ open?: boolean;
350
+ onOpenChange?: (open: boolean) => void;
351
+ children: React.ReactNode;
352
+ }
353
+ declare const Dialog: {
354
+ ({ open, onOpenChange, children }: DialogProps): react_jsx_runtime.JSX.Element | null;
355
+ displayName: string;
356
+ };
357
+ interface DialogContentProps extends React.HTMLAttributes<HTMLDivElement> {
358
+ onOpenChange?: (open: boolean) => void;
359
+ }
360
+ declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
361
+ declare const DialogHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
362
+ declare const DialogTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
363
+ declare const DialogDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
364
+ declare const DialogFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
365
+
366
+ /**
367
+ * Drawer Component
368
+ *
369
+ * A window overlaid on either the primary window or another dialog window,
370
+ * rendering the content underneath inert. Slides up from the bottom of the screen.
371
+ *
372
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2786-829
373
+ *
374
+ * @see https://ui.shadcn.com/docs/components/drawer
375
+ *
376
+ * @example
377
+ * ```tsx
378
+ * <Drawer open={isOpen} onOpenChange={setIsOpen}>
379
+ * <DrawerContent>
380
+ * <DrawerHeader>
381
+ * <DrawerTitle>Drawer Title</DrawerTitle>
382
+ * <DrawerDescription>Drawer Description</DrawerDescription>
383
+ * </DrawerHeader>
384
+ * <div>Main content</div>
385
+ * <DrawerFooter>
386
+ * <Button>Action</Button>
387
+ * </DrawerFooter>
388
+ * </DrawerContent>
389
+ * </Drawer>
390
+ * ```
391
+ */
392
+ interface DrawerProps {
393
+ open?: boolean;
394
+ onOpenChange?: (open: boolean) => void;
395
+ children: React.ReactNode;
396
+ }
397
+ declare const Drawer: {
398
+ ({ open, onOpenChange, children }: DrawerProps): react_jsx_runtime.JSX.Element | null;
399
+ displayName: string;
400
+ };
401
+ interface DrawerContentProps extends React.HTMLAttributes<HTMLDivElement> {
402
+ onOpenChange?: (open: boolean) => void;
403
+ }
404
+ declare const DrawerContent: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
405
+ declare const DrawerHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
406
+ declare const DrawerTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
407
+ declare const DrawerDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
408
+ declare const DrawerFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
409
+
410
+ /**
411
+ * Header Component
412
+ *
413
+ * A page header component that combines breadcrumbs, title, actions, and supporting text.
414
+ *
415
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=4741-3916
416
+ *
417
+ * @example
418
+ * ```tsx
419
+ * <Header>
420
+ * <HeaderBreadcrumbs>
421
+ * <Breadcrumb>
422
+ * <BreadcrumbList>
423
+ * <BreadcrumbItem>
424
+ * <BreadcrumbLink href="/">Home</BreadcrumbLink>
425
+ * </BreadcrumbItem>
426
+ * <BreadcrumbSeparator />
427
+ * <BreadcrumbItem>
428
+ * <BreadcrumbPage>Current Page</BreadcrumbPage>
429
+ * </BreadcrumbItem>
430
+ * </BreadcrumbList>
431
+ * </Breadcrumb>
432
+ * </HeaderBreadcrumbs>
433
+ * <HeaderContent>
434
+ * <HeaderTitle>Page Title</HeaderTitle>
435
+ * <HeaderActions>
436
+ * <Button>Action</Button>
437
+ * </HeaderActions>
438
+ * </HeaderContent>
439
+ * <HeaderDescription>Supporting text goes here</HeaderDescription>
440
+ * </Header>
441
+ * ```
442
+ */
443
+ declare const Header: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>>;
444
+ declare const HeaderBreadcrumbs: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
445
+ declare const HeaderContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
446
+ declare const HeaderTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
447
+ declare const HeaderActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
448
+ declare const HeaderDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
449
+
450
+ /**
451
+ * Icon Component
452
+ *
453
+ * A wrapper around lucide-react icons to ensure consistent styling across the design system.
454
+ * All icons are 24x24px by default to match the Figma design system.
455
+ *
456
+ * @see https://lucide.dev/icons
457
+ *
458
+ * @example
459
+ * ```tsx
460
+ * import { Icon } from '@circuitandchisel/design-system';
461
+ * import { AlertCircle } from 'lucide-react';
462
+ *
463
+ * <Icon icon={AlertCircle} />
464
+ * <Icon icon={AlertCircle} size={16} />
465
+ * <Icon icon={AlertCircle} className="text-destructive" />
466
+ * ```
467
+ */
468
+ interface IconProps extends Omit<React.SVGProps<SVGSVGElement>, 'ref'> {
469
+ /** The lucide icon component to render */
470
+ icon: LucideIcon;
471
+ /** Size of the icon in pixels. Defaults to 24 */
472
+ size?: number;
473
+ }
474
+ declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
475
+
476
+ /**
477
+ * Radio Component
478
+ *
479
+ * A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time.
480
+ *
481
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2674-2166
482
+ *
483
+ * @see https://ui.shadcn.com/docs/components/radio-group
484
+ *
485
+ * @example
486
+ * ```tsx
487
+ * <Radio name="notify" id="notify-yes" value="yes" />
488
+ * <label htmlFor="notify-yes">Notify me</label>
489
+ * ```
490
+ */
491
+ interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
492
+ onCheckedChange?: (checked: boolean) => void;
493
+ }
494
+ declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
495
+
496
+ /**
497
+ * Select Component
498
+ *
499
+ * Displays a list of options for the user to pick from—triggered by a button.
500
+ *
501
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2695-404
502
+ *
503
+ * @see https://ui.shadcn.com/docs/components/select
504
+ * @see https://www.radix-ui.com/docs/primitives/components/select
505
+ *
506
+ * @example
507
+ * ```tsx
508
+ * <Select>
509
+ * <SelectTrigger className="w-[220px]">
510
+ * <SelectValue placeholder="Select option" />
511
+ * </SelectTrigger>
512
+ * <SelectContent>
513
+ * <SelectGroup>
514
+ * <SelectLabel>Fruits</SelectLabel>
515
+ * <SelectItem value="apple">Apple</SelectItem>
516
+ * <SelectItem value="banana">Banana</SelectItem>
517
+ * <SelectItem value="blueberry">Blueberry</SelectItem>
518
+ * </SelectGroup>
519
+ * <SelectSeparator />
520
+ * <SelectGroup>
521
+ * <SelectItem value="grapes">Grapes</SelectItem>
522
+ * <SelectItem value="pineapple">Pineapple</SelectItem>
523
+ * </SelectGroup>
524
+ * </SelectContent>
525
+ * </Select>
526
+ * ```
527
+ */
528
+ declare const Select: React.FC<SelectPrimitive.SelectProps>;
529
+ declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
530
+ declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
531
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
532
+ declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
533
+ declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
534
+ declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
535
+ declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
536
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
537
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
538
+
539
+ /**
540
+ * Separator Component
541
+ *
542
+ * Visually or semantically separates content.
543
+ *
544
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2723-432
545
+ *
546
+ * @see https://ui.shadcn.com/docs/components/separator
547
+ * @see https://www.radix-ui.com/docs/primitives/components/separator
548
+ *
549
+ * @example
550
+ * ```tsx
551
+ * <div>
552
+ * <p>Item 1</p>
553
+ * <Separator />
554
+ * <p>Item 2</p>
555
+ * </div>
556
+ * ```
557
+ *
558
+ * @example
559
+ * ```tsx
560
+ * <div className="flex h-5 items-center">
561
+ * <span>Link 1</span>
562
+ * <Separator orientation="vertical" />
563
+ * <span>Link 2</span>
564
+ * </div>
565
+ * ```
566
+ */
567
+ declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
568
+
569
+ /**
570
+ * Sheet Component
571
+ *
572
+ * Extends Dialog to display content that complements the main content of the screen.
573
+ * A slide-in panel that can appear from any side of the screen.
574
+ *
575
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2774-707
576
+ *
577
+ * @see https://ui.shadcn.com/docs/components/sheet
578
+ *
579
+ * @example
580
+ * ```tsx
581
+ * <Sheet open={isOpen} onOpenChange={setIsOpen}>
582
+ * <SheetContent>
583
+ * <SheetHeader>
584
+ * <SheetTitle>Sheet Title</SheetTitle>
585
+ * <SheetDescription>Sheet Description</SheetDescription>
586
+ * </SheetHeader>
587
+ * <div>Main content</div>
588
+ * <SheetFooter>
589
+ * <Button>Action</Button>
590
+ * </SheetFooter>
591
+ * </SheetContent>
592
+ * </Sheet>
593
+ * ```
594
+ */
595
+ interface SheetProps {
596
+ open?: boolean;
597
+ onOpenChange?: (open: boolean) => void;
598
+ children: React.ReactNode;
599
+ }
600
+ declare const Sheet: {
601
+ ({ open, onOpenChange, children }: SheetProps): react_jsx_runtime.JSX.Element | null;
602
+ displayName: string;
603
+ };
604
+ type SheetSide = 'top' | 'right' | 'bottom' | 'left';
605
+ interface SheetContentProps extends React.HTMLAttributes<HTMLDivElement> {
606
+ onOpenChange?: (open: boolean) => void;
607
+ side?: SheetSide;
608
+ }
609
+ declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
610
+ declare const SheetHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
611
+ declare const SheetTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
612
+ declare const SheetDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
613
+ declare const SheetFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
614
+ declare const SheetClose: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
615
+ onOpenChange?: (open: boolean) => void;
616
+ } & React.RefAttributes<HTMLButtonElement>>;
617
+
618
+ /**
619
+ * Skeleton Component
620
+ *
621
+ * Display a placeholder preview of content before the data loads.
622
+ *
623
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2824-2174
624
+ *
625
+ * @see https://ui.shadcn.com/docs/components/skeleton
626
+ *
627
+ * @example
628
+ * ```tsx
629
+ * <div className="flex flex-col gap-2">
630
+ * <Skeleton className="h-32 w-60" />
631
+ * <Skeleton className="h-4 w-60" />
632
+ * <Skeleton className="h-4 w-48" />
633
+ * </div>
634
+ * ```
635
+ *
636
+ * @example
637
+ * ```tsx
638
+ * // Circle skeleton for avatars
639
+ * <Skeleton className="h-10 w-10 rounded-full" />
640
+ * ```
641
+ */
642
+ declare const Skeleton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
643
+
644
+ /**
645
+ * Slider Component
646
+ *
647
+ * An input where the user selects a value from within a given range.
648
+ *
649
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2674-2172
650
+ *
651
+ * @see https://ui.shadcn.com/docs/components/slider
652
+ * @see https://www.radix-ui.com/docs/primitives/components/slider
653
+ *
654
+ * @example
655
+ * ```tsx
656
+ * <Slider defaultValue={[50]} max={100} step={1} />
657
+ * ```
658
+ *
659
+ * @example
660
+ * ```tsx
661
+ * // Range slider with multiple values
662
+ * <Slider defaultValue={[25, 75]} max={100} step={1} />
663
+ * ```
664
+ */
665
+ declare const Slider: React.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
666
+
667
+ /**
668
+ * Switch Component
669
+ *
670
+ * A control that allows the user to toggle between checked and not checked.
671
+ *
672
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2674-2178
673
+ *
674
+ * @see https://ui.shadcn.com/docs/components/switch
675
+ * @see https://www.radix-ui.com/docs/primitives/components/switch
676
+ *
677
+ * @example
678
+ * ```tsx
679
+ * <Switch />
680
+ * ```
681
+ *
682
+ * @example
683
+ * ```tsx
684
+ * <div className="flex items-center gap-2">
685
+ * <Switch id="airplane-mode" />
686
+ * <label htmlFor="airplane-mode">Airplane Mode</label>
687
+ * </div>
688
+ * ```
689
+ */
690
+ declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
691
+
692
+ /**
693
+ * Table Component
694
+ *
695
+ * A responsive table component with semantic HTML.
696
+ *
697
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2814-1241
698
+ *
699
+ * @see https://ui.shadcn.com/docs/components/table
700
+ *
701
+ * @example
702
+ * ```tsx
703
+ * <Table>
704
+ * <TableHeader>
705
+ * <TableRow>
706
+ * <TableHead>Name</TableHead>
707
+ * <TableHead>Status</TableHead>
708
+ * </TableRow>
709
+ * </TableHeader>
710
+ * <TableBody>
711
+ * <TableRow>
712
+ * <TableCell>John Doe</TableCell>
713
+ * <TableCell>Active</TableCell>
714
+ * </TableRow>
715
+ * </TableBody>
716
+ * </Table>
717
+ * ```
718
+ */
719
+ declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
720
+ declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
721
+ declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
722
+ declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
723
+ declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
724
+ declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
725
+ declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
726
+ declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
727
+
728
+ /**
729
+ * Tabs Component
730
+ *
731
+ * A set of layered sections of content—known as tab panels—that are displayed one at a time.
732
+ *
733
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2737-489
734
+ *
735
+ * @see https://ui.shadcn.com/docs/components/tabs
736
+ * @see https://www.radix-ui.com/docs/primitives/components/tabs
737
+ *
738
+ * @example
739
+ * ```tsx
740
+ * <Tabs defaultValue="account">
741
+ * <TabsList>
742
+ * <TabsTrigger value="account">Account</TabsTrigger>
743
+ * <TabsTrigger value="password">Password</TabsTrigger>
744
+ * </TabsList>
745
+ * <TabsContent value="account">Account content</TabsContent>
746
+ * <TabsContent value="password">Password content</TabsContent>
747
+ * </Tabs>
748
+ * ```
749
+ */
750
+ declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
751
+ declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
752
+ declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
753
+ declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
754
+
755
+ /**
756
+ * Textarea Component
757
+ *
758
+ * Displays a form textarea or a component that looks like a textarea.
759
+ *
760
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2674-2219
761
+ *
762
+ * @see https://ui.shadcn.com/docs/components/textarea
763
+ *
764
+ * @example
765
+ * ```tsx
766
+ * <Textarea placeholder="Type your message here." />
767
+ * ```
768
+ */
769
+ type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
770
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
771
+
772
+ /**
773
+ * Toast Component
774
+ *
775
+ * A succinct message that is displayed temporarily.
776
+ *
777
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2806-824
778
+ *
779
+ * @see https://ui.shadcn.com/docs/components/sonner
780
+ * @see https://sonner.emilkowal.ski/
781
+ *
782
+ * @example
783
+ * ```tsx
784
+ * import { Toaster, toast } from '@/components/Toast';
785
+ *
786
+ * // Add Toaster to your app root
787
+ * <Toaster />
788
+ *
789
+ * // Show toasts
790
+ * toast('Event has been created')
791
+ * toast.success('Event has been created')
792
+ * toast.error('Event creation failed')
793
+ * ```
794
+ */
795
+ type ToasterProps = React.ComponentProps<typeof Toaster$1>;
796
+ declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Element;
797
+
798
+ /**
799
+ * Toggle Component
800
+ *
801
+ * A two-state button that can be either on or off.
802
+ *
803
+ * Based on Figma component: https://www.figma.com/design/nadcKNlrnZUHbbLwm9GdK4?node-id=2775-856
804
+ *
805
+ * @see https://ui.shadcn.com/docs/components/toggle
806
+ * @see https://www.radix-ui.com/docs/primitives/components/toggle
807
+ *
808
+ * @example
809
+ * ```tsx
810
+ * <Toggle aria-label="Toggle bold">
811
+ * <Bold className="h-4 w-4" />
812
+ * </Toggle>
813
+ * ```
814
+ */
815
+ declare const toggleVariants: (props?: ({
816
+ variant?: "default" | "outline" | null | undefined;
817
+ size?: "default" | "sm" | "lg" | null | undefined;
818
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
819
+ interface ToggleProps extends React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root>, VariantProps<typeof toggleVariants> {
820
+ }
821
+ declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
822
+
823
+ /**
824
+ * Utility function to merge class names
825
+ * Combines clsx for conditional classes
826
+ */
827
+ declare function cn(...inputs: ClassValue[]): string;
828
+
829
+ /**
830
+ * Available theme options
831
+ */
832
+ type Theme = 'light' | 'dark' | 'atxp' | 'dbg' | 'auto';
833
+ /**
834
+ * Theme context value
835
+ */
836
+ interface ThemeContextValue {
837
+ theme: Theme;
838
+ setTheme: (theme: Theme) => void;
839
+ actualTheme: 'light' | 'dark' | 'atxp' | 'dbg';
840
+ }
841
+ /**
842
+ * Props for ThemeProvider component
843
+ */
844
+ interface ThemeProviderProps {
845
+ children: React.ReactNode;
846
+ /**
847
+ * Default theme to use
848
+ * @default 'auto'
849
+ */
850
+ defaultTheme?: Theme;
851
+ /**
852
+ * Storage key for persisting theme preference
853
+ * @default 'cc-theme'
854
+ */
855
+ storageKey?: string;
856
+ /**
857
+ * Enable localStorage persistence
858
+ * @default true
859
+ */
860
+ enablePersistence?: boolean;
861
+ }
862
+ /**
863
+ * ThemeProvider Component
864
+ *
865
+ * Provides theme context and manages theme switching for the application.
866
+ *
867
+ * @example
868
+ * ```tsx
869
+ * import { ThemeProvider } from '@circuitandchisel/design-system';
870
+ *
871
+ * function App() {
872
+ * return (
873
+ * <ThemeProvider defaultTheme="auto" enablePersistence>
874
+ * <YourApp />
875
+ * </ThemeProvider>
876
+ * );
877
+ * }
878
+ * ```
879
+ */
880
+ declare function ThemeProvider({ children, defaultTheme, storageKey, enablePersistence, }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
881
+ /**
882
+ * useTheme Hook
883
+ *
884
+ * Access and control the current theme from any component.
885
+ *
886
+ * @example
887
+ * ```tsx
888
+ * function ThemeToggle() {
889
+ * const { theme, setTheme, actualTheme } = useTheme();
890
+ *
891
+ * return (
892
+ * <button onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}>
893
+ * Current theme: {actualTheme}
894
+ * </button>
895
+ * );
896
+ * }
897
+ * ```
898
+ */
899
+ declare function useTheme(): ThemeContextValue;
900
+
901
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, type CheckboxProps, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, type DialogProps, DialogTitle, Drawer, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, Header, HeaderActions, HeaderBreadcrumbs, HeaderContent, HeaderDescription, HeaderTitle, Icon, Radio, type RadioProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, type SheetProps, SheetTitle, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, type Theme, ThemeProvider, type ThemeProviderProps, Toaster as Toast, Toggle, type ToggleProps, badgeVariants, buttonVariants, cn, toggleVariants, useTheme };