@carbon/styles 0.10.0 → 0.12.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/docs/sass.md CHANGED
@@ -120,23 +120,6 @@ to `false`:
120
120
  );
121
121
  ```
122
122
 
123
- ### Emitting additional typefaces
124
-
125
- When using the font-face declarations, only `IBM Plex Sans` and `IBM Plex Mono`
126
- are emitted. If you would like to emit additional typefaces, like
127
- `IBM Plex Sans Arabic`, you can set additional config tokens:
128
-
129
- ```scss
130
- @use '@carbon/styles/scss/config' with (
131
- $css--plex-arabic: true,
132
- );
133
- ```
134
-
135
- | IBM Plex Language | Token |
136
- | :---------------- | :------------------ |
137
- | Arabic | `$css--plex-arabic` |
138
- | TODO | `TODO` |
139
-
140
123
  ## Grid
141
124
 
142
125
  | Import | Filepath |
package/index.scss CHANGED
@@ -7,7 +7,6 @@
7
7
 
8
8
  @forward 'scss/config';
9
9
  @forward 'scss/colors' hide $white;
10
- @forward 'scss/font-face';
11
10
  @forward 'scss/grid';
12
11
  @forward 'scss/motion';
13
12
  @forward 'scss/type';
@@ -15,4 +14,7 @@
15
14
  @forward 'scss/theme';
16
15
 
17
16
  @use 'scss/reset';
17
+ @forward 'scss/fonts';
18
+ @forward 'scss/layer';
19
+ @forward 'scss/zone';
18
20
  @use 'scss/components';
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.10.0",
4
+ "version": "0.12.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.47.0",
29
- "@carbon/type": "^10.38.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.49.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": "505af1963e6f78a204212e4f322c247f4eb4f217"
36
+ "gitHead": "ac4b4bf03cf93cb8463916231619fbfdc72f0be5"
37
37
  }
package/scss/_config.scss CHANGED
@@ -5,14 +5,7 @@
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  //
7
7
 
8
- /// The value used to prefix selectors and CSS Custom Properties across the
9
- /// codebase
10
- /// @access public
11
- /// @type String
12
- /// @group config
13
- $prefix: 'cds' !default;
14
-
15
- /// If true, includes font face mixins in `_css--font-face.scss` depending on the `css--plex` feature flag
8
+ /// If true, includes font face mixins from scss/fonts
16
9
  /// @access public
17
10
  /// @type Bool
18
11
  /// @group config
@@ -30,8 +23,28 @@ $css--reset: true !default;
30
23
  /// @group config
31
24
  $css--default-type: true !default;
32
25
 
33
- /// If true, include IBM Plex Arabic type
26
+ /// Specify the default value for the `font-display` property used for fonts
27
+ /// loaded with @font-face
34
28
  /// @access public
35
- /// @type Bool
29
+ /// @type String
30
+ /// @group config
31
+ $font-display: 'swap' !default;
32
+
33
+ /// Specify the base path for loading IBM Plex
34
+ /// @access public
35
+ /// @type String
36
+ /// @group config
37
+ $font-path: '~@ibm/plex' !default;
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
+
45
+ /// The value used to prefix selectors and CSS Custom Properties across the
46
+ /// codebase
47
+ /// @access public
48
+ /// @type String
36
49
  /// @group config
37
- $css--plex-arabic: false !default;
50
+ $prefix: 'cds' !default;
@@ -0,0 +1,112 @@
1
+ //
2
+ // Copyright IBM Corp. 2021
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 'sass:list';
9
+ @use 'sass:map';
10
+ @use './config' as *;
11
+ @use './theme';
12
+ @use './utilities/custom-property';
13
+
14
+ $-default-layer-sets: (
15
+ layer: (
16
+ theme.$layer-01,
17
+ theme.$layer-02,
18
+ theme.$layer-03,
19
+ ),
20
+ layer-active: (
21
+ theme.$layer-active-01,
22
+ theme.$layer-active-02,
23
+ theme.$layer-active-03,
24
+ ),
25
+ layer-hover: (
26
+ theme.$layer-hover-01,
27
+ theme.$layer-hover-02,
28
+ theme.$layer-hover-03,
29
+ ),
30
+ layer-selected: (
31
+ theme.$layer-selected-01,
32
+ theme.$layer-selected-02,
33
+ theme.$layer-selected-03,
34
+ ),
35
+ layer-selected-hover: (
36
+ theme.$layer-selected-hover-01,
37
+ theme.$layer-selected-hover-02,
38
+ theme.$layer-selected-hover-03,
39
+ ),
40
+ layer-accent: (
41
+ theme.$layer-accent-01,
42
+ theme.$layer-accent-02,
43
+ theme.$layer-accent-03,
44
+ ),
45
+ layer-accent-hover: (
46
+ theme.$layer-accent-hover-01,
47
+ theme.$layer-accent-hover-02,
48
+ theme.$layer-accent-hover-03,
49
+ ),
50
+ layer-accent-active: (
51
+ theme.$layer-accent-active-01,
52
+ theme.$layer-accent-active-02,
53
+ theme.$layer-accent-active-03,
54
+ ),
55
+ field: (
56
+ theme.$field-01,
57
+ theme.$field-02,
58
+ theme.$field-03,
59
+ ),
60
+ field-hover: (
61
+ theme.$field-hover-01,
62
+ theme.$field-hover-02,
63
+ theme.$field-hover-03,
64
+ ),
65
+ border-subtle: (
66
+ theme.$border-subtle-01,
67
+ theme.$border-subtle-02,
68
+ theme.$border-subtle-03,
69
+ ),
70
+ border-subtle-selected: (
71
+ theme.$border-subtle-selected-01,
72
+ theme.$border-subtle-selected-02,
73
+ theme.$border-subtle-selected-03,
74
+ ),
75
+ border-strong: (
76
+ theme.$border-strong-01,
77
+ theme.$border-strong-02,
78
+ theme.$border-strong-03,
79
+ ),
80
+ );
81
+
82
+ /// Define a map of layer sets, each set should have values for each layer in
83
+ /// the application. The key of this map is used for the CSS Custom Property
84
+ /// name whose value is updated as more layers are added.
85
+ /// @type {Map}
86
+ $layer-sets: () !default;
87
+ $layer-sets: map.deep-merge($-default-layer-sets, $layer-sets);
88
+
89
+ /// Emit the layer tokens defined in $layer-sets for the given $level
90
+ /// @param {Number} $level
91
+ @mixin -emit-layer-tokens($level) {
92
+ @each $key, $layer-set in $layer-sets {
93
+ $value: list.nth($layer-set, $level);
94
+ @include custom-property.declaration($key, $value);
95
+ }
96
+ }
97
+
98
+ :root {
99
+ @include -emit-layer-tokens(1);
100
+ }
101
+
102
+ .#{$prefix}--layer-one {
103
+ @include -emit-layer-tokens(1);
104
+ }
105
+
106
+ .#{$prefix}--layer-two {
107
+ @include -emit-layer-tokens(2);
108
+ }
109
+
110
+ .#{$prefix}--layer-three {
111
+ @include -emit-layer-tokens(3);
112
+ }
package/scss/_theme.scss CHANGED
@@ -19,75 +19,6 @@
19
19
  @forward '@carbon/themes/scss/modules/tokens';
20
20
  @use '@carbon/themes/scss/modules/tokens';
21
21
  @use './utilities/custom-property';
22
- @use './utilities/layer-set' with (
23
- $layer-sets: (
24
- layer: (
25
- tokens.$layer-01,
26
- tokens.$layer-02,
27
- tokens.$layer-03,
28
- ),
29
- layer-active: (
30
- tokens.$layer-active-01,
31
- tokens.$layer-active-02,
32
- tokens.$layer-active-03,
33
- ),
34
- layer-hover: (
35
- tokens.$layer-hover-01,
36
- tokens.$layer-hover-02,
37
- tokens.$layer-hover-03,
38
- ),
39
- layer-selected: (
40
- tokens.$layer-selected-01,
41
- tokens.$layer-selected-02,
42
- tokens.$layer-selected-03,
43
- ),
44
- layer-selected-hover: (
45
- tokens.$layer-selected-hover-01,
46
- tokens.$layer-selected-hover-02,
47
- tokens.$layer-selected-hover-03,
48
- ),
49
- layer-accent: (
50
- tokens.$layer-accent-01,
51
- tokens.$layer-accent-02,
52
- tokens.$layer-accent-03,
53
- ),
54
- layer-accent-hover: (
55
- tokens.$layer-accent-hover-01,
56
- tokens.$layer-accent-hover-02,
57
- tokens.$layer-accent-hover-03,
58
- ),
59
- layer-accent-active: (
60
- tokens.$layer-accent-active-01,
61
- tokens.$layer-accent-active-02,
62
- tokens.$layer-accent-active-03,
63
- ),
64
- field: (
65
- tokens.$field-01,
66
- tokens.$field-02,
67
- tokens.$field-03,
68
- ),
69
- field-hover: (
70
- tokens.$field-hover-01,
71
- tokens.$field-hover-02,
72
- tokens.$field-hover-03,
73
- ),
74
- border-subtle: (
75
- tokens.$border-subtle-01,
76
- tokens.$border-subtle-02,
77
- tokens.$border-subtle-03,
78
- ),
79
- border-subtle-selected: (
80
- tokens.$border-subtle-selected-01,
81
- tokens.$border-subtle-selected-02,
82
- tokens.$border-subtle-selected-03,
83
- ),
84
- border-strong: (
85
- tokens.$border-strong-01,
86
- tokens.$border-strong-02,
87
- tokens.$border-strong-03,
88
- ),
89
- ),
90
- );
91
22
 
92
23
  // Layer sets
93
24
  $layer: custom-property.get-var('layer');
package/scss/_zone.scss CHANGED
@@ -10,6 +10,8 @@
10
10
  @use './config';
11
11
  @use './themes';
12
12
  @use './theme';
13
+ // Inline themes depend on layer styles to property reset the layer level
14
+ @use './layer';
13
15
  @use './utilities/custom-property';
14
16
 
15
17
  /// Specify a Map of zones where the key will be used as part of the selector
@@ -330,11 +330,11 @@ $button-disabled: (
330
330
  ),
331
331
  (
332
332
  theme: themes.$g90,
333
- value: #6f6f6f,
333
+ value: rgba(141, 141, 141, 0.3),
334
334
  ),
335
335
  (
336
336
  theme: themes.$g100,
337
- value: #525252,
337
+ value: rgba(141, 141, 141, 0.3),
338
338
  ),
339
339
  ),
340
340
  ) !default;
@@ -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
 
@@ -743,8 +743,8 @@ $list-box-menu-width: rem(300px);
743
743
 
744
744
  .#{$prefix}--list-box__menu-item--active:hover,
745
745
  .#{$prefix}--list-box__menu-item--active.#{$prefix}--list-box__menu-item--highlighted {
746
- border-bottom-color: $layer-selected;
747
- background-color: $layer-selected;
746
+ border-bottom-color: $layer-selected-hover;
747
+ background-color: $layer-selected-hover;
748
748
  }
749
749
 
750
750
  .#{$prefix}--list-box__menu-item--active
@@ -121,15 +121,15 @@ $radio-border-width: 1px !default;
121
121
  }
122
122
  }
123
123
 
124
- .#{$prefix}--radio-button:button-disabled + .#{$prefix}--radio-button__label {
124
+ .#{$prefix}--radio-button:disabled + .#{$prefix}--radio-button__label {
125
125
  color: $button-disabled;
126
126
  cursor: not-allowed;
127
127
  }
128
128
 
129
- .#{$prefix}--radio-button:button-disabled
129
+ .#{$prefix}--radio-button:disabled
130
130
  + .#{$prefix}--radio-button__label
131
131
  .#{$prefix}--radio-button__appearance,
132
- .#{$prefix}--radio-button:button-disabled:checked
132
+ .#{$prefix}--radio-button:disabled:checked
133
133
  + .#{$prefix}--radio-button__label
134
134
  .#{$prefix}--radio-button__appearance {
135
135
  border-color: $border-disabled;