@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.
- package/LICENSE +201 -0
- package/README.md +281 -0
- package/package.json +40 -0
- package/src/_config.scss +8 -0
- package/src/elements/_heading/index.scss +27 -0
- package/src/elements/_input/index.scss +92 -0
- package/src/elements/_labelled-input/index.scss +143 -0
- package/src/elements/_layer/index.scss +78 -0
- package/src/elements/abbreviation/index.scss +31 -0
- package/src/elements/address/index.scss +31 -0
- package/src/elements/anchor/index.scss +50 -0
- package/src/elements/block-quotation/index.scss +63 -0
- package/src/elements/body/index.scss +30 -0
- package/src/elements/bold-text/index.scss +27 -0
- package/src/elements/button/index.scss +235 -0
- package/src/elements/checkbox/index.scss +76 -0
- package/src/elements/code/index.scss +34 -0
- package/src/elements/combo-box/index.scss +68 -0
- package/src/elements/date-input/index.scss +47 -0
- package/src/elements/date-time-input/index.scss +47 -0
- package/src/elements/deleted-text/index.scss +33 -0
- package/src/elements/description-list/index.scss +42 -0
- package/src/elements/details/index.scss +85 -0
- package/src/elements/dialog/index.scss +211 -0
- package/src/elements/fieldset/index.scss +41 -0
- package/src/elements/file-input/index.scss +84 -0
- package/src/elements/footer/index.scss +34 -0
- package/src/elements/header-navigation/index.scss +125 -0
- package/src/elements/heading-level-1/index.scss +30 -0
- package/src/elements/heading-level-2/index.scss +30 -0
- package/src/elements/heading-level-3/index.scss +30 -0
- package/src/elements/heading-level-4/index.scss +30 -0
- package/src/elements/heading-level-5/index.scss +30 -0
- package/src/elements/heading-level-6/index.scss +30 -0
- package/src/elements/horizontal-rule/index.scss +41 -0
- package/src/elements/inline-loading/index.scss +70 -0
- package/src/elements/inline-quotation/index.scss +28 -0
- package/src/elements/inserted-text/index.scss +34 -0
- package/src/elements/italic-text/index.scss +27 -0
- package/src/elements/keyboard-input/index.scss +34 -0
- package/src/elements/label/index.scss +52 -0
- package/src/elements/main/index.scss +32 -0
- package/src/elements/marked-text/index.scss +33 -0
- package/src/elements/menu/index.scss +106 -0
- package/src/elements/number-input/index.scss +37 -0
- package/src/elements/ordered-list/index.scss +50 -0
- package/src/elements/paragraph/index.scss +30 -0
- package/src/elements/password-input/index.scss +38 -0
- package/src/elements/popover/index.scss +71 -0
- package/src/elements/preformatted/index.scss +43 -0
- package/src/elements/progress-bar/index.scss +86 -0
- package/src/elements/radio-button/index.scss +67 -0
- package/src/elements/range-input/index.scss +76 -0
- package/src/elements/search-input/index.scss +47 -0
- package/src/elements/select/index.scss +71 -0
- package/src/elements/side-navigation/index.scss +141 -0
- package/src/elements/small-text/index.scss +31 -0
- package/src/elements/table/index.scss +131 -0
- package/src/elements/tabs/index.scss +214 -0
- package/src/elements/text-area/index.scss +43 -0
- package/src/elements/text-input/index.scss +40 -0
- package/src/elements/tile/index.scss +72 -0
- package/src/elements/time-input/index.scss +47 -0
- package/src/elements/toggle/index.scss +106 -0
- package/src/elements/tooltip/index.scss +44 -0
- package/src/elements/tree-view/index.scss +127 -0
- package/src/elements/unordered-list/index.scss +46 -0
- package/src/index.scss +10 -0
- package/src/layout/_density.scss +27 -0
- package/src/layout/_mode.scss +349 -0
- package/src/layout/_size.scss +54 -0
- package/src/layout/index.scss +10 -0
- package/src/prebuilt/editorial.scss +94 -0
- package/src/prebuilt/expressive.scss +153 -0
- package/src/prebuilt/productive.scss +153 -0
- package/src/utilities/_carbon.scss +96 -0
- package/src/utilities/_icons.scss +111 -0
- package/src/utilities/_tokens.scss +35 -0
|
@@ -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';
|
|
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('g10');
|
|
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('productive');
|
|
90
|
+
@include layout.size('md');
|
|
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;
|
|
@@ -0,0 +1,96 @@
|
|
|
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:meta';
|
|
9
|
+
@use 'sass:map';
|
|
10
|
+
|
|
11
|
+
@use '@carbon/styles/scss/colors';
|
|
12
|
+
@use '@carbon/styles/scss/theme';
|
|
13
|
+
@use '@carbon/styles/scss/themes' as carbon-themes;
|
|
14
|
+
@use '@carbon/styles/scss/type';
|
|
15
|
+
@use '@carbon/styles/scss/grid';
|
|
16
|
+
@use '@carbon/styles/scss/breakpoint';
|
|
17
|
+
@use '@carbon/styles/scss/components/button/tokens' as carbon-button;
|
|
18
|
+
@use '@carbon/styles/scss/components/tag/tokens' as carbon-tag;
|
|
19
|
+
@use '@carbon/styles/scss/components/content-switcher/tokens' as carbon-content-switcher;
|
|
20
|
+
@use '@carbon/styles/scss/utilities/custom-property';
|
|
21
|
+
@use '@carbon/styles/scss/layer/layer-tokens';
|
|
22
|
+
|
|
23
|
+
$-themes: (
|
|
24
|
+
'white': carbon-themes.$white,
|
|
25
|
+
'g10': carbon-themes.$g10,
|
|
26
|
+
'g90': carbon-themes.$g90,
|
|
27
|
+
'g100': carbon-themes.$g100,
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
$-component-token-groups: (
|
|
31
|
+
carbon-button.$button-tokens,
|
|
32
|
+
carbon-tag.$tag-tokens,
|
|
33
|
+
carbon-content-switcher.$content-switcher-tokens,
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
/// Emits all style and necessary component tokens for a given Carbon theme as css custom properties
|
|
37
|
+
/// @group layout--mode
|
|
38
|
+
/// @param {'white' | 'g10' | 'g90' | 'g100'} theme-name ['white']
|
|
39
|
+
@mixin emit-carbon-tokens($theme-name: 'white') {
|
|
40
|
+
$theme: map.get($-themes, $theme-name);
|
|
41
|
+
|
|
42
|
+
@if $theme {
|
|
43
|
+
$tokens: $theme;
|
|
44
|
+
|
|
45
|
+
// derived from https://github.com/carbon-design-system/carbon/blob/a60a4d3071663b240c3122d8bc2c3558c788346f/packages/styles/scss/_zone.scss#L79-L99
|
|
46
|
+
@each $group in $-component-token-groups {
|
|
47
|
+
@each $key, $value in $group {
|
|
48
|
+
@if meta.type-of($value) == map {
|
|
49
|
+
$theme-values: map.get($value, values);
|
|
50
|
+
|
|
51
|
+
@each $theme-value in $theme-values {
|
|
52
|
+
$value: map.get($theme-value, value);
|
|
53
|
+
|
|
54
|
+
@if theme.matches(map.get($theme-value, theme), $theme) and meta.type-of($value) == color {
|
|
55
|
+
$tokens: map.set($tokens, $key, $value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
} @else if meta.type-of($value) == color {
|
|
59
|
+
$tokens: map.set($tokens, $key, $value);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@include theme.theme($tokens);
|
|
65
|
+
} @else {
|
|
66
|
+
@error '#{$theme-name} not found';
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@include layer-tokens.emit-layer-tokens(1);
|
|
70
|
+
|
|
71
|
+
@each $breakpoint in map.keys(grid.$grid-breakpoints) {
|
|
72
|
+
@include breakpoint.breakpoint-up($breakpoint) {
|
|
73
|
+
@each $type-name, $type-styles in type.$tokens {
|
|
74
|
+
@if map.has-key($type-styles, 'breakpoints') {
|
|
75
|
+
$type-properties: map.get($type-styles, 'breakpoints', $breakpoint);
|
|
76
|
+
|
|
77
|
+
@if $type-properties != null {
|
|
78
|
+
@each $property, $value in $type-properties {
|
|
79
|
+
@include custom-property.declaration('#{$type-name}-#{$property}', $value);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/// Emits all colors in the IDL color palette as css custom properties
|
|
89
|
+
/// @group layout--mode
|
|
90
|
+
@mixin emit-carbon-colors() {
|
|
91
|
+
@each $palette, $values in colors.$colors {
|
|
92
|
+
@each $shade, $value in $values {
|
|
93
|
+
@include custom-property.declaration('#{$palette}-#{$shade}', $value);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
// This file is generated by running "npm run build:icons".
|
|
9
|
+
// Do not manually edit this file as changes will be lost.
|
|
10
|
+
|
|
11
|
+
/// @group icons
|
|
12
|
+
/// @param {Length} size [1rem]
|
|
13
|
+
@mixin -icon($size: 1rem) {
|
|
14
|
+
@if ($size != null) {
|
|
15
|
+
block-size: $size;
|
|
16
|
+
inline-size: $size;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
background-color: currentColor;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/// @group icons
|
|
23
|
+
/// @param {Length} size [1rem]
|
|
24
|
+
@mixin arrow--right($args...) {
|
|
25
|
+
@include -icon($args...);
|
|
26
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M18 6 16.57 7.393 24.15 15 4 15 4 17 24.15 17 16.57 24.573 18 26 28 16 18 6z'/></svg>");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/// @group icons
|
|
30
|
+
/// @param {Length} size [1rem]
|
|
31
|
+
@mixin calendar($args...) {
|
|
32
|
+
@include -icon($args...);
|
|
33
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M26,4h-4V2h-2v2h-8V2h-2v2H6C4.9,4,4,4.9,4,6v20c0,1.1,0.9,2,2,2h20c1.1,0,2-0.9,2-2V6C28,4.9,27.1,4,26,4z M26,26H6V12h20 V26z M26,10H6V6h4v2h2V6h8v2h2V6h4V10z'/></svg>");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/// @group icons
|
|
37
|
+
/// @param {Length} size [1rem]
|
|
38
|
+
@mixin caret--down($args...) {
|
|
39
|
+
@include -icon($args...);
|
|
40
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M24 12 16 22 8 12z'/></svg>");
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// @group icons
|
|
44
|
+
/// @param {Length} size [1rem]
|
|
45
|
+
@mixin checkbox--checked--filled($args...) {
|
|
46
|
+
@include -icon($args...);
|
|
47
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M26,4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2V6A2,2,0,0,0,26,4ZM14,21.5,9,16.5427,10.5908,15,14,18.3456,21.4087,11l1.5918,1.5772Z'/><path fill='none' d='M14,21.5,9,16.5427,10.5908,15,14,18.3456,21.4087,11l1.5918,1.5772Z' data-icon-path='inner-path'/></svg>");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/// @group icons
|
|
51
|
+
/// @param {Length} size [1rem]
|
|
52
|
+
@mixin checkbox--indeterminate--filled($args...) {
|
|
53
|
+
@include -icon($args...);
|
|
54
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M26,4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2V6A2,2,0,0,0,26,4ZM22,18H10V14H22Z'/><path fill='none' d='M22,18H10V14H22Z' data-icon-path='inner-path'/></svg>");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/// @group icons
|
|
58
|
+
/// @param {Length} size [1rem]
|
|
59
|
+
@mixin checkbox($args...) {
|
|
60
|
+
@include -icon($args...);
|
|
61
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M26,4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2V6A2,2,0,0,0,26,4ZM6,26V6H26V26Z'/></svg>");
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/// @group icons
|
|
65
|
+
/// @param {Length} size [1rem]
|
|
66
|
+
@mixin checkmark($args...) {
|
|
67
|
+
@include -icon($args...);
|
|
68
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M13 24 4 15 5.414 13.586 13 21.171 26.586 7.586 28 9 13 24z'/></svg>");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/// @group icons
|
|
72
|
+
/// @param {Length} size [1rem]
|
|
73
|
+
@mixin chevron--down($args...) {
|
|
74
|
+
@include -icon($args...);
|
|
75
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16 22 6 12 7.4 10.6 16 19.2 24.6 10.6 26 12z'/></svg>");
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/// @group icons
|
|
79
|
+
/// @param {Length} size [1rem]
|
|
80
|
+
@mixin close($args...) {
|
|
81
|
+
@include -icon($args...);
|
|
82
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M17.4141 16 24 9.4141 22.5859 8 16 14.5859 9.4143 8 8 9.4141 14.5859 16 8 22.5859 9.4143 24 16 17.4141 22.5859 24 24 22.5859 17.4141 16z'/></svg>");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/// @group icons
|
|
86
|
+
/// @param {Length} size [1rem]
|
|
87
|
+
@mixin event--schedule($args...) {
|
|
88
|
+
@include -icon($args...);
|
|
89
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M21,30a8,8,0,1,1,8-8A8,8,0,0,1,21,30Zm0-14a6,6,0,1,0,6,6A6,6,0,0,0,21,16Z'/><path d='M22.59 25 20 22.41 20 18 22 18 22 21.59 24 23.59 22.59 25z'/><path d='M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z'/></svg>");
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/// @group icons
|
|
93
|
+
/// @param {Length} size [1rem]
|
|
94
|
+
@mixin search($args...) {
|
|
95
|
+
@include -icon($args...);
|
|
96
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M29,27.5859l-7.5521-7.5521a11.0177,11.0177,0,1,0-1.4141,1.4141L27.5859,29ZM4,13a9,9,0,1,1,9,9A9.01,9.01,0,0,1,4,13Z'/></svg>");
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/// @group icons
|
|
100
|
+
/// @param {Length} size [1rem]
|
|
101
|
+
@mixin time($args...) {
|
|
102
|
+
@include -icon($args...);
|
|
103
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16,30A14,14,0,1,1,30,16,14,14,0,0,1,16,30ZM16,4A12,12,0,1,0,28,16,12,12,0,0,0,16,4Z'/><path d='M20.59 22 15 16.41 15 7 17 7 17 15.58 22 20.59 20.59 22z'/></svg>");
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/// @group icons
|
|
107
|
+
/// @param {Length} size [1rem]
|
|
108
|
+
@mixin warning--filled($args...) {
|
|
109
|
+
@include -icon($args...);
|
|
110
|
+
mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path d='M16,2C8.3,2,2,8.3,2,16s6.3,14,14,14s14-6.3,14-14C30,8.3,23.7,2,16,2z M14.9,8h2.2v11h-2.2V8z M16,25 c-0.8,0-1.5-0.7-1.5-1.5S15.2,22,16,22c0.8,0,1.5,0.7,1.5,1.5S16.8,25,16,25z'/><path fill='none' d='M17.5,23.5c0,0.8-0.7,1.5-1.5,1.5c-0.8,0-1.5-0.7-1.5-1.5S15.2,22,16,22 C16.8,22,17.5,22.7,17.5,23.5z M17.1,8h-2.2v11h2.2V8z' data-icon-path='inner-path' opacity='0'/></svg>");
|
|
111
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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/utilities/custom-property';
|
|
9
|
+
|
|
10
|
+
@use '../config';
|
|
11
|
+
|
|
12
|
+
/// Sets a css custom property
|
|
13
|
+
/// @group tokens
|
|
14
|
+
/// @param {String} name
|
|
15
|
+
/// @param {String} value
|
|
16
|
+
@mixin set($name, $value) {
|
|
17
|
+
@include custom-property.declaration('#{config.$prefix}--#{$name}', $value);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/// Gets a css custom property value
|
|
21
|
+
/// @group tokens
|
|
22
|
+
/// @param {String} name
|
|
23
|
+
/// @param {Bool} fallback [false] - Optionally provide a fallback value if the css custom property isn't set.
|
|
24
|
+
/// @return {String} - The css custom property accessor (`var(--…)`)
|
|
25
|
+
@function get($name, $fallback: false) {
|
|
26
|
+
@return custom-property.get-var('#{config.$prefix}--#{$name}', $fallback);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/// Gets a css custom property name
|
|
30
|
+
/// @group tokens
|
|
31
|
+
/// @param {String} name
|
|
32
|
+
/// @return {String} - The css custom property name (`--…`)
|
|
33
|
+
@function get-name($name) {
|
|
34
|
+
@return custom-property.get-name('#{config.$prefix}--#{$name}');
|
|
35
|
+
}
|