@viasat/beam-tokens 2.90.0 → 2.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +38 -0
  2. package/index.js +2 -2290
  3. package/native/i18n/font-face-names.generated.cjs +1 -0
  4. package/native/i18n/font-face-names.generated.js +1 -0
  5. package/native/i18n/typography-overlay.cjs +1 -0
  6. package/native/i18n/typography-overlay.js +1 -0
  7. package/native/index.cjs +1 -0
  8. package/native/index.js +1 -0
  9. package/native/themes/blue-consumer.cjs +1 -0
  10. package/native/themes/blue-consumer.js +1 -0
  11. package/native/themes/blue-enterprise.cjs +1 -0
  12. package/native/themes/blue-enterprise.js +1 -0
  13. package/native/themes/green-consumer.cjs +1 -0
  14. package/native/themes/green-consumer.js +1 -0
  15. package/native/themes/green-enterprise.cjs +1 -0
  16. package/native/themes/green-enterprise.js +1 -0
  17. package/native/themes/neutral-consumer.cjs +1 -0
  18. package/native/themes/neutral-consumer.js +1 -0
  19. package/native/themes/neutral-enterprise.cjs +1 -0
  20. package/native/themes/neutral-enterprise.js +1 -0
  21. package/native/themes/orange-consumer.cjs +1 -0
  22. package/native/themes/orange-consumer.js +1 -0
  23. package/native/themes/orange-enterprise.cjs +1 -0
  24. package/native/themes/orange-enterprise.js +1 -0
  25. package/native/themes/pink-consumer.cjs +1 -0
  26. package/native/themes/pink-consumer.js +1 -0
  27. package/native/themes/pink-enterprise.cjs +1 -0
  28. package/native/themes/pink-enterprise.js +1 -0
  29. package/native/themes/teal-consumer.cjs +1 -0
  30. package/native/themes/teal-consumer.js +1 -0
  31. package/native/themes/teal-enterprise.cjs +1 -0
  32. package/native/themes/teal-enterprise.js +1 -0
  33. package/native/themes/violet-consumer.cjs +1 -0
  34. package/native/themes/violet-consumer.js +1 -0
  35. package/native/themes/violet-enterprise.cjs +1 -0
  36. package/native/themes/violet-enterprise.js +1 -0
  37. package/package.json +36 -1
  38. package/types/configs/colors/colors.format.d.ts +1 -1
  39. package/types/configs/colors/colors.transformers.d.ts +1 -1
  40. package/types/configs/colors/index.d.ts +3 -3
  41. package/types/configs/colors/sd.colors.config.d.ts +1 -1
  42. package/types/configs/components/components.format.css.d.ts +1 -1
  43. package/types/configs/components/components.transformers.d.ts +1 -1
  44. package/types/configs/components/index.d.ts +1 -1
  45. package/types/configs/components/sd.components.config.d.ts +1 -1
  46. package/types/configs/dimensions/dimension.format.css.d.ts +1 -1
  47. package/types/configs/dimensions/dimensions.transformers.d.ts +1 -1
  48. package/types/configs/dimensions/dimensions.utils.d.ts +1 -1
  49. package/types/configs/dimensions/index.d.ts +3 -3
  50. package/types/configs/dimensions/sd.dimension.config.d.ts +1 -1
  51. package/types/configs/expressive/expressive.format.d.ts +1 -1
  52. package/types/configs/expressive/index.d.ts +2 -2
  53. package/types/configs/expressive/sd.expressive.config.d.ts +1 -1
  54. package/types/configs/index.d.ts +1 -1
  55. package/types/configs/js/index.d.ts +3 -3
  56. package/types/configs/js/js.formatters.d.ts +1 -1
  57. package/types/configs/js/js.transformers.d.ts +1 -1
  58. package/types/configs/js/sd.js.config.d.ts +1 -1
  59. package/types/configs/language/formatters/css.d.ts +1 -1
  60. package/types/configs/language/formatters/index.d.ts +1 -1
  61. package/types/configs/language/index.d.ts +4 -4
  62. package/types/configs/language/sd.language.config.d.ts +1 -1
  63. package/types/configs/language/transformers/index.d.ts +1 -1
  64. package/types/configs/native/index.d.ts +15 -0
  65. package/types/configs/native/native.color-guard.d.ts +13 -0
  66. package/types/configs/native/native.dimension.d.ts +13 -0
  67. package/types/configs/native/native.opacity-guard.d.ts +9 -0
  68. package/types/configs/native/native.resolvers.d.ts +5 -0
  69. package/types/configs/native/native.shadow.d.ts +17 -0
  70. package/types/configs/native/native.source.d.ts +24 -0
  71. package/types/configs/native/native.transformers.d.ts +3 -0
  72. package/types/configs/native/native.types-guard.d.ts +1 -0
  73. package/types/configs/native/native.types.d.ts +28 -0
  74. package/types/configs/native/native.typography.d.ts +22 -0
  75. package/types/configs/native/native.utils.d.ts +3 -0
  76. package/types/configs/native/sd.native.config.d.ts +7 -0
  77. package/types/configs/product-type/index.d.ts +4 -4
  78. package/types/configs/product-type/product-type.format.css.d.ts +1 -1
  79. package/types/configs/product-type/product-type.transformers.d.ts +1 -1
  80. package/types/configs/product-type/sd.product-tokens.config.d.ts +1 -1
  81. package/types/configs/shadows/index.d.ts +4 -4
  82. package/types/configs/shadows/sd.shadow.config.d.ts +1 -1
  83. package/types/configs/shadows/shadow.transformers.d.ts +1 -1
  84. package/types/configs/shadows/shadows.format.css.d.ts +1 -1
  85. package/types/configs/shadows/shadows.utils.d.ts +1 -1
  86. package/types/configs/storybook/index.d.ts +3 -3
  87. package/types/configs/storybook/js.formatters.d.ts +1 -1
  88. package/types/configs/storybook/js.transformers.d.ts +1 -1
  89. package/types/configs/storybook/sd.storybook.config.d.ts +1 -1
  90. package/types/configs/themes/generateThemes.d.ts +1 -1
  91. package/types/configs/themes/index.d.ts +1 -1
  92. package/types/configs/themes/sd.theme.config.d.ts +1 -1
  93. package/types/configs/themes/theme.utils.d.ts +5 -5
  94. package/types/configs/typography/formatters/css.d.ts +1 -1
  95. package/types/configs/typography/formatters/index.d.ts +1 -1
  96. package/types/configs/typography/helpers.d.ts +1 -1
  97. package/types/configs/typography/index.d.ts +4 -4
  98. package/types/configs/typography/sd.typography.config.d.ts +1 -1
  99. package/types/configs/typography/transformers/index.d.ts +1 -1
  100. package/types/lib/index.d.ts +2 -2
  101. package/types/lib/native/i18n/font-face-names.generated.d.ts +1 -0
  102. package/types/lib/native/i18n/typography-overlay.d.ts +10 -0
  103. package/types/lib/native/index.d.ts +1 -0
  104. package/types/lib/native/themes/blue-consumer.d.ts +3 -0
  105. package/types/lib/native/themes/blue-enterprise.d.ts +3 -0
  106. package/types/lib/native/themes/green-consumer.d.ts +3 -0
  107. package/types/lib/native/themes/green-enterprise.d.ts +3 -0
  108. package/types/lib/native/themes/neutral-consumer.d.ts +3 -0
  109. package/types/lib/native/themes/neutral-enterprise.d.ts +3 -0
  110. package/types/lib/native/themes/orange-consumer.d.ts +3 -0
  111. package/types/lib/native/themes/orange-enterprise.d.ts +3 -0
  112. package/types/lib/native/themes/pink-consumer.d.ts +3 -0
  113. package/types/lib/native/themes/pink-enterprise.d.ts +3 -0
  114. package/types/lib/native/themes/teal-consumer.d.ts +3 -0
  115. package/types/lib/native/themes/teal-enterprise.d.ts +3 -0
  116. package/types/lib/native/themes/violet-consumer.d.ts +3 -0
  117. package/types/lib/native/themes/violet-enterprise.d.ts +3 -0
  118. package/types/lib/native/token-tree.generated.d.ts +1723 -0
  119. package/types/lib/native/types.d.ts +58 -0
  120. package/types/utils/build-tokens-native.d.ts +1 -0
  121. package/types/utils/constants/class-names.d.ts +1 -1
  122. package/types/utils/constants/index.d.ts +7 -7
  123. package/types/utils/constants/theme.d.ts +20 -0
  124. package/types/utils/constants/token-types.d.ts +1 -1
  125. package/types/utils/constants/types.d.ts +4 -9
  126. package/types/utils/files/cleanup.d.ts +1 -1
  127. package/types/utils/files/index.d.ts +5 -5
  128. package/types/utils/files/merge.d.ts +1 -1
  129. package/types/utils/files/paths.d.ts +1 -1
  130. package/types/utils/formatters/className.d.ts +1 -1
  131. package/types/utils/formatters/format.css.d.ts +1 -1
  132. package/types/utils/formatters/format.scss.d.ts +1 -1
  133. package/types/utils/formatters/index.d.ts +4 -4
  134. package/types/utils/index.d.ts +8 -8
  135. package/types/utils/occurrences.d.ts +1 -1
  136. package/types/utils/tokens.d.ts +1 -1
package/README.md CHANGED
@@ -10,6 +10,7 @@ Design tokens for the Beam Design System with support for CSS, SASS, and CSS-in-
10
10
  - [CSS Usage](#css-usage)
11
11
  - [SCSS/SASS Usage](#scsssass-usage)
12
12
  - [CSS-in-JS Usage](#css-in-js-usage)
13
+ - [React Native Usage](#react-native-usage)
13
14
  4. [🖌️ Theming](#theming)
14
15
  - [Base Theming](#base-theming)
15
16
  - [Accent Theming](#accent-theming)
@@ -24,6 +25,7 @@ Design tokens for the Beam Design System with support for CSS, SASS, and CSS-in-
24
25
  - **CSS Variables** - Use design tokens as CSS custom properties
25
26
  - **SASS Variables** - Import tokens as SASS variables for preprocessing
26
27
  - **CSS-in-JS Support** - Direct JavaScript imports for styled-components, Emotion, etc.
28
+ - **React Native Support** - Pre-resolved token modules for React Native (no CSS required)
27
29
  - **Multiple Themes** - Light, dark, accent, product, and brand themes
28
30
  - **Internationalization** - Language-specific typography support
29
31
  - **TypeScript Support** - Full type definitions for all tokens
@@ -131,6 +133,42 @@ export const MyApp = () => {
131
133
  };
132
134
  ```
133
135
 
136
+ ### React Native Usage
137
+
138
+ React Native has no CSS or cascade, so tokens ship as pre-resolved JavaScript objects instead of CSS variables. Each `accent` × `productType` combination is published as its own module under `@viasat/beam-tokens/native/themes/*`, with both modes nested as `light` and `dark`.
139
+
140
+ Import the combination your app ships and read a mode's tokens directly:
141
+
142
+ ```tsx
143
+ // my-styles.ts
144
+ import tealEnterprise from '@viasat/beam-tokens/native/themes/teal-enterprise';
145
+
146
+ const tokens = tealEnterprise.light; // or tealEnterprise.dark
147
+
148
+ export const styles = {
149
+ card: {
150
+ backgroundColor: tokens.sem.color.surface['01'],
151
+ color: tokens.sem.color.text.primary,
152
+ },
153
+ };
154
+ ```
155
+
156
+ Each theme module is shaped as `{ accent, productType, light, dark }`. A mode (`light`/`dark`) is a token tree with `sem` (semantic), `expressive` and `dataviz` slices, plus `comp` (Beam's internal component tokens, which may change without notice).
157
+
158
+ Types are available from `@viasat/beam-tokens/native`:
159
+
160
+ ```ts
161
+ import type { TokenThemes, Accent, Tokens } from '@viasat/beam-tokens/native';
162
+ ```
163
+
164
+ Each theme's type lists the modes it ships, e.g. `TokenThemes<'light' | 'dark'>`,
165
+ so `.light` and `.dark` need no `!`. Bare `TokenThemes` means any theme; use it to
166
+ store themes: `useState<TokenThemes>(tealEnterprise)`.
167
+
168
+ > 💡 **React Native users**: use `BeamNativeThemeProvider` and `useBeamTokens` from
169
+ > `@viasat/beam-react-native` so tokens follow mode and locale changes. See the
170
+ > [beam-react-native README](https://www.npmjs.com/package/@viasat/beam-react-native).
171
+
134
172
  ## Theming
135
173
 
136
174
  Theming is a core feature of Beam Tokens. We provide a set of themes that can be used to style your application. Each theme is a set of CSS variables that override Beam's default design tokens.