@carbon/styles 0.15.0-rc.0 → 0.16.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": "0.15.0-rc.0",
4
+ "version": "0.16.0-rc.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -20,18 +20,18 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@carbon/colors": "^10.37.0-rc.0",
23
+ "@carbon/colors": "^10.37.0",
24
24
  "@carbon/feature-flags": "^0.7.0",
25
- "@carbon/grid": "^10.42.0-rc.0",
26
- "@carbon/layout": "^10.37.0-rc.0",
27
- "@carbon/motion": "^10.29.0-rc.0",
28
- "@carbon/themes": "^10.52.0-rc.0",
29
- "@carbon/type": "^10.42.0-rc.0",
25
+ "@carbon/grid": "^10.42.0",
26
+ "@carbon/layout": "^10.37.0",
27
+ "@carbon/motion": "^10.29.0",
28
+ "@carbon/themes": "^10.52.0",
29
+ "@carbon/type": "^10.42.0",
30
30
  "@ibm/plex": "6.0.0-next.6"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@carbon/test-utils": "^10.21.0",
34
34
  "css": "^3.0.0"
35
35
  },
36
- "gitHead": "e41618f5aaa9a10ce93edd844f1a280dc29eaf50"
36
+ "gitHead": "4cb0cf93101e8a4a6a67a950518793e006ed8a07"
37
37
  }
@@ -97,6 +97,10 @@
97
97
  content: '';
98
98
  opacity: 0;
99
99
  transition: opacity $duration-fast-01 motion(standard, productive);
100
+
101
+ @media screen and (prefers-reduced-motion: reduce) {
102
+ transition: none;
103
+ }
100
104
  }
101
105
  }
102
106
 
@@ -68,17 +68,17 @@ $copy-btn-feedback: $background-inverse !default;
68
68
  display: inline;
69
69
  padding: 0;
70
70
  border: 2px solid transparent;
71
- background-color: $field;
71
+ background-color: $layer;
72
72
  border-radius: 4px;
73
73
  color: $text-primary;
74
74
  cursor: pointer;
75
75
 
76
76
  &:hover {
77
- background-color: $layer-accent;
77
+ background-color: $layer-hover;
78
78
  }
79
79
 
80
80
  &:active {
81
- background-color: $copy-active;
81
+ background-color: $layer-active;
82
82
  }
83
83
 
84
84
  &:focus {
@@ -131,13 +131,13 @@ $copy-btn-feedback: $background-inverse !default;
131
131
  display: inline-block;
132
132
 
133
133
  &:hover {
134
- background-color: $field;
134
+ background-color: $layer;
135
135
  cursor: auto;
136
136
  }
137
137
  }
138
138
 
139
139
  .#{$prefix}--snippet--light.#{$prefix}--snippet--inline.#{$prefix}--snippet--no-copy:hover {
140
- background-color: $field-02;
140
+ background-color: $layer-hover;
141
141
  cursor: auto;
142
142
  }
143
143
 
@@ -241,7 +241,7 @@ $copy-btn-feedback: $background-inverse !default;
241
241
  width: rem(16px);
242
242
  height: 100%;
243
243
  // Safari interprets `transparent` differently, so make color token value transparent instead:
244
- background-image: linear-gradient(to right, rgba($field, 0), $field);
244
+ background-image: linear-gradient(to right, rgba($layer, 0), $layer);
245
245
  content: '';
246
246
  }
247
247
 
@@ -271,7 +271,7 @@ $copy-btn-feedback: $background-inverse !default;
271
271
  justify-content: center;
272
272
  padding: 0;
273
273
  border: none;
274
- background-color: $field;
274
+ background-color: $layer;
275
275
  cursor: pointer;
276
276
  outline: none;
277
277
 
@@ -290,7 +290,7 @@ $copy-btn-feedback: $background-inverse !default;
290
290
  }
291
291
 
292
292
  .#{$prefix}--snippet-button:hover {
293
- background: $field-hover;
293
+ background: $layer-hover;
294
294
  }
295
295
 
296
296
  .#{$prefix}--snippet-button:active {
@@ -340,7 +340,7 @@ $copy-btn-feedback: $background-inverse !default;
340
340
 
341
341
  padding: $spacing-03 $spacing-05;
342
342
  border: 0;
343
- background-color: $field;
343
+ background-color: $layer;
344
344
  color: $text-primary;
345
345
  }
346
346
 
@@ -361,12 +361,12 @@ $copy-btn-feedback: $background-inverse !default;
361
361
  }
362
362
 
363
363
  .#{$prefix}--snippet-btn--expand:hover {
364
- background: $field-hover;
364
+ background: $layer-hover;
365
365
  color: $text-primary;
366
366
  }
367
367
 
368
368
  .#{$prefix}--snippet-btn--expand:active {
369
- background-color: $copy-active;
369
+ background-color: $layer-active;
370
370
  }
371
371
 
372
372
  .#{$prefix}--snippet-btn--expand:focus {
@@ -387,7 +387,7 @@ $copy-btn-feedback: $background-inverse !default;
387
387
  .#{$prefix}--snippet--light .#{$prefix}--snippet-button,
388
388
  .#{$prefix}--snippet--light .#{$prefix}--btn.#{$prefix}--snippet-btn--expand,
389
389
  .#{$prefix}--snippet--light .#{$prefix}--copy-btn {
390
- background-color: $field-02;
390
+ background-color: $layer;
391
391
  }
392
392
 
393
393
  .#{$prefix}--snippet--light.#{$prefix}--snippet--inline:hover,
@@ -395,7 +395,7 @@ $copy-btn-feedback: $background-inverse !default;
395
395
  .#{$prefix}--snippet--light
396
396
  .#{$prefix}--btn.#{$prefix}--snippet-btn--expand:hover,
397
397
  .#{$prefix}--snippet--light .#{$prefix}--copy-btn:hover {
398
- background-color: $layer-hover-02;
398
+ background-color: $layer-hover;
399
399
  }
400
400
 
401
401
  .#{$prefix}--snippet--light.#{$prefix}--snippet--inline:active,
@@ -403,7 +403,7 @@ $copy-btn-feedback: $background-inverse !default;
403
403
  .#{$prefix}--snippet--light
404
404
  .#{$prefix}--btn.#{$prefix}--snippet-btn--expand:active,
405
405
  .#{$prefix}--snippet--light .#{$prefix}--copy-btn:active {
406
- background-color: $layer-active-02;
406
+ background-color: $layer-active;
407
407
  }
408
408
 
409
409
  .#{$prefix}--snippet--light.#{$prefix}--snippet--single::after,
@@ -411,7 +411,7 @@ $copy-btn-feedback: $background-inverse !default;
411
411
  .#{$prefix}--snippet-container
412
412
  pre::after {
413
413
  // Safari interprets `transparent` differently, so make color token value transparent instead:
414
- background-image: linear-gradient(to right, rgba($field-02, 0), $field-02);
414
+ background-image: linear-gradient(to right, rgba($layer, 0), $layer);
415
415
  }
416
416
 
417
417
  // Skeleton State
@@ -469,13 +469,13 @@ $copy-btn-feedback: $background-inverse !default;
469
469
  .#{$prefix}--snippet__overflow-indicator--left {
470
470
  order: 0;
471
471
  margin-right: -$spacing-05;
472
- background-image: linear-gradient(to left, transparent, $field);
472
+ background-image: linear-gradient(to left, transparent, $layer);
473
473
  }
474
474
 
475
475
  .#{$prefix}--snippet__overflow-indicator--right {
476
476
  order: 2;
477
477
  margin-left: -$spacing-05;
478
- background-image: linear-gradient(to right, transparent, $field);
478
+ background-image: linear-gradient(to right, transparent, $layer);
479
479
  }
480
480
 
481
481
  .#{$prefix}--snippet--single .#{$prefix}--snippet__overflow-indicator--right,
@@ -507,11 +507,11 @@ $copy-btn-feedback: $background-inverse !default;
507
507
  }
508
508
 
509
509
  .#{$prefix}--snippet--light .#{$prefix}--snippet__overflow-indicator--left {
510
- background-image: linear-gradient(to left, transparent, $field-02);
510
+ background-image: linear-gradient(to left, transparent, $layer);
511
511
  }
512
512
 
513
513
  .#{$prefix}--snippet--light .#{$prefix}--snippet__overflow-indicator--right {
514
- background-image: linear-gradient(to right, transparent, $field-02);
514
+ background-image: linear-gradient(to right, transparent, $layer);
515
515
  }
516
516
 
517
517
  // Safari-only media query
@@ -520,11 +520,11 @@ $copy-btn-feedback: $background-inverse !default;
520
520
  @media not all and (min-resolution: 0.001dpcm) {
521
521
  @supports (-webkit-appearance: none) and (stroke-color: transparent) {
522
522
  .#{$prefix}--snippet__overflow-indicator--left {
523
- background-image: linear-gradient(to left, rgba($field, 0), $field);
523
+ background-image: linear-gradient(to left, rgba($layer, 0), $layer);
524
524
  }
525
525
 
526
526
  .#{$prefix}--snippet__overflow-indicator--right {
527
- background-image: linear-gradient(to right, rgba($field, 0), $field);
527
+ background-image: linear-gradient(to right, rgba($layer, 0), $layer);
528
528
  }
529
529
  }
530
530
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  @use '../../theme' as *;
9
9
  @use '../../type' as *;
10
+ @use '../../utilities/convert' as *;
10
11
 
11
12
  /// Code snippet base styles
12
13
  /// @access private
@@ -17,5 +18,5 @@
17
18
  position: relative;
18
19
  width: 100%;
19
20
  max-width: rem(768px);
20
- background-color: $field;
21
+ background-color: $layer;
21
22
  }
@@ -19,7 +19,7 @@
19
19
 
20
20
  // V11: Possibly deprecate
21
21
  .#{$prefix}--combo-box.#{$prefix}--list-box--light:hover {
22
- background-color: $field-02;
22
+ background-color: $field;
23
23
  }
24
24
 
25
25
  .#{$prefix}--combo-box .#{$prefix}--text-input::-ms-clear {
@@ -125,8 +125,6 @@
125
125
  }
126
126
 
127
127
  // Size variant styles
128
- // TODO V11: Remove xl selector
129
- .#{$prefix}--date-picker__input--xl,
130
128
  .#{$prefix}--date-picker__input--lg {
131
129
  height: rem(48px);
132
130
  }
@@ -138,6 +138,10 @@
138
138
 
139
139
  .flatpickr-calendar.animate.open {
140
140
  animation: fp-fade-in-down $duration-fast-02 motion(entrance, productive);
141
+
142
+ @media screen and (prefers-reduced-motion: reduce) {
143
+ animation: none;
144
+ }
141
145
  }
142
146
 
143
147
  .flatpickr-calendar.inline {
@@ -230,8 +234,12 @@
230
234
  // Windows HCM fix
231
235
  @include high-contrast-mode('icon-fill');
232
236
 
237
+ @media screen and (prefers-reduced-motion: reduce) {
238
+ transition: none;
239
+ }
240
+
233
241
  &:hover {
234
- background-color: $background-hover;
242
+ background-color: $layer-hover;
235
243
  }
236
244
  }
237
245
 
@@ -261,7 +269,7 @@
261
269
  margin-left: $spacing-02;
262
270
 
263
271
  &:hover {
264
- background-color: $background-hover;
272
+ background-color: $layer-hover;
265
273
  }
266
274
  }
267
275
 
@@ -437,7 +445,7 @@
437
445
  transition: all $duration-fast-01 motion(standard, productive);
438
446
 
439
447
  &:hover {
440
- background: $background-hover;
448
+ background: $layer-hover;
441
449
  }
442
450
 
443
451
  &:focus {
@@ -132,10 +132,10 @@
132
132
 
133
133
  // V11: Possibly deprecate
134
134
  .#{$prefix}--dropdown--light {
135
- background-color: $field-02;
135
+ background-color: $field;
136
136
 
137
137
  &:hover {
138
- background-color: $layer-hover-02;
138
+ background-color: $field-hover;
139
139
  }
140
140
  }
141
141
 
@@ -202,7 +202,7 @@
202
202
 
203
203
  // V11: Possibly deprecate
204
204
  .#{$prefix}--dropdown--light .#{$prefix}--dropdown-list {
205
- background-color: $field-02;
205
+ background-color: $layer;
206
206
  }
207
207
 
208
208
  .#{$prefix}--dropdown:not(.#{$prefix}--dropdown--open)
@@ -354,7 +354,7 @@
354
354
 
355
355
  // V11: Possibly deprecate
356
356
  &.#{$prefix}--dropdown--light:hover {
357
- background-color: $field-02;
357
+ background-color: $field;
358
358
  }
359
359
  }
360
360
 
@@ -377,7 +377,7 @@
377
377
  transition: background $duration-fast-01 motion(entrance, productive);
378
378
 
379
379
  &:hover {
380
- background-color: $field-hover;
380
+ background-color: $layer-hover;
381
381
  }
382
382
 
383
383
  &.#{$prefix}--dropdown--disabled {
@@ -433,11 +433,11 @@
433
433
 
434
434
  .#{$prefix}--dropdown--show-selected .#{$prefix}--dropdown--selected {
435
435
  display: block;
436
- background-color: $layer-hover;
436
+ background-color: $layer-selected;
437
437
  color: $text-primary;
438
438
 
439
439
  &:hover {
440
- background-color: $layer-selected;
440
+ background-color: $layer-selected-hover;
441
441
  }
442
442
 
443
443
  .#{$prefix}--dropdown-link {
@@ -10,6 +10,7 @@
10
10
  @use '../../spacing' as *;
11
11
  @use '../../theme' as *;
12
12
  @use '../../type' as *;
13
+
13
14
  @use '../../utilities/convert' as *;
14
15
  @use '../../utilities/focus-outline' as *;
15
16
  @use '../../utilities/high-contrast-mode' as *;
@@ -170,8 +171,6 @@
170
171
  }
171
172
  }
172
173
 
173
- // V11: Remove --field
174
- .#{$prefix}--file__selected-file--field,
175
174
  .#{$prefix}--file__selected-file--md {
176
175
  min-height: rem(40px);
177
176
  gap: $spacing-03 $spacing-05;
@@ -202,8 +201,6 @@
202
201
  padding: $spacing-02 0;
203
202
  }
204
203
 
205
- // V11: Remove --field
206
- .#{$prefix}--file__selected-file--invalid.#{$prefix}--file__selected-file--field,
207
204
  .#{$prefix}--file__selected-file--invalid.#{$prefix}--file__selected-file--md {
208
205
  padding: $spacing-03 0;
209
206
  }
@@ -218,9 +215,6 @@
218
215
  padding-top: rem(7px);
219
216
  }
220
217
 
221
- // V11: Remove --field
222
- .#{$prefix}--file__selected-file--invalid.#{$prefix}--file__selected-file--field
223
- .#{$prefix}--form-requirement,
224
218
  .#{$prefix}--file__selected-file--invalid.#{$prefix}--file__selected-file--md
225
219
  .#{$prefix}--form-requirement {
226
220
  padding-top: rem(11px);
@@ -330,6 +324,7 @@
330
324
  justify-content: space-between;
331
325
  padding: $spacing-05;
332
326
  border: 1px dashed $border-strong;
327
+ @include type-style('body-compact-01');
333
328
  }
334
329
 
335
330
  .#{$prefix}--file__drop-container--drag-over {
@@ -21,16 +21,6 @@ $input-label-weight: 400 !default;
21
21
  @mixin form {
22
22
  .#{$prefix}--fieldset {
23
23
  @include reset;
24
-
25
- @if not enabled('enable-v11-release') {
26
- margin-bottom: $spacing-07;
27
- }
28
- }
29
-
30
- @if not enabled('enable-v11-release') {
31
- .#{$prefix}--fieldset--no-margin {
32
- margin-bottom: 0;
33
- }
34
24
  }
35
25
 
36
26
  .#{$prefix}--form-item {
@@ -57,10 +47,8 @@ $input-label-weight: 400 !default;
57
47
  vertical-align: baseline;
58
48
  }
59
49
 
60
- @if enabled('enable-v11-release') {
61
- .#{$prefix}--label--no-margin {
62
- margin-bottom: 0;
63
- }
50
+ .#{$prefix}--label--no-margin {
51
+ margin-bottom: 0;
64
52
  }
65
53
 
66
54
  .#{$prefix}--label .#{$prefix}--tooltip__trigger {
@@ -156,13 +156,13 @@ $list-box-menu-width: rem(300px);
156
156
  background-color: $field;
157
157
 
158
158
  &:hover {
159
- background-color: $layer-hover;
159
+ background-color: $field-hover;
160
160
  }
161
161
  }
162
162
 
163
163
  // V11: Possibly deprecate
164
164
  .#{$prefix}--list-box--light .#{$prefix}--list-box__menu {
165
- background: $field;
165
+ background: $layer;
166
166
  }
167
167
 
168
168
  // V11: Possibly deprecate
@@ -237,7 +237,7 @@ $list-box-menu-width: rem(300px);
237
237
  background-color: transparent;
238
238
 
239
239
  &:hover {
240
- background-color: $field-hover;
240
+ background-color: $layer-hover;
241
241
  }
242
242
  }
243
243
 
@@ -477,7 +477,7 @@ $list-box-menu-width: rem(300px);
477
477
  }
478
478
 
479
479
  .#{$prefix}--list-box--disabled .#{$prefix}--list-box__selection--multi {
480
- @include tag-theme($text-disabled, $field);
480
+ @include tag-theme($text-disabled, $layer);
481
481
 
482
482
  > svg {
483
483
  fill: $icon-disabled;
@@ -701,7 +701,7 @@ $list-box-menu-width: rem(300px);
701
701
 
702
702
  .#{$prefix}--list-box__menu-item--highlighted {
703
703
  border-color: transparent;
704
- background-color: $layer-hover;
704
+ background-color: $layer-selected;
705
705
  color: $text-primary;
706
706
  }
707
707
 
@@ -730,8 +730,7 @@ $list-box-menu-width: rem(300px);
730
730
  background-color: $layer-selected;
731
731
  }
732
732
 
733
- .#{$prefix}--list-box__menu-item--active:hover,
734
- .#{$prefix}--list-box__menu-item--active.#{$prefix}--list-box__menu-item--highlighted {
733
+ .#{$prefix}--list-box__menu-item--active:hover {
735
734
  border-bottom-color: $layer-selected-hover;
736
735
  background-color: $layer-selected-hover;
737
736
  }
@@ -20,6 +20,10 @@
20
20
  animation-duration: 10ms;
21
21
  animation-name: init-stroke;
22
22
  animation-timing-function: motion.$standard-easing;
23
+
24
+ @media screen and (prefers-reduced-motion: reduce) {
25
+ animation: none;
26
+ }
23
27
  }
24
28
  }
25
29
 
@@ -35,5 +39,9 @@
35
39
  animation-fill-mode: forwards;
36
40
  animation-name: stroke-end;
37
41
  animation-timing-function: motion.$ease-out;
42
+
43
+ @media screen and (prefers-reduced-motion: reduce) {
44
+ animation: none;
45
+ }
38
46
  }
39
47
  }
@@ -45,6 +45,10 @@
45
45
  transition: opacity $duration-moderate-02 motion(entrance, expressive),
46
46
  visibility 0ms linear;
47
47
  visibility: inherit;
48
+
49
+ @media screen and (prefers-reduced-motion: reduce) {
50
+ transition: none;
51
+ }
48
52
  }
49
53
 
50
54
  // V11: Question for design: do we have an updated tokens for fields that exist on `layer`?
@@ -79,8 +79,6 @@
79
79
  }
80
80
  }
81
81
 
82
- // TODO V11: Remove xl selector
83
- .#{$prefix}--number--xl.#{$prefix}--number input[type='number'],
84
82
  .#{$prefix}--number--lg.#{$prefix}--number input[type='number'] {
85
83
  padding-right: rem(144px);
86
84
  }
@@ -307,8 +305,6 @@
307
305
  fill: $support-error;
308
306
  }
309
307
 
310
- // TODO V11: Remove xl selector
311
- .#{$prefix}--number--xl .#{$prefix}--number__invalid,
312
308
  .#{$prefix}--number--lg .#{$prefix}--number__invalid {
313
309
  right: rem(112px);
314
310
  }
@@ -322,10 +318,6 @@
322
318
  right: rem(80px);
323
319
  }
324
320
 
325
- // TODO V11: Remove xl selector
326
- .#{$prefix}--number--xl
327
- .#{$prefix}--number__invalid
328
- + .#{$prefix}--number__rule-divider,
329
321
  .#{$prefix}--number--lg
330
322
  .#{$prefix}--number__invalid
331
323
  + .#{$prefix}--number__rule-divider {
@@ -391,20 +383,14 @@
391
383
  }
392
384
 
393
385
  // Size Variant styles
394
- // TODO V11: Remove xl selector
395
- .#{$prefix}--number--xl input[type='number'],
396
386
  .#{$prefix}--number--lg input[type='number'] {
397
387
  height: rem(48px);
398
388
  }
399
389
 
400
- // TODO V11: Remove xl selector
401
- .#{$prefix}--number--xl .#{$prefix}--number__controls,
402
390
  .#{$prefix}--number--lg .#{$prefix}--number__controls {
403
391
  width: rem(96px);
404
392
  }
405
393
 
406
- // TODO V11: Remove xl selector
407
- .#{$prefix}--number--xl .#{$prefix}--number__control-btn,
408
394
  .#{$prefix}--number--lg .#{$prefix}--number__control-btn {
409
395
  width: rem(48px);
410
396
 
@@ -52,8 +52,6 @@
52
52
  height: rem(32px);
53
53
  }
54
54
 
55
- // TODO V11: Remove xl selector
56
- .#{$prefix}--overflow-menu--xl,
57
55
  .#{$prefix}--overflow-menu--lg {
58
56
  width: rem(48px);
59
57
  height: rem(48px);
@@ -111,6 +109,10 @@
111
109
  content: '';
112
110
  transition: background-color $duration-fast-02
113
111
  motion(entrance, productive);
112
+
113
+ @media screen and (prefers-reduced-motion: reduce) {
114
+ transition: none;
115
+ }
114
116
  }
115
117
  }
116
118
 
@@ -130,7 +132,7 @@
130
132
  background-color: $field-02;
131
133
  }
132
134
 
133
- .#{$prefix}--overflow-menu-options[data-floating-menu-direction='bottom']::after {
135
+ .#{$prefix}--overflow-menu-options[data-floating-menu-direction='bottom']:not(.#{$prefix}--breadcrumb-menu-options)::after {
134
136
  top: rem(-3px);
135
137
  left: 0;
136
138
  width: rem(40px);
@@ -170,8 +172,6 @@
170
172
  }
171
173
  }
172
174
 
173
- // TODO V11: Remove xl selector
174
- .#{$prefix}--overflow-menu-options--xl.#{$prefix}--overflow-menu-options,
175
175
  .#{$prefix}--overflow-menu-options--lg.#{$prefix}--overflow-menu-options {
176
176
  &[data-floating-menu-direction='bottom']::after,
177
177
  &[data-floating-menu-direction='top']::after {
@@ -221,9 +221,6 @@
221
221
  height: rem(32px);
222
222
  }
223
223
 
224
- // TODO V11: Remove xl selector
225
- .#{$prefix}--overflow-menu-options--xl
226
- .#{$prefix}--overflow-menu-options__option,
227
224
  .#{$prefix}--overflow-menu-options--lg
228
225
  .#{$prefix}--overflow-menu-options__option {
229
226
  height: rem(48px);
@@ -182,6 +182,10 @@
182
182
 
183
183
  span.#{$prefix}--pagination__text {
184
184
  margin-left: $spacing-05;
185
+ color: $text-primary;
186
+ }
187
+
188
+ span.#{$prefix}--pagination__text.#{$prefix}--pagination__items-count {
185
189
  color: $text-secondary;
186
190
  }
187
191
 
@@ -22,10 +22,14 @@
22
22
  display: block;
23
23
  width: 0;
24
24
  height: $spacing-02;
25
- background-color: $background-brand;
25
+ background-color: $border-interactive;
26
26
  content: '';
27
27
  opacity: 0;
28
28
  transition: width $duration-fast-02 motion(standard, productive);
29
+
30
+ @media screen and (prefers-reduced-motion: reduce) {
31
+ transition: none;
32
+ }
29
33
  }
30
34
  }
31
35
 
@@ -32,8 +32,8 @@
32
32
  /// @param {Number} $select-icon-top-position [$spacing-05]
33
33
  /// @param {Number} $select-icon-left-position [$spacing-05]
34
34
  @mixin pagination-nav(
35
- $color: $text-secondary,
36
- $text-color-active: $text-secondary,
35
+ $color: $text-primary,
36
+ $text-color-active: $text-primary,
37
37
  $background-color-hover: $background-hover,
38
38
  $background-color-active: initial,
39
39
  $font-weight: 400,
@@ -78,7 +78,7 @@
78
78
  min-width: $button-min-width;
79
79
  padding: $button-padding;
80
80
  border-radius: 0;
81
- color: $text-secondary;
81
+ color: $text-primary;
82
82
  font-weight: $font-weight;
83
83
  line-height: 1;
84
84
  outline: 0;
@@ -90,7 +90,7 @@
90
90
 
91
91
  &:hover {
92
92
  background-color: $background-color-hover;
93
- color: $text-secondary;
93
+ color: $text-primary;
94
94
  }
95
95
 
96
96
  &:focus {
@@ -45,7 +45,7 @@
45
45
  height: 100%;
46
46
  background-color: $interactive;
47
47
  transform: scaleX(0);
48
- transform-origin: 0 50%;
48
+ transform-origin: 0 center #{'/*rtl:100% center*/'};
49
49
  transition: transform $duration-fast-02 motion(standard, productive);
50
50
  }
51
51
 
@@ -151,6 +151,10 @@
151
151
  content: '';
152
152
  transition: background-color $duration-fast-02
153
153
  motion(standard, productive);
154
+
155
+ @media screen and (prefers-reduced-motion: reduce) {
156
+ transition: none;
157
+ }
154
158
  }
155
159
 
156
160
  &:hover {
@@ -40,29 +40,25 @@ $icon-tab-size: custom-property.get-var('icon-tab-size', rem(40px));
40
40
  @include reset;
41
41
  @include type-style('body-compact-01');
42
42
 
43
+ position: relative;
43
44
  display: flex;
44
45
  width: 100%;
45
46
  height: auto;
46
47
  min-height: rem(40px);
48
+ max-height: 4rem;
47
49
  color: $text-primary;
48
50
 
49
51
  &.#{$prefix}--tabs--contained {
50
52
  min-height: rem(48px);
51
53
  }
52
54
 
53
- .#{$prefix}--tabs__nav {
55
+ .#{$prefix}--tab--list {
54
56
  display: flex;
55
- overflow: auto hidden;
56
- width: auto;
57
- max-width: 100%;
58
- flex-direction: row;
59
- padding: 0;
60
- margin: 0;
61
- list-style: none;
62
- outline: 0;
63
- // hide scroll bars
57
+ width: 100%;
58
+ overflow-x: auto;
59
+ scroll-behavior: smooth;
64
60
  scrollbar-width: none;
65
- transition: max-height $duration-fast-01 motion(standard, productive);
61
+ will-change: scroll-position;
66
62
 
67
63
  &::-webkit-scrollbar {
68
64
  display: none;
@@ -72,37 +68,121 @@ $icon-tab-size: custom-property.get-var('icon-tab-size', rem(40px));
72
68
  //-----------------------------
73
69
  // Overflow Nav Buttons
74
70
  //-----------------------------
75
- .#{$prefix}--tabs__overflow-indicator--left,
76
- .#{$prefix}--tabs__overflow-indicator--right {
71
+ .#{$prefix}--tab--overflow-nav-button {
72
+ @include button-reset.reset;
73
+
74
+ display: flex;
75
+ width: $spacing-08;
76
+ flex-shrink: 0;
77
+ align-items: center;
78
+ justify-content: center;
79
+ background-color: $background;
80
+
81
+ &:focus {
82
+ @include focus-outline('outline');
83
+ }
84
+ }
85
+
86
+ .#{$prefix}--tab--overflow-nav-button--hidden {
87
+ display: none;
88
+ }
89
+
90
+ &.#{$prefix}--tabs--contained .#{$prefix}--tab--overflow-nav-button {
91
+ width: $spacing-09;
92
+ margin: 0;
93
+ background-color: $layer-accent;
94
+ }
95
+
96
+ .#{$prefix}--tab--overflow-nav-button svg {
97
+ fill: $icon-primary;
98
+ }
99
+
100
+ .#{$prefix}--tab--overflow-nav-button--next {
101
+ position: absolute;
102
+ top: 0;
103
+ right: 0;
104
+ bottom: 0;
105
+ }
106
+
107
+ .#{$prefix}--tab--overflow-nav-button--next::before {
108
+ position: absolute;
77
109
  z-index: 1;
110
+ left: -$spacing-03;
78
111
  width: $spacing-03;
79
- flex: 1 0 auto;
112
+ height: 100%;
113
+ background: linear-gradient(
114
+ to right,
115
+ rgba(255, 255, 255, 0),
116
+ $background
117
+ );
118
+ content: '';
80
119
  }
81
120
 
82
- .#{$prefix}--tabs__overflow-indicator--left {
83
- margin-right: -$spacing-03;
84
- background-image: linear-gradient(to left, transparent, $background);
121
+ &.#{$prefix}--tabs--contained
122
+ .#{$prefix}--tab--overflow-nav-button--next::before {
123
+ background-image: linear-gradient(
124
+ to right,
125
+ rgba(255, 255, 255, 0),
126
+ $layer-accent
127
+ );
85
128
  }
86
129
 
87
- .#{$prefix}--tabs__overflow-indicator--right {
88
- margin-left: -$spacing-03;
89
- background-image: linear-gradient(to right, transparent, $background);
130
+ .#{$prefix}--tab--overflow-nav-button--previous {
131
+ position: absolute;
132
+ top: 0;
133
+ bottom: 0;
134
+ left: 0;
135
+ }
136
+
137
+ .#{$prefix}--tab--overflow-nav-button--previous::before {
138
+ position: absolute;
139
+ z-index: 1;
140
+ right: -$spacing-03;
141
+ width: $spacing-03;
142
+ height: 100%;
143
+ background: linear-gradient(to left, rgba(255, 255, 255, 0), $background);
144
+ content: '';
145
+ }
146
+
147
+ &.#{$prefix}--tabs--contained
148
+ .#{$prefix}--tab--overflow-nav-button--previous::before {
149
+ background-image: linear-gradient(
150
+ to left,
151
+ rgba(255, 255, 255, 0),
152
+ $layer-accent
153
+ );
90
154
  }
91
155
 
92
156
  .#{$prefix}--tabs--light .#{$prefix}--tabs__overflow-indicator--left {
93
- background-image: linear-gradient(to left, transparent, $layer);
157
+ background-image: linear-gradient(
158
+ to left,
159
+ rgba(255, 255, 255, 0),
160
+ $layer
161
+ );
94
162
  }
95
163
 
96
164
  .#{$prefix}--tabs--light .#{$prefix}--tabs__overflow-indicator--right {
97
- background-image: linear-gradient(to right, transparent, $layer);
165
+ background-image: linear-gradient(
166
+ to right,
167
+ rgba(255, 255, 255, 0),
168
+ $layer
169
+ );
98
170
  }
99
171
 
100
172
  &.#{$prefix}--tabs--contained .#{$prefix}--tabs__overflow-indicator--left {
101
- background-image: linear-gradient(to left, transparent, $layer-accent);
173
+ background-image: linear-gradient(
174
+ to left,
175
+ rgba(255, 255, 255, 0),
176
+ $layer-accent
177
+ );
102
178
  }
103
179
 
104
180
  &.#{$prefix}--tabs--contained .#{$prefix}--tabs__overflow-indicator--right {
105
- background-image: linear-gradient(to right, transparent, $layer-accent);
181
+ background-image: linear-gradient(
182
+ to right,
183
+ rgba(255, 255, 255, 0),
184
+ $layer-accent
185
+ );
106
186
  }
107
187
 
108
188
  // Safari-only media query
@@ -146,34 +226,6 @@ $icon-tab-size: custom-property.get-var('icon-tab-size', rem(40px));
146
226
  }
147
227
  }
148
228
 
149
- .#{$prefix}--tab--overflow-nav-button {
150
- @include button-reset.reset;
151
-
152
- display: flex;
153
- width: $spacing-08;
154
- flex-shrink: 0;
155
- align-items: center;
156
- justify-content: center;
157
-
158
- &:focus {
159
- @include focus-outline('outline');
160
- }
161
- }
162
-
163
- .#{$prefix}--tab--overflow-nav-button--hidden {
164
- display: none;
165
- }
166
-
167
- &.#{$prefix}--tabs--contained .#{$prefix}--tab--overflow-nav-button {
168
- width: $spacing-09;
169
- margin: 0;
170
- background-color: $layer-accent;
171
- }
172
-
173
- .#{$prefix}--tab--overflow-nav-button svg {
174
- fill: $icon-primary;
175
- }
176
-
177
229
  //-----------------------------
178
230
  // Item
179
231
  //-----------------------------
@@ -181,6 +233,7 @@ $icon-tab-size: custom-property.get-var('icon-tab-size', rem(40px));
181
233
  @include reset;
182
234
 
183
235
  display: flex;
236
+ flex: 1 0 auto;
184
237
  padding: 0;
185
238
  cursor: pointer;
186
239
  transition: background-color $duration-fast-01
@@ -96,15 +96,19 @@
96
96
  width: 100%;
97
97
  }
98
98
 
99
- .#{$prefix}--text-input__invalid-icon {
99
+ .#{$prefix}--text-input__invalid-icon,
100
+ .#{$prefix}--text-input__readonly-icon {
100
101
  position: absolute;
101
102
  // top/transform used to center invalid icon in IE11
102
103
  top: 50%;
103
104
  right: $spacing-05;
104
- fill: $support-error;
105
105
  transform: translateY(-50%);
106
106
  }
107
107
 
108
+ .#{$prefix}--text-input__invalid-icon {
109
+ fill: $support-error;
110
+ }
111
+
108
112
  .#{$prefix}--text-input__invalid-icon--warning {
109
113
  fill: $support-warning;
110
114
  }
@@ -175,7 +179,8 @@
175
179
  }
176
180
 
177
181
  .#{$prefix}--text-input--invalid,
178
- .#{$prefix}--text-input--warning {
182
+ .#{$prefix}--text-input--warning,
183
+ .#{$prefix}--text-input-wrapper--readonly .#{$prefix}--text-input {
179
184
  padding-right: $spacing-08;
180
185
  }
181
186
 
@@ -381,6 +386,15 @@
381
386
  flex-direction: column;
382
387
  }
383
388
 
389
+ //-----------------------------
390
+ // Readonly
391
+ //-----------------------------
392
+
393
+ .#{$prefix}--form--fluid .#{$prefix}--text-input-wrapper--readonly,
394
+ .#{$prefix}--text-input-wrapper--readonly .#{$prefix}--text-input {
395
+ background: transparent;
396
+ }
397
+
384
398
  // Windows HCM fix
385
399
  .#{$prefix}--text-input--password__visibility,
386
400
  // TODO: remove selector above
@@ -144,6 +144,10 @@
144
144
  transform-origin: center;
145
145
  transition: $duration-fast-02 motion(standard, productive);
146
146
 
147
+ @media screen and (prefers-reduced-motion: reduce) {
148
+ transition: none;
149
+ }
150
+
147
151
  // Windows, Firefox HCM Fix
148
152
  @media screen and (-ms-high-contrast: active),
149
153
  screen and (prefers-contrast) {
@@ -64,6 +64,10 @@
64
64
  border-radius: 50%;
65
65
  content: '';
66
66
  transition: transform $duration-fast-01 motion(exit, productive);
67
+
68
+ @media screen and (prefers-reduced-motion: reduce) {
69
+ transition: none;
70
+ }
67
71
  }
68
72
  }
69
73
 
@@ -199,6 +203,10 @@
199
203
  transition: box-shadow $duration-fast-01 motion(exit, productive),
200
204
  background-color $duration-fast-01 motion(exit, productive);
201
205
  will-change: box-shadow;
206
+
207
+ @media screen and (prefers-reduced-motion: reduce) {
208
+ transition: none;
209
+ }
202
210
  }
203
211
 
204
212
  // Toggle circle
@@ -215,6 +223,10 @@
215
223
  content: '';
216
224
  cursor: pointer;
217
225
  transition: transform $duration-fast-01 motion(exit, productive);
226
+
227
+ @media screen and (prefers-reduced-motion: reduce) {
228
+ transition: none;
229
+ }
218
230
  }
219
231
  }
220
232
 
@@ -313,6 +325,10 @@
313
325
  &::after {
314
326
  cursor: not-allowed;
315
327
  transition: $duration-fast-01 motion(exit, productive);
328
+
329
+ @media screen and (prefers-reduced-motion: reduce) {
330
+ transition: none;
331
+ }
316
332
  }
317
333
  }
318
334
 
@@ -432,6 +448,10 @@
432
448
  transition: box-shadow $duration-fast-01 motion(exit, productive),
433
449
  background-color $duration-fast-01 motion(exit, productive);
434
450
  will-change: box-shadow;
451
+
452
+ @media screen and (prefers-reduced-motion: reduce) {
453
+ transition: none;
454
+ }
435
455
  }
436
456
 
437
457
  // Toggle circle
@@ -531,6 +551,10 @@
531
551
  &::after {
532
552
  cursor: not-allowed;
533
553
  transition: $duration-fast-01 motion(exit, productive);
554
+
555
+ @media screen and (prefers-reduced-motion: reduce) {
556
+ transition: none;
557
+ }
534
558
  }
535
559
  }
536
560
 
@@ -127,6 +127,10 @@
127
127
  &::before,
128
128
  &::after {
129
129
  transition: opacity $duration-fast-01 motion(standard, productive);
130
+
131
+ @media screen and (prefers-reduced-motion: reduce) {
132
+ transition: none;
133
+ }
130
134
  }
131
135
 
132
136
  &.#{$prefix}--tooltip--a11y::before,