@boostdev/design-system-components 1.2.3 → 1.2.4

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 (191) hide show
  1. package/README.md +29 -1
  2. package/dist/client.cjs +50 -50
  3. package/dist/client.css +470 -470
  4. package/dist/client.js +50 -50
  5. package/dist/index.cjs +50 -50
  6. package/dist/index.css +470 -470
  7. package/dist/index.js +50 -50
  8. package/dist/native/index.cjs +3692 -352
  9. package/dist/native/index.d.cts +359 -3
  10. package/dist/native/index.d.ts +359 -3
  11. package/dist/native/index.js +3811 -364
  12. package/package.json +1 -1
  13. package/src/components/interaction/Button/Button.native.stories.tsx +10 -12
  14. package/src/components/interaction/Button/Button.native.tsx +3 -3
  15. package/src/components/interaction/Dialog/Dialog.native.mdx +61 -0
  16. package/src/components/interaction/Dialog/Dialog.native.spec.tsx +73 -0
  17. package/src/components/interaction/Dialog/Dialog.native.stories.tsx +53 -0
  18. package/src/components/interaction/Dialog/Dialog.native.tsx +128 -0
  19. package/src/components/interaction/Drawer/Drawer.native.mdx +58 -0
  20. package/src/components/interaction/Drawer/Drawer.native.spec.tsx +81 -0
  21. package/src/components/interaction/Drawer/Drawer.native.stories.tsx +33 -0
  22. package/src/components/interaction/Drawer/Drawer.native.tsx +175 -0
  23. package/src/components/interaction/DropdownMenu/DropdownMenu.native.mdx +74 -0
  24. package/src/components/interaction/DropdownMenu/DropdownMenu.native.spec.tsx +78 -0
  25. package/src/components/interaction/DropdownMenu/DropdownMenu.native.stories.tsx +51 -0
  26. package/src/components/interaction/DropdownMenu/DropdownMenu.native.tsx +254 -0
  27. package/src/components/interaction/Popover/Popover.native.mdx +61 -0
  28. package/src/components/interaction/Popover/Popover.native.spec.tsx +73 -0
  29. package/src/components/interaction/Popover/Popover.native.stories.tsx +44 -0
  30. package/src/components/interaction/Popover/Popover.native.tsx +87 -0
  31. package/src/components/interaction/Rating/Rating.native.mdx +55 -0
  32. package/src/components/interaction/Rating/Rating.native.spec.tsx +38 -0
  33. package/src/components/interaction/Rating/Rating.native.stories.tsx +37 -0
  34. package/src/components/interaction/Rating/Rating.native.tsx +50 -0
  35. package/src/components/interaction/Toast/Toast.native.mdx +81 -0
  36. package/src/components/interaction/Toast/Toast.native.spec.tsx +80 -0
  37. package/src/components/interaction/Toast/Toast.native.stories.tsx +47 -0
  38. package/src/components/interaction/Toast/Toast.native.tsx +202 -0
  39. package/src/components/interaction/form/Checkbox/Checkbox.native.stories.tsx +2 -4
  40. package/src/components/interaction/form/Checkbox/Checkbox.native.tsx +1 -1
  41. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.mdx +78 -0
  42. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.spec.tsx +57 -0
  43. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.stories.tsx +96 -0
  44. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.tsx +61 -0
  45. package/src/components/interaction/form/Combobox/Combobox.native.mdx +86 -0
  46. package/src/components/interaction/form/Combobox/Combobox.native.spec.tsx +60 -0
  47. package/src/components/interaction/form/Combobox/Combobox.native.stories.tsx +99 -0
  48. package/src/components/interaction/form/Combobox/Combobox.native.tsx +211 -0
  49. package/src/components/interaction/form/FileInput/FileInput.native.mdx +86 -0
  50. package/src/components/interaction/form/FileInput/FileInput.native.spec.tsx +73 -0
  51. package/src/components/interaction/form/FileInput/FileInput.native.stories.tsx +69 -0
  52. package/src/components/interaction/form/FileInput/FileInput.native.tsx +129 -0
  53. package/src/components/interaction/form/FormInput/FormInput.native.mdx +81 -0
  54. package/src/components/interaction/form/FormInput/FormInput.native.spec.tsx +51 -0
  55. package/src/components/interaction/form/FormInput/FormInput.native.stories.tsx +54 -0
  56. package/src/components/interaction/form/FormInput/FormInput.native.tsx +122 -0
  57. package/src/components/interaction/form/NumberInput/NumberInput.native.mdx +87 -0
  58. package/src/components/interaction/form/NumberInput/NumberInput.native.spec.tsx +63 -0
  59. package/src/components/interaction/form/NumberInput/NumberInput.native.stories.tsx +63 -0
  60. package/src/components/interaction/form/NumberInput/NumberInput.native.tsx +198 -0
  61. package/src/components/interaction/form/Radio/Radio.native.spec.tsx +79 -0
  62. package/src/components/interaction/form/Radio/Radio.native.stories.tsx +12 -14
  63. package/src/components/interaction/form/Radio/Radio.native.tsx +1 -1
  64. package/src/components/interaction/form/RadioGroup/RadioGroup.native.mdx +79 -0
  65. package/src/components/interaction/form/RadioGroup/RadioGroup.native.spec.tsx +66 -0
  66. package/src/components/interaction/form/RadioGroup/RadioGroup.native.stories.tsx +96 -0
  67. package/src/components/interaction/form/RadioGroup/RadioGroup.native.tsx +61 -0
  68. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.mdx +78 -0
  69. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.spec.tsx +82 -0
  70. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.stories.tsx +99 -0
  71. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.tsx +121 -0
  72. package/src/components/interaction/form/Select/Select.native.mdx +85 -0
  73. package/src/components/interaction/form/Select/Select.native.spec.tsx +64 -0
  74. package/src/components/interaction/form/Select/Select.native.stories.tsx +75 -0
  75. package/src/components/interaction/form/Select/Select.native.tsx +252 -0
  76. package/src/components/interaction/form/Slider/Slider.native.mdx +83 -0
  77. package/src/components/interaction/form/Slider/Slider.native.spec.tsx +51 -0
  78. package/src/components/interaction/form/Slider/Slider.native.stories.tsx +58 -0
  79. package/src/components/interaction/form/Slider/Slider.native.tsx +188 -0
  80. package/src/components/interaction/form/Switch/Switch.native.stories.tsx +2 -4
  81. package/src/components/interaction/form/Textarea/Textarea.native.mdx +76 -0
  82. package/src/components/interaction/form/Textarea/Textarea.native.spec.tsx +50 -0
  83. package/src/components/interaction/form/Textarea/Textarea.native.stories.tsx +50 -0
  84. package/src/components/interaction/form/Textarea/Textarea.native.tsx +108 -0
  85. package/src/components/interaction/form/atoms/Label.native.spec.tsx +39 -0
  86. package/src/components/interaction/form/atoms/Label.native.stories.tsx +1 -1
  87. package/src/components/interaction/form/atoms/Message.native.stories.tsx +1 -1
  88. package/src/components/layout/ButtonGroup/ButtonGroup.native.spec.tsx +83 -0
  89. package/src/components/layout/ButtonGroup/ButtonGroup.native.stories.tsx +13 -19
  90. package/src/components/layout/Card/Card.native.spec.tsx +102 -0
  91. package/src/components/layout/Card/Card.native.stories.tsx +9 -11
  92. package/src/components/layout/Card/Card.native.tsx +1 -1
  93. package/src/components/layout/IconWrapper/IconWrapper.native.stories.tsx +7 -11
  94. package/src/components/layout/SectionHeader/SectionHeader.native.spec.tsx +51 -0
  95. package/src/components/layout/SectionHeader/SectionHeader.native.stories.tsx +6 -8
  96. package/src/components/ui/Accordion/Accordion.native.mdx +65 -0
  97. package/src/components/ui/Accordion/Accordion.native.spec.tsx +69 -0
  98. package/src/components/ui/Accordion/Accordion.native.stories.tsx +52 -0
  99. package/src/components/ui/Accordion/Accordion.native.tsx +141 -0
  100. package/src/components/ui/Alert/Alert.native.spec.tsx +76 -0
  101. package/src/components/ui/Alert/Alert.native.stories.tsx +8 -10
  102. package/src/components/ui/Alert/Alert.native.tsx +7 -7
  103. package/src/components/ui/Avatar/Avatar.native.stories.tsx +6 -8
  104. package/src/components/ui/Avatar/Avatar.native.tsx +2 -2
  105. package/src/components/ui/Badge/Badge.native.spec.tsx +45 -0
  106. package/src/components/ui/Badge/Badge.native.stories.tsx +6 -8
  107. package/src/components/ui/Badge/Badge.native.tsx +2 -2
  108. package/src/components/ui/Breadcrumb/Breadcrumb.native.mdx +52 -0
  109. package/src/components/ui/Breadcrumb/Breadcrumb.native.spec.tsx +49 -0
  110. package/src/components/ui/Breadcrumb/Breadcrumb.native.stories.tsx +46 -0
  111. package/src/components/ui/Breadcrumb/Breadcrumb.native.tsx +83 -0
  112. package/src/components/ui/Calendar/Calendar.native.mdx +58 -0
  113. package/src/components/ui/Calendar/Calendar.native.spec.tsx +92 -0
  114. package/src/components/ui/Calendar/Calendar.native.stories.tsx +45 -0
  115. package/src/components/ui/Calendar/Calendar.native.tsx +294 -0
  116. package/src/components/ui/Carousel/Carousel.native.mdx +55 -0
  117. package/src/components/ui/Carousel/Carousel.native.spec.tsx +55 -0
  118. package/src/components/ui/Carousel/Carousel.native.stories.tsx +59 -0
  119. package/src/components/ui/Carousel/Carousel.native.tsx +184 -0
  120. package/src/components/ui/Collapsible/Collapsible.native.mdx +53 -0
  121. package/src/components/ui/Collapsible/Collapsible.native.spec.tsx +68 -0
  122. package/src/components/ui/Collapsible/Collapsible.native.stories.tsx +48 -0
  123. package/src/components/ui/Collapsible/Collapsible.native.tsx +139 -0
  124. package/src/components/ui/DescriptionList/DescriptionList.native.mdx +50 -0
  125. package/src/components/ui/DescriptionList/DescriptionList.native.spec.tsx +37 -0
  126. package/src/components/ui/DescriptionList/DescriptionList.native.stories.tsx +48 -0
  127. package/src/components/ui/DescriptionList/DescriptionList.native.tsx +54 -0
  128. package/src/components/ui/Link/Link.native.mdx +53 -0
  129. package/src/components/ui/Link/Link.native.spec.tsx +35 -0
  130. package/src/components/ui/Link/Link.native.stories.tsx +46 -0
  131. package/src/components/ui/Link/Link.native.tsx +48 -0
  132. package/src/components/ui/Loading/Loading.native.stories.tsx +6 -8
  133. package/src/components/ui/NotificationBanner/NotificationBanner.native.spec.tsx +85 -0
  134. package/src/components/ui/NotificationBanner/NotificationBanner.native.stories.tsx +8 -10
  135. package/src/components/ui/NotificationBanner/NotificationBanner.native.tsx +7 -7
  136. package/src/components/ui/Pagination/Pagination.native.mdx +62 -0
  137. package/src/components/ui/Pagination/Pagination.native.spec.tsx +86 -0
  138. package/src/components/ui/Pagination/Pagination.native.stories.tsx +47 -0
  139. package/src/components/ui/Pagination/Pagination.native.tsx +157 -0
  140. package/src/components/ui/Progress/Progress.native.spec.tsx +56 -0
  141. package/src/components/ui/Progress/Progress.native.stories.tsx +1 -1
  142. package/src/components/ui/Progress/Progress.native.tsx +2 -2
  143. package/src/components/ui/ProgressCircle/ProgressCircle.native.mdx +63 -0
  144. package/src/components/ui/ProgressCircle/ProgressCircle.native.spec.tsx +39 -0
  145. package/src/components/ui/ProgressCircle/ProgressCircle.native.stories.tsx +36 -0
  146. package/src/components/ui/ProgressCircle/ProgressCircle.native.tsx +176 -0
  147. package/src/components/ui/Separator/Separator.native.spec.tsx +39 -0
  148. package/src/components/ui/Separator/Separator.native.stories.tsx +10 -14
  149. package/src/components/ui/Skeleton/Skeleton.native.spec.tsx +39 -0
  150. package/src/components/ui/Skeleton/Skeleton.native.stories.tsx +6 -8
  151. package/src/components/ui/Skeleton/Skeleton.native.tsx +2 -1
  152. package/src/components/ui/Table/Table.native.mdx +72 -0
  153. package/src/components/ui/Table/Table.native.spec.tsx +83 -0
  154. package/src/components/ui/Table/Table.native.stories.tsx +55 -0
  155. package/src/components/ui/Table/Table.native.tsx +196 -0
  156. package/src/components/ui/Tabs/Tabs.native.mdx +65 -0
  157. package/src/components/ui/Tabs/Tabs.native.spec.tsx +65 -0
  158. package/src/components/ui/Tabs/Tabs.native.stories.tsx +57 -0
  159. package/src/components/ui/Tabs/Tabs.native.tsx +133 -0
  160. package/src/components/ui/Tooltip/Tooltip.native.mdx +47 -0
  161. package/src/components/ui/Tooltip/Tooltip.native.spec.tsx +37 -0
  162. package/src/components/ui/Tooltip/Tooltip.native.stories.tsx +38 -0
  163. package/src/components/ui/Tooltip/Tooltip.native.tsx +57 -0
  164. package/src/components/ui/Typography/Typography.native.spec.tsx +49 -0
  165. package/src/components/ui/Typography/Typography.native.stories.tsx +8 -10
  166. package/src/native/ThemeContext.tsx +3 -3
  167. package/src/native.ts +37 -0
  168. package/src/stories/ReactNative.mdx +48 -13
  169. package/src/web-components/interaction/BdsAccordion.stories.tsx +1 -1
  170. package/src/web-components/interaction/BdsCollapsible.stories.tsx +1 -1
  171. package/src/web-components/interaction/BdsSkipLink.stories.tsx +1 -1
  172. package/src/web-components/interaction/BdsTabs.stories.tsx +1 -1
  173. package/src/web-components/interaction/BdsTooltip.stories.tsx +1 -1
  174. package/src/web-components/interaction/form/BdsCheckbox.stories.tsx +1 -1
  175. package/src/web-components/interaction/form/BdsCheckboxGroup.stories.tsx +1 -1
  176. package/src/web-components/interaction/form/BdsCombobox.stories.tsx +1 -1
  177. package/src/web-components/interaction/form/BdsFileInput.stories.tsx +1 -1
  178. package/src/web-components/interaction/form/BdsFormInput.stories.tsx +1 -1
  179. package/src/web-components/interaction/form/BdsNumberInput.stories.tsx +1 -1
  180. package/src/web-components/interaction/form/BdsRadio.stories.tsx +1 -1
  181. package/src/web-components/interaction/form/BdsRadioGroup.stories.tsx +1 -1
  182. package/src/web-components/interaction/form/BdsSegmentedControl.stories.tsx +1 -1
  183. package/src/web-components/interaction/form/BdsSelect.stories.tsx +1 -1
  184. package/src/web-components/interaction/form/BdsSlider.stories.tsx +1 -1
  185. package/src/web-components/interaction/form/BdsSwitch.stories.tsx +1 -1
  186. package/src/web-components/interaction/form/BdsTextarea.stories.tsx +1 -1
  187. package/src/web-components/ui/BdsButtonGroup.stories.tsx +1 -1
  188. package/src/web-components/ui/BdsCard.stories.tsx +1 -1
  189. package/src/web-components/ui/BdsIconWrapper.stories.tsx +1 -1
  190. package/src/web-components/ui/BdsRating.stories.tsx +1 -1
  191. package/src/web-components/ui/BdsSectionHeader.stories.tsx +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode } from 'react';
2
+ import { ReactNode, ReactElement } from 'react';
3
3
  import { colors } from '@boostdev/design-system-foundation/native';
4
4
  export { animation, border, colors, font, spacing, zIndex } from '@boostdev/design-system-foundation/native';
5
5
  import { StyleProp, TextStyle, ViewStyle } from 'react-native';
@@ -19,8 +19,9 @@ interface ThemeContextValue {
19
19
  colors: ThemeColors;
20
20
  isDark: boolean;
21
21
  }
22
- declare function ThemeProvider({ children }: {
22
+ declare function ThemeProvider({ children, colorScheme }: {
23
23
  children: ReactNode;
24
+ colorScheme?: 'light' | 'dark';
24
25
  }): react_jsx_runtime.JSX.Element;
25
26
  declare function useTheme(): ThemeContextValue;
26
27
 
@@ -101,6 +102,140 @@ interface NotificationBannerProps {
101
102
  }
102
103
  declare function NotificationBanner({ variant, children, action, onDismiss, style, }: Readonly<NotificationBannerProps>): react_jsx_runtime.JSX.Element;
103
104
 
105
+ interface LinkProps {
106
+ href?: string;
107
+ children: ReactNode;
108
+ accessibilityLabel?: string;
109
+ style?: StyleProp<TextStyle>;
110
+ onPress?: () => void;
111
+ }
112
+ declare function Link({ href, children, accessibilityLabel, style, onPress }: Readonly<LinkProps>): react_jsx_runtime.JSX.Element;
113
+
114
+ interface DescriptionItem {
115
+ term: string;
116
+ description: ReactNode;
117
+ }
118
+ interface DescriptionListProps {
119
+ items: DescriptionItem[];
120
+ style?: StyleProp<ViewStyle>;
121
+ }
122
+ declare function DescriptionList({ items, style }: Readonly<DescriptionListProps>): react_jsx_runtime.JSX.Element;
123
+
124
+ interface BreadcrumbItem {
125
+ label: string;
126
+ onPress?: () => void;
127
+ }
128
+ interface BreadcrumbProps {
129
+ items: BreadcrumbItem[];
130
+ style?: StyleProp<ViewStyle>;
131
+ }
132
+ declare function Breadcrumb({ items, style }: Readonly<BreadcrumbProps>): react_jsx_runtime.JSX.Element;
133
+
134
+ type ProgressCircleSize = 'small' | 'medium' | 'large';
135
+ interface ProgressCircleProps {
136
+ value: number;
137
+ max?: number;
138
+ size?: ProgressCircleSize;
139
+ label: string;
140
+ showValue?: boolean;
141
+ style?: StyleProp<ViewStyle>;
142
+ }
143
+ declare function ProgressCircle({ value, max, size, label, showValue, style, }: Readonly<ProgressCircleProps>): react_jsx_runtime.JSX.Element;
144
+
145
+ interface TooltipProps {
146
+ content: string;
147
+ children: ReactNode;
148
+ style?: StyleProp<ViewStyle>;
149
+ }
150
+ declare function Tooltip({ content, children, style }: Readonly<TooltipProps>): react_jsx_runtime.JSX.Element;
151
+
152
+ interface PaginationProps {
153
+ currentPage: number;
154
+ totalPages: number;
155
+ onPageChange: (page: number) => void;
156
+ style?: StyleProp<ViewStyle>;
157
+ }
158
+ declare function Pagination({ currentPage, totalPages, onPageChange, style, }: Readonly<PaginationProps>): react_jsx_runtime.JSX.Element;
159
+
160
+ interface CollapsibleProps {
161
+ /** The trigger label -- always visible */
162
+ summary: string;
163
+ /** The content revealed when expanded */
164
+ children: ReactNode;
165
+ /** Controlled open state */
166
+ open?: boolean;
167
+ /** Uncontrolled initial open state */
168
+ defaultOpen?: boolean;
169
+ /** Called after each toggle with the new open state */
170
+ onToggle?: (open: boolean) => void;
171
+ /** Grouping name (informational in native) */
172
+ name?: string;
173
+ style?: StyleProp<ViewStyle>;
174
+ }
175
+ declare function Collapsible({ summary, children, open: controlledOpen, defaultOpen, onToggle, name: _name, // eslint-disable-line @typescript-eslint/no-unused-vars
176
+ style, }: Readonly<CollapsibleProps>): react_jsx_runtime.JSX.Element;
177
+
178
+ interface AccordionItem {
179
+ id: string;
180
+ title: ReactNode;
181
+ content: ReactNode;
182
+ disabled?: boolean;
183
+ }
184
+ interface AccordionProps {
185
+ items: AccordionItem[];
186
+ allowMultiple?: boolean;
187
+ defaultOpen?: string[];
188
+ style?: StyleProp<ViewStyle>;
189
+ }
190
+ declare function Accordion({ items, allowMultiple, defaultOpen, style, }: Readonly<AccordionProps>): react_jsx_runtime.JSX.Element;
191
+
192
+ interface TabItem {
193
+ id: string;
194
+ label: ReactNode;
195
+ content: ReactNode;
196
+ disabled?: boolean;
197
+ }
198
+ interface TabsProps {
199
+ tabs: TabItem[];
200
+ defaultTab?: string;
201
+ style?: StyleProp<ViewStyle>;
202
+ }
203
+ declare function Tabs({ tabs, defaultTab, style, }: Readonly<TabsProps>): react_jsx_runtime.JSX.Element;
204
+
205
+ interface TableColumn<Row> {
206
+ key: string;
207
+ header: ReactNode;
208
+ sortable?: boolean;
209
+ render?: (row: Row) => ReactNode;
210
+ }
211
+ interface TableProps<Row extends Record<string, unknown>> {
212
+ columns: TableColumn<Row>[];
213
+ rows: Row[];
214
+ caption?: string;
215
+ sortKey?: string;
216
+ sortDirection?: 'asc' | 'desc';
217
+ onSort?: (key: string, direction: 'asc' | 'desc') => void;
218
+ style?: StyleProp<ViewStyle>;
219
+ }
220
+ declare function Table<Row extends Record<string, unknown>>({ columns, rows, caption, sortKey, sortDirection, onSort, style, }: Readonly<TableProps<Row>>): react_jsx_runtime.JSX.Element;
221
+
222
+ interface CalendarProps {
223
+ value?: Date;
224
+ defaultValue?: Date;
225
+ min?: Date;
226
+ max?: Date;
227
+ onChange?: (date: Date) => void;
228
+ style?: StyleProp<ViewStyle>;
229
+ }
230
+ declare function Calendar({ value, defaultValue, min, max, onChange, style, }: Readonly<CalendarProps>): react_jsx_runtime.JSX.Element;
231
+
232
+ interface CarouselProps {
233
+ items: ReactNode[];
234
+ label: string;
235
+ style?: StyleProp<ViewStyle>;
236
+ }
237
+ declare function Carousel({ items, label, style, }: Readonly<CarouselProps>): react_jsx_runtime.JSX.Element;
238
+
104
239
  type CardVariant = 'default' | 'elevated' | 'outlined';
105
240
  type CardPadding = 'none' | 'small' | 'medium' | 'large';
106
241
  type CardAlign = 'start' | 'center' | 'end';
@@ -156,6 +291,14 @@ interface ButtonProps {
156
291
  }
157
292
  declare function Button({ children, variant, size, iconStart, iconEnd, disabled, onPress, accessibilityLabel, style, }: Readonly<ButtonProps>): react_jsx_runtime.JSX.Element;
158
293
 
294
+ interface RatingProps {
295
+ value: number;
296
+ max?: number;
297
+ style?: StyleProp<ViewStyle>;
298
+ accessibilityLabel?: string;
299
+ }
300
+ declare function Rating({ value, max, style, accessibilityLabel }: Readonly<RatingProps>): react_jsx_runtime.JSX.Element;
301
+
159
302
  interface SwitchProps {
160
303
  label: string;
161
304
  name: string;
@@ -180,6 +323,17 @@ interface CheckboxProps {
180
323
  }
181
324
  declare function Checkbox({ label, name, checked, onChange, disabled, error, hint, style, }: CheckboxProps): react_jsx_runtime.JSX.Element;
182
325
 
326
+ interface CheckboxGroupProps {
327
+ legend: string;
328
+ children: ReactNode;
329
+ error?: string;
330
+ hint?: string;
331
+ required?: boolean;
332
+ disabled?: boolean;
333
+ style?: StyleProp<ViewStyle>;
334
+ }
335
+ declare function CheckboxGroup({ legend, children, error, hint, required, disabled, style, }: Readonly<CheckboxGroupProps>): react_jsx_runtime.JSX.Element;
336
+
183
337
  interface RadioProps {
184
338
  label: ReactNode;
185
339
  name: string;
@@ -192,6 +346,208 @@ interface RadioProps {
192
346
  }
193
347
  declare function Radio({ label, name, checked, onChange, disabled, error, hint, style, }: RadioProps): react_jsx_runtime.JSX.Element;
194
348
 
349
+ interface RadioGroupProps {
350
+ legend: string;
351
+ children: ReactNode;
352
+ error?: string;
353
+ hint?: string;
354
+ required?: boolean;
355
+ disabled?: boolean;
356
+ style?: StyleProp<ViewStyle>;
357
+ }
358
+ declare function RadioGroup({ legend, children, error, hint, required, disabled, style, }: Readonly<RadioGroupProps>): react_jsx_runtime.JSX.Element;
359
+
360
+ interface FileInputProps {
361
+ label: string;
362
+ name: string;
363
+ accept?: string;
364
+ multiple?: boolean;
365
+ disabled?: boolean;
366
+ required?: boolean;
367
+ error?: string;
368
+ hint?: string;
369
+ /** Called when the file area is pressed. Wire up a native file picker (e.g. expo-document-picker). */
370
+ onSelect?: () => void;
371
+ /** File names to display (managed externally after picker resolves). */
372
+ fileNames?: string[];
373
+ style?: StyleProp<ViewStyle>;
374
+ }
375
+ declare function FileInput({ label, name, accept, disabled, required, error, hint, onSelect, fileNames, style, }: Readonly<FileInputProps>): react_jsx_runtime.JSX.Element;
376
+
377
+ interface ComboboxOption {
378
+ value: string;
379
+ label: string;
380
+ disabled?: boolean;
381
+ }
382
+ interface ComboboxProps {
383
+ label: string;
384
+ name: string;
385
+ options: ComboboxOption[];
386
+ placeholder?: string;
387
+ value?: string;
388
+ onChange?: (value: string) => void;
389
+ disabled?: boolean;
390
+ error?: string;
391
+ hint?: string;
392
+ style?: StyleProp<ViewStyle>;
393
+ }
394
+ declare function Combobox({ label, name, options, placeholder, value, onChange, disabled, error, hint, style, }: Readonly<ComboboxProps>): react_jsx_runtime.JSX.Element;
395
+
396
+ type SegmentedControlSize = 'small' | 'medium' | 'large';
397
+ type SegmentedControlVariant = 'outline' | 'filled';
398
+ interface SegmentedControlProps {
399
+ selectedIndex?: number;
400
+ disabled?: boolean;
401
+ size?: SegmentedControlSize;
402
+ variant?: SegmentedControlVariant;
403
+ children: ReactNode;
404
+ accessibilityLabel?: string;
405
+ onValueChange?: (index: number) => void;
406
+ style?: StyleProp<ViewStyle>;
407
+ }
408
+ declare function SegmentedControl({ selectedIndex, disabled, size, variant, children, accessibilityLabel, onValueChange, style, }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
409
+
410
+ type InputType = 'text' | 'email' | 'password' | 'tel' | 'url' | 'number' | 'search';
411
+ interface FormInputProps {
412
+ label: ReactNode;
413
+ name: string;
414
+ type?: InputType;
415
+ value?: string;
416
+ defaultValue?: string;
417
+ placeholder?: string;
418
+ error?: string;
419
+ hint?: string;
420
+ disabled?: boolean;
421
+ onChange?: (value: string) => void;
422
+ onBlur?: () => void;
423
+ onFocus?: () => void;
424
+ style?: StyleProp<ViewStyle>;
425
+ }
426
+ declare function FormInput({ label, name, type, value, defaultValue, placeholder, error, hint, disabled, onChange, onBlur, onFocus, style, }: Readonly<FormInputProps>): react_jsx_runtime.JSX.Element;
427
+
428
+ interface TextareaProps {
429
+ label: ReactNode;
430
+ name: string;
431
+ value?: string;
432
+ defaultValue?: string;
433
+ placeholder?: string;
434
+ error?: string;
435
+ hint?: string;
436
+ disabled?: boolean;
437
+ numberOfLines?: number;
438
+ onChange?: (value: string) => void;
439
+ onBlur?: () => void;
440
+ onFocus?: () => void;
441
+ style?: StyleProp<ViewStyle>;
442
+ }
443
+ declare function Textarea({ label, name, value, defaultValue, placeholder, error, hint, disabled, numberOfLines, onChange, onBlur, onFocus, style, }: Readonly<TextareaProps>): react_jsx_runtime.JSX.Element;
444
+
445
+ interface SelectOption {
446
+ value: string;
447
+ label: string;
448
+ disabled?: boolean;
449
+ }
450
+ interface SelectProps {
451
+ label: ReactNode;
452
+ name: string;
453
+ options: SelectOption[];
454
+ placeholder?: string;
455
+ value?: string;
456
+ error?: string;
457
+ hint?: string;
458
+ disabled?: boolean;
459
+ onChange?: (value: string) => void;
460
+ style?: StyleProp<ViewStyle>;
461
+ }
462
+ declare function Select({ label, name, options, placeholder, value, error, hint, disabled, onChange, style, }: Readonly<SelectProps>): react_jsx_runtime.JSX.Element;
463
+
464
+ interface SliderProps {
465
+ label: string;
466
+ name: string;
467
+ value?: number;
468
+ defaultValue?: number;
469
+ min?: number;
470
+ max?: number;
471
+ step?: number;
472
+ showValue?: boolean;
473
+ disabled?: boolean;
474
+ error?: string;
475
+ hint?: string;
476
+ onChange?: (value: number) => void;
477
+ style?: StyleProp<ViewStyle>;
478
+ }
479
+ declare function Slider({ label, name: _name, // eslint-disable-line @typescript-eslint/no-unused-vars
480
+ value, defaultValue, min, max, step, showValue, disabled, error, hint, onChange, style, }: Readonly<SliderProps>): react_jsx_runtime.JSX.Element;
481
+
482
+ interface NumberInputProps {
483
+ label: string;
484
+ name: string;
485
+ value?: number;
486
+ defaultValue?: number;
487
+ min?: number;
488
+ max?: number;
489
+ step?: number;
490
+ disabled?: boolean;
491
+ error?: string;
492
+ hint?: string;
493
+ onChange?: (value: number) => void;
494
+ style?: StyleProp<ViewStyle>;
495
+ }
496
+ declare function NumberInput({ label, name: _name, // eslint-disable-line @typescript-eslint/no-unused-vars
497
+ value, defaultValue, min, max, step, disabled, error, hint, onChange, style, }: Readonly<NumberInputProps>): react_jsx_runtime.JSX.Element;
498
+
499
+ interface DialogProps {
500
+ isOpen?: boolean;
501
+ onClose?: () => void;
502
+ title?: string;
503
+ children?: ReactNode;
504
+ style?: StyleProp<ViewStyle>;
505
+ }
506
+ declare function Dialog({ isOpen, onClose, title, children, style, }: Readonly<DialogProps>): react_jsx_runtime.JSX.Element;
507
+
508
+ interface DrawerProps {
509
+ isOpen: boolean;
510
+ onClose: () => void;
511
+ title?: ReactNode;
512
+ children?: ReactNode;
513
+ style?: StyleProp<ViewStyle>;
514
+ }
515
+ declare function Drawer({ isOpen, onClose, title, children, style, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
516
+
517
+ type ToastVariant = 'success' | 'error' | 'info';
518
+ interface ToastContextType {
519
+ showToast: (message: string, variant: ToastVariant) => void;
520
+ }
521
+ declare function ToastProvider({ children, style, }: {
522
+ children: ReactNode;
523
+ style?: StyleProp<ViewStyle>;
524
+ }): react_jsx_runtime.JSX.Element;
525
+ declare function useToast(): ToastContextType;
526
+
527
+ interface DropdownMenuItem {
528
+ id: string;
529
+ label: string;
530
+ onPress?: () => void;
531
+ disabled?: boolean;
532
+ icon?: ReactNode;
533
+ separator?: boolean;
534
+ }
535
+ interface DropdownMenuProps {
536
+ trigger: ReactElement;
537
+ items: DropdownMenuItem[];
538
+ title?: string;
539
+ style?: StyleProp<ViewStyle>;
540
+ }
541
+ declare function DropdownMenu({ trigger, items, title, style, }: Readonly<DropdownMenuProps>): react_jsx_runtime.JSX.Element;
542
+
543
+ interface PopoverProps {
544
+ children: ReactElement;
545
+ content: ReactNode;
546
+ accessibilityLabel?: string;
547
+ style?: StyleProp<ViewStyle>;
548
+ }
549
+ declare function Popover({ children, content, accessibilityLabel, style, }: Readonly<PopoverProps>): react_jsx_runtime.JSX.Element;
550
+
195
551
  interface LabelProps {
196
552
  label: ReactNode;
197
553
  style?: StyleProp<TextStyle>;
@@ -205,4 +561,4 @@ interface MessageProps {
205
561
  }
206
562
  declare function Message({ message, type, style }: MessageProps): react_jsx_runtime.JSX.Element | null;
207
563
 
208
- export { Alert, Avatar, Badge, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Card, Checkbox, IconWrapper, type IconWrapperProps, Label, Loading, Message, NotificationBanner, Progress, Radio, SectionHeader, Separator, Skeleton, Switch, ThemeProvider, Typography, lineHeight, useTheme };
564
+ export { Accordion, type AccordionItem, Alert, Avatar, Badge, Breadcrumb, type BreadcrumbItem, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Calendar, Card, Carousel, Checkbox, CheckboxGroup, Collapsible, type CollapsibleProps, Combobox, type ComboboxOption, type DescriptionItem, DescriptionList, Dialog, Drawer, DropdownMenu, type DropdownMenuItem, FileInput, FormInput, IconWrapper, type IconWrapperProps, Label, Link, Loading, Message, NotificationBanner, NumberInput, Pagination, Popover, Progress, ProgressCircle, Radio, RadioGroup, Rating, SectionHeader, SegmentedControl, Select, type SelectOption, Separator, Skeleton, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, ThemeProvider, ToastProvider, Tooltip, Typography, lineHeight, useTheme, useToast };