@kjaniec-dev/ui 0.5.0 → 0.7.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.cts CHANGED
@@ -69,6 +69,13 @@ interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement
69
69
  error?: boolean;
70
70
  }
71
71
  declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
72
+ interface TextFieldProps extends Omit<React.ComponentPropsWithoutRef<typeof Input>, "error"> {
73
+ label: string;
74
+ hint?: string;
75
+ error?: string;
76
+ required?: boolean;
77
+ }
78
+ declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<HTMLInputElement>>;
72
79
 
73
80
  interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
74
81
  /** Append a red required marker. */
@@ -86,6 +93,13 @@ interface SelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {
86
93
  error?: boolean;
87
94
  }
88
95
  declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
96
+ interface SelectFieldProps extends Omit<React.ComponentPropsWithoutRef<typeof Select>, "error"> {
97
+ label: string;
98
+ hint?: string;
99
+ error?: string;
100
+ required?: boolean;
101
+ }
102
+ declare const SelectField: React.ForwardRefExoticComponent<SelectFieldProps & React.RefAttributes<HTMLSelectElement>>;
89
103
 
90
104
  interface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElement> {
91
105
  label?: React.ReactNode;
@@ -95,6 +109,12 @@ interface RadioProps extends React.InputHTMLAttributes<HTMLInputElement> {
95
109
  label?: React.ReactNode;
96
110
  }
97
111
  declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
112
+ interface CheckboxFieldProps extends React.ComponentPropsWithoutRef<typeof Checkbox> {
113
+ label: React.ReactNode;
114
+ hint?: string;
115
+ error?: string;
116
+ }
117
+ declare const CheckboxField: React.ForwardRefExoticComponent<CheckboxFieldProps & React.RefAttributes<HTMLInputElement>>;
98
118
 
99
119
  interface SwitchProps extends React.InputHTMLAttributes<HTMLInputElement> {
100
120
  label?: React.ReactNode;
@@ -233,6 +253,28 @@ interface PaginationProps {
233
253
  }
234
254
  declare function Pagination({ page, pageCount, onPageChange, className }: PaginationProps): react_jsx_runtime.JSX.Element;
235
255
 
256
+ interface BottomNavigationItem {
257
+ id: string;
258
+ label: string;
259
+ href?: string;
260
+ onClick?: () => void;
261
+ icon: React.ReactNode;
262
+ active?: boolean;
263
+ badge?: React.ReactNode;
264
+ }
265
+ interface BottomNavigationProps extends React.HTMLAttributes<HTMLElement> {
266
+ items: BottomNavigationItem[];
267
+ /** Mode for displaying labels:
268
+ * - 'always': Always show labels for all items.
269
+ * - 'active': Only show label for the active item, hiding others.
270
+ * - 'never': Hide all labels (only show icons).
271
+ */
272
+ showLabels?: "always" | "active" | "never";
273
+ /** If true, uses fixed positioning at the bottom of the viewport with backdrop-blur. */
274
+ fixed?: boolean;
275
+ }
276
+ declare const BottomNavigation: React.ForwardRefExoticComponent<BottomNavigationProps & React.RefAttributes<HTMLElement>>;
277
+
236
278
  /** Rounded, bordered wrapper around a <Table>. */
237
279
  declare const TableWrap: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
238
280
  declare const Table: React.ForwardRefExoticComponent<React.TableHTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
@@ -314,6 +356,9 @@ interface DataTableColumn<T> {
314
356
  header: React.ReactNode;
315
357
  accessor: (row: T) => React.ReactNode;
316
358
  className?: string;
359
+ align?: "left" | "center" | "right";
360
+ sortable?: boolean;
361
+ sortKey?: string;
317
362
  }
318
363
  interface DataTableProps<T> extends React.HTMLAttributes<HTMLDivElement> {
319
364
  columns: DataTableColumn<T>[];
@@ -323,10 +368,155 @@ interface DataTableProps<T> extends React.HTMLAttributes<HTMLDivElement> {
323
368
  emptyTitle?: string;
324
369
  emptyDescription?: string;
325
370
  emptyAction?: React.ReactNode;
326
- }
327
- declare function DataTable<T>({ className, columns, data, loading, error, emptyTitle, emptyDescription, emptyAction, ...props }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
371
+ getRowKey?: (row: T, index: number) => React.Key;
372
+ onRowClick?: (row: T) => void;
373
+ toolbar?: React.ReactNode;
374
+ pagination?: React.ReactNode;
375
+ selectedRows?: Set<React.Key>;
376
+ onSelectionChange?: (selectedKeys: Set<React.Key>) => void;
377
+ sortBy?: string;
378
+ sortDirection?: "asc" | "desc";
379
+ onSort?: (sortKey: string, direction: "asc" | "desc") => void;
380
+ }
381
+ declare function DataTable<T>({ className, columns, data, loading, error, emptyTitle, emptyDescription, emptyAction, getRowKey, onRowClick, toolbar, pagination, selectedRows, onSelectionChange, sortBy, sortDirection, onSort, ...props }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
328
382
  declare namespace DataTable {
329
383
  var displayName: string;
330
384
  }
331
385
 
332
- export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarProps, Badge, type BadgeProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbSeparator, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, DataTable, type DataTableColumn, type DataTableProps, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuSeparator, DropdownMenuTrigger, EmptyState, type EmptyStateProps, Field, Hint, type HintProps, Input, type InputProps, Label, type LabelProps, MetricCard, type MetricCardProps, Modal, ModalActions, ModalDescription, type ModalProps, ModalTitle, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, Segmented, type SegmentedOption, type SegmentedProps, Select, type SelectProps, Slider, type SliderProps, Spinner, type SpinnerProps, Stat, type StatProps, Switch, type SwitchProps, Table, TableBody, TableCell, type TableCellProps, TableHead, TableHeader, TableRow, TableWrap, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type ToastOptions, ToastProvider, type ToastTone, Tooltip, type TooltipProps, badgeVariants, buttonVariants, cn, sliderThumbCSS, useToast };
386
+ interface FormFieldProps extends React.HTMLAttributes<HTMLDivElement> {
387
+ label: string;
388
+ hint?: string;
389
+ error?: string;
390
+ required?: boolean;
391
+ children: React.ReactNode;
392
+ }
393
+ declare const FormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<HTMLDivElement>>;
394
+
395
+ interface ErrorStateProps extends React.HTMLAttributes<HTMLDivElement> {
396
+ title?: string;
397
+ message: string;
398
+ onRetry?: () => void;
399
+ retryLabel?: string;
400
+ }
401
+ declare const ErrorState: React.ForwardRefExoticComponent<ErrorStateProps & React.RefAttributes<HTMLDivElement>>;
402
+
403
+ interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
404
+ variant?: "text" | "circular" | "rectangular";
405
+ width?: string | number;
406
+ height?: string | number;
407
+ }
408
+ declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
409
+
410
+ interface DashboardShellProps extends React.HTMLAttributes<HTMLDivElement> {
411
+ sidebar?: React.ReactNode;
412
+ topbar?: React.ReactNode;
413
+ children: React.ReactNode;
414
+ sidebarWidth?: string;
415
+ contentWidth?: "default" | "wide" | "full";
416
+ stickyTopbar?: boolean;
417
+ mobileSidebar?: React.ReactNode;
418
+ }
419
+ declare const DashboardShell: React.ForwardRefExoticComponent<DashboardShellProps & React.RefAttributes<HTMLDivElement>>;
420
+
421
+ interface SettingsLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
422
+ sidebar: React.ReactNode;
423
+ children: React.ReactNode;
424
+ title?: string;
425
+ description?: string;
426
+ }
427
+ declare const SettingsLayout: React.ForwardRefExoticComponent<SettingsLayoutProps & React.RefAttributes<HTMLDivElement>>;
428
+
429
+ interface DetailPageLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
430
+ title: string;
431
+ description?: string;
432
+ backHref?: string;
433
+ backLabel?: string;
434
+ onBackClick?: () => void;
435
+ actions?: React.ReactNode;
436
+ aside?: React.ReactNode;
437
+ children: React.ReactNode;
438
+ }
439
+ declare const DetailPageLayout: React.ForwardRefExoticComponent<DetailPageLayoutProps & React.RefAttributes<HTMLDivElement>>;
440
+
441
+ interface TableToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
442
+ searchQuery?: string;
443
+ onSearchChange?: (query: string) => void;
444
+ searchPlaceholder?: string;
445
+ actions?: React.ReactNode;
446
+ filters?: React.ReactNode;
447
+ }
448
+ declare const TableToolbar: React.ForwardRefExoticComponent<TableToolbarProps & React.RefAttributes<HTMLDivElement>>;
449
+
450
+ interface ConfirmDialogProps {
451
+ open: boolean;
452
+ onClose: () => void;
453
+ onConfirm: () => void;
454
+ title: string;
455
+ description: string;
456
+ confirmLabel?: string;
457
+ cancelLabel?: string;
458
+ tone?: "danger" | "primary" | "success";
459
+ loading?: boolean;
460
+ }
461
+ declare function ConfirmDialog({ open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, tone, loading, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
462
+ declare namespace ConfirmDialog {
463
+ var displayName: string;
464
+ }
465
+
466
+ interface DrawerProps {
467
+ open: boolean;
468
+ onClose: () => void;
469
+ children: React.ReactNode;
470
+ title?: string;
471
+ description?: string;
472
+ width?: string;
473
+ side?: "right" | "left";
474
+ }
475
+ declare function Drawer({ open, onClose, children, title, description, width, side, }: DrawerProps): react_jsx_runtime.JSX.Element;
476
+ declare namespace Drawer {
477
+ var displayName: string;
478
+ }
479
+
480
+ interface CommandPaletteItem {
481
+ id: string;
482
+ title: string;
483
+ subtitle?: string;
484
+ category?: string;
485
+ shortcut?: string[];
486
+ action: () => void;
487
+ icon?: React.ReactNode;
488
+ }
489
+ interface CommandPaletteProps {
490
+ open: boolean;
491
+ onClose: () => void;
492
+ items: CommandPaletteItem[];
493
+ placeholder?: string;
494
+ }
495
+ declare function CommandPalette({ open, onClose, items, placeholder }: CommandPaletteProps): react_jsx_runtime.JSX.Element | null;
496
+ declare namespace CommandPalette {
497
+ var displayName: string;
498
+ }
499
+
500
+ interface SidebarNavItem {
501
+ id: string;
502
+ label: string;
503
+ href?: string;
504
+ onClick?: () => void;
505
+ active?: boolean;
506
+ icon?: React.ReactNode;
507
+ badge?: React.ReactNode;
508
+ }
509
+ interface SidebarNavGroup {
510
+ title?: string;
511
+ items: SidebarNavItem[];
512
+ }
513
+ interface SidebarNavProps extends React.HTMLAttributes<HTMLDivElement> {
514
+ groups: SidebarNavGroup[];
515
+ currentHref?: string;
516
+ }
517
+ declare function SidebarNav({ className, groups, currentHref, ...props }: SidebarNavProps): react_jsx_runtime.JSX.Element;
518
+ declare namespace SidebarNav {
519
+ var displayName: string;
520
+ }
521
+
522
+ export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarProps, Badge, type BadgeProps, BottomNavigation, type BottomNavigationItem, type BottomNavigationProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbSeparator, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, CheckboxField, type CheckboxFieldProps, type CheckboxProps, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, ConfirmDialog, type ConfirmDialogProps, DashboardShell, type DashboardShellProps, DataTable, type DataTableColumn, type DataTableProps, DetailPageLayout, type DetailPageLayoutProps, Drawer, type DrawerProps, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuSeparator, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, FormField, type FormFieldProps, Hint, type HintProps, Input, type InputProps, Label, type LabelProps, MetricCard, type MetricCardProps, Modal, ModalActions, ModalDescription, type ModalProps, ModalTitle, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, Segmented, type SegmentedOption, type SegmentedProps, Select, SelectField, type SelectFieldProps, type SelectProps, SettingsLayout, type SettingsLayoutProps, SidebarNav, type SidebarNavGroup, type SidebarNavItem, type SidebarNavProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, Stat, type StatProps, Switch, type SwitchProps, Table, TableBody, TableCell, type TableCellProps, TableHead, TableHeader, TableRow, TableToolbar, type TableToolbarProps, TableWrap, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsProps, TabsTrigger, type TabsTriggerProps, TextField, type TextFieldProps, Textarea, type TextareaProps, type ToastOptions, ToastProvider, type ToastTone, Tooltip, type TooltipProps, badgeVariants, buttonVariants, cn, sliderThumbCSS, useToast };
package/dist/index.d.ts CHANGED
@@ -69,6 +69,13 @@ interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement
69
69
  error?: boolean;
70
70
  }
71
71
  declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
72
+ interface TextFieldProps extends Omit<React.ComponentPropsWithoutRef<typeof Input>, "error"> {
73
+ label: string;
74
+ hint?: string;
75
+ error?: string;
76
+ required?: boolean;
77
+ }
78
+ declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<HTMLInputElement>>;
72
79
 
73
80
  interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
74
81
  /** Append a red required marker. */
@@ -86,6 +93,13 @@ interface SelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {
86
93
  error?: boolean;
87
94
  }
88
95
  declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
96
+ interface SelectFieldProps extends Omit<React.ComponentPropsWithoutRef<typeof Select>, "error"> {
97
+ label: string;
98
+ hint?: string;
99
+ error?: string;
100
+ required?: boolean;
101
+ }
102
+ declare const SelectField: React.ForwardRefExoticComponent<SelectFieldProps & React.RefAttributes<HTMLSelectElement>>;
89
103
 
90
104
  interface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElement> {
91
105
  label?: React.ReactNode;
@@ -95,6 +109,12 @@ interface RadioProps extends React.InputHTMLAttributes<HTMLInputElement> {
95
109
  label?: React.ReactNode;
96
110
  }
97
111
  declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
112
+ interface CheckboxFieldProps extends React.ComponentPropsWithoutRef<typeof Checkbox> {
113
+ label: React.ReactNode;
114
+ hint?: string;
115
+ error?: string;
116
+ }
117
+ declare const CheckboxField: React.ForwardRefExoticComponent<CheckboxFieldProps & React.RefAttributes<HTMLInputElement>>;
98
118
 
99
119
  interface SwitchProps extends React.InputHTMLAttributes<HTMLInputElement> {
100
120
  label?: React.ReactNode;
@@ -233,6 +253,28 @@ interface PaginationProps {
233
253
  }
234
254
  declare function Pagination({ page, pageCount, onPageChange, className }: PaginationProps): react_jsx_runtime.JSX.Element;
235
255
 
256
+ interface BottomNavigationItem {
257
+ id: string;
258
+ label: string;
259
+ href?: string;
260
+ onClick?: () => void;
261
+ icon: React.ReactNode;
262
+ active?: boolean;
263
+ badge?: React.ReactNode;
264
+ }
265
+ interface BottomNavigationProps extends React.HTMLAttributes<HTMLElement> {
266
+ items: BottomNavigationItem[];
267
+ /** Mode for displaying labels:
268
+ * - 'always': Always show labels for all items.
269
+ * - 'active': Only show label for the active item, hiding others.
270
+ * - 'never': Hide all labels (only show icons).
271
+ */
272
+ showLabels?: "always" | "active" | "never";
273
+ /** If true, uses fixed positioning at the bottom of the viewport with backdrop-blur. */
274
+ fixed?: boolean;
275
+ }
276
+ declare const BottomNavigation: React.ForwardRefExoticComponent<BottomNavigationProps & React.RefAttributes<HTMLElement>>;
277
+
236
278
  /** Rounded, bordered wrapper around a <Table>. */
237
279
  declare const TableWrap: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
238
280
  declare const Table: React.ForwardRefExoticComponent<React.TableHTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
@@ -314,6 +356,9 @@ interface DataTableColumn<T> {
314
356
  header: React.ReactNode;
315
357
  accessor: (row: T) => React.ReactNode;
316
358
  className?: string;
359
+ align?: "left" | "center" | "right";
360
+ sortable?: boolean;
361
+ sortKey?: string;
317
362
  }
318
363
  interface DataTableProps<T> extends React.HTMLAttributes<HTMLDivElement> {
319
364
  columns: DataTableColumn<T>[];
@@ -323,10 +368,155 @@ interface DataTableProps<T> extends React.HTMLAttributes<HTMLDivElement> {
323
368
  emptyTitle?: string;
324
369
  emptyDescription?: string;
325
370
  emptyAction?: React.ReactNode;
326
- }
327
- declare function DataTable<T>({ className, columns, data, loading, error, emptyTitle, emptyDescription, emptyAction, ...props }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
371
+ getRowKey?: (row: T, index: number) => React.Key;
372
+ onRowClick?: (row: T) => void;
373
+ toolbar?: React.ReactNode;
374
+ pagination?: React.ReactNode;
375
+ selectedRows?: Set<React.Key>;
376
+ onSelectionChange?: (selectedKeys: Set<React.Key>) => void;
377
+ sortBy?: string;
378
+ sortDirection?: "asc" | "desc";
379
+ onSort?: (sortKey: string, direction: "asc" | "desc") => void;
380
+ }
381
+ declare function DataTable<T>({ className, columns, data, loading, error, emptyTitle, emptyDescription, emptyAction, getRowKey, onRowClick, toolbar, pagination, selectedRows, onSelectionChange, sortBy, sortDirection, onSort, ...props }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
328
382
  declare namespace DataTable {
329
383
  var displayName: string;
330
384
  }
331
385
 
332
- export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarProps, Badge, type BadgeProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbSeparator, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, DataTable, type DataTableColumn, type DataTableProps, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuSeparator, DropdownMenuTrigger, EmptyState, type EmptyStateProps, Field, Hint, type HintProps, Input, type InputProps, Label, type LabelProps, MetricCard, type MetricCardProps, Modal, ModalActions, ModalDescription, type ModalProps, ModalTitle, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, Segmented, type SegmentedOption, type SegmentedProps, Select, type SelectProps, Slider, type SliderProps, Spinner, type SpinnerProps, Stat, type StatProps, Switch, type SwitchProps, Table, TableBody, TableCell, type TableCellProps, TableHead, TableHeader, TableRow, TableWrap, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type ToastOptions, ToastProvider, type ToastTone, Tooltip, type TooltipProps, badgeVariants, buttonVariants, cn, sliderThumbCSS, useToast };
386
+ interface FormFieldProps extends React.HTMLAttributes<HTMLDivElement> {
387
+ label: string;
388
+ hint?: string;
389
+ error?: string;
390
+ required?: boolean;
391
+ children: React.ReactNode;
392
+ }
393
+ declare const FormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<HTMLDivElement>>;
394
+
395
+ interface ErrorStateProps extends React.HTMLAttributes<HTMLDivElement> {
396
+ title?: string;
397
+ message: string;
398
+ onRetry?: () => void;
399
+ retryLabel?: string;
400
+ }
401
+ declare const ErrorState: React.ForwardRefExoticComponent<ErrorStateProps & React.RefAttributes<HTMLDivElement>>;
402
+
403
+ interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
404
+ variant?: "text" | "circular" | "rectangular";
405
+ width?: string | number;
406
+ height?: string | number;
407
+ }
408
+ declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
409
+
410
+ interface DashboardShellProps extends React.HTMLAttributes<HTMLDivElement> {
411
+ sidebar?: React.ReactNode;
412
+ topbar?: React.ReactNode;
413
+ children: React.ReactNode;
414
+ sidebarWidth?: string;
415
+ contentWidth?: "default" | "wide" | "full";
416
+ stickyTopbar?: boolean;
417
+ mobileSidebar?: React.ReactNode;
418
+ }
419
+ declare const DashboardShell: React.ForwardRefExoticComponent<DashboardShellProps & React.RefAttributes<HTMLDivElement>>;
420
+
421
+ interface SettingsLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
422
+ sidebar: React.ReactNode;
423
+ children: React.ReactNode;
424
+ title?: string;
425
+ description?: string;
426
+ }
427
+ declare const SettingsLayout: React.ForwardRefExoticComponent<SettingsLayoutProps & React.RefAttributes<HTMLDivElement>>;
428
+
429
+ interface DetailPageLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
430
+ title: string;
431
+ description?: string;
432
+ backHref?: string;
433
+ backLabel?: string;
434
+ onBackClick?: () => void;
435
+ actions?: React.ReactNode;
436
+ aside?: React.ReactNode;
437
+ children: React.ReactNode;
438
+ }
439
+ declare const DetailPageLayout: React.ForwardRefExoticComponent<DetailPageLayoutProps & React.RefAttributes<HTMLDivElement>>;
440
+
441
+ interface TableToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
442
+ searchQuery?: string;
443
+ onSearchChange?: (query: string) => void;
444
+ searchPlaceholder?: string;
445
+ actions?: React.ReactNode;
446
+ filters?: React.ReactNode;
447
+ }
448
+ declare const TableToolbar: React.ForwardRefExoticComponent<TableToolbarProps & React.RefAttributes<HTMLDivElement>>;
449
+
450
+ interface ConfirmDialogProps {
451
+ open: boolean;
452
+ onClose: () => void;
453
+ onConfirm: () => void;
454
+ title: string;
455
+ description: string;
456
+ confirmLabel?: string;
457
+ cancelLabel?: string;
458
+ tone?: "danger" | "primary" | "success";
459
+ loading?: boolean;
460
+ }
461
+ declare function ConfirmDialog({ open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, tone, loading, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
462
+ declare namespace ConfirmDialog {
463
+ var displayName: string;
464
+ }
465
+
466
+ interface DrawerProps {
467
+ open: boolean;
468
+ onClose: () => void;
469
+ children: React.ReactNode;
470
+ title?: string;
471
+ description?: string;
472
+ width?: string;
473
+ side?: "right" | "left";
474
+ }
475
+ declare function Drawer({ open, onClose, children, title, description, width, side, }: DrawerProps): react_jsx_runtime.JSX.Element;
476
+ declare namespace Drawer {
477
+ var displayName: string;
478
+ }
479
+
480
+ interface CommandPaletteItem {
481
+ id: string;
482
+ title: string;
483
+ subtitle?: string;
484
+ category?: string;
485
+ shortcut?: string[];
486
+ action: () => void;
487
+ icon?: React.ReactNode;
488
+ }
489
+ interface CommandPaletteProps {
490
+ open: boolean;
491
+ onClose: () => void;
492
+ items: CommandPaletteItem[];
493
+ placeholder?: string;
494
+ }
495
+ declare function CommandPalette({ open, onClose, items, placeholder }: CommandPaletteProps): react_jsx_runtime.JSX.Element | null;
496
+ declare namespace CommandPalette {
497
+ var displayName: string;
498
+ }
499
+
500
+ interface SidebarNavItem {
501
+ id: string;
502
+ label: string;
503
+ href?: string;
504
+ onClick?: () => void;
505
+ active?: boolean;
506
+ icon?: React.ReactNode;
507
+ badge?: React.ReactNode;
508
+ }
509
+ interface SidebarNavGroup {
510
+ title?: string;
511
+ items: SidebarNavItem[];
512
+ }
513
+ interface SidebarNavProps extends React.HTMLAttributes<HTMLDivElement> {
514
+ groups: SidebarNavGroup[];
515
+ currentHref?: string;
516
+ }
517
+ declare function SidebarNav({ className, groups, currentHref, ...props }: SidebarNavProps): react_jsx_runtime.JSX.Element;
518
+ declare namespace SidebarNav {
519
+ var displayName: string;
520
+ }
521
+
522
+ export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, type AlertProps, Avatar, AvatarGroup, type AvatarProps, Badge, type BadgeProps, BottomNavigation, type BottomNavigationItem, type BottomNavigationProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbSeparator, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, CheckboxField, type CheckboxFieldProps, type CheckboxProps, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, ConfirmDialog, type ConfirmDialogProps, DashboardShell, type DashboardShellProps, DataTable, type DataTableColumn, type DataTableProps, DetailPageLayout, type DetailPageLayoutProps, Drawer, type DrawerProps, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuSeparator, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, Field, FormField, type FormFieldProps, Hint, type HintProps, Input, type InputProps, Label, type LabelProps, MetricCard, type MetricCardProps, Modal, ModalActions, ModalDescription, type ModalProps, ModalTitle, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, Progress, type ProgressProps, Radio, type RadioProps, Segmented, type SegmentedOption, type SegmentedProps, Select, SelectField, type SelectFieldProps, type SelectProps, SettingsLayout, type SettingsLayoutProps, SidebarNav, type SidebarNavGroup, type SidebarNavItem, type SidebarNavProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, Stat, type StatProps, Switch, type SwitchProps, Table, TableBody, TableCell, type TableCellProps, TableHead, TableHeader, TableRow, TableToolbar, type TableToolbarProps, TableWrap, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsProps, TabsTrigger, type TabsTriggerProps, TextField, type TextFieldProps, Textarea, type TextareaProps, type ToastOptions, ToastProvider, type ToastTone, Tooltip, type TooltipProps, badgeVariants, buttonVariants, cn, sliderThumbCSS, useToast };