@boostdev/design-system-components 2.4.1 → 2.5.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.
Files changed (201) hide show
  1. package/AGENTS.md +4 -20
  2. package/README.md +3 -23
  3. package/dist/client.cjs +128 -62
  4. package/dist/client.css +537 -537
  5. package/dist/client.d.cts +11 -1
  6. package/dist/client.d.ts +11 -1
  7. package/dist/client.js +128 -62
  8. package/dist/index.cjs +128 -62
  9. package/dist/index.css +537 -537
  10. package/dist/index.d.cts +11 -1
  11. package/dist/index.d.ts +11 -1
  12. package/dist/index.js +128 -62
  13. package/dist/web-components/index.js +36 -4
  14. package/package.json +2 -10
  15. package/src/components/layout/Grid/Grid.mdx +20 -2
  16. package/src/components/layout/Grid/Grid.spec.tsx +206 -4
  17. package/src/components/layout/Grid/Grid.tsx +15 -1
  18. package/src/components/layout/Grid/masonry.ts +148 -10
  19. package/dist/native/index.cjs +0 -4337
  20. package/dist/native/index.d.cts +0 -574
  21. package/dist/native/index.d.ts +0 -574
  22. package/dist/native/index.js +0 -4421
  23. package/src/components/interaction/Button/Button.native.mdx +0 -91
  24. package/src/components/interaction/Button/Button.native.spec.tsx +0 -55
  25. package/src/components/interaction/Button/Button.native.stories.tsx +0 -141
  26. package/src/components/interaction/Button/Button.native.tsx +0 -105
  27. package/src/components/interaction/Dialog/Dialog.native.mdx +0 -61
  28. package/src/components/interaction/Dialog/Dialog.native.spec.tsx +0 -73
  29. package/src/components/interaction/Dialog/Dialog.native.stories.tsx +0 -53
  30. package/src/components/interaction/Dialog/Dialog.native.tsx +0 -128
  31. package/src/components/interaction/Drawer/Drawer.native.mdx +0 -58
  32. package/src/components/interaction/Drawer/Drawer.native.spec.tsx +0 -81
  33. package/src/components/interaction/Drawer/Drawer.native.stories.tsx +0 -33
  34. package/src/components/interaction/Drawer/Drawer.native.tsx +0 -175
  35. package/src/components/interaction/DropdownMenu/DropdownMenu.native.mdx +0 -74
  36. package/src/components/interaction/DropdownMenu/DropdownMenu.native.spec.tsx +0 -78
  37. package/src/components/interaction/DropdownMenu/DropdownMenu.native.stories.tsx +0 -51
  38. package/src/components/interaction/DropdownMenu/DropdownMenu.native.tsx +0 -254
  39. package/src/components/interaction/Popover/Popover.native.mdx +0 -61
  40. package/src/components/interaction/Popover/Popover.native.spec.tsx +0 -73
  41. package/src/components/interaction/Popover/Popover.native.stories.tsx +0 -44
  42. package/src/components/interaction/Popover/Popover.native.tsx +0 -87
  43. package/src/components/interaction/Rating/Rating.native.mdx +0 -55
  44. package/src/components/interaction/Rating/Rating.native.spec.tsx +0 -38
  45. package/src/components/interaction/Rating/Rating.native.stories.tsx +0 -37
  46. package/src/components/interaction/Rating/Rating.native.tsx +0 -50
  47. package/src/components/interaction/Toast/Toast.native.mdx +0 -81
  48. package/src/components/interaction/Toast/Toast.native.spec.tsx +0 -80
  49. package/src/components/interaction/Toast/Toast.native.stories.tsx +0 -47
  50. package/src/components/interaction/Toast/Toast.native.tsx +0 -202
  51. package/src/components/interaction/form/Checkbox/Checkbox.native.mdx +0 -74
  52. package/src/components/interaction/form/Checkbox/Checkbox.native.spec.tsx +0 -42
  53. package/src/components/interaction/form/Checkbox/Checkbox.native.stories.tsx +0 -34
  54. package/src/components/interaction/form/Checkbox/Checkbox.native.tsx +0 -80
  55. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.mdx +0 -78
  56. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.spec.tsx +0 -57
  57. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.stories.tsx +0 -96
  58. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.tsx +0 -61
  59. package/src/components/interaction/form/Combobox/Combobox.native.mdx +0 -86
  60. package/src/components/interaction/form/Combobox/Combobox.native.spec.tsx +0 -60
  61. package/src/components/interaction/form/Combobox/Combobox.native.stories.tsx +0 -99
  62. package/src/components/interaction/form/Combobox/Combobox.native.tsx +0 -211
  63. package/src/components/interaction/form/FileInput/FileInput.native.mdx +0 -86
  64. package/src/components/interaction/form/FileInput/FileInput.native.spec.tsx +0 -73
  65. package/src/components/interaction/form/FileInput/FileInput.native.stories.tsx +0 -69
  66. package/src/components/interaction/form/FileInput/FileInput.native.tsx +0 -129
  67. package/src/components/interaction/form/FormInput/FormInput.native.mdx +0 -81
  68. package/src/components/interaction/form/FormInput/FormInput.native.spec.tsx +0 -51
  69. package/src/components/interaction/form/FormInput/FormInput.native.stories.tsx +0 -54
  70. package/src/components/interaction/form/FormInput/FormInput.native.tsx +0 -122
  71. package/src/components/interaction/form/NumberInput/NumberInput.native.mdx +0 -87
  72. package/src/components/interaction/form/NumberInput/NumberInput.native.spec.tsx +0 -63
  73. package/src/components/interaction/form/NumberInput/NumberInput.native.stories.tsx +0 -63
  74. package/src/components/interaction/form/NumberInput/NumberInput.native.tsx +0 -198
  75. package/src/components/interaction/form/Radio/Radio.native.spec.tsx +0 -79
  76. package/src/components/interaction/form/Radio/Radio.native.stories.tsx +0 -44
  77. package/src/components/interaction/form/Radio/Radio.native.tsx +0 -79
  78. package/src/components/interaction/form/RadioGroup/RadioGroup.native.mdx +0 -79
  79. package/src/components/interaction/form/RadioGroup/RadioGroup.native.spec.tsx +0 -66
  80. package/src/components/interaction/form/RadioGroup/RadioGroup.native.stories.tsx +0 -96
  81. package/src/components/interaction/form/RadioGroup/RadioGroup.native.tsx +0 -61
  82. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.mdx +0 -78
  83. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.spec.tsx +0 -82
  84. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.stories.tsx +0 -99
  85. package/src/components/interaction/form/SegmentedControl/SegmentedControl.native.tsx +0 -121
  86. package/src/components/interaction/form/Select/Select.native.mdx +0 -85
  87. package/src/components/interaction/form/Select/Select.native.spec.tsx +0 -64
  88. package/src/components/interaction/form/Select/Select.native.stories.tsx +0 -75
  89. package/src/components/interaction/form/Select/Select.native.tsx +0 -252
  90. package/src/components/interaction/form/Slider/Slider.native.mdx +0 -83
  91. package/src/components/interaction/form/Slider/Slider.native.spec.tsx +0 -51
  92. package/src/components/interaction/form/Slider/Slider.native.stories.tsx +0 -58
  93. package/src/components/interaction/form/Slider/Slider.native.tsx +0 -188
  94. package/src/components/interaction/form/Switch/Switch.native.spec.tsx +0 -60
  95. package/src/components/interaction/form/Switch/Switch.native.stories.tsx +0 -33
  96. package/src/components/interaction/form/Switch/Switch.native.tsx +0 -59
  97. package/src/components/interaction/form/Textarea/Textarea.native.mdx +0 -76
  98. package/src/components/interaction/form/Textarea/Textarea.native.spec.tsx +0 -50
  99. package/src/components/interaction/form/Textarea/Textarea.native.stories.tsx +0 -50
  100. package/src/components/interaction/form/Textarea/Textarea.native.tsx +0 -108
  101. package/src/components/interaction/form/atoms/Label.native.spec.tsx +0 -39
  102. package/src/components/interaction/form/atoms/Label.native.stories.tsx +0 -18
  103. package/src/components/interaction/form/atoms/Label.native.tsx +0 -29
  104. package/src/components/interaction/form/atoms/Message.native.spec.tsx +0 -30
  105. package/src/components/interaction/form/atoms/Message.native.stories.tsx +0 -22
  106. package/src/components/interaction/form/atoms/Message.native.tsx +0 -34
  107. package/src/components/layout/ButtonGroup/ButtonGroup.native.spec.tsx +0 -83
  108. package/src/components/layout/ButtonGroup/ButtonGroup.native.stories.tsx +0 -44
  109. package/src/components/layout/ButtonGroup/ButtonGroup.native.tsx +0 -44
  110. package/src/components/layout/Card/Card.native.spec.tsx +0 -102
  111. package/src/components/layout/Card/Card.native.stories.tsx +0 -51
  112. package/src/components/layout/Card/Card.native.tsx +0 -89
  113. package/src/components/layout/IconWrapper/IconWrapper.native.spec.tsx +0 -39
  114. package/src/components/layout/IconWrapper/IconWrapper.native.stories.tsx +0 -37
  115. package/src/components/layout/IconWrapper/IconWrapper.native.tsx +0 -20
  116. package/src/components/layout/SectionHeader/SectionHeader.native.spec.tsx +0 -51
  117. package/src/components/layout/SectionHeader/SectionHeader.native.stories.tsx +0 -36
  118. package/src/components/layout/SectionHeader/SectionHeader.native.tsx +0 -79
  119. package/src/components/ui/Accordion/Accordion.native.mdx +0 -65
  120. package/src/components/ui/Accordion/Accordion.native.spec.tsx +0 -69
  121. package/src/components/ui/Accordion/Accordion.native.stories.tsx +0 -52
  122. package/src/components/ui/Accordion/Accordion.native.tsx +0 -141
  123. package/src/components/ui/Alert/Alert.native.mdx +0 -62
  124. package/src/components/ui/Alert/Alert.native.spec.tsx +0 -76
  125. package/src/components/ui/Alert/Alert.native.stories.tsx +0 -41
  126. package/src/components/ui/Alert/Alert.native.tsx +0 -94
  127. package/src/components/ui/Avatar/Avatar.native.mdx +0 -50
  128. package/src/components/ui/Avatar/Avatar.native.spec.tsx +0 -47
  129. package/src/components/ui/Avatar/Avatar.native.stories.tsx +0 -32
  130. package/src/components/ui/Avatar/Avatar.native.tsx +0 -85
  131. package/src/components/ui/Badge/Badge.native.mdx +0 -54
  132. package/src/components/ui/Badge/Badge.native.spec.tsx +0 -45
  133. package/src/components/ui/Badge/Badge.native.stories.tsx +0 -34
  134. package/src/components/ui/Badge/Badge.native.tsx +0 -50
  135. package/src/components/ui/Breadcrumb/Breadcrumb.native.mdx +0 -52
  136. package/src/components/ui/Breadcrumb/Breadcrumb.native.spec.tsx +0 -49
  137. package/src/components/ui/Breadcrumb/Breadcrumb.native.stories.tsx +0 -46
  138. package/src/components/ui/Breadcrumb/Breadcrumb.native.tsx +0 -83
  139. package/src/components/ui/Calendar/Calendar.native.mdx +0 -58
  140. package/src/components/ui/Calendar/Calendar.native.spec.tsx +0 -92
  141. package/src/components/ui/Calendar/Calendar.native.stories.tsx +0 -45
  142. package/src/components/ui/Calendar/Calendar.native.tsx +0 -294
  143. package/src/components/ui/Carousel/Carousel.native.mdx +0 -55
  144. package/src/components/ui/Carousel/Carousel.native.spec.tsx +0 -55
  145. package/src/components/ui/Carousel/Carousel.native.stories.tsx +0 -59
  146. package/src/components/ui/Carousel/Carousel.native.tsx +0 -184
  147. package/src/components/ui/Collapsible/Collapsible.native.mdx +0 -53
  148. package/src/components/ui/Collapsible/Collapsible.native.spec.tsx +0 -68
  149. package/src/components/ui/Collapsible/Collapsible.native.stories.tsx +0 -48
  150. package/src/components/ui/Collapsible/Collapsible.native.tsx +0 -139
  151. package/src/components/ui/DescriptionList/DescriptionList.native.mdx +0 -50
  152. package/src/components/ui/DescriptionList/DescriptionList.native.spec.tsx +0 -37
  153. package/src/components/ui/DescriptionList/DescriptionList.native.stories.tsx +0 -48
  154. package/src/components/ui/DescriptionList/DescriptionList.native.tsx +0 -54
  155. package/src/components/ui/Link/Link.native.mdx +0 -53
  156. package/src/components/ui/Link/Link.native.spec.tsx +0 -35
  157. package/src/components/ui/Link/Link.native.stories.tsx +0 -46
  158. package/src/components/ui/Link/Link.native.tsx +0 -48
  159. package/src/components/ui/Loading/Loading.native.spec.tsx +0 -24
  160. package/src/components/ui/Loading/Loading.native.stories.tsx +0 -31
  161. package/src/components/ui/Loading/Loading.native.tsx +0 -29
  162. package/src/components/ui/NotificationBanner/NotificationBanner.native.spec.tsx +0 -85
  163. package/src/components/ui/NotificationBanner/NotificationBanner.native.stories.tsx +0 -37
  164. package/src/components/ui/NotificationBanner/NotificationBanner.native.tsx +0 -76
  165. package/src/components/ui/Pagination/Pagination.native.mdx +0 -62
  166. package/src/components/ui/Pagination/Pagination.native.spec.tsx +0 -86
  167. package/src/components/ui/Pagination/Pagination.native.stories.tsx +0 -47
  168. package/src/components/ui/Pagination/Pagination.native.tsx +0 -157
  169. package/src/components/ui/Progress/Progress.native.spec.tsx +0 -56
  170. package/src/components/ui/Progress/Progress.native.stories.tsx +0 -34
  171. package/src/components/ui/Progress/Progress.native.tsx +0 -84
  172. package/src/components/ui/ProgressCircle/ProgressCircle.native.mdx +0 -63
  173. package/src/components/ui/ProgressCircle/ProgressCircle.native.spec.tsx +0 -39
  174. package/src/components/ui/ProgressCircle/ProgressCircle.native.stories.tsx +0 -36
  175. package/src/components/ui/ProgressCircle/ProgressCircle.native.tsx +0 -176
  176. package/src/components/ui/Separator/Separator.native.spec.tsx +0 -39
  177. package/src/components/ui/Separator/Separator.native.stories.tsx +0 -38
  178. package/src/components/ui/Separator/Separator.native.tsx +0 -32
  179. package/src/components/ui/Skeleton/Skeleton.native.spec.tsx +0 -39
  180. package/src/components/ui/Skeleton/Skeleton.native.stories.tsx +0 -31
  181. package/src/components/ui/Skeleton/Skeleton.native.tsx +0 -42
  182. package/src/components/ui/Table/Table.native.mdx +0 -72
  183. package/src/components/ui/Table/Table.native.spec.tsx +0 -83
  184. package/src/components/ui/Table/Table.native.stories.tsx +0 -55
  185. package/src/components/ui/Table/Table.native.tsx +0 -196
  186. package/src/components/ui/Tabs/Tabs.native.mdx +0 -65
  187. package/src/components/ui/Tabs/Tabs.native.spec.tsx +0 -65
  188. package/src/components/ui/Tabs/Tabs.native.stories.tsx +0 -57
  189. package/src/components/ui/Tabs/Tabs.native.tsx +0 -133
  190. package/src/components/ui/Tooltip/Tooltip.native.mdx +0 -47
  191. package/src/components/ui/Tooltip/Tooltip.native.spec.tsx +0 -37
  192. package/src/components/ui/Tooltip/Tooltip.native.stories.tsx +0 -38
  193. package/src/components/ui/Tooltip/Tooltip.native.tsx +0 -57
  194. package/src/components/ui/Typography/Typography.native.mdx +0 -56
  195. package/src/components/ui/Typography/Typography.native.spec.tsx +0 -49
  196. package/src/components/ui/Typography/Typography.native.stories.tsx +0 -36
  197. package/src/components/ui/Typography/Typography.native.tsx +0 -65
  198. package/src/native/ThemeContext.tsx +0 -28
  199. package/src/native/tokens.ts +0 -13
  200. package/src/native.ts +0 -76
  201. package/src/stories/ReactNative.mdx +0 -156
@@ -1,574 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode, ReactElement } from 'react';
3
- import { colors } from '@boostdev/design-system-foundation/native';
4
- export { animation, border, colors, font, spacing, zIndex } from '@boostdev/design-system-foundation/native';
5
- import { StyleProp, TextStyle, ViewStyle } from 'react-native';
6
-
7
- /** Absolute lineHeight values for React Native (ratio × fontSize). */
8
- declare const lineHeight: {
9
- readonly display: number;
10
- readonly heading1: number;
11
- readonly heading2: number;
12
- readonly heading3: number;
13
- readonly body: number;
14
- readonly bodyS: number;
15
- };
16
-
17
- type ThemeColors = typeof colors.light | typeof colors.dark;
18
- interface ThemeContextValue {
19
- colors: ThemeColors;
20
- isDark: boolean;
21
- }
22
- declare function ThemeProvider({ children, colorScheme }: {
23
- children: ReactNode;
24
- colorScheme?: 'light' | 'dark';
25
- }): react_jsx_runtime.JSX.Element;
26
- declare function useTheme(): ThemeContextValue;
27
-
28
- type TypographyVariant = 'h1' | 'h2' | 'h3' | 'body' | 'body_s';
29
- interface TypographyProps {
30
- variant?: TypographyVariant;
31
- children: ReactNode;
32
- style?: StyleProp<TextStyle>;
33
- }
34
- declare function Typography({ variant, children, style }: TypographyProps): react_jsx_runtime.JSX.Element;
35
-
36
- type BadgeVariant = 'primary' | 'secondary' | 'success' | 'error' | 'warning';
37
- interface BadgeProps {
38
- children: ReactNode;
39
- variant?: BadgeVariant;
40
- style?: StyleProp<ViewStyle>;
41
- }
42
- declare function Badge({ children, variant, style }: BadgeProps): react_jsx_runtime.JSX.Element;
43
-
44
- type AvatarSize = 'small' | 'medium' | 'large';
45
- interface AvatarProps {
46
- src?: string;
47
- alt?: string;
48
- name?: string;
49
- size?: AvatarSize;
50
- style?: StyleProp<ViewStyle>;
51
- }
52
- declare function Avatar({ src, alt, name, size, style }: Readonly<AvatarProps>): react_jsx_runtime.JSX.Element;
53
-
54
- interface SeparatorProps {
55
- orientation?: 'horizontal' | 'vertical';
56
- style?: StyleProp<ViewStyle>;
57
- }
58
- declare function Separator({ orientation, style }: Readonly<SeparatorProps>): react_jsx_runtime.JSX.Element;
59
-
60
- type LoadingSize = 'small' | 'medium' | 'large';
61
- interface LoadingProps {
62
- size?: LoadingSize;
63
- accessibilityLabel?: string;
64
- style?: StyleProp<ViewStyle>;
65
- }
66
- declare function Loading({ size, accessibilityLabel, style }: LoadingProps): react_jsx_runtime.JSX.Element;
67
-
68
- type ProgressSize = 'small' | 'medium' | 'large';
69
- interface ProgressProps {
70
- value: number;
71
- max?: number;
72
- label: string;
73
- showLabel?: boolean;
74
- size?: ProgressSize;
75
- style?: StyleProp<ViewStyle>;
76
- }
77
- declare function Progress({ value, max, label, showLabel, size, style, }: Readonly<ProgressProps>): react_jsx_runtime.JSX.Element;
78
-
79
- interface SkeletonProps {
80
- style?: StyleProp<ViewStyle>;
81
- }
82
- declare function Skeleton({ style }: SkeletonProps): react_jsx_runtime.JSX.Element;
83
-
84
- type AlertVariant = 'info' | 'success' | 'warning' | 'error';
85
- interface AlertProps {
86
- variant?: AlertVariant;
87
- icon?: ReactNode;
88
- title?: string;
89
- children: ReactNode;
90
- onDismiss?: () => void;
91
- style?: StyleProp<ViewStyle>;
92
- }
93
- declare function Alert({ variant, icon, title, children, onDismiss, style, }: Readonly<AlertProps>): react_jsx_runtime.JSX.Element;
94
-
95
- type BannerVariant = 'info' | 'success' | 'warning' | 'error';
96
- interface NotificationBannerProps {
97
- variant?: BannerVariant;
98
- children: ReactNode;
99
- action?: ReactNode;
100
- onDismiss?: () => void;
101
- style?: StyleProp<ViewStyle>;
102
- }
103
- declare function NotificationBanner({ variant, children, action, onDismiss, style, }: Readonly<NotificationBannerProps>): react_jsx_runtime.JSX.Element;
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
-
239
- type CardVariant = 'default' | 'elevated' | 'outlined';
240
- type CardPadding = 'none' | 'small' | 'medium' | 'large';
241
- type CardAlign = 'start' | 'center' | 'end';
242
- interface CardProps {
243
- children: ReactNode;
244
- variant?: CardVariant;
245
- padding?: CardPadding;
246
- textAlign?: CardAlign;
247
- style?: StyleProp<ViewStyle>;
248
- onPress?: () => void;
249
- accessibilityLabel?: string;
250
- }
251
- declare function Card({ children, variant, padding, textAlign, style, onPress, accessibilityLabel, }: CardProps): react_jsx_runtime.JSX.Element;
252
-
253
- type SectionHeaderAlignment = 'start' | 'center' | 'end';
254
- type SectionHeaderSize = 'small' | 'medium' | 'large';
255
- interface SectionHeaderProps {
256
- title: string;
257
- subtitle?: string;
258
- alignment?: SectionHeaderAlignment;
259
- size?: SectionHeaderSize;
260
- style?: StyleProp<ViewStyle>;
261
- }
262
- declare function SectionHeader({ title, subtitle, alignment, size, style, }: Readonly<SectionHeaderProps>): react_jsx_runtime.JSX.Element;
263
-
264
- interface IconWrapperProps {
265
- children: ReactNode;
266
- style?: StyleProp<ViewStyle>;
267
- accessibilityElementsHidden?: boolean;
268
- }
269
- declare function IconWrapper({ children, style, accessibilityElementsHidden }: IconWrapperProps): react_jsx_runtime.JSX.Element;
270
-
271
- interface ButtonContainerProps {
272
- children: ReactNode;
273
- variant?: 'flow' | 'card' | 'modal' | 'content';
274
- accessibilityLabel?: string;
275
- style?: StyleProp<ViewStyle>;
276
- }
277
- declare function ButtonContainer({ children, variant, accessibilityLabel, style }: ButtonContainerProps): react_jsx_runtime.JSX.Element;
278
- /**
279
- * @deprecated Use `ButtonContainer` instead. `ButtonGroup` will be removed in the next major version.
280
- */
281
- declare const ButtonGroup: typeof ButtonContainer;
282
- /**
283
- * @deprecated Use `ButtonContainerProps` instead. `ButtonGroupProps` will be removed in the next major version.
284
- */
285
- type ButtonGroupProps = ButtonContainerProps;
286
-
287
- type ButtonVariant = 'default' | 'outline' | 'ghost';
288
- type ButtonSize = 'small' | 'medium' | 'large';
289
- interface ButtonProps {
290
- children?: ReactNode;
291
- variant?: ButtonVariant;
292
- size?: ButtonSize;
293
- iconStart?: ReactNode;
294
- iconEnd?: ReactNode;
295
- disabled?: boolean;
296
- /** Forces a 1:1 aspect ratio with minimal padding for icon-only buttons. Requires `accessibilityLabel`. */
297
- isIconOnly?: boolean;
298
- onPress?: () => void;
299
- accessibilityLabel?: string;
300
- style?: StyleProp<ViewStyle>;
301
- }
302
- declare function Button({ children, variant, size, iconStart, iconEnd, disabled, isIconOnly, onPress, accessibilityLabel, style, }: Readonly<ButtonProps>): react_jsx_runtime.JSX.Element;
303
-
304
- interface RatingProps {
305
- value: number;
306
- max?: number;
307
- style?: StyleProp<ViewStyle>;
308
- accessibilityLabel?: string;
309
- }
310
- declare function Rating({ value, max, style, accessibilityLabel }: Readonly<RatingProps>): react_jsx_runtime.JSX.Element;
311
-
312
- interface SwitchProps {
313
- label: string;
314
- name: string;
315
- value?: boolean;
316
- onChange?: (value: boolean) => void;
317
- disabled?: boolean;
318
- error?: string;
319
- hint?: string;
320
- style?: StyleProp<ViewStyle>;
321
- }
322
- declare function Switch({ label, value, onChange, disabled, error, hint, style, }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
323
-
324
- interface CheckboxProps {
325
- label: ReactNode;
326
- name: string;
327
- checked?: boolean;
328
- onChange?: (checked: boolean) => void;
329
- disabled?: boolean;
330
- error?: string;
331
- hint?: string;
332
- style?: StyleProp<ViewStyle>;
333
- }
334
- declare function Checkbox({ label, name, checked, onChange, disabled, error, hint, style, }: CheckboxProps): react_jsx_runtime.JSX.Element;
335
-
336
- interface CheckboxGroupProps {
337
- legend: string;
338
- children: ReactNode;
339
- error?: string;
340
- hint?: string;
341
- required?: boolean;
342
- disabled?: boolean;
343
- style?: StyleProp<ViewStyle>;
344
- }
345
- declare function CheckboxGroup({ legend, children, error, hint, required, disabled, style, }: Readonly<CheckboxGroupProps>): react_jsx_runtime.JSX.Element;
346
-
347
- interface RadioProps {
348
- label: ReactNode;
349
- name: string;
350
- checked?: boolean;
351
- onChange?: () => void;
352
- disabled?: boolean;
353
- error?: string;
354
- hint?: string;
355
- style?: StyleProp<ViewStyle>;
356
- }
357
- declare function Radio({ label, name, checked, onChange, disabled, error, hint, style, }: RadioProps): react_jsx_runtime.JSX.Element;
358
-
359
- interface RadioGroupProps {
360
- legend: string;
361
- children: ReactNode;
362
- error?: string;
363
- hint?: string;
364
- required?: boolean;
365
- disabled?: boolean;
366
- style?: StyleProp<ViewStyle>;
367
- }
368
- declare function RadioGroup({ legend, children, error, hint, required, disabled, style, }: Readonly<RadioGroupProps>): react_jsx_runtime.JSX.Element;
369
-
370
- interface FileInputProps {
371
- label: string;
372
- name: string;
373
- accept?: string;
374
- multiple?: boolean;
375
- disabled?: boolean;
376
- required?: boolean;
377
- error?: string;
378
- hint?: string;
379
- /** Called when the file area is pressed. Wire up a native file picker (e.g. expo-document-picker). */
380
- onSelect?: () => void;
381
- /** File names to display (managed externally after picker resolves). */
382
- fileNames?: string[];
383
- style?: StyleProp<ViewStyle>;
384
- }
385
- declare function FileInput({ label, name, accept, disabled, required, error, hint, onSelect, fileNames, style, }: Readonly<FileInputProps>): react_jsx_runtime.JSX.Element;
386
-
387
- interface ComboboxOption {
388
- value: string;
389
- label: string;
390
- disabled?: boolean;
391
- }
392
- interface ComboboxProps {
393
- label: string;
394
- name: string;
395
- options: ComboboxOption[];
396
- placeholder?: string;
397
- value?: string;
398
- onChange?: (value: string) => void;
399
- disabled?: boolean;
400
- error?: string;
401
- hint?: string;
402
- style?: StyleProp<ViewStyle>;
403
- }
404
- declare function Combobox({ label, name, options, placeholder, value, onChange, disabled, error, hint, style, }: Readonly<ComboboxProps>): react_jsx_runtime.JSX.Element;
405
-
406
- type SegmentedControlSize = 'small' | 'medium' | 'large';
407
- type SegmentedControlVariant = 'outline' | 'filled';
408
- interface SegmentedControlProps {
409
- selectedIndex?: number;
410
- disabled?: boolean;
411
- size?: SegmentedControlSize;
412
- variant?: SegmentedControlVariant;
413
- children: ReactNode;
414
- accessibilityLabel?: string;
415
- onValueChange?: (index: number) => void;
416
- style?: StyleProp<ViewStyle>;
417
- }
418
- declare function SegmentedControl({ selectedIndex, disabled, size, variant, children, accessibilityLabel, onValueChange, style, }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
419
-
420
- type InputType = 'text' | 'email' | 'password' | 'tel' | 'url' | 'number' | 'search';
421
- interface FormInputProps {
422
- label: ReactNode;
423
- name: string;
424
- type?: InputType;
425
- value?: string;
426
- defaultValue?: string;
427
- placeholder?: string;
428
- error?: string;
429
- hint?: string;
430
- disabled?: boolean;
431
- onChange?: (value: string) => void;
432
- onBlur?: () => void;
433
- onFocus?: () => void;
434
- style?: StyleProp<ViewStyle>;
435
- }
436
- declare function FormInput({ label, name, type, value, defaultValue, placeholder, error, hint, disabled, onChange, onBlur, onFocus, style, }: Readonly<FormInputProps>): react_jsx_runtime.JSX.Element;
437
-
438
- interface TextareaProps {
439
- label: ReactNode;
440
- name: string;
441
- value?: string;
442
- defaultValue?: string;
443
- placeholder?: string;
444
- error?: string;
445
- hint?: string;
446
- disabled?: boolean;
447
- numberOfLines?: number;
448
- onChange?: (value: string) => void;
449
- onBlur?: () => void;
450
- onFocus?: () => void;
451
- style?: StyleProp<ViewStyle>;
452
- }
453
- declare function Textarea({ label, name, value, defaultValue, placeholder, error, hint, disabled, numberOfLines, onChange, onBlur, onFocus, style, }: Readonly<TextareaProps>): react_jsx_runtime.JSX.Element;
454
-
455
- interface SelectOption {
456
- value: string;
457
- label: string;
458
- disabled?: boolean;
459
- }
460
- interface SelectProps {
461
- label: ReactNode;
462
- name: string;
463
- options: SelectOption[];
464
- placeholder?: string;
465
- value?: string;
466
- error?: string;
467
- hint?: string;
468
- disabled?: boolean;
469
- onChange?: (value: string) => void;
470
- style?: StyleProp<ViewStyle>;
471
- }
472
- declare function Select({ label, name, options, placeholder, value, error, hint, disabled, onChange, style, }: Readonly<SelectProps>): react_jsx_runtime.JSX.Element;
473
-
474
- interface SliderProps {
475
- label: string;
476
- name: string;
477
- value?: number;
478
- defaultValue?: number;
479
- min?: number;
480
- max?: number;
481
- step?: number;
482
- showValue?: boolean;
483
- disabled?: boolean;
484
- error?: string;
485
- hint?: string;
486
- onChange?: (value: number) => void;
487
- style?: StyleProp<ViewStyle>;
488
- }
489
- declare function Slider({ label, name: _name, // eslint-disable-line @typescript-eslint/no-unused-vars
490
- value, defaultValue, min, max, step, showValue, disabled, error, hint, onChange, style, }: Readonly<SliderProps>): react_jsx_runtime.JSX.Element;
491
-
492
- interface NumberInputProps {
493
- label: string;
494
- name: string;
495
- value?: number;
496
- defaultValue?: number;
497
- min?: number;
498
- max?: number;
499
- step?: number;
500
- disabled?: boolean;
501
- error?: string;
502
- hint?: string;
503
- onChange?: (value: number) => void;
504
- style?: StyleProp<ViewStyle>;
505
- }
506
- declare function NumberInput({ label, name: _name, // eslint-disable-line @typescript-eslint/no-unused-vars
507
- value, defaultValue, min, max, step, disabled, error, hint, onChange, style, }: Readonly<NumberInputProps>): react_jsx_runtime.JSX.Element;
508
-
509
- interface DialogProps {
510
- isOpen?: boolean;
511
- onClose?: () => void;
512
- title?: string;
513
- children?: ReactNode;
514
- style?: StyleProp<ViewStyle>;
515
- }
516
- declare function Dialog({ isOpen, onClose, title, children, style, }: Readonly<DialogProps>): react_jsx_runtime.JSX.Element;
517
-
518
- interface DrawerProps {
519
- isOpen: boolean;
520
- onClose: () => void;
521
- title?: ReactNode;
522
- children?: ReactNode;
523
- style?: StyleProp<ViewStyle>;
524
- }
525
- declare function Drawer({ isOpen, onClose, title, children, style, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
526
-
527
- type ToastVariant = 'success' | 'error' | 'info';
528
- interface ToastContextType {
529
- showToast: (message: string, variant: ToastVariant) => void;
530
- }
531
- declare function ToastProvider({ children, style, }: {
532
- children: ReactNode;
533
- style?: StyleProp<ViewStyle>;
534
- }): react_jsx_runtime.JSX.Element;
535
- declare function useToast(): ToastContextType;
536
-
537
- interface DropdownMenuItem {
538
- id: string;
539
- label: string;
540
- onPress?: () => void;
541
- disabled?: boolean;
542
- icon?: ReactNode;
543
- separator?: boolean;
544
- }
545
- interface DropdownMenuProps {
546
- trigger: ReactElement;
547
- items: DropdownMenuItem[];
548
- title?: string;
549
- style?: StyleProp<ViewStyle>;
550
- }
551
- declare function DropdownMenu({ trigger, items, title, style, }: Readonly<DropdownMenuProps>): react_jsx_runtime.JSX.Element;
552
-
553
- interface PopoverProps {
554
- children: ReactElement;
555
- content: ReactNode;
556
- accessibilityLabel?: string;
557
- style?: StyleProp<ViewStyle>;
558
- }
559
- declare function Popover({ children, content, accessibilityLabel, style, }: Readonly<PopoverProps>): react_jsx_runtime.JSX.Element;
560
-
561
- interface LabelProps {
562
- label: ReactNode;
563
- style?: StyleProp<TextStyle>;
564
- }
565
- declare function Label({ label, style }: LabelProps): react_jsx_runtime.JSX.Element;
566
-
567
- interface MessageProps {
568
- type: 'hint' | 'error';
569
- message: string | undefined;
570
- style?: StyleProp<TextStyle>;
571
- }
572
- declare function Message({ message, type, style }: MessageProps): react_jsx_runtime.JSX.Element | null;
573
-
574
- export { Accordion, type AccordionItem, Alert, Avatar, Badge, Breadcrumb, type BreadcrumbItem, Button, ButtonContainer, type ButtonContainerProps, 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 };