@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/LICENSE.md +7 -0
- package/README.md +225 -0
- package/dist/index.cjs +2278 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +901 -0
- package/dist/index.d.ts +901 -0
- package/dist/index.js +2155 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +2 -0
- package/package.json +94 -0
package/dist/index.d.cts
ADDED
|
@@ -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 };
|