igniteui-theming 5.0.1 → 5.1.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/json/colors/presets/palettes.json +1 -1
- package/json/elevations/indigo.json +1 -0
- package/json/elevations/material.json +1 -0
- package/json/typography/presets/typescales.json +1 -1
- package/package.json +22 -12
- package/sass/animations/entrances/_flicker.scss +47 -17
- package/sass/animations/exits/_flicker.scss +47 -17
- package/sass/animations/generic/_shadows.scss +104 -24
- package/sass/color/_functions.scss +2 -0
- package/sass/color/presets/dark/_bootstrap.scss +0 -3
- package/sass/color/presets/dark/_extra.scss +0 -3
- package/sass/color/presets/dark/_fluent.scss +0 -3
- package/sass/color/presets/dark/_indigo.scss +0 -3
- package/sass/color/presets/dark/_material.scss +0 -3
- package/sass/color/presets/light/_bootstrap.scss +0 -3
- package/sass/color/presets/light/_extra.scss +0 -3
- package/sass/color/presets/light/_fluent.scss +0 -3
- package/sass/color/presets/light/_indigo.scss +0 -3
- package/sass/color/presets/light/_material.scss +0 -3
- package/sass/elevations/presets/_indigo.scss +0 -5
- package/sass/elevations/presets/_material.scss +0 -5
- package/sass/json/README.md +108 -0
- package/sass/json/generators.scss +98 -0
- package/sass/themes/schemas/components/light/_drop-down.scss +4 -4
- package/sass/themes/schemas/components/light/_switch.scss +2 -0
- package/sass/typography/presets/_bootstrap.scss +19 -22
- package/sass/typography/presets/_fluent.scss +17 -20
- package/sass/typography/presets/_indigo.scss +0 -3
- package/sass/typography/presets/_material.scss +0 -3
- package/json/elevations/elevations.json +0 -1
|
@@ -24,11 +24,15 @@
|
|
|
24
24
|
@mixin shadow-drop-tb {
|
|
25
25
|
@include keyframes(shadow-drop-tb) {
|
|
26
26
|
0% {
|
|
27
|
-
box-shadow:
|
|
27
|
+
box-shadow:
|
|
28
|
+
0 0 0 0 rgb(0 0 0 / 0%),
|
|
29
|
+
0 0 0 0 rgb(0 0 0 / 0%);
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
100% {
|
|
31
|
-
box-shadow:
|
|
33
|
+
box-shadow:
|
|
34
|
+
0 -12px 20px -12px rgb(0 0 0 / 35%),
|
|
35
|
+
0 12px 20px -12px rgb(0 0 0 / 35%);
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
38
|
}
|
|
@@ -141,11 +145,15 @@
|
|
|
141
145
|
@mixin shadow-drop-lr {
|
|
142
146
|
@include keyframes(shadow-drop-lr) {
|
|
143
147
|
0% {
|
|
144
|
-
box-shadow:
|
|
148
|
+
box-shadow:
|
|
149
|
+
0 0 0 0 rgb(0 0 0 / 0%),
|
|
150
|
+
0 0 0 0 rgb(0 0 0 / 0%);
|
|
145
151
|
}
|
|
146
152
|
|
|
147
153
|
100% {
|
|
148
|
-
box-shadow:
|
|
154
|
+
box-shadow:
|
|
155
|
+
-12px 0 20px -12px rgb(0 0 0 / 35%),
|
|
156
|
+
12px 0 20px -12px rgb(0 0 0 / 35%);
|
|
149
157
|
}
|
|
150
158
|
}
|
|
151
159
|
}
|
|
@@ -170,12 +178,16 @@
|
|
|
170
178
|
@include keyframes(shadow-drop-2-tb) {
|
|
171
179
|
0% {
|
|
172
180
|
transform: translateZ(0);
|
|
173
|
-
box-shadow:
|
|
181
|
+
box-shadow:
|
|
182
|
+
0 0 0 0 rgb(0 0 0 / 0%),
|
|
183
|
+
0 0 0 0 rgb(0 0 0 / 0%);
|
|
174
184
|
}
|
|
175
185
|
|
|
176
186
|
100% {
|
|
177
187
|
transform: translateZ(50px);
|
|
178
|
-
box-shadow:
|
|
188
|
+
box-shadow:
|
|
189
|
+
0 -12px 20px -12px rgb(0 0 0 / 35%),
|
|
190
|
+
0 12px 20px -12px rgb(0 0 0 / 35%);
|
|
179
191
|
}
|
|
180
192
|
}
|
|
181
193
|
}
|
|
@@ -305,12 +317,16 @@
|
|
|
305
317
|
@include keyframes(shadow-drop-2-lr) {
|
|
306
318
|
0% {
|
|
307
319
|
transform: translateZ(0);
|
|
308
|
-
box-shadow:
|
|
320
|
+
box-shadow:
|
|
321
|
+
0 0 0 0 rgb(0 0 0 / 0%),
|
|
322
|
+
0 0 0 0 rgb(0 0 0 / 0%);
|
|
309
323
|
}
|
|
310
324
|
|
|
311
325
|
100% {
|
|
312
326
|
transform: translateZ(50px);
|
|
313
|
-
box-shadow:
|
|
327
|
+
box-shadow:
|
|
328
|
+
-12px 0 20px -12px rgb(0 0 0 / 35%),
|
|
329
|
+
12px 0 20px -12px rgb(0 0 0 / 35%);
|
|
314
330
|
}
|
|
315
331
|
}
|
|
316
332
|
}
|
|
@@ -319,14 +335,28 @@
|
|
|
319
335
|
@mixin shadow-pop-tr {
|
|
320
336
|
@include keyframes(shadow-pop-tr) {
|
|
321
337
|
0% {
|
|
322
|
-
box-shadow:
|
|
338
|
+
box-shadow:
|
|
339
|
+
0 0 #3e3e3e,
|
|
340
|
+
0 0 #3e3e3e,
|
|
341
|
+
0 0 #3e3e3e,
|
|
342
|
+
0 0 #3e3e3e,
|
|
343
|
+
0 0 #3e3e3e,
|
|
344
|
+
0 0 #3e3e3e,
|
|
345
|
+
0 0 #3e3e3e,
|
|
323
346
|
0 0 #3e3e3e;
|
|
324
347
|
transform: translateX(0) translateY(0);
|
|
325
348
|
}
|
|
326
349
|
|
|
327
350
|
100% {
|
|
328
|
-
box-shadow:
|
|
329
|
-
|
|
351
|
+
box-shadow:
|
|
352
|
+
1px -1px #3e3e3e,
|
|
353
|
+
2px -2px #3e3e3e,
|
|
354
|
+
3px -3px #3e3e3e,
|
|
355
|
+
4px -4px #3e3e3e,
|
|
356
|
+
5px -5px #3e3e3e,
|
|
357
|
+
6px -6px #3e3e3e,
|
|
358
|
+
7px -7px #3e3e3e,
|
|
359
|
+
8px -8px #3e3e3e;
|
|
330
360
|
transform: translateX(-8px) translateY(8px);
|
|
331
361
|
}
|
|
332
362
|
}
|
|
@@ -336,14 +366,28 @@
|
|
|
336
366
|
@mixin shadow-pop-br {
|
|
337
367
|
@include keyframes(shadow-pop-br) {
|
|
338
368
|
0% {
|
|
339
|
-
box-shadow:
|
|
369
|
+
box-shadow:
|
|
370
|
+
0 0 #3e3e3e,
|
|
371
|
+
0 0 #3e3e3e,
|
|
372
|
+
0 0 #3e3e3e,
|
|
373
|
+
0 0 #3e3e3e,
|
|
374
|
+
0 0 #3e3e3e,
|
|
375
|
+
0 0 #3e3e3e,
|
|
376
|
+
0 0 #3e3e3e,
|
|
340
377
|
0 0 #3e3e3e;
|
|
341
378
|
transform: translateX(0) translateY(0);
|
|
342
379
|
}
|
|
343
380
|
|
|
344
381
|
100% {
|
|
345
|
-
box-shadow:
|
|
346
|
-
|
|
382
|
+
box-shadow:
|
|
383
|
+
1px 1px #3e3e3e,
|
|
384
|
+
2px 2px #3e3e3e,
|
|
385
|
+
3px 3px #3e3e3e,
|
|
386
|
+
4px 4px #3e3e3e,
|
|
387
|
+
5px 5px #3e3e3e,
|
|
388
|
+
6px 6px #3e3e3e,
|
|
389
|
+
7px 7px #3e3e3e,
|
|
390
|
+
8px 8px #3e3e3e;
|
|
347
391
|
transform: translateX(-8px) translateY(-8px);
|
|
348
392
|
}
|
|
349
393
|
}
|
|
@@ -353,14 +397,28 @@
|
|
|
353
397
|
@mixin shadow-pop-bl {
|
|
354
398
|
@include keyframes(shadow-pop-bl) {
|
|
355
399
|
0% {
|
|
356
|
-
box-shadow:
|
|
400
|
+
box-shadow:
|
|
401
|
+
0 0 #3e3e3e,
|
|
402
|
+
0 0 #3e3e3e,
|
|
403
|
+
0 0 #3e3e3e,
|
|
404
|
+
0 0 #3e3e3e,
|
|
405
|
+
0 0 #3e3e3e,
|
|
406
|
+
0 0 #3e3e3e,
|
|
407
|
+
0 0 #3e3e3e,
|
|
357
408
|
0 0 #3e3e3e;
|
|
358
409
|
transform: translateX(0) translateY(0);
|
|
359
410
|
}
|
|
360
411
|
|
|
361
412
|
100% {
|
|
362
|
-
box-shadow:
|
|
363
|
-
-
|
|
413
|
+
box-shadow:
|
|
414
|
+
-1px 1px #3e3e3e,
|
|
415
|
+
-2px 2px #3e3e3e,
|
|
416
|
+
-3px 3px #3e3e3e,
|
|
417
|
+
-4px 4px #3e3e3e,
|
|
418
|
+
-5px 5px #3e3e3e,
|
|
419
|
+
-6px 6px #3e3e3e,
|
|
420
|
+
-7px 7px #3e3e3e,
|
|
421
|
+
-8px 8px #3e3e3e;
|
|
364
422
|
transform: translateX(8px) translateY(-8px);
|
|
365
423
|
}
|
|
366
424
|
}
|
|
@@ -370,14 +428,28 @@
|
|
|
370
428
|
@mixin shadow-pop-tl {
|
|
371
429
|
@include keyframes(shadow-pop-tl) {
|
|
372
430
|
0% {
|
|
373
|
-
box-shadow:
|
|
431
|
+
box-shadow:
|
|
432
|
+
0 0 #3e3e3e,
|
|
433
|
+
0 0 #3e3e3e,
|
|
434
|
+
0 0 #3e3e3e,
|
|
435
|
+
0 0 #3e3e3e,
|
|
436
|
+
0 0 #3e3e3e,
|
|
437
|
+
0 0 #3e3e3e,
|
|
438
|
+
0 0 #3e3e3e,
|
|
374
439
|
0 0 #3e3e3e;
|
|
375
440
|
transform: translateX(0) translateY(0);
|
|
376
441
|
}
|
|
377
442
|
|
|
378
443
|
100% {
|
|
379
|
-
box-shadow:
|
|
380
|
-
-
|
|
444
|
+
box-shadow:
|
|
445
|
+
-1px -1px #3e3e3e,
|
|
446
|
+
-2px -2px #3e3e3e,
|
|
447
|
+
-3px -3px #3e3e3e,
|
|
448
|
+
-4px -4px #3e3e3e,
|
|
449
|
+
-5px -5px #3e3e3e,
|
|
450
|
+
-6px -6px #3e3e3e,
|
|
451
|
+
-7px -7px #3e3e3e,
|
|
452
|
+
-8px -8px #3e3e3e;
|
|
381
453
|
transform: translateX(8px) translateY(8px);
|
|
382
454
|
}
|
|
383
455
|
}
|
|
@@ -387,11 +459,15 @@
|
|
|
387
459
|
@mixin shadow-inset-tb {
|
|
388
460
|
@include keyframes(shadow-inset-tb) {
|
|
389
461
|
0% {
|
|
390
|
-
box-shadow:
|
|
462
|
+
box-shadow:
|
|
463
|
+
inset 0 0 0 0 rgb(0 0 0 / 0%),
|
|
464
|
+
inset 0 0 0 0 rgb(0 0 0 / 0%);
|
|
391
465
|
}
|
|
392
466
|
|
|
393
467
|
100% {
|
|
394
|
-
box-shadow:
|
|
468
|
+
box-shadow:
|
|
469
|
+
inset 0 -6px 14px -6px rgb(0 0 0 / 50%),
|
|
470
|
+
inset 0 6px 14px -6px rgb(0 0 0 / 50%);
|
|
395
471
|
}
|
|
396
472
|
}
|
|
397
473
|
}
|
|
@@ -517,11 +593,15 @@
|
|
|
517
593
|
@mixin shadow-inset-lr {
|
|
518
594
|
@include keyframes(shadow-inset-lr) {
|
|
519
595
|
0% {
|
|
520
|
-
box-shadow:
|
|
596
|
+
box-shadow:
|
|
597
|
+
inset 0 0 0 0 rgb(0 0 0 / 0%),
|
|
598
|
+
inset 0 0 0 0 rgb(0 0 0 / 0%);
|
|
521
599
|
}
|
|
522
600
|
|
|
523
601
|
100% {
|
|
524
|
-
box-shadow:
|
|
602
|
+
box-shadow:
|
|
603
|
+
inset -6px 0 14px -6px rgb(0 0 0 / 50%),
|
|
604
|
+
inset 6px 0 14px -6px rgb(0 0 0 / 50%);
|
|
525
605
|
}
|
|
526
606
|
}
|
|
527
607
|
}
|
|
@@ -145,6 +145,8 @@ $_enhanced-accessibility: false;
|
|
|
145
145
|
to-fixed(color.saturation($color) * $sx),
|
|
146
146
|
to-fixed(color.lightness($color) * $lx)
|
|
147
147
|
);
|
|
148
|
+
|
|
149
|
+
// prettier-ignore
|
|
148
150
|
$hsl: #{$h, calc(#{$s} * #{$sx}), calc(#{$l} * #{$lx})};
|
|
149
151
|
|
|
150
152
|
@return (raw: $raw, hsl: $hsl);
|
|
@@ -48,9 +48,6 @@ $_22: box-shadow((0 10px 14px -6px $color-1, 0 22px 35px 3px $color-2, 0 8px 42p
|
|
|
48
48
|
$_23: box-shadow((0 0 16px 0 rgba(0 0 0 / 30%)));
|
|
49
49
|
$_24: box-shadow((0 0 16px 0 rgba(36 37 44 / 40%)));
|
|
50
50
|
|
|
51
|
-
/**
|
|
52
|
-
* @sass-export-section="indigo"
|
|
53
|
-
*/
|
|
54
51
|
/// А map of 24 shadow elevations with the umbra, penumbra and ambient shadows.
|
|
55
52
|
/// @type Map
|
|
56
53
|
/// @access private
|
|
@@ -81,5 +78,3 @@ $elevations: (
|
|
|
81
78
|
23: $_23,
|
|
82
79
|
24: $_24,
|
|
83
80
|
);
|
|
84
|
-
|
|
85
|
-
// @end-sass-export-section
|
|
@@ -48,9 +48,6 @@ $_22: box-shadow((0 10px 14px -6px $color-1, 0 22px 35px 3px $color-2, 0 8px 42p
|
|
|
48
48
|
$_23: box-shadow((0 11px 14px -7px $color-1, 0 23px 36px 3px $color-2, 0 9px 44px 8px $color-3));
|
|
49
49
|
$_24: box-shadow((0 11px 15px -7px $color-1, 0 24px 38px 3px $color-2, 0 9px 46px 8px $color-3));
|
|
50
50
|
|
|
51
|
-
/**
|
|
52
|
-
* @sass-export-section="material"
|
|
53
|
-
*/
|
|
54
51
|
/// А map of 24 shadow elevations with the umbra, penumbra and ambient shadows.
|
|
55
52
|
/// @type Map
|
|
56
53
|
/// @access private
|
|
@@ -81,5 +78,3 @@ $elevations: (
|
|
|
81
78
|
23: $_23,
|
|
82
79
|
24: $_24,
|
|
83
80
|
);
|
|
84
|
-
|
|
85
|
-
// @end-sass-export-section
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# What is this?
|
|
2
|
+
|
|
3
|
+
This folder contains generator files that can be used by the `src/buildJSON.mjs` script to produce JSON files containing serialized information about various parts of the theming package (ex. palettes, typography, elevations, etc.);
|
|
4
|
+
|
|
5
|
+
The `generators.scss` file contains declarations for how each of the JSON files should be generated, where each file should be placed and what its contents are.
|
|
6
|
+
|
|
7
|
+
To achieve this a small [DSL](https://en.wikipedia.org/wiki/Domain-specific_language) on top of CSS is used. A tiny [parser](../../scripts/parser.mjs) handles the transformation of this custom CSS into JSON.
|
|
8
|
+
|
|
9
|
+
From this point on, this document explains the syntax of the DSL.
|
|
10
|
+
|
|
11
|
+
## Base Syntax
|
|
12
|
+
|
|
13
|
+
#### Example of the DSL syntax (Input)
|
|
14
|
+
```css
|
|
15
|
+
/*
|
|
16
|
+
* @outputDir - /custom
|
|
17
|
+
*/
|
|
18
|
+
example {
|
|
19
|
+
--content: "Hello, World!"
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The declaration above will produce the following JSON file when `$ npm run build:json` is run.
|
|
24
|
+
|
|
25
|
+
#### Output (`igniteui-theming/json/custom/example.json`)
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"content": "Hello, World!"
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
To generate a new JSON file, you need to add a new `scss` document in this folder or update the contents of the `generators.scss` file.
|
|
34
|
+
|
|
35
|
+
### Specifying output directory for the JSON file
|
|
36
|
+
|
|
37
|
+
The output directory is specified using a comment directly above the declaration body with a string marker of `@outputDir` separated by a `-` followed by the desired location of the generated JSON file relative to the `json` directory located at the root of this project(see the example above). If no comment is specified, the last existing comment specifying an `@outputDir` will be used. If there's no other comment above the declaration specifying an `@outputDir`, the declaration is ignored and no output file is generated.
|
|
38
|
+
|
|
39
|
+
### JSON declaration
|
|
40
|
+
|
|
41
|
+
```css
|
|
42
|
+
example {
|
|
43
|
+
--content: "Hello, World!"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Given the above snippet, the first present selector, i.e. `example`, will be used as the name of the JSON file. Any custom property declaration in the body of the selector, in this case `--content`, will be used to generate a key within the generated JSON file. The opening `{` and closing `}` braces define the scope of the JSON object. The value that will be assigned to the `content` key is anything to the right of the `:`.
|
|
48
|
+
|
|
49
|
+
##### Grouping several keys together into an object:
|
|
50
|
+
|
|
51
|
+
###### Input
|
|
52
|
+
```css
|
|
53
|
+
example {
|
|
54
|
+
> group > x {
|
|
55
|
+
--a: 'a';
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
> group > y {
|
|
59
|
+
--b: 'b';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The declaration above produces the following JSON:
|
|
65
|
+
|
|
66
|
+
###### Output
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"group": {
|
|
70
|
+
"x": {
|
|
71
|
+
"a": "a"
|
|
72
|
+
},
|
|
73
|
+
"y": {
|
|
74
|
+
"b": "b"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The `>` operator defines nested structures within the current JSON object. If the parser encounters common denominators like `group` it will group the statements, in this case `x` and `y`, together in the `group` object.
|
|
81
|
+
|
|
82
|
+
##### Handling array-like objects
|
|
83
|
+
|
|
84
|
+
You can produce arrays in the JSON file by declaring an array-like object as the value of a key.
|
|
85
|
+
|
|
86
|
+
###### Example
|
|
87
|
+
```css
|
|
88
|
+
example {
|
|
89
|
+
--array-like: [1, a, 2.4];
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
###### Output
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"array-like": ["1", "a", "2.4"]
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**NOTE**: The array-like only supports simple values (strings and numbers). You can't pass in an object block and expect to get a valid JSON.
|
|
101
|
+
|
|
102
|
+
#### Generating the JSON Files
|
|
103
|
+
|
|
104
|
+
To generate the JSON files run:
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
npm run build:json
|
|
108
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// stylelint-disable selector-type-no-unknown, max-nesting-depth
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
@use 'sass:list';
|
|
4
|
+
@use 'sass:meta';
|
|
5
|
+
@use 'sass:string';
|
|
6
|
+
@use '../color' as *;
|
|
7
|
+
@use '../color/multipliers' as multipliers;
|
|
8
|
+
@use '../color/presets/light' as light-palettes;
|
|
9
|
+
@use '../color/presets/dark' as dark-palettes;
|
|
10
|
+
@use '../typography/presets' as typography;
|
|
11
|
+
@use '../elevations/presets' as elevations;
|
|
12
|
+
@use '../themes/mixins' as *;
|
|
13
|
+
|
|
14
|
+
$themes: (bootstrap, material, fluent, indigo);
|
|
15
|
+
|
|
16
|
+
/*
|
|
17
|
+
* @outputDir - /colors/meta
|
|
18
|
+
*/
|
|
19
|
+
palette {
|
|
20
|
+
@each $key, $value in map.remove($IPalette, '_meta') {
|
|
21
|
+
--#{$key}: [#{$value}];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
multipliers {
|
|
26
|
+
@each $variant in ('color', 'grayscale') {
|
|
27
|
+
$multipliers: meta.module-variables(multipliers);
|
|
28
|
+
|
|
29
|
+
> #{$variant} {
|
|
30
|
+
@each $multiplier, $props in map.get($multipliers, $variant) {
|
|
31
|
+
> #{$multiplier} {
|
|
32
|
+
@each $key, $value in $props {
|
|
33
|
+
--#{$key}: '#{$value}';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/*
|
|
42
|
+
* @outputDir - /colors/presets
|
|
43
|
+
*/
|
|
44
|
+
palettes {
|
|
45
|
+
@each $theme in $themes {
|
|
46
|
+
@each $variant in ('light', 'dark') {
|
|
47
|
+
$name: #{$variant}-#{$theme}-palette;
|
|
48
|
+
$palettes: meta.module-variables(#{$variant}-palettes);
|
|
49
|
+
$palette: map.get($palettes, $name);
|
|
50
|
+
|
|
51
|
+
> #{$name} {
|
|
52
|
+
@each $color in map.remove($IPalette, '_meta') {
|
|
53
|
+
$name: list.nth($color, 1);
|
|
54
|
+
|
|
55
|
+
--#{$name}: '#{color($palette, #{$name})}';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/*
|
|
63
|
+
* @outputDir - /typography/presets
|
|
64
|
+
*/
|
|
65
|
+
typescales {
|
|
66
|
+
$type-styles: meta.module-variables(typography);
|
|
67
|
+
|
|
68
|
+
@each $theme in $themes {
|
|
69
|
+
$typeface: map.get($type-styles, #{$theme}-typeface);
|
|
70
|
+
$type-scale: map.remove(map.get($type-styles, #{$theme}-type-scale), '_meta');
|
|
71
|
+
|
|
72
|
+
> #{'' + $theme} {
|
|
73
|
+
--typeface: '#{$typeface}';
|
|
74
|
+
|
|
75
|
+
@each $style, $props in $type-scale {
|
|
76
|
+
> #{$style} {
|
|
77
|
+
@each $key, $value in $props {
|
|
78
|
+
--#{$key}: #{$value};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/*
|
|
87
|
+
* @outputDir - /elevations
|
|
88
|
+
*/
|
|
89
|
+
@each $theme in ('material', 'indigo') {
|
|
90
|
+
$elevations: map.get(meta.module-variables(elevations), #{$theme}-elevations);
|
|
91
|
+
#{$theme} {
|
|
92
|
+
> elevations {
|
|
93
|
+
@each $level, $value in $elevations {
|
|
94
|
+
--#{$level}: #{$value};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -340,9 +340,9 @@ $bootstrap-drop-down: extend(
|
|
|
340
340
|
/// @prop {Map} focused-item-background [color: ('primary', 500, .15)] - The drop-down focused item background color.
|
|
341
341
|
/// @prop {Map} selected-item-text-color [contrast-color: ('primary', 500)] - The drop-down selected item text color.
|
|
342
342
|
/// @prop {Map} selected-hover-item-background [color: ('primary', 400)] - The drop-down selected item hover background color.
|
|
343
|
-
/// @prop {Map} selected-hover-item-text-color [contrast-color: ('primary',
|
|
343
|
+
/// @prop {Map} selected-hover-item-text-color [contrast-color: ('primary', 500)] - The drop-down selected item hover text color.
|
|
344
344
|
/// @prop {Map} selected-focus-item-background [color: ('primary', 400)] - The drop-down selected item focus background color.
|
|
345
|
-
/// @prop {Map} selected-focus-item-text-color [contrast-color: ('primary',
|
|
345
|
+
/// @prop {Map} selected-focus-item-text-color [contrast-color: ('primary', 500)] - The drop-down selected item focus text color.
|
|
346
346
|
/// @prop {Number} elevation [3] - The elevation level, between 0-24, to be used for the badge shadow.
|
|
347
347
|
/// @prop {List} border-radius [(rem(2px), rem(0), rem(20px))] - The border radius used for drop-down component.
|
|
348
348
|
/// @prop {List} item-border-radius [(rem(2px), rem(0), rem(20px))] - The border radius used for the drop-down items.
|
|
@@ -393,7 +393,7 @@ $indigo-drop-down: extend(
|
|
|
393
393
|
selected-hover-item-text-color: (
|
|
394
394
|
contrast-color: (
|
|
395
395
|
'primary',
|
|
396
|
-
|
|
396
|
+
500,
|
|
397
397
|
),
|
|
398
398
|
),
|
|
399
399
|
selected-focus-item-background: (
|
|
@@ -405,7 +405,7 @@ $indigo-drop-down: extend(
|
|
|
405
405
|
selected-focus-item-text-color: (
|
|
406
406
|
contrast-color: (
|
|
407
407
|
'primary',
|
|
408
|
-
|
|
408
|
+
500,
|
|
409
409
|
),
|
|
410
410
|
),
|
|
411
411
|
border-radius: (
|
|
@@ -411,6 +411,7 @@ $bootstrap-switch: extend(
|
|
|
411
411
|
/// @prop {Map} label-disabled-color [color: ('gray', 300)] - The color of the switch label when the switch is disabled
|
|
412
412
|
/// @prop {Map} error-color [color: ('gray', 500)] - The border and thumb color in invalid state.
|
|
413
413
|
/// @prop {Map} error-color-hover [color: ('gray', 300)] - The border and thumb color in invalid state on hover.
|
|
414
|
+
/// @prop {Color} track-error-color [transparent] - The color of the track in invalid state when the switch is off.
|
|
414
415
|
/// @prop {List} border-radius-track [(rem(8px), rem(0), rem(8px))] - The border radius used for switch track.
|
|
415
416
|
/// @prop {Map} focus-outline-color [color: ('gray', 300)] - The focus outlined color.
|
|
416
417
|
/// @prop {Map} focus-outline-color-focused [color: ('primary', 200)] - The focus outlined color for focused state.
|
|
@@ -472,6 +473,7 @@ $indigo-switch: extend(
|
|
|
472
473
|
300,
|
|
473
474
|
),
|
|
474
475
|
),
|
|
476
|
+
track-error-color: transparent,
|
|
475
477
|
thumb-disabled-color: (
|
|
476
478
|
color: (
|
|
477
479
|
'gray',
|