@boostdev/design-system-react-native 0.1.0 → 0.2.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 (191) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE +15 -0
  3. package/README.md +104 -2
  4. package/dist/index.cjs +100 -57
  5. package/dist/index.d.cts +61 -6
  6. package/dist/index.d.ts +61 -6
  7. package/dist/index.js +100 -57
  8. package/package.json +30 -10
  9. package/src/components/interaction/Button/Button.mdx +91 -0
  10. package/src/components/interaction/Button/Button.spec.tsx +55 -0
  11. package/src/components/interaction/Button/Button.stories.tsx +141 -0
  12. package/src/components/interaction/Button/Button.tsx +105 -0
  13. package/src/components/interaction/Dialog/Dialog.mdx +61 -0
  14. package/src/components/interaction/Dialog/Dialog.spec.tsx +73 -0
  15. package/src/components/interaction/Dialog/Dialog.stories.tsx +53 -0
  16. package/src/components/interaction/Dialog/Dialog.tsx +128 -0
  17. package/src/components/interaction/DropdownMenu/DropdownMenu.mdx +74 -0
  18. package/src/components/interaction/DropdownMenu/DropdownMenu.spec.tsx +78 -0
  19. package/src/components/interaction/DropdownMenu/DropdownMenu.stories.tsx +51 -0
  20. package/src/components/interaction/DropdownMenu/DropdownMenu.tsx +254 -0
  21. package/src/components/interaction/Popover/Popover.mdx +61 -0
  22. package/src/components/interaction/Popover/Popover.spec.tsx +73 -0
  23. package/src/components/interaction/Popover/Popover.stories.tsx +44 -0
  24. package/src/components/interaction/Popover/Popover.tsx +87 -0
  25. package/src/components/interaction/Rating/Rating.mdx +55 -0
  26. package/src/components/interaction/Rating/Rating.spec.tsx +38 -0
  27. package/src/components/interaction/Rating/Rating.stories.tsx +37 -0
  28. package/src/components/interaction/Rating/Rating.tsx +50 -0
  29. package/src/components/interaction/SideSheet/SideSheet.mdx +60 -0
  30. package/src/components/interaction/SideSheet/SideSheet.spec.tsx +80 -0
  31. package/src/components/interaction/SideSheet/SideSheet.stories.tsx +33 -0
  32. package/src/components/interaction/SideSheet/SideSheet.tsx +175 -0
  33. package/src/components/interaction/Toast/Toast.mdx +81 -0
  34. package/src/components/interaction/Toast/Toast.spec.tsx +80 -0
  35. package/src/components/interaction/Toast/Toast.stories.tsx +47 -0
  36. package/src/components/interaction/Toast/Toast.tsx +202 -0
  37. package/src/components/interaction/form/Checkbox/Checkbox.mdx +74 -0
  38. package/src/components/interaction/form/Checkbox/Checkbox.spec.tsx +42 -0
  39. package/src/components/interaction/form/Checkbox/Checkbox.stories.tsx +34 -0
  40. package/src/components/interaction/form/Checkbox/Checkbox.tsx +80 -0
  41. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.mdx +78 -0
  42. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.spec.tsx +57 -0
  43. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.stories.tsx +96 -0
  44. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx +61 -0
  45. package/src/components/interaction/form/Combobox/Combobox.mdx +86 -0
  46. package/src/components/interaction/form/Combobox/Combobox.spec.tsx +60 -0
  47. package/src/components/interaction/form/Combobox/Combobox.stories.tsx +99 -0
  48. package/src/components/interaction/form/Combobox/Combobox.tsx +211 -0
  49. package/src/components/interaction/form/FileInput/FileInput.mdx +86 -0
  50. package/src/components/interaction/form/FileInput/FileInput.spec.tsx +73 -0
  51. package/src/components/interaction/form/FileInput/FileInput.stories.tsx +69 -0
  52. package/src/components/interaction/form/FileInput/FileInput.tsx +129 -0
  53. package/src/components/interaction/form/FormInput/FormInput.mdx +81 -0
  54. package/src/components/interaction/form/FormInput/FormInput.spec.tsx +51 -0
  55. package/src/components/interaction/form/FormInput/FormInput.stories.tsx +54 -0
  56. package/src/components/interaction/form/FormInput/FormInput.tsx +122 -0
  57. package/src/components/interaction/form/NumberInput/NumberInput.mdx +87 -0
  58. package/src/components/interaction/form/NumberInput/NumberInput.spec.tsx +63 -0
  59. package/src/components/interaction/form/NumberInput/NumberInput.stories.tsx +63 -0
  60. package/src/components/interaction/form/NumberInput/NumberInput.tsx +198 -0
  61. package/src/components/interaction/form/Radio/Radio.spec.tsx +79 -0
  62. package/src/components/interaction/form/Radio/Radio.stories.tsx +44 -0
  63. package/src/components/interaction/form/Radio/Radio.tsx +79 -0
  64. package/src/components/interaction/form/RadioGroup/RadioGroup.mdx +79 -0
  65. package/src/components/interaction/form/RadioGroup/RadioGroup.spec.tsx +66 -0
  66. package/src/components/interaction/form/RadioGroup/RadioGroup.stories.tsx +96 -0
  67. package/src/components/interaction/form/RadioGroup/RadioGroup.tsx +61 -0
  68. package/src/components/interaction/form/SegmentedControl/SegmentedControl.mdx +78 -0
  69. package/src/components/interaction/form/SegmentedControl/SegmentedControl.spec.tsx +82 -0
  70. package/src/components/interaction/form/SegmentedControl/SegmentedControl.stories.tsx +99 -0
  71. package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +121 -0
  72. package/src/components/interaction/form/Select/Select.mdx +85 -0
  73. package/src/components/interaction/form/Select/Select.spec.tsx +64 -0
  74. package/src/components/interaction/form/Select/Select.stories.tsx +75 -0
  75. package/src/components/interaction/form/Select/Select.tsx +252 -0
  76. package/src/components/interaction/form/Slider/Slider.mdx +83 -0
  77. package/src/components/interaction/form/Slider/Slider.spec.tsx +51 -0
  78. package/src/components/interaction/form/Slider/Slider.stories.tsx +58 -0
  79. package/src/components/interaction/form/Slider/Slider.tsx +188 -0
  80. package/src/components/interaction/form/Switch/Switch.spec.tsx +60 -0
  81. package/src/components/interaction/form/Switch/Switch.stories.tsx +33 -0
  82. package/src/components/interaction/form/Switch/Switch.tsx +59 -0
  83. package/src/components/interaction/form/Textarea/Textarea.mdx +76 -0
  84. package/src/components/interaction/form/Textarea/Textarea.spec.tsx +50 -0
  85. package/src/components/interaction/form/Textarea/Textarea.stories.tsx +50 -0
  86. package/src/components/interaction/form/Textarea/Textarea.tsx +108 -0
  87. package/src/components/interaction/form/atoms/Label.spec.tsx +39 -0
  88. package/src/components/interaction/form/atoms/Label.stories.tsx +18 -0
  89. package/src/components/interaction/form/atoms/Label.tsx +29 -0
  90. package/src/components/interaction/form/atoms/Message.spec.tsx +30 -0
  91. package/src/components/interaction/form/atoms/Message.stories.tsx +22 -0
  92. package/src/components/interaction/form/atoms/Message.tsx +34 -0
  93. package/src/components/layout/ButtonGroup/ButtonGroup.spec.tsx +83 -0
  94. package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +44 -0
  95. package/src/components/layout/ButtonGroup/ButtonGroup.tsx +44 -0
  96. package/src/components/layout/Card/Card.spec.tsx +102 -0
  97. package/src/components/layout/Card/Card.stories.tsx +51 -0
  98. package/src/components/layout/Card/Card.tsx +89 -0
  99. package/src/components/layout/IconWrapper/IconWrapper.spec.tsx +39 -0
  100. package/src/components/layout/IconWrapper/IconWrapper.stories.tsx +37 -0
  101. package/src/components/layout/IconWrapper/IconWrapper.tsx +20 -0
  102. package/src/components/layout/SectionHeader/SectionHeader.spec.tsx +51 -0
  103. package/src/components/layout/SectionHeader/SectionHeader.stories.tsx +36 -0
  104. package/src/components/layout/SectionHeader/SectionHeader.tsx +79 -0
  105. package/src/components/ui/Accordion/Accordion.mdx +65 -0
  106. package/src/components/ui/Accordion/Accordion.spec.tsx +69 -0
  107. package/src/components/ui/Accordion/Accordion.stories.tsx +52 -0
  108. package/src/components/ui/Accordion/Accordion.tsx +141 -0
  109. package/src/components/ui/Alert/Alert.mdx +62 -0
  110. package/src/components/ui/Alert/Alert.spec.tsx +76 -0
  111. package/src/components/ui/Alert/Alert.stories.tsx +41 -0
  112. package/src/components/ui/Alert/Alert.tsx +94 -0
  113. package/src/components/ui/Avatar/Avatar.mdx +50 -0
  114. package/src/components/ui/Avatar/Avatar.spec.tsx +47 -0
  115. package/src/components/ui/Avatar/Avatar.stories.tsx +32 -0
  116. package/src/components/ui/Avatar/Avatar.tsx +85 -0
  117. package/src/components/ui/Badge/Badge.mdx +54 -0
  118. package/src/components/ui/Badge/Badge.spec.tsx +45 -0
  119. package/src/components/ui/Badge/Badge.stories.tsx +34 -0
  120. package/src/components/ui/Badge/Badge.tsx +50 -0
  121. package/src/components/ui/Breadcrumb/Breadcrumb.mdx +52 -0
  122. package/src/components/ui/Breadcrumb/Breadcrumb.spec.tsx +49 -0
  123. package/src/components/ui/Breadcrumb/Breadcrumb.stories.tsx +46 -0
  124. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +83 -0
  125. package/src/components/ui/Calendar/Calendar.mdx +58 -0
  126. package/src/components/ui/Calendar/Calendar.spec.tsx +92 -0
  127. package/src/components/ui/Calendar/Calendar.stories.tsx +45 -0
  128. package/src/components/ui/Calendar/Calendar.tsx +294 -0
  129. package/src/components/ui/Carousel/Carousel.mdx +55 -0
  130. package/src/components/ui/Carousel/Carousel.spec.tsx +55 -0
  131. package/src/components/ui/Carousel/Carousel.stories.tsx +59 -0
  132. package/src/components/ui/Carousel/Carousel.tsx +184 -0
  133. package/src/components/ui/Collapsible/Collapsible.mdx +53 -0
  134. package/src/components/ui/Collapsible/Collapsible.spec.tsx +68 -0
  135. package/src/components/ui/Collapsible/Collapsible.stories.tsx +48 -0
  136. package/src/components/ui/Collapsible/Collapsible.tsx +139 -0
  137. package/src/components/ui/DescriptionList/DescriptionList.mdx +50 -0
  138. package/src/components/ui/DescriptionList/DescriptionList.spec.tsx +37 -0
  139. package/src/components/ui/DescriptionList/DescriptionList.stories.tsx +48 -0
  140. package/src/components/ui/DescriptionList/DescriptionList.tsx +54 -0
  141. package/src/components/ui/Link/Link.mdx +53 -0
  142. package/src/components/ui/Link/Link.spec.tsx +35 -0
  143. package/src/components/ui/Link/Link.stories.tsx +46 -0
  144. package/src/components/ui/Link/Link.tsx +48 -0
  145. package/src/components/ui/Loading/Loading.spec.tsx +24 -0
  146. package/src/components/ui/Loading/Loading.stories.tsx +31 -0
  147. package/src/components/ui/Loading/Loading.tsx +29 -0
  148. package/src/components/ui/NotificationBanner/NotificationBanner.spec.tsx +85 -0
  149. package/src/components/ui/NotificationBanner/NotificationBanner.stories.tsx +37 -0
  150. package/src/components/ui/NotificationBanner/NotificationBanner.tsx +76 -0
  151. package/src/components/ui/Pagination/Pagination.mdx +62 -0
  152. package/src/components/ui/Pagination/Pagination.spec.tsx +86 -0
  153. package/src/components/ui/Pagination/Pagination.stories.tsx +47 -0
  154. package/src/components/ui/Pagination/Pagination.tsx +157 -0
  155. package/src/components/ui/Progress/Progress.spec.tsx +56 -0
  156. package/src/components/ui/Progress/Progress.stories.tsx +34 -0
  157. package/src/components/ui/Progress/Progress.tsx +84 -0
  158. package/src/components/ui/ProgressCircle/ProgressCircle.mdx +63 -0
  159. package/src/components/ui/ProgressCircle/ProgressCircle.spec.tsx +39 -0
  160. package/src/components/ui/ProgressCircle/ProgressCircle.stories.tsx +36 -0
  161. package/src/components/ui/ProgressCircle/ProgressCircle.tsx +176 -0
  162. package/src/components/ui/Separator/Separator.spec.tsx +39 -0
  163. package/src/components/ui/Separator/Separator.stories.tsx +38 -0
  164. package/src/components/ui/Separator/Separator.tsx +32 -0
  165. package/src/components/ui/Skeleton/Skeleton.spec.tsx +39 -0
  166. package/src/components/ui/Skeleton/Skeleton.stories.tsx +31 -0
  167. package/src/components/ui/Skeleton/Skeleton.tsx +42 -0
  168. package/src/components/ui/Table/Table.mdx +72 -0
  169. package/src/components/ui/Table/Table.spec.tsx +83 -0
  170. package/src/components/ui/Table/Table.stories.tsx +55 -0
  171. package/src/components/ui/Table/Table.tsx +196 -0
  172. package/src/components/ui/Tabs/Tabs.mdx +65 -0
  173. package/src/components/ui/Tabs/Tabs.spec.tsx +65 -0
  174. package/src/components/ui/Tabs/Tabs.stories.tsx +57 -0
  175. package/src/components/ui/Tabs/Tabs.tsx +133 -0
  176. package/src/components/ui/Tooltip/Tooltip.mdx +47 -0
  177. package/src/components/ui/Tooltip/Tooltip.spec.tsx +37 -0
  178. package/src/components/ui/Tooltip/Tooltip.stories.tsx +38 -0
  179. package/src/components/ui/Tooltip/Tooltip.tsx +57 -0
  180. package/src/components/ui/Typography/Typography.mdx +56 -0
  181. package/src/components/ui/Typography/Typography.spec.tsx +49 -0
  182. package/src/components/ui/Typography/Typography.stories.tsx +36 -0
  183. package/src/components/ui/Typography/Typography.tsx +65 -0
  184. package/src/index.ts +86 -0
  185. package/src/native/ReactNavigationTheme.mdx +140 -0
  186. package/src/native/ReactNavigationTheme.spec.tsx +35 -0
  187. package/src/native/ReactNavigationTheme.ts +102 -0
  188. package/src/native/ThemeContext.spec.tsx +57 -0
  189. package/src/native/ThemeContext.tsx +48 -0
  190. package/src/native/tokens.ts +13 -0
  191. package/src/test/setup.ts +1 -0
package/dist/index.cjs CHANGED
@@ -47,7 +47,6 @@ __export(index_exports, {
47
47
  Combobox: () => Combobox,
48
48
  DescriptionList: () => DescriptionList,
49
49
  Dialog: () => Dialog,
50
- Drawer: () => Drawer,
51
50
  DropdownMenu: () => DropdownMenu,
52
51
  FileInput: () => FileInput,
53
52
  FormInput: () => FormInput,
@@ -69,6 +68,7 @@ __export(index_exports, {
69
68
  SegmentedControl: () => SegmentedControl,
70
69
  Select: () => Select,
71
70
  Separator: () => Separator,
71
+ SideSheet: () => SideSheet,
72
72
  Skeleton: () => Skeleton,
73
73
  Slider: () => Slider,
74
74
  Switch: () => Switch,
@@ -82,9 +82,11 @@ __export(index_exports, {
82
82
  animation: () => import_native.animation,
83
83
  border: () => import_native.border,
84
84
  colors: () => import_native.colors,
85
+ createReactNavigationTheme: () => createReactNavigationTheme,
85
86
  font: () => import_native.font,
86
87
  lineHeight: () => lineHeight,
87
88
  spacing: () => import_native.spacing,
89
+ useReactNavigationTheme: () => useReactNavigationTheme,
88
90
  useTheme: () => useTheme,
89
91
  useToast: () => useToast,
90
92
  zIndex: () => import_native.zIndex
@@ -109,13 +111,14 @@ var lineHeight = {
109
111
  // src/native/ThemeContext.tsx
110
112
  var import_jsx_runtime = require("react/jsx-runtime");
111
113
  var ThemeContext = (0, import_react.createContext)(null);
112
- function ThemeProvider({ children, colorScheme }) {
114
+ function ThemeProvider({ children, colorScheme, tokens }) {
113
115
  const systemScheme = (0, import_react_native.useColorScheme)();
114
116
  const isDark = (colorScheme ?? systemScheme) === "dark";
115
- const value = (0, import_react.useMemo)(
116
- () => ({ colors: isDark ? import_native.colors.dark : import_native.colors.light, isDark }),
117
- [isDark]
118
- );
117
+ const value = (0, import_react.useMemo)(() => {
118
+ const base = isDark ? import_native.colors.dark : import_native.colors.light;
119
+ const overrides = isDark ? tokens?.dark : tokens?.light;
120
+ return { colors: { ...base, ...overrides }, isDark };
121
+ }, [isDark, tokens]);
119
122
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThemeContext.Provider, { value, children });
120
123
  }
121
124
  function useTheme() {
@@ -124,7 +127,47 @@ function useTheme() {
124
127
  return ctx;
125
128
  }
126
129
 
127
- // src/components/ui/Typography/Typography.native.tsx
130
+ // src/native/ReactNavigationTheme.ts
131
+ var import_native2 = require("@boostdev/design-system-foundation/native");
132
+ function mapColors(tokens, dark) {
133
+ return {
134
+ primary: tokens.colorInteractive,
135
+ background: tokens.colorBg,
136
+ card: tokens.colorBgSubtle,
137
+ text: tokens.colorOnBg,
138
+ border: dark ? import_native2.palette.grey700 : import_native2.palette.grey200,
139
+ notification: tokens.colorError
140
+ };
141
+ }
142
+ function mapFonts() {
143
+ const family = import_native2.font.family.body;
144
+ return {
145
+ regular: { fontFamily: family, fontWeight: String(import_native2.font.weight.body) },
146
+ medium: { fontFamily: family, fontWeight: String(import_native2.font.weight.medium) },
147
+ bold: { fontFamily: family, fontWeight: String(import_native2.font.weight.bold) },
148
+ heavy: { fontFamily: family, fontWeight: String(import_native2.font.weight.heading) }
149
+ };
150
+ }
151
+ function createReactNavigationTheme(options = {}) {
152
+ const dark = options.dark ?? false;
153
+ const tokens = options.tokens ?? (dark ? import_native2.colors.dark : import_native2.colors.light);
154
+ return {
155
+ dark,
156
+ colors: { ...mapColors(tokens, dark), ...options.colors },
157
+ fonts: { ...mapFonts(), ...options.fonts }
158
+ };
159
+ }
160
+ function useReactNavigationTheme(overrides = {}) {
161
+ const { colors: tokens, isDark } = useTheme();
162
+ return createReactNavigationTheme({
163
+ dark: isDark,
164
+ tokens,
165
+ colors: overrides.colors,
166
+ fonts: overrides.fonts
167
+ });
168
+ }
169
+
170
+ // src/components/ui/Typography/Typography.tsx
128
171
  var import_react_native2 = require("react-native");
129
172
  var import_jsx_runtime2 = require("react/jsx-runtime");
130
173
  var styles = import_react_native2.StyleSheet.create({
@@ -178,7 +221,7 @@ function Typography({ variant = "body", children, style }) {
178
221
  );
179
222
  }
180
223
 
181
- // src/components/ui/Badge/Badge.native.tsx
224
+ // src/components/ui/Badge/Badge.tsx
182
225
  var import_react_native3 = require("react-native");
183
226
  var import_jsx_runtime3 = require("react/jsx-runtime");
184
227
  var styles2 = import_react_native3.StyleSheet.create({
@@ -211,7 +254,7 @@ function Badge({ children, variant = "primary", style }) {
211
254
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native3.View, { style: [styles2.badge, { backgroundColor: bg }, style], children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native3.Text, { style: [styles2.text, { color: text }], children }) });
212
255
  }
213
256
 
214
- // src/components/ui/Avatar/Avatar.native.tsx
257
+ // src/components/ui/Avatar/Avatar.tsx
215
258
  var import_react_native4 = require("react-native");
216
259
  var import_jsx_runtime4 = require("react/jsx-runtime");
217
260
  var sizeMap = {
@@ -277,7 +320,7 @@ function Avatar({ src, alt, name, size = "medium", style }) {
277
320
  );
278
321
  }
279
322
 
280
- // src/components/ui/Separator/Separator.native.tsx
323
+ // src/components/ui/Separator/Separator.tsx
281
324
  var import_react_native5 = require("react-native");
282
325
  var import_jsx_runtime5 = require("react/jsx-runtime");
283
326
  var styles4 = import_react_native5.StyleSheet.create({
@@ -305,7 +348,7 @@ function Separator({ orientation = "horizontal", style }) {
305
348
  );
306
349
  }
307
350
 
308
- // src/components/ui/Loading/Loading.native.tsx
351
+ // src/components/ui/Loading/Loading.tsx
309
352
  var import_react_native6 = require("react-native");
310
353
  var import_jsx_runtime6 = require("react/jsx-runtime");
311
354
  var rnSize = {
@@ -327,7 +370,7 @@ function Loading({ size = "medium", accessibilityLabel = "Loading", style }) {
327
370
  );
328
371
  }
329
372
 
330
- // src/components/ui/Progress/Progress.native.tsx
373
+ // src/components/ui/Progress/Progress.tsx
331
374
  var import_react_native7 = require("react-native");
332
375
  var import_jsx_runtime7 = require("react/jsx-runtime");
333
376
  var trackHeight = {
@@ -399,7 +442,7 @@ function Progress({
399
442
  ] });
400
443
  }
401
444
 
402
- // src/components/ui/Skeleton/Skeleton.native.tsx
445
+ // src/components/ui/Skeleton/Skeleton.tsx
403
446
  var import_react2 = require("react");
404
447
  var import_react_native8 = require("react-native");
405
448
  var import_jsx_runtime8 = require("react/jsx-runtime");
@@ -435,7 +478,7 @@ function Skeleton({ style }) {
435
478
  );
436
479
  }
437
480
 
438
- // src/components/ui/Alert/Alert.native.tsx
481
+ // src/components/ui/Alert/Alert.tsx
439
482
  var import_react_native9 = require("react-native");
440
483
  var import_jsx_runtime9 = require("react/jsx-runtime");
441
484
  var styles7 = import_react_native9.StyleSheet.create({
@@ -515,7 +558,7 @@ function Alert({
515
558
  );
516
559
  }
517
560
 
518
- // src/components/ui/NotificationBanner/NotificationBanner.native.tsx
561
+ // src/components/ui/NotificationBanner/NotificationBanner.tsx
519
562
  var import_react_native10 = require("react-native");
520
563
  var import_jsx_runtime10 = require("react/jsx-runtime");
521
564
  var styles8 = import_react_native10.StyleSheet.create({
@@ -578,7 +621,7 @@ function NotificationBanner({
578
621
  );
579
622
  }
580
623
 
581
- // src/components/ui/Link/Link.native.tsx
624
+ // src/components/ui/Link/Link.tsx
582
625
  var import_react_native11 = require("react-native");
583
626
  var import_jsx_runtime11 = require("react/jsx-runtime");
584
627
  var styles9 = import_react_native11.StyleSheet.create({
@@ -612,7 +655,7 @@ function Link({ href, children, accessibilityLabel, style, onPress }) {
612
655
  );
613
656
  }
614
657
 
615
- // src/components/ui/DescriptionList/DescriptionList.native.tsx
658
+ // src/components/ui/DescriptionList/DescriptionList.tsx
616
659
  var import_react_native12 = require("react-native");
617
660
  var import_jsx_runtime12 = require("react/jsx-runtime");
618
661
  var styles10 = import_react_native12.StyleSheet.create({
@@ -643,7 +686,7 @@ function DescriptionList({ items, style }) {
643
686
  ] }, i)) });
644
687
  }
645
688
 
646
- // src/components/ui/Breadcrumb/Breadcrumb.native.tsx
689
+ // src/components/ui/Breadcrumb/Breadcrumb.tsx
647
690
  var import_react_native13 = require("react-native");
648
691
  var import_jsx_runtime13 = require("react/jsx-runtime");
649
692
  var styles11 = import_react_native13.StyleSheet.create({
@@ -709,7 +752,7 @@ function Breadcrumb({ items, style }) {
709
752
  );
710
753
  }
711
754
 
712
- // src/components/ui/ProgressCircle/ProgressCircle.native.tsx
755
+ // src/components/ui/ProgressCircle/ProgressCircle.tsx
713
756
  var import_react_native14 = require("react-native");
714
757
  var import_jsx_runtime14 = require("react/jsx-runtime");
715
758
  var SIZE_PX = {
@@ -876,7 +919,7 @@ function ProgressCircle({
876
919
  );
877
920
  }
878
921
 
879
- // src/components/ui/Tooltip/Tooltip.native.tsx
922
+ // src/components/ui/Tooltip/Tooltip.tsx
880
923
  var import_react3 = require("react");
881
924
  var import_react_native15 = require("react-native");
882
925
  var import_jsx_runtime15 = require("react/jsx-runtime");
@@ -925,7 +968,7 @@ function Tooltip({ content, children, style }) {
925
968
  ] });
926
969
  }
927
970
 
928
- // src/components/ui/Pagination/Pagination.native.tsx
971
+ // src/components/ui/Pagination/Pagination.tsx
929
972
  var import_react_native16 = require("react-native");
930
973
  var import_jsx_runtime16 = require("react/jsx-runtime");
931
974
  function getPageRange(current, total) {
@@ -1074,7 +1117,7 @@ function Pagination({
1074
1117
  );
1075
1118
  }
1076
1119
 
1077
- // src/components/ui/Collapsible/Collapsible.native.tsx
1120
+ // src/components/ui/Collapsible/Collapsible.tsx
1078
1121
  var import_react4 = require("react");
1079
1122
  var import_react_native17 = require("react-native");
1080
1123
  var import_jsx_runtime17 = require("react/jsx-runtime");
@@ -1179,7 +1222,7 @@ function Collapsible({
1179
1222
  );
1180
1223
  }
1181
1224
 
1182
- // src/components/ui/Accordion/Accordion.native.tsx
1225
+ // src/components/ui/Accordion/Accordion.tsx
1183
1226
  var import_react5 = require("react");
1184
1227
  var import_react_native18 = require("react-native");
1185
1228
  var import_jsx_runtime18 = require("react/jsx-runtime");
@@ -1286,7 +1329,7 @@ function Accordion({
1286
1329
  }) });
1287
1330
  }
1288
1331
 
1289
- // src/components/ui/Tabs/Tabs.native.tsx
1332
+ // src/components/ui/Tabs/Tabs.tsx
1290
1333
  var import_react6 = require("react");
1291
1334
  var import_react_native19 = require("react-native");
1292
1335
  var import_jsx_runtime19 = require("react/jsx-runtime");
@@ -1385,7 +1428,7 @@ function Tabs({
1385
1428
  ] });
1386
1429
  }
1387
1430
 
1388
- // src/components/ui/Table/Table.native.tsx
1431
+ // src/components/ui/Table/Table.tsx
1389
1432
  var import_react_native20 = require("react-native");
1390
1433
  var import_jsx_runtime20 = require("react/jsx-runtime");
1391
1434
  var styles18 = import_react_native20.StyleSheet.create({
@@ -1519,7 +1562,7 @@ function Table({
1519
1562
  );
1520
1563
  }
1521
1564
 
1522
- // src/components/ui/Calendar/Calendar.native.tsx
1565
+ // src/components/ui/Calendar/Calendar.tsx
1523
1566
  var import_react7 = require("react");
1524
1567
  var import_react_native21 = require("react-native");
1525
1568
  var import_jsx_runtime21 = require("react/jsx-runtime");
@@ -1784,7 +1827,7 @@ function Calendar({
1784
1827
  );
1785
1828
  }
1786
1829
 
1787
- // src/components/ui/Carousel/Carousel.native.tsx
1830
+ // src/components/ui/Carousel/Carousel.tsx
1788
1831
  var import_react8 = require("react");
1789
1832
  var import_react_native22 = require("react-native");
1790
1833
  var import_jsx_runtime22 = require("react/jsx-runtime");
@@ -1945,7 +1988,7 @@ function Carousel({
1945
1988
  );
1946
1989
  }
1947
1990
 
1948
- // src/components/layout/Card/Card.native.tsx
1991
+ // src/components/layout/Card/Card.tsx
1949
1992
  var import_react_native23 = require("react-native");
1950
1993
  var import_jsx_runtime23 = require("react/jsx-runtime");
1951
1994
  var paddingMap = {
@@ -2008,7 +2051,7 @@ function Card({
2008
2051
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_native23.View, { style: [styles21.card, variantStyle, inner, style], children });
2009
2052
  }
2010
2053
 
2011
- // src/components/layout/SectionHeader/SectionHeader.native.tsx
2054
+ // src/components/layout/SectionHeader/SectionHeader.tsx
2012
2055
  var import_react_native24 = require("react-native");
2013
2056
  var import_jsx_runtime24 = require("react/jsx-runtime");
2014
2057
  var alignMap2 = {
@@ -2068,7 +2111,7 @@ function SectionHeader({
2068
2111
  ] });
2069
2112
  }
2070
2113
 
2071
- // src/components/layout/IconWrapper/IconWrapper.native.tsx
2114
+ // src/components/layout/IconWrapper/IconWrapper.tsx
2072
2115
  var import_react_native25 = require("react-native");
2073
2116
  var import_jsx_runtime25 = require("react/jsx-runtime");
2074
2117
  function IconWrapper({ children, style, accessibilityElementsHidden }) {
@@ -2083,7 +2126,7 @@ function IconWrapper({ children, style, accessibilityElementsHidden }) {
2083
2126
  );
2084
2127
  }
2085
2128
 
2086
- // src/components/layout/ButtonGroup/ButtonGroup.native.tsx
2129
+ // src/components/layout/ButtonGroup/ButtonGroup.tsx
2087
2130
  var import_react_native26 = require("react-native");
2088
2131
  var import_jsx_runtime26 = require("react/jsx-runtime");
2089
2132
  var styles23 = import_react_native26.StyleSheet.create({
@@ -2110,7 +2153,7 @@ function ButtonContainer({ children, variant, accessibilityLabel, style }) {
2110
2153
  }
2111
2154
  var ButtonGroup = ButtonContainer;
2112
2155
 
2113
- // src/components/interaction/Button/Button.native.tsx
2156
+ // src/components/interaction/Button/Button.tsx
2114
2157
  var import_react_native27 = require("react-native");
2115
2158
  var import_jsx_runtime27 = require("react/jsx-runtime");
2116
2159
  var sizeTokens = {
@@ -2183,7 +2226,7 @@ function Button({
2183
2226
  );
2184
2227
  }
2185
2228
 
2186
- // src/components/interaction/Rating/Rating.native.tsx
2229
+ // src/components/interaction/Rating/Rating.tsx
2187
2230
  var import_react_native28 = require("react-native");
2188
2231
  var import_jsx_runtime28 = require("react/jsx-runtime");
2189
2232
  var STAR_SIZE = 24;
@@ -2223,10 +2266,10 @@ function Rating({ value, max = 5, style, accessibilityLabel }) {
2223
2266
  );
2224
2267
  }
2225
2268
 
2226
- // src/components/interaction/form/Switch/Switch.native.tsx
2269
+ // src/components/interaction/form/Switch/Switch.tsx
2227
2270
  var import_react_native31 = require("react-native");
2228
2271
 
2229
- // src/components/interaction/form/atoms/Label.native.tsx
2272
+ // src/components/interaction/form/atoms/Label.tsx
2230
2273
  var import_react_native29 = require("react-native");
2231
2274
  var import_jsx_runtime29 = require("react/jsx-runtime");
2232
2275
  function Label({ label, style }) {
@@ -2249,7 +2292,7 @@ function Label({ label, style }) {
2249
2292
  );
2250
2293
  }
2251
2294
 
2252
- // src/components/interaction/form/atoms/Message.native.tsx
2295
+ // src/components/interaction/form/atoms/Message.tsx
2253
2296
  var import_react_native30 = require("react-native");
2254
2297
  var import_jsx_runtime30 = require("react/jsx-runtime");
2255
2298
  var styles26 = import_react_native30.StyleSheet.create({
@@ -2274,7 +2317,7 @@ function Message({ message, type, style }) {
2274
2317
  );
2275
2318
  }
2276
2319
 
2277
- // src/components/interaction/form/Switch/Switch.native.tsx
2320
+ // src/components/interaction/form/Switch/Switch.tsx
2278
2321
  var import_jsx_runtime31 = require("react/jsx-runtime");
2279
2322
  var styles27 = import_react_native31.StyleSheet.create({
2280
2323
  container: {
@@ -2318,7 +2361,7 @@ function Switch({
2318
2361
  ] });
2319
2362
  }
2320
2363
 
2321
- // src/components/interaction/form/Checkbox/Checkbox.native.tsx
2364
+ // src/components/interaction/form/Checkbox/Checkbox.tsx
2322
2365
  var import_react_native32 = require("react-native");
2323
2366
  var import_jsx_runtime32 = require("react/jsx-runtime");
2324
2367
  var BOX = 22;
@@ -2380,7 +2423,7 @@ function Checkbox({
2380
2423
  ] });
2381
2424
  }
2382
2425
 
2383
- // src/components/interaction/form/CheckboxGroup/CheckboxGroup.native.tsx
2426
+ // src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx
2384
2427
  var import_react_native33 = require("react-native");
2385
2428
  var import_jsx_runtime33 = require("react/jsx-runtime");
2386
2429
  var styles29 = import_react_native33.StyleSheet.create({
@@ -2429,7 +2472,7 @@ function CheckboxGroup({
2429
2472
  );
2430
2473
  }
2431
2474
 
2432
- // src/components/interaction/form/Radio/Radio.native.tsx
2475
+ // src/components/interaction/form/Radio/Radio.tsx
2433
2476
  var import_react_native34 = require("react-native");
2434
2477
  var import_jsx_runtime34 = require("react/jsx-runtime");
2435
2478
  var DOT = 22;
@@ -2491,7 +2534,7 @@ function Radio({
2491
2534
  ] });
2492
2535
  }
2493
2536
 
2494
- // src/components/interaction/form/RadioGroup/RadioGroup.native.tsx
2537
+ // src/components/interaction/form/RadioGroup/RadioGroup.tsx
2495
2538
  var import_react_native35 = require("react-native");
2496
2539
  var import_jsx_runtime35 = require("react/jsx-runtime");
2497
2540
  var styles31 = import_react_native35.StyleSheet.create({
@@ -2540,7 +2583,7 @@ function RadioGroup({
2540
2583
  );
2541
2584
  }
2542
2585
 
2543
- // src/components/interaction/form/FileInput/FileInput.native.tsx
2586
+ // src/components/interaction/form/FileInput/FileInput.tsx
2544
2587
  var import_react_native36 = require("react-native");
2545
2588
  var import_jsx_runtime36 = require("react/jsx-runtime");
2546
2589
  var styles32 = import_react_native36.StyleSheet.create({
@@ -2635,7 +2678,7 @@ function FileInput({
2635
2678
  ] });
2636
2679
  }
2637
2680
 
2638
- // src/components/interaction/form/Combobox/Combobox.native.tsx
2681
+ // src/components/interaction/form/Combobox/Combobox.tsx
2639
2682
  var import_react9 = require("react");
2640
2683
  var import_react_native37 = require("react-native");
2641
2684
  var import_jsx_runtime37 = require("react/jsx-runtime");
@@ -2803,7 +2846,7 @@ function Combobox({
2803
2846
  ] });
2804
2847
  }
2805
2848
 
2806
- // src/components/interaction/form/SegmentedControl/SegmentedControl.native.tsx
2849
+ // src/components/interaction/form/SegmentedControl/SegmentedControl.tsx
2807
2850
  var import_react10 = require("react");
2808
2851
  var import_react_native38 = require("react-native");
2809
2852
  var import_jsx_runtime38 = require("react/jsx-runtime");
@@ -2881,7 +2924,7 @@ function SegmentedControl({
2881
2924
  );
2882
2925
  }
2883
2926
 
2884
- // src/components/interaction/form/FormInput/FormInput.native.tsx
2927
+ // src/components/interaction/form/FormInput/FormInput.tsx
2885
2928
  var import_react11 = require("react");
2886
2929
  var import_react_native39 = require("react-native");
2887
2930
  var import_jsx_runtime39 = require("react/jsx-runtime");
@@ -2969,7 +3012,7 @@ function FormInput({
2969
3012
  ] });
2970
3013
  }
2971
3014
 
2972
- // src/components/interaction/form/Textarea/Textarea.native.tsx
3015
+ // src/components/interaction/form/Textarea/Textarea.tsx
2973
3016
  var import_react12 = require("react");
2974
3017
  var import_react_native40 = require("react-native");
2975
3018
  var import_jsx_runtime40 = require("react/jsx-runtime");
@@ -3047,7 +3090,7 @@ function Textarea({
3047
3090
  ] });
3048
3091
  }
3049
3092
 
3050
- // src/components/interaction/form/Select/Select.native.tsx
3093
+ // src/components/interaction/form/Select/Select.tsx
3051
3094
  var import_react13 = require("react");
3052
3095
  var import_react_native41 = require("react-native");
3053
3096
  var import_jsx_runtime41 = require("react/jsx-runtime");
@@ -3263,7 +3306,7 @@ function Select({
3263
3306
  ] });
3264
3307
  }
3265
3308
 
3266
- // src/components/interaction/form/Slider/Slider.native.tsx
3309
+ // src/components/interaction/form/Slider/Slider.tsx
3267
3310
  var import_react14 = require("react");
3268
3311
  var import_react_native42 = require("react-native");
3269
3312
  var import_jsx_runtime42 = require("react/jsx-runtime");
@@ -3422,7 +3465,7 @@ function Slider({
3422
3465
  );
3423
3466
  }
3424
3467
 
3425
- // src/components/interaction/form/NumberInput/NumberInput.native.tsx
3468
+ // src/components/interaction/form/NumberInput/NumberInput.tsx
3426
3469
  var import_react15 = require("react");
3427
3470
  var import_react_native43 = require("react-native");
3428
3471
  var import_jsx_runtime43 = require("react/jsx-runtime");
@@ -3595,7 +3638,7 @@ function NumberInput({
3595
3638
  ] });
3596
3639
  }
3597
3640
 
3598
- // src/components/interaction/Dialog/Dialog.native.tsx
3641
+ // src/components/interaction/Dialog/Dialog.tsx
3599
3642
  var import_react_native44 = require("react-native");
3600
3643
  var import_jsx_runtime44 = require("react/jsx-runtime");
3601
3644
  var styles40 = import_react_native44.StyleSheet.create({
@@ -3705,7 +3748,7 @@ function Dialog({
3705
3748
  );
3706
3749
  }
3707
3750
 
3708
- // src/components/interaction/Drawer/Drawer.native.tsx
3751
+ // src/components/interaction/SideSheet/SideSheet.tsx
3709
3752
  var import_react16 = require("react");
3710
3753
  var import_react_native45 = require("react-native");
3711
3754
  var import_jsx_runtime45 = require("react/jsx-runtime");
@@ -3756,7 +3799,7 @@ var styles41 = import_react_native45.StyleSheet.create({
3756
3799
  flex: 1
3757
3800
  }
3758
3801
  });
3759
- function Drawer({
3802
+ function SideSheet({
3760
3803
  isOpen,
3761
3804
  onClose,
3762
3805
  title,
@@ -3817,7 +3860,7 @@ function Drawer({
3817
3860
  style: import_react_native45.StyleSheet.absoluteFill,
3818
3861
  onPress: onClose,
3819
3862
  accessibilityRole: "button",
3820
- accessibilityLabel: "Close drawer"
3863
+ accessibilityLabel: "Close side sheet"
3821
3864
  }
3822
3865
  )
3823
3866
  }
@@ -3847,7 +3890,7 @@ function Drawer({
3847
3890
  style: styles41.closeButton,
3848
3891
  onPress: onClose,
3849
3892
  accessibilityRole: "button",
3850
- accessibilityLabel: "Close drawer",
3893
+ accessibilityLabel: "Close side sheet",
3851
3894
  hitSlop: 8,
3852
3895
  children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3853
3896
  import_react_native45.Text,
@@ -3871,7 +3914,7 @@ function Drawer({
3871
3914
  );
3872
3915
  }
3873
3916
 
3874
- // src/components/interaction/Toast/Toast.native.tsx
3917
+ // src/components/interaction/Toast/Toast.tsx
3875
3918
  var import_react17 = require("react");
3876
3919
  var import_react_native46 = require("react-native");
3877
3920
  var import_jsx_runtime46 = require("react/jsx-runtime");
@@ -4021,7 +4064,7 @@ function useToast() {
4021
4064
  return context;
4022
4065
  }
4023
4066
 
4024
- // src/components/interaction/DropdownMenu/DropdownMenu.native.tsx
4067
+ // src/components/interaction/DropdownMenu/DropdownMenu.tsx
4025
4068
  var import_react18 = __toESM(require("react"), 1);
4026
4069
  var import_react_native47 = require("react-native");
4027
4070
  var import_jsx_runtime47 = require("react/jsx-runtime");
@@ -4263,7 +4306,7 @@ function DropdownMenu({
4263
4306
  ] });
4264
4307
  }
4265
4308
 
4266
- // src/components/interaction/Popover/Popover.native.tsx
4309
+ // src/components/interaction/Popover/Popover.tsx
4267
4310
  var import_react19 = __toESM(require("react"), 1);
4268
4311
  var import_react_native48 = require("react-native");
4269
4312
  var import_jsx_runtime48 = require("react/jsx-runtime");
package/dist/index.d.cts CHANGED
@@ -14,17 +14,72 @@ declare const lineHeight: {
14
14
  readonly bodyS: number;
15
15
  };
16
16
 
17
- type ThemeColors = typeof colors.light | typeof colors.dark;
17
+ type ThemeColorName = keyof typeof colors.light;
18
+ /** Semantic theme colors, widened to `string` so brand overrides typecheck. */
19
+ type ThemeColors = Readonly<Record<ThemeColorName, string>>;
20
+ /**
21
+ * Per-scheme token overrides, merged over the foundation colors.
22
+ * The React Native equivalent of overriding tokens in the web
23
+ * `boostdev.tokens.override` CSS layer.
24
+ */
25
+ interface ThemeTokenOverrides {
26
+ light?: Partial<Record<ThemeColorName, string>>;
27
+ dark?: Partial<Record<ThemeColorName, string>>;
28
+ }
18
29
  interface ThemeContextValue {
19
30
  colors: ThemeColors;
20
31
  isDark: boolean;
21
32
  }
22
- declare function ThemeProvider({ children, colorScheme }: {
33
+ interface ThemeProviderProps {
23
34
  children: ReactNode;
24
35
  colorScheme?: 'light' | 'dark';
25
- }): react_jsx_runtime.JSX.Element;
36
+ tokens?: ThemeTokenOverrides;
37
+ }
38
+ declare function ThemeProvider({ children, colorScheme, tokens }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
26
39
  declare function useTheme(): ThemeContextValue;
27
40
 
41
+ interface ReactNavigationFontStyle {
42
+ fontFamily: string;
43
+ fontWeight: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
44
+ }
45
+ interface ReactNavigationThemeColors {
46
+ primary: string;
47
+ background: string;
48
+ card: string;
49
+ text: string;
50
+ border: string;
51
+ notification: string;
52
+ }
53
+ interface ReactNavigationThemeFonts {
54
+ regular: ReactNavigationFontStyle;
55
+ medium: ReactNavigationFontStyle;
56
+ bold: ReactNavigationFontStyle;
57
+ heavy: ReactNavigationFontStyle;
58
+ }
59
+ interface ReactNavigationTheme {
60
+ dark: boolean;
61
+ colors: ReactNavigationThemeColors;
62
+ fonts: ReactNavigationThemeFonts;
63
+ }
64
+ interface CreateReactNavigationThemeOptions {
65
+ dark?: boolean;
66
+ tokens?: ThemeColors;
67
+ colors?: Partial<ReactNavigationThemeColors>;
68
+ fonts?: Partial<ReactNavigationThemeFonts>;
69
+ }
70
+ /**
71
+ * Pure builder. Produces a React Navigation–compatible theme from the design
72
+ * system foundation tokens. Use this when you are not wrapping in our
73
+ * `ThemeProvider`, or when you need a theme outside React.
74
+ */
75
+ declare function createReactNavigationTheme(options?: CreateReactNavigationThemeOptions): ReactNavigationTheme;
76
+ /**
77
+ * Hook variant. Reads from the design system's `ThemeProvider` and returns a
78
+ * React Navigation–compatible theme. Pass the result directly to
79
+ * `<NavigationContainer theme={...} />`.
80
+ */
81
+ declare function useReactNavigationTheme(overrides?: Pick<CreateReactNavigationThemeOptions, 'colors' | 'fonts'>): ReactNavigationTheme;
82
+
28
83
  type TypographyVariant = 'h1' | 'h2' | 'h3' | 'body' | 'body_s';
29
84
  interface TypographyProps {
30
85
  variant?: TypographyVariant;
@@ -515,14 +570,14 @@ interface DialogProps {
515
570
  }
516
571
  declare function Dialog({ isOpen, onClose, title, children, style, }: Readonly<DialogProps>): react_jsx_runtime.JSX.Element;
517
572
 
518
- interface DrawerProps {
573
+ interface SideSheetProps {
519
574
  isOpen: boolean;
520
575
  onClose: () => void;
521
576
  title?: ReactNode;
522
577
  children?: ReactNode;
523
578
  style?: StyleProp<ViewStyle>;
524
579
  }
525
- declare function Drawer({ isOpen, onClose, title, children, style, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
580
+ declare function SideSheet({ isOpen, onClose, title, children, style, }: Readonly<SideSheetProps>): react_jsx_runtime.JSX.Element;
526
581
 
527
582
  type ToastVariant = 'success' | 'error' | 'info';
528
583
  interface ToastContextType {
@@ -571,4 +626,4 @@ interface MessageProps {
571
626
  }
572
627
  declare function Message({ message, type, style }: MessageProps): react_jsx_runtime.JSX.Element | null;
573
628
 
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 };
629
+ 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 CreateReactNavigationThemeOptions, type DescriptionItem, DescriptionList, Dialog, DropdownMenu, type DropdownMenuItem, FileInput, FormInput, IconWrapper, type IconWrapperProps, Label, Link, Loading, Message, NotificationBanner, NumberInput, Pagination, Popover, Progress, ProgressCircle, Radio, RadioGroup, Rating, type ReactNavigationFontStyle, type ReactNavigationTheme, type ReactNavigationThemeColors, type ReactNavigationThemeFonts, SectionHeader, SegmentedControl, Select, type SelectOption, Separator, SideSheet, Skeleton, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, type ThemeColorName, type ThemeColors, ThemeProvider, type ThemeTokenOverrides, ToastProvider, Tooltip, Typography, createReactNavigationTheme, lineHeight, useReactNavigationTheme, useTheme, useToast };