@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.
- package/CHANGELOG.md +42 -0
- package/LICENSE +15 -0
- package/README.md +104 -2
- package/dist/index.cjs +100 -57
- package/dist/index.d.cts +61 -6
- package/dist/index.d.ts +61 -6
- package/dist/index.js +100 -57
- package/package.json +30 -10
- package/src/components/interaction/Button/Button.mdx +91 -0
- package/src/components/interaction/Button/Button.spec.tsx +55 -0
- package/src/components/interaction/Button/Button.stories.tsx +141 -0
- package/src/components/interaction/Button/Button.tsx +105 -0
- package/src/components/interaction/Dialog/Dialog.mdx +61 -0
- package/src/components/interaction/Dialog/Dialog.spec.tsx +73 -0
- package/src/components/interaction/Dialog/Dialog.stories.tsx +53 -0
- package/src/components/interaction/Dialog/Dialog.tsx +128 -0
- package/src/components/interaction/DropdownMenu/DropdownMenu.mdx +74 -0
- package/src/components/interaction/DropdownMenu/DropdownMenu.spec.tsx +78 -0
- package/src/components/interaction/DropdownMenu/DropdownMenu.stories.tsx +51 -0
- package/src/components/interaction/DropdownMenu/DropdownMenu.tsx +254 -0
- package/src/components/interaction/Popover/Popover.mdx +61 -0
- package/src/components/interaction/Popover/Popover.spec.tsx +73 -0
- package/src/components/interaction/Popover/Popover.stories.tsx +44 -0
- package/src/components/interaction/Popover/Popover.tsx +87 -0
- package/src/components/interaction/Rating/Rating.mdx +55 -0
- package/src/components/interaction/Rating/Rating.spec.tsx +38 -0
- package/src/components/interaction/Rating/Rating.stories.tsx +37 -0
- package/src/components/interaction/Rating/Rating.tsx +50 -0
- package/src/components/interaction/SideSheet/SideSheet.mdx +60 -0
- package/src/components/interaction/SideSheet/SideSheet.spec.tsx +80 -0
- package/src/components/interaction/SideSheet/SideSheet.stories.tsx +33 -0
- package/src/components/interaction/SideSheet/SideSheet.tsx +175 -0
- package/src/components/interaction/Toast/Toast.mdx +81 -0
- package/src/components/interaction/Toast/Toast.spec.tsx +80 -0
- package/src/components/interaction/Toast/Toast.stories.tsx +47 -0
- package/src/components/interaction/Toast/Toast.tsx +202 -0
- package/src/components/interaction/form/Checkbox/Checkbox.mdx +74 -0
- package/src/components/interaction/form/Checkbox/Checkbox.spec.tsx +42 -0
- package/src/components/interaction/form/Checkbox/Checkbox.stories.tsx +34 -0
- package/src/components/interaction/form/Checkbox/Checkbox.tsx +80 -0
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.mdx +78 -0
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.spec.tsx +57 -0
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.stories.tsx +96 -0
- package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx +61 -0
- package/src/components/interaction/form/Combobox/Combobox.mdx +86 -0
- package/src/components/interaction/form/Combobox/Combobox.spec.tsx +60 -0
- package/src/components/interaction/form/Combobox/Combobox.stories.tsx +99 -0
- package/src/components/interaction/form/Combobox/Combobox.tsx +211 -0
- package/src/components/interaction/form/FileInput/FileInput.mdx +86 -0
- package/src/components/interaction/form/FileInput/FileInput.spec.tsx +73 -0
- package/src/components/interaction/form/FileInput/FileInput.stories.tsx +69 -0
- package/src/components/interaction/form/FileInput/FileInput.tsx +129 -0
- package/src/components/interaction/form/FormInput/FormInput.mdx +81 -0
- package/src/components/interaction/form/FormInput/FormInput.spec.tsx +51 -0
- package/src/components/interaction/form/FormInput/FormInput.stories.tsx +54 -0
- package/src/components/interaction/form/FormInput/FormInput.tsx +122 -0
- package/src/components/interaction/form/NumberInput/NumberInput.mdx +87 -0
- package/src/components/interaction/form/NumberInput/NumberInput.spec.tsx +63 -0
- package/src/components/interaction/form/NumberInput/NumberInput.stories.tsx +63 -0
- package/src/components/interaction/form/NumberInput/NumberInput.tsx +198 -0
- package/src/components/interaction/form/Radio/Radio.spec.tsx +79 -0
- package/src/components/interaction/form/Radio/Radio.stories.tsx +44 -0
- package/src/components/interaction/form/Radio/Radio.tsx +79 -0
- package/src/components/interaction/form/RadioGroup/RadioGroup.mdx +79 -0
- package/src/components/interaction/form/RadioGroup/RadioGroup.spec.tsx +66 -0
- package/src/components/interaction/form/RadioGroup/RadioGroup.stories.tsx +96 -0
- package/src/components/interaction/form/RadioGroup/RadioGroup.tsx +61 -0
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.mdx +78 -0
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.spec.tsx +82 -0
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.stories.tsx +99 -0
- package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +121 -0
- package/src/components/interaction/form/Select/Select.mdx +85 -0
- package/src/components/interaction/form/Select/Select.spec.tsx +64 -0
- package/src/components/interaction/form/Select/Select.stories.tsx +75 -0
- package/src/components/interaction/form/Select/Select.tsx +252 -0
- package/src/components/interaction/form/Slider/Slider.mdx +83 -0
- package/src/components/interaction/form/Slider/Slider.spec.tsx +51 -0
- package/src/components/interaction/form/Slider/Slider.stories.tsx +58 -0
- package/src/components/interaction/form/Slider/Slider.tsx +188 -0
- package/src/components/interaction/form/Switch/Switch.spec.tsx +60 -0
- package/src/components/interaction/form/Switch/Switch.stories.tsx +33 -0
- package/src/components/interaction/form/Switch/Switch.tsx +59 -0
- package/src/components/interaction/form/Textarea/Textarea.mdx +76 -0
- package/src/components/interaction/form/Textarea/Textarea.spec.tsx +50 -0
- package/src/components/interaction/form/Textarea/Textarea.stories.tsx +50 -0
- package/src/components/interaction/form/Textarea/Textarea.tsx +108 -0
- package/src/components/interaction/form/atoms/Label.spec.tsx +39 -0
- package/src/components/interaction/form/atoms/Label.stories.tsx +18 -0
- package/src/components/interaction/form/atoms/Label.tsx +29 -0
- package/src/components/interaction/form/atoms/Message.spec.tsx +30 -0
- package/src/components/interaction/form/atoms/Message.stories.tsx +22 -0
- package/src/components/interaction/form/atoms/Message.tsx +34 -0
- package/src/components/layout/ButtonGroup/ButtonGroup.spec.tsx +83 -0
- package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +44 -0
- package/src/components/layout/ButtonGroup/ButtonGroup.tsx +44 -0
- package/src/components/layout/Card/Card.spec.tsx +102 -0
- package/src/components/layout/Card/Card.stories.tsx +51 -0
- package/src/components/layout/Card/Card.tsx +89 -0
- package/src/components/layout/IconWrapper/IconWrapper.spec.tsx +39 -0
- package/src/components/layout/IconWrapper/IconWrapper.stories.tsx +37 -0
- package/src/components/layout/IconWrapper/IconWrapper.tsx +20 -0
- package/src/components/layout/SectionHeader/SectionHeader.spec.tsx +51 -0
- package/src/components/layout/SectionHeader/SectionHeader.stories.tsx +36 -0
- package/src/components/layout/SectionHeader/SectionHeader.tsx +79 -0
- package/src/components/ui/Accordion/Accordion.mdx +65 -0
- package/src/components/ui/Accordion/Accordion.spec.tsx +69 -0
- package/src/components/ui/Accordion/Accordion.stories.tsx +52 -0
- package/src/components/ui/Accordion/Accordion.tsx +141 -0
- package/src/components/ui/Alert/Alert.mdx +62 -0
- package/src/components/ui/Alert/Alert.spec.tsx +76 -0
- package/src/components/ui/Alert/Alert.stories.tsx +41 -0
- package/src/components/ui/Alert/Alert.tsx +94 -0
- package/src/components/ui/Avatar/Avatar.mdx +50 -0
- package/src/components/ui/Avatar/Avatar.spec.tsx +47 -0
- package/src/components/ui/Avatar/Avatar.stories.tsx +32 -0
- package/src/components/ui/Avatar/Avatar.tsx +85 -0
- package/src/components/ui/Badge/Badge.mdx +54 -0
- package/src/components/ui/Badge/Badge.spec.tsx +45 -0
- package/src/components/ui/Badge/Badge.stories.tsx +34 -0
- package/src/components/ui/Badge/Badge.tsx +50 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.mdx +52 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.spec.tsx +49 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.stories.tsx +46 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.tsx +83 -0
- package/src/components/ui/Calendar/Calendar.mdx +58 -0
- package/src/components/ui/Calendar/Calendar.spec.tsx +92 -0
- package/src/components/ui/Calendar/Calendar.stories.tsx +45 -0
- package/src/components/ui/Calendar/Calendar.tsx +294 -0
- package/src/components/ui/Carousel/Carousel.mdx +55 -0
- package/src/components/ui/Carousel/Carousel.spec.tsx +55 -0
- package/src/components/ui/Carousel/Carousel.stories.tsx +59 -0
- package/src/components/ui/Carousel/Carousel.tsx +184 -0
- package/src/components/ui/Collapsible/Collapsible.mdx +53 -0
- package/src/components/ui/Collapsible/Collapsible.spec.tsx +68 -0
- package/src/components/ui/Collapsible/Collapsible.stories.tsx +48 -0
- package/src/components/ui/Collapsible/Collapsible.tsx +139 -0
- package/src/components/ui/DescriptionList/DescriptionList.mdx +50 -0
- package/src/components/ui/DescriptionList/DescriptionList.spec.tsx +37 -0
- package/src/components/ui/DescriptionList/DescriptionList.stories.tsx +48 -0
- package/src/components/ui/DescriptionList/DescriptionList.tsx +54 -0
- package/src/components/ui/Link/Link.mdx +53 -0
- package/src/components/ui/Link/Link.spec.tsx +35 -0
- package/src/components/ui/Link/Link.stories.tsx +46 -0
- package/src/components/ui/Link/Link.tsx +48 -0
- package/src/components/ui/Loading/Loading.spec.tsx +24 -0
- package/src/components/ui/Loading/Loading.stories.tsx +31 -0
- package/src/components/ui/Loading/Loading.tsx +29 -0
- package/src/components/ui/NotificationBanner/NotificationBanner.spec.tsx +85 -0
- package/src/components/ui/NotificationBanner/NotificationBanner.stories.tsx +37 -0
- package/src/components/ui/NotificationBanner/NotificationBanner.tsx +76 -0
- package/src/components/ui/Pagination/Pagination.mdx +62 -0
- package/src/components/ui/Pagination/Pagination.spec.tsx +86 -0
- package/src/components/ui/Pagination/Pagination.stories.tsx +47 -0
- package/src/components/ui/Pagination/Pagination.tsx +157 -0
- package/src/components/ui/Progress/Progress.spec.tsx +56 -0
- package/src/components/ui/Progress/Progress.stories.tsx +34 -0
- package/src/components/ui/Progress/Progress.tsx +84 -0
- package/src/components/ui/ProgressCircle/ProgressCircle.mdx +63 -0
- package/src/components/ui/ProgressCircle/ProgressCircle.spec.tsx +39 -0
- package/src/components/ui/ProgressCircle/ProgressCircle.stories.tsx +36 -0
- package/src/components/ui/ProgressCircle/ProgressCircle.tsx +176 -0
- package/src/components/ui/Separator/Separator.spec.tsx +39 -0
- package/src/components/ui/Separator/Separator.stories.tsx +38 -0
- package/src/components/ui/Separator/Separator.tsx +32 -0
- package/src/components/ui/Skeleton/Skeleton.spec.tsx +39 -0
- package/src/components/ui/Skeleton/Skeleton.stories.tsx +31 -0
- package/src/components/ui/Skeleton/Skeleton.tsx +42 -0
- package/src/components/ui/Table/Table.mdx +72 -0
- package/src/components/ui/Table/Table.spec.tsx +83 -0
- package/src/components/ui/Table/Table.stories.tsx +55 -0
- package/src/components/ui/Table/Table.tsx +196 -0
- package/src/components/ui/Tabs/Tabs.mdx +65 -0
- package/src/components/ui/Tabs/Tabs.spec.tsx +65 -0
- package/src/components/ui/Tabs/Tabs.stories.tsx +57 -0
- package/src/components/ui/Tabs/Tabs.tsx +133 -0
- package/src/components/ui/Tooltip/Tooltip.mdx +47 -0
- package/src/components/ui/Tooltip/Tooltip.spec.tsx +37 -0
- package/src/components/ui/Tooltip/Tooltip.stories.tsx +38 -0
- package/src/components/ui/Tooltip/Tooltip.tsx +57 -0
- package/src/components/ui/Typography/Typography.mdx +56 -0
- package/src/components/ui/Typography/Typography.spec.tsx +49 -0
- package/src/components/ui/Typography/Typography.stories.tsx +36 -0
- package/src/components/ui/Typography/Typography.tsx +65 -0
- package/src/index.ts +86 -0
- package/src/native/ReactNavigationTheme.mdx +140 -0
- package/src/native/ReactNavigationTheme.spec.tsx +35 -0
- package/src/native/ReactNavigationTheme.ts +102 -0
- package/src/native/ThemeContext.spec.tsx +57 -0
- package/src/native/ThemeContext.tsx +48 -0
- package/src/native/tokens.ts +13 -0
- 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
|
-
|
|
117
|
-
|
|
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/
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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/
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
33
|
+
interface ThemeProviderProps {
|
|
23
34
|
children: ReactNode;
|
|
24
35
|
colorScheme?: 'light' | 'dark';
|
|
25
|
-
|
|
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
|
|
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
|
|
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,
|
|
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 };
|