@carbon/element-styles 0.2.0-rc.2

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 (78) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +281 -0
  3. package/package.json +40 -0
  4. package/src/_config.scss +8 -0
  5. package/src/elements/_heading/index.scss +27 -0
  6. package/src/elements/_input/index.scss +92 -0
  7. package/src/elements/_labelled-input/index.scss +143 -0
  8. package/src/elements/_layer/index.scss +78 -0
  9. package/src/elements/abbreviation/index.scss +31 -0
  10. package/src/elements/address/index.scss +31 -0
  11. package/src/elements/anchor/index.scss +50 -0
  12. package/src/elements/block-quotation/index.scss +63 -0
  13. package/src/elements/body/index.scss +30 -0
  14. package/src/elements/bold-text/index.scss +27 -0
  15. package/src/elements/button/index.scss +235 -0
  16. package/src/elements/checkbox/index.scss +76 -0
  17. package/src/elements/code/index.scss +34 -0
  18. package/src/elements/combo-box/index.scss +68 -0
  19. package/src/elements/date-input/index.scss +47 -0
  20. package/src/elements/date-time-input/index.scss +47 -0
  21. package/src/elements/deleted-text/index.scss +33 -0
  22. package/src/elements/description-list/index.scss +42 -0
  23. package/src/elements/details/index.scss +85 -0
  24. package/src/elements/dialog/index.scss +211 -0
  25. package/src/elements/fieldset/index.scss +41 -0
  26. package/src/elements/file-input/index.scss +84 -0
  27. package/src/elements/footer/index.scss +34 -0
  28. package/src/elements/header-navigation/index.scss +125 -0
  29. package/src/elements/heading-level-1/index.scss +30 -0
  30. package/src/elements/heading-level-2/index.scss +30 -0
  31. package/src/elements/heading-level-3/index.scss +30 -0
  32. package/src/elements/heading-level-4/index.scss +30 -0
  33. package/src/elements/heading-level-5/index.scss +30 -0
  34. package/src/elements/heading-level-6/index.scss +30 -0
  35. package/src/elements/horizontal-rule/index.scss +41 -0
  36. package/src/elements/inline-loading/index.scss +70 -0
  37. package/src/elements/inline-quotation/index.scss +28 -0
  38. package/src/elements/inserted-text/index.scss +34 -0
  39. package/src/elements/italic-text/index.scss +27 -0
  40. package/src/elements/keyboard-input/index.scss +34 -0
  41. package/src/elements/label/index.scss +52 -0
  42. package/src/elements/main/index.scss +32 -0
  43. package/src/elements/marked-text/index.scss +33 -0
  44. package/src/elements/menu/index.scss +106 -0
  45. package/src/elements/number-input/index.scss +37 -0
  46. package/src/elements/ordered-list/index.scss +50 -0
  47. package/src/elements/paragraph/index.scss +30 -0
  48. package/src/elements/password-input/index.scss +38 -0
  49. package/src/elements/popover/index.scss +71 -0
  50. package/src/elements/preformatted/index.scss +43 -0
  51. package/src/elements/progress-bar/index.scss +86 -0
  52. package/src/elements/radio-button/index.scss +67 -0
  53. package/src/elements/range-input/index.scss +76 -0
  54. package/src/elements/search-input/index.scss +47 -0
  55. package/src/elements/select/index.scss +71 -0
  56. package/src/elements/side-navigation/index.scss +141 -0
  57. package/src/elements/small-text/index.scss +31 -0
  58. package/src/elements/table/index.scss +131 -0
  59. package/src/elements/tabs/index.scss +214 -0
  60. package/src/elements/text-area/index.scss +43 -0
  61. package/src/elements/text-input/index.scss +40 -0
  62. package/src/elements/tile/index.scss +72 -0
  63. package/src/elements/time-input/index.scss +47 -0
  64. package/src/elements/toggle/index.scss +106 -0
  65. package/src/elements/tooltip/index.scss +44 -0
  66. package/src/elements/tree-view/index.scss +127 -0
  67. package/src/elements/unordered-list/index.scss +46 -0
  68. package/src/index.scss +10 -0
  69. package/src/layout/_density.scss +27 -0
  70. package/src/layout/_mode.scss +349 -0
  71. package/src/layout/_size.scss +54 -0
  72. package/src/layout/index.scss +10 -0
  73. package/src/prebuilt/editorial.scss +94 -0
  74. package/src/prebuilt/expressive.scss +153 -0
  75. package/src/prebuilt/productive.scss +153 -0
  76. package/src/utilities/_carbon.scss +96 -0
  77. package/src/utilities/_icons.scss +111 -0
  78. package/src/utilities/_tokens.scss +35 -0
@@ -0,0 +1,349 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ @use 'sass:map';
9
+
10
+ @use '@carbon/styles/scss/type';
11
+ @use '@carbon/styles/scss/spacing';
12
+ @use '@carbon/styles/scss/motion';
13
+ @use '@carbon/styles/scss/breakpoint';
14
+ @use '@carbon/styles/scss/utilities/custom-property';
15
+
16
+ @use '../utilities/tokens';
17
+
18
+ $-modes: (
19
+ 'productive': (
20
+ constants: (
21
+ max-inline-size: 75ch,
22
+ margin-block: spacing.$spacing-05,
23
+ transition-duration: motion.$duration-fast-02,
24
+ transition-timing-function: motion.motion('standard', 'productive'),
25
+ ),
26
+ type-styles: (
27
+ body: (
28
+ name: 'body-01',
29
+ style: map.merge(type.$body-01, (
30
+ font-family: type.font-family('sans'),
31
+ )),
32
+ ),
33
+ body-compact: (
34
+ name: 'body-compact-01',
35
+ style: map.merge(type.$body-01, (
36
+ font-family: type.font-family('sans'),
37
+ )),
38
+ ),
39
+ heading: (
40
+ name: 'heading-01',
41
+ style: map.merge(type.$heading-01, (
42
+ font-family: type.font-family('sans'),
43
+ )),
44
+ ),
45
+ heading-compact: (
46
+ name: 'heading-compact-01',
47
+ style: map.merge(type.$heading-01, (
48
+ font-family: type.font-family('sans'),
49
+ )),
50
+ ),
51
+ label: (
52
+ name: 'label-01',
53
+ style: map.merge(type.$body-01, (
54
+ font-family: type.font-family('sans'),
55
+ )),
56
+ ),
57
+ helper-text: (
58
+ name: 'helper-text-01',
59
+ style: map.merge(type.$body-01, (
60
+ font-family: type.font-family('sans'),
61
+ )),
62
+ ),
63
+ code: (
64
+ name: 'code-01',
65
+ style: map.merge(type.$code-01, (
66
+ font-family: type.font-family('mono'),
67
+ )),
68
+ ),
69
+ quotation: (
70
+ name: 'quotation',
71
+ style: map.merge(type.$body-02, (
72
+ font-family: type.font-family('sans'),
73
+ )),
74
+ ),
75
+ heading-level-1: (
76
+ name: 'heading-07',
77
+ style: map.merge(type.$heading-07, (
78
+ font-family: type.font-family('sans'),
79
+ )),
80
+ ),
81
+ heading-level-2: (
82
+ name: 'heading-06',
83
+ style: map.merge(type.$heading-06, (
84
+ font-family: type.font-family('sans'),
85
+ )),
86
+ ),
87
+ heading-level-3: (
88
+ name: 'heading-05',
89
+ style: map.merge(type.$heading-05, (
90
+ font-family: type.font-family('sans'),
91
+ )),
92
+ ),
93
+ heading-level-4: (
94
+ name: 'heading-04',
95
+ style: map.merge(type.$heading-04, (
96
+ font-family: type.font-family('sans'),
97
+ )),
98
+ ),
99
+ heading-level-5: (
100
+ name: 'heading-03',
101
+ style: map.merge(type.$heading-03, (
102
+ font-family: type.font-family('sans'),
103
+ )),
104
+ ),
105
+ heading-level-6: (
106
+ name: 'heading-02',
107
+ style: map.merge(type.$heading-02, (
108
+ font-family: type.font-family('sans'),
109
+ )),
110
+ ),
111
+ ),
112
+ ),
113
+ 'expressive': (
114
+ constants: (
115
+ max-inline-size: 60ch,
116
+ margin-block: spacing.$spacing-07,
117
+ transition-duration: motion.$duration-moderate-01,
118
+ transition-timing-function: motion.motion('standard', 'expressive'),
119
+ ),
120
+ type-styles: (
121
+ body: (
122
+ name: 'body-02',
123
+ style: map.merge(type.$body-01, (
124
+ font-family: type.font-family('sans'),
125
+ )),
126
+ ),
127
+ body-compact: (
128
+ name: 'body-compact-02',
129
+ style: map.merge(type.$body-01, (
130
+ font-family: type.font-family('sans'),
131
+ )),
132
+ ),
133
+ heading: (
134
+ name: 'heading-02',
135
+ style: map.merge(type.$heading-01, (
136
+ font-family: type.font-family('sans'),
137
+ )),
138
+ ),
139
+ heading-compact: (
140
+ name: 'heading-compact-02',
141
+ style: map.merge(type.$heading-01, (
142
+ font-family: type.font-family('sans'),
143
+ )),
144
+ ),
145
+ label: (
146
+ name: 'label-02',
147
+ style: map.merge(type.$body-01, (
148
+ font-family: type.font-family('sans'),
149
+ )),
150
+ ),
151
+ helper-text: (
152
+ name: 'helper-text-02',
153
+ style: map.merge(type.$body-01, (
154
+ font-family: type.font-family('sans'),
155
+ )),
156
+ ),
157
+ code: (
158
+ name: 'code-02',
159
+ style: map.merge(type.$code-02, (
160
+ font-family: type.font-family('mono'),
161
+ )),
162
+ ),
163
+ quotation: (
164
+ name: 'quotation',
165
+ style: type.$quotation-01,
166
+ ),
167
+ heading-level-1: (
168
+ name: 'fluid-display-02',
169
+ style: map.merge(type.$fluid-display-02, (
170
+ font-family: type.font-family('sans'),
171
+ )),
172
+ ),
173
+ heading-level-2: (
174
+ name: 'fluid-display-01',
175
+ style: map.merge(type.$fluid-display-01, (
176
+ font-family: type.font-family('sans'),
177
+ )),
178
+ ),
179
+ heading-level-3: (
180
+ name: 'fluid-heading-05',
181
+ style: map.merge(type.$fluid-heading-04, (
182
+ font-family: type.font-family('sans'),
183
+ )),
184
+ ),
185
+ heading-level-4: (
186
+ name: 'fluid-heading-04',
187
+ style: map.merge(type.$fluid-heading-03, (
188
+ font-family: type.font-family('sans'),
189
+ )),
190
+ ),
191
+ heading-level-5: (
192
+ name: 'heading-03',
193
+ style: map.merge(type.$heading-03, (
194
+ font-family: type.font-family('sans'),
195
+ )),
196
+ ),
197
+ heading-level-6: (
198
+ name: 'heading-02',
199
+ style: map.merge(type.$heading-02, (
200
+ font-family: type.font-family('sans'),
201
+ )),
202
+ ),
203
+ ),
204
+ ),
205
+ );
206
+
207
+ $-default-mode: 'productive';
208
+
209
+ $-type-properties: (
210
+ 'font-family',
211
+ 'font-size',
212
+ 'font-weight',
213
+ 'line-height',
214
+ 'letter-spacing',
215
+ );
216
+
217
+ /// Emits every property of a type style definition as css custom properties
218
+ /// @group layout--mode
219
+ /// @param {String} type-style - The type style name that the css custom properties should use (e.g. 'body-compact')
220
+ /// @param {String} name - The Carbon type style name that should be used to generate fallbacks (e.g. 'body-compact-01')
221
+ /// @param {Map} style - All type properties to emit. Must include all of: ('font-family', 'font-size', 'font-weight', 'line-height', 'letter-spacing')
222
+ @mixin -emit-type-properties($type-style, $name, $style) {
223
+ @each $property in $-type-properties {
224
+ $fallback-value: map.get($style, $property);
225
+
226
+ @if $fallback-value {
227
+ @include tokens.set(
228
+ 'mode--#{$type-style}-#{$property}',
229
+ custom-property.get-var(
230
+ '#{$name}-#{$property}',
231
+ $fallback-value,
232
+ ),
233
+ );
234
+ }
235
+ }
236
+ }
237
+
238
+ /// @group layout--mode
239
+ /// @param {'productive' | 'expressive'} mode ['productive']
240
+ @mixin mode($mode: $-default-mode) {
241
+ @each $constant, $value in map.get($-modes, $mode, 'constants') {
242
+ @include tokens.set('mode--#{$constant}', $value);
243
+ }
244
+
245
+ @each $type-style, $mapped-type-style in map.get($-modes, $mode, 'type-styles') {
246
+ $name: map.get($mapped-type-style, 'name');
247
+ $style: map.get($mapped-type-style, 'style');
248
+
249
+ @include -emit-type-properties($type-style, $name, $style);
250
+
251
+ @if map.has-key($style, 'breakpoints') {
252
+ @each $breakpoint, $overrides in map.get($style, 'breakpoints') {
253
+ @include breakpoint.breakpoint-up($breakpoint) {
254
+ @include -emit-type-properties($type-style, $name, $overrides);
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+
261
+ $-default-constants: map.get($-modes, $-default-mode, 'constants');
262
+
263
+ $mode--max-inline-size: tokens.get('mode--max-inline-size', map.get($-default-constants, 'max-inline-size'));
264
+ $mode--margin-block: tokens.get('mode--margin-block', map.get($-default-constants, 'margin-block'));
265
+ $mode--transition-duration: tokens.get('mode--transition-duration', map.get($-default-constants, 'transition-duration'));
266
+ $mode--transition-timing-function: tokens.get('mode--transition-timing-function', map.get($-default-constants, 'transition-timing-function'));
267
+
268
+ /// Defines all type properties for a given type style
269
+ /// @group layout--mode
270
+ /// @param {String} name
271
+ @mixin -type-style($name) {
272
+ $type-style: map.get($-modes, $-default-mode, 'type-styles', $name, 'style');
273
+
274
+ @each $property in $-type-properties {
275
+ $fallback-value: map.get($type-style, $property);
276
+
277
+ #{$property}: tokens.get('mode--#{$name}-#{$property}', $fallback-value);
278
+ }
279
+ }
280
+
281
+ /// @group layout--mode
282
+ @mixin mode--body {
283
+ @include -type-style('body');
284
+ }
285
+
286
+ /// @group layout--mode
287
+ @mixin mode--body-compact {
288
+ @include -type-style('body-compact');
289
+ }
290
+
291
+ /// @group layout--mode
292
+ @mixin mode--heading {
293
+ @include -type-style('heading');
294
+ }
295
+
296
+ /// @group layout--mode
297
+ @mixin mode--heading-compact {
298
+ @include -type-style('heading-compact');
299
+ }
300
+
301
+ /// @group layout--mode
302
+ @mixin mode--label {
303
+ @include -type-style('label');
304
+ }
305
+
306
+ /// @group layout--mode
307
+ @mixin mode--helper-text {
308
+ @include -type-style('helper-text');
309
+ }
310
+
311
+ /// @group layout--mode
312
+ @mixin mode--code {
313
+ @include -type-style('code');
314
+ }
315
+
316
+ /// @group layout--mode
317
+ @mixin mode--quotation {
318
+ @include -type-style('quotation');
319
+ }
320
+
321
+ /// @group layout--mode
322
+ @mixin mode--heading-level-1 {
323
+ @include -type-style('heading-level-1');
324
+ }
325
+
326
+ /// @group layout--mode
327
+ @mixin mode--heading-level-2 {
328
+ @include -type-style('heading-level-2');
329
+ }
330
+
331
+ /// @group layout--mode
332
+ @mixin mode--heading-level-3 {
333
+ @include -type-style('heading-level-3');
334
+ }
335
+
336
+ /// @group layout--mode
337
+ @mixin mode--heading-level-4 {
338
+ @include -type-style('heading-level-4');
339
+ }
340
+
341
+ /// @group layout--mode
342
+ @mixin mode--heading-level-5 {
343
+ @include -type-style('heading-level-5');
344
+ }
345
+
346
+ /// @group layout--mode
347
+ @mixin mode--heading-level-6 {
348
+ @include -type-style('heading-level-6');
349
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ @use 'sass:map';
9
+
10
+ @use '../utilities/tokens';
11
+
12
+ $-sizes: (
13
+ xs: 1.5rem,
14
+ sm: 2rem,
15
+ md: 2.5rem,
16
+ lg: 3rem,
17
+ xl: 4rem,
18
+ );
19
+
20
+ $-default-size: 'md';
21
+
22
+ /// @group layout--size
23
+ /// @param {Length} block-size
24
+ /// @return {Length} The appropriate padding-block-start for an element with the given block-size
25
+ @function -get-padding-block-start($block-size) {
26
+ $centering-threshold: map.get($-sizes, 'lg');
27
+
28
+ @return calc((min($block-size, $centering-threshold) - 1lh) * 0.5);
29
+ }
30
+
31
+ /// @group layout--size
32
+ /// @param {Length} block-size
33
+ /// @return {Length} The appropriate padding-block-end for an element with the given block-size
34
+ @function -get-padding-block-end($block-size) {
35
+ $padding-block-start: -get-padding-block-start($block-size);
36
+
37
+ @return calc($block-size - 1lh - $padding-block-start);
38
+ }
39
+
40
+ /// @group layout--size
41
+ /// @param {'xs' | 'sm' | 'md' | 'lg' | 'xl'} size ['md']
42
+ @mixin size($size: $-default-size) {
43
+ $block-size: map.get($-sizes, $size);
44
+
45
+ @include tokens.set('size--block-size', $block-size);
46
+ @include tokens.set('size--padding-block-start', -get-padding-block-start($block-size));
47
+ @include tokens.set('size--padding-block-end', -get-padding-block-end($block-size));
48
+ }
49
+
50
+ $-default-block-size: map.get($-sizes, $-default-size);
51
+
52
+ $size--block-size: tokens.get('size--block-size', $-default-block-size);
53
+ $size--padding-block-start: tokens.get('size--padding-block-start', -get-padding-block-start($-default-block-size));
54
+ $size--padding-block-end: tokens.get('size--padding-block-end', -get-padding-block-end($-default-block-size));
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ @forward './density';
9
+ @forward './mode';
10
+ @forward './size';
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ @use '@carbon/styles/scss/config' with (
9
+ $use-akamai-cdn: true,
10
+ );
11
+ @use '@carbon/styles/scss/fonts';
12
+
13
+ @use '@carbon/styles/scss/theme';
14
+
15
+ @use '../utilities/carbon';
16
+ @use '../layout';
17
+
18
+ @use '../elements/abbreviation';
19
+ @use '../elements/anchor';
20
+ @use '../elements/block-quotation';
21
+ @use '../elements/body';
22
+ @use '../elements/bold-text';
23
+ @use '../elements/code';
24
+ @use '../elements/deleted-text';
25
+ @use '../elements/description-list';
26
+ @use '../elements/details';
27
+ @use '../elements/heading-level-1';
28
+ @use '../elements/heading-level-2';
29
+ @use '../elements/heading-level-3';
30
+ @use '../elements/heading-level-4';
31
+ @use '../elements/heading-level-5';
32
+ @use '../elements/heading-level-6';
33
+ @use '../elements/horizontal-rule';
34
+ @use '../elements/inline-quotation';
35
+ @use '../elements/inserted-text';
36
+ @use '../elements/italic-text';
37
+ @use '../elements/keyboard-input';
38
+ @use '../elements/main';
39
+ @use '../elements/marked-text';
40
+ @use '../elements/ordered-list';
41
+ @use '../elements/paragraph';
42
+ @use '../elements/preformatted';
43
+ @use '../elements/small-text';
44
+ @use '../elements/table' with ($config: (
45
+ kind: 'structured-list',
46
+ ));
47
+ @use '../elements/unordered-list';
48
+
49
+ :root {
50
+ @include carbon.emit-carbon-colors;
51
+
52
+ @include carbon.emit-carbon-tokens('white');
53
+ color-scheme: light;
54
+
55
+ @media (prefers-color-scheme: dark) {
56
+ @include carbon.emit-carbon-tokens('g100');
57
+ color-scheme: dark;
58
+ }
59
+
60
+ @include layout.density('normal');
61
+ @include layout.mode('expressive');
62
+ @include layout.size('lg');
63
+
64
+ background-color: theme.$background;
65
+ }
66
+
67
+ @include abbreviation.styles;
68
+ @include anchor.styles;
69
+ @include block-quotation.styles;
70
+ @include body.styles;
71
+ @include bold-text.styles;
72
+ @include code.styles;
73
+ @include deleted-text.styles;
74
+ @include description-list.styles;
75
+ @include details.styles;
76
+ @include heading-level-1.styles;
77
+ @include heading-level-2.styles;
78
+ @include heading-level-3.styles;
79
+ @include heading-level-4.styles;
80
+ @include heading-level-5.styles;
81
+ @include heading-level-6.styles;
82
+ @include horizontal-rule.styles;
83
+ @include inline-quotation.styles;
84
+ @include inserted-text.styles;
85
+ @include italic-text.styles;
86
+ @include keyboard-input.styles;
87
+ @include main.styles;
88
+ @include marked-text.styles;
89
+ @include ordered-list.styles;
90
+ @include paragraph.styles;
91
+ @include preformatted.styles;
92
+ @include small-text.styles;
93
+ @include table.styles;
94
+ @include unordered-list.styles;
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ @use '@carbon/styles/scss/config' with (
9
+ $use-akamai-cdn: true,
10
+ );
11
+ @use '@carbon/styles/scss/fonts';
12
+
13
+ @use '@carbon/styles/scss/theme';
14
+
15
+ @use '../utilities/carbon';
16
+ @use '../layout';
17
+
18
+ @use '../elements/abbreviation';
19
+ @use '../elements/address';
20
+ @use '../elements/anchor';
21
+ @use '../elements/block-quotation';
22
+ @use '../elements/body';
23
+ @use '../elements/bold-text';
24
+ @use '../elements/button';
25
+ @use '../elements/checkbox';
26
+ @use '../elements/code';
27
+ @use '../elements/combo-box';
28
+ @use '../elements/date-input';
29
+ @use '../elements/date-time-input';
30
+ @use '../elements/deleted-text';
31
+ @use '../elements/description-list';
32
+ @use '../elements/details';
33
+ @use '../elements/dialog';
34
+ @use '../elements/fieldset';
35
+ @use '../elements/file-input';
36
+ @use '../elements/footer';
37
+ @use '../elements/header-navigation';
38
+ @use '../elements/heading-level-1';
39
+ @use '../elements/heading-level-2';
40
+ @use '../elements/heading-level-3';
41
+ @use '../elements/heading-level-4';
42
+ @use '../elements/heading-level-5';
43
+ @use '../elements/heading-level-6';
44
+ @use '../elements/horizontal-rule';
45
+ @use '../elements/inline-loading';
46
+ @use '../elements/inline-quotation';
47
+ @use '../elements/inserted-text';
48
+ @use '../elements/italic-text';
49
+ @use '../elements/keyboard-input';
50
+ @use '../elements/label';
51
+ @use '../elements/main';
52
+ @use '../elements/marked-text';
53
+ @use '../elements/menu';
54
+ @use '../elements/number-input';
55
+ @use '../elements/ordered-list';
56
+ @use '../elements/paragraph';
57
+ @use '../elements/password-input';
58
+ @use '../elements/popover';
59
+ @use '../elements/preformatted';
60
+ @use '../elements/progress-bar';
61
+ @use '../elements/radio-button';
62
+ @use '../elements/range-input';
63
+ @use '../elements/search-input';
64
+ @use '../elements/select';
65
+ @use '../elements/side-navigation';
66
+ @use '../elements/small-text';
67
+ @use '../elements/table' with ($config: (kind: 'structured-list' ));
68
+ @use '../elements/text-area';
69
+ @use '../elements/text-input';
70
+ @use '../elements/tile';
71
+ @use '../elements/time-input';
72
+ @use '../elements/toggle';
73
+ @use '../elements/tooltip';
74
+ @use '../elements/tree-view';
75
+ @use '../elements/unordered-list';
76
+
77
+ :root {
78
+ @include carbon.emit-carbon-colors;
79
+
80
+ @include carbon.emit-carbon-tokens('white');
81
+ color-scheme: light;
82
+
83
+ @media (prefers-color-scheme: dark) {
84
+ @include carbon.emit-carbon-tokens('g100');
85
+ color-scheme: dark;
86
+ }
87
+
88
+ @include layout.density('normal');
89
+ @include layout.mode('expressive');
90
+ @include layout.size('lg');
91
+
92
+ background-color: theme.$background;
93
+ }
94
+
95
+ @include abbreviation.styles;
96
+ @include address.styles;
97
+ @include anchor.styles;
98
+ @include block-quotation.styles;
99
+ @include body.styles;
100
+ @include bold-text.styles;
101
+ @include button.styles;
102
+ @include button.styles((
103
+ selector: 'button[type="submit"]',
104
+ kind: 'primary',
105
+ ));
106
+ @include checkbox.styles;
107
+ @include code.styles;
108
+ @include combo-box.styles;
109
+ @include date-input.styles;
110
+ @include date-time-input.styles;
111
+ @include deleted-text.styles;
112
+ @include description-list.styles;
113
+ @include details.styles;
114
+ @include dialog.styles;
115
+ @include fieldset.styles;
116
+ @include file-input.styles;
117
+ @include footer.styles;
118
+ @include header-navigation.styles;
119
+ @include heading-level-1.styles;
120
+ @include heading-level-2.styles;
121
+ @include heading-level-3.styles;
122
+ @include heading-level-4.styles;
123
+ @include heading-level-5.styles;
124
+ @include heading-level-6.styles;
125
+ @include horizontal-rule.styles;
126
+ @include inline-loading.styles;
127
+ @include inline-quotation.styles;
128
+ @include inserted-text.styles;
129
+ @include italic-text.styles;
130
+ @include keyboard-input.styles;
131
+ @include label.styles;
132
+ @include main.styles;
133
+ @include marked-text.styles;
134
+ @include number-input.styles;
135
+ @include ordered-list.styles;
136
+ @include paragraph.styles;
137
+ @include password-input.styles;
138
+ @include popover.styles;
139
+ @include preformatted.styles;
140
+ @include radio-button.styles;
141
+ @include range-input.styles;
142
+ @include search-input.styles;
143
+ @include select.styles;
144
+ @include side-navigation.styles;
145
+ @include small-text.styles;
146
+ @include table.styles;
147
+ @include text-area.styles;
148
+ @include text-input.styles;
149
+ @include tile.styles;
150
+ @include time-input.styles;
151
+ @include toggle.styles;
152
+ @include tooltip.styles;
153
+ @include unordered-list.styles;