@raxrai/stylelab-ui 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, HTMLAttributes, ElementType, AnchorHTMLAttributes, ButtonHTMLAttributes, InputHTMLAttributes, RefObject } from 'react';
2
+ import { ReactNode, HTMLAttributes, ElementType, AnchorHTMLAttributes, ButtonHTMLAttributes, InputHTMLAttributes, Ref, RefCallback, RefObject } from 'react';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import { ClassValue } from 'clsx';
@@ -28,9 +28,15 @@ type AccordionProps = {
28
28
  style?: React.CSSProperties;
29
29
  theme?: StyleLabTheme;
30
30
  };
31
- declare function Accordion({ items, allowMultiple, defaultOpenIds, className, style, theme: themeProp, }: AccordionProps): react.JSX.Element;
31
+ declare const Accordion: react.ForwardRefExoticComponent<AccordionProps & react.RefAttributes<HTMLDivElement>>;
32
32
 
33
33
  type AlertIntent = "default" | "info" | "success" | "warning" | "danger";
34
+ type AlertProps = HTMLAttributes<HTMLDivElement> & {
35
+ intent?: AlertIntent;
36
+ title?: ReactNode;
37
+ children?: ReactNode;
38
+ theme?: StyleLabTheme;
39
+ };
34
40
  declare const Alert: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
35
41
  intent?: AlertIntent;
36
42
  title?: ReactNode;
@@ -38,6 +44,13 @@ declare const Alert: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivEleme
38
44
  theme?: StyleLabTheme;
39
45
  } & react.RefAttributes<HTMLDivElement>>;
40
46
 
47
+ type AvatarProps = HTMLAttributes<HTMLDivElement> & {
48
+ src?: string | null;
49
+ alt?: string;
50
+ /** Fallback when no image: initials (e.g. "JD") or any string */
51
+ fallback?: string;
52
+ theme?: StyleLabTheme;
53
+ };
41
54
  declare const Avatar: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
42
55
  src?: string | null;
43
56
  alt?: string;
@@ -52,6 +65,17 @@ type AvatarGroupProps = HTMLAttributes<HTMLDivElement> & {
52
65
  };
53
66
  declare function AvatarGroup({ children, max, className, theme: themeProp, ...props }: AvatarGroupProps): react.JSX.Element;
54
67
 
68
+ declare const badgeVariants: (props?: ({
69
+ variant?: "default" | "success" | "warning" | "error" | null | undefined;
70
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
71
+ type BadgeProps = HTMLAttributes<HTMLSpanElement> & VariantProps<typeof badgeVariants> & {
72
+ dot?: boolean;
73
+ theme?: StyleLabTheme;
74
+ /** Override background (e.g. hex) when you need a specific color. */
75
+ bgOverride?: string;
76
+ /** Override text color (e.g. hex). */
77
+ textOverride?: string;
78
+ };
55
79
  declare const Badge: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
56
80
  variant?: "default" | "success" | "warning" | "error" | null | undefined;
57
81
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
@@ -63,11 +87,11 @@ declare const Badge: react.ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElem
63
87
  textOverride?: string;
64
88
  } & react.RefAttributes<HTMLSpanElement>>;
65
89
 
66
- declare function BentoGrid({ children, className, style, }: {
90
+ declare const BentoGrid: react.ForwardRefExoticComponent<{
67
91
  children: React.ReactNode;
68
92
  className?: string;
69
93
  style?: React.CSSProperties;
70
- }): react.JSX.Element;
94
+ } & react.RefAttributes<HTMLDivElement>>;
71
95
 
72
96
  type BreadcrumbItem = {
73
97
  label: ReactNode;
@@ -77,9 +101,10 @@ type BreadcrumbsProps = {
77
101
  items: BreadcrumbItem[];
78
102
  separator?: ReactNode;
79
103
  className?: string;
104
+ style?: React.CSSProperties;
80
105
  theme?: StyleLabTheme;
81
106
  };
82
- declare function Breadcrumbs({ items, separator, className, theme: themeProp, }: BreadcrumbsProps): react.JSX.Element;
107
+ declare const Breadcrumbs: react.ForwardRefExoticComponent<BreadcrumbsProps & react.RefAttributes<HTMLElement>>;
83
108
 
84
109
  declare const buttonVariants: (props?: ({
85
110
  size?: "sm" | "md" | "lg" | null | undefined;
@@ -108,9 +133,10 @@ type CalendarProps = {
108
133
  min?: Date;
109
134
  max?: Date;
110
135
  className?: string;
136
+ style?: React.CSSProperties;
111
137
  theme?: StyleLabTheme;
112
138
  };
113
- declare function Calendar({ value: controlledValue, defaultValue, onSelect, min, max, className, theme: themeProp, }: CalendarProps): react.JSX.Element;
139
+ declare const Calendar: react.ForwardRefExoticComponent<CalendarProps & react.RefAttributes<HTMLDivElement>>;
114
140
 
115
141
  declare const cardVariants: (props?: ({
116
142
  padding?: "none" | "sm" | "md" | null | undefined;
@@ -138,6 +164,23 @@ declare const Card: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElemen
138
164
  classNames?: CardClassNames;
139
165
  } & react.RefAttributes<HTMLDivElement>>;
140
166
 
167
+ type CommandItem = {
168
+ id: string;
169
+ label: string;
170
+ shortcut?: string;
171
+ onSelect: () => void;
172
+ };
173
+ type CommandPaletteProps = {
174
+ open: boolean;
175
+ onClose: () => void;
176
+ commands: CommandItem[];
177
+ placeholder?: string;
178
+ className?: string;
179
+ style?: React.CSSProperties;
180
+ theme?: StyleLabTheme;
181
+ };
182
+ declare const CommandPalette: react.ForwardRefExoticComponent<CommandPaletteProps & react.RefAttributes<HTMLDivElement>>;
183
+
141
184
  type DashboardNavItem = {
142
185
  href: string;
143
186
  label: string;
@@ -152,23 +195,26 @@ type DashboardShellProps = {
152
195
  onLogout?: () => void;
153
196
  logo?: ReactNode;
154
197
  className?: string;
198
+ style?: React.CSSProperties;
155
199
  };
156
- declare function DashboardShell({ children, navItems, adminNavItems, currentPath, userEmail, userRole, onLogout, logo, className, }: DashboardShellProps): react.JSX.Element;
200
+ declare const DashboardShell: react.ForwardRefExoticComponent<DashboardShellProps & react.RefAttributes<HTMLDivElement>>;
157
201
 
158
- type CommandItem = {
159
- id: string;
160
- label: string;
161
- shortcut?: string;
162
- onSelect: () => void;
202
+ type Column<T> = {
203
+ key: keyof T | string;
204
+ header: string;
205
+ render?: (row: T) => React.ReactNode;
163
206
  };
164
- type CommandPaletteProps = {
165
- open: boolean;
166
- onClose: () => void;
167
- commands: CommandItem[];
168
- placeholder?: string;
169
- theme?: StyleLabTheme;
207
+ type DataTableProps<T extends Record<string, unknown>> = {
208
+ columns: Column<T>[];
209
+ data: T[];
210
+ /** Return a unique key for each row (e.g. row.id). Defaults to row index. */
211
+ getRowKey?: (row: T, index: number) => string | number;
212
+ className?: string;
213
+ style?: React.CSSProperties;
170
214
  };
171
- declare function CommandPalette({ open, onClose, commands, placeholder, theme: themeProp, }: CommandPaletteProps): react.JSX.Element | null;
215
+ declare const DataTable: <T extends Record<string, unknown>>(props: DataTableProps<T> & {
216
+ ref?: React.Ref<HTMLDivElement>;
217
+ }) => React.ReactElement;
172
218
 
173
219
  type DocumentAccordionProps = {
174
220
  title: ReactNode;
@@ -184,20 +230,6 @@ type DocumentAccordionProps = {
184
230
  };
185
231
  declare function DocumentAccordion({ title, content, pdfUrl, defaultOpen, className, theme: themeProp, }: DocumentAccordionProps): react.JSX.Element;
186
232
 
187
- type Column<T> = {
188
- key: keyof T | string;
189
- header: string;
190
- render?: (row: T) => React.ReactNode;
191
- };
192
- declare function DataTable<T extends Record<string, unknown>>({ columns, data, getRowKey, className, style, }: {
193
- columns: Column<T>[];
194
- data: T[];
195
- /** Return a unique key for each row (e.g. row.id). Defaults to row index. */
196
- getRowKey?: (row: T, index: number) => string | number;
197
- className?: string;
198
- style?: React.CSSProperties;
199
- }): react.JSX.Element;
200
-
201
233
  type DropdownItem = {
202
234
  value: string;
203
235
  label: ReactNode;
@@ -225,19 +257,35 @@ type DropdownProps = {
225
257
  /** Slot classNames for trigger, popover, and item. */
226
258
  classNames?: DropdownClassNames;
227
259
  };
228
- declare function Dropdown({ trigger: triggerProp, placeholder, items, value: controlledValue, defaultValue, onValueChange, disabled, className, style, theme: themeProp, classNames, }: DropdownProps): react.JSX.Element;
260
+ declare const Dropdown: react.ForwardRefExoticComponent<DropdownProps & react.RefAttributes<HTMLDivElement>>;
229
261
 
230
262
  type FlashcardProps = {
231
263
  question: string;
232
264
  answer: string;
233
265
  } & HTMLAttributes<HTMLDivElement>;
234
- declare function Flashcard({ question, answer, className, ...props }: FlashcardProps): react.JSX.Element;
266
+ declare const Flashcard: react.ForwardRefExoticComponent<{
267
+ question: string;
268
+ answer: string;
269
+ } & HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
235
270
 
236
271
  type GraphicCardProps = {
237
272
  children: ReactNode;
238
273
  } & HTMLAttributes<HTMLDivElement>;
239
- declare function GraphicCard({ children, className, ...props }: GraphicCardProps): react.JSX.Element;
274
+ declare const GraphicCard: react.ForwardRefExoticComponent<{
275
+ children: ReactNode;
276
+ } & HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
240
277
 
278
+ declare const inputVariants: (props?: ({
279
+ size?: "sm" | "md" | "lg" | null | undefined;
280
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
281
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<typeof inputVariants> & {
282
+ label?: string;
283
+ error?: string;
284
+ helperText?: string;
285
+ prefix?: ReactNode;
286
+ suffix?: ReactNode;
287
+ theme?: StyleLabTheme;
288
+ };
241
289
  declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & VariantProps<(props?: ({
242
290
  size?: "sm" | "md" | "lg" | null | undefined;
243
291
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
@@ -262,7 +310,18 @@ type ModalProps = VariantProps<typeof modalVariants> & {
262
310
  children?: ReactNode;
263
311
  theme?: StyleLabTheme;
264
312
  };
265
- declare function Modal({ open, onClose, title, size, className, style, children, theme: themeProp, }: ModalProps): react.JSX.Element | null;
313
+ declare const Modal: react.ForwardRefExoticComponent<VariantProps<(props?: ({
314
+ size?: "sm" | "md" | "lg" | null | undefined;
315
+ } & class_variance_authority_types.ClassProp) | undefined) => string> & {
316
+ open: boolean;
317
+ onClose: () => void;
318
+ title?: string;
319
+ size?: "sm" | "md" | "lg";
320
+ className?: string;
321
+ style?: React.CSSProperties;
322
+ children?: ReactNode;
323
+ theme?: StyleLabTheme;
324
+ } & react.RefAttributes<HTMLDivElement>>;
266
325
 
267
326
  type NavbarItem = {
268
327
  href: string;
@@ -280,7 +339,7 @@ type NavbarProps = {
280
339
  className?: string;
281
340
  style?: React.CSSProperties;
282
341
  };
283
- declare function Navbar({ children, logo, items, right, className, style, }: NavbarProps): react.JSX.Element;
342
+ declare const Navbar: react.ForwardRefExoticComponent<NavbarProps & react.RefAttributes<HTMLElement>>;
284
343
 
285
344
  type Tier = {
286
345
  name: string;
@@ -290,12 +349,12 @@ type Tier = {
290
349
  cta: string;
291
350
  highlighted?: boolean;
292
351
  };
293
- declare function PricingCard({ tier, onSelect, className, style, }: {
352
+ declare const PricingCard: react.ForwardRefExoticComponent<{
294
353
  tier: Tier;
295
354
  onSelect?: () => void;
296
355
  className?: string;
297
356
  style?: React.CSSProperties;
298
- }): react.JSX.Element;
357
+ } & react.RefAttributes<HTMLDivElement>>;
299
358
 
300
359
  type ProgressBarProps = {
301
360
  value: number;
@@ -303,32 +362,52 @@ type ProgressBarProps = {
303
362
  segmented?: boolean;
304
363
  className?: string;
305
364
  style?: React.CSSProperties;
365
+ /** Accessible label for the progress bar (e.g. "Loading" or "Upload progress"). */
366
+ "aria-label"?: string;
306
367
  /** Override track background (e.g. hex). */
307
368
  trackColor?: string;
308
369
  /** Override fill/active bar color (e.g. hex). */
309
370
  activeColor?: string;
310
371
  };
311
- declare function ProgressBar({ value, max, segmented, className, style, trackColor, activeColor, }: ProgressBarProps): react.JSX.Element;
372
+ declare const ProgressBar: react.ForwardRefExoticComponent<ProgressBarProps & react.RefAttributes<HTMLDivElement>>;
312
373
 
313
- declare function SectionHeader({ title, subtitle, className, style, }: {
374
+ declare const SectionHeader: react.ForwardRefExoticComponent<{
314
375
  title: string;
315
376
  subtitle?: string;
316
377
  className?: string;
317
378
  style?: React.CSSProperties;
318
- }): react.JSX.Element;
379
+ } & react.RefAttributes<HTMLElement>>;
319
380
 
320
- declare function Sidebar({ children, className, style, }: {
381
+ declare const Sidebar: react.ForwardRefExoticComponent<{
321
382
  children: React.ReactNode;
322
383
  className?: string;
323
384
  style?: React.CSSProperties;
324
- }): react.JSX.Element;
385
+ } & react.RefAttributes<HTMLElement>>;
325
386
 
387
+ declare const skeletonVariants: (props?: ({
388
+ variant?: "circle" | "text" | "rectangle" | null | undefined;
389
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
390
+ type SkeletonProps = HTMLAttributes<HTMLDivElement> & VariantProps<typeof skeletonVariants> & {
391
+ theme?: StyleLabTheme;
392
+ };
326
393
  declare const Skeleton: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
327
394
  variant?: "circle" | "text" | "rectangle" | null | undefined;
328
395
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
329
396
  theme?: StyleLabTheme;
330
397
  } & react.RefAttributes<HTMLDivElement>>;
331
398
 
399
+ declare const sliderVariants: (props?: ({
400
+ size?: "sm" | "md" | "lg" | null | undefined;
401
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
402
+ type SliderProps = Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "defaultValue" | "onChange" | "size"> & VariantProps<typeof sliderVariants> & {
403
+ min?: number;
404
+ max?: number;
405
+ step?: number;
406
+ value?: number;
407
+ defaultValue?: number;
408
+ onValueChange?: (value: number) => void;
409
+ theme?: StyleLabTheme;
410
+ };
332
411
  declare const Slider: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange" | "size" | "defaultValue"> & VariantProps<(props?: ({
333
412
  size?: "sm" | "md" | "lg" | null | undefined;
334
413
  } & class_variance_authority_types.ClassProp) | undefined) => string> & {
@@ -341,7 +420,7 @@ declare const Slider: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<H
341
420
  theme?: StyleLabTheme;
342
421
  } & react.RefAttributes<HTMLInputElement>>;
343
422
 
344
- declare function StatsCard({ label, value, trend, className, style, }: {
423
+ declare const StatsCard: react.ForwardRefExoticComponent<{
345
424
  label: string;
346
425
  value: string | number;
347
426
  trend?: {
@@ -350,7 +429,7 @@ declare function StatsCard({ label, value, trend, className, style, }: {
350
429
  };
351
430
  className?: string;
352
431
  style?: React.CSSProperties;
353
- }): react.JSX.Element;
432
+ } & react.RefAttributes<HTMLDivElement>>;
354
433
 
355
434
  declare const tabsListVariants: (props?: ({} & class_variance_authority_types.ClassProp) | undefined) => string;
356
435
  type TabItem = {
@@ -367,14 +446,22 @@ type TabsProps = VariantProps<typeof tabsListVariants> & {
367
446
  style?: React.CSSProperties;
368
447
  theme?: StyleLabTheme;
369
448
  };
370
- declare function Tabs({ items, defaultValue, value: controlledValue, onValueChange, className, style, theme: themeProp, }: TabsProps): react.JSX.Element;
449
+ declare const Tabs: react.ForwardRefExoticComponent<VariantProps<(props?: ({} & class_variance_authority_types.ClassProp) | undefined) => string> & {
450
+ items: TabItem[];
451
+ defaultValue?: string;
452
+ value?: string;
453
+ onValueChange?: (value: string) => void;
454
+ className?: string;
455
+ style?: React.CSSProperties;
456
+ theme?: StyleLabTheme;
457
+ } & react.RefAttributes<HTMLDivElement>>;
371
458
 
372
- declare function Terminal({ title, children, className, style, }: {
459
+ declare const Terminal: react.ForwardRefExoticComponent<{
373
460
  title?: string;
374
461
  children: React.ReactNode;
375
462
  className?: string;
376
463
  style?: React.CSSProperties;
377
- }): react.JSX.Element;
464
+ } & react.RefAttributes<HTMLDivElement>>;
378
465
 
379
466
  type TimelineItem = {
380
467
  title: ReactNode;
@@ -384,17 +471,25 @@ type TimelineItem = {
384
471
  type TimelineProps = {
385
472
  items: TimelineItem[];
386
473
  className?: string;
474
+ style?: React.CSSProperties;
387
475
  theme?: StyleLabTheme;
388
476
  };
389
- declare function Timeline({ items, className, theme: themeProp, }: TimelineProps): react.JSX.Element;
477
+ declare const Timeline: react.ForwardRefExoticComponent<TimelineProps & react.RefAttributes<HTMLDivElement>>;
390
478
 
391
- declare function Toast({ message, onDismiss, className, style, }: {
479
+ declare const Toast: react.ForwardRefExoticComponent<{
392
480
  message: string;
393
481
  onDismiss: () => void;
394
482
  className?: string;
395
483
  style?: React.CSSProperties;
396
- }): react.JSX.Element;
484
+ } & react.RefAttributes<HTMLDivElement>>;
397
485
 
486
+ declare const toggleVariants: (props?: ({} & class_variance_authority_types.ClassProp) | undefined) => string;
487
+ type ToggleProps = Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type" | "value" | "onChange"> & VariantProps<typeof toggleVariants> & {
488
+ checked?: boolean;
489
+ defaultChecked?: boolean;
490
+ onCheckedChange?: (checked: boolean) => void;
491
+ theme?: StyleLabTheme;
492
+ };
398
493
  declare const Toggle: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange" | "size"> & VariantProps<(props?: ({} & class_variance_authority_types.ClassProp) | undefined) => string> & {
399
494
  checked?: boolean;
400
495
  defaultChecked?: boolean;
@@ -411,7 +506,14 @@ type TooltipProps = VariantProps<typeof tooltipVariants> & {
411
506
  style?: React.CSSProperties;
412
507
  theme?: StyleLabTheme;
413
508
  };
414
- declare function Tooltip({ content, children, placement, className, style, theme: themeProp, }: TooltipProps): react.JSX.Element;
509
+ declare const Tooltip: react.ForwardRefExoticComponent<VariantProps<(props?: ({} & class_variance_authority_types.ClassProp) | undefined) => string> & {
510
+ content: ReactNode;
511
+ children: ReactNode;
512
+ placement?: "top" | "bottom" | "left" | "right";
513
+ className?: string;
514
+ style?: React.CSSProperties;
515
+ theme?: StyleLabTheme;
516
+ } & react.RefAttributes<HTMLSpanElement>>;
415
517
 
416
518
  type ThemeContextValue = {
417
519
  theme: StyleLabTheme;
@@ -457,6 +559,10 @@ declare const THEME_RECOMMENDATIONS: Record<StyleLabTheme, ThemeRecommendation>;
457
559
  * Use for all component className composition.
458
560
  */
459
561
  declare function cn(...inputs: ClassValue[]): string;
562
+ /**
563
+ * Merges multiple refs (e.g. forwardRef + internal ref) into a single callback ref.
564
+ */
565
+ declare function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): RefCallback<T>;
460
566
 
461
567
  /**
462
568
  * Traps focus within the container element while active.
@@ -493,4 +599,4 @@ declare function useKeyboardNavigation(options: {
493
599
  */
494
600
  declare function getNextListIndex(current: number, direction: "up" | "down", length: number): number;
495
601
 
496
- export { Accordion, Alert, Avatar, AvatarGroup, Badge, BentoGrid, Breadcrumbs, Button, Calendar, Card, type CardClassNames, type CardProps, CommandPalette, type ComponentName, DashboardShell, DataTable, DocumentAccordion, Dropdown, type DropdownClassNames, type DropdownItem, type DropdownProps, Flashcard, GraphicCard, Input, Modal, Navbar, type NavbarItem, type NavbarProps, PricingCard, ProgressBar, SectionHeader, Sidebar, Skeleton, Slider, StatsCard, type StyleLabTheme, THEMES, THEME_BACKGROUNDS, THEME_NAVBAR, THEME_RECOMMENDATIONS, Tabs, Terminal, ThemeProvider, type ThemeRecommendation, Timeline, Toast, Toggle, Tooltip, cn, getNextListIndex, getThemeClass, useClickOutside, useFocusTrap, useKeyboardNavigation, useTheme };
602
+ export { Accordion, type AccordionItem, type AccordionProps, Alert, type AlertIntent, type AlertProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, BentoGrid, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, Button, type ButtonProps, Calendar, type CalendarProps, Card, type CardClassNames, type CardProps, CommandPalette, type CommandPaletteProps, type ComponentName, type DashboardNavItem, DashboardShell, type DashboardShellProps, DataTable, type DataTableProps, DocumentAccordion, type DocumentAccordionProps, Dropdown, type DropdownClassNames, type DropdownItem, type DropdownProps, Flashcard, type FlashcardProps, GraphicCard, type GraphicCardProps, Input, type InputProps, Modal, type ModalProps, Navbar, type NavbarItem, type NavbarProps, PricingCard, ProgressBar, type ProgressBarProps, SectionHeader, Sidebar, Skeleton, type SkeletonProps, Slider, type SliderProps, StatsCard, type StyleLabTheme, THEMES, THEME_BACKGROUNDS, THEME_NAVBAR, THEME_RECOMMENDATIONS, type TabItem, Tabs, type TabsProps, Terminal, ThemeProvider, type ThemeRecommendation, Timeline, type TimelineItem, type TimelineProps, Toast, Toggle, type ToggleProps, Tooltip, type TooltipProps, cn, getNextListIndex, getThemeClass, mergeRefs, useClickOutside, useFocusTrap, useKeyboardNavigation, useTheme };