@carbon/ibm-products 2.28.1 → 2.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. package/css/index-full-carbon.css +1804 -233
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +40 -8
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +1804 -233
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +1785 -243
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/APIKeyModal/APIKeyModal.d.ts +2 -1
  18. package/es/components/APIKeyModal/APIKeyModal.js +13 -9
  19. package/es/components/APIKeyModal/APIKeyModal.types.d.ts +206 -0
  20. package/es/components/AboutModal/AboutModal.d.ts +73 -2
  21. package/es/components/AboutModal/AboutModal.js +16 -12
  22. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -0
  23. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.d.ts +1 -2
  24. package/es/components/Datagrid/useInitialColumnSort.d.ts +1 -0
  25. package/es/components/Datagrid/useInitialColumnSort.js +42 -0
  26. package/es/components/Datagrid/useSortableColumns.d.ts +4 -0
  27. package/es/components/Datagrid/useSortableColumns.js +16 -16
  28. package/es/components/Decorator/Decorator.d.ts +5 -0
  29. package/es/components/Decorator/Decorator.js +348 -0
  30. package/es/components/Decorator/DecoratorIcon.d.ts +5 -0
  31. package/es/components/Decorator/DecoratorIcon.js +95 -0
  32. package/es/components/Decorator/index.d.ts +1 -0
  33. package/es/components/Decorator/utils.d.ts +8 -0
  34. package/es/components/Decorator/utils.js +43 -0
  35. package/es/components/DescriptionList/DescriptionList.d.ts +42 -0
  36. package/es/components/DescriptionList/DescriptionList.js +88 -0
  37. package/es/components/DescriptionList/constants.d.ts +6 -0
  38. package/es/components/DescriptionList/constants.js +16 -0
  39. package/es/components/DescriptionList/index.d.ts +1 -0
  40. package/es/components/EmptyStates/EmptyStateContent.d.ts +1 -287
  41. package/es/components/HTTPErrors/HTTPErrorContent.d.ts +1 -293
  42. package/es/components/StatusIndicator/StatusIndicator.d.ts +5 -0
  43. package/es/components/StatusIndicator/StatusIndicator.js +100 -0
  44. package/es/components/StatusIndicator/StatusIndicatorStep.d.ts +5 -0
  45. package/es/components/StatusIndicator/index.d.ts +2 -0
  46. package/es/components/index.d.ts +3 -0
  47. package/es/global/js/package-settings.d.ts +4 -0
  48. package/es/global/js/package-settings.js +4 -0
  49. package/es/index.js +3 -0
  50. package/es/settings.d.ts +4 -0
  51. package/lib/components/APIKeyModal/APIKeyModal.d.ts +2 -1
  52. package/lib/components/APIKeyModal/APIKeyModal.js +13 -9
  53. package/lib/components/APIKeyModal/APIKeyModal.types.d.ts +206 -0
  54. package/lib/components/AboutModal/AboutModal.d.ts +73 -2
  55. package/lib/components/AboutModal/AboutModal.js +16 -12
  56. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -0
  57. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.d.ts +1 -2
  58. package/lib/components/Datagrid/useInitialColumnSort.d.ts +1 -0
  59. package/lib/components/Datagrid/useInitialColumnSort.js +46 -0
  60. package/lib/components/Datagrid/useSortableColumns.d.ts +4 -0
  61. package/lib/components/Datagrid/useSortableColumns.js +16 -15
  62. package/lib/components/Decorator/Decorator.d.ts +5 -0
  63. package/lib/components/Decorator/Decorator.js +355 -0
  64. package/lib/components/Decorator/DecoratorIcon.d.ts +5 -0
  65. package/lib/components/Decorator/DecoratorIcon.js +102 -0
  66. package/lib/components/Decorator/index.d.ts +1 -0
  67. package/lib/components/Decorator/utils.d.ts +8 -0
  68. package/lib/components/Decorator/utils.js +48 -0
  69. package/lib/components/DescriptionList/DescriptionList.d.ts +42 -0
  70. package/lib/components/DescriptionList/DescriptionList.js +95 -0
  71. package/lib/components/DescriptionList/constants.d.ts +6 -0
  72. package/lib/components/DescriptionList/constants.js +20 -0
  73. package/lib/components/DescriptionList/index.d.ts +1 -0
  74. package/lib/components/EmptyStates/EmptyStateContent.d.ts +1 -287
  75. package/lib/components/HTTPErrors/HTTPErrorContent.d.ts +1 -293
  76. package/lib/components/StatusIndicator/StatusIndicator.d.ts +5 -0
  77. package/lib/components/StatusIndicator/StatusIndicator.js +107 -0
  78. package/lib/components/StatusIndicator/StatusIndicatorStep.d.ts +5 -0
  79. package/lib/components/StatusIndicator/index.d.ts +2 -0
  80. package/lib/components/index.d.ts +3 -0
  81. package/lib/global/js/package-settings.d.ts +4 -0
  82. package/lib/global/js/package-settings.js +4 -0
  83. package/lib/index.js +15 -0
  84. package/lib/settings.d.ts +4 -0
  85. package/package.json +4 -4
  86. package/scss/components/Decorator/_carbon-imports.scss +9 -0
  87. package/scss/components/Decorator/_decorator.scss +400 -0
  88. package/scss/components/Decorator/_index-with-carbon.scss +9 -0
  89. package/scss/components/Decorator/_index.scss +8 -0
  90. package/scss/components/DescriptionList/_carbon-imports.scss +9 -0
  91. package/scss/components/DescriptionList/_description-list.scss +103 -0
  92. package/scss/components/DescriptionList/_index-with-carbon.scss +9 -0
  93. package/scss/components/DescriptionList/_index.scss +8 -0
  94. package/scss/components/SidePanel/_side-panel.scss +6 -1
  95. package/scss/components/StatusIndicator/_carbon-imports.scss +12 -0
  96. package/scss/components/StatusIndicator/_index-with-carbon.scss +9 -0
  97. package/scss/components/StatusIndicator/_index.scss +8 -0
  98. package/scss/components/StatusIndicator/_status-indicator.scss +93 -0
  99. package/scss/components/Tearsheet/_tearsheet.scss +41 -15
  100. package/scss/components/_index-with-carbon.scss +3 -0
  101. package/scss/components/_index.scss +3 -0
@@ -0,0 +1,400 @@
1
+ /* stylelint-disable carbon/theme-token-use */
2
+ /* stylelint-disable carbon/type-token-use */
3
+ /* stylelint-disable carbon/layout-token-use */
4
+ /* stylelint-disable function-no-unknown */
5
+
6
+ //
7
+ // Copyright IBM Corp. 2024, 2024
8
+ //
9
+ // This source code is licensed under the Apache-2.0 license found in the
10
+ // LICENSE file in the root directory of this source tree.
11
+ //
12
+
13
+ // Standard imports.
14
+ @use '../../global/styles/project-settings' as c4p-settings;
15
+ @use '../../global/styles/mixins';
16
+
17
+ // Decorator uses the following Carbon for IBM Products components:
18
+ @use '@carbon/layout/scss/convert' as *;
19
+ @use '@carbon/react/scss/colors' as *;
20
+ @use '@carbon/styles/scss/colors' as *;
21
+ @use '@carbon/styles/scss/spacing' as *;
22
+ @use '@carbon/styles/scss/theme' as *;
23
+ @use '@carbon/styles/scss/themes';
24
+ @use '@carbon/styles/scss/type';
25
+
26
+ // The block part of our conventional BEM class names (blockClass__E--M).
27
+ $block-class: #{c4p-settings.$pkg-prefix}--decorator;
28
+ //
29
+ $default: #{$block-class}--default;
30
+ $link: #{$block-class}--link;
31
+ $button: '#{$block-class}--button:not(.#{$block-class}-disabled)';
32
+ $button-disabled: '#{$block-class}--button.#{$block-class}-disabled';
33
+ $buttons: '#{$block-class}--buttons:not(.#{$block-class}-disabled)';
34
+ $buttons-disabled: '#{$block-class}--buttons.#{$block-class}-disabled';
35
+ //
36
+ //
37
+ $icon: #{$block-class}-icon;
38
+ $label: #{$block-class}__label;
39
+ $value: #{$block-class}__value;
40
+
41
+ // Use value-divider() by default for the component's dividing line.
42
+ @mixin value-divider($top: 0, $bottom: 0, $left: 0, $color: $border-subtle-02) {
43
+ &::after {
44
+ position: absolute;
45
+ top: #{$top};
46
+ bottom: #{$bottom};
47
+ left: #{$left};
48
+ border-left: 1px solid #{$color};
49
+ content: '';
50
+ }
51
+ }
52
+ // Use label-divider() only when hovering/focusing the label.
53
+ @mixin label-divider(
54
+ // Nudge the line over so it occupies the same space as the value divider.
55
+ $top: -1px,
56
+ $right: -1px,
57
+ $bottom: -1px,
58
+ $color: $border-strong
59
+ ) {
60
+ &::after {
61
+ position: absolute;
62
+ z-index: 1;
63
+ top: #{$top};
64
+ right: #{$right};
65
+ bottom: #{$bottom};
66
+ border-right: 1px solid #{$color};
67
+ content: '';
68
+ }
69
+ }
70
+
71
+ .#{$block-class}--light {
72
+ @include theme(themes.$g10, true);
73
+ }
74
+ .#{$block-class}--dark {
75
+ @include theme(themes.$g100, true);
76
+ }
77
+
78
+ // BASE STYLING FOR ALL DECORATORS
79
+ .#{$block-class} {
80
+ display: inline-flex;
81
+ max-width: 100%;
82
+ align-items: normal;
83
+ border-radius: $spacing-12;
84
+ }
85
+ .#{$block-class} .#{$label} {
86
+ @include type.type-style('label-01');
87
+
88
+ position: relative;
89
+ display: inline-flex;
90
+ height: $spacing-06;
91
+ align-items: normal;
92
+ padding: 0 $spacing-03;
93
+ border-width: to-rem(1px) 0 to-rem(1px) to-rem(1px);
94
+ border-style: solid;
95
+ border-color: $border-subtle-02;
96
+ border-radius: $spacing-12 0 0 $spacing-12;
97
+ background-color: $layer-01;
98
+ color: $text-secondary;
99
+ line-height: 1.8;
100
+ }
101
+ .#{$block-class} .#{$value} {
102
+ @include type.type-style('label-01');
103
+
104
+ position: relative;
105
+ display: inline-flex;
106
+ overflow: hidden;
107
+ height: $spacing-06;
108
+ align-items: normal;
109
+ padding: 0 $spacing-03;
110
+ border-width: to-rem(1px) to-rem(1px) to-rem(1px) 0;
111
+ border-style: solid;
112
+ border-color: $border-subtle-02;
113
+ border-radius: 0 $spacing-12 $spacing-12 0;
114
+ background-color: $layer-01;
115
+ color: $text-primary;
116
+ line-height: 1.8;
117
+ }
118
+ .#{$block-class} .#{$icon} {
119
+ margin-top: to-rem(3px);
120
+ margin-right: $spacing-02;
121
+ }
122
+
123
+ //
124
+ // STYLING FOR DEFAULT (NON-INTERACTIVE)
125
+ //
126
+ .#{$default} .#{$value} {
127
+ @include value-divider();
128
+ }
129
+
130
+ //
131
+ // STYLING FOR LINK
132
+ //
133
+ .#{$link} {
134
+ cursor: pointer;
135
+ text-decoration: none;
136
+ }
137
+ .#{$link} .#{$label} {
138
+ background-color: $layer-02;
139
+ }
140
+ .#{$link} .#{$value} {
141
+ @include value-divider();
142
+
143
+ background-color: $layer-02;
144
+ color: $link-primary;
145
+ }
146
+ .#{$link}:hover .#{$value} {
147
+ color: $link-primary-hover;
148
+ text-decoration: underline;
149
+ }
150
+ .#{$link}:focus {
151
+ text-decoration: none;
152
+ }
153
+ .#{$link}:focus .#{$value} {
154
+ @include value-divider($color: $focus);
155
+
156
+ border-color: $focus;
157
+ }
158
+ .#{$link}:active .#{$value} {
159
+ color: $text-primary;
160
+ }
161
+
162
+ //
163
+ // STYLING FOR SINGLE BUTTON
164
+ //
165
+ .#{$button} {
166
+ display: flex;
167
+ padding: 0;
168
+ border: 0;
169
+ cursor: pointer;
170
+ }
171
+ .#{$button} .#{$label} {
172
+ background-color: $layer-02;
173
+ }
174
+ .#{$button} .#{$value} {
175
+ @include value-divider();
176
+
177
+ background-color: $layer-02;
178
+ }
179
+ .#{$button}:hover .#{$label} {
180
+ border-color: $border-strong;
181
+ background-color: $layer-hover-02;
182
+ }
183
+ .#{$button}:hover .#{$value} {
184
+ @include value-divider($color: $border-strong);
185
+
186
+ border-color: $border-strong;
187
+ background-color: $layer-hover-02;
188
+ }
189
+ .#{$button}:focus {
190
+ // Disable browser's default "focus" style.
191
+ outline: none;
192
+ }
193
+ .#{$button}:focus .#{$label} {
194
+ border-color: $focus;
195
+ background-color: $layer-02;
196
+ }
197
+ .#{$button}:focus .#{$value} {
198
+ @include value-divider();
199
+
200
+ border-color: $focus;
201
+ background-color: $layer-02;
202
+ }
203
+ .#{$button}:active .#{$label} {
204
+ background-color: $layer-selected-02;
205
+ }
206
+ .#{$button}:active .#{$value} {
207
+ @include value-divider();
208
+
209
+ background-color: $layer-selected-02;
210
+ }
211
+ .#{$button-disabled} {
212
+ padding: 0;
213
+ border: 0;
214
+ cursor: not-allowed;
215
+ }
216
+ .#{$button-disabled} .#{$label} {
217
+ background-color: $layer-02;
218
+ color: $icon-on-color-disabled;
219
+ }
220
+ .#{$button-disabled} .#{$value} {
221
+ @include value-divider();
222
+
223
+ background-color: $layer-02;
224
+ color: $icon-on-color-disabled;
225
+ }
226
+
227
+ //
228
+ // STYLING FOR DUAL BUTTONS
229
+ //
230
+ .#{$buttons} .#{$label} {
231
+ background-color: $layer-02;
232
+ cursor: pointer;
233
+ }
234
+ .#{$buttons}:not(:hover) .#{$value} {
235
+ @include value-divider();
236
+ }
237
+ .#{$buttons} .#{$value} {
238
+ background-color: $layer-02;
239
+ cursor: pointer;
240
+ }
241
+ .#{$buttons} .#{$label}:hover {
242
+ @include label-divider($color: $border-strong);
243
+
244
+ border-color: $border-strong;
245
+ background-color: $layer-hover-02;
246
+ }
247
+ .#{$buttons} .#{$value}:hover {
248
+ @include value-divider($color: $border-strong);
249
+
250
+ border-color: $border-strong;
251
+ background-color: $layer-hover-02;
252
+ }
253
+ .#{$buttons} .#{$label}:focus {
254
+ @include label-divider($color: $focus);
255
+
256
+ border-color: $focus;
257
+ // Disable browser's default "focus" style.
258
+ outline: none;
259
+ }
260
+ .#{$buttons} .#{$value}:focus {
261
+ @include value-divider($color: $focus);
262
+
263
+ border-color: $focus;
264
+ // Disable browser's default "focus" style.
265
+ outline: none;
266
+ }
267
+ .#{$buttons} .#{$label}:active {
268
+ background-color: $layer-hover-02;
269
+ }
270
+ .#{$buttons} .#{$value}:active {
271
+ background-color: $layer-hover-02;
272
+ }
273
+ .#{$buttons-disabled} .#{$label} {
274
+ background-color: $layer-02;
275
+ color: $icon-on-color-disabled;
276
+ }
277
+ .#{$buttons-disabled} .#{$value} {
278
+ @include value-divider();
279
+
280
+ background-color: $layer-02;
281
+ color: $icon-on-color-disabled;
282
+ }
283
+
284
+ //
285
+ // MODIFIER, SMALL
286
+ //
287
+ .#{$block-class}--sm .#{$label} {
288
+ height: to-rem(18px);
289
+ padding: 0 $spacing-02 0 $spacing-03;
290
+ line-height: 1.333;
291
+ }
292
+ .#{$block-class}--sm .#{$value} {
293
+ height: to-rem(18px);
294
+ // When "small", the divider takes up 1px of 4px of the available space: so "+1px".
295
+ padding: 0 $spacing-03 0 calc($spacing-02 + 1px);
296
+ line-height: 1.333;
297
+ }
298
+
299
+ //
300
+ // MODIFIER, TRUNCATION
301
+ //
302
+ .#{$block-class}--truncate-end .#{$value} {
303
+ display: inline;
304
+ overflow: hidden;
305
+ text-overflow: ellipsis;
306
+ white-space: nowrap;
307
+ }
308
+ .#{$block-class}--truncate-start .#{$value} {
309
+ display: inline;
310
+ overflow: hidden;
311
+ direction: rtl;
312
+ text-overflow: ellipsis;
313
+ white-space: nowrap;
314
+ }
315
+
316
+ //
317
+ // MAGNITUDE ICON COLORS AND SIZES
318
+ //
319
+ .#{$icon}__magnitude-unknown {
320
+ fill: $icon-secondary;
321
+ }
322
+ .#{$icon}__magnitude-benign {
323
+ fill: $teal-60;
324
+ }
325
+ .#{$icon}__magnitude-low {
326
+ fill: $support-warning;
327
+ }
328
+ .#{$icon}__magnitude-medium {
329
+ fill: $orange-40;
330
+ }
331
+ .#{$icon}__magnitude-high {
332
+ fill: $support-error;
333
+ }
334
+ .#{$icon}__magnitude-critical {
335
+ fill: $support-error;
336
+ }
337
+ .#{$block-class}-disabled svg {
338
+ fill: $icon-on-color-disabled;
339
+ }
340
+
341
+ // MODIFIER, SMALL ICON
342
+ .#{$block-class} .#{$icon}--sm {
343
+ width: $spacing-04;
344
+ height: $spacing-04;
345
+ margin-top: to-rem(2.5px);
346
+ }
347
+
348
+ // DUAL BUTTONS ICON ENHANCED ACCESSIBILITY
349
+ // Add a border to the icon on hover & active to increase contrast.
350
+ .#{$block-class}--light {
351
+ &.#{$buttons} .#{$label}:hover .#{$icon}__magnitude-low,
352
+ &.#{$buttons} .#{$label}:active .#{$icon}__magnitude-low {
353
+ stroke: $yellow-60;
354
+ stroke-width: 1px;
355
+ }
356
+ // The "diamond-fill/medium" icon has an inner and outer path.
357
+ // Fill the outer path to simulate a 1px border.
358
+ &.#{$buttons} .#{$label}:hover .#{$icon}__magnitude-medium path:first-child,
359
+ &.#{$buttons} .#{$label}:active .#{$icon}__magnitude-medium path:first-child {
360
+ fill: $orange-60;
361
+ }
362
+ }
363
+ .#{$block-class}--dark {
364
+ // The "caution/high" icon has an inner and outer path.
365
+ // Fill the outer path to simulate a 1px border.
366
+ &.#{$buttons} .#{$label}:hover .#{$icon}__magnitude-high path:first-child,
367
+ &.#{$buttons} .#{$label}:active .#{$icon}__magnitude-high path:first-child {
368
+ fill: $red-40;
369
+ }
370
+ &.#{$buttons} .#{$label}:hover .#{$icon}__magnitude-critical,
371
+ &.#{$buttons} .#{$label}:active .#{$icon}__magnitude-critical {
372
+ stroke: $red-40;
373
+ stroke-width: to-rem(0.5px);
374
+ }
375
+ }
376
+
377
+ // SINGLE BUTTON ICON ENHANCED ACCESSIBILITY
378
+ // Add a border to the icon on hover & active to increase contrast.
379
+ .#{$block-class}--light {
380
+ &.#{$button}:hover .#{$icon}__magnitude-low,
381
+ &.#{$button}:active .#{$icon}__magnitude-low {
382
+ stroke: $yellow-60;
383
+ stroke-width: 1px;
384
+ }
385
+ &.#{$button}:hover .#{$icon}__magnitude-medium path:first-child,
386
+ &.#{$button}:active .#{$icon}__magnitude-medium path:first-child {
387
+ fill: $orange-60;
388
+ }
389
+ }
390
+ .#{$block-class}--dark {
391
+ &.#{$button}:hover .#{$icon}__magnitude-high path:first-child,
392
+ &.#{$button}:active .#{$icon}__magnitude-high path:first-child {
393
+ fill: $red-40;
394
+ }
395
+ &.#{$button}:hover .#{$icon}__magnitude-critical,
396
+ &.#{$button}:active .#{$icon}__magnitude-critical {
397
+ stroke: $red-40;
398
+ stroke-width: to-rem(0.5px);
399
+ }
400
+ }
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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-imports';
9
+ @use './decorator';
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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 './decorator';
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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
+ // Import any Carbon component styles used from DescriptionList in this file.
9
+ // DescriptionList uses the following Carbon components:
@@ -0,0 +1,103 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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
+ // Standard imports.
9
+ @use '../../global/styles/project-settings' as c4p-settings;
10
+ @use '../../global/styles/mixins';
11
+ @use '@carbon/styles/scss/spacing' as *;
12
+ @use '@carbon/react/scss/type' as *;
13
+ @use '@carbon/react/scss/theme' as *;
14
+
15
+ // The block part of our conventional BEM class names (blockClass__E--M).
16
+ $block-class: #{c4p-settings.$pkg-prefix}--description-list;
17
+ $carbon-block-class: #{c4p-settings.$carbon-prefix}--structured-list;
18
+
19
+ .#{$block-class} .#{$carbon-block-class} {
20
+ margin-bottom: $spacing-07;
21
+ }
22
+
23
+ // ROW /////////////////////////
24
+ .#{$block-class} .#{$block-class}__body .#{$block-class}__row {
25
+ border-block-end-width: 0;
26
+ border-block-start-width: 0;
27
+ }
28
+
29
+ .#{$block-class}
30
+ .#{$carbon-block-class}
31
+ .#{$block-class}__body
32
+ .#{$block-class}__row:first-child {
33
+ border-block-start-width: 0;
34
+ }
35
+ .#{$block-class}
36
+ .#{$carbon-block-class}
37
+ .#{$block-class}__body
38
+ .#{$block-class}__row:last-child {
39
+ border-block-end-width: 0;
40
+ }
41
+
42
+ .#{$block-class}--bordered .#{$block-class}__body .#{$block-class}__row {
43
+ border-block-start-width: 1px;
44
+ }
45
+
46
+ // CELL /////////////////////////
47
+ .#{$block-class} .#{$block-class}__body .#{$block-class}__cell {
48
+ @include type-style('body-01');
49
+
50
+ padding: $spacing-03 $spacing-06 $spacing-03 $spacing-03;
51
+ }
52
+
53
+ .#{$block-class} .#{$block-class}__body .#{$block-class}__cell:first-of-type {
54
+ width: 1%;
55
+ padding-left: 0;
56
+ white-space: nowrap;
57
+ }
58
+
59
+ .#{$block-class} .#{$block-class}__body .#{$block-class}__cell:last-of-type {
60
+ padding-right: 0;
61
+ color: $text-primary;
62
+ }
63
+
64
+ .#{$block-class}
65
+ .#{$block-class}__body
66
+ .#{$block-class}__row:first-of-type
67
+ > .#{$block-class}__cell {
68
+ padding-top: 0;
69
+ }
70
+
71
+ .#{$block-class}
72
+ .#{$block-class}__body
73
+ .#{$block-class}__row:last-of-type
74
+ > .#{$block-class}__cell {
75
+ padding-bottom: 0;
76
+ }
77
+
78
+ .#{$block-class} .#{$block-class}__body .#{$block-class}__cell ul {
79
+ list-style: none;
80
+ }
81
+
82
+ .#{$block-class} .#{$block-class}__body .#{$block-class}__cell ul > li {
83
+ margin-bottom: $spacing-03;
84
+ }
85
+
86
+ // LG SIZE /////////////////////////
87
+ .#{$block-class}--lg .#{$block-class}__body .#{$block-class}__cell {
88
+ padding: $spacing-05 $spacing-06 $spacing-05 $spacing-05;
89
+ }
90
+
91
+ // SM SIZE /////////////////////////
92
+ .#{$block-class}--sm .#{$block-class}__body .#{$block-class}__cell {
93
+ padding: $spacing-02 $spacing-06 $spacing-02 $spacing-02;
94
+ }
95
+
96
+ // XS SIZE /////////////////////////
97
+ .#{$block-class}--xs .#{$block-class}__body .#{$block-class}__cell {
98
+ padding: $spacing-02;
99
+ }
100
+
101
+ .#{$block-class} .#{$carbon-block-class}-row--focused-within {
102
+ outline: none;
103
+ }
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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-imports';
9
+ @use './description-list';
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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 './description-list';
@@ -356,11 +356,16 @@ $action-set-block-class: #{c4p-settings.$pkg-prefix}--action-set;
356
356
  }
357
357
 
358
358
  .#{$block-class}__slug-and-close {
359
- position: absolute;
359
+ position: fixed;
360
360
  z-index: 10; /* must be higher than title container border bottom */
361
361
  top: 0;
362
362
  right: 0;
363
363
  display: flex;
364
+
365
+ /* stylelint-disable-next-line max-nesting-depth */
366
+ @media (prefers-reduced-motion) {
367
+ position: absolute;
368
+ }
364
369
  }
365
370
 
366
371
  .#{$block-class}__actions-container {
@@ -0,0 +1,12 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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
+ // Import any Carbon component styles used from StatusIndicator in this file.
9
+ // StatusIndicator uses the following Carbon components:
10
+ // InlineLoading, Button
11
+ @use '@carbon/react/scss/components/inline-loading';
12
+ @use '@carbon/react/scss/components/button';
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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-imports';
9
+ @use './status-indicator';
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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 './status-indicator';
@@ -0,0 +1,93 @@
1
+ //
2
+ // Copyright IBM Corp. 2024, 2024
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
+ /* stylelint-disable carbon/layout-token-use */
9
+ /* stylelint-disable function-no-unknown */
10
+
11
+ // Standard imports.
12
+ @use '../../global/styles/project-settings' as c4p-settings;
13
+ @use '../../global/styles/mixins';
14
+
15
+ // Other Carbon settings if needed
16
+ @use '@carbon/layout/scss/convert' as *;
17
+ @use '@carbon/styles/scss/type' as *;
18
+ @use '@carbon/styles/scss/spacing' as *;
19
+ @use '@carbon/styles/scss/theme' as *;
20
+ @use '@carbon/styles/scss/themes';
21
+ @use '@carbon/styles/scss/type';
22
+
23
+ // The block part of our conventional BEM class names (blockClass__E--M).
24
+ $block-class: #{c4p-settings.$pkg-prefix}--status-indicator;
25
+ $block-class-step: #{c4p-settings.$pkg-prefix}--status-indicator-step;
26
+
27
+ // Default styling
28
+ .#{$block-class}__title {
29
+ @include type-style('heading-02');
30
+
31
+ margin-bottom: $spacing-02;
32
+ }
33
+ .#{$block-class-step}__details {
34
+ display: flex;
35
+ min-height: $spacing-07;
36
+ align-items: center;
37
+ }
38
+ .#{$block-class-step}__icon {
39
+ position: relative;
40
+ display: flex;
41
+ width: $spacing-06;
42
+ }
43
+ .#{$block-class-step}__text {
44
+ @include type-style('body-compact-01');
45
+
46
+ color: $text-primary;
47
+ }
48
+ .#{$block-class} .#{$block-class}__button {
49
+ align-items: center;
50
+ margin-top: $spacing-01;
51
+ margin-left: $spacing-03;
52
+ }
53
+ .#{$block-class} .#{$block-class}__button:not([disabled]) svg {
54
+ margin-left: $spacing-03;
55
+ fill: currentColor;
56
+ }
57
+
58
+ // Text
59
+ .#{$block-class-step}--inactive .#{$block-class-step}__text {
60
+ color: $text-secondary;
61
+ }
62
+ .#{$block-class-step}--inactive svg {
63
+ fill: $icon-primary;
64
+ }
65
+
66
+ // Icons
67
+ //
68
+ // Override <InlineLoading's> large margins.
69
+ .#{$block-class-step}--active .#{$block-class-step}__icon {
70
+ margin-right: 0;
71
+ }
72
+ .#{$block-class-step}--active
73
+ .#{c4p-settings.$carbon-prefix}--inline-loading__animation {
74
+ margin-right: to-rem(7px);
75
+ }
76
+ // /Override
77
+ //
78
+ .#{$block-class-step}--error svg {
79
+ fill: $support-error;
80
+ }
81
+ .#{$block-class-step}--finished svg {
82
+ fill: $support-success;
83
+ }
84
+
85
+ // Error message
86
+ .#{$block-class-step}__error-message {
87
+ @include type-style('label-01');
88
+
89
+ margin-top: to-rem(-2px);
90
+ margin-bottom: to-rem(6px);
91
+ margin-left: $spacing-06;
92
+ color: $text-error;
93
+ }