@impulse-ui-native/theme 2.0.0 → 2.1.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/LICENSE +21 -0
- package/README.md +53 -0
- package/dist/index.d.mts +22 -2
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ImpulseUI Native contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# @impulse-ui-native/theme
|
|
2
|
+
|
|
3
|
+
The token system, light and dark themes, theme provider, and styling hooks for Impulse UI Native.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
pnpm add @impulse-ui-native/theme
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Wrap themed components with `ThemeProvider` near the root of the application.
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
import { ThemeProvider } from "@impulse-ui-native/theme";
|
|
15
|
+
|
|
16
|
+
export function App() {
|
|
17
|
+
return <ThemeProvider scheme="light">{/* application */}</ThemeProvider>;
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Main exports
|
|
22
|
+
|
|
23
|
+
- `ThemeProvider` installs the current theme and accepts `light` and `dark` token overrides.
|
|
24
|
+
- `LightTheme` and `DarkTheme` provide the default primitive themes.
|
|
25
|
+
- `useTheme` returns the complete `AppTheme`.
|
|
26
|
+
- `useColors`, `useSpace`, `useBorder`, and `useRadii` read focused token groups.
|
|
27
|
+
- `useComponentsTokens` reads component-level tokens.
|
|
28
|
+
- `useThemedStyles` creates memoized React Native styles from the active theme.
|
|
29
|
+
- `useStyleProps` and `extractStyleProps` convert supported system props into styles.
|
|
30
|
+
- Primitive token constants include `SpaceTokens`, `BorderSizeTokens`, `RadiiTokens`, `FontSizeTokens`, `LineHeightTokens`, `FontWeightTokens`, and the color scales.
|
|
31
|
+
- Public types cover colors, spacing, dimensions, flex, typography, shadows, component variants, theme extension, and every component-token group.
|
|
32
|
+
|
|
33
|
+
## Customizing tokens
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<ThemeProvider
|
|
37
|
+
scheme="light"
|
|
38
|
+
theme={{
|
|
39
|
+
light: {
|
|
40
|
+
colors: {
|
|
41
|
+
primary: {
|
|
42
|
+
value: "#5b4bff",
|
|
43
|
+
contrast: "#ffffff",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
}}
|
|
48
|
+
>
|
|
49
|
+
{/* application */}
|
|
50
|
+
</ThemeProvider>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Theme overrides are deep partials, so only the tokens you want to change need to be supplied.
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ViewStyle, TextStyle, StyleSheet } from 'react-native';
|
|
2
2
|
import * as react from 'react';
|
|
3
3
|
import { PropsWithChildren } from 'react';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
5
|
import { DeepPartial } from '@impulse-ui-native/core';
|
|
5
6
|
|
|
6
7
|
interface BorderProps {
|
|
@@ -28,6 +29,24 @@ interface ColorProps {
|
|
|
28
29
|
opacity?: ViewStyle["opacity"];
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
type ChartColorPalette = readonly [
|
|
33
|
+
string,
|
|
34
|
+
string,
|
|
35
|
+
string,
|
|
36
|
+
string,
|
|
37
|
+
string,
|
|
38
|
+
string,
|
|
39
|
+
string,
|
|
40
|
+
string,
|
|
41
|
+
string,
|
|
42
|
+
string,
|
|
43
|
+
string,
|
|
44
|
+
string,
|
|
45
|
+
string,
|
|
46
|
+
string,
|
|
47
|
+
string
|
|
48
|
+
];
|
|
49
|
+
|
|
31
50
|
type ComponentSize = "small" | "medium" | "large";
|
|
32
51
|
type ComponentVariant = "filled" | "outlined" | "soft" | "ghost" | "plain";
|
|
33
52
|
|
|
@@ -527,13 +546,14 @@ interface ThemeProviderProps {
|
|
|
527
546
|
}>;
|
|
528
547
|
components?: ((theme: PrimitiveThemeTokens) => DeepPartial<ComponentsTokens>) | DeepPartial<ComponentsTokens>;
|
|
529
548
|
}
|
|
530
|
-
declare const ThemeProvider: react.
|
|
549
|
+
declare const ThemeProvider: react.MemoExoticComponent<(props: PropsWithChildren<ThemeProviderProps>) => react_jsx_runtime.JSX.Element>;
|
|
531
550
|
declare function useThemeContext(): AppTheme;
|
|
532
551
|
|
|
533
552
|
declare const DarkTheme: PrimitiveThemeTokens;
|
|
534
553
|
|
|
535
554
|
declare const LightTheme: PrimitiveThemeTokens;
|
|
536
555
|
|
|
556
|
+
declare const ChartColorTokens: ChartColorPalette;
|
|
537
557
|
declare const SpaceTokens: Space;
|
|
538
558
|
declare const BorderSizeTokens: BorderSize;
|
|
539
559
|
declare const RadiiTokens: Radii;
|
|
@@ -551,4 +571,4 @@ declare const extractStyleProps: <Props extends object>(props: Props) => StylePr
|
|
|
551
571
|
declare const createStyleKey: <Props extends object>(props: Props) => string;
|
|
552
572
|
declare const getShadowStyle: (level: ShadowLevel | undefined, position: ShadowPosition | undefined, colors: ThemeColors) => ViewStyle;
|
|
553
573
|
|
|
554
|
-
export { type AppTheme, type BorderProps, type BorderSize, type BorderSizeKey, BorderSizeTokens, type ButtonSizeTokens, type ButtonTokens, type ButtonVariantTokens, type ColorPair, type ColorProps, type ColorScheme, type ComponentSize, type ComponentVariant, type ComponentsThemes, type ComponentsTokens, type ControlAddonTokens, type ControlContainerSizeTokens, type ControlContainerTokens, type ControlContainerVariantTokens, type ControlErrorTokens, type ControlInputSizeTokens, type ControlInputTokens, type ControlInputVariantTokens, type ControlLabelTokens, DarkTheme, type DataStateActionsFooterTokens, type DataStateContentTokens, type DataStateDetailsTokens, type DataStateLoadingTokens, type DataStateTokens, type DatePickerFlyoutTokens, type DatetimePickerCalendarTokens, type DatetimePickerDayTokens, type DatetimePickerFlyoutActionsTokens, type DatetimePickerFlyoutTokens, type DatetimePickerQuickDateOptionsTokens, type DatetimePickerTokens, type DatetimePickerVisibleDateSelectTokens, type DatetimeRangePickerFlyoutTokens, type DimensionProps, type ExtendedThemeColors, type FlexProps, type FlyoutHandleTokens, type FlyoutTitleTokens, type FlyoutTokens, type FontFamily, FontFamilyTokens, FontFamilyWeightsItalicTokens, FontFamilyWeightsNormalTokens, type FontSize, FontSizeTokens, type FontWeight, type FontWeightItalic, type FontWeightKeys, type FontWeightNormal, FontWeightTokens, type FontWeightValue, type IconButtonSizeTokens, type IconButtonTokens, type IconButtonVariantTokens, type LetterSpacingKey, type LetterSpacings, LightColors, LightTheme, type LineHeight, LineHeightTokens, type NeutralColor, type NeutralColorKey, NeutralColorTokens, type PrimitiveThemeTokens, type Radii, type RadiiBlob, type RadiiConditional, type RadiiDrawn, RadiiTokens, type RadiusBlobKey, type RadiusConditionalKey, type RadiusDrawnKey, type RadiusKey, type SelectOptionTokens, type SelectTokens, type ShadowIntensity, type ShadowLevel, type ShadowPosition, type ShadowProps, type SkeletonBoneTokens, type SkeletonTextTokens, type SkeletonTokens, type Space, type SpaceSizesKey, SpaceTokens, type SpacingProps, type StylePropKey, type StyleProps, StylePropsSet, type TagColor, type TagColorTokens, type TagSizeTokens, type TagTokens, type TagVariantTokens, type ThemeColors, type ThemeContextData, ThemeProvider, type TimePickerColumnTokens, type TimePickerColumnsTokens, type TimePickerFlyoutTokens, type TimePickerTokens, type TypographyKey, type TypographyPresetKey, type TypographyProps, createComponentsTokens, createStyleKey, extractStyleProps, getShadowStyle, shadowScale, useBorder, useColors, useComponentsTokens, useRadii, useSpace, useStyleProps, useTheme, useThemeContext, useThemedStyles };
|
|
574
|
+
export { type AppTheme, type BorderProps, type BorderSize, type BorderSizeKey, BorderSizeTokens, type ButtonSizeTokens, type ButtonTokens, type ButtonVariantTokens, type ChartColorPalette, ChartColorTokens, type ColorPair, type ColorProps, type ColorScheme, type ComponentSize, type ComponentVariant, type ComponentsThemes, type ComponentsTokens, type ControlAddonTokens, type ControlContainerSizeTokens, type ControlContainerTokens, type ControlContainerVariantTokens, type ControlErrorTokens, type ControlInputSizeTokens, type ControlInputTokens, type ControlInputVariantTokens, type ControlLabelTokens, DarkTheme, type DataStateActionsFooterTokens, type DataStateContentTokens, type DataStateDetailsTokens, type DataStateLoadingTokens, type DataStateTokens, type DatePickerFlyoutTokens, type DatetimePickerCalendarTokens, type DatetimePickerDayTokens, type DatetimePickerFlyoutActionsTokens, type DatetimePickerFlyoutTokens, type DatetimePickerQuickDateOptionsTokens, type DatetimePickerTokens, type DatetimePickerVisibleDateSelectTokens, type DatetimeRangePickerFlyoutTokens, type DimensionProps, type ExtendedThemeColors, type FlexProps, type FlyoutHandleTokens, type FlyoutTitleTokens, type FlyoutTokens, type FontFamily, FontFamilyTokens, FontFamilyWeightsItalicTokens, FontFamilyWeightsNormalTokens, type FontSize, FontSizeTokens, type FontWeight, type FontWeightItalic, type FontWeightKeys, type FontWeightNormal, FontWeightTokens, type FontWeightValue, type IconButtonSizeTokens, type IconButtonTokens, type IconButtonVariantTokens, type LetterSpacingKey, type LetterSpacings, LightColors, LightTheme, type LineHeight, LineHeightTokens, type NeutralColor, type NeutralColorKey, NeutralColorTokens, type PrimitiveThemeTokens, type Radii, type RadiiBlob, type RadiiConditional, type RadiiDrawn, RadiiTokens, type RadiusBlobKey, type RadiusConditionalKey, type RadiusDrawnKey, type RadiusKey, type SelectOptionTokens, type SelectTokens, type ShadowIntensity, type ShadowLevel, type ShadowPosition, type ShadowProps, type SkeletonBoneTokens, type SkeletonTextTokens, type SkeletonTokens, type Space, type SpaceSizesKey, SpaceTokens, type SpacingProps, type StylePropKey, type StyleProps, StylePropsSet, type TagColor, type TagColorTokens, type TagSizeTokens, type TagTokens, type TagVariantTokens, type ThemeColors, type ThemeContextData, ThemeProvider, type TimePickerColumnTokens, type TimePickerColumnsTokens, type TimePickerFlyoutTokens, type TimePickerTokens, type TypographyKey, type TypographyPresetKey, type TypographyProps, createComponentsTokens, createStyleKey, extractStyleProps, getShadowStyle, shadowScale, useBorder, useColors, useComponentsTokens, useRadii, useSpace, useStyleProps, useTheme, useThemeContext, useThemedStyles };
|
package/dist/index.js
CHANGED
|
@@ -657,6 +657,23 @@ function createTimePickerTokens(tokens) {
|
|
|
657
657
|
}
|
|
658
658
|
|
|
659
659
|
// src/theme/tokens.theme.ts
|
|
660
|
+
var ChartColorTokens = [
|
|
661
|
+
"#f55d6b",
|
|
662
|
+
"#2563eb",
|
|
663
|
+
"#16a34a",
|
|
664
|
+
"#9333ea",
|
|
665
|
+
"#ea580c",
|
|
666
|
+
"#0891b2",
|
|
667
|
+
"#db2777",
|
|
668
|
+
"#65a30d",
|
|
669
|
+
"#4f46e5",
|
|
670
|
+
"#0d9488",
|
|
671
|
+
"#ca8a04",
|
|
672
|
+
"#c026d3",
|
|
673
|
+
"#0284c7",
|
|
674
|
+
"#7c3aed",
|
|
675
|
+
"#9f5f3f"
|
|
676
|
+
];
|
|
660
677
|
var SpaceTokens = {
|
|
661
678
|
none: 0,
|
|
662
679
|
xxs: 4,
|
|
@@ -1020,6 +1037,7 @@ function useThemedStyles(styledFunction, props, dependencies) {
|
|
|
1020
1037
|
}
|
|
1021
1038
|
export {
|
|
1022
1039
|
BorderSizeTokens,
|
|
1040
|
+
ChartColorTokens,
|
|
1023
1041
|
DarkTheme,
|
|
1024
1042
|
FontFamilyTokens,
|
|
1025
1043
|
FontFamilyWeightsItalicTokens,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants/style.constants.ts","../src/hooks/use-border.hook.ts","../src/providers/theme.provider.tsx","../src/theme/create-button-tokens.ts","../src/theme/create-control-tokens.ts","../src/theme/create-data-state-tokens.ts","../src/theme/create-datetime-picker.ts","../src/theme/create-flyout-tokens.ts","../src/theme/create-icon-button-tokens.ts","../src/theme/create-select-tokens.ts","../src/theme/create-skeleton-tokens.ts","../src/theme/create-tag-tokens.ts","../src/theme/create-time-picker-tokens.ts","../src/theme/tokens.theme.ts","../src/theme/dark.theme.ts","../src/theme/light.theme.ts","../src/hooks/use-colors.hook.ts","../src/hooks/use-components-tokens.hook.ts","../src/hooks/use-radii.hook.ts","../src/hooks/use-space.hook.ts","../src/hooks/use-style-props.hook.ts","../src/utils/style.utils.ts","../src/hooks/use-theme.hook.ts","../src/hooks/use-themed-styles.ts"],"sourcesContent":["import { ShadowIntensity, ShadowLevel, StyleProps } from \"../types\";\r\n\r\nconst StylePropsRecord: Record<keyof StyleProps, number> = {\r\n margin: 0,\r\n marginTop: 0,\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n marginRight: 0,\r\n marginHorizontal: 0,\r\n marginVertical: 0,\r\n padding: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n paddingHorizontal: 0,\r\n paddingVertical: 0,\r\n color: 0,\r\n backgroundColor: 0,\r\n opacity: 0,\r\n shadow: 0,\r\n shadowPosition: 0,\r\n shadowColor: 0,\r\n shadowOpacity: 0,\r\n shadowRadius: 0,\r\n shadowOffset: 0,\r\n elevation: 0,\r\n borderRadius: 0,\r\n borderTopLeftRadius: 0,\r\n borderTopRightRadius: 0,\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n borderWidth: 0,\r\n borderTopWidth: 0,\r\n borderRightWidth: 0,\r\n borderBottomWidth: 0,\r\n borderLeftWidth: 0,\r\n borderColor: 0,\r\n borderTopColor: 0,\r\n borderRightColor: 0,\r\n borderBottomColor: 0,\r\n borderLeftColor: 0,\r\n borderStyle: 0,\r\n fontSize: 0,\r\n fontFamily: 0,\r\n fontWeight: 0,\r\n fontStyle: 0,\r\n fontVariant: 0,\r\n letterSpacing: 0,\r\n lineHeight: 0,\r\n textAlign: 0,\r\n textDecorationLine: 0,\r\n textDecorationStyle: 0,\r\n textDecorationColor: 0,\r\n textTransform: 0,\r\n includeFontPadding: 0,\r\n textAlignVertical: 0,\r\n writingDirection: 0,\r\n flex: 0,\r\n flexGrow: 0,\r\n flexShrink: 0,\r\n flexBasis: 0,\r\n flexDirection: 0,\r\n flexWrap: 0,\r\n justifyContent: 0,\r\n alignItems: 0,\r\n alignSelf: 0,\r\n alignContent: 0,\r\n gap: 0,\r\n rowGap: 0,\r\n columnGap: 0,\r\n position: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n zIndex: 0,\r\n width: 0,\r\n height: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n minHeight: 0,\r\n maxHeight: 0,\r\n aspectRatio: 0,\r\n overflow: 0,\r\n} as const;\r\n\r\nexport const StylePropsSet = new Set<keyof StyleProps>(\r\n Object.keys(StylePropsRecord) as (keyof StyleProps)[],\r\n);\r\n\r\nexport const shadowScale: Record<ShadowLevel, ShadowIntensity> = {\r\n none: { radius: 0, opacity: 0, elevation: 0 },\r\n xs: { radius: 2, opacity: 0.08, elevation: 1 },\r\n sm: { radius: 4, opacity: 0.1, elevation: 2 },\r\n md: { radius: 8, opacity: 0.15, elevation: 4 },\r\n lg: { radius: 16, opacity: 0.18, elevation: 8 },\r\n xl: { radius: 24, opacity: 0.22, elevation: 12 },\r\n};\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { BorderSize } from \"../types\";\r\n\r\nexport function useBorder(): BorderSize {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.borderSize, [context.borderSize]);\r\n}\r\n","import {\r\n createContext,\r\n memo,\r\n PropsWithChildren,\r\n useContext,\r\n useMemo,\r\n} from \"react\";\r\n\r\nimport { DeepPartial, merge } from \"@impulse-ui-native/core\";\r\n\r\nimport { createComponentsTokens, DarkTheme, LightTheme } from \"../theme\";\r\nimport {\r\n AppTheme,\r\n ColorScheme,\r\n ComponentsTokens,\r\n PrimitiveThemeTokens,\r\n} from \"../types\";\r\n\r\nconst ThemeContext = createContext<AppTheme | undefined>(undefined);\r\n\r\ninterface ThemeProviderProps {\r\n scheme?: ColorScheme;\r\n theme?: DeepPartial<{\r\n light: PrimitiveThemeTokens;\r\n dark: PrimitiveThemeTokens;\r\n }>;\r\n components?:\r\n | ((theme: PrimitiveThemeTokens) => DeepPartial<ComponentsTokens>)\r\n | DeepPartial<ComponentsTokens>;\r\n}\r\n\r\nexport const ThemeProvider = memo(function ThemeProvider(\r\n props: PropsWithChildren<ThemeProviderProps>,\r\n) {\r\n const scheme = props?.scheme ?? \"light\";\r\n\r\n const context = useMemo<AppTheme>(() => {\r\n const baseTheme = scheme === \"light\" ? LightTheme : DarkTheme;\r\n const customBaseTheme = props.theme?.[scheme];\r\n const theme = merge(baseTheme, customBaseTheme);\r\n\r\n return {\r\n ...theme,\r\n components: createComponentsTokens(theme),\r\n };\r\n }, [scheme, props.theme?.light, props.theme?.dark, props.components]);\r\n\r\n return (\r\n <ThemeContext.Provider value={context}>\r\n {props.children}\r\n </ThemeContext.Provider>\r\n );\r\n});\r\n\r\nexport function useThemeContext() {\r\n const context = useContext(ThemeContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useThemeContext must be used within a ThemeProvider\");\r\n }\r\n\r\n return context;\r\n}\r\n","import { ButtonTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createButtonTokens(tokens: PrimitiveThemeTokens): ButtonTokens {\r\n const primary = tokens.colors.primary.value;\r\n const primaryContrast = tokens.colors.primary.contrast;\r\n\r\n const secondary = tokens.colors.secondary.value;\r\n const secondaryContrast = tokens.colors.secondary.contrast;\r\n\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.md,\r\n\r\n sizes: {\r\n small: {\r\n height: 32,\r\n paddingVertical: 6,\r\n paddingHorizontal: 12,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n medium: {\r\n height: 40,\r\n paddingVertical: 8,\r\n paddingHorizontal: 16,\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n large: {\r\n height: 48,\r\n paddingVertical: 10,\r\n paddingHorizontal: 20,\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: primary,\r\n borderColor: primary,\r\n color: primaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"5\"],\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: primary,\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: secondary,\r\n borderColor: secondary,\r\n color: secondaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n },\r\n };\r\n}\r\n","import {\r\n ControlAddonTokens,\r\n ControlContainerTokens,\r\n ControlErrorTokens,\r\n ControlInputTokens,\r\n ControlLabelTokens,\r\n PrimitiveThemeTokens,\r\n} from \"../types\";\r\n\r\nexport function createControlAddonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlAddonTokens {\r\n return {\r\n marginHorizontal: tokens.space.xxs,\r\n hitSlop: tokens.space.sm,\r\n\r\n iconColor: tokens.colors.text.secondary,\r\n errorIconColor: tokens.colors.feedback.error.value,\r\n disabledIconColor: tokens.colors.text.disabled,\r\n };\r\n}\r\n\r\nexport function createControlContainerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlContainerTokens {\r\n const ErrorColor = tokens.colors.feedback.error.value;\r\n const TransparentColor = \"transparent\";\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.sm,\r\n disabledOpacity: 0.7,\r\n\r\n sizes: {\r\n small: {\r\n height: 32,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n medium: {\r\n height: 40,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n large: {\r\n height: 48,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: tokens.colors.surface.secondary.value,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: tokens.colors.neutral[\"2\"],\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: TransparentColor,\r\n borderColor: tokens.colors.neutral[\"5\"],\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: tokens.colors.neutral[\"5\"],\r\n },\r\n\r\n soft: {\r\n backgroundColor: tokens.colors.accent.value,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: tokens.colors.neutral[\"2\"],\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: TransparentColor,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: TransparentColor,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: TransparentColor,\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function createControlErrorTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlErrorTokens {\r\n return {\r\n marginTop: tokens.space.xxs,\r\n color: tokens.colors.feedback.error.value,\r\n fontSize: tokens.fontSize.xs,\r\n };\r\n}\r\n\r\nexport function createControlInputTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlInputTokens {\r\n return {\r\n flex: 1,\r\n fontFamily: tokens.fontFamily.normal[400],\r\n paddingHorizontal: tokens.space.xxs,\r\n\r\n sizes: {\r\n small: {\r\n fontSize: tokens.fontSize.xs,\r\n },\r\n medium: {\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n large: {\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n outlined: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n soft: {\r\n color: tokens.colors.accent.contrast,\r\n placeholderColor: tokens.colors.accent.contrast,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.accent.contrast,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n ghost: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n plain: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function createControlLabelTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlLabelTokens {\r\n return {\r\n marginBottom: tokens.space.xxs,\r\n fontSize: tokens.fontSize.xsm,\r\n\r\n color: tokens.colors.text.secondary,\r\n disabledColor: tokens.colors.text.disabled,\r\n errorColor: tokens.colors.feedback.error.value,\r\n };\r\n}\r\n","import { DataStateTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createDataStateTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): DataStateTokens {\r\n return {\r\n details: {\r\n gap: 10,\r\n iconSize: 150,\r\n iconColor: tokens.colors.primary.value,\r\n },\r\n\r\n actionsFooter: {\r\n gap: 10,\r\n },\r\n\r\n content: {\r\n zIndex: 1,\r\n },\r\n\r\n loading: {\r\n transitionDuration: 250,\r\n loaderZIndex: 1,\r\n },\r\n };\r\n}\r\n","import { DatetimePickerTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createDatetimePickerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): DatetimePickerTokens {\r\n return {\r\n calendar: {\r\n dayNamesMarginBottom: tokens.space.msm,\r\n weeksGap: tokens.space.xxs,\r\n },\r\n day: {\r\n size: 40,\r\n borderRadius: tokens.radii.sm,\r\n\r\n color: tokens.colors.text.primary,\r\n outsideMonthColor: tokens.colors.neutral[\"5\"],\r\n\r\n selectedBackgroundColor: tokens.colors.primary.value,\r\n selectedColor: tokens.colors.primary.contrast,\r\n\r\n rangeBackgroundColor: tokens.colors.secondary.value,\r\n rangeColor: tokens.colors.secondary.contrast,\r\n },\r\n datePickerFlyout: {\r\n gap: tokens.space.msm,\r\n },\r\n datetimePickerFlyout: {\r\n gap: tokens.space.msm,\r\n },\r\n datetimeRangePickerFlyout: {\r\n gap: tokens.space.msm,\r\n timeInputsGap: tokens.space.xs,\r\n },\r\n flyoutActions: {\r\n gap: tokens.space.msm,\r\n buttonsGap: tokens.space.xs,\r\n clearColor: tokens.colors.primary.value,\r\n },\r\n quickDateOptions: {\r\n gap: tokens.space.xs,\r\n },\r\n visibleDateSelect: {\r\n gap: tokens.space.xs,\r\n },\r\n };\r\n}\r\n","import { FlyoutTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createFlyoutTokens(tokens: PrimitiveThemeTokens): FlyoutTokens {\r\n return {\r\n zIndexBase: 100,\r\n\r\n maxHeightRatio: 0.7,\r\n\r\n overlayColor: tokens.colors.black,\r\n overlayVisibleOpacity: 0.4,\r\n\r\n backgroundColor: tokens.colors.surface.secondary.value,\r\n contentPaddingHorizontal: tokens.space.md,\r\n\r\n borderRadius: tokens.radii.xl,\r\n\r\n hiddenOpacity: 0,\r\n\r\n title: {\r\n paddingVertical: tokens.space.msm,\r\n paddingHorizontal: tokens.space.md,\r\n },\r\n\r\n handle: {\r\n containerHeight: 32,\r\n width: \"25%\",\r\n height: 6,\r\n borderRadius: tokens.radii.round,\r\n backgroundColor: tokens.colors.surface.primary.value,\r\n },\r\n };\r\n}\r\n","import { IconButtonTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createIconButtonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): IconButtonTokens {\r\n const primary = tokens.colors.primary.value;\r\n const primaryContrast = tokens.colors.primary.contrast;\r\n\r\n const secondary = tokens.colors.secondary.value;\r\n const secondaryContrast = tokens.colors.secondary.contrast;\r\n\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.md,\r\n\r\n sizes: {\r\n small: {\r\n size: 32,\r\n padding: 6,\r\n },\r\n medium: {\r\n size: 40,\r\n padding: 8,\r\n },\r\n large: {\r\n size: 48,\r\n padding: 10,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: primary,\r\n borderColor: primary,\r\n color: primaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"5\"],\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: primary,\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: secondary,\r\n borderColor: secondary,\r\n color: secondaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, SelectTokens } from \"../types\";\r\n\r\nexport function createSelectTokens(tokens: PrimitiveThemeTokens): SelectTokens {\r\n return {\r\n option: {\r\n padding: tokens.space.sm,\r\n selectedIconColor: tokens.colors.primary.value,\r\n selectedIconVisibleOpacity: 1,\r\n selectedIconHiddenOpacity: 0,\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, SkeletonTokens } from \"../types\";\r\n\r\nexport function createSkeletonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): SkeletonTokens {\r\n const boneColor = tokens.colors.neutral[\"5\"];\r\n\r\n return {\r\n bone: {\r\n backgroundColor: boneColor,\r\n borderColor: boneColor,\r\n initialOpacity: 1,\r\n animatedOpacity: 0.4,\r\n animationDuration: 1000,\r\n },\r\n\r\n text: {\r\n alignSelf: \"flex-start\",\r\n textTransform: \"uppercase\",\r\n opacity: 0,\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, TagTokens } from \"../types\";\r\n\r\nexport function createTagTokens(tokens: PrimitiveThemeTokens): TagTokens {\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n const createVariants = (value: string, contrast: string) => ({\r\n filled: {\r\n backgroundColor: value,\r\n borderColor: value,\r\n color: contrast,\r\n\r\n disabledBackgroundColor: neutral[\"4\"],\r\n disabledBorderColor: neutral[\"6\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: value,\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"6\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: contrast,\r\n borderColor: contrast,\r\n color: value,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n });\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.round,\r\n gap: tokens.space.xxs,\r\n iconMarginLeft: tokens.borderSize.md,\r\n\r\n sizes: {\r\n small: {\r\n height: 24,\r\n paddingHorizontal: tokens.space.xs,\r\n minWidth: tokens.space.xl,\r\n fontSize: tokens.fontSize.xs,\r\n },\r\n\r\n medium: {\r\n height: 28,\r\n paddingHorizontal: tokens.space.xs,\r\n minWidth: tokens.space.xxl,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n\r\n large: {\r\n height: 32,\r\n paddingHorizontal: tokens.space.mxs,\r\n minWidth: tokens.space.xxl,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n },\r\n\r\n colors: {\r\n primary: createVariants(\r\n tokens.colors.primary.value,\r\n tokens.colors.primary.contrast,\r\n ),\r\n\r\n secondary: createVariants(\r\n tokens.colors.secondary.value,\r\n tokens.colors.secondary.contrast,\r\n ),\r\n\r\n error: createVariants(\r\n tokens.colors.feedback.error.value,\r\n tokens.colors.feedback.error.contrast,\r\n ),\r\n\r\n warning: createVariants(\r\n tokens.colors.feedback.warning.value,\r\n tokens.colors.feedback.warning.contrast,\r\n ),\r\n\r\n success: createVariants(\r\n tokens.colors.feedback.success.value,\r\n tokens.colors.feedback.success.contrast,\r\n ),\r\n\r\n info: createVariants(\r\n tokens.colors.feedback.info.value,\r\n tokens.colors.feedback.info.contrast,\r\n ),\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, TimePickerTokens } from \"../types\";\r\n\r\nexport function createTimePickerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): TimePickerTokens {\r\n const ItemHeight = 50;\r\n const VisibleItems = 5;\r\n const ContainerHeight = ItemHeight * VisibleItems;\r\n const VerticalPadding = ContainerHeight / 2 - ItemHeight / 2;\r\n const ColumnWidth = 70;\r\n\r\n return {\r\n column: {\r\n width: ColumnWidth,\r\n height: ContainerHeight,\r\n gap: tokens.space.xxs,\r\n\r\n listWidth: 30,\r\n itemHeight: ItemHeight,\r\n visibleItems: VisibleItems,\r\n verticalPadding: VerticalPadding,\r\n initialScrollIndexViewOffset: -VerticalPadding,\r\n\r\n fontSize: tokens.fontSize.xl,\r\n selectedColor: tokens.colors.primary.value,\r\n color: tokens.colors.text.primary,\r\n selectedFontWeight: tokens.fontWeight.semiBold,\r\n fontWeight: tokens.fontWeight.regular,\r\n },\r\n\r\n flyout: {\r\n gap: tokens.space.msm,\r\n },\r\n\r\n columns: {\r\n height: ContainerHeight,\r\n gap: tokens.space.xs,\r\n indicatorHeight: ItemHeight,\r\n indicatorWidth: ColumnWidth * 3 + 70,\r\n indicatorTop: VerticalPadding,\r\n indicatorBorderRadius: tokens.radii.round,\r\n indicatorBackgroundColor: tokens.colors.surface.primary.value,\r\n },\r\n };\r\n}\r\n","import {\r\n BorderSize,\r\n ComponentsTokens,\r\n FontFamily,\r\n FontSize,\r\n FontWeight,\r\n FontWeightItalic,\r\n FontWeightNormal,\r\n FontWeightValue,\r\n LineHeight,\r\n NeutralColor,\r\n PrimitiveThemeTokens,\r\n Radii,\r\n Space,\r\n ThemeColors,\r\n} from \"../types\";\r\nimport { createButtonTokens } from \"./create-button-tokens\";\r\nimport {\r\n createControlAddonTokens,\r\n createControlContainerTokens,\r\n createControlErrorTokens,\r\n createControlInputTokens,\r\n createControlLabelTokens,\r\n} from \"./create-control-tokens\";\r\nimport { createDataStateTokens } from \"./create-data-state-tokens\";\r\nimport { createDatetimePickerTokens } from \"./create-datetime-picker\";\r\nimport { createFlyoutTokens } from \"./create-flyout-tokens\";\r\nimport { createIconButtonTokens } from \"./create-icon-button-tokens\";\r\nimport { createSelectTokens } from \"./create-select-tokens\";\r\nimport { createSkeletonTokens } from \"./create-skeleton-tokens\";\r\nimport { createTagTokens } from \"./create-tag-tokens\";\r\nimport { createTimePickerTokens } from \"./create-time-picker-tokens\";\r\n\r\nexport const SpaceTokens: Space = {\r\n none: 0,\r\n xxs: 4,\r\n xs: 8,\r\n mxs: 12,\r\n sm: 16,\r\n msm: 24,\r\n md: 32,\r\n lg: 48,\r\n xl: 64,\r\n xxl: 96,\r\n};\r\n\r\nexport const BorderSizeTokens: BorderSize = {\r\n sm: 1,\r\n md: 2,\r\n lg: 3,\r\n xl: 5,\r\n xxl: 10,\r\n};\r\n\r\nexport const RadiiTokens: Radii = {\r\n sm: 4,\r\n md: 8,\r\n lg: 16,\r\n xl: 32,\r\n xxl: 64,\r\n xxxl: 128,\r\n round: 100000,\r\n};\r\n\r\nexport const FontSizeTokens: FontSize = {\r\n xxs: 8,\r\n xs: 12,\r\n xsm: 14,\r\n sm: 16,\r\n md: 18,\r\n lg: 20,\r\n xl: 24,\r\n xxl: 28,\r\n xxxl: 32,\r\n huge: 36,\r\n massive: 40,\r\n giant: 48,\r\n colossal: 56,\r\n};\r\n\r\nexport const LineHeightTokens: LineHeight = {\r\n xxs: 12,\r\n xs: 16,\r\n xsm: 20,\r\n sm: 24,\r\n md: 26,\r\n lg: 28,\r\n xl: 32,\r\n xxl: 36,\r\n xxxl: 40,\r\n huge: 44,\r\n massive: 48,\r\n giant: 56,\r\n colossal: 64,\r\n};\r\n\r\nexport const FontWeightTokens: FontWeight = {\r\n thin: 100,\r\n extraLight: 200,\r\n light: 300,\r\n regular: 400,\r\n medium: 500,\r\n semiBold: 600,\r\n bold: 700,\r\n extraBold: 800,\r\n black: 900,\r\n};\r\n\r\nexport const FontFamilyWeightsNormalTokens: Record<\r\n FontWeightValue,\r\n FontWeightNormal\r\n> = {\r\n 100: \"Montserrat_100Thin\",\r\n 200: \"Montserrat_200ExtraLight\",\r\n 300: \"Montserrat_300Light\",\r\n 400: \"Montserrat_400Regular\",\r\n 500: \"Montserrat_500Medium\",\r\n 600: \"Montserrat_600SemiBold\",\r\n 700: \"Montserrat_700Bold\",\r\n 800: \"Montserrat_800ExtraBold\",\r\n 900: \"Montserrat_900Black\",\r\n};\r\n\r\nexport const FontFamilyWeightsItalicTokens: Record<\r\n FontWeightValue,\r\n FontWeightItalic\r\n> = {\r\n 100: \"Montserrat_100Thin_Italic\",\r\n 200: \"Montserrat_200ExtraLight_Italic\",\r\n 300: \"Montserrat_300Light_Italic\",\r\n 400: \"Montserrat_400Regular_Italic\",\r\n 500: \"Montserrat_500Medium_Italic\",\r\n 600: \"Montserrat_600SemiBold_Italic\",\r\n 700: \"Montserrat_700Bold_Italic\",\r\n 800: \"Montserrat_800ExtraBold_Italic\",\r\n 900: \"Montserrat_900Black_Italic\",\r\n};\r\n\r\nexport const FontFamilyTokens: FontFamily = {\r\n normal: FontFamilyWeightsNormalTokens,\r\n italic: FontFamilyWeightsItalicTokens,\r\n};\r\n\r\nexport const NeutralColorTokens: NeutralColor = {\r\n \"0\": \"#ffffff\",\r\n \"1\": \"#f8f9fa\",\r\n \"2\": \"#f1f3f5\",\r\n \"3\": \"#e9ecef\",\r\n \"4\": \"#dee2e6\",\r\n \"5\": \"#ced4da\",\r\n \"6\": \"#adb5bd\",\r\n \"7\": \"#868e96\",\r\n \"8\": \"#495057\",\r\n \"9\": \"#343a40\",\r\n \"10\": \"#212529\",\r\n \"11\": \"#16191d\",\r\n \"12\": \"#0d0f12\",\r\n \"13\": \"#000000\",\r\n};\r\n\r\nexport const LightColors: ThemeColors = {\r\n primary: {\r\n value: \"#f55d6b\",\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n\r\n accent: {\r\n value: \"#FA9EA7\",\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n\r\n secondary: {\r\n value: \"#FEE7E9\",\r\n contrast: \"#f55d6b\",\r\n },\r\n\r\n neutral: NeutralColorTokens,\r\n\r\n surface: {\r\n primary: {\r\n value: NeutralColorTokens[\"2\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n secondary: {\r\n value: NeutralColorTokens[\"0\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n elevated: {\r\n value: NeutralColorTokens[\"0\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n inverse: {\r\n value: NeutralColorTokens[\"13\"],\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n },\r\n\r\n text: {\r\n primary: NeutralColorTokens[\"11\"],\r\n secondary: NeutralColorTokens[\"10\"],\r\n tertiary: NeutralColorTokens[\"9\"],\r\n inverse: NeutralColorTokens[\"0\"],\r\n disabled: NeutralColorTokens[\"7\"],\r\n },\r\n\r\n border: {\r\n subtle: {\r\n value: NeutralColorTokens[\"3\"],\r\n contrast: NeutralColorTokens[\"9\"],\r\n },\r\n default: {\r\n value: NeutralColorTokens[\"4\"],\r\n contrast: NeutralColorTokens[\"10\"],\r\n },\r\n strong: {\r\n value: NeutralColorTokens[\"6\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n focus: {\r\n value: \"#f55d6b\",\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n },\r\n\r\n feedback: {\r\n error: {\r\n value: \"#c92a2a\",\r\n contrast: \"#fff5f5\",\r\n },\r\n warning: {\r\n value: \"#e67700\",\r\n contrast: \"#fff4e6\",\r\n },\r\n success: {\r\n value: \"#7a9908\",\r\n contrast: \"#f4fce3\",\r\n },\r\n info: {\r\n value: \"#1864ab\",\r\n contrast: \"#e7f5ff\",\r\n },\r\n },\r\n\r\n overlay: \"rgba(0, 0, 0, 0.45)\",\r\n\r\n white: NeutralColorTokens[\"0\"],\r\n black: NeutralColorTokens[\"13\"],\r\n};\r\n\r\nexport function createComponentsTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ComponentsTokens {\r\n return {\r\n button: createButtonTokens(tokens),\r\n iconButton: createIconButtonTokens(tokens),\r\n tag: createTagTokens(tokens),\r\n controlAddon: createControlAddonTokens(tokens),\r\n controlContainer: createControlContainerTokens(tokens),\r\n controlError: createControlErrorTokens(tokens),\r\n controlInput: createControlInputTokens(tokens),\r\n controlLabel: createControlLabelTokens(tokens),\r\n select: createSelectTokens(tokens),\r\n datetimePicker: createDatetimePickerTokens(tokens),\r\n timePicker: createTimePickerTokens(tokens),\r\n flyout: createFlyoutTokens(tokens),\r\n skeleton: createSkeletonTokens(tokens),\r\n dataState: createDataStateTokens(tokens),\r\n };\r\n}\r\n","import { PrimitiveThemeTokens } from \"../types\";\r\nimport {\r\n BorderSizeTokens,\r\n FontFamilyTokens,\r\n FontSizeTokens,\r\n FontWeightTokens,\r\n LightColors,\r\n LineHeightTokens,\r\n RadiiTokens,\r\n SpaceTokens,\r\n} from \"./tokens.theme\";\r\n\r\nexport const DarkTheme: PrimitiveThemeTokens = {\r\n colors: LightColors,\r\n space: SpaceTokens,\r\n radii: RadiiTokens,\r\n fontFamily: FontFamilyTokens,\r\n borderSize: BorderSizeTokens,\r\n fontSize: FontSizeTokens,\r\n fontWeight: FontWeightTokens,\r\n lineHeight: LineHeightTokens,\r\n};\r\n","import { PrimitiveThemeTokens } from \"../types\";\r\nimport {\r\n BorderSizeTokens,\r\n FontFamilyTokens,\r\n FontSizeTokens,\r\n FontWeightTokens,\r\n LightColors,\r\n LineHeightTokens,\r\n RadiiTokens,\r\n SpaceTokens,\r\n} from \"./tokens.theme\";\r\n\r\nexport const LightTheme: PrimitiveThemeTokens = {\r\n colors: LightColors,\r\n space: SpaceTokens,\r\n radii: RadiiTokens,\r\n fontFamily: FontFamilyTokens,\r\n borderSize: BorderSizeTokens,\r\n fontSize: FontSizeTokens,\r\n fontWeight: FontWeightTokens,\r\n lineHeight: LineHeightTokens,\r\n};\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { ThemeColors } from \"../types\";\r\n\r\nexport function useColors(): ThemeColors {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.colors, [context.colors]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\n\r\nexport function useComponentsTokens() {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.components, [context.components]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { Radii } from \"../types\";\r\n\r\nexport function useRadii(): Radii {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.radii, [context.radii]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { Space } from \"../types\";\r\n\r\nexport function useSpace(): Space {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.space, [context.space]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { createStyleKey, extractStyleProps } from \"../utils\";\r\n\r\nexport function useStyleProps<Props extends object>(props: Props) {\r\n const key = useMemo(() => createStyleKey(props), [props]);\r\n\r\n return useMemo(() => extractStyleProps(props), [key]);\r\n}\r\n","import { Platform, ViewStyle } from \"react-native\";\r\n\r\nimport { shadowScale, StylePropsSet } from \"../constants\";\r\nimport {\r\n ShadowLevel,\r\n ShadowPosition,\r\n StylePropKey,\r\n StyleProps,\r\n ThemeColors,\r\n} from \"../types\";\r\n\r\nconst isStylePropKey = (k: string): k is StylePropKey =>\r\n StylePropsSet.has(k as StylePropKey);\r\n\r\nexport const extractStyleProps = <Props extends object>(\r\n props: Props,\r\n): StyleProps => {\r\n const style: StyleProps = {};\r\n\r\n for (const k in props) {\r\n if (isStylePropKey(k) && props[k] !== undefined) {\r\n style[k] = props[k] as any;\r\n }\r\n }\r\n\r\n return style;\r\n};\r\n\r\nexport const createStyleKey = <Props extends object>(props: Props) => {\r\n let key = \"\";\r\n\r\n for (const k in props) {\r\n if (isStylePropKey(k)) {\r\n key += String(props[k as keyof Props]);\r\n }\r\n }\r\n\r\n return key;\r\n};\r\n\r\nexport const getShadowStyle = (\r\n level: ShadowLevel = \"none\",\r\n position: ShadowPosition = \"bottom\",\r\n colors: ThemeColors,\r\n): ViewStyle => {\r\n const token = shadowScale[level];\r\n\r\n if (level === \"none\") return {};\r\n\r\n if (Platform.OS === \"android\") {\r\n return {\r\n elevation: token.elevation,\r\n };\r\n }\r\n\r\n let offsetY = 0;\r\n\r\n if (position === \"bottom\") offsetY = token.radius / 2;\r\n if (position === \"top\") offsetY = -token.radius / 2;\r\n if (position === \"around\") offsetY = 0;\r\n\r\n return {\r\n shadowColor: colors.black,\r\n shadowOpacity: token.opacity,\r\n shadowRadius: token.radius,\r\n shadowOffset: {\r\n width: 0,\r\n height: offsetY,\r\n },\r\n };\r\n};\r\n","import { useThemeContext } from \"../providers\";\r\nimport { AppTheme } from \"../types\";\r\n\r\nexport function useTheme(): AppTheme {\r\n return useThemeContext();\r\n}\r\n","import { useMemo } from \"react\";\r\nimport { StyleSheet } from \"react-native\";\r\n\r\nimport { AppTheme } from \"../types\";\r\nimport { useTheme } from \"./use-theme.hook\";\r\n\r\ntype ThemedStyles<T extends StyleSheet.NamedStyles<T>> = T;\r\n\r\ntype StyledFunctionNoProps<T extends StyleSheet.NamedStyles<T>> = (\r\n theme: AppTheme,\r\n) => ThemedStyles<T>;\r\n\r\ntype StyledFunctionWithProps<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n> = (theme: AppTheme, props: Props) => ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<T extends StyleSheet.NamedStyles<T>>(\r\n styledFunction: StyledFunctionNoProps<T>,\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionWithProps<Props, T>,\r\n props: Props,\r\n dependencies: readonly unknown[],\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionWithProps<Props, T>,\r\n props: Props,\r\n dependencies: readonly unknown[],\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionNoProps<T> | StyledFunctionWithProps<Props, T>,\r\n props?: Props,\r\n dependencies?: readonly unknown[],\r\n): ThemedStyles<T> {\r\n const theme = useTheme();\r\n\r\n const memoDependencies = dependencies ?? (props === undefined ? [] : [props]);\r\n\r\n return useMemo(() => {\r\n if (props === undefined) {\r\n return (styledFunction as StyledFunctionNoProps<T>)(theme);\r\n }\r\n\r\n return (styledFunction as StyledFunctionWithProps<Props, T>)(theme, props);\r\n }, [theme, styledFunction, ...memoDependencies]);\r\n}\r\n"],"mappings":"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","names":["useMemo","ThemeProvider","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo"]}
|
|
1
|
+
{"version":3,"sources":["../src/constants/style.constants.ts","../src/hooks/use-border.hook.ts","../src/providers/theme.provider.tsx","../src/theme/create-button-tokens.ts","../src/theme/create-control-tokens.ts","../src/theme/create-data-state-tokens.ts","../src/theme/create-datetime-picker.ts","../src/theme/create-flyout-tokens.ts","../src/theme/create-icon-button-tokens.ts","../src/theme/create-select-tokens.ts","../src/theme/create-skeleton-tokens.ts","../src/theme/create-tag-tokens.ts","../src/theme/create-time-picker-tokens.ts","../src/theme/tokens.theme.ts","../src/theme/dark.theme.ts","../src/theme/light.theme.ts","../src/hooks/use-colors.hook.ts","../src/hooks/use-components-tokens.hook.ts","../src/hooks/use-radii.hook.ts","../src/hooks/use-space.hook.ts","../src/hooks/use-style-props.hook.ts","../src/utils/style.utils.ts","../src/hooks/use-theme.hook.ts","../src/hooks/use-themed-styles.ts"],"sourcesContent":["import { ShadowIntensity, ShadowLevel, StyleProps } from \"../types\";\r\n\r\nconst StylePropsRecord: Record<keyof StyleProps, number> = {\r\n margin: 0,\r\n marginTop: 0,\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n marginRight: 0,\r\n marginHorizontal: 0,\r\n marginVertical: 0,\r\n padding: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n paddingHorizontal: 0,\r\n paddingVertical: 0,\r\n color: 0,\r\n backgroundColor: 0,\r\n opacity: 0,\r\n shadow: 0,\r\n shadowPosition: 0,\r\n shadowColor: 0,\r\n shadowOpacity: 0,\r\n shadowRadius: 0,\r\n shadowOffset: 0,\r\n elevation: 0,\r\n borderRadius: 0,\r\n borderTopLeftRadius: 0,\r\n borderTopRightRadius: 0,\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n borderWidth: 0,\r\n borderTopWidth: 0,\r\n borderRightWidth: 0,\r\n borderBottomWidth: 0,\r\n borderLeftWidth: 0,\r\n borderColor: 0,\r\n borderTopColor: 0,\r\n borderRightColor: 0,\r\n borderBottomColor: 0,\r\n borderLeftColor: 0,\r\n borderStyle: 0,\r\n fontSize: 0,\r\n fontFamily: 0,\r\n fontWeight: 0,\r\n fontStyle: 0,\r\n fontVariant: 0,\r\n letterSpacing: 0,\r\n lineHeight: 0,\r\n textAlign: 0,\r\n textDecorationLine: 0,\r\n textDecorationStyle: 0,\r\n textDecorationColor: 0,\r\n textTransform: 0,\r\n includeFontPadding: 0,\r\n textAlignVertical: 0,\r\n writingDirection: 0,\r\n flex: 0,\r\n flexGrow: 0,\r\n flexShrink: 0,\r\n flexBasis: 0,\r\n flexDirection: 0,\r\n flexWrap: 0,\r\n justifyContent: 0,\r\n alignItems: 0,\r\n alignSelf: 0,\r\n alignContent: 0,\r\n gap: 0,\r\n rowGap: 0,\r\n columnGap: 0,\r\n position: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n zIndex: 0,\r\n width: 0,\r\n height: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n minHeight: 0,\r\n maxHeight: 0,\r\n aspectRatio: 0,\r\n overflow: 0,\r\n} as const;\r\n\r\nexport const StylePropsSet = new Set<keyof StyleProps>(\r\n Object.keys(StylePropsRecord) as (keyof StyleProps)[],\r\n);\r\n\r\nexport const shadowScale: Record<ShadowLevel, ShadowIntensity> = {\r\n none: { radius: 0, opacity: 0, elevation: 0 },\r\n xs: { radius: 2, opacity: 0.08, elevation: 1 },\r\n sm: { radius: 4, opacity: 0.1, elevation: 2 },\r\n md: { radius: 8, opacity: 0.15, elevation: 4 },\r\n lg: { radius: 16, opacity: 0.18, elevation: 8 },\r\n xl: { radius: 24, opacity: 0.22, elevation: 12 },\r\n};\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { BorderSize } from \"../types\";\r\n\r\nexport function useBorder(): BorderSize {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.borderSize, [context.borderSize]);\r\n}\r\n","import {\r\n createContext,\r\n memo,\r\n PropsWithChildren,\r\n useContext,\r\n useMemo,\r\n} from \"react\";\r\n\r\nimport { DeepPartial, merge } from \"@impulse-ui-native/core\";\r\n\r\nimport { createComponentsTokens, DarkTheme, LightTheme } from \"../theme\";\r\nimport {\r\n AppTheme,\r\n ColorScheme,\r\n ComponentsTokens,\r\n PrimitiveThemeTokens,\r\n} from \"../types\";\r\n\r\nconst ThemeContext = createContext<AppTheme | undefined>(undefined);\r\n\r\ninterface ThemeProviderProps {\r\n scheme?: ColorScheme;\r\n theme?: DeepPartial<{\r\n light: PrimitiveThemeTokens;\r\n dark: PrimitiveThemeTokens;\r\n }>;\r\n components?:\r\n | ((theme: PrimitiveThemeTokens) => DeepPartial<ComponentsTokens>)\r\n | DeepPartial<ComponentsTokens>;\r\n}\r\n\r\nexport const ThemeProvider = memo(function ThemeProvider(\r\n props: PropsWithChildren<ThemeProviderProps>,\r\n) {\r\n const scheme = props?.scheme ?? \"light\";\r\n\r\n const context = useMemo<AppTheme>(() => {\r\n const baseTheme = scheme === \"light\" ? LightTheme : DarkTheme;\r\n const customBaseTheme = props.theme?.[scheme];\r\n const theme = merge(baseTheme, customBaseTheme);\r\n\r\n return {\r\n ...theme,\r\n components: createComponentsTokens(theme),\r\n };\r\n }, [scheme, props.theme?.light, props.theme?.dark, props.components]);\r\n\r\n return (\r\n <ThemeContext.Provider value={context}>\r\n {props.children}\r\n </ThemeContext.Provider>\r\n );\r\n});\r\n\r\nexport function useThemeContext() {\r\n const context = useContext(ThemeContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useThemeContext must be used within a ThemeProvider\");\r\n }\r\n\r\n return context;\r\n}\r\n","import { ButtonTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createButtonTokens(tokens: PrimitiveThemeTokens): ButtonTokens {\r\n const primary = tokens.colors.primary.value;\r\n const primaryContrast = tokens.colors.primary.contrast;\r\n\r\n const secondary = tokens.colors.secondary.value;\r\n const secondaryContrast = tokens.colors.secondary.contrast;\r\n\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.md,\r\n\r\n sizes: {\r\n small: {\r\n height: 32,\r\n paddingVertical: 6,\r\n paddingHorizontal: 12,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n medium: {\r\n height: 40,\r\n paddingVertical: 8,\r\n paddingHorizontal: 16,\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n large: {\r\n height: 48,\r\n paddingVertical: 10,\r\n paddingHorizontal: 20,\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: primary,\r\n borderColor: primary,\r\n color: primaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"5\"],\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: primary,\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: secondary,\r\n borderColor: secondary,\r\n color: secondaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n },\r\n };\r\n}\r\n","import {\r\n ControlAddonTokens,\r\n ControlContainerTokens,\r\n ControlErrorTokens,\r\n ControlInputTokens,\r\n ControlLabelTokens,\r\n PrimitiveThemeTokens,\r\n} from \"../types\";\r\n\r\nexport function createControlAddonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlAddonTokens {\r\n return {\r\n marginHorizontal: tokens.space.xxs,\r\n hitSlop: tokens.space.sm,\r\n\r\n iconColor: tokens.colors.text.secondary,\r\n errorIconColor: tokens.colors.feedback.error.value,\r\n disabledIconColor: tokens.colors.text.disabled,\r\n };\r\n}\r\n\r\nexport function createControlContainerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlContainerTokens {\r\n const ErrorColor = tokens.colors.feedback.error.value;\r\n const TransparentColor = \"transparent\";\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.sm,\r\n disabledOpacity: 0.7,\r\n\r\n sizes: {\r\n small: {\r\n height: 32,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n medium: {\r\n height: 40,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n large: {\r\n height: 48,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: tokens.colors.surface.secondary.value,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: tokens.colors.neutral[\"2\"],\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: TransparentColor,\r\n borderColor: tokens.colors.neutral[\"5\"],\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: tokens.colors.neutral[\"5\"],\r\n },\r\n\r\n soft: {\r\n backgroundColor: tokens.colors.accent.value,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: tokens.colors.neutral[\"2\"],\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: TransparentColor,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: TransparentColor,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: TransparentColor,\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function createControlErrorTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlErrorTokens {\r\n return {\r\n marginTop: tokens.space.xxs,\r\n color: tokens.colors.feedback.error.value,\r\n fontSize: tokens.fontSize.xs,\r\n };\r\n}\r\n\r\nexport function createControlInputTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlInputTokens {\r\n return {\r\n flex: 1,\r\n fontFamily: tokens.fontFamily.normal[400],\r\n paddingHorizontal: tokens.space.xxs,\r\n\r\n sizes: {\r\n small: {\r\n fontSize: tokens.fontSize.xs,\r\n },\r\n medium: {\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n large: {\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n outlined: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n soft: {\r\n color: tokens.colors.accent.contrast,\r\n placeholderColor: tokens.colors.accent.contrast,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.accent.contrast,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n ghost: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n plain: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function createControlLabelTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlLabelTokens {\r\n return {\r\n marginBottom: tokens.space.xxs,\r\n fontSize: tokens.fontSize.xsm,\r\n\r\n color: tokens.colors.text.secondary,\r\n disabledColor: tokens.colors.text.disabled,\r\n errorColor: tokens.colors.feedback.error.value,\r\n };\r\n}\r\n","import { DataStateTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createDataStateTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): DataStateTokens {\r\n return {\r\n details: {\r\n gap: 10,\r\n iconSize: 150,\r\n iconColor: tokens.colors.primary.value,\r\n },\r\n\r\n actionsFooter: {\r\n gap: 10,\r\n },\r\n\r\n content: {\r\n zIndex: 1,\r\n },\r\n\r\n loading: {\r\n transitionDuration: 250,\r\n loaderZIndex: 1,\r\n },\r\n };\r\n}\r\n","import { DatetimePickerTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createDatetimePickerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): DatetimePickerTokens {\r\n return {\r\n calendar: {\r\n dayNamesMarginBottom: tokens.space.msm,\r\n weeksGap: tokens.space.xxs,\r\n },\r\n day: {\r\n size: 40,\r\n borderRadius: tokens.radii.sm,\r\n\r\n color: tokens.colors.text.primary,\r\n outsideMonthColor: tokens.colors.neutral[\"5\"],\r\n\r\n selectedBackgroundColor: tokens.colors.primary.value,\r\n selectedColor: tokens.colors.primary.contrast,\r\n\r\n rangeBackgroundColor: tokens.colors.secondary.value,\r\n rangeColor: tokens.colors.secondary.contrast,\r\n },\r\n datePickerFlyout: {\r\n gap: tokens.space.msm,\r\n },\r\n datetimePickerFlyout: {\r\n gap: tokens.space.msm,\r\n },\r\n datetimeRangePickerFlyout: {\r\n gap: tokens.space.msm,\r\n timeInputsGap: tokens.space.xs,\r\n },\r\n flyoutActions: {\r\n gap: tokens.space.msm,\r\n buttonsGap: tokens.space.xs,\r\n clearColor: tokens.colors.primary.value,\r\n },\r\n quickDateOptions: {\r\n gap: tokens.space.xs,\r\n },\r\n visibleDateSelect: {\r\n gap: tokens.space.xs,\r\n },\r\n };\r\n}\r\n","import { FlyoutTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createFlyoutTokens(tokens: PrimitiveThemeTokens): FlyoutTokens {\r\n return {\r\n zIndexBase: 100,\r\n\r\n maxHeightRatio: 0.7,\r\n\r\n overlayColor: tokens.colors.black,\r\n overlayVisibleOpacity: 0.4,\r\n\r\n backgroundColor: tokens.colors.surface.secondary.value,\r\n contentPaddingHorizontal: tokens.space.md,\r\n\r\n borderRadius: tokens.radii.xl,\r\n\r\n hiddenOpacity: 0,\r\n\r\n title: {\r\n paddingVertical: tokens.space.msm,\r\n paddingHorizontal: tokens.space.md,\r\n },\r\n\r\n handle: {\r\n containerHeight: 32,\r\n width: \"25%\",\r\n height: 6,\r\n borderRadius: tokens.radii.round,\r\n backgroundColor: tokens.colors.surface.primary.value,\r\n },\r\n };\r\n}\r\n","import { IconButtonTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createIconButtonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): IconButtonTokens {\r\n const primary = tokens.colors.primary.value;\r\n const primaryContrast = tokens.colors.primary.contrast;\r\n\r\n const secondary = tokens.colors.secondary.value;\r\n const secondaryContrast = tokens.colors.secondary.contrast;\r\n\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.md,\r\n\r\n sizes: {\r\n small: {\r\n size: 32,\r\n padding: 6,\r\n },\r\n medium: {\r\n size: 40,\r\n padding: 8,\r\n },\r\n large: {\r\n size: 48,\r\n padding: 10,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: primary,\r\n borderColor: primary,\r\n color: primaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"5\"],\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: primary,\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: secondary,\r\n borderColor: secondary,\r\n color: secondaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, SelectTokens } from \"../types\";\r\n\r\nexport function createSelectTokens(tokens: PrimitiveThemeTokens): SelectTokens {\r\n return {\r\n option: {\r\n padding: tokens.space.sm,\r\n selectedIconColor: tokens.colors.primary.value,\r\n selectedIconVisibleOpacity: 1,\r\n selectedIconHiddenOpacity: 0,\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, SkeletonTokens } from \"../types\";\r\n\r\nexport function createSkeletonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): SkeletonTokens {\r\n const boneColor = tokens.colors.neutral[\"5\"];\r\n\r\n return {\r\n bone: {\r\n backgroundColor: boneColor,\r\n borderColor: boneColor,\r\n initialOpacity: 1,\r\n animatedOpacity: 0.4,\r\n animationDuration: 1000,\r\n },\r\n\r\n text: {\r\n alignSelf: \"flex-start\",\r\n textTransform: \"uppercase\",\r\n opacity: 0,\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, TagTokens } from \"../types\";\r\n\r\nexport function createTagTokens(tokens: PrimitiveThemeTokens): TagTokens {\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n const createVariants = (value: string, contrast: string) => ({\r\n filled: {\r\n backgroundColor: value,\r\n borderColor: value,\r\n color: contrast,\r\n\r\n disabledBackgroundColor: neutral[\"4\"],\r\n disabledBorderColor: neutral[\"6\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: value,\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"6\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: contrast,\r\n borderColor: contrast,\r\n color: value,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n });\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.round,\r\n gap: tokens.space.xxs,\r\n iconMarginLeft: tokens.borderSize.md,\r\n\r\n sizes: {\r\n small: {\r\n height: 24,\r\n paddingHorizontal: tokens.space.xs,\r\n minWidth: tokens.space.xl,\r\n fontSize: tokens.fontSize.xs,\r\n },\r\n\r\n medium: {\r\n height: 28,\r\n paddingHorizontal: tokens.space.xs,\r\n minWidth: tokens.space.xxl,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n\r\n large: {\r\n height: 32,\r\n paddingHorizontal: tokens.space.mxs,\r\n minWidth: tokens.space.xxl,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n },\r\n\r\n colors: {\r\n primary: createVariants(\r\n tokens.colors.primary.value,\r\n tokens.colors.primary.contrast,\r\n ),\r\n\r\n secondary: createVariants(\r\n tokens.colors.secondary.value,\r\n tokens.colors.secondary.contrast,\r\n ),\r\n\r\n error: createVariants(\r\n tokens.colors.feedback.error.value,\r\n tokens.colors.feedback.error.contrast,\r\n ),\r\n\r\n warning: createVariants(\r\n tokens.colors.feedback.warning.value,\r\n tokens.colors.feedback.warning.contrast,\r\n ),\r\n\r\n success: createVariants(\r\n tokens.colors.feedback.success.value,\r\n tokens.colors.feedback.success.contrast,\r\n ),\r\n\r\n info: createVariants(\r\n tokens.colors.feedback.info.value,\r\n tokens.colors.feedback.info.contrast,\r\n ),\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, TimePickerTokens } from \"../types\";\r\n\r\nexport function createTimePickerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): TimePickerTokens {\r\n const ItemHeight = 50;\r\n const VisibleItems = 5;\r\n const ContainerHeight = ItemHeight * VisibleItems;\r\n const VerticalPadding = ContainerHeight / 2 - ItemHeight / 2;\r\n const ColumnWidth = 70;\r\n\r\n return {\r\n column: {\r\n width: ColumnWidth,\r\n height: ContainerHeight,\r\n gap: tokens.space.xxs,\r\n\r\n listWidth: 30,\r\n itemHeight: ItemHeight,\r\n visibleItems: VisibleItems,\r\n verticalPadding: VerticalPadding,\r\n initialScrollIndexViewOffset: -VerticalPadding,\r\n\r\n fontSize: tokens.fontSize.xl,\r\n selectedColor: tokens.colors.primary.value,\r\n color: tokens.colors.text.primary,\r\n selectedFontWeight: tokens.fontWeight.semiBold,\r\n fontWeight: tokens.fontWeight.regular,\r\n },\r\n\r\n flyout: {\r\n gap: tokens.space.msm,\r\n },\r\n\r\n columns: {\r\n height: ContainerHeight,\r\n gap: tokens.space.xs,\r\n indicatorHeight: ItemHeight,\r\n indicatorWidth: ColumnWidth * 3 + 70,\r\n indicatorTop: VerticalPadding,\r\n indicatorBorderRadius: tokens.radii.round,\r\n indicatorBackgroundColor: tokens.colors.surface.primary.value,\r\n },\r\n };\r\n}\r\n","import {\n BorderSize,\n ChartColorPalette,\n ComponentsTokens,\n FontFamily,\n FontSize,\n FontWeight,\n FontWeightItalic,\n FontWeightNormal,\n FontWeightValue,\n LineHeight,\n NeutralColor,\n PrimitiveThemeTokens,\n Radii,\n Space,\n ThemeColors,\n} from \"../types\";\nimport { createButtonTokens } from \"./create-button-tokens\";\nimport {\n createControlAddonTokens,\n createControlContainerTokens,\n createControlErrorTokens,\n createControlInputTokens,\n createControlLabelTokens,\n} from \"./create-control-tokens\";\nimport { createDataStateTokens } from \"./create-data-state-tokens\";\nimport { createDatetimePickerTokens } from \"./create-datetime-picker\";\nimport { createFlyoutTokens } from \"./create-flyout-tokens\";\nimport { createIconButtonTokens } from \"./create-icon-button-tokens\";\nimport { createSelectTokens } from \"./create-select-tokens\";\nimport { createSkeletonTokens } from \"./create-skeleton-tokens\";\nimport { createTagTokens } from \"./create-tag-tokens\";\nimport { createTimePickerTokens } from \"./create-time-picker-tokens\";\n\nexport const ChartColorTokens: ChartColorPalette = [\n \"#f55d6b\",\n \"#2563eb\",\n \"#16a34a\",\n \"#9333ea\",\n \"#ea580c\",\n \"#0891b2\",\n \"#db2777\",\n \"#65a30d\",\n \"#4f46e5\",\n \"#0d9488\",\n \"#ca8a04\",\n \"#c026d3\",\n \"#0284c7\",\n \"#7c3aed\",\n \"#9f5f3f\",\n];\n\nexport const SpaceTokens: Space = {\n none: 0,\n xxs: 4,\n xs: 8,\n mxs: 12,\n sm: 16,\n msm: 24,\n md: 32,\n lg: 48,\n xl: 64,\n xxl: 96,\n};\n\nexport const BorderSizeTokens: BorderSize = {\n sm: 1,\n md: 2,\n lg: 3,\n xl: 5,\n xxl: 10,\n};\n\nexport const RadiiTokens: Radii = {\n sm: 4,\n md: 8,\n lg: 16,\n xl: 32,\n xxl: 64,\n xxxl: 128,\n round: 100000,\n};\n\nexport const FontSizeTokens: FontSize = {\n xxs: 8,\n xs: 12,\n xsm: 14,\n sm: 16,\n md: 18,\n lg: 20,\n xl: 24,\n xxl: 28,\n xxxl: 32,\n huge: 36,\n massive: 40,\n giant: 48,\n colossal: 56,\n};\n\nexport const LineHeightTokens: LineHeight = {\n xxs: 12,\n xs: 16,\n xsm: 20,\n sm: 24,\n md: 26,\n lg: 28,\n xl: 32,\n xxl: 36,\n xxxl: 40,\n huge: 44,\n massive: 48,\n giant: 56,\n colossal: 64,\n};\n\nexport const FontWeightTokens: FontWeight = {\n thin: 100,\n extraLight: 200,\n light: 300,\n regular: 400,\n medium: 500,\n semiBold: 600,\n bold: 700,\n extraBold: 800,\n black: 900,\n};\n\nexport const FontFamilyWeightsNormalTokens: Record<\n FontWeightValue,\n FontWeightNormal\n> = {\n 100: \"Montserrat_100Thin\",\n 200: \"Montserrat_200ExtraLight\",\n 300: \"Montserrat_300Light\",\n 400: \"Montserrat_400Regular\",\n 500: \"Montserrat_500Medium\",\n 600: \"Montserrat_600SemiBold\",\n 700: \"Montserrat_700Bold\",\n 800: \"Montserrat_800ExtraBold\",\n 900: \"Montserrat_900Black\",\n};\n\nexport const FontFamilyWeightsItalicTokens: Record<\n FontWeightValue,\n FontWeightItalic\n> = {\n 100: \"Montserrat_100Thin_Italic\",\n 200: \"Montserrat_200ExtraLight_Italic\",\n 300: \"Montserrat_300Light_Italic\",\n 400: \"Montserrat_400Regular_Italic\",\n 500: \"Montserrat_500Medium_Italic\",\n 600: \"Montserrat_600SemiBold_Italic\",\n 700: \"Montserrat_700Bold_Italic\",\n 800: \"Montserrat_800ExtraBold_Italic\",\n 900: \"Montserrat_900Black_Italic\",\n};\n\nexport const FontFamilyTokens: FontFamily = {\n normal: FontFamilyWeightsNormalTokens,\n italic: FontFamilyWeightsItalicTokens,\n};\n\nexport const NeutralColorTokens: NeutralColor = {\n \"0\": \"#ffffff\",\n \"1\": \"#f8f9fa\",\n \"2\": \"#f1f3f5\",\n \"3\": \"#e9ecef\",\n \"4\": \"#dee2e6\",\n \"5\": \"#ced4da\",\n \"6\": \"#adb5bd\",\n \"7\": \"#868e96\",\n \"8\": \"#495057\",\n \"9\": \"#343a40\",\n \"10\": \"#212529\",\n \"11\": \"#16191d\",\n \"12\": \"#0d0f12\",\n \"13\": \"#000000\",\n};\n\nexport const LightColors: ThemeColors = {\n primary: {\n value: \"#f55d6b\",\n contrast: NeutralColorTokens[\"0\"],\n },\n\n accent: {\n value: \"#FA9EA7\",\n contrast: NeutralColorTokens[\"0\"],\n },\n\n secondary: {\n value: \"#FEE7E9\",\n contrast: \"#f55d6b\",\n },\n\n neutral: NeutralColorTokens,\n\n surface: {\n primary: {\n value: NeutralColorTokens[\"2\"],\n contrast: NeutralColorTokens[\"11\"],\n },\n secondary: {\n value: NeutralColorTokens[\"0\"],\n contrast: NeutralColorTokens[\"11\"],\n },\n elevated: {\n value: NeutralColorTokens[\"0\"],\n contrast: NeutralColorTokens[\"11\"],\n },\n inverse: {\n value: NeutralColorTokens[\"13\"],\n contrast: NeutralColorTokens[\"0\"],\n },\n },\n\n text: {\n primary: NeutralColorTokens[\"11\"],\n secondary: NeutralColorTokens[\"10\"],\n tertiary: NeutralColorTokens[\"9\"],\n inverse: NeutralColorTokens[\"0\"],\n disabled: NeutralColorTokens[\"7\"],\n },\n\n border: {\n subtle: {\n value: NeutralColorTokens[\"3\"],\n contrast: NeutralColorTokens[\"9\"],\n },\n default: {\n value: NeutralColorTokens[\"4\"],\n contrast: NeutralColorTokens[\"10\"],\n },\n strong: {\n value: NeutralColorTokens[\"6\"],\n contrast: NeutralColorTokens[\"11\"],\n },\n focus: {\n value: \"#f55d6b\",\n contrast: NeutralColorTokens[\"0\"],\n },\n },\n\n feedback: {\n error: {\n value: \"#c92a2a\",\n contrast: \"#fff5f5\",\n },\n warning: {\n value: \"#e67700\",\n contrast: \"#fff4e6\",\n },\n success: {\n value: \"#7a9908\",\n contrast: \"#f4fce3\",\n },\n info: {\n value: \"#1864ab\",\n contrast: \"#e7f5ff\",\n },\n },\n\n overlay: \"rgba(0, 0, 0, 0.45)\",\n\n white: NeutralColorTokens[\"0\"],\n black: NeutralColorTokens[\"13\"],\n};\n\nexport function createComponentsTokens(\n tokens: PrimitiveThemeTokens,\n): ComponentsTokens {\n return {\n button: createButtonTokens(tokens),\n iconButton: createIconButtonTokens(tokens),\n tag: createTagTokens(tokens),\n controlAddon: createControlAddonTokens(tokens),\n controlContainer: createControlContainerTokens(tokens),\n controlError: createControlErrorTokens(tokens),\n controlInput: createControlInputTokens(tokens),\n controlLabel: createControlLabelTokens(tokens),\n select: createSelectTokens(tokens),\n datetimePicker: createDatetimePickerTokens(tokens),\n timePicker: createTimePickerTokens(tokens),\n flyout: createFlyoutTokens(tokens),\n skeleton: createSkeletonTokens(tokens),\n dataState: createDataStateTokens(tokens),\n };\n}\n","import { PrimitiveThemeTokens } from \"../types\";\r\nimport {\r\n BorderSizeTokens,\r\n FontFamilyTokens,\r\n FontSizeTokens,\r\n FontWeightTokens,\r\n LightColors,\r\n LineHeightTokens,\r\n RadiiTokens,\r\n SpaceTokens,\r\n} from \"./tokens.theme\";\r\n\r\nexport const DarkTheme: PrimitiveThemeTokens = {\r\n colors: LightColors,\r\n space: SpaceTokens,\r\n radii: RadiiTokens,\r\n fontFamily: FontFamilyTokens,\r\n borderSize: BorderSizeTokens,\r\n fontSize: FontSizeTokens,\r\n fontWeight: FontWeightTokens,\r\n lineHeight: LineHeightTokens,\r\n};\r\n","import { PrimitiveThemeTokens } from \"../types\";\r\nimport {\r\n BorderSizeTokens,\r\n FontFamilyTokens,\r\n FontSizeTokens,\r\n FontWeightTokens,\r\n LightColors,\r\n LineHeightTokens,\r\n RadiiTokens,\r\n SpaceTokens,\r\n} from \"./tokens.theme\";\r\n\r\nexport const LightTheme: PrimitiveThemeTokens = {\r\n colors: LightColors,\r\n space: SpaceTokens,\r\n radii: RadiiTokens,\r\n fontFamily: FontFamilyTokens,\r\n borderSize: BorderSizeTokens,\r\n fontSize: FontSizeTokens,\r\n fontWeight: FontWeightTokens,\r\n lineHeight: LineHeightTokens,\r\n};\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { ThemeColors } from \"../types\";\r\n\r\nexport function useColors(): ThemeColors {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.colors, [context.colors]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\n\r\nexport function useComponentsTokens() {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.components, [context.components]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { Radii } from \"../types\";\r\n\r\nexport function useRadii(): Radii {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.radii, [context.radii]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { Space } from \"../types\";\r\n\r\nexport function useSpace(): Space {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.space, [context.space]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { createStyleKey, extractStyleProps } from \"../utils\";\r\n\r\nexport function useStyleProps<Props extends object>(props: Props) {\r\n const key = useMemo(() => createStyleKey(props), [props]);\r\n\r\n return useMemo(() => extractStyleProps(props), [key]);\r\n}\r\n","import { Platform, ViewStyle } from \"react-native\";\r\n\r\nimport { shadowScale, StylePropsSet } from \"../constants\";\r\nimport {\r\n ShadowLevel,\r\n ShadowPosition,\r\n StylePropKey,\r\n StyleProps,\r\n ThemeColors,\r\n} from \"../types\";\r\n\r\nconst isStylePropKey = (k: string): k is StylePropKey =>\r\n StylePropsSet.has(k as StylePropKey);\r\n\r\nexport const extractStyleProps = <Props extends object>(\r\n props: Props,\r\n): StyleProps => {\r\n const style: StyleProps = {};\r\n\r\n for (const k in props) {\r\n if (isStylePropKey(k) && props[k] !== undefined) {\r\n style[k] = props[k] as any;\r\n }\r\n }\r\n\r\n return style;\r\n};\r\n\r\nexport const createStyleKey = <Props extends object>(props: Props) => {\r\n let key = \"\";\r\n\r\n for (const k in props) {\r\n if (isStylePropKey(k)) {\r\n key += String(props[k as keyof Props]);\r\n }\r\n }\r\n\r\n return key;\r\n};\r\n\r\nexport const getShadowStyle = (\r\n level: ShadowLevel = \"none\",\r\n position: ShadowPosition = \"bottom\",\r\n colors: ThemeColors,\r\n): ViewStyle => {\r\n const token = shadowScale[level];\r\n\r\n if (level === \"none\") return {};\r\n\r\n if (Platform.OS === \"android\") {\r\n return {\r\n elevation: token.elevation,\r\n };\r\n }\r\n\r\n let offsetY = 0;\r\n\r\n if (position === \"bottom\") offsetY = token.radius / 2;\r\n if (position === \"top\") offsetY = -token.radius / 2;\r\n if (position === \"around\") offsetY = 0;\r\n\r\n return {\r\n shadowColor: colors.black,\r\n shadowOpacity: token.opacity,\r\n shadowRadius: token.radius,\r\n shadowOffset: {\r\n width: 0,\r\n height: offsetY,\r\n },\r\n };\r\n};\r\n","import { useThemeContext } from \"../providers\";\r\nimport { AppTheme } from \"../types\";\r\n\r\nexport function useTheme(): AppTheme {\r\n return useThemeContext();\r\n}\r\n","import { useMemo } from \"react\";\r\nimport { StyleSheet } from \"react-native\";\r\n\r\nimport { AppTheme } from \"../types\";\r\nimport { useTheme } from \"./use-theme.hook\";\r\n\r\ntype ThemedStyles<T extends StyleSheet.NamedStyles<T>> = T;\r\n\r\ntype StyledFunctionNoProps<T extends StyleSheet.NamedStyles<T>> = (\r\n theme: AppTheme,\r\n) => ThemedStyles<T>;\r\n\r\ntype StyledFunctionWithProps<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n> = (theme: AppTheme, props: Props) => ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<T extends StyleSheet.NamedStyles<T>>(\r\n styledFunction: StyledFunctionNoProps<T>,\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionWithProps<Props, T>,\r\n props: Props,\r\n dependencies: readonly unknown[],\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionWithProps<Props, T>,\r\n props: Props,\r\n dependencies: readonly unknown[],\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionNoProps<T> | StyledFunctionWithProps<Props, T>,\r\n props?: Props,\r\n dependencies?: readonly unknown[],\r\n): ThemedStyles<T> {\r\n const theme = useTheme();\r\n\r\n const memoDependencies = dependencies ?? (props === undefined ? [] : [props]);\r\n\r\n return useMemo(() => {\r\n if (props === undefined) {\r\n return (styledFunction as StyledFunctionNoProps<T>)(theme);\r\n }\r\n\r\n return (styledFunction as StyledFunctionWithProps<Props, T>)(theme, props);\r\n }, [theme, styledFunction, ...memoDependencies]);\r\n}\r\n"],"mappings":"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","names":["useMemo","ThemeProvider","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@impulse-ui-native/theme",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.mts",
|
|
@@ -18,15 +18,15 @@
|
|
|
18
18
|
"LICENSE"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@impulse-ui-native/core": "2.
|
|
21
|
+
"@impulse-ui-native/core": "2.1.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/react": "~19.2.14",
|
|
25
25
|
"eslint": "^9.38.0",
|
|
26
26
|
"prettier": "^3.6.2",
|
|
27
|
-
"react": "19.2.
|
|
28
|
-
"react-native": "0.
|
|
29
|
-
"typescript": "~
|
|
27
|
+
"react": "19.2.3",
|
|
28
|
+
"react-native": "0.86.2",
|
|
29
|
+
"typescript": "~6.0.3",
|
|
30
30
|
"@impulse-ui-native/prettier-config": "1.0.0",
|
|
31
31
|
"@impulse-ui-native/eslint-config": "1.0.0",
|
|
32
32
|
"@impulse-ui-native/tsconfig": "1.0.0"
|