@carbon/styles 0.11.0 → 0.13.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 (33) hide show
  1. package/package.json +10 -10
  2. package/scss/_config.scss +6 -0
  3. package/scss/_type.scss +1 -0
  4. package/scss/components/_index.scss +1 -0
  5. package/scss/components/accordion/_accordion.scss +7 -3
  6. package/scss/components/button/_mixins.scss +5 -2
  7. package/scss/components/button/_tokens.scss +16 -16
  8. package/scss/components/code-snippet/_code-snippet.scss +2 -2
  9. package/scss/components/data-table/action/_data-table-action.scss +6 -2
  10. package/scss/components/date-picker/_date-picker.scss +2 -2
  11. package/scss/components/date-picker/_flatpickr.scss +1 -0
  12. package/scss/components/link/_link.scss +15 -2
  13. package/scss/components/list-box/_list-box.scss +1 -1
  14. package/scss/components/modal/_modal.scss +3 -6
  15. package/scss/components/notification/_inline-notification.scss +3 -0
  16. package/scss/components/notification/_toast-notification.scss +3 -0
  17. package/scss/components/number-input/_number-input.scss +1 -1
  18. package/scss/components/pagination/_pagination.scss +50 -7
  19. package/scss/components/select/_select.scss +7 -2
  20. package/scss/components/slider/_slider.scss +1 -1
  21. package/scss/components/tabs/_tabs.scss +21 -0
  22. package/scss/components/tag/_tag.scss +1 -1
  23. package/scss/components/tag/_tokens.scss +60 -60
  24. package/scss/components/text-area/_text-area.scss +1 -1
  25. package/scss/components/text-input/_text-input.scss +1 -1
  26. package/scss/components/tile/_tile.scss +1 -1
  27. package/scss/components/toggle/_toggle.scss +2 -2
  28. package/scss/components/toggletip/_index.scss +11 -0
  29. package/scss/components/toggletip/_toggletip.scss +81 -0
  30. package/scss/components/tooltip/_index.scss +1 -0
  31. package/scss/components/tooltip/_tooltip.scss +30 -0
  32. package/scss/components/ui-shell/header/_header.scss +2 -0
  33. package/scss/fonts/_src.scss +100 -28
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.11.0",
4
+ "version": "0.13.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.34.0",
24
- "@carbon/feature-flags": "^0.6.0",
25
- "@carbon/grid": "^10.39.0",
26
- "@carbon/layout": "^10.34.0",
27
- "@carbon/motion": "^10.26.0",
28
- "@carbon/themes": "^10.48.0",
29
- "@carbon/type": "^10.39.0",
23
+ "@carbon/colors": "^10.35.0",
24
+ "@carbon/feature-flags": "^0.7.0",
25
+ "@carbon/grid": "^10.40.0",
26
+ "@carbon/layout": "^10.35.0",
27
+ "@carbon/motion": "^10.27.0",
28
+ "@carbon/themes": "^10.50.0",
29
+ "@carbon/type": "^10.40.0",
30
30
  "@ibm/plex": "6.0.0-next.6"
31
31
  },
32
32
  "devDependencies": {
33
- "@carbon/test-utils": "^10.20.0",
33
+ "@carbon/test-utils": "^10.21.0",
34
34
  "css": "^3.0.0"
35
35
  },
36
- "gitHead": "3e014d3be20089ade76dddea87c94ab2171e6fd7"
36
+ "gitHead": "e76c42ab78cbee043db643597b7b5d79bd387c9b"
37
37
  }
package/scss/_config.scss CHANGED
@@ -36,6 +36,12 @@ $font-display: 'swap' !default;
36
36
  /// @group config
37
37
  $font-path: '~@ibm/plex' !default;
38
38
 
39
+ /// Specify if IBM Plex should be provided by Google Fonts
40
+ /// @access public
41
+ /// @type String
42
+ /// @group config
43
+ $use-google-fonts: false !default;
44
+
39
45
  /// The value used to prefix selectors and CSS Custom Properties across the
40
46
  /// codebase
41
47
  /// @access public
package/scss/_type.scss CHANGED
@@ -12,6 +12,7 @@
12
12
  type-style,
13
13
  font-family,
14
14
  default-type,
15
+ type-classes,
15
16
 
16
17
  // Variables
17
18
  $caption-01,
@@ -51,6 +51,7 @@
51
51
  @use 'text-input';
52
52
  @use 'tile';
53
53
  @use 'time-picker';
54
+ @use 'toggletip';
54
55
  @use 'toggle';
55
56
  @use 'tooltip';
56
57
  @use 'treeview';
@@ -87,7 +87,7 @@ $content-padding: 0 0 0 $spacing-05 !default;
87
87
  }
88
88
 
89
89
  &:hover::before {
90
- background-color: $background-hover;
90
+ background-color: $layer-hover;
91
91
  }
92
92
 
93
93
  &:focus {
@@ -125,11 +125,15 @@ $content-padding: 0 0 0 $spacing-05 !default;
125
125
 
126
126
  .#{$prefix}--accordion__item--disabled,
127
127
  .#{$prefix}--accordion__item--disabled + .#{$prefix}--accordion__item {
128
- border-top: 1px solid $border-disabled;
128
+ // v10 icon doesn't have 1:1 translation, keeping color same as enabled state
129
+ // https://github.com/carbon-design-system/carbon/issues/10373#issuecomment-1021638147
130
+ border-top: 1px solid $border-subtle;
129
131
  }
130
132
 
131
133
  li.#{$prefix}--accordion__item--disabled:last-of-type {
132
- border-bottom: 1px solid $border-disabled;
134
+ // v10 icon doesn't have 1:1 translation, keeping color same as enabled state
135
+ // https://github.com/carbon-design-system/carbon/issues/10373#issuecomment-1021638147
136
+ border-bottom: 1px solid $border-subtle;
133
137
  }
134
138
 
135
139
  .#{$prefix}--accordion__arrow {
@@ -13,8 +13,11 @@
13
13
  @use '../../type' as *;
14
14
  @use '../../utilities/component-reset';
15
15
  @use '../../utilities/convert' as *;
16
+ @use '../../utilities/custom-property';
16
17
  @use 'tokens' as *;
17
18
 
19
+ $button-focus-color: custom-property.get-var('button-focus-color', $focus);
20
+
18
21
  @mixin button-base {
19
22
  @include component-reset.reset;
20
23
  @include type-style('body-short-01');
@@ -84,8 +87,8 @@
84
87
  }
85
88
 
86
89
  &:focus {
87
- border-color: $focus;
88
- box-shadow: inset 0 0 0 $button-outline-width $focus,
90
+ border-color: $button-focus-color;
91
+ box-shadow: inset 0 0 0 $button-outline-width $button-focus-color,
89
92
  inset 0 0 0 $button-border-width $background;
90
93
  }
91
94
 
@@ -230,15 +230,15 @@ $button-tertiary-active: (
230
230
  ) !default;
231
231
 
232
232
  $button-danger-hover: (
233
- fallback: #b81921,
233
+ fallback: #b81922,
234
234
  values: (
235
235
  (
236
236
  theme: themes.$white,
237
- value: #b81921,
237
+ value: #b81922,
238
238
  ),
239
239
  (
240
240
  theme: themes.$g10,
241
- value: #b81921,
241
+ value: #b81922,
242
242
  ),
243
243
  (
244
244
  theme: themes.$g90,
@@ -252,59 +252,59 @@ $button-danger-hover: (
252
252
  ) !default;
253
253
 
254
254
  $button-primary-hover: (
255
- fallback: #0353e9,
255
+ fallback: #0050e6,
256
256
  values: (
257
257
  (
258
258
  theme: themes.$white,
259
- value: #0353e9,
259
+ value: #0050e6,
260
260
  ),
261
261
  (
262
262
  theme: themes.$g10,
263
- value: #0353e9,
263
+ value: #0050e6,
264
264
  ),
265
265
  (
266
266
  theme: themes.$g90,
267
- value: #0353e9,
267
+ value: #0050e6,
268
268
  ),
269
269
  (
270
270
  theme: themes.$g100,
271
- value: #0353e9,
271
+ value: #0050e6,
272
272
  ),
273
273
  ),
274
274
  ) !default;
275
275
 
276
276
  $button-secondary-hover: (
277
- fallback: #4c4c4c,
277
+ fallback: #474747,
278
278
  values: (
279
279
  (
280
280
  theme: themes.$white,
281
- value: #4c4c4c,
281
+ value: #474747,
282
282
  ),
283
283
  (
284
284
  theme: themes.$g10,
285
- value: #4c4c4c,
285
+ value: #474747,
286
286
  ),
287
287
  (
288
288
  theme: themes.$g90,
289
- value: #606060,
289
+ value: #5e5e5e,
290
290
  ),
291
291
  (
292
292
  theme: themes.$g100,
293
- value: #606060,
293
+ value: #5e5e5e,
294
294
  ),
295
295
  ),
296
296
  ) !default;
297
297
 
298
298
  $button-tertiary-hover: (
299
- fallback: #0353e9,
299
+ fallback: #0050e6,
300
300
  values: (
301
301
  (
302
302
  theme: themes.$white,
303
- value: #0353e9,
303
+ value: #0050e6,
304
304
  ),
305
305
  (
306
306
  theme: themes.$g10,
307
- value: #0353e9,
307
+ value: #0050e6,
308
308
  ),
309
309
  (
310
310
  theme: themes.$g90,
@@ -38,13 +38,13 @@ $copy-btn-feedback: $background-inverse !default;
38
38
  .#{$prefix}--snippet--disabled,
39
39
  .#{$prefix}--snippet--disabled
40
40
  .#{$prefix}--btn.#{$prefix}--snippet-btn--expand {
41
- background-color: $layer-disabled;
41
+ background-color: $layer;
42
42
  color: $text-disabled;
43
43
  }
44
44
 
45
45
  .#{$prefix}--snippet--disabled .#{$prefix}--snippet-btn--expand:hover,
46
46
  .#{$prefix}--snippet--disabled .#{$prefix}--copy-btn:hover {
47
- background-color: $layer-disabled;
47
+ background-color: $layer;
48
48
  color: $text-disabled;
49
49
  cursor: not-allowed;
50
50
  }
@@ -80,11 +80,15 @@
80
80
 
81
81
  .#{$prefix}--toolbar-search-container-expandable .#{$prefix}--search-input {
82
82
  height: 100%;
83
- padding: 0;
84
83
  cursor: pointer;
85
84
  opacity: 0;
86
85
  }
87
86
 
87
+ .#{$prefix}--toolbar-search-container-expandable:not(.#{$prefix}--toolbar-search-container-active)
88
+ .#{$prefix}--search-input {
89
+ padding: 0;
90
+ }
91
+
88
92
  .#{$prefix}--toolbar-search-container-expandable
89
93
  .#{$prefix}--search-magnifier-icon {
90
94
  left: 0;
@@ -95,7 +99,7 @@
95
99
 
96
100
  .#{$prefix}--toolbar-search-container-expandable.#{$prefix}--search--disabled
97
101
  .#{$prefix}--search-magnifier-icon {
98
- background-color: $layer-disabled;
102
+ background-color: $layer;
99
103
  cursor: not-allowed;
100
104
  transition: background-color none;
101
105
  }
@@ -106,7 +106,7 @@
106
106
 
107
107
  &:disabled {
108
108
  border-bottom: 1px solid transparent;
109
- background-color: $field-disabled;
109
+ background-color: $field;
110
110
  color: $text-disabled;
111
111
  cursor: not-allowed;
112
112
  }
@@ -141,8 +141,8 @@
141
141
  // vertically center icon within parent container on IE11
142
142
  top: 50%;
143
143
  right: 1rem;
144
- cursor: pointer;
145
144
  fill: $icon-primary;
145
+ pointer-events: none;
146
146
  transform: translateY(-50%);
147
147
  }
148
148
 
@@ -219,6 +219,7 @@
219
219
  text-decoration: none;
220
220
  transform: scale(1, 1) #{'/*rtl: scale(-1,1)*/'};
221
221
  transition: background-color $duration-fast-01 motion(standard, productive);
222
+ user-select: none;
222
223
  // Windows HCM fix
223
224
  @include high-contrast-mode('icon-fill');
224
225
 
@@ -11,8 +11,19 @@
11
11
  @use '../../theme' as *;
12
12
  @use '../../type';
13
13
  @use '../../utilities/component-reset';
14
+ @use '../../utilities/custom-property';
14
15
  @use '../../utilities/focus-outline' as *;
15
16
 
17
+ $link-text-color: custom-property.get-var('link-text-color', $link-primary);
18
+ $link-hover-text-color: custom-property.get-var(
19
+ 'link-hover-text-color',
20
+ $link-primary-hover
21
+ );
22
+ $link-focus-text-color: custom-property.get-var(
23
+ 'link-focus-text-color',
24
+ $focus
25
+ );
26
+
16
27
  /// Link styles
17
28
  /// @access public
18
29
  /// @group link
@@ -22,13 +33,13 @@
22
33
  @include type.type-style('body-short-01');
23
34
 
24
35
  display: inline-flex;
25
- color: $link-primary;
36
+ color: $link-text-color;
26
37
  outline: none;
27
38
  text-decoration: none;
28
39
  transition: color $duration-fast-01 motion(standard, productive);
29
40
 
30
41
  &:hover {
31
- color: $link-primary-hover;
42
+ color: $link-hover-text-color;
32
43
  text-decoration: underline;
33
44
  }
34
45
 
@@ -41,6 +52,8 @@
41
52
 
42
53
  &:focus {
43
54
  @include focus-outline;
55
+
56
+ outline-color: $link-focus-text-color;
44
57
  }
45
58
 
46
59
  &:visited {
@@ -479,7 +479,7 @@ $list-box-menu-width: rem(300px);
479
479
  }
480
480
 
481
481
  .#{$prefix}--list-box--disabled .#{$prefix}--list-box__selection--multi {
482
- @include tag-theme($text-disabled, $field-disabled);
482
+ @include tag-theme($text-disabled, $field);
483
483
 
484
484
  > svg {
485
485
  fill: $icon-disabled;
@@ -91,8 +91,7 @@
91
91
  height: auto;
92
92
  max-height: 90%;
93
93
 
94
- .#{$prefix}--modal-header,
95
- .#{$prefix}--modal-content,
94
+ .#{$prefix}--modal-content p,
96
95
  .#{$prefix}--modal-content__regular-content {
97
96
  padding-right: 20%;
98
97
  }
@@ -176,8 +175,7 @@
176
175
  @include breakpoint(xlg) {
177
176
  width: 36%;
178
177
 
179
- .#{$prefix}--modal-header,
180
- .#{$prefix}--modal-content,
178
+ .#{$prefix}--modal-content p,
181
179
  .#{$prefix}--modal-content__regular-content {
182
180
  padding-right: 20%;
183
181
  }
@@ -203,8 +201,7 @@
203
201
  @include breakpoint(md) {
204
202
  width: 96%;
205
203
 
206
- .#{$prefix}--modal-header,
207
- .#{$prefix}--modal-content,
204
+ .#{$prefix}--modal-content p,
208
205
  .#{$prefix}--modal-content__regular-content {
209
206
  padding-right: 20%;
210
207
  }
@@ -324,5 +324,8 @@
324
324
  .#{$prefix}--inline-notification__icon {
325
325
  @include high-contrast-mode('icon-fill');
326
326
  }
327
+ .#{$prefix}--inline-notification__close-icon {
328
+ @include high-contrast-mode('icon-fill');
329
+ }
327
330
  /* stylelint-enable */
328
331
  }
@@ -255,6 +255,9 @@
255
255
  .#{$prefix}--toast-notification__close-button:focus {
256
256
  @include high-contrast-mode('focus');
257
257
  }
258
+ .#{$prefix}--toast-notification__close-icon {
259
+ @include high-contrast-mode('icon-fill');
260
+ }
258
261
  .#{$prefix}--toast-notification__icon {
259
262
  @include high-contrast-mode('icon-fill');
260
263
  }
@@ -91,7 +91,7 @@
91
91
  .#{$prefix}--number input[type='number']:disabled,
92
92
  .#{$prefix}--number--readonly input[type='number'] {
93
93
  border-bottom-color: transparent;
94
- background-color: $field-disabled;
94
+ background-color: $field;
95
95
  color: $text-disabled;
96
96
  cursor: not-allowed;
97
97
  }
@@ -26,11 +26,11 @@
26
26
 
27
27
  .#{$prefix}--pagination {
28
28
  @include component-reset.reset;
29
- @include type-style('body-short-01');
29
+ @include type-style('body-compact-01');
30
30
 
31
31
  display: flex;
32
32
  width: calc(100% - 1px);
33
- min-height: 3rem;
33
+ min-height: rem(40px);
34
34
  align-items: center;
35
35
  justify-content: space-between;
36
36
  border-top: 1px solid $border-subtle;
@@ -62,6 +62,14 @@
62
62
  }
63
63
  }
64
64
 
65
+ .#{$prefix}--pagination--sm {
66
+ min-height: rem(32px);
67
+ }
68
+
69
+ .#{$prefix}--pagination--lg {
70
+ min-height: rem(48px);
71
+ }
72
+
65
73
  .#{$prefix}--pagination .#{$prefix}--select {
66
74
  height: 100%;
67
75
  align-items: center;
@@ -75,7 +83,16 @@
75
83
  .#{$prefix}--pagination .#{$prefix}--select-input {
76
84
  width: auto;
77
85
  min-width: auto;
78
- height: 3rem;
86
+ height: 100%;
87
+ line-height: rem(40px);
88
+ }
89
+
90
+ .#{$prefix}--pagination--sm .#{$prefix}--select-input {
91
+ line-height: rem(32px);
92
+ }
93
+
94
+ .#{$prefix}--pagination--lg .#{$prefix}--select-input {
95
+ line-height: rem(48px);
79
96
  }
80
97
 
81
98
  .#{$prefix}--pagination
@@ -85,7 +102,18 @@
85
102
  }
86
103
 
87
104
  .#{$prefix}--pagination .#{$prefix}--select-input:hover {
88
- background: $background-hover;
105
+ background: $layer-hover;
106
+ }
107
+
108
+ .#{$prefix}--pagination
109
+ .#{$prefix}--select--inline
110
+ .#{$prefix}--select-input:focus
111
+ option,
112
+ .#{$prefix}--pagination
113
+ .#{$prefix}--select--inline
114
+ .#{$prefix}--select-input:focus
115
+ optgroup {
116
+ background-color: $layer;
89
117
  }
90
118
 
91
119
  .#{$prefix}--pagination .#{$prefix}--select__arrow {
@@ -108,7 +136,7 @@
108
136
  .#{$prefix}--pagination__left,
109
137
  .#{$prefix}--pagination__right {
110
138
  display: flex;
111
- height: 3rem;
139
+ height: 100%;
112
140
  align-items: center;
113
141
  }
114
142
 
@@ -155,8 +183,9 @@
155
183
  @include component-reset.reset;
156
184
 
157
185
  display: flex;
158
- width: $spacing-09;
159
- height: 100%;
186
+ width: rem(40px);
187
+ height: rem(40px);
188
+ min-height: rem(32px);
160
189
  align-items: center;
161
190
  justify-content: center;
162
191
  border: none;
@@ -169,6 +198,20 @@
169
198
  background-color $duration-fast-02 motion(standard, productive);
170
199
  }
171
200
 
201
+ .#{$prefix}--pagination--sm .#{$prefix}--pagination__button,
202
+ .#{$prefix}--pagination--sm
203
+ .#{$prefix}--btn--ghost.#{$prefix}--pagination__button {
204
+ width: rem(32px);
205
+ height: rem(32px);
206
+ }
207
+
208
+ .#{$prefix}--pagination--lg .#{$prefix}--pagination__button,
209
+ .#{$prefix}--pagination--lg
210
+ .#{$prefix}--btn--ghost.#{$prefix}--pagination__button {
211
+ width: rem(48px);
212
+ height: rem(48px);
213
+ }
214
+
172
215
  .#{$prefix}--pagination__button:focus,
173
216
  .#{$prefix}--btn--ghost:focus.#{$prefix}--pagination__button {
174
217
  @include focus-outline('outline');
@@ -90,7 +90,7 @@
90
90
  &:disabled,
91
91
  &:hover:disabled {
92
92
  border-bottom-color: $border-disabled;
93
- background-color: $field-disabled;
93
+ background-color: $field;
94
94
  color: $text-disabled;
95
95
  cursor: not-allowed;
96
96
  }
@@ -214,9 +214,14 @@
214
214
  color: $text-primary;
215
215
  }
216
216
 
217
+ .#{$prefix}--select--inline .#{$prefix}--select-input:focus option,
218
+ .#{$prefix}--select--inline .#{$prefix}--select-input:focus optgroup {
219
+ background-color: $background;
220
+ }
221
+
217
222
  .#{$prefix}--select--inline .#{$prefix}--select-input[disabled],
218
223
  .#{$prefix}--select--inline .#{$prefix}--select-input[disabled]:hover {
219
- background-color: $field-disabled;
224
+ background-color: $field;
220
225
  }
221
226
 
222
227
  .#{$prefix}--select--inline .#{$prefix}--select__arrow {
@@ -185,7 +185,7 @@
185
185
  .#{$prefix}--slider-text-input,
186
186
  .#{$prefix}--slider--disabled ~ .#{$prefix}--slider-text-input {
187
187
  border: none;
188
- background-color: $field-disabled;
188
+ background-color: $field;
189
189
  color: $text-disabled;
190
190
  cursor: not-allowed;
191
191
  transition: none;
@@ -23,12 +23,15 @@
23
23
  @use '../../utilities/rotate' as *;
24
24
  @use '../../utilities/box-shadow' as *;
25
25
  @use '../../utilities/component-tokens' as *;
26
+ @use '../../utilities/custom-property';
26
27
  @use '../../utilities/skeleton' as *;
27
28
  @use '../../utilities/visually-hidden' as *;
28
29
  @use '../../utilities/button-reset';
29
30
  @use '../../utilities/high-contrast-mode' as *;
30
31
  @use '../../utilities/convert' as *;
31
32
 
33
+ $icon-tab-size: custom-property.get-var('icon-tab-size', rem(40px));
34
+
32
35
  /// Tabs styles
33
36
  /// @access public
34
37
  /// @group tabs
@@ -244,6 +247,24 @@
244
247
  text-align: left;
245
248
  }
246
249
 
250
+ //-----------------------------
251
+ // Icon Item
252
+ //-----------------------------
253
+
254
+ .#{$prefix}--tabs__nav-item--icon,
255
+ &.#{$prefix}--tabs--contained .#{$prefix}--tabs__nav-item--icon {
256
+ display: flex;
257
+ width: $icon-tab-size;
258
+ height: $icon-tab-size;
259
+ align-items: center;
260
+ justify-content: center;
261
+ padding: 0;
262
+ }
263
+
264
+ &.#{$prefix}--tabs__icon--lg {
265
+ @include custom-property.declaration('icon-tab-size', rem(48px));
266
+ }
267
+
247
268
  //-----------------------------
248
269
  // Item Hover
249
270
  //-----------------------------
@@ -123,7 +123,7 @@
123
123
  .#{$prefix}--tag--disabled,
124
124
  .#{$prefix}--tag--filter.#{$prefix}--tag--disabled,
125
125
  .#{$prefix}--tag--interactive.#{$prefix}--tag--disabled {
126
- @include tag-theme($layer-disabled, $text-disabled);
126
+ @include tag-theme($layer, $text-disabled);
127
127
 
128
128
  &:hover {
129
129
  cursor: not-allowed;