@carbon/styles 1.92.0-rc.0 → 1.93.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/styles",
3
3
  "description": "Styles for the Carbon Design System",
4
- "version": "1.92.0-rc.0",
4
+ "version": "1.93.0-rc.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -40,20 +40,20 @@
40
40
  }
41
41
  },
42
42
  "dependencies": {
43
- "@carbon/colors": "^11.42.0-rc.0",
43
+ "@carbon/colors": "^11.42.0",
44
44
  "@carbon/feature-flags": "^0.31.0",
45
- "@carbon/grid": "^11.45.0-rc.0",
46
- "@carbon/layout": "^11.43.0-rc.0",
47
- "@carbon/motion": "^11.37.0-rc.0",
48
- "@carbon/themes": "^11.62.0-rc.0",
49
- "@carbon/type": "^11.49.0-rc.0",
45
+ "@carbon/grid": "^11.45.0",
46
+ "@carbon/layout": "^11.43.0",
47
+ "@carbon/motion": "^11.37.0",
48
+ "@carbon/themes": "^11.62.0",
49
+ "@carbon/type": "^11.49.0",
50
50
  "@ibm/plex": "6.0.0-next.6",
51
51
  "@ibm/plex-mono": "1.1.0",
52
52
  "@ibm/plex-sans": "1.1.0",
53
53
  "@ibm/plex-sans-arabic": "1.1.0",
54
54
  "@ibm/plex-sans-devanagari": "1.1.0",
55
55
  "@ibm/plex-sans-hebrew": "1.1.0",
56
- "@ibm/plex-sans-thai": "0.0.3-alpha.0",
56
+ "@ibm/plex-sans-thai": "1.1.0",
57
57
  "@ibm/plex-sans-thai-looped": "1.1.0",
58
58
  "@ibm/plex-serif": "1.1.0",
59
59
  "@ibm/telemetry-js": "^1.5.0"
@@ -75,5 +75,5 @@
75
75
  "scss/**/*.css",
76
76
  "css/**/*.css"
77
77
  ],
78
- "gitHead": "0d9497f77c917c567c8be19157e3da42d7a02c04"
78
+ "gitHead": "dff507858b43de91b300a98fa1bec24d38aaeb48"
79
79
  }
@@ -178,7 +178,7 @@ $copy-btn-feedback: $background-inverse !default;
178
178
  .#{$prefix}--snippet--single pre {
179
179
  @include type-style('code-01');
180
180
 
181
- padding-inline-end: $spacing-03;
181
+ padding-inline-end: $spacing-07;
182
182
  }
183
183
 
184
184
  // Preserve whitespace, but don't allow wrapping for inline and single
@@ -223,9 +223,10 @@ $copy-btn-feedback: $background-inverse !default;
223
223
  word-wrap: break-word;
224
224
  }
225
225
 
226
- // collapsed pre
227
226
  .#{$prefix}--snippet--multi .#{$prefix}--snippet-container pre {
228
- padding-inline-end: $spacing-08;
227
+ overflow: auto;
228
+ padding-block-end: $spacing-06;
229
+ padding-inline-end: $spacing-06;
229
230
  }
230
231
 
231
232
  .#{$prefix}--snippet--multi.#{$prefix}--snippet--no-copy
@@ -234,16 +235,6 @@ $copy-btn-feedback: $background-inverse !default;
234
235
  padding-inline-end: 0;
235
236
  }
236
237
 
237
- .#{$prefix}--snippet--multi.#{$prefix}--snippet--has-right-overflow::after {
238
- position: absolute;
239
- background-image: linear-gradient(to right, transparent, $layer);
240
- block-size: 100%;
241
- content: '';
242
- inline-size: convert.to-rem(16px);
243
- inset-block-start: 0;
244
- inset-inline-end: $spacing-05;
245
- }
246
-
247
238
  [dir='rtl']
248
239
  .#{$prefix}--snippet--multi.#{$prefix}--snippet--has-right-overflow::after {
249
240
  background-image: linear-gradient(to left, transparent, $layer);
@@ -401,12 +392,6 @@ $copy-btn-feedback: $background-inverse !default;
401
392
  background-color: $layer-active;
402
393
  }
403
394
 
404
- .#{$prefix}--snippet--light.#{$prefix}--snippet--single::after,
405
- .#{$prefix}--snippet--light.#{$prefix}--snippet--multi::after {
406
- // Safari interprets `transparent` differently, so make color token value transparent instead:
407
- background-image: linear-gradient(to right, rgba($layer, 0), $layer);
408
- }
409
-
410
395
  // Skeleton State
411
396
  .#{$prefix}--snippet.#{$prefix}--skeleton .#{$prefix}--snippet-container {
412
397
  block-size: 100%;
@@ -441,82 +426,60 @@ $copy-btn-feedback: $background-inverse !default;
441
426
  inset-inline: 50% auto;
442
427
  }
443
428
 
444
- // Overflow Indicator
445
- .#{$prefix}--snippet__overflow-indicator--left,
446
- .#{$prefix}--snippet__overflow-indicator--right {
447
- z-index: 1;
448
- flex: 1 0 auto;
449
- inline-size: $spacing-05;
450
- }
451
-
452
- .#{$prefix}--snippet__overflow-indicator--left {
453
- order: 0;
454
- background-image: linear-gradient(to left, transparent, $layer);
455
- margin-inline-end: -$spacing-05;
456
- }
457
-
458
- .#{$prefix}--snippet__overflow-indicator--right {
459
- order: 2;
460
- background-image: linear-gradient(to right, transparent, $layer);
461
- margin-inline-start: -$spacing-05;
462
- }
463
-
464
- [dir='rtl'] .#{$prefix}--snippet__overflow-indicator--left {
465
- background-image: linear-gradient(to right, transparent, $layer);
466
- }
467
-
468
- [dir='rtl'] .#{$prefix}--snippet__overflow-indicator--right {
469
- background-image: linear-gradient(to left, transparent, $layer);
470
- }
471
-
472
- .#{$prefix}--snippet--single .#{$prefix}--snippet__overflow-indicator--right,
473
- .#{$prefix}--snippet--single .#{$prefix}--snippet__overflow-indicator--left {
474
- position: absolute;
475
- block-size: calc(100% - #{$spacing-02});
476
- inline-size: $spacing-07;
477
- }
478
-
479
- .#{$prefix}--snippet--single .#{$prefix}--snippet__overflow-indicator--right {
480
- inset-inline-end: $spacing-08;
481
- }
482
-
483
- .#{$prefix}--snippet--single.#{$prefix}--snippet--no-copy
484
- .#{$prefix}--snippet__overflow-indicator--right {
485
- inset-inline-end: 0;
486
- }
487
-
488
- .#{$prefix}--snippet--single
489
- .#{$prefix}--snippet-container:focus
490
- ~ .#{$prefix}--snippet__overflow-indicator--right {
491
- inset-inline-end: calc(#{$spacing-08} + #{convert.to-rem(2px)});
492
- }
493
-
494
- .#{$prefix}--snippet--single
495
- .#{$prefix}--snippet-container:focus
496
- + .#{$prefix}--snippet__overflow-indicator--left {
497
- inset-inline-start: convert.to-rem(2px);
498
- }
499
-
500
- .#{$prefix}--snippet--light .#{$prefix}--snippet__overflow-indicator--left {
501
- background-image: linear-gradient(to left, transparent, $layer);
429
+ // Using mask-image for single line snippet
430
+ .#{$prefix}--snippet--single .#{$prefix}--snippet-container {
431
+ mask-image: linear-gradient(
432
+ to right,
433
+ #000000 calc(100% - #{$spacing-07}),
434
+ transparent 100%
435
+ );
436
+ pointer-events: auto;
502
437
  }
503
438
 
504
- .#{$prefix}--snippet--light .#{$prefix}--snippet__overflow-indicator--right {
505
- background-image: linear-gradient(to right, transparent, $layer);
439
+ .#{$prefix}--snippet--multi {
440
+ position: relative;
506
441
  }
507
442
 
508
- // Safari-only media query
509
- // since fades won't appear correctly with CSS custom properties
510
- // see: tabs, code snippet, and modal overflow indicators
511
- @supports (hanging-punctuation: first) and (font: -apple-system-body) and
512
- (-webkit-appearance: none) {
513
- .#{$prefix}--snippet__overflow-indicator--left {
514
- background-image: linear-gradient(to left, rgba($layer, 0), $layer);
515
- }
516
-
517
- .#{$prefix}--snippet__overflow-indicator--right {
518
- background-image: linear-gradient(to right, rgba($layer, 0), $layer);
519
- }
443
+ .#{$prefix}--snippet--multi .#{$prefix}--snippet-container {
444
+ inline-size: 100%;
445
+ mask-composite: intersect;
446
+ mask-image: linear-gradient(
447
+ to right,
448
+ #000000 calc(100% - #{$spacing-07}),
449
+ transparent 100%
450
+ ),
451
+ linear-gradient(
452
+ to bottom,
453
+ #000000 calc(100% - #{$spacing-05}),
454
+ transparent 100%
455
+ );
456
+ pointer-events: auto;
457
+ }
458
+
459
+ [dir='rtl'] .#{$prefix}--snippet--single .#{$prefix}--snippet-container {
460
+ mask-image: linear-gradient(
461
+ to left,
462
+ #000000 calc(100% - #{$spacing-07}),
463
+ transparent 100%
464
+ );
465
+ }
466
+
467
+ [dir='rtl'] .#{$prefix}--snippet--multi .#{$prefix}--snippet-container {
468
+ mask-image: linear-gradient(
469
+ to left,
470
+ #000000 calc(100% - #{$spacing-07}),
471
+ transparent 100%
472
+ ),
473
+ linear-gradient(
474
+ to bottom,
475
+ #000000 calc(100% - #{$spacing-05}),
476
+ transparent 100%
477
+ );
478
+ }
479
+
480
+ .#{$prefix}--snippet--single:focus-within .#{$prefix}--snippet-container,
481
+ .#{$prefix}--snippet--multi:focus-within .#{$prefix}--snippet-container {
482
+ mask-image: none;
520
483
  }
521
484
 
522
485
  .#{$prefix}--snippet--multi.#{$prefix}--skeleton {
@@ -36,11 +36,14 @@
36
36
  justify-content: space-between;
37
37
  background-color: $layer;
38
38
  border-block-start: 1px solid $border-subtle;
39
+ container-name: pagination;
40
+ container-type: inline-size;
39
41
  inline-size: calc(100% - 1px);
40
42
  min-block-size: convert.to-rem(40px);
41
43
  overflow-x: auto;
42
44
 
43
- @include breakpoint('md') {
45
+ // 42rem = 'md' breakpoint
46
+ @container pagination (min-width: 42rem) {
44
47
  overflow: initial;
45
48
 
46
49
  .#{$prefix}--pagination__control-buttons {
@@ -49,7 +52,7 @@
49
52
  }
50
53
 
51
54
  // mobile friendly pagination
52
- @include breakpoint-down('md') {
55
+ @container pagination (max-width: 42rem) {
53
56
  .#{$prefix}--pagination__left > *,
54
57
  .#{$prefix}--pagination__right > * {
55
58
  display: none;
@@ -92,6 +95,13 @@
92
95
  line-height: convert.to-rem(40px);
93
96
 
94
97
  min-inline-size: auto;
98
+
99
+ // Firefox-specific fix for three-digit numbers
100
+ // stylelint-disable-next-line at-rule-no-vendor-prefix
101
+ @-moz-document url-prefix() {
102
+ padding-inline-end: $spacing-05;
103
+ text-overflow: clip;
104
+ }
95
105
  }
96
106
 
97
107
  // Extra specificity is needed to preserve padding
@@ -184,13 +194,14 @@
184
194
  .#{$prefix}--pagination__left {
185
195
  padding: 0 $spacing-05 0 0;
186
196
 
187
- @include breakpoint('md') {
197
+ // 42rem = 'md' breakpoint width
198
+ @container pagination (min-width: 42rem) {
188
199
  padding: 0 $spacing-05;
189
200
  }
190
201
  }
191
202
 
192
203
  .#{$prefix}--pagination__text {
193
- @include breakpoint('md') {
204
+ @container pagination (min-width: 42rem) {
194
205
  display: inline-block;
195
206
  }
196
207
  }
@@ -30,12 +30,15 @@
30
30
  background-color: $layer;
31
31
  border-block-end: 1px solid transparent;
32
32
  border-block-start: 1px solid $border-subtle;
33
+ container-name: pagination;
34
+ container-type: inline-size;
33
35
  inline-size: 100%;
34
36
  min-block-size: convert.to-rem(40px);
35
37
  }
36
38
 
37
39
  .#{$prefix}--unstable-pagination__text {
38
- @include breakpoint('md') {
40
+ // 42rem = 'md' breakpoint width
41
+ @container pagination (min-width: 42rem) {
39
42
  display: inline-block;
40
43
  }
41
44
 
@@ -160,7 +163,8 @@
160
163
  inset-block-start: 50%;
161
164
  transform: translateY(-50%);
162
165
 
163
- @include breakpoint('md') {
166
+ // 42rem = 'md' breakpoint width
167
+ @container pagination (min-width: 42rem) {
164
168
  inset-inline-end: $spacing-05;
165
169
  }
166
170
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  @use '../../config' as *;
9
9
  @use '../../layer' as *;
10
+ @use '../../spacing' as *;
10
11
  @use '../../theme';
11
12
  @use '../../utilities/box-shadow' as *;
12
13
  @use '../../utilities/button-reset';
@@ -47,7 +48,10 @@ $popover-background-color: custom-property.get-var(
47
48
  );
48
49
 
49
50
  // The drop shadow value used for the popover container
50
- $popover-drop-shadow: custom-property.get-var('popover-drop-shadow', 'none');
51
+ $popover-drop-shadow: custom-property.get-var(
52
+ 'popover-drop-shadow',
53
+ drop-shadow(0 $spacing-01 $spacing-01 rgba(0, 0, 0, 0.2))
54
+ );
51
55
 
52
56
  // The border radius value for the popover container
53
57
  $popover-border-radius: custom-property.get-var('popover-border-radius', 2px);
@@ -103,10 +107,8 @@ $popover-caret-height: custom-property.get-var(
103
107
  }
104
108
 
105
109
  // Drop shadow modifier
106
- .#{$prefix}--popover--drop-shadow
107
- .#{$prefix}--popover
108
- > .#{$prefix}--popover-content {
109
- filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
110
+ .#{$prefix}--popover--drop-shadow .#{$prefix}--popover {
111
+ filter: $popover-drop-shadow;
110
112
  }
111
113
 
112
114
  // Caret tip modifier
@@ -121,7 +123,6 @@ $popover-caret-height: custom-property.get-var(
121
123
  .#{$prefix}--popover {
122
124
  position: absolute;
123
125
  z-index: z('floating');
124
- filter: $popover-drop-shadow;
125
126
  inset: 0;
126
127
  pointer-events: none;
127
128
  }
@@ -235,7 +236,7 @@ $popover-caret-height: custom-property.get-var(
235
236
  > .#{$prefix}--popover
236
237
  > .#{$prefix}--popover-content {
237
238
  inset-block-end: 0;
238
- inset-inline-start: 0;
239
+ inset-inline-start: calc(50% - $popover-offset);
239
240
  transform: translate(
240
241
  calc(-1 * $popover-offset),
241
242
  calc(100% + $popover-offset)
@@ -250,7 +251,7 @@ $popover-caret-height: custom-property.get-var(
250
251
  .#{$prefix}--popover--bottom-start:not(.#{$prefix}--popover--auto-align)
251
252
  > .#{$prefix}--popover
252
253
  > .#{$prefix}--popover-content {
253
- inset-inline-end: 0;
254
+ inset-inline-end: calc(50% - $popover-offset);
254
255
  inset-inline-start: initial;
255
256
  }
256
257
 
@@ -261,7 +262,7 @@ $popover-caret-height: custom-property.get-var(
261
262
  > .#{$prefix}--popover
262
263
  > .#{$prefix}--popover-content {
263
264
  inset-block-end: 0;
264
- inset-inline-end: 0;
265
+ inset-inline-end: calc(50% - $popover-offset);
265
266
  transform: translate($popover-offset, calc(100% + $popover-offset));
266
267
  }
267
268
 
@@ -273,7 +274,6 @@ $popover-caret-height: custom-property.get-var(
273
274
  > .#{$prefix}--popover-caret {
274
275
  inset-block-end: 0;
275
276
  inset-inline-end: 0;
276
- inset-inline-start: auto;
277
277
  }
278
278
 
279
279
  .#{$prefix}--popover--bottom-start:not(.#{$prefix}--popover--auto-align)
@@ -281,17 +281,13 @@ $popover-caret-height: custom-property.get-var(
281
281
  > .#{$prefix}--popover-caret {
282
282
  inset-block-end: 0;
283
283
  inset-inline-end: auto;
284
- inset-inline-start: 0;
285
- transform: translate(50%, calc($popover-offset));
286
284
  }
287
285
 
288
286
  .#{$prefix}--popover--top-start:not(.#{$prefix}--popover--auto-align)
289
287
  > .#{$prefix}--popover
290
288
  > .#{$prefix}--popover-caret {
291
289
  inset-block-end: 0;
292
- inset-inline-end: auto;
293
- inset-inline-start: 0;
294
- transform: translate(50%, calc(-1 * $popover-offset));
290
+ inset-inline-end: 0;
295
291
  }
296
292
 
297
293
  [dir='rtl']
@@ -302,7 +298,7 @@ $popover-caret-height: custom-property.get-var(
302
298
  .#{$prefix}--popover--bottom-end:not(.#{$prefix}--popover--auto-align)
303
299
  > .#{$prefix}--popover
304
300
  > .#{$prefix}--popover-content {
305
- inset-inline-start: 0;
301
+ inset-inline-start: calc(50% - $popover-offset);
306
302
  }
307
303
 
308
304
  // Popover hover area placement
@@ -427,7 +423,7 @@ $popover-caret-height: custom-property.get-var(
427
423
  > .#{$prefix}--popover
428
424
  > .#{$prefix}--popover-content {
429
425
  inset-block-start: 0;
430
- inset-inline-start: 0;
426
+ inset-inline-start: calc(50% - $popover-offset);
431
427
  transform: translate(
432
428
  calc(-1 * $popover-offset),
433
429
  calc(-100% - $popover-offset)
@@ -442,7 +438,7 @@ $popover-caret-height: custom-property.get-var(
442
438
  .#{$prefix}--popover--top-start:not(.#{$prefix}--popover--auto-align)
443
439
  > .#{$prefix}--popover
444
440
  > .#{$prefix}--popover-content {
445
- inset-inline-end: 0;
441
+ inset-inline-end: calc(50% - $popover-offset);
446
442
  inset-inline-start: initial;
447
443
  }
448
444
 
@@ -453,7 +449,7 @@ $popover-caret-height: custom-property.get-var(
453
449
  > .#{$prefix}--popover
454
450
  > .#{$prefix}--popover-content {
455
451
  inset-block-start: 0;
456
- inset-inline-end: 0;
452
+ inset-inline-end: calc(50% - $popover-offset);
457
453
  transform: translate($popover-offset, calc(-100% - $popover-offset));
458
454
  }
459
455
 
@@ -465,7 +461,7 @@ $popover-caret-height: custom-property.get-var(
465
461
  .#{$prefix}--popover--top-end:not(.#{$prefix}--popover--auto-align)
466
462
  > .#{$prefix}--popover
467
463
  > .#{$prefix}--popover-content {
468
- inset-inline-start: 0;
464
+ inset-inline-start: calc(50% - $popover-offset);
469
465
  }
470
466
 
471
467
  // Popover hover area placement
@@ -897,6 +893,57 @@ $popover-caret-height: custom-property.get-var(
897
893
  border-radius: 0;
898
894
  }
899
895
 
896
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-start:not(
897
+ .#{$prefix}--popover--auto-align
898
+ )
899
+ > .#{$prefix}--popover
900
+ > .#{$prefix}--popover-content,
901
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-start:not(
902
+ .#{$prefix}--popover--auto-align
903
+ )
904
+ > .#{$prefix}--popover
905
+ > .#{$prefix}--popover-content,
906
+ [dir='rtl']
907
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-end:not(
908
+ .#{$prefix}--popover--auto-align
909
+ )
910
+ > .#{$prefix}--popover
911
+ > .#{$prefix}--popover-content,
912
+ [dir='rtl']
913
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-end:not(
914
+ .#{$prefix}--popover--auto-align
915
+ )
916
+ > .#{$prefix}--popover
917
+ > .#{$prefix}--popover-content {
918
+ inset-inline-start: 0;
919
+ }
920
+
921
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-end:not(
922
+ .#{$prefix}--popover--auto-align
923
+ )
924
+ > .#{$prefix}--popover
925
+ > .#{$prefix}--popover-content,
926
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-end:not(
927
+ .#{$prefix}--popover--auto-align
928
+ )
929
+ > .#{$prefix}--popover
930
+ > .#{$prefix}--popover-content,
931
+ [dir='rtl']
932
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--top-start:not(
933
+ .#{$prefix}--popover--auto-align
934
+ )
935
+ > .#{$prefix}--popover
936
+ > .#{$prefix}--popover-content,
937
+ [dir='rtl']
938
+ .#{$prefix}--popover--tab-tip.#{$prefix}--popover--bottom-start:not(
939
+ .#{$prefix}--popover--auto-align
940
+ )
941
+ > .#{$prefix}--popover
942
+ > .#{$prefix}--popover-content {
943
+ inset-inline-end: 0;
944
+ inset-inline-start: initial;
945
+ }
946
+
900
947
  .#{$prefix}--popover--tab-tip .#{$prefix}--popover {
901
948
  will-change: filter;
902
949
  }
@@ -742,12 +742,6 @@
742
742
  }
743
743
  }
744
744
 
745
- .#{$prefix}--tab-content--interactive {
746
- &:focus {
747
- outline: none;
748
- }
749
- }
750
-
751
745
  //-----------------------------
752
746
  // Skeleton state
753
747
  //-----------------------------
@@ -57,26 +57,6 @@
57
57
  z-index: z('header') + 1;
58
58
  }
59
59
 
60
- .#{$prefix}--header {
61
- .#{$prefix}--popover--bottom-start:not(.#{$prefix}--popover--auto-align) {
62
- > .#{$prefix}--popover {
63
- > .#{$prefix}--popover-caret,
64
- > .#{$prefix}--popover-content {
65
- inset-inline-start: $spacing-05;
66
- }
67
- }
68
- }
69
-
70
- .#{$prefix}--popover--bottom-end:not(.#{$prefix}--popover--auto-align) {
71
- > .#{$prefix}--popover {
72
- > .#{$prefix}--popover-caret,
73
- > .#{$prefix}--popover-content {
74
- inset-inline-end: $spacing-05;
75
- }
76
- }
77
- }
78
- }
79
-
80
60
  .#{$prefix}--header__action > :first-child {
81
61
  margin-block-start: 0;
82
62
  }