@ng-matero/extensions 20.1.1 → 20.2.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/_index.scss +0 -1
- package/alert/_alert-theme.scss +19 -28
- package/alert/_m2-alert.scss +34 -51
- package/colorpicker/_colorpicker-theme.scss +24 -31
- package/colorpicker/_m2-colorpicker.scss +12 -35
- package/column-resize/index.d.ts +0 -1
- package/core/index.d.ts +1 -2
- package/core/tokens/_m2-utils.scss +17 -100
- package/core/tokens/_token-utils.scss +7 -27
- package/datetimepicker/_datetimepicker-theme.scss +24 -48
- package/datetimepicker/_m2-datetimepicker.scss +81 -131
- package/datetimepicker/_m3-datetimepicker.scss +18 -15
- package/datetimepicker/index.d.ts +10 -28
- package/drawer/_drawer-theme.scss +17 -26
- package/drawer/_m2-drawer.scss +12 -34
- package/fesm2022/mtxButton.mjs +13 -2
- package/fesm2022/mtxButton.mjs.map +1 -1
- package/fesm2022/mtxColumnResize.mjs +1 -1
- package/fesm2022/mtxColumnResize.mjs.map +1 -1
- package/fesm2022/mtxCore.mjs.map +1 -1
- package/fesm2022/mtxDatetimepicker.mjs +4 -4
- package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
- package/fesm2022/mtxTooltip.mjs.map +1 -1
- package/grid/_grid-theme.scss +17 -26
- package/grid/_m2-grid.scss +37 -56
- package/loader/_loader-theme.scss +17 -26
- package/loader/_m2-loader.scss +9 -32
- package/package.json +28 -28
- package/popover/_m2-popover.scss +15 -37
- package/popover/_popover-theme.scss +16 -24
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress/_m2-progress.scss +29 -44
- package/progress/_progress-theme.scss +17 -26
- package/select/_m2-select.scss +40 -67
- package/select/_m3-select.scss +2 -1
- package/select/_select-theme.scss +22 -29
- package/split/_m2-split.scss +13 -34
- package/split/_split-theme.scss +21 -30
- package/tooltip/_m2-tooltip.scss +18 -43
- package/tooltip/_tooltip-theme.scss +16 -21
- package/tooltip/index.d.ts +2 -2
- package/core/tokens/_m2-tokens.scss +0 -71
package/_index.scss
CHANGED
|
@@ -27,7 +27,6 @@ tooltip-color, tooltip-typography, tooltip-density, tooltip-base, tooltip-overri
|
|
|
27
27
|
define-density;
|
|
28
28
|
@forward './core/theming/color-api-backwards-compatibility' show color-variants-backwards-compatibility;
|
|
29
29
|
|
|
30
|
-
@forward './core/tokens/m2-tokens' show m2-tokens-from-theme;
|
|
31
30
|
@forward './core/tokens/m3-system' show system-level-colors,
|
|
32
31
|
system-level-typography, system-level-elevation, system-level-shape,
|
|
33
32
|
system-level-motion, system-level-state, theme, theme-overrides;
|
package/alert/_alert-theme.scss
CHANGED
|
@@ -5,47 +5,39 @@
|
|
|
5
5
|
@use './m3-alert';
|
|
6
6
|
|
|
7
7
|
@mixin base($theme) {
|
|
8
|
+
$tokens: map.get(m2-alert.get-tokens($theme), base);
|
|
8
9
|
@if mat.get-theme-version($theme) == 1 {
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
@else {
|
|
12
|
-
@include mat.private-current-selector-or-root() {
|
|
13
|
-
@include token-utils.create-token-values-mixed(m2-alert.get-unthemable-tokens());
|
|
14
|
-
}
|
|
10
|
+
$tokens: map.get(m3-alert.get-tokens($theme), base);
|
|
15
11
|
}
|
|
12
|
+
|
|
13
|
+
@include token-utils.values($tokens);
|
|
16
14
|
}
|
|
17
15
|
|
|
18
16
|
@mixin color($theme) {
|
|
17
|
+
$tokens: map.get(m2-alert.get-tokens($theme), color);
|
|
19
18
|
@if mat.get-theme-version($theme) == 1 {
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
@else {
|
|
23
|
-
@include mat.private-current-selector-or-root() {
|
|
24
|
-
@include token-utils.create-token-values-mixed(m2-alert.get-color-tokens($theme));
|
|
25
|
-
}
|
|
19
|
+
$tokens: map.get(m3-alert.get-tokens($theme), color);
|
|
26
20
|
}
|
|
21
|
+
|
|
22
|
+
@include token-utils.values($tokens);
|
|
27
23
|
}
|
|
28
24
|
|
|
29
25
|
@mixin typography($theme) {
|
|
26
|
+
$tokens: map.get(m2-alert.get-tokens($theme), typography);
|
|
30
27
|
@if mat.get-theme-version($theme) == 1 {
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
@else {
|
|
34
|
-
@include mat.private-current-selector-or-root() {
|
|
35
|
-
@include token-utils.create-token-values-mixed(m2-alert.get-typography-tokens($theme));
|
|
36
|
-
}
|
|
28
|
+
$tokens: map.get(m3-alert.get-tokens($theme), typography);
|
|
37
29
|
}
|
|
30
|
+
|
|
31
|
+
@include token-utils.values($tokens);
|
|
38
32
|
}
|
|
39
33
|
|
|
40
34
|
@mixin density($theme) {
|
|
35
|
+
$tokens: map.get(m2-alert.get-tokens($theme), density);
|
|
41
36
|
@if mat.get-theme-version($theme) == 1 {
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
@else {
|
|
45
|
-
@include mat.private-current-selector-or-root() {
|
|
46
|
-
@include token-utils.create-token-values-mixed(m2-alert.get-density-tokens($theme));
|
|
47
|
-
}
|
|
37
|
+
$tokens: map.get(m3-alert.get-tokens($theme), density);
|
|
48
38
|
}
|
|
39
|
+
|
|
40
|
+
@include token-utils.values($tokens);
|
|
49
41
|
}
|
|
50
42
|
|
|
51
43
|
/// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
|
|
@@ -53,8 +45,8 @@
|
|
|
53
45
|
@return (
|
|
54
46
|
(
|
|
55
47
|
namespace: alert,
|
|
56
|
-
tokens: token-utils.get-overrides(m3-alert.get-tokens(), alert)
|
|
57
|
-
)
|
|
48
|
+
tokens: token-utils.get-overrides(m3-alert.get-tokens(), alert)
|
|
49
|
+
)
|
|
58
50
|
);
|
|
59
51
|
}
|
|
60
52
|
|
|
@@ -68,8 +60,7 @@
|
|
|
68
60
|
@include color($theme);
|
|
69
61
|
@include density($theme);
|
|
70
62
|
@include typography($theme);
|
|
71
|
-
}
|
|
72
|
-
@else {
|
|
63
|
+
} @else {
|
|
73
64
|
@include base($theme);
|
|
74
65
|
@if mat.theme-has($theme, color) {
|
|
75
66
|
@include color($theme);
|
package/alert/_m2-alert.scss
CHANGED
|
@@ -1,59 +1,42 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
+
@use 'sass:meta';
|
|
2
3
|
@use '@angular/material' as mat;
|
|
3
4
|
@use '../core/tokens/m2-utils';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
@function get-unthemable-tokens() {
|
|
8
|
-
@return (
|
|
9
|
-
alert-container-shape: 4px,
|
|
10
|
-
);
|
|
11
|
-
}
|
|
6
|
+
@function get-tokens($theme) {
|
|
7
|
+
$system: m2-utils.get-system($theme);
|
|
12
8
|
|
|
13
|
-
|
|
14
|
-
@
|
|
15
|
-
|
|
9
|
+
$is-dark: false;
|
|
10
|
+
@if meta.type-of($theme) == 'map' {
|
|
11
|
+
$is-dark: mat.get-theme-type($theme) == dark;
|
|
12
|
+
}
|
|
16
13
|
|
|
17
14
|
@return (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// Tokens that can be configured through Angular Material's density theming API.
|
|
46
|
-
@function get-density-tokens($theme) {
|
|
47
|
-
@return ();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Combines the tokens generated by the above functions into a single map with placeholder values.
|
|
51
|
-
// This is used to create token slots.
|
|
52
|
-
@function get-token-slots() {
|
|
53
|
-
@return mat.private-deep-merge-all(
|
|
54
|
-
get-unthemable-tokens(),
|
|
55
|
-
get-color-tokens(m2-utils.$placeholder-color-config),
|
|
56
|
-
get-typography-tokens(m2-utils.$placeholder-typography-config),
|
|
57
|
-
get-density-tokens(m2-utils.$placeholder-density-config)
|
|
58
|
-
);
|
|
15
|
+
base: (
|
|
16
|
+
alert-container-shape: 4px,
|
|
17
|
+
),
|
|
18
|
+
color: (
|
|
19
|
+
alert-outline-color: transparent,
|
|
20
|
+
alert-background-color: mat.m2-get-color-from-palette(mat.$m2-gray-palette, if($is-dark, 900, 100)),
|
|
21
|
+
alert-text-color: map.get($system, on-surface),
|
|
22
|
+
|
|
23
|
+
alert-info-outline-color: transparent,
|
|
24
|
+
alert-info-background-color: mat.m2-get-color-from-palette(mat.$m2-blue-palette, if($is-dark, 900, 100)),
|
|
25
|
+
alert-info-text-color: map.get($system, on-surface),
|
|
26
|
+
|
|
27
|
+
alert-success-outline-color: transparent,
|
|
28
|
+
alert-success-background-color: mat.m2-get-color-from-palette(mat.$m2-green-palette, if($is-dark, 900, 100)),
|
|
29
|
+
alert-success-text-color: map.get($system, on-surface),
|
|
30
|
+
|
|
31
|
+
alert-warning-outline-color: transparent,
|
|
32
|
+
alert-warning-background-color: mat.m2-get-color-from-palette(mat.$m2-amber-palette, if($is-dark, 900, 100)),
|
|
33
|
+
alert-warning-text-color: map.get($system, on-surface),
|
|
34
|
+
|
|
35
|
+
alert-danger-outline-color: transparent,
|
|
36
|
+
alert-danger-background-color: mat.m2-get-color-from-palette(mat.$m2-red-palette, if($is-dark, 900, 100)),
|
|
37
|
+
alert-danger-text-color: map.get($system, on-surface),
|
|
38
|
+
),
|
|
39
|
+
typography: (),
|
|
40
|
+
density: ()
|
|
41
|
+
)
|
|
59
42
|
}
|
|
@@ -6,59 +6,53 @@
|
|
|
6
6
|
@use './m3-colorpicker';
|
|
7
7
|
|
|
8
8
|
@mixin base($theme) {
|
|
9
|
+
$tokens: map.get(m2-colorpicker.get-tokens($theme), base);
|
|
9
10
|
@if mat.get-theme-version($theme) == 1 {
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
@else {
|
|
13
|
-
@include mat.private-current-selector-or-root() {
|
|
14
|
-
@include token-utils.create-token-values-mixed(m2-colorpicker.get-unthemable-tokens());
|
|
15
|
-
}
|
|
11
|
+
$tokens: map.get(m3-colorpicker.get-tokens($theme), base);
|
|
16
12
|
}
|
|
13
|
+
|
|
14
|
+
@include token-utils.values($tokens);
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
@mixin color($theme, $color-variant: null) {
|
|
18
|
+
$tokens: map.get(m2-colorpicker.get-tokens($theme), color);
|
|
20
19
|
@if mat.get-theme-version($theme) == 1 {
|
|
21
|
-
|
|
20
|
+
$tokens: map.get(m3-colorpicker.get-tokens($theme, $color-variant), color);
|
|
22
21
|
}
|
|
23
|
-
@else {
|
|
24
|
-
@include mat.private-current-selector-or-root() {
|
|
25
|
-
@include token-utils.create-token-values-mixed(m2-colorpicker.get-color-tokens($theme));
|
|
26
|
-
}
|
|
27
22
|
|
|
23
|
+
@include token-utils.values($tokens);
|
|
24
|
+
|
|
25
|
+
@if mat.get-theme-version($theme) != 1 {
|
|
28
26
|
.mtx-colorpicker-toggle-active {
|
|
29
27
|
&.mat-accent {
|
|
30
|
-
$
|
|
31
|
-
@include token-utils.
|
|
28
|
+
$tokens: m2-colorpicker.private-get-color-palette-color-tokens($theme, secondary);
|
|
29
|
+
@include token-utils.values($tokens);
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
&.mat-warn {
|
|
35
|
-
$
|
|
36
|
-
@include token-utils.
|
|
33
|
+
$tokens: m2-colorpicker.private-get-color-palette-color-tokens($theme, error);
|
|
34
|
+
@include token-utils.values($tokens);
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
39
|
|
|
42
40
|
@mixin typography($theme) {
|
|
41
|
+
$tokens: map.get(m2-colorpicker.get-tokens($theme), typography);
|
|
43
42
|
@if mat.get-theme-version($theme) == 1 {
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
@else {
|
|
47
|
-
@include mat.private-current-selector-or-root() {
|
|
48
|
-
@include token-utils.create-token-values-mixed(m2-colorpicker.get-typography-tokens($theme));
|
|
49
|
-
}
|
|
43
|
+
$tokens: map.get(m3-colorpicker.get-tokens($theme), typography);
|
|
50
44
|
}
|
|
45
|
+
|
|
46
|
+
@include token-utils.values($tokens);
|
|
51
47
|
}
|
|
52
48
|
|
|
53
49
|
@mixin density($theme) {
|
|
50
|
+
$tokens: map.get(m2-colorpicker.get-tokens($theme), density);
|
|
54
51
|
@if mat.get-theme-version($theme) == 1 {
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
@else {
|
|
58
|
-
@include mat.private-current-selector-or-root() {
|
|
59
|
-
@include token-utils.create-token-values-mixed(m2-colorpicker.get-density-tokens($theme));
|
|
60
|
-
}
|
|
52
|
+
$tokens: map.get(m3-colorpicker.get-tokens($theme), density);
|
|
61
53
|
}
|
|
54
|
+
|
|
55
|
+
@include token-utils.values($tokens);
|
|
62
56
|
}
|
|
63
57
|
|
|
64
58
|
/// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
|
|
@@ -66,8 +60,8 @@
|
|
|
66
60
|
@return (
|
|
67
61
|
(
|
|
68
62
|
namespace: colorpicker,
|
|
69
|
-
tokens: token-utils.get-overrides(m3-colorpicker.get-tokens(), colorpicker)
|
|
70
|
-
)
|
|
63
|
+
tokens: token-utils.get-overrides(m3-colorpicker.get-tokens(), colorpicker)
|
|
64
|
+
)
|
|
71
65
|
);
|
|
72
66
|
}
|
|
73
67
|
|
|
@@ -81,8 +75,7 @@
|
|
|
81
75
|
@include color($theme, $color-variant);
|
|
82
76
|
@include density($theme);
|
|
83
77
|
@include typography($theme);
|
|
84
|
-
}
|
|
85
|
-
@else {
|
|
78
|
+
} @else {
|
|
86
79
|
@include base($theme);
|
|
87
80
|
@if mat.theme-has($theme, color) {
|
|
88
81
|
@include color($theme);
|
|
@@ -1,47 +1,24 @@
|
|
|
1
1
|
@use 'sass:color';
|
|
2
2
|
@use 'sass:map';
|
|
3
|
-
@use '@angular/material' as mat;
|
|
4
3
|
@use '../core/tokens/m2-utils';
|
|
4
|
+
@use '../core/tokens/m3-utils';
|
|
5
5
|
|
|
6
|
-
@function
|
|
6
|
+
@function get-tokens($theme) {
|
|
7
7
|
@return (
|
|
8
|
-
|
|
8
|
+
base: (),
|
|
9
|
+
color: private-get-color-palette-color-tokens($theme, primary),
|
|
10
|
+
typography: (),
|
|
11
|
+
density: ()
|
|
9
12
|
);
|
|
10
13
|
}
|
|
11
14
|
|
|
12
|
-
// Tokens that can't be configured through Angular Material's current theming API,
|
|
13
|
-
// but may be in a future version of the theming API.
|
|
14
|
-
@function get-unthemable-tokens() {
|
|
15
|
-
@return ();
|
|
16
|
-
}
|
|
17
|
-
|
|
18
15
|
// Tokens that can be configured through Angular Material's color theming API.
|
|
19
|
-
@function get-color-tokens($theme) {
|
|
20
|
-
$
|
|
21
|
-
$
|
|
16
|
+
@function private-get-color-palette-color-tokens($theme, $color-variant) {
|
|
17
|
+
$system: m2-utils.get-system($theme);
|
|
18
|
+
$system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
|
|
22
19
|
|
|
23
|
-
@return
|
|
24
|
-
colorpicker-toggle-icon-color: $
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// Tokens that can be configured through Angular Material's typography theming API.
|
|
29
|
-
@function get-typography-tokens($theme) {
|
|
30
|
-
@return ();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Tokens that can be configured through Angular Material's density theming API.
|
|
34
|
-
@function get-density-tokens($theme) {
|
|
35
|
-
@return ();
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Combines the tokens generated by the above functions into a single map with placeholder values.
|
|
39
|
-
// This is used to create token slots.
|
|
40
|
-
@function get-token-slots() {
|
|
41
|
-
@return mat.private-deep-merge-all(
|
|
42
|
-
get-unthemable-tokens(),
|
|
43
|
-
get-color-tokens(m2-utils.$placeholder-color-config),
|
|
44
|
-
get-typography-tokens(m2-utils.$placeholder-typography-config),
|
|
45
|
-
get-density-tokens(m2-utils.$placeholder-density-config)
|
|
20
|
+
@return (
|
|
21
|
+
colorpicker-toggle-active-state-icon-color: map.get($system, primary),
|
|
22
|
+
colorpicker-toggle-icon-color: map.get($system, on-surface-variant)
|
|
46
23
|
);
|
|
47
24
|
}
|
package/column-resize/index.d.ts
CHANGED
|
@@ -233,7 +233,6 @@ declare const _COALESCED_STYLE_SCHEDULER: InjectionToken<_CoalescedStyleSchedule
|
|
|
233
233
|
declare class _CoalescedStyleScheduler {
|
|
234
234
|
private _currentSchedule;
|
|
235
235
|
private _ngZone;
|
|
236
|
-
constructor(...args: unknown[]);
|
|
237
236
|
/**
|
|
238
237
|
* Schedules the specified task to run at the end of the current VM turn.
|
|
239
238
|
*/
|
package/core/index.d.ts
CHANGED
|
@@ -85,8 +85,7 @@ declare abstract class DatetimeAdapter<D> extends DateAdapter<D> {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
declare class NativeDatetimeAdapter extends DatetimeAdapter<Date> {
|
|
88
|
-
|
|
89
|
-
constructor(...args: unknown[]);
|
|
88
|
+
constructor();
|
|
90
89
|
clone(date: Date): Date;
|
|
91
90
|
getHour(date: Date): number;
|
|
92
91
|
getMinute(date: Date): number;
|
|
@@ -1,108 +1,25 @@
|
|
|
1
|
-
@use 'sass:
|
|
2
|
-
@use 'sass:math';
|
|
1
|
+
@use 'sass:map';
|
|
3
2
|
@use 'sass:meta';
|
|
4
3
|
@use '@angular/material' as mat;
|
|
5
|
-
@use '../m2/typography';
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
$
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
foreground: mat.$m2-light-theme-foreground-palette,
|
|
20
|
-
background: mat.$m2-light-theme-background-palette,
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
$_placeholder-typography-level-config: typography.typography-config-level-from-mdc(body1);
|
|
24
|
-
|
|
25
|
-
// Placeholder typography config that can be passed to token getter functions when generating token
|
|
26
|
-
// slots.
|
|
27
|
-
$placeholder-typography-config: (
|
|
28
|
-
font-family: 'Roboto, sans-serif',
|
|
29
|
-
headline-1: $_placeholder-typography-level-config,
|
|
30
|
-
headline-2: $_placeholder-typography-level-config,
|
|
31
|
-
headline-3: $_placeholder-typography-level-config,
|
|
32
|
-
headline-4: $_placeholder-typography-level-config,
|
|
33
|
-
headline-5: $_placeholder-typography-level-config,
|
|
34
|
-
headline-6: $_placeholder-typography-level-config,
|
|
35
|
-
subtitle-1: $_placeholder-typography-level-config,
|
|
36
|
-
subtitle-2: $_placeholder-typography-level-config,
|
|
37
|
-
body-1: $_placeholder-typography-level-config,
|
|
38
|
-
body-2: $_placeholder-typography-level-config,
|
|
39
|
-
caption: $_placeholder-typography-level-config,
|
|
40
|
-
button: $_placeholder-typography-level-config,
|
|
41
|
-
overline: $_placeholder-typography-level-config,
|
|
42
|
-
subheading-1: $_placeholder-typography-level-config,
|
|
43
|
-
title: $_placeholder-typography-level-config,
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
// Placeholder density config that can be passed to token getter functions when generating token
|
|
47
|
-
// slots.
|
|
48
|
-
$placeholder-density-config: 0;
|
|
49
|
-
|
|
50
|
-
/// Inherited function from MDC that computes which contrast tone to use on top of a color.
|
|
51
|
-
/// This is used only in a narrow set of use cases when generating M2 button tokens to maintain
|
|
52
|
-
/// backwards compatibility.
|
|
53
|
-
/// @param {Color} $value Color for which we're calculating the contrast tone.
|
|
54
|
-
/// @param {Boolean} $is-dark Whether the current theme is dark.
|
|
55
|
-
/// @return {Map} Either `dark` or `light`.
|
|
56
|
-
@function contrast-tone($value, $is-dark) {
|
|
57
|
-
@if ($value =='dark') {
|
|
58
|
-
@return 'light';
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@if ($value =='light') {
|
|
62
|
-
@return 'dark';
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Fallback if the app is using a non-color palette (e.g. CSS variable based).
|
|
66
|
-
@if (meta.type-of($value) !='color') {
|
|
67
|
-
@return if($is-dark, 'light', 'dark');
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
$minimum-contrast: 3.1;
|
|
71
|
-
$light-contrast: _contrast($value, #fff);
|
|
72
|
-
$dark-contrast: _contrast($value, rgb(0, 0, 0, 0.87));
|
|
73
|
-
|
|
74
|
-
@if ($light-contrast < $minimum-contrast) and ($dark-contrast > $light-contrast) {
|
|
75
|
-
@return 'dark';
|
|
5
|
+
// Gets the theme's system values as a flat map.
|
|
6
|
+
@function get-system($theme) {
|
|
7
|
+
@if meta.type-of($theme) == map {
|
|
8
|
+
$system: map.get($theme, _mat-system);
|
|
9
|
+
@if $system {
|
|
10
|
+
@return $system;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// If the $theme is a typography-config, convert it to a system map.
|
|
14
|
+
@if map.has-key($theme, body-1) {
|
|
15
|
+
@return mat.m2-md-sys-typescale-values($theme);
|
|
16
|
+
}
|
|
76
17
|
}
|
|
77
18
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
@function _linear-channel-value($channel-value) {
|
|
82
|
-
$normalized-channel-value: math.div($channel-value, 255);
|
|
83
|
-
|
|
84
|
-
@if ($normalized-channel-value < 0.03928) {
|
|
85
|
-
@return math.div($normalized-channel-value, 12.92);
|
|
19
|
+
// If the $theme is a density scale, convert it to a system map.
|
|
20
|
+
@if meta.type-of($theme) == 'number' or $theme == minimum or $theme == maximum {
|
|
21
|
+
@return (density-scale: $theme);
|
|
86
22
|
}
|
|
87
23
|
|
|
88
|
-
@return
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Calculate the luminance for a color.
|
|
92
|
-
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
93
|
-
@function _luminance($color) {
|
|
94
|
-
$red: _linear-channel-value(color.red($color));
|
|
95
|
-
$green: _linear-channel-value(color.green($color));
|
|
96
|
-
$blue: _linear-channel-value(color.blue($color));
|
|
97
|
-
|
|
98
|
-
@return 0.2126 * $red + 0.7152 * $green + 0.0722 * $blue;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Calculate the contrast ratio between two colors.
|
|
102
|
-
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
103
|
-
@function _contrast($back, $front) {
|
|
104
|
-
$back-lum: _luminance($back) + 0.05;
|
|
105
|
-
$fore-lum: _luminance($front) + 0.05;
|
|
106
|
-
|
|
107
|
-
@return math.div(math.max($back-lum, $fore-lum), math.min($back-lum, $fore-lum));
|
|
24
|
+
@return ();
|
|
108
25
|
}
|
|
@@ -69,32 +69,12 @@
|
|
|
69
69
|
@return _create-var(--mtx-#{$token}, $sys-fallback);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
// Outputs a map of
|
|
73
|
-
@mixin
|
|
74
|
-
@include
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
// other declarations (e.g. M2 themes). Used to avoid https://sass-lang.com/documentation/breaking-changes/mixed-decls/
|
|
79
|
-
@mixin create-token-values-mixed($tokens) {
|
|
80
|
-
@include _create-token-values-internal($tokens, true);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
@mixin _create-token-values-internal($tokens, $in-place) {
|
|
84
|
-
@if ($tokens != null) {
|
|
85
|
-
@if ($in-place) {
|
|
86
|
-
& {
|
|
87
|
-
@each $key, $value in $tokens {
|
|
88
|
-
@if $value != null {
|
|
89
|
-
--mtx-#{$key}: #{$value};
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
} @else {
|
|
94
|
-
@each $key, $value in $tokens {
|
|
95
|
-
@if $value != null {
|
|
96
|
-
--mtx-#{$key}: #{$value};
|
|
97
|
-
}
|
|
72
|
+
// Outputs a map of token values as CSS variable definitions.
|
|
73
|
+
@mixin values($tokens) {
|
|
74
|
+
@include mat.private-current-selector-or-root() {
|
|
75
|
+
@each $key, $value in $tokens {
|
|
76
|
+
@if $value != null {
|
|
77
|
+
--mtx-#{$key}: #{$value};
|
|
98
78
|
}
|
|
99
79
|
}
|
|
100
80
|
}
|
|
@@ -125,7 +105,7 @@
|
|
|
125
105
|
$namespace: list.nth($data, 1);
|
|
126
106
|
$name: list.nth($data, 2);
|
|
127
107
|
$prefixed-name: $namespace + '-' + $name;
|
|
128
|
-
@include
|
|
108
|
+
@include values(($prefixed-name: $value));
|
|
129
109
|
} @else {
|
|
130
110
|
@error #{'Invalid token name `'}#{$name}#{'`. '}#{'Valid tokens are: '}#{$all-names};
|
|
131
111
|
}
|
|
@@ -4,77 +4,54 @@
|
|
|
4
4
|
@use './m2-datetimepicker';
|
|
5
5
|
@use './m3-datetimepicker';
|
|
6
6
|
|
|
7
|
-
@mixin _calendar-color($theme, $palette-name) {
|
|
8
|
-
$palette-color: mat.get-theme-color($theme, $palette-name);
|
|
9
|
-
$calendar-tokens: m2-datetimepicker.private-get-calendar-color-palette-color-tokens($theme, $palette-name);
|
|
10
|
-
|
|
11
|
-
@include token-utils.create-token-values-mixed($calendar-tokens);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
7
|
@mixin base($theme) {
|
|
8
|
+
$tokens: map.get(m2-datetimepicker.get-tokens($theme), base);
|
|
15
9
|
@if mat.get-theme-version($theme) == 1 {
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
@else {
|
|
19
|
-
@include mat.private-current-selector-or-root() {
|
|
20
|
-
@include token-utils.create-token-values-mixed(m2-datetimepicker.get-unthemable-tokens());
|
|
21
|
-
}
|
|
10
|
+
$tokens: map.get(m3-datetimepicker.get-tokens($theme), base);
|
|
22
11
|
}
|
|
12
|
+
|
|
13
|
+
@include token-utils.values($tokens);
|
|
23
14
|
}
|
|
24
15
|
|
|
25
16
|
@mixin color($theme, $color-variant: null) {
|
|
17
|
+
$tokens: map.get(m2-datetimepicker.get-tokens($theme), color);
|
|
26
18
|
@if mat.get-theme-version($theme) == 1 {
|
|
27
|
-
|
|
19
|
+
$tokens: map.get(m3-datetimepicker.get-tokens($theme, $color-variant), color);
|
|
28
20
|
}
|
|
29
|
-
@else {
|
|
30
|
-
@include mat.private-current-selector-or-root() {
|
|
31
|
-
@include token-utils.create-token-values-mixed(m2-datetimepicker.get-color-tokens($theme));
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.mtx-datetimepicker-content {
|
|
35
|
-
&.mat-accent {
|
|
36
|
-
@include _calendar-color($theme, accent);
|
|
37
|
-
}
|
|
38
21
|
|
|
39
|
-
|
|
40
|
-
@include _calendar-color($theme, warn);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
22
|
+
@include token-utils.values($tokens);
|
|
43
23
|
|
|
44
|
-
|
|
24
|
+
@if mat.get-theme-version($theme) != 1 {
|
|
25
|
+
.mtx-datetimepicker-content, .mtx-datetimepicker-toggle-active {
|
|
45
26
|
&.mat-accent {
|
|
46
|
-
$
|
|
47
|
-
@include token-utils.
|
|
27
|
+
$tokens: m2-datetimepicker.private-get-color-palette-color-tokens($theme, secondary);
|
|
28
|
+
@include token-utils.values($tokens);
|
|
48
29
|
}
|
|
49
30
|
|
|
50
31
|
&.mat-warn {
|
|
51
|
-
$
|
|
52
|
-
@include token-utils.
|
|
32
|
+
$tokens: m2-datetimepicker.private-get-color-palette-color-tokens($theme, error);
|
|
33
|
+
@include token-utils.values($tokens);
|
|
53
34
|
}
|
|
54
35
|
}
|
|
55
36
|
}
|
|
56
37
|
}
|
|
57
38
|
|
|
58
39
|
@mixin typography($theme) {
|
|
40
|
+
$tokens: map.get(m2-datetimepicker.get-tokens($theme), typography);
|
|
59
41
|
@if mat.get-theme-version($theme) == 1 {
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
@else {
|
|
63
|
-
@include mat.private-current-selector-or-root() {
|
|
64
|
-
@include token-utils.create-token-values-mixed(m2-datetimepicker.get-typography-tokens($theme));
|
|
65
|
-
}
|
|
42
|
+
$tokens: map.get(m3-datetimepicker.get-tokens($theme), typography);
|
|
66
43
|
}
|
|
44
|
+
|
|
45
|
+
@include token-utils.values($tokens);
|
|
67
46
|
}
|
|
68
47
|
|
|
69
48
|
@mixin density($theme) {
|
|
49
|
+
$tokens: map.get(m2-datetimepicker.get-tokens($theme), density);
|
|
70
50
|
@if mat.get-theme-version($theme) == 1 {
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
@else {
|
|
74
|
-
@include mat.private-current-selector-or-root() {
|
|
75
|
-
@include token-utils.create-token-values-mixed(m2-datetimepicker.get-density-tokens($theme));
|
|
76
|
-
}
|
|
51
|
+
$tokens: map.get(m3-datetimepicker.get-tokens($theme), density)
|
|
77
52
|
}
|
|
53
|
+
|
|
54
|
+
@include token-utils.values($tokens);
|
|
78
55
|
}
|
|
79
56
|
|
|
80
57
|
/// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
|
|
@@ -82,8 +59,8 @@
|
|
|
82
59
|
@return (
|
|
83
60
|
(
|
|
84
61
|
namespace: datetimepicker,
|
|
85
|
-
tokens: token-utils.get-overrides(m3-datetimepicker.get-tokens(), datetimepicker)
|
|
86
|
-
)
|
|
62
|
+
tokens: token-utils.get-overrides(m3-datetimepicker.get-tokens(), datetimepicker)
|
|
63
|
+
)
|
|
87
64
|
);
|
|
88
65
|
}
|
|
89
66
|
|
|
@@ -97,8 +74,7 @@
|
|
|
97
74
|
@include color($theme, $color-variant);
|
|
98
75
|
@include density($theme);
|
|
99
76
|
@include typography($theme);
|
|
100
|
-
}
|
|
101
|
-
@else {
|
|
77
|
+
} @else {
|
|
102
78
|
@include base($theme);
|
|
103
79
|
@if mat.theme-has($theme, color) {
|
|
104
80
|
@include color($theme);
|