@boostdev/design-system-components 1.0.3 → 1.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 (262) hide show
  1. package/AGENTS.md +51 -10
  2. package/dist/client.cjs +350 -174
  3. package/dist/client.css +751 -647
  4. package/dist/client.d.cts +62 -97
  5. package/dist/client.d.ts +62 -97
  6. package/dist/client.js +377 -211
  7. package/dist/index.cjs +350 -174
  8. package/dist/index.css +751 -647
  9. package/dist/index.d.cts +62 -97
  10. package/dist/index.d.ts +62 -97
  11. package/dist/index.js +377 -211
  12. package/dist/native/index.cjs +991 -0
  13. package/dist/native/index.d.cts +208 -0
  14. package/dist/native/index.d.ts +208 -0
  15. package/dist/native/index.js +968 -0
  16. package/dist/web-components.d.ts +304 -0
  17. package/dist/web-components.js +1978 -0
  18. package/package.json +27 -5
  19. package/src/components/interaction/Button/Button.module.css +11 -8
  20. package/src/components/interaction/Button/Button.native.mdx +72 -0
  21. package/src/components/interaction/Button/Button.native.spec.tsx +35 -0
  22. package/src/components/interaction/Button/Button.native.stories.tsx +42 -0
  23. package/src/components/interaction/Button/Button.native.tsx +95 -0
  24. package/src/components/interaction/Button/Button.stories.tsx +1 -1
  25. package/src/components/interaction/Button/Button.tsx +2 -2
  26. package/src/components/interaction/Command/Command.mdx +16 -0
  27. package/src/components/interaction/Command/Command.module.css +7 -7
  28. package/src/components/interaction/Command/Command.spec.tsx +37 -0
  29. package/src/components/interaction/Command/Command.stories.tsx +1 -1
  30. package/src/components/interaction/Command/Command.tsx +39 -4
  31. package/src/components/interaction/Dialog/Dialog.module.css +10 -13
  32. package/src/components/interaction/Dialog/Dialog.spec.tsx +53 -1
  33. package/src/components/interaction/Dialog/Dialog.stories.tsx +18 -1
  34. package/src/components/interaction/Dialog/Dialog.tsx +52 -18
  35. package/src/components/interaction/Drawer/Drawer.mdx +14 -0
  36. package/src/components/interaction/Drawer/Drawer.module.css +11 -11
  37. package/src/components/interaction/Drawer/Drawer.spec.tsx +48 -1
  38. package/src/components/interaction/Drawer/Drawer.stories.tsx +1 -1
  39. package/src/components/interaction/Drawer/Drawer.tsx +40 -6
  40. package/src/components/interaction/DropdownMenu/DropdownMenu.module.css +6 -6
  41. package/src/components/interaction/DropdownMenu/DropdownMenu.stories.tsx +1 -1
  42. package/src/components/interaction/DropdownMenu/DropdownMenu.tsx +2 -2
  43. package/src/components/interaction/Popover/Popover.mdx +17 -0
  44. package/src/components/interaction/Popover/Popover.module.css +132 -16
  45. package/src/components/interaction/Popover/Popover.spec.tsx +119 -20
  46. package/src/components/interaction/Popover/Popover.stories.tsx +1 -1
  47. package/src/components/interaction/Popover/Popover.tsx +69 -29
  48. package/src/components/interaction/Rating/Rating.stories.tsx +1 -1
  49. package/src/components/interaction/Rating/Rating.tsx +2 -2
  50. package/src/components/interaction/Toast/Toast.module.css +13 -8
  51. package/src/components/interaction/Toast/Toast.spec.tsx +21 -0
  52. package/src/components/interaction/Toast/Toast.stories.tsx +1 -1
  53. package/src/components/interaction/Toast/Toast.tsx +22 -2
  54. package/src/components/interaction/form/Checkbox/Checkbox.mdx +2 -2
  55. package/src/components/interaction/form/Checkbox/Checkbox.module.css +9 -9
  56. package/src/components/interaction/form/Checkbox/Checkbox.native.mdx +74 -0
  57. package/src/components/interaction/form/Checkbox/Checkbox.native.spec.tsx +42 -0
  58. package/src/components/interaction/form/Checkbox/Checkbox.native.stories.tsx +36 -0
  59. package/src/components/interaction/form/Checkbox/Checkbox.native.tsx +80 -0
  60. package/src/components/interaction/form/Checkbox/Checkbox.stories.tsx +1 -1
  61. package/src/components/interaction/form/Checkbox/Checkbox.tsx +2 -2
  62. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.mdx +44 -0
  63. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.stories.tsx +1 -1
  64. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx +2 -2
  65. package/src/components/interaction/form/Combobox/Combobox.mdx +21 -0
  66. package/src/components/interaction/form/Combobox/Combobox.module.css +8 -9
  67. package/src/components/interaction/form/Combobox/Combobox.stories.tsx +1 -1
  68. package/src/components/interaction/form/Combobox/Combobox.tsx +2 -2
  69. package/src/components/interaction/form/FileInput/FileInput.mdx +14 -0
  70. package/src/components/interaction/form/FileInput/FileInput.module.css +5 -5
  71. package/src/components/interaction/form/FileInput/FileInput.stories.tsx +1 -1
  72. package/src/components/interaction/form/FileInput/FileInput.tsx +2 -2
  73. package/src/components/interaction/form/FormInput/FormInput.stories.tsx +1 -1
  74. package/src/components/interaction/form/FormInput/FormInput.tsx +2 -2
  75. package/src/components/interaction/form/NumberInput/NumberInput.mdx +16 -0
  76. package/src/components/interaction/form/NumberInput/NumberInput.module.css +1 -1
  77. package/src/components/interaction/form/NumberInput/NumberInput.stories.tsx +1 -1
  78. package/src/components/interaction/form/NumberInput/NumberInput.tsx +2 -2
  79. package/src/components/interaction/form/Radio/Radio.mdx +3 -3
  80. package/src/components/interaction/form/Radio/Radio.module.css +9 -9
  81. package/src/components/interaction/form/Radio/Radio.native.stories.tsx +46 -0
  82. package/src/components/interaction/form/Radio/Radio.native.tsx +79 -0
  83. package/src/components/interaction/form/Radio/Radio.stories.tsx +1 -1
  84. package/src/components/interaction/form/Radio/Radio.tsx +2 -2
  85. package/src/components/interaction/form/RadioGroup/RadioGroup.mdx +45 -0
  86. package/src/components/interaction/form/RadioGroup/RadioGroup.stories.tsx +1 -1
  87. package/src/components/interaction/form/RadioGroup/RadioGroup.tsx +2 -2
  88. package/src/components/interaction/form/SegmentedControl/SegmentedControl.module.css +5 -6
  89. package/src/components/interaction/form/SegmentedControl/SegmentedControl.stories.tsx +1 -1
  90. package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +2 -2
  91. package/src/components/interaction/form/Select/Select.module.css +3 -3
  92. package/src/components/interaction/form/Select/Select.stories.tsx +1 -1
  93. package/src/components/interaction/form/Select/Select.tsx +2 -2
  94. package/src/components/interaction/form/Slider/Slider.mdx +1 -1
  95. package/src/components/interaction/form/Slider/Slider.module.css +10 -10
  96. package/src/components/interaction/form/Slider/Slider.stories.tsx +1 -1
  97. package/src/components/interaction/form/Slider/Slider.tsx +2 -2
  98. package/src/components/interaction/form/Switch/Switch.mdx +4 -4
  99. package/src/components/interaction/form/Switch/Switch.module.css +11 -11
  100. package/src/components/interaction/form/Switch/Switch.native.spec.tsx +60 -0
  101. package/src/components/interaction/form/Switch/Switch.native.stories.tsx +35 -0
  102. package/src/components/interaction/form/Switch/Switch.native.tsx +59 -0
  103. package/src/components/interaction/form/Switch/Switch.stories.tsx +1 -1
  104. package/src/components/interaction/form/Switch/Switch.tsx +2 -2
  105. package/src/components/interaction/form/Textarea/Textarea.mdx +17 -0
  106. package/src/components/interaction/form/Textarea/Textarea.module.css +1 -1
  107. package/src/components/interaction/form/Textarea/Textarea.stories.tsx +1 -1
  108. package/src/components/interaction/form/Textarea/Textarea.tsx +2 -2
  109. package/src/components/interaction/form/atoms/InputContainer.tsx +2 -1
  110. package/src/components/interaction/form/atoms/Label.native.stories.tsx +18 -0
  111. package/src/components/interaction/form/atoms/Label.native.tsx +29 -0
  112. package/src/components/interaction/form/atoms/Label.tsx +5 -3
  113. package/src/components/interaction/form/atoms/Message.native.spec.tsx +30 -0
  114. package/src/components/interaction/form/atoms/Message.native.stories.tsx +22 -0
  115. package/src/components/interaction/form/atoms/Message.native.tsx +34 -0
  116. package/src/components/interaction/form/atoms/Message.tsx +5 -3
  117. package/src/components/layout/ButtonGroup/ButtonGroup.native.stories.tsx +50 -0
  118. package/src/components/layout/ButtonGroup/ButtonGroup.native.tsx +34 -0
  119. package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +1 -1
  120. package/src/components/layout/ButtonGroup/ButtonGroup.tsx +2 -2
  121. package/src/components/layout/Card/Card.native.stories.tsx +53 -0
  122. package/src/components/layout/Card/Card.native.tsx +89 -0
  123. package/src/components/layout/Card/Card.stories.tsx +1 -1
  124. package/src/components/layout/Card/Card.tsx +2 -2
  125. package/src/components/layout/IconWrapper/IconWrapper.mdx +2 -2
  126. package/src/components/layout/IconWrapper/IconWrapper.module.css +2 -2
  127. package/src/components/layout/IconWrapper/IconWrapper.native.spec.tsx +39 -0
  128. package/src/components/layout/IconWrapper/IconWrapper.native.stories.tsx +41 -0
  129. package/src/components/layout/IconWrapper/IconWrapper.native.tsx +20 -0
  130. package/src/components/layout/IconWrapper/IconWrapper.stories.tsx +1 -1
  131. package/src/components/layout/IconWrapper/IconWrapper.tsx +2 -2
  132. package/src/components/layout/SectionHeader/SectionHeader.mdx +13 -0
  133. package/src/components/layout/SectionHeader/SectionHeader.native.stories.tsx +38 -0
  134. package/src/components/layout/SectionHeader/SectionHeader.native.tsx +79 -0
  135. package/src/components/layout/SectionHeader/SectionHeader.stories.tsx +1 -1
  136. package/src/components/layout/SectionHeader/SectionHeader.tsx +2 -2
  137. package/src/components/ui/Accordion/Accordion.mdx +14 -0
  138. package/src/components/ui/Accordion/Accordion.module.css +5 -5
  139. package/src/components/ui/Accordion/Accordion.stories.tsx +1 -1
  140. package/src/components/ui/Accordion/Accordion.tsx +2 -2
  141. package/src/components/ui/Alert/Alert.native.mdx +62 -0
  142. package/src/components/ui/Alert/Alert.native.stories.tsx +43 -0
  143. package/src/components/ui/Alert/Alert.native.tsx +94 -0
  144. package/src/components/ui/Alert/Alert.stories.tsx +1 -1
  145. package/src/components/ui/Alert/Alert.tsx +2 -2
  146. package/src/components/ui/Avatar/Avatar.native.mdx +50 -0
  147. package/src/components/ui/Avatar/Avatar.native.spec.tsx +47 -0
  148. package/src/components/ui/Avatar/Avatar.native.stories.tsx +34 -0
  149. package/src/components/ui/Avatar/Avatar.native.tsx +85 -0
  150. package/src/components/ui/Avatar/Avatar.stories.tsx +1 -1
  151. package/src/components/ui/Avatar/Avatar.tsx +2 -2
  152. package/src/components/ui/Badge/Badge.mdx +2 -2
  153. package/src/components/ui/Badge/Badge.native.mdx +54 -0
  154. package/src/components/ui/Badge/Badge.native.stories.tsx +36 -0
  155. package/src/components/ui/Badge/Badge.native.tsx +50 -0
  156. package/src/components/ui/Badge/Badge.stories.tsx +1 -1
  157. package/src/components/ui/Badge/Badge.tsx +2 -2
  158. package/src/components/ui/Breadcrumb/Breadcrumb.stories.tsx +1 -1
  159. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +2 -2
  160. package/src/components/ui/Calendar/Calendar.mdx +16 -0
  161. package/src/components/ui/Calendar/Calendar.module.css +7 -7
  162. package/src/components/ui/Calendar/Calendar.stories.tsx +1 -1
  163. package/src/components/ui/Calendar/Calendar.tsx +2 -2
  164. package/src/components/ui/Carousel/Carousel.module.css +5 -5
  165. package/src/components/ui/Carousel/Carousel.stories.tsx +1 -1
  166. package/src/components/ui/Carousel/Carousel.tsx +2 -2
  167. package/src/components/ui/Collapsible/Collapsible.module.css +4 -4
  168. package/src/components/ui/Collapsible/Collapsible.stories.tsx +1 -1
  169. package/src/components/ui/Collapsible/Collapsible.tsx +2 -2
  170. package/src/components/ui/DescriptionList/DescriptionList.stories.tsx +1 -1
  171. package/src/components/ui/DescriptionList/DescriptionList.tsx +2 -2
  172. package/src/components/ui/Link/Link.mdx +14 -0
  173. package/src/components/ui/Link/Link.module.css +2 -2
  174. package/src/components/ui/Link/Link.stories.tsx +1 -1
  175. package/src/components/ui/Link/Link.tsx +2 -2
  176. package/src/components/ui/Loading/Loading.module.css +7 -7
  177. package/src/components/ui/Loading/Loading.native.spec.tsx +24 -0
  178. package/src/components/ui/Loading/Loading.native.stories.tsx +33 -0
  179. package/src/components/ui/Loading/Loading.native.tsx +29 -0
  180. package/src/components/ui/Loading/Loading.stories.tsx +1 -1
  181. package/src/components/ui/Loading/Loading.tsx +2 -2
  182. package/src/components/ui/NotificationBanner/NotificationBanner.module.css +3 -3
  183. package/src/components/ui/NotificationBanner/NotificationBanner.native.stories.tsx +39 -0
  184. package/src/components/ui/NotificationBanner/NotificationBanner.native.tsx +76 -0
  185. package/src/components/ui/NotificationBanner/NotificationBanner.stories.tsx +1 -1
  186. package/src/components/ui/NotificationBanner/NotificationBanner.tsx +2 -2
  187. package/src/components/ui/Pagination/Pagination.module.css +7 -7
  188. package/src/components/ui/Pagination/Pagination.stories.tsx +1 -1
  189. package/src/components/ui/Pagination/Pagination.tsx +2 -2
  190. package/src/components/ui/Progress/Progress.mdx +1 -1
  191. package/src/components/ui/Progress/Progress.module.css +6 -6
  192. package/src/components/ui/Progress/Progress.native.stories.tsx +34 -0
  193. package/src/components/ui/Progress/Progress.native.tsx +84 -0
  194. package/src/components/ui/Progress/Progress.stories.tsx +1 -1
  195. package/src/components/ui/Progress/Progress.tsx +2 -2
  196. package/src/components/ui/ProgressCircle/ProgressCircle.module.css +1 -1
  197. package/src/components/ui/ProgressCircle/ProgressCircle.stories.tsx +1 -1
  198. package/src/components/ui/ProgressCircle/ProgressCircle.tsx +2 -2
  199. package/src/components/ui/Separator/Separator.mdx +14 -0
  200. package/src/components/ui/Separator/Separator.module.css +3 -3
  201. package/src/components/ui/Separator/Separator.native.stories.tsx +42 -0
  202. package/src/components/ui/Separator/Separator.native.tsx +32 -0
  203. package/src/components/ui/Separator/Separator.stories.tsx +1 -1
  204. package/src/components/ui/Separator/Separator.tsx +2 -2
  205. package/src/components/ui/Skeleton/Skeleton.module.css +1 -1
  206. package/src/components/ui/Skeleton/Skeleton.native.stories.tsx +33 -0
  207. package/src/components/ui/Skeleton/Skeleton.native.tsx +41 -0
  208. package/src/components/ui/Skeleton/Skeleton.stories.tsx +1 -1
  209. package/src/components/ui/Skeleton/Skeleton.tsx +2 -3
  210. package/src/components/ui/SkipLink/SkipLink.stories.tsx +1 -1
  211. package/src/components/ui/SkipLink/SkipLink.tsx +5 -3
  212. package/src/components/ui/Table/Table.mdx +14 -0
  213. package/src/components/ui/Table/Table.module.css +9 -9
  214. package/src/components/ui/Table/Table.stories.tsx +1 -1
  215. package/src/components/ui/Table/Table.tsx +2 -2
  216. package/src/components/ui/Tabs/Tabs.module.css +3 -3
  217. package/src/components/ui/Tabs/Tabs.stories.tsx +1 -1
  218. package/src/components/ui/Tabs/Tabs.tsx +2 -2
  219. package/src/components/ui/Tooltip/Tooltip.mdx +14 -0
  220. package/src/components/ui/Tooltip/Tooltip.module.css +8 -8
  221. package/src/components/ui/Tooltip/Tooltip.stories.tsx +1 -1
  222. package/src/components/ui/Tooltip/Tooltip.tsx +2 -2
  223. package/src/components/ui/Typography/Typography.mdx +13 -0
  224. package/src/components/ui/Typography/Typography.native.mdx +56 -0
  225. package/src/components/ui/Typography/Typography.native.stories.tsx +38 -0
  226. package/src/components/ui/Typography/Typography.native.tsx +65 -0
  227. package/src/components/ui/Typography/Typography.stories.tsx +1 -1
  228. package/src/components/ui/Typography/Typography.tsx +2 -2
  229. package/src/css/bdc.css +8 -0
  230. package/src/index.ts +1 -0
  231. package/src/native/ThemeContext.tsx +28 -0
  232. package/src/native/tokens.ts +13 -0
  233. package/src/native.ts +39 -0
  234. package/src/polyfill-invoker-commands.ts +68 -0
  235. package/src/react-augment.d.ts +32 -0
  236. package/src/stories/DesignSystem/DarkMode.mdx +130 -0
  237. package/src/stories/ReactNative.mdx +121 -0
  238. package/src/types.ts +2 -0
  239. package/src/typings.d.ts +3 -0
  240. package/src/web-components/globals.ts +61 -0
  241. package/src/web-components/index.ts +12 -0
  242. package/src/web-components/interaction/BdsButton.mdx +106 -0
  243. package/src/web-components/interaction/BdsButton.stories.tsx +60 -0
  244. package/src/web-components/interaction/BdsPopover.mdx +120 -0
  245. package/src/web-components/interaction/BdsPopover.stories.tsx +70 -0
  246. package/src/web-components/interaction/BdsToastProvider.mdx +94 -0
  247. package/src/web-components/interaction/BdsToastProvider.stories.tsx +73 -0
  248. package/src/web-components/interaction/bds-button.spec.ts +95 -0
  249. package/src/web-components/interaction/bds-button.ts +293 -0
  250. package/src/web-components/interaction/bds-popover.spec.ts +174 -0
  251. package/src/web-components/interaction/bds-popover.ts +229 -0
  252. package/src/web-components/interaction/bds-toast-provider.spec.ts +122 -0
  253. package/src/web-components/interaction/bds-toast-provider.ts +211 -0
  254. package/src/web-components/test/helpers.ts +22 -0
  255. package/src/web-components/ui/BdsAlert.mdx +90 -0
  256. package/src/web-components/ui/BdsAlert.stories.tsx +60 -0
  257. package/src/web-components/ui/BdsBadge.mdx +74 -0
  258. package/src/web-components/ui/BdsBadge.stories.tsx +37 -0
  259. package/src/web-components/ui/bds-alert.spec.ts +109 -0
  260. package/src/web-components/ui/bds-alert.ts +209 -0
  261. package/src/web-components/ui/bds-badge.spec.ts +51 -0
  262. package/src/web-components/ui/bds-badge.ts +88 -0
@@ -0,0 +1,208 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } 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 }: {
23
+ children: ReactNode;
24
+ }): react_jsx_runtime.JSX.Element;
25
+ declare function useTheme(): ThemeContextValue;
26
+
27
+ type TypographyVariant = 'h1' | 'h2' | 'h3' | 'body' | 'body_s';
28
+ interface TypographyProps {
29
+ variant?: TypographyVariant;
30
+ children: ReactNode;
31
+ style?: StyleProp<TextStyle>;
32
+ }
33
+ declare function Typography({ variant, children, style }: TypographyProps): react_jsx_runtime.JSX.Element;
34
+
35
+ type BadgeVariant = 'primary' | 'secondary' | 'success' | 'error' | 'warning';
36
+ interface BadgeProps {
37
+ children: ReactNode;
38
+ variant?: BadgeVariant;
39
+ style?: StyleProp<ViewStyle>;
40
+ }
41
+ declare function Badge({ children, variant, style }: BadgeProps): react_jsx_runtime.JSX.Element;
42
+
43
+ type AvatarSize = 'small' | 'medium' | 'large';
44
+ interface AvatarProps {
45
+ src?: string;
46
+ alt?: string;
47
+ name?: string;
48
+ size?: AvatarSize;
49
+ style?: StyleProp<ViewStyle>;
50
+ }
51
+ declare function Avatar({ src, alt, name, size, style }: Readonly<AvatarProps>): react_jsx_runtime.JSX.Element;
52
+
53
+ interface SeparatorProps {
54
+ orientation?: 'horizontal' | 'vertical';
55
+ style?: StyleProp<ViewStyle>;
56
+ }
57
+ declare function Separator({ orientation, style }: Readonly<SeparatorProps>): react_jsx_runtime.JSX.Element;
58
+
59
+ type LoadingSize = 'small' | 'medium' | 'large';
60
+ interface LoadingProps {
61
+ size?: LoadingSize;
62
+ accessibilityLabel?: string;
63
+ style?: StyleProp<ViewStyle>;
64
+ }
65
+ declare function Loading({ size, accessibilityLabel, style }: LoadingProps): react_jsx_runtime.JSX.Element;
66
+
67
+ type ProgressSize = 'small' | 'medium' | 'large';
68
+ interface ProgressProps {
69
+ value: number;
70
+ max?: number;
71
+ label: string;
72
+ showLabel?: boolean;
73
+ size?: ProgressSize;
74
+ style?: StyleProp<ViewStyle>;
75
+ }
76
+ declare function Progress({ value, max, label, showLabel, size, style, }: Readonly<ProgressProps>): react_jsx_runtime.JSX.Element;
77
+
78
+ interface SkeletonProps {
79
+ style?: StyleProp<ViewStyle>;
80
+ }
81
+ declare function Skeleton({ style }: SkeletonProps): react_jsx_runtime.JSX.Element;
82
+
83
+ type AlertVariant = 'info' | 'success' | 'warning' | 'error';
84
+ interface AlertProps {
85
+ variant?: AlertVariant;
86
+ icon?: ReactNode;
87
+ title?: string;
88
+ children: ReactNode;
89
+ onDismiss?: () => void;
90
+ style?: StyleProp<ViewStyle>;
91
+ }
92
+ declare function Alert({ variant, icon, title, children, onDismiss, style, }: Readonly<AlertProps>): react_jsx_runtime.JSX.Element;
93
+
94
+ type BannerVariant = 'info' | 'success' | 'warning' | 'error';
95
+ interface NotificationBannerProps {
96
+ variant?: BannerVariant;
97
+ children: ReactNode;
98
+ action?: ReactNode;
99
+ onDismiss?: () => void;
100
+ style?: StyleProp<ViewStyle>;
101
+ }
102
+ declare function NotificationBanner({ variant, children, action, onDismiss, style, }: Readonly<NotificationBannerProps>): react_jsx_runtime.JSX.Element;
103
+
104
+ type CardVariant = 'default' | 'elevated' | 'outlined';
105
+ type CardPadding = 'none' | 'small' | 'medium' | 'large';
106
+ type CardAlign = 'start' | 'center' | 'end';
107
+ interface CardProps {
108
+ children: ReactNode;
109
+ variant?: CardVariant;
110
+ padding?: CardPadding;
111
+ textAlign?: CardAlign;
112
+ style?: StyleProp<ViewStyle>;
113
+ onPress?: () => void;
114
+ accessibilityLabel?: string;
115
+ }
116
+ declare function Card({ children, variant, padding, textAlign, style, onPress, accessibilityLabel, }: CardProps): react_jsx_runtime.JSX.Element;
117
+
118
+ type SectionHeaderAlignment = 'start' | 'center' | 'end';
119
+ type SectionHeaderSize = 'small' | 'medium' | 'large';
120
+ interface SectionHeaderProps {
121
+ title: string;
122
+ subtitle?: string;
123
+ alignment?: SectionHeaderAlignment;
124
+ size?: SectionHeaderSize;
125
+ style?: StyleProp<ViewStyle>;
126
+ }
127
+ declare function SectionHeader({ title, subtitle, alignment, size, style, }: Readonly<SectionHeaderProps>): react_jsx_runtime.JSX.Element;
128
+
129
+ interface IconWrapperProps {
130
+ children: ReactNode;
131
+ style?: StyleProp<ViewStyle>;
132
+ accessibilityElementsHidden?: boolean;
133
+ }
134
+ declare function IconWrapper({ children, style, accessibilityElementsHidden }: IconWrapperProps): react_jsx_runtime.JSX.Element;
135
+
136
+ interface ButtonGroupProps {
137
+ children: ReactNode;
138
+ variant?: 'flow' | 'card' | 'modal' | 'content';
139
+ accessibilityLabel?: string;
140
+ style?: StyleProp<ViewStyle>;
141
+ }
142
+ declare function ButtonGroup({ children, variant, accessibilityLabel, style }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
143
+
144
+ type ButtonVariant = 'default' | 'ghost';
145
+ type ButtonSize = 'small' | 'medium' | 'large';
146
+ interface ButtonProps {
147
+ children?: ReactNode;
148
+ variant?: ButtonVariant;
149
+ size?: ButtonSize;
150
+ iconStart?: ReactNode;
151
+ iconEnd?: ReactNode;
152
+ disabled?: boolean;
153
+ onPress?: () => void;
154
+ accessibilityLabel?: string;
155
+ style?: StyleProp<ViewStyle>;
156
+ }
157
+ declare function Button({ children, variant, size, iconStart, iconEnd, disabled, onPress, accessibilityLabel, style, }: Readonly<ButtonProps>): react_jsx_runtime.JSX.Element;
158
+
159
+ interface SwitchProps {
160
+ label: string;
161
+ name: string;
162
+ value?: boolean;
163
+ onChange?: (value: boolean) => void;
164
+ disabled?: boolean;
165
+ error?: string;
166
+ hint?: string;
167
+ style?: StyleProp<ViewStyle>;
168
+ }
169
+ declare function Switch({ label, value, onChange, disabled, error, hint, style, }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
170
+
171
+ interface CheckboxProps {
172
+ label: ReactNode;
173
+ name: string;
174
+ checked?: boolean;
175
+ onChange?: (checked: boolean) => void;
176
+ disabled?: boolean;
177
+ error?: string;
178
+ hint?: string;
179
+ style?: StyleProp<ViewStyle>;
180
+ }
181
+ declare function Checkbox({ label, name, checked, onChange, disabled, error, hint, style, }: CheckboxProps): react_jsx_runtime.JSX.Element;
182
+
183
+ interface RadioProps {
184
+ label: ReactNode;
185
+ name: string;
186
+ checked?: boolean;
187
+ onChange?: () => void;
188
+ disabled?: boolean;
189
+ error?: string;
190
+ hint?: string;
191
+ style?: StyleProp<ViewStyle>;
192
+ }
193
+ declare function Radio({ label, name, checked, onChange, disabled, error, hint, style, }: RadioProps): react_jsx_runtime.JSX.Element;
194
+
195
+ interface LabelProps {
196
+ label: ReactNode;
197
+ style?: StyleProp<TextStyle>;
198
+ }
199
+ declare function Label({ label, style }: LabelProps): react_jsx_runtime.JSX.Element;
200
+
201
+ interface MessageProps {
202
+ type: 'hint' | 'error';
203
+ message: string | undefined;
204
+ style?: StyleProp<TextStyle>;
205
+ }
206
+ declare function Message({ message, type, style }: MessageProps): react_jsx_runtime.JSX.Element | null;
207
+
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 };
@@ -0,0 +1,208 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } 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 }: {
23
+ children: ReactNode;
24
+ }): react_jsx_runtime.JSX.Element;
25
+ declare function useTheme(): ThemeContextValue;
26
+
27
+ type TypographyVariant = 'h1' | 'h2' | 'h3' | 'body' | 'body_s';
28
+ interface TypographyProps {
29
+ variant?: TypographyVariant;
30
+ children: ReactNode;
31
+ style?: StyleProp<TextStyle>;
32
+ }
33
+ declare function Typography({ variant, children, style }: TypographyProps): react_jsx_runtime.JSX.Element;
34
+
35
+ type BadgeVariant = 'primary' | 'secondary' | 'success' | 'error' | 'warning';
36
+ interface BadgeProps {
37
+ children: ReactNode;
38
+ variant?: BadgeVariant;
39
+ style?: StyleProp<ViewStyle>;
40
+ }
41
+ declare function Badge({ children, variant, style }: BadgeProps): react_jsx_runtime.JSX.Element;
42
+
43
+ type AvatarSize = 'small' | 'medium' | 'large';
44
+ interface AvatarProps {
45
+ src?: string;
46
+ alt?: string;
47
+ name?: string;
48
+ size?: AvatarSize;
49
+ style?: StyleProp<ViewStyle>;
50
+ }
51
+ declare function Avatar({ src, alt, name, size, style }: Readonly<AvatarProps>): react_jsx_runtime.JSX.Element;
52
+
53
+ interface SeparatorProps {
54
+ orientation?: 'horizontal' | 'vertical';
55
+ style?: StyleProp<ViewStyle>;
56
+ }
57
+ declare function Separator({ orientation, style }: Readonly<SeparatorProps>): react_jsx_runtime.JSX.Element;
58
+
59
+ type LoadingSize = 'small' | 'medium' | 'large';
60
+ interface LoadingProps {
61
+ size?: LoadingSize;
62
+ accessibilityLabel?: string;
63
+ style?: StyleProp<ViewStyle>;
64
+ }
65
+ declare function Loading({ size, accessibilityLabel, style }: LoadingProps): react_jsx_runtime.JSX.Element;
66
+
67
+ type ProgressSize = 'small' | 'medium' | 'large';
68
+ interface ProgressProps {
69
+ value: number;
70
+ max?: number;
71
+ label: string;
72
+ showLabel?: boolean;
73
+ size?: ProgressSize;
74
+ style?: StyleProp<ViewStyle>;
75
+ }
76
+ declare function Progress({ value, max, label, showLabel, size, style, }: Readonly<ProgressProps>): react_jsx_runtime.JSX.Element;
77
+
78
+ interface SkeletonProps {
79
+ style?: StyleProp<ViewStyle>;
80
+ }
81
+ declare function Skeleton({ style }: SkeletonProps): react_jsx_runtime.JSX.Element;
82
+
83
+ type AlertVariant = 'info' | 'success' | 'warning' | 'error';
84
+ interface AlertProps {
85
+ variant?: AlertVariant;
86
+ icon?: ReactNode;
87
+ title?: string;
88
+ children: ReactNode;
89
+ onDismiss?: () => void;
90
+ style?: StyleProp<ViewStyle>;
91
+ }
92
+ declare function Alert({ variant, icon, title, children, onDismiss, style, }: Readonly<AlertProps>): react_jsx_runtime.JSX.Element;
93
+
94
+ type BannerVariant = 'info' | 'success' | 'warning' | 'error';
95
+ interface NotificationBannerProps {
96
+ variant?: BannerVariant;
97
+ children: ReactNode;
98
+ action?: ReactNode;
99
+ onDismiss?: () => void;
100
+ style?: StyleProp<ViewStyle>;
101
+ }
102
+ declare function NotificationBanner({ variant, children, action, onDismiss, style, }: Readonly<NotificationBannerProps>): react_jsx_runtime.JSX.Element;
103
+
104
+ type CardVariant = 'default' | 'elevated' | 'outlined';
105
+ type CardPadding = 'none' | 'small' | 'medium' | 'large';
106
+ type CardAlign = 'start' | 'center' | 'end';
107
+ interface CardProps {
108
+ children: ReactNode;
109
+ variant?: CardVariant;
110
+ padding?: CardPadding;
111
+ textAlign?: CardAlign;
112
+ style?: StyleProp<ViewStyle>;
113
+ onPress?: () => void;
114
+ accessibilityLabel?: string;
115
+ }
116
+ declare function Card({ children, variant, padding, textAlign, style, onPress, accessibilityLabel, }: CardProps): react_jsx_runtime.JSX.Element;
117
+
118
+ type SectionHeaderAlignment = 'start' | 'center' | 'end';
119
+ type SectionHeaderSize = 'small' | 'medium' | 'large';
120
+ interface SectionHeaderProps {
121
+ title: string;
122
+ subtitle?: string;
123
+ alignment?: SectionHeaderAlignment;
124
+ size?: SectionHeaderSize;
125
+ style?: StyleProp<ViewStyle>;
126
+ }
127
+ declare function SectionHeader({ title, subtitle, alignment, size, style, }: Readonly<SectionHeaderProps>): react_jsx_runtime.JSX.Element;
128
+
129
+ interface IconWrapperProps {
130
+ children: ReactNode;
131
+ style?: StyleProp<ViewStyle>;
132
+ accessibilityElementsHidden?: boolean;
133
+ }
134
+ declare function IconWrapper({ children, style, accessibilityElementsHidden }: IconWrapperProps): react_jsx_runtime.JSX.Element;
135
+
136
+ interface ButtonGroupProps {
137
+ children: ReactNode;
138
+ variant?: 'flow' | 'card' | 'modal' | 'content';
139
+ accessibilityLabel?: string;
140
+ style?: StyleProp<ViewStyle>;
141
+ }
142
+ declare function ButtonGroup({ children, variant, accessibilityLabel, style }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
143
+
144
+ type ButtonVariant = 'default' | 'ghost';
145
+ type ButtonSize = 'small' | 'medium' | 'large';
146
+ interface ButtonProps {
147
+ children?: ReactNode;
148
+ variant?: ButtonVariant;
149
+ size?: ButtonSize;
150
+ iconStart?: ReactNode;
151
+ iconEnd?: ReactNode;
152
+ disabled?: boolean;
153
+ onPress?: () => void;
154
+ accessibilityLabel?: string;
155
+ style?: StyleProp<ViewStyle>;
156
+ }
157
+ declare function Button({ children, variant, size, iconStart, iconEnd, disabled, onPress, accessibilityLabel, style, }: Readonly<ButtonProps>): react_jsx_runtime.JSX.Element;
158
+
159
+ interface SwitchProps {
160
+ label: string;
161
+ name: string;
162
+ value?: boolean;
163
+ onChange?: (value: boolean) => void;
164
+ disabled?: boolean;
165
+ error?: string;
166
+ hint?: string;
167
+ style?: StyleProp<ViewStyle>;
168
+ }
169
+ declare function Switch({ label, value, onChange, disabled, error, hint, style, }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
170
+
171
+ interface CheckboxProps {
172
+ label: ReactNode;
173
+ name: string;
174
+ checked?: boolean;
175
+ onChange?: (checked: boolean) => void;
176
+ disabled?: boolean;
177
+ error?: string;
178
+ hint?: string;
179
+ style?: StyleProp<ViewStyle>;
180
+ }
181
+ declare function Checkbox({ label, name, checked, onChange, disabled, error, hint, style, }: CheckboxProps): react_jsx_runtime.JSX.Element;
182
+
183
+ interface RadioProps {
184
+ label: ReactNode;
185
+ name: string;
186
+ checked?: boolean;
187
+ onChange?: () => void;
188
+ disabled?: boolean;
189
+ error?: string;
190
+ hint?: string;
191
+ style?: StyleProp<ViewStyle>;
192
+ }
193
+ declare function Radio({ label, name, checked, onChange, disabled, error, hint, style, }: RadioProps): react_jsx_runtime.JSX.Element;
194
+
195
+ interface LabelProps {
196
+ label: ReactNode;
197
+ style?: StyleProp<TextStyle>;
198
+ }
199
+ declare function Label({ label, style }: LabelProps): react_jsx_runtime.JSX.Element;
200
+
201
+ interface MessageProps {
202
+ type: 'hint' | 'error';
203
+ message: string | undefined;
204
+ style?: StyleProp<TextStyle>;
205
+ }
206
+ declare function Message({ message, type, style }: MessageProps): react_jsx_runtime.JSX.Element | null;
207
+
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 };