@impulse-ui-native/theme 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/constants/index.d.mts +10 -0
  2. package/dist/constants/index.js +2 -0
  3. package/dist/constants/index.js.map +1 -0
  4. package/dist/constants/style.constants.d.mts +14 -0
  5. package/dist/constants/style.constants.js +100 -0
  6. package/dist/constants/style.constants.js.map +1 -0
  7. package/dist/hooks/index.d.mts +28 -0
  8. package/dist/hooks/index.js +19 -0
  9. package/dist/hooks/index.js.map +1 -0
  10. package/dist/hooks/use-border.hook.d.mts +5 -0
  11. package/dist/hooks/use-border.hook.js +10 -0
  12. package/dist/hooks/use-border.hook.js.map +1 -0
  13. package/dist/hooks/use-colors.hook.d.mts +16 -0
  14. package/dist/hooks/use-colors.hook.js +10 -0
  15. package/dist/hooks/use-colors.hook.js.map +1 -0
  16. package/dist/hooks/use-components-tokens.hook.d.mts +16 -0
  17. package/dist/hooks/use-components-tokens.hook.js +10 -0
  18. package/dist/hooks/use-components-tokens.hook.js.map +1 -0
  19. package/dist/hooks/use-radii.hook.d.mts +5 -0
  20. package/dist/hooks/use-radii.hook.js +10 -0
  21. package/dist/hooks/use-radii.hook.js.map +1 -0
  22. package/dist/hooks/use-space.hook.d.mts +5 -0
  23. package/dist/hooks/use-space.hook.js +10 -0
  24. package/dist/hooks/use-space.hook.js.map +1 -0
  25. package/dist/hooks/use-style-props.hook.d.mts +13 -0
  26. package/dist/hooks/use-style-props.hook.js +10 -0
  27. package/dist/hooks/use-style-props.hook.js.map +1 -0
  28. package/dist/hooks/use-theme.hook.d.mts +16 -0
  29. package/dist/hooks/use-theme.hook.js +8 -0
  30. package/dist/hooks/use-theme.hook.js.map +1 -0
  31. package/dist/hooks/use-themed-styles.d.mts +22 -0
  32. package/dist/hooks/use-themed-styles.js +16 -0
  33. package/dist/hooks/use-themed-styles.js.map +1 -0
  34. package/dist/index.d.mts +39 -574
  35. package/dist/index.js +6 -1069
  36. package/dist/index.js.map +1 -1
  37. package/dist/providers/index.d.mts +16 -0
  38. package/dist/providers/index.js +2 -0
  39. package/dist/providers/index.js.map +1 -0
  40. package/dist/providers/theme.provider.d.mts +29 -0
  41. package/dist/providers/theme.provider.js +35 -0
  42. package/dist/providers/theme.provider.js.map +1 -0
  43. package/dist/theme/create-button-tokens.d.mts +16 -0
  44. package/dist/theme/create-button-tokens.js +78 -0
  45. package/dist/theme/create-button-tokens.js.map +1 -0
  46. package/dist/theme/create-control-tokens.d.mts +20 -0
  47. package/dist/theme/create-control-tokens.js +153 -0
  48. package/dist/theme/create-control-tokens.js.map +1 -0
  49. package/dist/theme/create-data-state-tokens.d.mts +16 -0
  50. package/dist/theme/create-data-state-tokens.js +23 -0
  51. package/dist/theme/create-data-state-tokens.js.map +1 -0
  52. package/dist/theme/create-datetime-picker.d.mts +16 -0
  53. package/dist/theme/create-datetime-picker.js +43 -0
  54. package/dist/theme/create-datetime-picker.js.map +1 -0
  55. package/dist/theme/create-flyout-tokens.d.mts +16 -0
  56. package/dist/theme/create-flyout-tokens.js +27 -0
  57. package/dist/theme/create-flyout-tokens.js.map +1 -0
  58. package/dist/theme/create-icon-button-tokens.d.mts +16 -0
  59. package/dist/theme/create-icon-button-tokens.js +72 -0
  60. package/dist/theme/create-icon-button-tokens.js.map +1 -0
  61. package/dist/theme/create-select-tokens.d.mts +16 -0
  62. package/dist/theme/create-select-tokens.js +14 -0
  63. package/dist/theme/create-select-tokens.js.map +1 -0
  64. package/dist/theme/create-skeleton-tokens.d.mts +16 -0
  65. package/dist/theme/create-skeleton-tokens.js +21 -0
  66. package/dist/theme/create-skeleton-tokens.js.map +1 -0
  67. package/dist/theme/create-tag-tokens.d.mts +16 -0
  68. package/dist/theme/create-tag-tokens.js +102 -0
  69. package/dist/theme/create-tag-tokens.js.map +1 -0
  70. package/dist/theme/create-time-picker-tokens.d.mts +16 -0
  71. package/dist/theme/create-time-picker-tokens.js +40 -0
  72. package/dist/theme/create-time-picker-tokens.js.map +1 -0
  73. package/dist/theme/dark.theme.d.mts +16 -0
  74. package/dist/theme/dark.theme.js +24 -0
  75. package/dist/theme/dark.theme.js.map +1 -0
  76. package/dist/theme/index.d.mts +16 -0
  77. package/dist/theme/index.js +8 -0
  78. package/dist/theme/index.js.map +1 -0
  79. package/dist/theme/light.theme.d.mts +16 -0
  80. package/dist/theme/light.theme.js +24 -0
  81. package/dist/theme/light.theme.js.map +1 -0
  82. package/dist/theme/tokens.theme.d.mts +29 -0
  83. package/dist/theme/tokens.theme.js +257 -0
  84. package/dist/theme/tokens.theme.js.map +1 -0
  85. package/dist/types/border.types.d.mts +22 -0
  86. package/dist/types/border.types.js +1 -0
  87. package/dist/types/border.types.js.map +1 -0
  88. package/dist/types/buttons-tokens.types.d.mts +42 -0
  89. package/dist/types/buttons-tokens.types.js +1 -0
  90. package/dist/types/buttons-tokens.types.js.map +1 -0
  91. package/dist/types/chart.types.d.mts +19 -0
  92. package/dist/types/chart.types.js +1 -0
  93. package/dist/types/chart.types.js.map +1 -0
  94. package/dist/types/color.types.d.mts +9 -0
  95. package/dist/types/color.types.js +1 -0
  96. package/dist/types/color.types.js.map +1 -0
  97. package/dist/types/components.types.d.mts +4 -0
  98. package/dist/types/components.types.js +1 -0
  99. package/dist/types/components.types.js.map +1 -0
  100. package/dist/types/control-tokes.types.d.mts +59 -0
  101. package/dist/types/control-tokes.types.js +1 -0
  102. package/dist/types/control-tokes.types.js.map +1 -0
  103. package/dist/types/data-state-tokens.types.d.mts +23 -0
  104. package/dist/types/data-state-tokens.types.js +1 -0
  105. package/dist/types/data-state-tokens.types.js.map +1 -0
  106. package/dist/types/datetime-picker-tokens.types.d.mts +47 -0
  107. package/dist/types/datetime-picker-tokens.types.js +1 -0
  108. package/dist/types/datetime-picker-tokens.types.js.map +1 -0
  109. package/dist/types/dimension.types.d.mts +14 -0
  110. package/dist/types/dimension.types.js +1 -0
  111. package/dist/types/dimension.types.js.map +1 -0
  112. package/dist/types/flex.types.d.mts +25 -0
  113. package/dist/types/flex.types.js +1 -0
  114. package/dist/types/flex.types.js.map +1 -0
  115. package/dist/types/flyout-tokens.types.d.mts +25 -0
  116. package/dist/types/flyout-tokens.types.js +1 -0
  117. package/dist/types/flyout-tokens.types.js.map +1 -0
  118. package/dist/types/index.d.mts +22 -0
  119. package/dist/types/index.js +22 -0
  120. package/dist/types/index.js.map +1 -0
  121. package/dist/types/select-tokens.types.d.mts +11 -0
  122. package/dist/types/select-tokens.types.js +1 -0
  123. package/dist/types/select-tokens.types.js.map +1 -0
  124. package/dist/types/shadow.types.d.mts +20 -0
  125. package/dist/types/shadow.types.js +1 -0
  126. package/dist/types/shadow.types.js.map +1 -0
  127. package/dist/types/skeleton-tokens.types.d.mts +18 -0
  128. package/dist/types/skeleton-tokens.types.js +1 -0
  129. package/dist/types/skeleton-tokens.types.js.map +1 -0
  130. package/dist/types/spacing.types.d.mts +20 -0
  131. package/dist/types/spacing.types.js +1 -0
  132. package/dist/types/spacing.types.js.map +1 -0
  133. package/dist/types/style.types.d.mts +14 -0
  134. package/dist/types/style.types.js +1 -0
  135. package/dist/types/style.types.js.map +1 -0
  136. package/dist/types/tag-tokens.types.d.mts +28 -0
  137. package/dist/types/tag-tokens.types.js +1 -0
  138. package/dist/types/tag-tokens.types.js.map +1 -0
  139. package/dist/types/theme-provider.types.d.mts +90 -0
  140. package/dist/types/theme-provider.types.js +1 -0
  141. package/dist/types/theme-provider.types.js.map +1 -0
  142. package/dist/types/time-picker-token.types.d.mts +34 -0
  143. package/dist/types/time-picker-token.types.js +1 -0
  144. package/dist/types/time-picker-token.types.js.map +1 -0
  145. package/dist/types/tokens.types.d.mts +27 -0
  146. package/dist/types/tokens.types.js +1 -0
  147. package/dist/types/tokens.types.js.map +1 -0
  148. package/dist/types/typography.types.d.mts +23 -0
  149. package/dist/types/typography.types.js +1 -0
  150. package/dist/types/typography.types.js.map +1 -0
  151. package/dist/utils/index.d.mts +22 -0
  152. package/dist/utils/index.js +2 -0
  153. package/dist/utils/index.js.map +1 -0
  154. package/dist/utils/style.utils.d.mts +27 -0
  155. package/dist/utils/style.utils.js +49 -0
  156. package/dist/utils/style.utils.js.map +1 -0
  157. package/package.json +5 -4
@@ -0,0 +1,22 @@
1
+ export { BorderProps } from './border.types.mjs';
2
+ export { ColorProps } from './color.types.mjs';
3
+ export { ChartColorPalette } from './chart.types.mjs';
4
+ export { ComponentSize, ComponentVariant } from './components.types.mjs';
5
+ export { DimensionProps } from './dimension.types.mjs';
6
+ export { FlexProps } from './flex.types.mjs';
7
+ export { ShadowIntensity, ShadowLevel, ShadowPosition, ShadowProps } from './shadow.types.mjs';
8
+ export { SpacingProps } from './spacing.types.mjs';
9
+ export { StylePropKey, StyleProps } from './style.types.mjs';
10
+ export { AppTheme, ColorPair, ColorScheme, ComponentsThemes, ComponentsTokens, ExtendedThemeColors, PrimitiveThemeTokens, ThemeColors, ThemeContextData } from './theme-provider.types.mjs';
11
+ export { BorderSize, BorderSizeKey, FontFamily, FontSize, FontWeight, FontWeightItalic, FontWeightKeys, FontWeightNormal, FontWeightValue, LetterSpacingKey, LetterSpacings, LineHeight, NeutralColor, NeutralColorKey, Radii, RadiiBlob, RadiiConditional, RadiiDrawn, RadiusBlobKey, RadiusConditionalKey, RadiusDrawnKey, RadiusKey, Space, SpaceSizesKey, TypographyKey } from './tokens.types.mjs';
12
+ export { TypographyPresetKey, TypographyProps } from './typography.types.mjs';
13
+ export { ButtonSizeTokens, ButtonTokens, ButtonVariantTokens, IconButtonSizeTokens, IconButtonTokens, IconButtonVariantTokens } from './buttons-tokens.types.mjs';
14
+ export { TagColor, TagColorTokens, TagSizeTokens, TagTokens, TagVariantTokens } from './tag-tokens.types.mjs';
15
+ export { ControlAddonTokens, ControlContainerSizeTokens, ControlContainerTokens, ControlContainerVariantTokens, ControlErrorTokens, ControlInputSizeTokens, ControlInputTokens, ControlInputVariantTokens, ControlLabelTokens } from './control-tokes.types.mjs';
16
+ export { SelectOptionTokens, SelectTokens } from './select-tokens.types.mjs';
17
+ export { DatePickerFlyoutTokens, DatetimePickerCalendarTokens, DatetimePickerDayTokens, DatetimePickerFlyoutActionsTokens, DatetimePickerFlyoutTokens, DatetimePickerQuickDateOptionsTokens, DatetimePickerTokens, DatetimePickerVisibleDateSelectTokens, DatetimeRangePickerFlyoutTokens } from './datetime-picker-tokens.types.mjs';
18
+ export { TimePickerColumnTokens, TimePickerColumnsTokens, TimePickerFlyoutTokens, TimePickerTokens } from './time-picker-token.types.mjs';
19
+ export { FlyoutHandleTokens, FlyoutTitleTokens, FlyoutTokens } from './flyout-tokens.types.mjs';
20
+ export { SkeletonBoneTokens, SkeletonTextTokens, SkeletonTokens } from './skeleton-tokens.types.mjs';
21
+ export { DataStateActionsFooterTokens, DataStateContentTokens, DataStateDetailsTokens, DataStateLoadingTokens, DataStateTokens } from './data-state-tokens.types.mjs';
22
+ import 'react-native';
@@ -0,0 +1,22 @@
1
+ export * from "./border.types";
2
+ export * from "./color.types";
3
+ export * from "./chart.types";
4
+ export * from "./components.types";
5
+ export * from "./dimension.types";
6
+ export * from "./flex.types";
7
+ export * from "./shadow.types";
8
+ export * from "./spacing.types";
9
+ export * from "./style.types";
10
+ export * from "./theme-provider.types";
11
+ export * from "./tokens.types";
12
+ export * from "./typography.types";
13
+ export * from "./buttons-tokens.types";
14
+ export * from "./tag-tokens.types";
15
+ export * from "./control-tokes.types";
16
+ export * from "./select-tokens.types";
17
+ export * from "./datetime-picker-tokens.types";
18
+ export * from "./time-picker-token.types";
19
+ export * from "./flyout-tokens.types";
20
+ export * from "./skeleton-tokens.types";
21
+ export * from "./data-state-tokens.types";
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["export * from \"./border.types\";\nexport * from \"./color.types\";\nexport * from \"./chart.types\";\nexport * from \"./components.types\";\nexport * from \"./dimension.types\";\nexport * from \"./flex.types\";\nexport * from \"./shadow.types\";\nexport * from \"./spacing.types\";\nexport * from \"./style.types\";\nexport * from \"./theme-provider.types\";\nexport * from \"./tokens.types\";\nexport * from \"./typography.types\";\nexport * from \"./buttons-tokens.types\";\nexport * from \"./tag-tokens.types\";\nexport * from \"./control-tokes.types\";\nexport * from \"./select-tokens.types\";\nexport * from \"./datetime-picker-tokens.types\";\nexport * from \"./time-picker-token.types\";\nexport * from \"./flyout-tokens.types\";\nexport * from \"./skeleton-tokens.types\";\nexport * from \"./data-state-tokens.types\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,11 @@
1
+ interface SelectOptionTokens {
2
+ padding: number;
3
+ selectedIconColor: string;
4
+ selectedIconVisibleOpacity: number;
5
+ selectedIconHiddenOpacity: number;
6
+ }
7
+ interface SelectTokens {
8
+ option: SelectOptionTokens;
9
+ }
10
+
11
+ export type { SelectOptionTokens, SelectTokens };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=select-tokens.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,20 @@
1
+ import { ViewStyle } from 'react-native';
2
+
3
+ type ShadowLevel = "none" | "xs" | "sm" | "md" | "lg" | "xl";
4
+ type ShadowPosition = "around" | "bottom" | "top";
5
+ type ShadowIntensity = {
6
+ radius: number;
7
+ opacity: number;
8
+ elevation: number;
9
+ };
10
+ type ShadowProps = {
11
+ shadow?: ShadowLevel;
12
+ shadowPosition?: ShadowPosition;
13
+ shadowColor?: ViewStyle["shadowColor"];
14
+ shadowOpacity?: ViewStyle["shadowOpacity"];
15
+ shadowRadius?: ViewStyle["shadowRadius"];
16
+ shadowOffset?: ViewStyle["shadowOffset"];
17
+ elevation?: ViewStyle["elevation"];
18
+ };
19
+
20
+ export type { ShadowIntensity, ShadowLevel, ShadowPosition, ShadowProps };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=shadow.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,18 @@
1
+ interface SkeletonBoneTokens {
2
+ backgroundColor: string;
3
+ borderColor: string;
4
+ initialOpacity: number;
5
+ animatedOpacity: number;
6
+ animationDuration: number;
7
+ }
8
+ interface SkeletonTextTokens {
9
+ alignSelf: "auto" | "flex-start" | "flex-end" | "center" | "stretch" | "baseline";
10
+ textTransform: "none" | "capitalize" | "uppercase" | "lowercase";
11
+ opacity: number;
12
+ }
13
+ interface SkeletonTokens {
14
+ bone: SkeletonBoneTokens;
15
+ text: SkeletonTextTokens;
16
+ }
17
+
18
+ export type { SkeletonBoneTokens, SkeletonTextTokens, SkeletonTokens };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=skeleton-tokens.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,20 @@
1
+ import { ViewStyle } from 'react-native';
2
+
3
+ interface SpacingProps {
4
+ margin?: ViewStyle["margin"];
5
+ marginTop?: ViewStyle["marginTop"];
6
+ marginBottom?: ViewStyle["marginBottom"];
7
+ marginLeft?: ViewStyle["marginLeft"];
8
+ marginRight?: ViewStyle["marginRight"];
9
+ marginHorizontal?: ViewStyle["marginHorizontal"];
10
+ marginVertical?: ViewStyle["marginVertical"];
11
+ padding?: ViewStyle["padding"];
12
+ paddingTop?: ViewStyle["paddingTop"];
13
+ paddingBottom?: ViewStyle["paddingBottom"];
14
+ paddingLeft?: ViewStyle["paddingLeft"];
15
+ paddingRight?: ViewStyle["paddingRight"];
16
+ paddingHorizontal?: ViewStyle["paddingHorizontal"];
17
+ paddingVertical?: ViewStyle["paddingVertical"];
18
+ }
19
+
20
+ export type { SpacingProps };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=spacing.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,14 @@
1
+ import { BorderProps } from './border.types.mjs';
2
+ import { ColorProps } from './color.types.mjs';
3
+ import { DimensionProps } from './dimension.types.mjs';
4
+ import { FlexProps } from './flex.types.mjs';
5
+ import { ShadowProps } from './shadow.types.mjs';
6
+ import { SpacingProps } from './spacing.types.mjs';
7
+ import { TypographyProps } from './typography.types.mjs';
8
+ import 'react-native';
9
+ import './tokens.types.mjs';
10
+
11
+ type StyleProps = Partial<SpacingProps & ColorProps & ShadowProps & BorderProps & TypographyProps & FlexProps & DimensionProps>;
12
+ type StylePropKey = keyof StyleProps;
13
+
14
+ export type { StylePropKey, StyleProps };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=style.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,28 @@
1
+ import { ComponentSize, ComponentVariant } from './components.types.mjs';
2
+
3
+ type TagColor = "primary" | "secondary" | "error" | "warning" | "success" | "info";
4
+ type TagSizeTokens = Record<ComponentSize, {
5
+ height: number;
6
+ paddingHorizontal: number;
7
+ minWidth: number;
8
+ fontSize: number;
9
+ }>;
10
+ type TagVariantTokens = Record<ComponentVariant, {
11
+ backgroundColor: string;
12
+ borderColor: string;
13
+ color: string;
14
+ disabledBackgroundColor: string;
15
+ disabledBorderColor: string;
16
+ disabledColor: string;
17
+ }>;
18
+ type TagColorTokens = Record<TagColor, TagVariantTokens>;
19
+ interface TagTokens {
20
+ borderWidth: number;
21
+ borderRadius: number;
22
+ gap: number;
23
+ iconMarginLeft: number;
24
+ sizes: TagSizeTokens;
25
+ colors: TagColorTokens;
26
+ }
27
+
28
+ export type { TagColor, TagColorTokens, TagSizeTokens, TagTokens, TagVariantTokens };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=tag-tokens.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,90 @@
1
+ import { ButtonTokens, IconButtonTokens } from './buttons-tokens.types.mjs';
2
+ import { ControlAddonTokens, ControlContainerTokens, ControlErrorTokens, ControlInputTokens, ControlLabelTokens } from './control-tokes.types.mjs';
3
+ import { DataStateTokens } from './data-state-tokens.types.mjs';
4
+ import { DatetimePickerTokens } from './datetime-picker-tokens.types.mjs';
5
+ import { FlyoutTokens } from './flyout-tokens.types.mjs';
6
+ import { SelectTokens } from './select-tokens.types.mjs';
7
+ import { SkeletonTokens } from './skeleton-tokens.types.mjs';
8
+ import { TagTokens } from './tag-tokens.types.mjs';
9
+ import { TimePickerTokens } from './time-picker-token.types.mjs';
10
+ import { NeutralColor, Space, Radii, BorderSize, FontFamily, FontWeight, FontSize, LineHeight } from './tokens.types.mjs';
11
+ import './components.types.mjs';
12
+
13
+ interface ThemeContextData {
14
+ theme: AppTheme;
15
+ }
16
+ type ColorScheme = "light" | "dark";
17
+ type ColorPair = {
18
+ value: string;
19
+ contrast: string;
20
+ };
21
+ type ThemeColors = {
22
+ primary: ColorPair;
23
+ accent: ColorPair;
24
+ secondary: ColorPair;
25
+ neutral: NeutralColor;
26
+ surface: {
27
+ primary: ColorPair;
28
+ secondary: ColorPair;
29
+ elevated: ColorPair;
30
+ inverse: ColorPair;
31
+ };
32
+ text: {
33
+ primary: string;
34
+ secondary: string;
35
+ tertiary: string;
36
+ inverse: string;
37
+ disabled: string;
38
+ };
39
+ border: {
40
+ subtle: ColorPair;
41
+ default: ColorPair;
42
+ strong: ColorPair;
43
+ focus: ColorPair;
44
+ };
45
+ feedback: {
46
+ error: ColorPair;
47
+ warning: ColorPair;
48
+ success: ColorPair;
49
+ info: ColorPair;
50
+ };
51
+ overlay: string;
52
+ white: string;
53
+ black: string;
54
+ } & ExtendedThemeColors;
55
+ interface ExtendedThemeColors {
56
+ }
57
+ interface ComponentsThemes {
58
+ (theme: PrimitiveThemeTokens): ComponentsTokens;
59
+ }
60
+ interface ComponentsTokens {
61
+ button: ButtonTokens;
62
+ iconButton: IconButtonTokens;
63
+ tag: TagTokens;
64
+ controlAddon: ControlAddonTokens;
65
+ controlContainer: ControlContainerTokens;
66
+ controlError: ControlErrorTokens;
67
+ controlInput: ControlInputTokens;
68
+ controlLabel: ControlLabelTokens;
69
+ select: SelectTokens;
70
+ datetimePicker: DatetimePickerTokens;
71
+ timePicker: TimePickerTokens;
72
+ flyout: FlyoutTokens;
73
+ skeleton: SkeletonTokens;
74
+ dataState: DataStateTokens;
75
+ }
76
+ interface PrimitiveThemeTokens {
77
+ colors: ThemeColors;
78
+ space: Space;
79
+ radii: Radii;
80
+ borderSize: BorderSize;
81
+ fontFamily: FontFamily;
82
+ fontWeight: FontWeight;
83
+ fontSize: FontSize;
84
+ lineHeight: LineHeight;
85
+ }
86
+ interface AppTheme extends PrimitiveThemeTokens {
87
+ components: ComponentsTokens;
88
+ }
89
+
90
+ export type { AppTheme, ColorPair, ColorScheme, ComponentsThemes, ComponentsTokens, ExtendedThemeColors, PrimitiveThemeTokens, ThemeColors, ThemeContextData };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=theme-provider.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,34 @@
1
+ interface TimePickerColumnTokens {
2
+ width: number;
3
+ height: number;
4
+ gap: number;
5
+ listWidth: number;
6
+ itemHeight: number;
7
+ visibleItems: number;
8
+ verticalPadding: number;
9
+ initialScrollIndexViewOffset: number;
10
+ fontSize: number;
11
+ selectedColor: string;
12
+ color: string;
13
+ selectedFontWeight: number;
14
+ fontWeight: number;
15
+ }
16
+ interface TimePickerFlyoutTokens {
17
+ gap: number;
18
+ }
19
+ interface TimePickerColumnsTokens {
20
+ height: number;
21
+ gap: number;
22
+ indicatorHeight: number;
23
+ indicatorWidth: number;
24
+ indicatorTop: number;
25
+ indicatorBorderRadius: number;
26
+ indicatorBackgroundColor: string;
27
+ }
28
+ interface TimePickerTokens {
29
+ column: TimePickerColumnTokens;
30
+ flyout: TimePickerFlyoutTokens;
31
+ columns: TimePickerColumnsTokens;
32
+ }
33
+
34
+ export type { TimePickerColumnTokens, TimePickerColumnsTokens, TimePickerFlyoutTokens, TimePickerTokens };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=time-picker-token.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,27 @@
1
+ type FontWeightNormal = "Montserrat_100Thin" | "Montserrat_200ExtraLight" | "Montserrat_300Light" | "Montserrat_400Regular" | "Montserrat_500Medium" | "Montserrat_600SemiBold" | "Montserrat_700Bold" | "Montserrat_800ExtraBold" | "Montserrat_900Black";
2
+ type FontWeightItalic = "Montserrat_100Thin_Italic" | "Montserrat_200ExtraLight_Italic" | "Montserrat_300Light_Italic" | "Montserrat_400Regular_Italic" | "Montserrat_500Medium_Italic" | "Montserrat_600SemiBold_Italic" | "Montserrat_700Bold_Italic" | "Montserrat_800ExtraBold_Italic" | "Montserrat_900Black_Italic";
3
+ type FontWeightValue = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
4
+ type SpaceSizesKey = "none" | "xxs" | "xs" | "mxs" | "sm" | "msm" | "md" | "lg" | "xl" | "xxl";
5
+ type Space = Record<SpaceSizesKey, number>;
6
+ type TypographyKey = "xxs" | "xs" | "xsm" | "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl" | "huge" | "massive" | "giant" | "colossal";
7
+ type FontSize = Record<TypographyKey, number>;
8
+ type LineHeight = Record<TypographyKey, number>;
9
+ type FontWeightKeys = "thin" | "extraLight" | "light" | "regular" | "medium" | "semiBold" | "bold" | "extraBold" | "black";
10
+ type FontFamily = Record<"normal" | "italic", Record<FontWeightValue, string>>;
11
+ type FontWeight = Record<FontWeightKeys, FontWeightValue>;
12
+ type LetterSpacingKey = "tightest" | "tighter" | "tight" | "normal" | "wide" | "wider" | "widest" | "ultraWide";
13
+ type LetterSpacings = Record<LetterSpacingKey, number>;
14
+ type BorderSizeKey = "sm" | "md" | "lg" | "xl" | "xxl";
15
+ type BorderSize = Record<BorderSizeKey, number>;
16
+ type RadiusKey = "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl" | "round";
17
+ type Radii = Record<RadiusKey, number>;
18
+ type RadiusDrawnKey = "drawn1" | "drawn2" | "drawn3" | "drawn4" | "drawn5" | "drawn6";
19
+ type RadiiDrawn = Record<RadiusDrawnKey, string>;
20
+ type RadiusBlobKey = "blob1" | "blob2" | "blob3" | "blob4" | "blob5";
21
+ type RadiiBlob = Record<RadiusBlobKey, string>;
22
+ type RadiusConditionalKey = "conditional1" | "conditional2" | "conditional3" | "conditional4" | "conditional5" | "conditional6";
23
+ type RadiiConditional = Record<RadiusConditionalKey, string>;
24
+ type NeutralColorKey = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13";
25
+ type NeutralColor = Record<NeutralColorKey, string>;
26
+
27
+ export type { BorderSize, BorderSizeKey, FontFamily, FontSize, FontWeight, FontWeightItalic, FontWeightKeys, FontWeightNormal, FontWeightValue, LetterSpacingKey, LetterSpacings, LineHeight, NeutralColor, NeutralColorKey, Radii, RadiiBlob, RadiiConditional, RadiiDrawn, RadiusBlobKey, RadiusConditionalKey, RadiusDrawnKey, RadiusKey, Space, SpaceSizesKey, TypographyKey };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=tokens.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,23 @@
1
+ import { TextStyle } from 'react-native';
2
+ import { FontWeightValue } from './tokens.types.mjs';
3
+
4
+ interface TypographyProps {
5
+ fontSize?: TextStyle["fontSize"];
6
+ fontFamily?: TextStyle["fontFamily"];
7
+ fontWeight?: FontWeightValue;
8
+ fontVariant?: TextStyle["fontVariant"];
9
+ fontStyle?: TextStyle["fontStyle"];
10
+ letterSpacing?: TextStyle["letterSpacing"];
11
+ lineHeight?: TextStyle["lineHeight"];
12
+ textAlign?: TextStyle["textAlign"];
13
+ textDecorationLine?: TextStyle["textDecorationLine"];
14
+ textDecorationStyle?: TextStyle["textDecorationStyle"];
15
+ textDecorationColor?: TextStyle["textDecorationColor"];
16
+ textTransform?: TextStyle["textTransform"];
17
+ includeFontPadding?: TextStyle["includeFontPadding"];
18
+ textAlignVertical?: TextStyle["textAlignVertical"];
19
+ writingDirection?: TextStyle["writingDirection"];
20
+ }
21
+ type TypographyPresetKey = "Master" | "DisplayLarge" | "DisplayMedium" | "DisplaySmall" | "Title1" | "Title2" | "Title3" | "Title4" | "Title5" | "Title6" | "Subtitle1" | "Subtitle2" | "BodyLarge" | "Body" | "BodySmall" | "Caption" | "Label" | "Overline" | "Helper" | "Code" | "Quote" | "Eyebrow";
22
+
23
+ export type { TypographyPresetKey, TypographyProps };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=typography.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,22 @@
1
+ export { createStyleKey, extractStyleProps, getShadowStyle } from './style.utils.mjs';
2
+ import 'react-native';
3
+ import '../types/shadow.types.mjs';
4
+ import '../types/style.types.mjs';
5
+ import '../types/border.types.mjs';
6
+ import '../types/color.types.mjs';
7
+ import '../types/dimension.types.mjs';
8
+ import '../types/flex.types.mjs';
9
+ import '../types/spacing.types.mjs';
10
+ import '../types/typography.types.mjs';
11
+ import '../types/tokens.types.mjs';
12
+ import '../types/theme-provider.types.mjs';
13
+ import '../types/buttons-tokens.types.mjs';
14
+ import '../types/components.types.mjs';
15
+ import '../types/control-tokes.types.mjs';
16
+ import '../types/data-state-tokens.types.mjs';
17
+ import '../types/datetime-picker-tokens.types.mjs';
18
+ import '../types/flyout-tokens.types.mjs';
19
+ import '../types/select-tokens.types.mjs';
20
+ import '../types/skeleton-tokens.types.mjs';
21
+ import '../types/tag-tokens.types.mjs';
22
+ import '../types/time-picker-token.types.mjs';
@@ -0,0 +1,2 @@
1
+ export * from "./style.utils";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from \"./style.utils\";\r\n"],"mappings":"AAAA,cAAc;","names":[]}
@@ -0,0 +1,27 @@
1
+ import { ViewStyle } from 'react-native';
2
+ import { ShadowLevel, ShadowPosition } from '../types/shadow.types.mjs';
3
+ import { StyleProps } from '../types/style.types.mjs';
4
+ import { ThemeColors } from '../types/theme-provider.types.mjs';
5
+ import '../types/border.types.mjs';
6
+ import '../types/color.types.mjs';
7
+ import '../types/dimension.types.mjs';
8
+ import '../types/flex.types.mjs';
9
+ import '../types/spacing.types.mjs';
10
+ import '../types/typography.types.mjs';
11
+ import '../types/tokens.types.mjs';
12
+ import '../types/buttons-tokens.types.mjs';
13
+ import '../types/components.types.mjs';
14
+ import '../types/control-tokes.types.mjs';
15
+ import '../types/data-state-tokens.types.mjs';
16
+ import '../types/datetime-picker-tokens.types.mjs';
17
+ import '../types/flyout-tokens.types.mjs';
18
+ import '../types/select-tokens.types.mjs';
19
+ import '../types/skeleton-tokens.types.mjs';
20
+ import '../types/tag-tokens.types.mjs';
21
+ import '../types/time-picker-token.types.mjs';
22
+
23
+ declare const extractStyleProps: <Props extends object>(props: Props) => StyleProps;
24
+ declare const createStyleKey: <Props extends object>(props: Props) => string;
25
+ declare const getShadowStyle: (level: ShadowLevel | undefined, position: ShadowPosition | undefined, colors: ThemeColors) => ViewStyle;
26
+
27
+ export { createStyleKey, extractStyleProps, getShadowStyle };
@@ -0,0 +1,49 @@
1
+ import { Platform } from "react-native";
2
+ import { shadowScale, StylePropsSet } from "../constants";
3
+ const isStylePropKey = (k) => StylePropsSet.has(k);
4
+ const extractStyleProps = (props) => {
5
+ const style = {};
6
+ for (const k in props) {
7
+ if (isStylePropKey(k) && props[k] !== void 0) {
8
+ style[k] = props[k];
9
+ }
10
+ }
11
+ return style;
12
+ };
13
+ const createStyleKey = (props) => {
14
+ let key = "";
15
+ for (const k in props) {
16
+ if (isStylePropKey(k)) {
17
+ key += String(props[k]);
18
+ }
19
+ }
20
+ return key;
21
+ };
22
+ const getShadowStyle = (level = "none", position = "bottom", colors) => {
23
+ const token = shadowScale[level];
24
+ if (level === "none") return {};
25
+ if (Platform.OS === "android") {
26
+ return {
27
+ elevation: token.elevation
28
+ };
29
+ }
30
+ let offsetY = 0;
31
+ if (position === "bottom") offsetY = token.radius / 2;
32
+ if (position === "top") offsetY = -token.radius / 2;
33
+ if (position === "around") offsetY = 0;
34
+ return {
35
+ shadowColor: colors.black,
36
+ shadowOpacity: token.opacity,
37
+ shadowRadius: token.radius,
38
+ shadowOffset: {
39
+ width: 0,
40
+ height: offsetY
41
+ }
42
+ };
43
+ };
44
+ export {
45
+ createStyleKey,
46
+ extractStyleProps,
47
+ getShadowStyle
48
+ };
49
+ //# sourceMappingURL=style.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/style.utils.ts"],"sourcesContent":["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"],"mappings":"AAAA,SAAS,gBAA2B;AAEpC,SAAS,aAAa,qBAAqB;AAS3C,MAAM,iBAAiB,CAAC,MACtB,cAAc,IAAI,CAAiB;AAE9B,MAAM,oBAAoB,CAC/B,UACe;AACf,QAAM,QAAoB,CAAC;AAE3B,aAAW,KAAK,OAAO;AACrB,QAAI,eAAe,CAAC,KAAK,MAAM,CAAC,MAAM,QAAW;AAC/C,YAAM,CAAC,IAAI,MAAM,CAAC;AAAA,IACpB;AAAA,EACF;AAEA,SAAO;AACT;AAEO,MAAM,iBAAiB,CAAuB,UAAiB;AACpE,MAAI,MAAM;AAEV,aAAW,KAAK,OAAO;AACrB,QAAI,eAAe,CAAC,GAAG;AACrB,aAAO,OAAO,MAAM,CAAgB,CAAC;AAAA,IACvC;AAAA,EACF;AAEA,SAAO;AACT;AAEO,MAAM,iBAAiB,CAC5B,QAAqB,QACrB,WAA2B,UAC3B,WACc;AACd,QAAM,QAAQ,YAAY,KAAK;AAE/B,MAAI,UAAU,OAAQ,QAAO,CAAC;AAE9B,MAAI,SAAS,OAAO,WAAW;AAC7B,WAAO;AAAA,MACL,WAAW,MAAM;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,UAAU;AAEd,MAAI,aAAa,SAAU,WAAU,MAAM,SAAS;AACpD,MAAI,aAAa,MAAO,WAAU,CAAC,MAAM,SAAS;AAClD,MAAI,aAAa,SAAU,WAAU;AAErC,SAAO;AAAA,IACL,aAAa,OAAO;AAAA,IACpB,eAAe,MAAM;AAAA,IACrB,cAAc,MAAM;AAAA,IACpB,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@impulse-ui-native/theme",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "source": "src/index.ts",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.mts",
@@ -17,8 +17,9 @@
17
17
  "README.md",
18
18
  "LICENSE"
19
19
  ],
20
+ "sideEffects": false,
20
21
  "dependencies": {
21
- "@impulse-ui-native/core": "2.1.0"
22
+ "@impulse-ui-native/core": "2.1.1"
22
23
  },
23
24
  "devDependencies": {
24
25
  "@types/react": "~19.2.14",
@@ -27,9 +28,9 @@
27
28
  "react": "19.2.3",
28
29
  "react-native": "0.86.2",
29
30
  "typescript": "~6.0.3",
30
- "@impulse-ui-native/prettier-config": "1.0.0",
31
31
  "@impulse-ui-native/eslint-config": "1.0.0",
32
- "@impulse-ui-native/tsconfig": "1.0.0"
32
+ "@impulse-ui-native/tsconfig": "1.0.0",
33
+ "@impulse-ui-native/prettier-config": "1.0.0"
33
34
  },
34
35
  "peerDependencies": {
35
36
  "react": ">=18",