@carbon/element-styles 0.3.15 → 0.4.0-rc.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 (79) hide show
  1. package/README.md +21 -0
  2. package/css/prebuilt/editorial.css +1 -1
  3. package/css/prebuilt/expressive.css +1 -1
  4. package/css/prebuilt/productive.css +1 -1
  5. package/package.json +2 -2
  6. package/scss/_config.scss +9 -0
  7. package/scss/elements/_heading/index.scss +7 -4
  8. package/scss/elements/_input/index.scss +50 -47
  9. package/scss/elements/_labelled-input/index.scss +44 -41
  10. package/scss/elements/_layer/index.scss +17 -14
  11. package/scss/elements/abbreviation/index.scss +7 -4
  12. package/scss/elements/address/index.scss +7 -4
  13. package/scss/elements/anchor/index.scss +33 -30
  14. package/scss/elements/block-quotation/index.scss +30 -27
  15. package/scss/elements/body/index.scss +7 -4
  16. package/scss/elements/bold-text/index.scss +5 -2
  17. package/scss/elements/button/index.scss +183 -180
  18. package/scss/elements/checkbox/index.scss +40 -37
  19. package/scss/elements/code/index.scss +9 -6
  20. package/scss/elements/color-input/index.scss +70 -67
  21. package/scss/elements/combo-box/index.scss +35 -32
  22. package/scss/elements/date-input/index.scss +24 -21
  23. package/scss/elements/date-time-input/index.scss +24 -21
  24. package/scss/elements/deleted-text/index.scss +8 -5
  25. package/scss/elements/description-list/index.scss +17 -14
  26. package/scss/elements/details/index.scss +53 -48
  27. package/scss/elements/dialog/index.scss +173 -170
  28. package/scss/elements/email-input/index.scss +16 -13
  29. package/scss/elements/fieldset/index.scss +15 -12
  30. package/scss/elements/file-input/index.scss +53 -50
  31. package/scss/elements/footer/index.scss +9 -6
  32. package/scss/elements/header-navigation/index.scss +101 -98
  33. package/scss/elements/heading-level-1/index.scss +6 -3
  34. package/scss/elements/heading-level-2/index.scss +6 -3
  35. package/scss/elements/heading-level-3/index.scss +6 -3
  36. package/scss/elements/heading-level-4/index.scss +6 -3
  37. package/scss/elements/heading-level-5/index.scss +6 -3
  38. package/scss/elements/heading-level-6/index.scss +6 -3
  39. package/scss/elements/horizontal-rule/index.scss +12 -9
  40. package/scss/elements/image/index.scss +6 -2
  41. package/scss/elements/inline-loading/index.scss +34 -31
  42. package/scss/elements/inline-quotation/index.scss +6 -3
  43. package/scss/elements/inserted-text/index.scss +9 -6
  44. package/scss/elements/italic-text/index.scss +5 -2
  45. package/scss/elements/keyboard-input/index.scss +9 -6
  46. package/scss/elements/label/index.scss +22 -19
  47. package/scss/elements/main/index.scss +7 -4
  48. package/scss/elements/marked-text/index.scss +7 -4
  49. package/scss/elements/menu/index.scss +71 -64
  50. package/scss/elements/meter/index.scss +45 -42
  51. package/scss/elements/number-input/index.scss +16 -12
  52. package/scss/elements/ordered-list/index.scss +25 -22
  53. package/scss/elements/paragraph/index.scss +8 -5
  54. package/scss/elements/password-input/index.scss +17 -13
  55. package/scss/elements/popover/index.scss +75 -72
  56. package/scss/elements/preformatted/index.scss +18 -15
  57. package/scss/elements/progress-bar/index.scss +71 -68
  58. package/scss/elements/radio-button/index.scss +35 -32
  59. package/scss/elements/range-input/index.scss +42 -39
  60. package/scss/elements/search-input/index.scss +21 -18
  61. package/scss/elements/select/index.scss +36 -33
  62. package/scss/elements/side-navigation/index.scss +141 -137
  63. package/scss/elements/small-text/index.scss +7 -4
  64. package/scss/elements/table/index.scss +93 -90
  65. package/scss/elements/tabs/index.scss +155 -152
  66. package/scss/elements/telephone-number-input/index.scss +16 -13
  67. package/scss/elements/text-area/index.scss +21 -18
  68. package/scss/elements/text-input/index.scss +16 -13
  69. package/scss/elements/tile/index.scss +49 -45
  70. package/scss/elements/time-input/index.scss +24 -21
  71. package/scss/elements/toggle/index.scss +71 -68
  72. package/scss/elements/tooltip/index.scss +16 -13
  73. package/scss/elements/tree-view/index.scss +86 -82
  74. package/scss/elements/unordered-list/index.scss +21 -18
  75. package/scss/elements/url-input/index.scss +16 -13
  76. package/scss/prebuilt/editorial/_elements.scss +37 -33
  77. package/scss/prebuilt/expressive/_elements.scss +75 -71
  78. package/scss/prebuilt/productive/_elements.scss +71 -67
  79. package/scss/utilities/_cascade-layer.scss +33 -0
@@ -12,6 +12,7 @@
12
12
  @use "@carbon/styles/scss/utilities/focus-outline";
13
13
 
14
14
  @use "../../layout";
15
+ @use "../../utilities/cascade-layer";
15
16
  @use "../../utilities/guards";
16
17
  @use "../../utilities/active-indicator";
17
18
 
@@ -27,122 +28,124 @@ $-default-config: (
27
28
  @mixin styles($config: $config) {
28
29
  $props: map.deep-merge($-default-config, $config);
29
30
 
30
- #{map.get($props, "selector")} {
31
- position: sticky;
32
- inset-block-start: 0;
33
- z-index: 9999;
34
- inline-size: 100%;
35
- block-size: layout.$size--block-size;
36
- background-color: theme.$layer-background;
37
- border-block-end: 0.0625rem solid theme.$border-subtle;
38
- align-items: center;
39
- display: flex;
40
-
41
- & > nav {
42
- flex-shrink: 0;
31
+ @include cascade-layer.wrap {
32
+ #{map.get($props, "selector")} {
33
+ position: sticky;
34
+ inset-block-start: 0;
35
+ z-index: 9999;
36
+ inline-size: 100%;
37
+ block-size: layout.$size--block-size;
38
+ background-color: theme.$layer-background;
39
+ border-block-end: 0.0625rem solid theme.$border-subtle;
40
+ align-items: center;
43
41
  display: flex;
44
- block-size: 100%;
45
- flex-grow: 1;
46
- }
47
42
 
48
- & > nav ul {
49
- position: relative;
50
- margin: 0;
51
- padding: 0;
52
- list-style: none;
53
- block-size: 100%;
54
- display: flex;
55
- }
43
+ & > nav {
44
+ flex-shrink: 0;
45
+ display: flex;
46
+ block-size: 100%;
47
+ flex-grow: 1;
48
+ }
56
49
 
57
- & > nav ul:first-of-type {
58
- flex-grow: 1;
59
- }
50
+ & > nav ul {
51
+ position: relative;
52
+ margin: 0;
53
+ padding: 0;
54
+ list-style: none;
55
+ block-size: 100%;
56
+ display: flex;
57
+ }
60
58
 
61
- & > nav ul li {
62
- @include layout.mode--body-compact;
63
- padding: 0;
64
- margin: 0;
65
- block-size: 100%;
66
- }
59
+ & > nav ul:first-of-type {
60
+ flex-grow: 1;
61
+ }
67
62
 
68
- & > nav ul li a {
69
- display: flex;
70
- align-items: center;
71
- text-decoration: none;
72
- color: theme.$text-secondary;
73
- block-size: 100%;
74
- padding-inline: layout.$density--padding;
75
- transition-property: color, background-color;
76
- transition-duration: layout.$mode--transition-duration;
77
- transition-timing-function: layout.$mode--transition-timing-function;
78
-
79
- @include guards.hover {
80
- &:hover {
63
+ & > nav ul li {
64
+ @include layout.mode--body-compact;
65
+ padding: 0;
66
+ margin: 0;
67
+ block-size: 100%;
68
+ }
69
+
70
+ & > nav ul li a {
71
+ display: flex;
72
+ align-items: center;
73
+ text-decoration: none;
74
+ color: theme.$text-secondary;
75
+ block-size: 100%;
76
+ padding-inline: layout.$density--padding;
77
+ transition-property: color, background-color;
78
+ transition-duration: layout.$mode--transition-duration;
79
+ transition-timing-function: layout.$mode--transition-timing-function;
80
+
81
+ @include guards.hover {
82
+ &:hover {
83
+ background-color: theme.$layer-hover;
84
+ color: theme.$text-primary;
85
+ }
86
+ }
87
+
88
+ &:active {
81
89
  background-color: theme.$layer-hover;
82
- color: theme.$text-primary;
83
90
  }
84
- }
85
91
 
86
- &:active {
87
- background-color: theme.$layer-hover;
92
+ &:focus {
93
+ @include focus-outline.focus-outline("outline");
94
+ }
88
95
  }
89
96
 
90
- &:focus {
91
- @include focus-outline.focus-outline("outline");
97
+ & > nav ul li a[aria-current="page"] {
98
+ color: theme.$text-primary;
99
+ box-shadow: active-indicator.bottom();
92
100
  }
93
- }
94
-
95
- & > nav ul li a[aria-current="page"] {
96
- color: theme.$text-primary;
97
- box-shadow: active-indicator.bottom();
98
- }
99
-
100
- & > nav ul li a svg {
101
- fill: currentColor;
102
- block-size: 1rem;
103
- inline-size: 1rem;
104
- }
105
101
 
106
- & > nav ul li a:has(svg:only-child) {
107
- padding-inline: unset;
108
- inline-size: layout.$size--block-size;
109
- justify-content: center;
110
- }
102
+ & > nav ul li a svg {
103
+ fill: currentColor;
104
+ block-size: 1rem;
105
+ inline-size: 1rem;
106
+ }
111
107
 
112
- & > nav a {
113
- @include layout.mode--body-compact;
114
- color: theme.$text-primary;
115
- text-decoration: none;
116
- padding-inline: layout.$density--padding;
117
- block-size: 100%;
118
- display: inline-flex;
119
- align-items: center;
120
- column-gap: spacing.$spacing-02;
121
- flex-shrink: 0;
122
- white-space: nowrap;
108
+ & > nav ul li a:has(svg:only-child) {
109
+ padding-inline: unset;
110
+ inline-size: layout.$size--block-size;
111
+ justify-content: center;
112
+ }
123
113
 
124
- &:focus {
125
- @include focus-outline.focus-outline("outline");
114
+ & > nav a {
115
+ @include layout.mode--body-compact;
116
+ color: theme.$text-primary;
117
+ text-decoration: none;
118
+ padding-inline: layout.$density--padding;
119
+ block-size: 100%;
120
+ display: inline-flex;
121
+ align-items: center;
122
+ column-gap: spacing.$spacing-02;
123
+ flex-shrink: 0;
124
+ white-space: nowrap;
125
+
126
+ &:focus {
127
+ @include focus-outline.focus-outline("outline");
128
+ }
126
129
  }
127
- }
128
130
 
129
- & > nav a + ul {
130
- margin-inline-start: layout.$density--padding;
131
- padding-inline-start: layout.$density--padding;
132
- }
131
+ & > nav a + ul {
132
+ margin-inline-start: layout.$density--padding;
133
+ padding-inline-start: layout.$density--padding;
134
+ }
133
135
 
134
- & > nav a + ul::before {
135
- content: "";
136
- display: block;
137
- inline-size: 0.0625rem;
138
- inset-inline-start: -0.0625rem;
139
- position: absolute;
140
- inset-block: spacing.$spacing-04;
141
- background-color: theme.$border-subtle;
142
- }
136
+ & > nav a + ul::before {
137
+ content: "";
138
+ display: block;
139
+ inline-size: 0.0625rem;
140
+ inset-inline-start: -0.0625rem;
141
+ position: absolute;
142
+ inset-block: spacing.$spacing-04;
143
+ background-color: theme.$border-subtle;
144
+ }
143
145
 
144
- & + nav {
145
- inset-block-start: layout.$size--block-size;
146
+ & + nav {
147
+ inset-block-start: layout.$size--block-size;
148
+ }
146
149
  }
147
150
  }
148
151
  }
@@ -10,6 +10,7 @@
10
10
  @use "../_heading";
11
11
 
12
12
  @use "../../layout";
13
+ @use "../../utilities/cascade-layer";
13
14
 
14
15
  $config: () !default;
15
16
 
@@ -23,8 +24,10 @@ $-default-config: (
23
24
  @mixin styles($config: $config) {
24
25
  $props: map.deep-merge($-default-config, $config);
25
26
 
26
- #{map.get($props, "selector")} {
27
- @include heading.styles;
28
- @include layout.mode--heading-level-1;
27
+ @include cascade-layer.wrap {
28
+ #{map.get($props, "selector")} {
29
+ @include heading.styles;
30
+ @include layout.mode--heading-level-1;
31
+ }
29
32
  }
30
33
  }
@@ -10,6 +10,7 @@
10
10
  @use "../_heading";
11
11
 
12
12
  @use "../../layout";
13
+ @use "../../utilities/cascade-layer";
13
14
 
14
15
  $config: () !default;
15
16
 
@@ -23,8 +24,10 @@ $-default-config: (
23
24
  @mixin styles($config: $config) {
24
25
  $props: map.deep-merge($-default-config, $config);
25
26
 
26
- #{map.get($props, "selector")} {
27
- @include heading.styles;
28
- @include layout.mode--heading-level-2;
27
+ @include cascade-layer.wrap {
28
+ #{map.get($props, "selector")} {
29
+ @include heading.styles;
30
+ @include layout.mode--heading-level-2;
31
+ }
29
32
  }
30
33
  }
@@ -10,6 +10,7 @@
10
10
  @use "../_heading";
11
11
 
12
12
  @use "../../layout";
13
+ @use "../../utilities/cascade-layer";
13
14
 
14
15
  $config: () !default;
15
16
 
@@ -23,8 +24,10 @@ $-default-config: (
23
24
  @mixin styles($config: $config) {
24
25
  $props: map.deep-merge($-default-config, $config);
25
26
 
26
- #{map.get($props, "selector")} {
27
- @include heading.styles;
28
- @include layout.mode--heading-level-3;
27
+ @include cascade-layer.wrap {
28
+ #{map.get($props, "selector")} {
29
+ @include heading.styles;
30
+ @include layout.mode--heading-level-3;
31
+ }
29
32
  }
30
33
  }
@@ -10,6 +10,7 @@
10
10
  @use "../_heading";
11
11
 
12
12
  @use "../../layout";
13
+ @use "../../utilities/cascade-layer";
13
14
 
14
15
  $config: () !default;
15
16
 
@@ -23,8 +24,10 @@ $-default-config: (
23
24
  @mixin styles($config: $config) {
24
25
  $props: map.deep-merge($-default-config, $config);
25
26
 
26
- #{map.get($props, "selector")} {
27
- @include heading.styles;
28
- @include layout.mode--heading-level-4;
27
+ @include cascade-layer.wrap {
28
+ #{map.get($props, "selector")} {
29
+ @include heading.styles;
30
+ @include layout.mode--heading-level-4;
31
+ }
29
32
  }
30
33
  }
@@ -10,6 +10,7 @@
10
10
  @use "../_heading";
11
11
 
12
12
  @use "../../layout";
13
+ @use "../../utilities/cascade-layer";
13
14
 
14
15
  $config: () !default;
15
16
 
@@ -23,8 +24,10 @@ $-default-config: (
23
24
  @mixin styles($config: $config) {
24
25
  $props: map.deep-merge($-default-config, $config);
25
26
 
26
- #{map.get($props, "selector")} {
27
- @include heading.styles;
28
- @include layout.mode--heading-level-5;
27
+ @include cascade-layer.wrap {
28
+ #{map.get($props, "selector")} {
29
+ @include heading.styles;
30
+ @include layout.mode--heading-level-5;
31
+ }
29
32
  }
30
33
  }
@@ -10,6 +10,7 @@
10
10
  @use "../_heading";
11
11
 
12
12
  @use "../../layout";
13
+ @use "../../utilities/cascade-layer";
13
14
 
14
15
  $config: () !default;
15
16
 
@@ -23,8 +24,10 @@ $-default-config: (
23
24
  @mixin styles($config: $config) {
24
25
  $props: map.deep-merge($-default-config, $config);
25
26
 
26
- #{map.get($props, "selector")} {
27
- @include heading.styles;
28
- @include layout.mode--heading-level-6;
27
+ @include cascade-layer.wrap {
28
+ #{map.get($props, "selector")} {
29
+ @include heading.styles;
30
+ @include layout.mode--heading-level-6;
31
+ }
29
32
  }
30
33
  }
@@ -10,6 +10,7 @@
10
10
  @use "@carbon/styles/scss/theme";
11
11
 
12
12
  @use "../../layout";
13
+ @use "../../utilities/cascade-layer";
13
14
 
14
15
  $config: () !default;
15
16
 
@@ -25,17 +26,19 @@ $-default-config: (
25
26
  @mixin styles($config: $config) {
26
27
  $props: map.deep-merge($-default-config, $config);
27
28
 
28
- #{map.get($props, "selector")} {
29
- border: none;
30
- block-size: 0.0625rem;
31
- margin-block: layout.$mode--margin-block;
29
+ @include cascade-layer.wrap {
30
+ #{map.get($props, "selector")} {
31
+ border: none;
32
+ block-size: 0.0625rem;
33
+ margin-block: layout.$mode--margin-block;
32
34
 
33
- @if map.get($props, "kind") == "subtle" {
34
- background-color: theme.$border-subtle;
35
- }
35
+ @if map.get($props, "kind") == "subtle" {
36
+ background-color: theme.$border-subtle;
37
+ }
36
38
 
37
- @if map.get($props, "kind") == "strong" {
38
- background-color: theme.$border-strong;
39
+ @if map.get($props, "kind") == "strong" {
40
+ background-color: theme.$border-strong;
41
+ }
39
42
  }
40
43
  }
41
44
  }
@@ -7,6 +7,8 @@
7
7
 
8
8
  @use "sass:map";
9
9
 
10
+ @use "../../utilities/cascade-layer";
11
+
10
12
  $config: () !default;
11
13
 
12
14
  $-default-config: (
@@ -19,7 +21,9 @@ $-default-config: (
19
21
  @mixin styles($config: $config) {
20
22
  $props: map.deep-merge($-default-config, $config);
21
23
 
22
- #{map.get($props, "selector")} {
23
- max-inline-size: 100%;
24
+ @include cascade-layer.wrap {
25
+ #{map.get($props, "selector")} {
26
+ max-inline-size: 100%;
27
+ }
24
28
  }
25
29
  }
@@ -14,6 +14,7 @@
14
14
 
15
15
  @use "../../config";
16
16
  @use "../../layout";
17
+ @use "../../utilities/cascade-layer";
17
18
  @use "../../utilities/guards";
18
19
 
19
20
  $config: () !default;
@@ -31,43 +32,45 @@ $-stroke-width: 0.125rem;
31
32
  @mixin styles($config: $config) {
32
33
  $props: map.deep-merge($-default-config, $config);
33
34
 
34
- #{map.get($props, "selector")} {
35
- display: flex;
36
- align-items: center;
37
- column-gap: spacing.$spacing-03;
35
+ @include cascade-layer.wrap {
36
+ #{map.get($props, "selector")} {
37
+ display: flex;
38
+ align-items: center;
39
+ column-gap: spacing.$spacing-03;
38
40
 
39
- &::before {
40
- content: "";
41
- display: inline-block;
42
- block-size: calc($-size - $-stroke-width * 2);
43
- inline-size: calc($-size - $-stroke-width * 2);
44
- border-radius: 50%;
45
- border: $-stroke-width solid theme.$layer-accent;
46
- border-block-end-color: theme.$border-interactive;
47
- border-inline-end-color: theme.$border-interactive;
48
- animation-name: #{carbon-config.$prefix}--#{config.$prefix}--inline-loading--spinner;
49
- animation-duration: calc(motion.$duration-slow-02 * 3);
50
- animation-timing-function: linear;
51
- animation-iteration-count: infinite;
41
+ &::before {
42
+ content: "";
43
+ display: inline-block;
44
+ block-size: calc($-size - $-stroke-width * 2);
45
+ inline-size: calc($-size - $-stroke-width * 2);
46
+ border-radius: 50%;
47
+ border: $-stroke-width solid theme.$layer-accent;
48
+ border-block-end-color: theme.$border-interactive;
49
+ border-inline-end-color: theme.$border-interactive;
50
+ animation-name: #{carbon-config.$prefix}--#{config.$prefix}--inline-loading--spinner;
51
+ animation-duration: calc(motion.$duration-slow-02 * 3);
52
+ animation-timing-function: linear;
53
+ animation-iteration-count: infinite;
52
54
 
53
- @include guards.motion {
54
- animation-duration: motion.$duration-slow-02;
55
+ @include guards.motion {
56
+ animation-duration: motion.$duration-slow-02;
57
+ }
55
58
  }
56
- }
57
-
58
- &::after {
59
- @include layout.mode--body-compact;
60
- content: "Loading";
61
- color: theme.$text-secondary;
62
- }
63
59
 
64
- @keyframes #{carbon-config.$prefix}--#{config.$prefix}--inline-loading--spinner {
65
- 0% {
66
- rotate: 0;
60
+ &::after {
61
+ @include layout.mode--body-compact;
62
+ content: "Loading";
63
+ color: theme.$text-secondary;
67
64
  }
68
65
 
69
- 100% {
70
- rotate: 360deg;
66
+ @keyframes #{carbon-config.$prefix}--#{config.$prefix}--inline-loading--spinner {
67
+ 0% {
68
+ rotate: 0;
69
+ }
70
+
71
+ 100% {
72
+ rotate: 360deg;
73
+ }
71
74
  }
72
75
  }
73
76
  }
@@ -8,6 +8,7 @@
8
8
  @use "sass:map";
9
9
 
10
10
  @use "../../layout";
11
+ @use "../../utilities/cascade-layer";
11
12
 
12
13
  $config: () !default;
13
14
 
@@ -21,8 +22,10 @@ $-default-config: (
21
22
  @mixin styles($config: $config) {
22
23
  $props: map.deep-merge($-default-config, $config);
23
24
 
24
- #{map.get($props, "selector")} {
25
- quotes: auto;
26
- font-style: italic;
25
+ @include cascade-layer.wrap {
26
+ #{map.get($props, "selector")} {
27
+ quotes: auto;
28
+ font-style: italic;
29
+ }
27
30
  }
28
31
  }
@@ -11,6 +11,7 @@
11
11
  @use "@carbon/styles/scss/components/tag/tokens" as tag-tokens;
12
12
 
13
13
  @use "../../layout";
14
+ @use "../../utilities/cascade-layer";
14
15
 
15
16
  $config: () !default;
16
17
 
@@ -24,11 +25,13 @@ $-default-config: (
24
25
  @mixin styles($config: $config) {
25
26
  $props: map.deep-merge($-default-config, $config);
26
27
 
27
- #{map.get($props, "selector")} {
28
- padding-inline: spacing.$spacing-01;
29
- background-color: tag-tokens.$tag-background-green;
30
- color: tag-tokens.$tag-color-green;
31
- text-decoration: underline;
32
- text-decoration-style: dashed;
28
+ @include cascade-layer.wrap {
29
+ #{map.get($props, "selector")} {
30
+ padding-inline: spacing.$spacing-01;
31
+ background-color: tag-tokens.$tag-background-green;
32
+ color: tag-tokens.$tag-color-green;
33
+ text-decoration: underline;
34
+ text-decoration-style: dashed;
35
+ }
33
36
  }
34
37
  }
@@ -8,6 +8,7 @@
8
8
  @use "sass:map";
9
9
 
10
10
  @use "../../layout";
11
+ @use "../../utilities/cascade-layer";
11
12
 
12
13
  $config: () !default;
13
14
 
@@ -21,7 +22,9 @@ $-default-config: (
21
22
  @mixin styles($config: $config) {
22
23
  $props: map.deep-merge($-default-config, $config);
23
24
 
24
- #{map.get($props, "selector")} {
25
- font-style: italic;
25
+ @include cascade-layer.wrap {
26
+ #{map.get($props, "selector")} {
27
+ font-style: italic;
28
+ }
26
29
  }
27
30
  }
@@ -11,6 +11,7 @@
11
11
  @use "@carbon/styles/scss/spacing";
12
12
 
13
13
  @use "../../layout";
14
+ @use "../../utilities/cascade-layer";
14
15
 
15
16
  $config: () !default;
16
17
 
@@ -24,11 +25,13 @@ $-default-config: (
24
25
  @mixin styles($config: $config) {
25
26
  $props: map.deep-merge($-default-config, $config);
26
27
 
27
- #{map.get($props, "selector")} {
28
- @include layout.mode--code;
29
- background-color: transparent;
30
- outline: 0.0625rem solid theme.$border-subtle;
31
- border-radius: 0.125rem;
32
- padding-inline: spacing.$spacing-02;
28
+ @include cascade-layer.wrap {
29
+ #{map.get($props, "selector")} {
30
+ @include layout.mode--code;
31
+ background-color: transparent;
32
+ outline: 0.0625rem solid theme.$border-subtle;
33
+ border-radius: 0.125rem;
34
+ padding-inline: spacing.$spacing-02;
35
+ }
33
36
  }
34
37
  }
@@ -11,6 +11,7 @@
11
11
  @use "@carbon/styles/scss/spacing";
12
12
 
13
13
  @use "../../layout";
14
+ @use "../../utilities/cascade-layer";
14
15
 
15
16
  $config: () !default;
16
17
 
@@ -26,25 +27,27 @@ $-default-config: (
26
27
  @mixin styles($config: $config) {
27
28
  $props: map.deep-merge($-default-config, $config);
28
29
 
29
- #{map.get($props, "selector")} {
30
- display: grid;
31
- gap: spacing.$spacing-03;
32
- color: theme.$text-secondary;
33
-
34
- &:has([disabled]) {
35
- color: theme.$text-disabled;
36
- }
37
-
38
- @if map.get($props, "axis") == "block" {
39
- @include layout.mode--label;
40
- grid-auto-flow: row;
41
- }
42
-
43
- @if map.get($props, "axis") == "inline" {
44
- @include layout.mode--body-compact;
45
- grid-auto-flow: column;
46
- align-items: center;
47
- inline-size: fit-content;
30
+ @include cascade-layer.wrap {
31
+ #{map.get($props, "selector")} {
32
+ display: grid;
33
+ gap: spacing.$spacing-03;
34
+ color: theme.$text-secondary;
35
+
36
+ &:has([disabled]) {
37
+ color: theme.$text-disabled;
38
+ }
39
+
40
+ @if map.get($props, "axis") == "block" {
41
+ @include layout.mode--label;
42
+ grid-auto-flow: row;
43
+ }
44
+
45
+ @if map.get($props, "axis") == "inline" {
46
+ @include layout.mode--body-compact;
47
+ grid-auto-flow: column;
48
+ align-items: center;
49
+ inline-size: fit-content;
50
+ }
48
51
  }
49
52
  }
50
53
  }