@viasat/beam-tokens 2.0.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 (134) hide show
  1. package/README.md +275 -0
  2. package/components/Accordion.css +108 -0
  3. package/components/ActionList.css +150 -0
  4. package/components/Alert.css +244 -0
  5. package/components/Avatar.css +124 -0
  6. package/components/Badge.css +542 -0
  7. package/components/BadgeDot.css +150 -0
  8. package/components/BatchActions.css +34 -0
  9. package/components/Breadcrumb.css +44 -0
  10. package/components/Button.css +466 -0
  11. package/components/Card.css +102 -0
  12. package/components/Chip.css +102 -0
  13. package/components/CloseButton.css +42 -0
  14. package/components/DataTable.css +214 -0
  15. package/components/Dialog.css +150 -0
  16. package/components/Divider.css +32 -0
  17. package/components/EmptyState.css +56 -0
  18. package/components/FileUpload.css +204 -0
  19. package/components/Header.css +94 -0
  20. package/components/HelperText.css +100 -0
  21. package/components/Input.css +328 -0
  22. package/components/Label.css +46 -0
  23. package/components/Link.css +102 -0
  24. package/components/List.css +22 -0
  25. package/components/Menu.css +14 -0
  26. package/components/Pagination.css +58 -0
  27. package/components/Panel.css +74 -0
  28. package/components/Popover.css +56 -0
  29. package/components/ProgressBar.css +78 -0
  30. package/components/SegmentedControl.css +56 -0
  31. package/components/SideNav.css +28 -0
  32. package/components/Slider.css +78 -0
  33. package/components/Spinner.css +120 -0
  34. package/components/Stepper.css +248 -0
  35. package/components/Tabs.css +106 -0
  36. package/components/Toast.css +190 -0
  37. package/components/Tooltip.css +70 -0
  38. package/index.cjs +2 -0
  39. package/index.js +2258 -0
  40. package/package.json +63 -0
  41. package/themes/blue.css +32 -0
  42. package/themes/green.css +44 -0
  43. package/themes/neutral.css +32 -0
  44. package/themes/onefi.css +6069 -0
  45. package/themes/orange.css +32 -0
  46. package/themes/pink.css +32 -0
  47. package/themes/violet.css +32 -0
  48. package/tokens.css +3573 -0
  49. package/tokens.scss +3889 -0
  50. package/types/configs/colors/colors.format.d.ts +11 -0
  51. package/types/configs/colors/colors.transformers.d.ts +9 -0
  52. package/types/configs/colors/colors.utils.d.ts +21 -0
  53. package/types/configs/colors/index.d.ts +5 -0
  54. package/types/configs/colors/sd.colors.config.d.ts +7 -0
  55. package/types/configs/components/components.format.css.d.ts +16 -0
  56. package/types/configs/components/components.transformers.d.ts +4 -0
  57. package/types/configs/components/index.d.ts +2 -0
  58. package/types/configs/components/sd.components.config.d.ts +11 -0
  59. package/types/configs/dimensions/dimension.format.css.d.ts +8 -0
  60. package/types/configs/dimensions/dimensions.transformers.d.ts +9 -0
  61. package/types/configs/dimensions/dimensions.utils.d.ts +55 -0
  62. package/types/configs/dimensions/index.d.ts +7 -0
  63. package/types/configs/dimensions/sd.dimension.config.d.ts +15 -0
  64. package/types/configs/expressive/expressive.format.d.ts +11 -0
  65. package/types/configs/expressive/index.d.ts +3 -0
  66. package/types/configs/expressive/sd.expressive.config.d.ts +6 -0
  67. package/types/configs/index.d.ts +7 -0
  68. package/types/configs/js/index.d.ts +4 -0
  69. package/types/configs/js/js.formatters.d.ts +3 -0
  70. package/types/configs/js/js.transformers.d.ts +10 -0
  71. package/types/configs/js/js.utils.d.ts +2 -0
  72. package/types/configs/js/sd.js.config.d.ts +6 -0
  73. package/types/configs/language/formatters/css.d.ts +17 -0
  74. package/types/configs/language/formatters/index.d.ts +3 -0
  75. package/types/configs/language/index.d.ts +6 -0
  76. package/types/configs/language/sd.language.config.d.ts +7 -0
  77. package/types/configs/language/transformers/attribute.d.ts +10 -0
  78. package/types/configs/language/transformers/index.d.ts +5 -0
  79. package/types/configs/product-type/index.d.ts +5 -0
  80. package/types/configs/product-type/product-type.format.css.d.ts +8 -0
  81. package/types/configs/product-type/product-type.transformers.d.ts +2 -0
  82. package/types/configs/product-type/sd.product-tokens.config.d.ts +7 -0
  83. package/types/configs/shadows/index.d.ts +7 -0
  84. package/types/configs/shadows/sd.shadow.config.d.ts +9 -0
  85. package/types/configs/shadows/shadow.transformers.d.ts +7 -0
  86. package/types/configs/shadows/shadows.format.css.d.ts +8 -0
  87. package/types/configs/shadows/shadows.utils.d.ts +11 -0
  88. package/types/configs/storybook/index.d.ts +4 -0
  89. package/types/configs/storybook/js.formatters.d.ts +3 -0
  90. package/types/configs/storybook/js.transformers.d.ts +5 -0
  91. package/types/configs/storybook/js.utils.d.ts +2 -0
  92. package/types/configs/storybook/sd.storybook.config.d.ts +6 -0
  93. package/types/configs/themes/generateThemes.d.ts +2 -0
  94. package/types/configs/themes/index.d.ts +1 -0
  95. package/types/configs/themes/sd.theme.config.d.ts +3 -0
  96. package/types/configs/themes/theme.utils.d.ts +18 -0
  97. package/types/configs/typography/formatters/css.d.ts +20 -0
  98. package/types/configs/typography/formatters/index.d.ts +3 -0
  99. package/types/configs/typography/helpers.d.ts +84 -0
  100. package/types/configs/typography/index.d.ts +6 -0
  101. package/types/configs/typography/sd.typography.config.d.ts +5 -0
  102. package/types/configs/typography/transformers/attribute.d.ts +16 -0
  103. package/types/configs/typography/transformers/index.d.ts +5 -0
  104. package/types/configs/typography/transformers/value.d.ts +4 -0
  105. package/types/lib/index.d.ts +8 -0
  106. package/types/lib/js/tokens.d.ts +1462 -0
  107. package/types/lib/js/tokensObj.d.ts +15888 -0
  108. package/types/lib/storybook-token-table/tokens.d.ts +9980 -0
  109. package/types/utils/build-tokens.d.ts +1 -0
  110. package/types/utils/constants/class-names.d.ts +19 -0
  111. package/types/utils/constants/index.d.ts +7 -0
  112. package/types/utils/constants/math.d.ts +1 -0
  113. package/types/utils/constants/paths.d.ts +27 -0
  114. package/types/utils/constants/theme.d.ts +24 -0
  115. package/types/utils/constants/token-types.d.ts +48 -0
  116. package/types/utils/constants/types.d.ts +114 -0
  117. package/types/utils/constants/typography.d.ts +39 -0
  118. package/types/utils/dataviz.d.ts +68 -0
  119. package/types/utils/files/cleanup.d.ts +11 -0
  120. package/types/utils/files/index.d.ts +5 -0
  121. package/types/utils/files/merge.d.ts +20 -0
  122. package/types/utils/files/paths.d.ts +25 -0
  123. package/types/utils/files/scan.d.ts +38 -0
  124. package/types/utils/files/validate.d.ts +13 -0
  125. package/types/utils/formatters/className.d.ts +13 -0
  126. package/types/utils/formatters/format.css.d.ts +19 -0
  127. package/types/utils/formatters/format.scss.d.ts +12 -0
  128. package/types/utils/formatters/index.d.ts +4 -0
  129. package/types/utils/formatters/token.utils.css.d.ts +50 -0
  130. package/types/utils/functions.d.ts +13 -0
  131. package/types/utils/index.d.ts +8 -0
  132. package/types/utils/occurrences.d.ts +32 -0
  133. package/types/utils/tokens.d.ts +34 -0
  134. package/types/utils/transformers.d.ts +11 -0
package/README.md ADDED
@@ -0,0 +1,275 @@
1
+ # 🎨 Beam Tokens
2
+
3
+ Design tokens for the Beam Design System with support for CSS, SASS, and CSS-in-JS. Design tokens are the building blocks of UI elements, the smallest pieces of a design system that can be abstracted and reused across a product. They are the visual design atoms that make up molecules, organisms, and templates. ⚛️
4
+
5
+ ## 🔖 Table of Contents
6
+
7
+ 1. [✨ Features](#features)
8
+ 2. [💻 Installation](#installation)
9
+ 3. [🛠️ Usage](#usage)
10
+ - [CSS Usage](#css-usage)
11
+ - [SCSS/SASS Usage](#scsssass-usage)
12
+ - [CSS-in-JS Usage](#css-in-js-usage)
13
+ 4. [🖌️ Theming](#theming)
14
+ - [Base Theming](#base-theming)
15
+ - [Accent Theming](#accent-theming)
16
+ - [Product Theming](#product-theming)
17
+ - [Brand Theming](#brand-theming)
18
+ - [Brand and Accent Theming](#brand-and-accent-theming)
19
+ - [Headless Typography](#headless-typography)
20
+ 5. [⚙️ How It Works](#how-it-works)
21
+
22
+ ## Features
23
+
24
+ - **CSS Variables** - Use design tokens as CSS custom properties
25
+ - **SASS Variables** - Import tokens as SASS variables for preprocessing
26
+ - **CSS-in-JS Support** - Direct JavaScript imports for styled-components, Emotion, etc.
27
+ - **Multiple Themes** - Light, dark, accent, product, and brand themes
28
+ - **Internationalization** - Language-specific typography support
29
+ - **TypeScript Support** - Full type definitions for all tokens
30
+
31
+ ## Installation
32
+
33
+ ```bash
34
+ npm install @viasat/beam-tokens
35
+ ```
36
+
37
+ ```bash
38
+ yarn add @viasat/beam-tokens
39
+ ```
40
+
41
+ ```bash
42
+ pnpm add @viasat/beam-tokens
43
+ ```
44
+
45
+ ## Usage
46
+
47
+ Beam Tokens are primarily CSS variables that can be used anywhere CSS variables are supported. They provide a consistent way to access design system values across your application.
48
+
49
+ ### CSS Usage
50
+
51
+ Import the tokens CSS file and use them as CSS custom properties:
52
+
53
+ ```ts
54
+ import '@viasat/beam-tokens/styles.css';
55
+ ```
56
+
57
+ Use Beam Tokens in your CSS file:
58
+
59
+ ```css
60
+ .my-class {
61
+ background-color: var(--bm-sem-color-surface-01);
62
+ color: var(--bm-sem-color-text-primary);
63
+ }
64
+ ```
65
+
66
+ Load a Beam theme and your custom class into your application:
67
+
68
+ ```html
69
+ <div class="bm-light my-class">
70
+ <p>Hello World</p>
71
+ </div>
72
+ ```
73
+
74
+ ### SCSS/SASS Usage
75
+
76
+ Beam Tokens are also available as SASS variables for preprocessing:
77
+
78
+ ```ts
79
+ // Import CSS variables (required)
80
+ import '@viasat/beam-tokens/styles.css';
81
+ ```
82
+
83
+ ```scss
84
+ // my-file.scss
85
+ @use '@viasat/beam-tokens/tokens';
86
+
87
+ .my-class {
88
+ background-color: tokens.$bm-sem-color-surface-00;
89
+ color: tokens.$bm-sem-color-text-primary;
90
+ }
91
+ ```
92
+
93
+ ### CSS-in-JS Usage
94
+
95
+ Import tokens as JavaScript variables for use with styled-components, Emotion, and other CSS-in-JS libraries:
96
+
97
+ ```tsx
98
+ // my-file.jsx
99
+ import { css } from '@emotion/css';
100
+ import styled from 'styled-components';
101
+
102
+ // Import the tokens
103
+ import { bmSemColorSurface00, bmSemColorTextPrimary } from '@viasat/beam-tokens';
104
+
105
+ // Example with styled-components
106
+ export const MyComponent = styled.div`
107
+ background-color: ${bmSemColorSurface00};
108
+ color: ${bmSemColorTextPrimary};
109
+ `;
110
+
111
+ // Example with Emotion
112
+ export const myClass = css`
113
+ background-color: ${bmSemColorSurface00};
114
+ color: ${bmSemColorTextPrimary};
115
+ `;
116
+ ```
117
+
118
+ Render the component in your application with a Beam theme:
119
+
120
+ ```tsx
121
+ // my-app.jsx
122
+ import { MyComponent, myClass } from 'my-file.jsx';
123
+
124
+ export const MyApp = () => {
125
+ return (
126
+ <div className="bm-light">
127
+ <MyComponent>Hello World</MyComponent>
128
+ <div className={myClass}>Hello again</div>
129
+ </div>
130
+ );
131
+ };
132
+ ```
133
+
134
+ ## Theming
135
+
136
+ 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.
137
+
138
+ > 💡 **React Users**: For React applications, we recommend using the [BeamThemeProvider](https://react.beam.viasat.com/?path=/docs/concepts-theming--docs) utility component instead of manually managing theme classes. This provides a more robust and type-safe theming experience.
139
+
140
+ ### Base Theming
141
+
142
+ To use a theme, add the theme class to any element in your application. The theme will apply to that element and all its descendants. For application-wide theming, apply the theme class to the root element:
143
+
144
+ ```tsx
145
+ import React from 'react';
146
+ import '@viasat/beam-tokens/styles.css';
147
+
148
+ const App = () => (
149
+ <div className="bm-light">{/* Your application content goes here */}</div>
150
+ );
151
+
152
+ export default App;
153
+ ```
154
+
155
+ For dark mode, use the `bm-dark` class:
156
+
157
+ ```tsx
158
+ const App = () => (
159
+ <div className="bm-dark">{/* Your application content goes here */}</div>
160
+ );
161
+ ```
162
+
163
+ ### Accent Theming
164
+
165
+ Accent theming emphasizes a particular color or set of colors in your application. These themes work well for applications that want to highlight specific colors:
166
+
167
+ ```tsx
168
+ import React from 'react';
169
+ import '@viasat/beam-tokens/styles.css';
170
+ import '@viasat/beam-tokens/themes/blue.css';
171
+
172
+ const App = () => (
173
+ <div className="bm-light bm-blue">{/* Your application content goes here */}</div>
174
+ );
175
+ ```
176
+
177
+ ### Product Theming
178
+
179
+ Product theming focuses on modifying the shape and spacing of elements rather than colors. This involves adjusting properties such as border radius and spacing to create a distinct style.
180
+
181
+ Choose between `bm-enterprise` (default) or `bm-consumer` themes:
182
+
183
+ ```tsx
184
+ import React from 'react';
185
+ import '@viasat/beam-tokens/styles.css';
186
+
187
+ const App = () => (
188
+ <>
189
+ <div className="bm-light bm-enterprise">{/* Enterprise styling */}</div>
190
+ <div className="bm-light bm-consumer">{/* Consumer styling */}</div>
191
+ </>
192
+ );
193
+ ```
194
+
195
+ ### Brand Theming
196
+
197
+ Brand theming replaces Viasat branding with your own. These themes apply brand-specific colors, typography, and styling attributes:
198
+
199
+ ```tsx
200
+ import React from 'react';
201
+ import '@viasat/beam-tokens/styles.css';
202
+ import '@viasat/beam-tokens/themes/onefi.css';
203
+
204
+ const App = () => (
205
+ <div className="bm-light bm-onefi bm-onefi-starlux">
206
+ {/* Your application content goes here */}
207
+ </div>
208
+ );
209
+ ```
210
+
211
+ ### Brand and Accent Theming
212
+
213
+ Combine brand and accent theming for more customization:
214
+
215
+ ```tsx
216
+ import React from 'react';
217
+ import '@viasat/beam-tokens/styles.css';
218
+ import '@viasat/beam-tokens/themes/blue.css';
219
+ import '@viasat/beam-tokens/themes/onefi.css';
220
+
221
+ const App = () => (
222
+ <div className="bm-light bm-onefi bm-blue">
223
+ {/* Your application content goes here */}
224
+ </div>
225
+ );
226
+ ```
227
+
228
+ ### Headless Typography
229
+
230
+ Beam Tokens support headless typography, allowing you to override default font styles with custom ones. You can also apply language-specific typography using the `bm-lang-[Lang-Code]` class or `lang="[Lang-Code]"` attribute:
231
+
232
+ ```tsx
233
+ import React from 'react';
234
+ import '@viasat/beam-tokens/styles.css';
235
+ import '@viasat/beam-tokens/themes/onefi.css';
236
+
237
+ const App = () => (
238
+ <>
239
+ {/* Base brand theming */}
240
+ <div className="bm-light bm-onefi bm-onefi-emirates">
241
+ {/* Application content */}
242
+ </div>
243
+
244
+ {/* Language-specific fonts */}
245
+ <div lang="ar" className="bm-light bm-onefi bm-onefi-emirates">
246
+ {/* Arabic content */}
247
+ </div>
248
+
249
+ {/* Alternative language class */}
250
+ <div className="bm-light bm-lang-ar bm-onefi bm-onefi-emirates">
251
+ {/* Arabic content */}
252
+ </div>
253
+ </>
254
+ );
255
+ ```
256
+
257
+ > 💡 **Note**: Language codes should follow the ISO 639-1 standard. In some cases, the browser may automatically apply the correct font based on the language attribute.
258
+
259
+ ## How It Works
260
+
261
+ Beam Tokens employs a streamlined process to efficiently manage design tokens from their inception to deployment:
262
+
263
+ 1. **Designers define tokens**: Using Figma and Token Studio, designers create and define design tokens, committing them to version control with Git. This phase ensures a collaborative and well-documented approach to token creation.
264
+
265
+ 2. **GitHub Actions**: Upon detecting new tokens, GitHub Actions automatically triggers our token pipeline. This step enables a seamless, automated process for handling new tokens without manual intervention. Only a manual review is required to approve the pull request.
266
+
267
+ 3. **Custom Style Dictionary transform and format**: The tokens then pass through our custom Style Dictionary transformers, where values are mutated according to project requirements. Formatters output the tokens in the desired format (CSS, SASS, etc.). This phase enables customization and ensures compatibility with various styling approaches.
268
+
269
+ 4. **Bundle and deploy**: Finally, the newly generated assets are bundled and deployed within this package, readily available for use. This step guarantees that the latest design tokens are accessible and up-to-date for developers.
270
+
271
+ By following this streamlined process, Beam Tokens ensures a fluid integration of design tokens into your projects, fostering collaboration between designers and developers.
272
+
273
+ ## License
274
+
275
+ MIT © Viasat
@@ -0,0 +1,108 @@
1
+ :root,
2
+ :host,
3
+ .bm-light,
4
+ .bm-dark .bm-inverse,
5
+ [data-bm-theme~="bm-light"] {
6
+ --bm-comp-accordion-color-heading: var(--bm-sem-color-text-primary, #141d24);
7
+ --bm-comp-accordion-color-body: var(--bm-sem-color-text-secondary, #576775);
8
+ --bm-comp-accordion-color-icon: var(--bm-sem-color-icon-primary, #141d24);
9
+ --bm-comp-accordion-color-divider: var(--bm-sem-color-border-01, #dfe7ec);
10
+ --bm-comp-accordion-size-sm-height: var(
11
+ --bm-primitive-dimension-275,
12
+ 2.75rem
13
+ );
14
+ --bm-comp-accordion-size-sm-icon: var(--bm-sem-size-icon-md, 1.25rem);
15
+ --bm-comp-accordion-size-md-height: var(
16
+ --bm-primitive-dimension-325,
17
+ 3.25rem
18
+ );
19
+ --bm-comp-accordion-size-md-icon: var(--bm-sem-size-icon-md, 1.25rem);
20
+ --bm-comp-accordion-size-lg-height: var(--bm-primitive-dimension-400, 4rem);
21
+ --bm-comp-accordion-size-lg-icon: var(--bm-sem-size-icon-lg, 1.5rem);
22
+ --bm-comp-accordion-space-header-gap: var(--bm-sem-space-50, 0.5rem);
23
+ --bm-comp-accordion-space-content-gap: var(--bm-sem-space-100, 1rem);
24
+ --bm-comp-accordion-space-sm-header-y: var(--bm-sem-space-50, 0.5rem);
25
+ --bm-comp-accordion-space-sm-content-bottom: var(--bm-sem-space-125, 1.25rem);
26
+ --bm-comp-accordion-space-md-header-y: var(--bm-sem-space-75, 0.75rem);
27
+ --bm-comp-accordion-space-md-content-bottom: var(--bm-sem-space-125, 1.25rem);
28
+ --bm-comp-accordion-space-lg-header-y: var(--bm-sem-space-100, 1rem);
29
+ --bm-comp-accordion-space-lg-content-bottom: var(--bm-sem-space-200, 2rem);
30
+ --bm-comp-accordion-typo-sm-heading: var(
31
+ --bm-sem-typo-compact-label-md,
32
+ 600 1rem/1.25rem "Source Sans Pro"
33
+ );
34
+ --bm-comp-accordion-typo-sm-body: var(
35
+ --bm-sem-typo-body-md,
36
+ 400 1rem/1.5rem "Source Sans Pro"
37
+ );
38
+ --bm-comp-accordion-typo-md-heading: var(
39
+ --bm-sem-typo-compact-label-lg,
40
+ 600 1.125rem/1.25rem "Source Sans Pro"
41
+ );
42
+ --bm-comp-accordion-typo-md-body: var(
43
+ --bm-sem-typo-body-md,
44
+ 400 1rem/1.5rem "Source Sans Pro"
45
+ );
46
+ --bm-comp-accordion-typo-lg-heading: var(
47
+ --bm-sem-typo-compact-label-xl,
48
+ 600 1.25rem/1.5rem "Source Sans Pro"
49
+ );
50
+ --bm-comp-accordion-typo-lg-body: var(
51
+ --bm-sem-typo-body-lg,
52
+ 400 1.125rem/1.75rem "Source Sans Pro"
53
+ );
54
+ }
55
+
56
+ :host,
57
+ .bm-dark,
58
+ .bm-light .bm-inverse,
59
+ [data-bm-theme~="bm-dark"] {
60
+ --bm-comp-accordion-color-heading: var(--bm-sem-color-text-primary, #ffffff);
61
+ --bm-comp-accordion-color-body: var(--bm-sem-color-text-secondary, #c3cdd5);
62
+ --bm-comp-accordion-color-icon: var(--bm-sem-color-icon-primary, #ffffff);
63
+ --bm-comp-accordion-color-divider: var(--bm-sem-color-border-01, #32424e);
64
+ --bm-comp-accordion-size-sm-height: var(
65
+ --bm-primitive-dimension-275,
66
+ 2.75rem
67
+ );
68
+ --bm-comp-accordion-size-sm-icon: var(--bm-sem-size-icon-md, 1.25rem);
69
+ --bm-comp-accordion-size-md-height: var(
70
+ --bm-primitive-dimension-325,
71
+ 3.25rem
72
+ );
73
+ --bm-comp-accordion-size-md-icon: var(--bm-sem-size-icon-md, 1.25rem);
74
+ --bm-comp-accordion-size-lg-height: var(--bm-primitive-dimension-400, 4rem);
75
+ --bm-comp-accordion-size-lg-icon: var(--bm-sem-size-icon-lg, 1.5rem);
76
+ --bm-comp-accordion-space-header-gap: var(--bm-sem-space-50, 0.5rem);
77
+ --bm-comp-accordion-space-content-gap: var(--bm-sem-space-100, 1rem);
78
+ --bm-comp-accordion-space-sm-header-y: var(--bm-sem-space-50, 0.5rem);
79
+ --bm-comp-accordion-space-sm-content-bottom: var(--bm-sem-space-125, 1.25rem);
80
+ --bm-comp-accordion-space-md-header-y: var(--bm-sem-space-75, 0.75rem);
81
+ --bm-comp-accordion-space-md-content-bottom: var(--bm-sem-space-125, 1.25rem);
82
+ --bm-comp-accordion-space-lg-header-y: var(--bm-sem-space-100, 1rem);
83
+ --bm-comp-accordion-space-lg-content-bottom: var(--bm-sem-space-200, 2rem);
84
+ --bm-comp-accordion-typo-sm-heading: var(
85
+ --bm-sem-typo-compact-label-md,
86
+ 600 1rem/1.25rem "Source Sans Pro"
87
+ );
88
+ --bm-comp-accordion-typo-sm-body: var(
89
+ --bm-sem-typo-body-md,
90
+ 400 1rem/1.5rem "Source Sans Pro"
91
+ );
92
+ --bm-comp-accordion-typo-md-heading: var(
93
+ --bm-sem-typo-compact-label-lg,
94
+ 600 1.125rem/1.25rem "Source Sans Pro"
95
+ );
96
+ --bm-comp-accordion-typo-md-body: var(
97
+ --bm-sem-typo-body-md,
98
+ 400 1rem/1.5rem "Source Sans Pro"
99
+ );
100
+ --bm-comp-accordion-typo-lg-heading: var(
101
+ --bm-sem-typo-compact-label-xl,
102
+ 600 1.25rem/1.5rem "Source Sans Pro"
103
+ );
104
+ --bm-comp-accordion-typo-lg-body: var(
105
+ --bm-sem-typo-body-lg,
106
+ 400 1.125rem/1.75rem "Source Sans Pro"
107
+ );
108
+ }
@@ -0,0 +1,150 @@
1
+ :root,
2
+ :host,
3
+ .bm-light,
4
+ .bm-dark .bm-inverse,
5
+ [data-bm-theme~="bm-light"] {
6
+ --bm-comp-actionlist-color-text: var(--bm-sem-color-text-primary, #141d24);
7
+ --bm-comp-actionlist-color-bg-selected: var(
8
+ --bm-sem-color-surface-selected,
9
+ #e9fcff
10
+ );
11
+ --bm-comp-actionlist-color-text-selected: var(
12
+ --bm-sem-color-text-selected,
13
+ #00768f
14
+ );
15
+ --bm-comp-actionlist-color-text-supporting: var(
16
+ --bm-sem-color-text-secondary,
17
+ #576775
18
+ );
19
+ --bm-comp-actionlist-color-text-suffix: var(
20
+ --bm-sem-color-text-secondary,
21
+ #576775
22
+ );
23
+ --bm-comp-actionlist-color-heading: var(--bm-sem-color-text-primary, #141d24);
24
+ --bm-comp-actionlist-color-group-heading: var(
25
+ --bm-sem-color-text-secondary,
26
+ #576775
27
+ );
28
+ --bm-comp-actionlist-color-icon: var(--bm-sem-color-icon-secondary, #576775);
29
+ --bm-comp-actionlist-color-icon-selected: var(
30
+ --bm-sem-color-icon-selected,
31
+ #00768f
32
+ );
33
+ --bm-comp-actionlist-color-indicator: var(
34
+ --bm-sem-color-icon-selected,
35
+ #00768f
36
+ );
37
+ --bm-comp-actionlist-color-check: var(--bm-sem-color-icon-secondary, #576775);
38
+ --bm-comp-actionlist-color-divider: var(--bm-sem-color-border-01, #dfe7ec);
39
+ --bm-comp-actionlist-radius: var(--bm-sem-radius-md, 0.5rem);
40
+ --bm-comp-actionlist-radius-indicator: var(--bm-sem-radius-xs, 0.125rem);
41
+ --bm-comp-actionlist-size-height: var(--bm-primitive-dimension-250, 2.5rem);
42
+ --bm-comp-actionlist-size-state-offset: var(
43
+ --bm-primitive-dimension-50,
44
+ 0.5rem
45
+ );
46
+ --bm-comp-actionlist-size-icon: var(--bm-sem-size-icon-md, 1.25rem);
47
+ --bm-comp-actionlist-size-choice: var(--bm-sem-size-icon-sm, 1rem);
48
+ --bm-comp-actionlist-size-indicator-width: var(
49
+ --bm-primitive-dimension-12,
50
+ 0.125rem
51
+ );
52
+ --bm-comp-actionlist-space-y: var(--bm-sem-space-50, 0.5rem);
53
+ --bm-comp-actionlist-space-choice-y: var(--bm-sem-space-12, 0.125rem);
54
+ --bm-comp-actionlist-space-gap: var(--bm-sem-space-50, 0.5rem);
55
+ --bm-comp-actionlist-typo-text: var(
56
+ --bm-sem-typo-body-sm,
57
+ 400 0.875rem/1.25rem "Source Sans Pro"
58
+ );
59
+ --bm-comp-actionlist-typo-text-selected: var(
60
+ --bm-sem-typo-label-sm,
61
+ 600 0.875rem/1.25rem "Source Sans Pro"
62
+ );
63
+ --bm-comp-actionlist-typo-text-supporting: var(
64
+ --bm-sem-typo-compact-body-xs,
65
+ 400 0.75rem/1rem "Source Sans Pro"
66
+ );
67
+ --bm-comp-actionlist-typo-text-suffix: var(
68
+ --bm-sem-typo-body-xs,
69
+ 400 0.75rem/1.25rem "Source Sans Pro"
70
+ );
71
+ --bm-comp-actionlist-typo-heading-group: var(
72
+ --bm-sem-typo-label-xs,
73
+ 600 0.75rem/1.25rem "Source Sans Pro"
74
+ );
75
+ }
76
+
77
+ :host,
78
+ .bm-dark,
79
+ .bm-light .bm-inverse,
80
+ [data-bm-theme~="bm-dark"] {
81
+ --bm-comp-actionlist-color-text: var(--bm-sem-color-text-primary, #ffffff);
82
+ --bm-comp-actionlist-color-bg-selected: var(
83
+ --bm-sem-color-surface-selected,
84
+ #00414d
85
+ );
86
+ --bm-comp-actionlist-color-text-selected: var(
87
+ --bm-sem-color-text-selected,
88
+ #43bfd6
89
+ );
90
+ --bm-comp-actionlist-color-text-supporting: var(
91
+ --bm-sem-color-text-secondary,
92
+ #c3cdd5
93
+ );
94
+ --bm-comp-actionlist-color-text-suffix: var(
95
+ --bm-sem-color-text-secondary,
96
+ #c3cdd5
97
+ );
98
+ --bm-comp-actionlist-color-heading: var(--bm-sem-color-text-primary, #ffffff);
99
+ --bm-comp-actionlist-color-group-heading: var(
100
+ --bm-sem-color-text-secondary,
101
+ #c3cdd5
102
+ );
103
+ --bm-comp-actionlist-color-icon: var(--bm-sem-color-icon-secondary, #c3cdd5);
104
+ --bm-comp-actionlist-color-icon-selected: var(
105
+ --bm-sem-color-icon-selected,
106
+ #43bfd6
107
+ );
108
+ --bm-comp-actionlist-color-indicator: var(
109
+ --bm-sem-color-icon-selected,
110
+ #43bfd6
111
+ );
112
+ --bm-comp-actionlist-color-check: var(--bm-sem-color-icon-secondary, #c3cdd5);
113
+ --bm-comp-actionlist-color-divider: var(--bm-sem-color-border-01, #32424e);
114
+ --bm-comp-actionlist-radius: var(--bm-sem-radius-md, 0.5rem);
115
+ --bm-comp-actionlist-radius-indicator: var(--bm-sem-radius-xs, 0.125rem);
116
+ --bm-comp-actionlist-size-height: var(--bm-primitive-dimension-250, 2.5rem);
117
+ --bm-comp-actionlist-size-state-offset: var(
118
+ --bm-primitive-dimension-50,
119
+ 0.5rem
120
+ );
121
+ --bm-comp-actionlist-size-icon: var(--bm-sem-size-icon-md, 1.25rem);
122
+ --bm-comp-actionlist-size-choice: var(--bm-sem-size-icon-sm, 1rem);
123
+ --bm-comp-actionlist-size-indicator-width: var(
124
+ --bm-primitive-dimension-12,
125
+ 0.125rem
126
+ );
127
+ --bm-comp-actionlist-space-y: var(--bm-sem-space-50, 0.5rem);
128
+ --bm-comp-actionlist-space-choice-y: var(--bm-sem-space-12, 0.125rem);
129
+ --bm-comp-actionlist-space-gap: var(--bm-sem-space-50, 0.5rem);
130
+ --bm-comp-actionlist-typo-text: var(
131
+ --bm-sem-typo-body-sm,
132
+ 400 0.875rem/1.25rem "Source Sans Pro"
133
+ );
134
+ --bm-comp-actionlist-typo-text-selected: var(
135
+ --bm-sem-typo-label-sm,
136
+ 600 0.875rem/1.25rem "Source Sans Pro"
137
+ );
138
+ --bm-comp-actionlist-typo-text-supporting: var(
139
+ --bm-sem-typo-compact-body-xs,
140
+ 400 0.75rem/1rem "Source Sans Pro"
141
+ );
142
+ --bm-comp-actionlist-typo-text-suffix: var(
143
+ --bm-sem-typo-body-xs,
144
+ 400 0.75rem/1.25rem "Source Sans Pro"
145
+ );
146
+ --bm-comp-actionlist-typo-heading-group: var(
147
+ --bm-sem-typo-label-xs,
148
+ 600 0.75rem/1.25rem "Source Sans Pro"
149
+ );
150
+ }