@boostdev/design-system-components 0.1.1

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.
Files changed (233) hide show
  1. package/AGENTS.md +72 -0
  2. package/README.md +396 -0
  3. package/dist/index.cjs +2273 -0
  4. package/dist/index.css +2543 -0
  5. package/dist/index.d.cts +453 -0
  6. package/dist/index.d.ts +453 -0
  7. package/dist/index.js +2221 -0
  8. package/package.json +143 -0
  9. package/src/components/interaction/Button/Button.module.css +136 -0
  10. package/src/components/interaction/Button/Button.spec.tsx +50 -0
  11. package/src/components/interaction/Button/Button.stories.tsx +43 -0
  12. package/src/components/interaction/Button/Button.tsx +68 -0
  13. package/src/components/interaction/Button/index.ts +1 -0
  14. package/src/components/interaction/Command/Command.module.css +128 -0
  15. package/src/components/interaction/Command/Command.spec.tsx +60 -0
  16. package/src/components/interaction/Command/Command.stories.tsx +35 -0
  17. package/src/components/interaction/Command/Command.tsx +161 -0
  18. package/src/components/interaction/Command/index.ts +2 -0
  19. package/src/components/interaction/Dialog/Dialog.module.css +39 -0
  20. package/src/components/interaction/Dialog/Dialog.spec.tsx +43 -0
  21. package/src/components/interaction/Dialog/Dialog.stories.tsx +36 -0
  22. package/src/components/interaction/Dialog/Dialog.tsx +42 -0
  23. package/src/components/interaction/Dialog/index.ts +1 -0
  24. package/src/components/interaction/Drawer/Drawer.module.css +98 -0
  25. package/src/components/interaction/Drawer/Drawer.spec.tsx +43 -0
  26. package/src/components/interaction/Drawer/Drawer.stories.tsx +46 -0
  27. package/src/components/interaction/Drawer/Drawer.tsx +71 -0
  28. package/src/components/interaction/Drawer/index.ts +1 -0
  29. package/src/components/interaction/DropdownMenu/DropdownMenu.module.css +68 -0
  30. package/src/components/interaction/DropdownMenu/DropdownMenu.spec.tsx +74 -0
  31. package/src/components/interaction/DropdownMenu/DropdownMenu.stories.tsx +68 -0
  32. package/src/components/interaction/DropdownMenu/DropdownMenu.tsx +137 -0
  33. package/src/components/interaction/DropdownMenu/index.ts +1 -0
  34. package/src/components/interaction/Popover/Popover.module.css +39 -0
  35. package/src/components/interaction/Popover/Popover.spec.tsx +72 -0
  36. package/src/components/interaction/Popover/Popover.stories.tsx +47 -0
  37. package/src/components/interaction/Popover/Popover.tsx +78 -0
  38. package/src/components/interaction/Popover/index.ts +1 -0
  39. package/src/components/interaction/Rating/Rating.module.css +16 -0
  40. package/src/components/interaction/Rating/Rating.spec.tsx +30 -0
  41. package/src/components/interaction/Rating/Rating.stories.tsx +29 -0
  42. package/src/components/interaction/Rating/Rating.tsx +30 -0
  43. package/src/components/interaction/Rating/index.ts +1 -0
  44. package/src/components/interaction/Toast/Toast.module.css +48 -0
  45. package/src/components/interaction/Toast/Toast.spec.tsx +41 -0
  46. package/src/components/interaction/Toast/Toast.stories.tsx +57 -0
  47. package/src/components/interaction/Toast/Toast.tsx +64 -0
  48. package/src/components/interaction/Toast/index.ts +1 -0
  49. package/src/components/interaction/form/Checkbox/Checkbox.module.css +61 -0
  50. package/src/components/interaction/form/Checkbox/Checkbox.spec.tsx +39 -0
  51. package/src/components/interaction/form/Checkbox/Checkbox.stories.tsx +17 -0
  52. package/src/components/interaction/form/Checkbox/Checkbox.tsx +39 -0
  53. package/src/components/interaction/form/Checkbox/index.ts +1 -0
  54. package/src/components/interaction/form/Combobox/Combobox.module.css +104 -0
  55. package/src/components/interaction/form/Combobox/Combobox.spec.tsx +81 -0
  56. package/src/components/interaction/form/Combobox/Combobox.stories.tsx +25 -0
  57. package/src/components/interaction/form/Combobox/Combobox.tsx +182 -0
  58. package/src/components/interaction/form/Combobox/index.ts +1 -0
  59. package/src/components/interaction/form/FileInput/FileInput.module.css +79 -0
  60. package/src/components/interaction/form/FileInput/FileInput.spec.tsx +53 -0
  61. package/src/components/interaction/form/FileInput/FileInput.stories.tsx +17 -0
  62. package/src/components/interaction/form/FileInput/FileInput.tsx +99 -0
  63. package/src/components/interaction/form/FileInput/index.ts +1 -0
  64. package/src/components/interaction/form/FormInput/FormInput.module.css +37 -0
  65. package/src/components/interaction/form/FormInput/FormInput.spec.tsx +43 -0
  66. package/src/components/interaction/form/FormInput/FormInput.stories.tsx +17 -0
  67. package/src/components/interaction/form/FormInput/FormInput.tsx +47 -0
  68. package/src/components/interaction/form/FormInput/index.ts +1 -0
  69. package/src/components/interaction/form/NumberInput/NumberInput.module.css +78 -0
  70. package/src/components/interaction/form/NumberInput/NumberInput.spec.tsx +49 -0
  71. package/src/components/interaction/form/NumberInput/NumberInput.stories.tsx +17 -0
  72. package/src/components/interaction/form/NumberInput/NumberInput.tsx +106 -0
  73. package/src/components/interaction/form/NumberInput/index.ts +1 -0
  74. package/src/components/interaction/form/Radio/Radio.module.css +62 -0
  75. package/src/components/interaction/form/Radio/Radio.spec.tsx +38 -0
  76. package/src/components/interaction/form/Radio/Radio.stories.tsx +26 -0
  77. package/src/components/interaction/form/Radio/Radio.tsx +39 -0
  78. package/src/components/interaction/form/Radio/index.ts +1 -0
  79. package/src/components/interaction/form/Select/Select.module.css +64 -0
  80. package/src/components/interaction/form/Select/Select.spec.tsx +61 -0
  81. package/src/components/interaction/form/Select/Select.stories.tsx +24 -0
  82. package/src/components/interaction/form/Select/Select.tsx +72 -0
  83. package/src/components/interaction/form/Select/index.ts +1 -0
  84. package/src/components/interaction/form/Slider/Slider.module.css +99 -0
  85. package/src/components/interaction/form/Slider/Slider.spec.tsx +53 -0
  86. package/src/components/interaction/form/Slider/Slider.stories.tsx +18 -0
  87. package/src/components/interaction/form/Slider/Slider.tsx +71 -0
  88. package/src/components/interaction/form/Slider/index.ts +1 -0
  89. package/src/components/interaction/form/Switch/Switch.module.css +114 -0
  90. package/src/components/interaction/form/Switch/Switch.spec.tsx +48 -0
  91. package/src/components/interaction/form/Switch/Switch.stories.tsx +31 -0
  92. package/src/components/interaction/form/Switch/Switch.tsx +54 -0
  93. package/src/components/interaction/form/Switch/index.ts +1 -0
  94. package/src/components/interaction/form/Textarea/Textarea.module.css +44 -0
  95. package/src/components/interaction/form/Textarea/Textarea.spec.tsx +53 -0
  96. package/src/components/interaction/form/Textarea/Textarea.stories.tsx +18 -0
  97. package/src/components/interaction/form/Textarea/Textarea.tsx +44 -0
  98. package/src/components/interaction/form/Textarea/index.ts +1 -0
  99. package/src/components/interaction/form/atoms/InputContainer.module.css +9 -0
  100. package/src/components/interaction/form/atoms/InputContainer.tsx +9 -0
  101. package/src/components/interaction/form/atoms/Label.module.css +10 -0
  102. package/src/components/interaction/form/atoms/Label.tsx +15 -0
  103. package/src/components/interaction/form/atoms/Message.module.css +11 -0
  104. package/src/components/interaction/form/atoms/Message.tsx +17 -0
  105. package/src/components/layout/ButtonGroup/ButtonGroup.module.css +59 -0
  106. package/src/components/layout/ButtonGroup/ButtonGroup.spec.tsx +20 -0
  107. package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +28 -0
  108. package/src/components/layout/ButtonGroup/ButtonGroup.tsx +17 -0
  109. package/src/components/layout/ButtonGroup/index.ts +1 -0
  110. package/src/components/layout/Card/Card.module.css +72 -0
  111. package/src/components/layout/Card/Card.spec.tsx +33 -0
  112. package/src/components/layout/Card/Card.stories.tsx +32 -0
  113. package/src/components/layout/Card/Card.tsx +45 -0
  114. package/src/components/layout/Card/index.ts +1 -0
  115. package/src/components/layout/IconWrapper/IconWrapper.module.css +24 -0
  116. package/src/components/layout/IconWrapper/IconWrapper.spec.tsx +19 -0
  117. package/src/components/layout/IconWrapper/IconWrapper.stories.tsx +22 -0
  118. package/src/components/layout/IconWrapper/IconWrapper.tsx +14 -0
  119. package/src/components/layout/IconWrapper/index.ts +1 -0
  120. package/src/components/layout/SectionHeader/SectionHeader.module.css +75 -0
  121. package/src/components/layout/SectionHeader/SectionHeader.spec.tsx +31 -0
  122. package/src/components/layout/SectionHeader/SectionHeader.stories.tsx +21 -0
  123. package/src/components/layout/SectionHeader/SectionHeader.tsx +32 -0
  124. package/src/components/layout/SectionHeader/index.ts +1 -0
  125. package/src/components/ui/Accordion/Accordion.module.css +87 -0
  126. package/src/components/ui/Accordion/Accordion.spec.tsx +78 -0
  127. package/src/components/ui/Accordion/Accordion.stories.tsx +34 -0
  128. package/src/components/ui/Accordion/Accordion.tsx +82 -0
  129. package/src/components/ui/Accordion/index.ts +1 -0
  130. package/src/components/ui/Alert/Alert.module.css +91 -0
  131. package/src/components/ui/Alert/Alert.spec.tsx +63 -0
  132. package/src/components/ui/Alert/Alert.stories.tsx +53 -0
  133. package/src/components/ui/Alert/Alert.tsx +54 -0
  134. package/src/components/ui/Alert/index.ts +1 -0
  135. package/src/components/ui/Avatar/Avatar.module.css +42 -0
  136. package/src/components/ui/Avatar/Avatar.spec.tsx +49 -0
  137. package/src/components/ui/Avatar/Avatar.stories.tsx +44 -0
  138. package/src/components/ui/Avatar/Avatar.tsx +45 -0
  139. package/src/components/ui/Avatar/index.ts +1 -0
  140. package/src/components/ui/Badge/Badge.module.css +46 -0
  141. package/src/components/ui/Badge/Badge.spec.tsx +19 -0
  142. package/src/components/ui/Badge/Badge.stories.tsx +29 -0
  143. package/src/components/ui/Badge/Badge.tsx +13 -0
  144. package/src/components/ui/Badge/index.ts +1 -0
  145. package/src/components/ui/Breadcrumb/Breadcrumb.module.css +50 -0
  146. package/src/components/ui/Breadcrumb/Breadcrumb.spec.tsx +44 -0
  147. package/src/components/ui/Breadcrumb/Breadcrumb.stories.tsx +48 -0
  148. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +41 -0
  149. package/src/components/ui/Breadcrumb/index.ts +1 -0
  150. package/src/components/ui/Calendar/Calendar.module.css +120 -0
  151. package/src/components/ui/Calendar/Calendar.spec.tsx +64 -0
  152. package/src/components/ui/Calendar/Calendar.stories.tsx +59 -0
  153. package/src/components/ui/Calendar/Calendar.tsx +184 -0
  154. package/src/components/ui/Calendar/index.ts +1 -0
  155. package/src/components/ui/Carousel/Carousel.module.css +66 -0
  156. package/src/components/ui/Carousel/Carousel.spec.tsx +29 -0
  157. package/src/components/ui/Carousel/Carousel.stories.tsx +30 -0
  158. package/src/components/ui/Carousel/Carousel.tsx +64 -0
  159. package/src/components/ui/Carousel/index.ts +1 -0
  160. package/src/components/ui/DescriptionList/DescriptionList.module.css +43 -0
  161. package/src/components/ui/DescriptionList/DescriptionList.spec.tsx +31 -0
  162. package/src/components/ui/DescriptionList/DescriptionList.stories.tsx +21 -0
  163. package/src/components/ui/DescriptionList/DescriptionList.tsx +30 -0
  164. package/src/components/ui/DescriptionList/index.ts +1 -0
  165. package/src/components/ui/Link/Link.module.css +64 -0
  166. package/src/components/ui/Link/Link.spec.tsx +43 -0
  167. package/src/components/ui/Link/Link.stories.tsx +55 -0
  168. package/src/components/ui/Link/Link.tsx +42 -0
  169. package/src/components/ui/Link/index.ts +1 -0
  170. package/src/components/ui/Loading/Loading.module.css +33 -0
  171. package/src/components/ui/Loading/Loading.spec.tsx +19 -0
  172. package/src/components/ui/Loading/Loading.stories.tsx +27 -0
  173. package/src/components/ui/Loading/Loading.tsx +15 -0
  174. package/src/components/ui/Loading/index.ts +1 -0
  175. package/src/components/ui/NotificationBanner/NotificationBanner.module.css +79 -0
  176. package/src/components/ui/NotificationBanner/NotificationBanner.spec.tsx +42 -0
  177. package/src/components/ui/NotificationBanner/NotificationBanner.stories.tsx +30 -0
  178. package/src/components/ui/NotificationBanner/NotificationBanner.tsx +45 -0
  179. package/src/components/ui/NotificationBanner/index.ts +1 -0
  180. package/src/components/ui/Pagination/Pagination.module.css +78 -0
  181. package/src/components/ui/Pagination/Pagination.spec.tsx +67 -0
  182. package/src/components/ui/Pagination/Pagination.stories.tsx +40 -0
  183. package/src/components/ui/Pagination/Pagination.tsx +87 -0
  184. package/src/components/ui/Pagination/index.ts +1 -0
  185. package/src/components/ui/Progress/Progress.module.css +51 -0
  186. package/src/components/ui/Progress/Progress.spec.tsx +55 -0
  187. package/src/components/ui/Progress/Progress.stories.tsx +30 -0
  188. package/src/components/ui/Progress/Progress.tsx +43 -0
  189. package/src/components/ui/Progress/index.ts +1 -0
  190. package/src/components/ui/ProgressCircle/ProgressCircle.module.css +40 -0
  191. package/src/components/ui/ProgressCircle/ProgressCircle.spec.tsx +34 -0
  192. package/src/components/ui/ProgressCircle/ProgressCircle.stories.tsx +18 -0
  193. package/src/components/ui/ProgressCircle/ProgressCircle.tsx +75 -0
  194. package/src/components/ui/ProgressCircle/index.ts +1 -0
  195. package/src/components/ui/Separator/Separator.module.css +23 -0
  196. package/src/components/ui/Separator/Separator.spec.tsx +30 -0
  197. package/src/components/ui/Separator/Separator.stories.tsx +40 -0
  198. package/src/components/ui/Separator/Separator.tsx +21 -0
  199. package/src/components/ui/Separator/index.ts +1 -0
  200. package/src/components/ui/Skeleton/Skeleton.module.css +24 -0
  201. package/src/components/ui/Skeleton/Skeleton.spec.tsx +19 -0
  202. package/src/components/ui/Skeleton/Skeleton.stories.tsx +25 -0
  203. package/src/components/ui/Skeleton/Skeleton.tsx +12 -0
  204. package/src/components/ui/Skeleton/index.ts +1 -0
  205. package/src/components/ui/SkipLink/SkipLink.module.css +30 -0
  206. package/src/components/ui/SkipLink/SkipLink.spec.tsx +24 -0
  207. package/src/components/ui/SkipLink/SkipLink.stories.tsx +24 -0
  208. package/src/components/ui/SkipLink/SkipLink.tsx +14 -0
  209. package/src/components/ui/SkipLink/index.ts +1 -0
  210. package/src/components/ui/Table/Table.module.css +111 -0
  211. package/src/components/ui/Table/Table.spec.tsx +69 -0
  212. package/src/components/ui/Table/Table.stories.tsx +53 -0
  213. package/src/components/ui/Table/Table.tsx +98 -0
  214. package/src/components/ui/Table/index.ts +1 -0
  215. package/src/components/ui/Tabs/Tabs.module.css +61 -0
  216. package/src/components/ui/Tabs/Tabs.spec.tsx +91 -0
  217. package/src/components/ui/Tabs/Tabs.stories.tsx +59 -0
  218. package/src/components/ui/Tabs/Tabs.tsx +100 -0
  219. package/src/components/ui/Tabs/index.ts +1 -0
  220. package/src/components/ui/Tooltip/Tooltip.module.css +69 -0
  221. package/src/components/ui/Tooltip/Tooltip.spec.tsx +46 -0
  222. package/src/components/ui/Tooltip/Tooltip.stories.tsx +69 -0
  223. package/src/components/ui/Tooltip/Tooltip.tsx +38 -0
  224. package/src/components/ui/Tooltip/index.ts +1 -0
  225. package/src/components/ui/Typography/Typography.module.css +41 -0
  226. package/src/components/ui/Typography/Typography.spec.tsx +39 -0
  227. package/src/components/ui/Typography/Typography.stories.tsx +31 -0
  228. package/src/components/ui/Typography/Typography.tsx +28 -0
  229. package/src/components/ui/Typography/index.ts +1 -0
  230. package/src/css/index.css +55 -0
  231. package/src/index.ts +54 -0
  232. package/src/test/setup.ts +1 -0
  233. package/src/typings.d.ts +4 -0
@@ -0,0 +1,453 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { JSX } from 'react/jsx-runtime';
3
+ import { ReactNode, ElementType, ComponentPropsWithoutRef, ReactElement, MouseEventHandler, InputHTMLAttributes, SelectHTMLAttributes, TextareaHTMLAttributes, CSSProperties } from 'react';
4
+ export { cn } from '@boostdev/design-system-foundation';
5
+
6
+ interface AccordionItem {
7
+ id: string;
8
+ title: ReactNode;
9
+ content: ReactNode;
10
+ disabled?: boolean;
11
+ }
12
+ interface AccordionProps {
13
+ items: AccordionItem[];
14
+ allowMultiple?: boolean;
15
+ defaultOpen?: string[];
16
+ className?: string;
17
+ }
18
+ declare function Accordion({ items, allowMultiple, defaultOpen, className, }: Readonly<AccordionProps>): react_jsx_runtime.JSX.Element;
19
+
20
+ interface AlertProps {
21
+ variant?: 'info' | 'success' | 'warning' | 'error';
22
+ icon?: ReactNode;
23
+ title?: string;
24
+ children: ReactNode;
25
+ onDismiss?: () => void;
26
+ className?: string;
27
+ }
28
+ declare function Alert({ variant, icon, title, children, onDismiss, className, }: Readonly<AlertProps>): react_jsx_runtime.JSX.Element;
29
+
30
+ interface AvatarProps {
31
+ src?: string;
32
+ alt?: string;
33
+ name?: string;
34
+ size?: 'small' | 'medium' | 'large';
35
+ className?: string;
36
+ }
37
+ declare function Avatar({ src, alt, name, size, className }: Readonly<AvatarProps>): react_jsx_runtime.JSX.Element;
38
+
39
+ interface BadgeProps {
40
+ children: ReactNode;
41
+ variant?: 'primary' | 'secondary' | 'success' | 'error' | 'warning';
42
+ className?: string;
43
+ }
44
+ declare function Badge({ children, variant, className }: BadgeProps): react_jsx_runtime.JSX.Element;
45
+
46
+ interface BreadcrumbItem {
47
+ label: string;
48
+ href?: string;
49
+ }
50
+ interface BreadcrumbProps {
51
+ items: BreadcrumbItem[];
52
+ className?: string;
53
+ }
54
+ declare function Breadcrumb({ items, className }: Readonly<BreadcrumbProps>): react_jsx_runtime.JSX.Element;
55
+
56
+ interface CalendarProps {
57
+ value?: Date;
58
+ defaultValue?: Date;
59
+ min?: Date;
60
+ max?: Date;
61
+ onChange?: (date: Date) => void;
62
+ className?: string;
63
+ }
64
+ declare function Calendar({ value, defaultValue, min, max, onChange, className }: Readonly<CalendarProps>): react_jsx_runtime.JSX.Element;
65
+
66
+ interface CarouselProps {
67
+ items: ReactNode[];
68
+ label: string;
69
+ className?: string;
70
+ }
71
+ declare function Carousel({ items, label, className }: Readonly<CarouselProps>): react_jsx_runtime.JSX.Element;
72
+
73
+ interface DescriptionItem {
74
+ term: ReactNode;
75
+ details: ReactNode | ReactNode[];
76
+ }
77
+ interface DescriptionListProps {
78
+ items: DescriptionItem[];
79
+ layout?: 'stacked' | 'inline';
80
+ className?: string;
81
+ }
82
+ declare function DescriptionList({ items, layout, className }: Readonly<DescriptionListProps>): react_jsx_runtime.JSX.Element;
83
+
84
+ type LinkOwnProps<T extends ElementType> = {
85
+ as?: T;
86
+ children: ReactNode;
87
+ variant?: 'default' | 'subtle' | 'standalone';
88
+ external?: boolean;
89
+ className?: string;
90
+ };
91
+ type LinkProps<T extends ElementType = 'a'> = LinkOwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof LinkOwnProps<T>>;
92
+ declare function Link<T extends ElementType = 'a'>({ as, children, variant, external, className, ...props }: LinkProps<T>): react_jsx_runtime.JSX.Element;
93
+
94
+ interface LoadingProps {
95
+ size?: 'small' | 'medium' | 'large';
96
+ className?: string;
97
+ }
98
+ declare function Loading({ size, className }: LoadingProps): react_jsx_runtime.JSX.Element;
99
+
100
+ interface NotificationBannerProps {
101
+ variant?: 'info' | 'success' | 'warning' | 'error';
102
+ children: ReactNode;
103
+ action?: ReactNode;
104
+ onDismiss?: () => void;
105
+ className?: string;
106
+ }
107
+ declare function NotificationBanner({ variant, children, action, onDismiss, className, }: Readonly<NotificationBannerProps>): react_jsx_runtime.JSX.Element;
108
+
109
+ interface PaginationProps {
110
+ currentPage: number;
111
+ totalPages: number;
112
+ onPageChange: (page: number) => void;
113
+ className?: string;
114
+ }
115
+ declare function Pagination({ currentPage, totalPages, onPageChange, className, }: Readonly<PaginationProps>): react_jsx_runtime.JSX.Element;
116
+
117
+ interface ProgressProps {
118
+ value: number;
119
+ max?: number;
120
+ label: string;
121
+ showLabel?: boolean;
122
+ size?: 'small' | 'medium' | 'large';
123
+ className?: string;
124
+ }
125
+ declare function Progress({ value, max, label, showLabel, size, className, }: Readonly<ProgressProps>): react_jsx_runtime.JSX.Element;
126
+
127
+ interface ProgressCircleProps {
128
+ value: number;
129
+ max?: number;
130
+ label: string;
131
+ showValue?: boolean;
132
+ size?: 'small' | 'medium' | 'large';
133
+ className?: string;
134
+ }
135
+ declare function ProgressCircle({ value, max, label, showValue, size, className, }: Readonly<ProgressCircleProps>): react_jsx_runtime.JSX.Element;
136
+
137
+ interface SeparatorProps {
138
+ orientation?: 'horizontal' | 'vertical';
139
+ className?: string;
140
+ }
141
+ declare function Separator({ orientation, className }: Readonly<SeparatorProps>): react_jsx_runtime.JSX.Element;
142
+
143
+ interface SkeletonProps {
144
+ className?: string;
145
+ }
146
+ declare function Skeleton({ className }: SkeletonProps): react_jsx_runtime.JSX.Element;
147
+
148
+ interface SkipLinkProps {
149
+ href?: string;
150
+ children?: string;
151
+ }
152
+ declare function SkipLink({ href, children }: SkipLinkProps): react_jsx_runtime.JSX.Element;
153
+
154
+ interface TableColumn<Row> {
155
+ key: string;
156
+ header: ReactNode;
157
+ sortable?: boolean;
158
+ render?: (row: Row) => ReactNode;
159
+ }
160
+ interface TableProps<Row extends Record<string, unknown>> {
161
+ columns: TableColumn<Row>[];
162
+ rows: Row[];
163
+ caption?: string;
164
+ sortKey?: string;
165
+ sortDirection?: 'asc' | 'desc';
166
+ onSort?: (key: string, direction: 'asc' | 'desc') => void;
167
+ className?: string;
168
+ }
169
+ declare function Table<Row extends Record<string, unknown>>({ columns, rows, caption, sortKey, sortDirection, onSort, className, }: Readonly<TableProps<Row>>): react_jsx_runtime.JSX.Element;
170
+
171
+ interface TabItem {
172
+ id: string;
173
+ label: ReactNode;
174
+ content: ReactNode;
175
+ disabled?: boolean;
176
+ }
177
+ interface TabsProps {
178
+ tabs: TabItem[];
179
+ defaultTab?: string;
180
+ className?: string;
181
+ }
182
+ declare function Tabs({ tabs, defaultTab, className }: Readonly<TabsProps>): react_jsx_runtime.JSX.Element;
183
+
184
+ interface TooltipProps {
185
+ content: ReactNode;
186
+ placement?: 'top' | 'bottom' | 'left' | 'right';
187
+ children: ReactElement;
188
+ className?: string;
189
+ }
190
+ declare function Tooltip({ content, placement, children, className, }: Readonly<TooltipProps>): react_jsx_runtime.JSX.Element;
191
+
192
+ type TypographyVariant = 'h1' | 'h2' | 'h3' | 'body' | 'body_s';
193
+ interface TypographyProps {
194
+ variant?: TypographyVariant;
195
+ component?: ElementType;
196
+ children: ReactNode;
197
+ className?: string;
198
+ }
199
+ declare function Typography({ variant, component, children, className }: TypographyProps): react_jsx_runtime.JSX.Element;
200
+
201
+ interface ButtonProps {
202
+ href?: string;
203
+ variant?: 'primary' | 'secondary';
204
+ type?: 'button' | 'submit' | 'reset';
205
+ size?: 'small' | 'medium' | 'large';
206
+ iconStart?: ReactNode;
207
+ iconEnd?: ReactNode;
208
+ children?: ReactNode;
209
+ className?: string;
210
+ disabled?: boolean;
211
+ hasPulse?: boolean;
212
+ onClick?: MouseEventHandler<HTMLElement>;
213
+ target?: string;
214
+ rel?: string;
215
+ 'aria-label'?: string;
216
+ 'aria-describedby'?: string;
217
+ }
218
+ declare function Button({ children, className, variant, type, iconStart, iconEnd, size, hasPulse, href, target, rel, disabled, onClick, ...rest }: Readonly<ButtonProps>): react_jsx_runtime.JSX.Element;
219
+
220
+ interface CommandItem {
221
+ id: string;
222
+ label: string;
223
+ description?: string;
224
+ group?: string;
225
+ shortcut?: string;
226
+ onSelect: () => void;
227
+ }
228
+ interface CommandProps {
229
+ isOpen: boolean;
230
+ onClose: () => void;
231
+ items: CommandItem[];
232
+ placeholder?: string;
233
+ className?: string;
234
+ }
235
+ declare function Command({ isOpen, onClose, items, placeholder, className, }: Readonly<CommandProps>): react_jsx_runtime.JSX.Element;
236
+
237
+ interface DialogProps {
238
+ children: ReactNode;
239
+ className?: string;
240
+ isVisible?: boolean;
241
+ handleClose?: () => void;
242
+ }
243
+ declare function Dialog({ children, isVisible, className, handleClose }: DialogProps): react_jsx_runtime.JSX.Element;
244
+
245
+ interface DrawerProps {
246
+ isOpen: boolean;
247
+ onClose: () => void;
248
+ title: string;
249
+ children: ReactNode;
250
+ side?: 'left' | 'right';
251
+ className?: string;
252
+ }
253
+ declare function Drawer({ isOpen, onClose, title, children, side, className, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
254
+
255
+ interface DropdownMenuItem {
256
+ id: string;
257
+ label: string;
258
+ onClick?: () => void;
259
+ disabled?: boolean;
260
+ icon?: ReactElement;
261
+ separator?: boolean;
262
+ }
263
+ interface DropdownMenuProps {
264
+ trigger: ReactElement;
265
+ items: DropdownMenuItem[];
266
+ placement?: 'bottom-start' | 'bottom-end';
267
+ className?: string;
268
+ }
269
+ declare function DropdownMenu({ trigger, items, placement, className, }: Readonly<DropdownMenuProps>): react_jsx_runtime.JSX.Element;
270
+
271
+ interface PopoverProps {
272
+ children: ReactElement;
273
+ content: ReactNode;
274
+ placement?: 'top' | 'bottom' | 'left' | 'right';
275
+ className?: string;
276
+ }
277
+ declare function Popover({ children, content, placement, className, }: Readonly<PopoverProps>): react_jsx_runtime.JSX.Element;
278
+
279
+ interface RatingProps {
280
+ value: number;
281
+ max?: number;
282
+ className?: string;
283
+ }
284
+ declare function Rating({ value, max, className }: RatingProps): react_jsx_runtime.JSX.Element;
285
+
286
+ type ToastVariant = 'success' | 'error' | 'info';
287
+ interface ToastContextType {
288
+ showToast: (message: string, variant: ToastVariant) => void;
289
+ }
290
+ declare function ToastProvider({ children }: {
291
+ children: ReactNode;
292
+ }): react_jsx_runtime.JSX.Element;
293
+ declare function useToast(): ToastContextType;
294
+
295
+ interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
296
+ label: string;
297
+ name: string;
298
+ error?: string;
299
+ hint?: string;
300
+ className?: string;
301
+ }
302
+ declare function Checkbox({ label, name, error, hint, className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
303
+
304
+ interface ComboboxOption {
305
+ value: string;
306
+ label: string;
307
+ disabled?: boolean;
308
+ }
309
+ interface ComboboxProps {
310
+ label: ReactNode;
311
+ name: string;
312
+ options: ComboboxOption[];
313
+ placeholder?: string;
314
+ value?: string;
315
+ onChange?: (value: string) => void;
316
+ error?: string;
317
+ hint?: string;
318
+ className?: string;
319
+ }
320
+ declare function Combobox({ label, name, options, placeholder, value, onChange, error, hint, className, }: Readonly<ComboboxProps>): react_jsx_runtime.JSX.Element;
321
+
322
+ interface FileInputProps {
323
+ label: string;
324
+ name: string;
325
+ accept?: string;
326
+ multiple?: boolean;
327
+ disabled?: boolean;
328
+ error?: string;
329
+ hint?: string;
330
+ onChange?: (files: FileList | null) => void;
331
+ className?: string;
332
+ }
333
+ declare function FileInput({ label, name, accept, multiple, disabled, error, hint, onChange, className, }: Readonly<FileInputProps>): react_jsx_runtime.JSX.Element;
334
+
335
+ interface FormInputProps extends InputHTMLAttributes<HTMLInputElement> {
336
+ label: ReactNode;
337
+ name: string;
338
+ ariaLabel?: string;
339
+ error?: string;
340
+ hint?: string;
341
+ className?: string;
342
+ }
343
+ declare function FormInput({ label, name, ariaLabel, error, hint, className, ...props }: FormInputProps): react_jsx_runtime.JSX.Element;
344
+
345
+ interface NumberInputProps {
346
+ label: string;
347
+ name: string;
348
+ value?: number;
349
+ defaultValue?: number;
350
+ min?: number;
351
+ max?: number;
352
+ step?: number;
353
+ disabled?: boolean;
354
+ error?: string;
355
+ hint?: string;
356
+ onChange?: (value: number) => void;
357
+ className?: string;
358
+ }
359
+ declare function NumberInput({ label, name, value, defaultValue, min, max, step, disabled, error, hint, onChange, className, }: Readonly<NumberInputProps>): react_jsx_runtime.JSX.Element;
360
+
361
+ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
362
+ label: string;
363
+ name: string;
364
+ error?: string;
365
+ hint?: string;
366
+ className?: string;
367
+ }
368
+ declare function Radio({ label, name, error, hint, className, ...props }: RadioProps): react_jsx_runtime.JSX.Element;
369
+
370
+ interface SelectOption {
371
+ value: string;
372
+ label: string;
373
+ disabled?: boolean;
374
+ }
375
+ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'children'> {
376
+ label: ReactNode;
377
+ name: string;
378
+ options: SelectOption[];
379
+ placeholder?: string;
380
+ error?: string;
381
+ hint?: string;
382
+ className?: string;
383
+ }
384
+ declare function Select({ label, name, options, placeholder, error, hint, className, ...props }: Readonly<SelectProps>): react_jsx_runtime.JSX.Element;
385
+
386
+ interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
387
+ label: string;
388
+ name: string;
389
+ min?: number;
390
+ max?: number;
391
+ showValue?: boolean;
392
+ error?: string;
393
+ hint?: string;
394
+ className?: string;
395
+ }
396
+ declare function Slider({ label, name, min, max, showValue, error, hint, className, onChange, ...props }: Readonly<SliderProps>): react_jsx_runtime.JSX.Element;
397
+
398
+ interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
399
+ label: string;
400
+ name: string;
401
+ size?: 'small' | 'medium' | 'large';
402
+ error?: string;
403
+ hint?: string;
404
+ className?: string;
405
+ }
406
+ declare function Switch({ label, name, size, error, hint, className, ...props }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
407
+
408
+ interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
409
+ label: ReactNode;
410
+ name: string;
411
+ error?: string;
412
+ hint?: string;
413
+ className?: string;
414
+ }
415
+ declare function Textarea({ label, name, error, hint, className, ...props }: Readonly<TextareaProps>): react_jsx_runtime.JSX.Element;
416
+
417
+ interface ButtonGroupProps {
418
+ children: ReactNode;
419
+ className?: string;
420
+ variant?: 'flow' | 'card' | 'modal' | 'content';
421
+ }
422
+ declare function ButtonGroup({ children, className, variant }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
423
+
424
+ interface CardProps {
425
+ children: ReactNode;
426
+ className?: string;
427
+ variant?: 'default' | 'elevated' | 'outlined';
428
+ padding?: 'none' | 'small' | 'medium' | 'large';
429
+ textAlign?: 'start' | 'center' | 'end';
430
+ style?: CSSProperties;
431
+ onClick?: () => void;
432
+ }
433
+ declare function Card({ children, className, variant, padding, textAlign, style, onClick, }: CardProps): react_jsx_runtime.JSX.Element;
434
+
435
+ type IntrinsicElements = JSX.IntrinsicElements;
436
+ type IntrinsicElement = keyof IntrinsicElements;
437
+ type SectionHeaderProps = {
438
+ title: string;
439
+ subtitle?: string;
440
+ className?: string;
441
+ alignment?: 'start' | 'center' | 'end';
442
+ size?: 'small' | 'medium' | 'large';
443
+ titleAs?: IntrinsicElement;
444
+ };
445
+ declare function SectionHeader({ title, subtitle, className, alignment, size, titleAs }: Readonly<SectionHeaderProps>): JSX.Element;
446
+
447
+ interface Props {
448
+ children: ReactNode;
449
+ className?: string;
450
+ }
451
+ declare function IconWrapper({ children, className }: Props): react_jsx_runtime.JSX.Element;
452
+
453
+ export { Accordion, Alert, Avatar, Badge, Breadcrumb, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Combobox, Command, type CommandItem, DescriptionList, Dialog, Drawer, DropdownMenu, FileInput, FormInput, IconWrapper, Link, Loading, NotificationBanner, NumberInput, Pagination, Popover, Progress, ProgressCircle, Radio, Rating, SectionHeader, Select, Separator, Skeleton, SkipLink, Slider, Switch, Table, Tabs, Textarea, ToastProvider, Tooltip, Typography, useToast };