@carbon/styles 1.104.0 → 1.105.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.104.0",
4
+ "version": "1.105.0-rc.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -40,14 +40,14 @@
40
40
  }
41
41
  },
42
42
  "dependencies": {
43
- "@carbon/colors": "^11.50.0",
44
- "@carbon/feature-flags": "^1.2.0",
45
- "@carbon/grid": "^11.53.0",
46
- "@carbon/layout": "^11.51.0",
47
- "@carbon/motion": "^11.44.0",
48
- "@carbon/themes": "^11.71.0",
49
- "@carbon/type": "^11.57.0",
50
- "@ibm/plex": "6.0.0-next.6",
43
+ "@carbon/colors": "^11.51.0-rc.0",
44
+ "@carbon/feature-flags": "^1.3.0-rc.0",
45
+ "@carbon/grid": "^11.54.0-rc.0",
46
+ "@carbon/layout": "^11.52.0-rc.0",
47
+ "@carbon/motion": "^11.45.0-rc.0",
48
+ "@carbon/themes": "^11.72.0-rc.0",
49
+ "@carbon/type": "^11.58.0-rc.0",
50
+ "@ibm/plex": "6.4.1",
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",
@@ -75,5 +75,5 @@
75
75
  "scss/**/*.css",
76
76
  "css/**/*.css"
77
77
  ],
78
- "gitHead": "937649543e9cc6af9dfb6b53a2adb76760bca986"
78
+ "gitHead": "20a00767571db791cac99d499527e2f995ead478"
79
79
  }
@@ -217,6 +217,8 @@ describe('@carbon/styles/scss/theme', () => {
217
217
  "syntax-standard",
218
218
  "syntax-local",
219
219
  "syntax-special",
220
+ "syntax-inserted",
221
+ "syntax-deleted",
220
222
  "ai-popover-background",
221
223
  "ai-popover-shadow-outer-01",
222
224
  "ai-popover-shadow-outer-02",
@@ -164,8 +164,10 @@
164
164
  $button-tertiary-active
165
165
  );
166
166
 
167
- &:hover {
168
- color: $text-inverse;
167
+ @media (any-hover: hover) {
168
+ &:hover {
169
+ color: $text-inverse;
170
+ }
169
171
  }
170
172
 
171
173
  &:focus {
@@ -211,13 +213,16 @@
211
213
  margin-inline-start: $spacing-03;
212
214
  }
213
215
 
214
- &:hover,
215
- &:active {
216
- color: $link-primary-hover;
216
+ // Apply hover styles only on devices that support hover
217
+ @media (hover: hover) {
218
+ &:hover {
219
+ color: $link-primary-hover;
220
+ }
217
221
  }
218
222
 
219
223
  &:active {
220
224
  background-color: $background-active;
225
+ color: $link-primary-hover;
221
226
  }
222
227
 
223
228
  &:disabled,
@@ -347,9 +352,11 @@
347
352
  $button-danger-active
348
353
  );
349
354
 
350
- &:hover {
351
- border-color: $button-danger-hover;
352
- color: $text-on-color;
355
+ @media (hover: hover) {
356
+ &:hover {
357
+ border-color: $button-danger-hover;
358
+ color: $text-on-color;
359
+ }
353
360
  }
354
361
 
355
362
  &:focus {
@@ -394,7 +401,12 @@
394
401
  margin-inline-start: $spacing-03;
395
402
  }
396
403
 
397
- &:hover,
404
+ @media (hover: hover) {
405
+ &:hover {
406
+ color: $text-on-color;
407
+ }
408
+ }
409
+
398
410
  &:active {
399
411
  color: $text-on-color;
400
412
  }
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2016, 2023
2
+ // Copyright IBM Corp. 2016, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -123,8 +123,11 @@ $button-focus-color: custom-property.get-var('button-focus-color', $focus);
123
123
  background-color: $bg-color;
124
124
  color: $font-color;
125
125
 
126
- &:hover {
127
- background-color: $hover-bg-color;
126
+ // Apply hover styles only on devices that support hover
127
+ @media (any-hover: hover) {
128
+ &:hover {
129
+ background-color: $hover-bg-color;
130
+ }
128
131
  }
129
132
 
130
133
  &:focus {
@@ -1,5 +1,5 @@
1
1
  //
2
- // Copyright IBM Corp. 2014, 2025
2
+ // Copyright IBM Corp. 2014, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
@@ -267,6 +267,8 @@
267
267
 
268
268
  .#{$prefix}--dialog-container {
269
269
  display: grid;
270
+ box-sizing: border-box;
271
+ border: 1px solid $border-subtle-01;
270
272
  background-color: $layer;
271
273
  grid-template-areas:
272
274
  'header'
@@ -318,6 +320,11 @@
318
320
  mask-image: none;
319
321
  }
320
322
 
323
+ .#{$prefix}--dialog-scroll-content.#{$prefix}--dialog-scroll-content--no-fade,
324
+ .#{$prefix}--dialog-scroll-content--no-fade {
325
+ mask-image: none;
326
+ }
327
+
321
328
  .#{$prefix}--dialog-footer {
322
329
  display: flex;
323
330
  align-items: center;
@@ -26,8 +26,8 @@
26
26
  .#{$prefix}--dropdown__wrapper--inline {
27
27
  display: inline-grid;
28
28
  align-items: center;
29
- grid-gap: 0 convert.to-rem(24px);
30
- grid-template: auto / auto min-content;
29
+ grid-gap: 0 convert.to-rem(8px);
30
+ grid-template: auto / auto min-content auto;
31
31
 
32
32
  &:has(.#{$prefix}--label.#{$prefix}--visually-hidden) {
33
33
  grid-template: auto / auto;
@@ -44,7 +44,7 @@
44
44
  }
45
45
 
46
46
  .#{$prefix}--form-requirement {
47
- grid-column: 2;
47
+ grid-column: 3;
48
48
  }
49
49
  }
50
50
 
@@ -76,7 +76,7 @@ $list-box-menu-width: convert.to-rem(300px);
76
76
  }
77
77
 
78
78
  .#{$prefix}--form-requirement {
79
- grid-column: 2;
79
+ grid-column: 3;
80
80
  }
81
81
  }
82
82
 
@@ -206,11 +206,11 @@
206
206
 
207
207
  span.#{$prefix}--pagination__text {
208
208
  color: $text-primary;
209
- margin-inline-start: $spacing-05;
210
209
  }
211
210
 
212
211
  span.#{$prefix}--pagination__text.#{$prefix}--pagination__items-count {
213
212
  color: $text-secondary;
213
+ margin-inline-start: $spacing-05;
214
214
  }
215
215
 
216
216
  .#{$prefix}--pagination__button,
@@ -154,29 +154,8 @@
154
154
  inset-block-start: 0;
155
155
  inset-inline-end: 0;
156
156
 
157
- &::before {
158
- position: absolute;
159
- display: block;
160
- background-color: $field;
161
- block-size: calc(100% - 2px);
162
- content: '';
163
- inline-size: 2px;
164
- inset-block-start: convert.to-rem(1px);
165
- inset-inline-start: 0;
166
- transition: background-color $duration-fast-02
167
- motion(standard, productive);
168
-
169
- @media screen and (prefers-reduced-motion: reduce) {
170
- transition: none;
171
- }
172
- }
173
-
174
157
  &:hover {
175
158
  border-block-end: 1px solid $border-strong;
176
-
177
- &::before {
178
- background-color: $field-hover;
179
- }
180
159
  }
181
160
  }
182
161
 
@@ -191,7 +170,10 @@
191
170
  }
192
171
  }
193
172
 
173
+ // Keep the clear icon above the hover fill overlay.
194
174
  .#{$prefix}--search-close svg {
175
+ position: relative;
176
+ z-index: 1;
195
177
  fill: inherit;
196
178
  }
197
179
 
@@ -200,7 +182,7 @@
200
182
  display: flex;
201
183
  align-items: center;
202
184
  justify-content: center;
203
- border-width: 1px 0;
185
+ border-width: 0 0 1px;
204
186
  border-style: solid;
205
187
  border-color: transparent;
206
188
  block-size: convert.to-rem(40px);
@@ -208,11 +190,6 @@
208
190
  fill: $icon-primary;
209
191
  inline-size: convert.to-rem(40px);
210
192
  opacity: 1;
211
- transition:
212
- opacity $duration-fast-02 motion(standard, productive),
213
- background-color $duration-fast-02 motion(standard, productive),
214
- outline $duration-fast-02 motion(standard, productive),
215
- border $duration-fast-02 motion(standard, productive);
216
193
  visibility: inherit;
217
194
 
218
195
  &:hover {
@@ -230,6 +207,22 @@
230
207
  }
231
208
  }
232
209
 
210
+ // Preserve the field focus outline while the clear button is hovered.
211
+ .#{$prefix}--search-input:focus ~ .#{$prefix}--search-close:hover {
212
+ background-color: transparent;
213
+ border-block-end-color: transparent;
214
+ outline: none;
215
+
216
+ &::after {
217
+ position: absolute;
218
+ background-color: $field-hover;
219
+ content: '';
220
+ inset-block: $spacing-01;
221
+ inset-inline: 0 $spacing-01;
222
+ pointer-events: none;
223
+ }
224
+ }
225
+
233
226
  .#{$prefix}--search--disabled .#{$prefix}--search-close,
234
227
  .#{$prefix}--search--disabled.#{$prefix}--search--expandable
235
228
  .#{$prefix}--search-magnifier {
@@ -250,17 +243,6 @@
250
243
  fill: $icon-on-color-disabled;
251
244
  }
252
245
 
253
- .#{$prefix}--search-close:focus,
254
- .#{$prefix}--search-close:active {
255
- &::before {
256
- background-color: $focus;
257
- }
258
- }
259
-
260
- .#{$prefix}--search-input:focus ~ .#{$prefix}--search-close:hover {
261
- @include focus-outline('outline');
262
- }
263
-
264
246
  // Small
265
247
  .#{$prefix}--search--sm {
266
248
  .#{$prefix}--search-close,
@@ -39,6 +39,13 @@ Map {
39
39
  "normal",
40
40
  "italic",
41
41
  },
42
+ "unicodeRange": Set {
43
+ "U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525",
44
+ "U+03C0, U+0E3F, U+2000-200D, U+2028-2029, U+202F, U+2032-2033, U+205F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+2500-259F, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+3000, U+FEFF, U+FFFD",
45
+ "U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB",
46
+ "U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF",
47
+ "U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02",
48
+ },
42
49
  "weights": Set {
43
50
  "300",
44
51
  "400",
@@ -82,6 +89,13 @@ Map {
82
89
  "normal",
83
90
  "italic",
84
91
  },
92
+ "unicodeRange": Set {
93
+ "U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525",
94
+ "U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD",
95
+ "U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB",
96
+ "U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF",
97
+ "U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02",
98
+ },
85
99
  "weights": Set {
86
100
  "300",
87
101
  "400",
@@ -125,6 +139,13 @@ Map {
125
139
  "normal",
126
140
  "italic",
127
141
  },
142
+ "unicodeRange": Set {
143
+ "U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525",
144
+ "U+0E3F, U+2000-200D, U+2010-2012, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+2219-221A, U+221E, U+222B, U+2236, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD",
145
+ "U+0102-0103, U+01CD-01DC, U+1EA0-1EF9, U+20AB",
146
+ "U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF",
147
+ "U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02",
148
+ },
128
149
  "weights": Set {
129
150
  "300",
130
151
  "400",
@@ -54,6 +54,7 @@ describe('@carbon/styles/scss/fonts', () => {
54
54
  weights: new Set(),
55
55
  styles: new Set(),
56
56
  src: new Set(),
57
+ unicodeRange: new Set(),
57
58
  });
58
59
  }
59
60
 
@@ -71,6 +72,10 @@ describe('@carbon/styles/scss/fonts', () => {
71
72
  if (declaration.property === 'src') {
72
73
  entry.src.add(declaration.value);
73
74
  }
75
+
76
+ if (declaration.property === 'unicode-range') {
77
+ entry.unicodeRange.add(declaration.value);
78
+ }
74
79
  }
75
80
  }
76
81
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  @use '../config';
9
9
  @use './src';
10
- @use './unicode';
10
+ @use './unicode/mono' as unicode;
11
11
 
12
12
  $font-family: 'IBM Plex Mono';
13
13
  $name: 'IBM-Plex-Mono';
@@ -7,7 +7,7 @@
7
7
 
8
8
  @use '../config';
9
9
  @use './src';
10
- @use './unicode';
10
+ @use './unicode/sans' as unicode;
11
11
 
12
12
  $font-family: 'IBM Plex Sans';
13
13
  $name: 'IBM-Plex-Sans';
@@ -7,7 +7,7 @@
7
7
 
8
8
  @use '../config';
9
9
  @use './src';
10
- @use './unicode';
10
+ @use './unicode/serif' as unicode;
11
11
 
12
12
  $font-family: 'IBM Plex Serif';
13
13
  $name: 'IBM-Plex-Serif';
@@ -1,124 +1,19 @@
1
1
  //
2
- // Copyright IBM Corp. 2018, 2023
2
+ // Copyright IBM Corp. 2018, 2026
3
3
  //
4
4
  // This source code is licensed under the Apache-2.0 license found in the
5
5
  // LICENSE file in the root directory of this source tree.
6
6
  //
7
7
 
8
- @use 'sass:map';
8
+ @use './sans';
9
9
 
10
- /// All available unicode ranges where the keys are unicode range names and the
11
- /// value is the list of unicode ranges that are applicable
12
- /// @type {List}
13
- $ranges: (
14
- Cyrillic: (
15
- U+0400-045F,
16
- U+0472-0473,
17
- U+0490-049D,
18
- U+04A0-04A5,
19
- U+04AA-04AB,
20
- U+04AE-04B3,
21
- U+04B6-04BB,
22
- U+04C0-04C2,
23
- U+04CF-04D9,
24
- U+04DC-04DF,
25
- U+04E2-04E9,
26
- U+04EE-04F5,
27
- U+04F8-04F9,
28
- ),
29
- Greek: (
30
- U+0384-038A,
31
- U+038C,
32
- U+038E-03A1,
33
- U+03A3-03CE,
34
- ),
35
- Latin1: (
36
- U+0000,
37
- U+000D,
38
- U+0020-007E,
39
- U+00A0-00A3,
40
- U+00A4-00FF,
41
- U+0131,
42
- U+0152-0153,
43
- U+02C6,
44
- U+02DA,
45
- U+02DC,
46
- U+2013-2014,
47
- U+2018-201A,
48
- U+201C-201E,
49
- U+2020-2022,
50
- U+2026,
51
- U+2030,
52
- U+2039-203A,
53
- U+2044,
54
- U+2074,
55
- U+20AC,
56
- U+2122,
57
- U+2212,
58
- U+FB01-FB02,
59
- ),
60
- Latin2: (
61
- U+0100-024F,
62
- U+0259,
63
- U+1E00-1EFF,
64
- U+20A0-20AB,
65
- U+20AD-20CF,
66
- U+2C60-2C7F,
67
- U+A720-A7FF,
68
- U+FB01-FB02,
69
- ),
70
- Latin3: (
71
- U+0102-0103,
72
- U+1EA0-1EF9,
73
- U+20AB,
74
- ),
75
- Pi: (
76
- U+0E3F,
77
- U+2032-2033,
78
- U+2070,
79
- U+2075-2079,
80
- U+2080-2081,
81
- U+2083,
82
- U+2085-2089,
83
- U+2113,
84
- U+2116,
85
- U+2126,
86
- U+212E,
87
- U+2150-2151,
88
- U+2153-215E,
89
- U+2190-2199,
90
- U+21A9-21AA,
91
- U+21B0-21B3,
92
- U+21B6-21B7,
93
- U+21BA-21BB,
94
- U+21C4,
95
- U+21C6,
96
- U+2202,
97
- U+2206,
98
- U+220F,
99
- U+2211,
100
- U+221A,
101
- U+221E,
102
- U+222B,
103
- U+2248,
104
- U+2260,
105
- U+2264-2265,
106
- U+25CA,
107
- U+2713,
108
- U+274C,
109
- U+2B0E-2B11,
110
- U+EBE1-EBE7,
111
- U+ECE0,
112
- U+EFCC,
113
- ),
114
- );
10
+ /// @deprecated Will be removed in Carbon v12. Use the exported $ranges from the ./sans, ./serif, and ./mono modules instead.
11
+ $ranges: sans.$ranges;
115
12
 
116
13
  /// Retrieve the unicode range for a given unicode range name
117
14
  /// @param {String} $name
118
15
  /// @returns {List}
16
+ /// @deprecated Will be removed in Carbon v12. Use the exported get-range function from the ./sans, ./serif, and ./mono modules instead.
119
17
  @function get-range($name) {
120
- @if map.has-key($ranges, $name) {
121
- @return map.get($ranges, $name);
122
- }
123
- @error 'Unable to find range with the name: #{$name}';
18
+ @return sans.get-range($name);
124
19
  }
@@ -0,0 +1,132 @@
1
+ //
2
+ // Copyright IBM Corp. 2026
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:map';
9
+
10
+ /// All available unicode ranges where the keys are unicode range names and the
11
+ /// value is the list of unicode ranges that are applicable
12
+ /// @type {List}
13
+ $ranges: (
14
+ Cyrillic: (
15
+ U+0400-045F,
16
+ U+0462-0463,
17
+ U+046A-046B,
18
+ U+0472-0475,
19
+ U+0490-04C2,
20
+ U+04CF-04D9,
21
+ U+04DC-04E9,
22
+ U+04EE-04F9,
23
+ U+0524-0525,
24
+ ),
25
+ Latin1: (
26
+ U+0020-007E,
27
+ U+00A0-00FF,
28
+ U+0131,
29
+ U+0152-0153,
30
+ U+02C6,
31
+ U+02DA,
32
+ U+02DC,
33
+ U+2013-2014,
34
+ U+2018-201A,
35
+ U+201C-201E,
36
+ U+2020-2022,
37
+ U+2026,
38
+ U+2030,
39
+ U+2039-203A,
40
+ U+2044,
41
+ U+20AC,
42
+ U+2122,
43
+ U+2212,
44
+ U+FB01-FB02,
45
+ ),
46
+ Latin2: (
47
+ U+0100-0101,
48
+ U+0104-0130,
49
+ U+0132-0151,
50
+ U+0154-017F,
51
+ U+018F,
52
+ U+0192,
53
+ U+01A0-01A1,
54
+ U+01AF-01B0,
55
+ U+01FA-01FF,
56
+ U+0218-021B,
57
+ U+0237,
58
+ U+0259,
59
+ U+1E80-1E85,
60
+ U+1E9E,
61
+ U+20A1,
62
+ U+20A4,
63
+ U+20A6,
64
+ U+20A8-20AA,
65
+ U+20AD-20AE,
66
+ U+20B1-20B2,
67
+ U+20B4-20B5,
68
+ U+20B8-20BA,
69
+ U+20BD,
70
+ U+20BF,
71
+ ),
72
+ Latin3: (
73
+ U+0102-0103,
74
+ U+01CD-01DC,
75
+ U+1EA0-1EF9,
76
+ U+20AB,
77
+ ),
78
+ Pi: (
79
+ U+03C0,
80
+ U+0E3F,
81
+ U+2000-200D,
82
+ U+2028-2029,
83
+ U+202F,
84
+ U+2032-2033,
85
+ U+205F,
86
+ U+2070,
87
+ U+2074-2079,
88
+ U+2080-2089,
89
+ U+2113,
90
+ U+2116,
91
+ U+2126,
92
+ U+212E,
93
+ U+2150-2151,
94
+ U+2153-215E,
95
+ U+2190-2199,
96
+ U+21A9-21AA,
97
+ U+21B0-21B3,
98
+ U+21B6-21B7,
99
+ U+21BA-21BB,
100
+ U+21C4,
101
+ U+21C6,
102
+ U+2202,
103
+ U+2206,
104
+ U+220F,
105
+ U+2211,
106
+ U+2215,
107
+ U+221A,
108
+ U+221E,
109
+ U+222B,
110
+ U+2248,
111
+ U+2260,
112
+ U+2264-2265,
113
+ U+2500-259F,
114
+ U+25CA,
115
+ U+2713,
116
+ U+274C,
117
+ U+2B0E-2B11,
118
+ U+3000,
119
+ U+FEFF,
120
+ U+FFFD,
121
+ ),
122
+ );
123
+
124
+ /// Retrieve the unicode range for a given unicode range name
125
+ /// @param {String} $name
126
+ /// @returns {List}
127
+ @function get-range($name) {
128
+ @if map.has-key($ranges, $name) {
129
+ @return map.get($ranges, $name);
130
+ }
131
+ @error 'Unable to find range with the name: #{$name}';
132
+ }