@ng-matero/extensions 18.0.3 → 18.1.1

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 (177) hide show
  1. package/README.md +27 -2
  2. package/alert/alert.scss +13 -16
  3. package/colorpicker/colorpicker-toggle.scss +1 -1
  4. package/colorpicker/colorpicker.d.ts +1 -1
  5. package/column-resize/resize-strategy.d.ts +1 -1
  6. package/core/m2/_typography.scss +172 -0
  7. package/core/pipes/is-template-ref.pipe.d.ts +2 -2
  8. package/core/style/_elevation.scss +167 -0
  9. package/core/tokens/_m3-tokens.scss +13 -10
  10. package/core/tokens/_token-utils.scss +120 -30
  11. package/core/tokens/m2/mtx/_alert.scss +17 -9
  12. package/core/tokens/m2/mtx/_datetimepicker.scss +3 -3
  13. package/core/tokens/m2/mtx/_drawer.scss +2 -2
  14. package/core/tokens/m2/mtx/_grid.scss +0 -2
  15. package/core/tokens/m2/mtx/_popover.scss +3 -0
  16. package/core/tokens/m2/mtx/_select.scss +2 -4
  17. package/core/tokens/m3/definitions/_index.scss +8 -0
  18. package/core/tokens/m3/definitions/_md-ref-palette.scss +100 -0
  19. package/core/tokens/m3/definitions/_md-ref-typeface.scss +14 -0
  20. package/core/tokens/m3/definitions/_md-sys-color.scss +126 -0
  21. package/core/tokens/m3/definitions/_md-sys-elevation.scss +15 -0
  22. package/core/tokens/m3/definitions/_md-sys-motion.scss +46 -0
  23. package/core/tokens/m3/definitions/_md-sys-shape.scss +24 -0
  24. package/core/tokens/m3/definitions/_md-sys-state.scss +13 -0
  25. package/core/tokens/m3/definitions/_md-sys-typescale.scss +308 -0
  26. package/core/tokens/m3/mtx/_alert.scss +19 -9
  27. package/core/tokens/m3/mtx/_datetimepicker.scss +3 -3
  28. package/core/tokens/m3/mtx/_drawer.scss +2 -2
  29. package/core/tokens/m3/mtx/_grid.scss +0 -2
  30. package/core/tokens/m3/mtx/_popover.scss +3 -0
  31. package/core/tokens/m3/mtx/_select.scss +2 -2
  32. package/core/typography/_all-typography.scss +2 -2
  33. package/datetimepicker/calendar.d.ts +4 -2
  34. package/datetimepicker/calendar.scss +38 -0
  35. package/datetimepicker/datetimepicker-actions.d.ts +32 -0
  36. package/datetimepicker/datetimepicker-actions.scss +18 -0
  37. package/datetimepicker/datetimepicker-animations.d.ts +1 -1
  38. package/datetimepicker/datetimepicker-content.scss +40 -22
  39. package/datetimepicker/datetimepicker-module.d.ts +2 -1
  40. package/datetimepicker/datetimepicker-toggle.scss +1 -1
  41. package/datetimepicker/datetimepicker.d.ts +33 -3
  42. package/datetimepicker/public-api.d.ts +1 -0
  43. package/datetimepicker/time.d.ts +12 -8
  44. package/datetimepicker/time.scss +6 -6
  45. package/dialog/dialog.d.ts +1 -1
  46. package/drawer/drawer-config.d.ts +8 -6
  47. package/drawer/drawer-container.d.ts +12 -68
  48. package/drawer/drawer-container.scss +4 -6
  49. package/drawer/drawer-module.d.ts +2 -2
  50. package/drawer/drawer-ref.d.ts +13 -4
  51. package/drawer/drawer.d.ts +24 -24
  52. package/esm2022/alert/alert-module.mjs +5 -5
  53. package/esm2022/alert/alert.mjs +6 -5
  54. package/esm2022/button/button-loading.mjs +3 -3
  55. package/esm2022/button/button-module.mjs +4 -4
  56. package/esm2022/checkbox-group/checkbox-group-module.mjs +4 -4
  57. package/esm2022/checkbox-group/checkbox-group.mjs +3 -3
  58. package/esm2022/colorpicker/colorpicker-input.mjs +3 -3
  59. package/esm2022/colorpicker/colorpicker-module.mjs +4 -4
  60. package/esm2022/colorpicker/colorpicker-toggle.mjs +6 -6
  61. package/esm2022/colorpicker/colorpicker.mjs +8 -8
  62. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  63. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +3 -3
  64. package/esm2022/column-resize/column-resize-module.mjs +4 -4
  65. package/esm2022/column-resize/column-resize-notifier.mjs +6 -6
  66. package/esm2022/column-resize/column-resize.mjs +3 -3
  67. package/esm2022/column-resize/column-size-store.mjs +3 -3
  68. package/esm2022/column-resize/event-dispatcher.mjs +3 -3
  69. package/esm2022/column-resize/overlay-handle.mjs +3 -3
  70. package/esm2022/column-resize/resizable.mjs +3 -3
  71. package/esm2022/column-resize/resize-strategy.mjs +9 -9
  72. package/esm2022/core/datetime/datetime.module.mjs +8 -8
  73. package/esm2022/core/datetime/native-datetime-adapter.mjs +3 -3
  74. package/esm2022/core/pipes/is-template-ref.pipe.mjs +3 -3
  75. package/esm2022/core/pipes/pipes.module.mjs +4 -4
  76. package/esm2022/core/pipes/to-observable.pipe.mjs +3 -3
  77. package/esm2022/datetimepicker/calendar-body.mjs +3 -3
  78. package/esm2022/datetimepicker/calendar.mjs +10 -6
  79. package/esm2022/datetimepicker/clock.mjs +3 -3
  80. package/esm2022/datetimepicker/datetimepicker-actions.mjs +88 -0
  81. package/esm2022/datetimepicker/datetimepicker-animations.mjs +3 -3
  82. package/esm2022/datetimepicker/datetimepicker-input.mjs +3 -3
  83. package/esm2022/datetimepicker/datetimepicker-intl.mjs +3 -3
  84. package/esm2022/datetimepicker/datetimepicker-module.mjs +24 -7
  85. package/esm2022/datetimepicker/datetimepicker-toggle.mjs +6 -6
  86. package/esm2022/datetimepicker/datetimepicker.mjs +92 -20
  87. package/esm2022/datetimepicker/month-view.mjs +7 -5
  88. package/esm2022/datetimepicker/multi-year-view.mjs +7 -5
  89. package/esm2022/datetimepicker/public-api.mjs +2 -1
  90. package/esm2022/datetimepicker/time.mjs +29 -20
  91. package/esm2022/datetimepicker/year-view.mjs +7 -5
  92. package/esm2022/dialog/dialog-container.mjs +3 -3
  93. package/esm2022/dialog/dialog-module.mjs +4 -4
  94. package/esm2022/dialog/dialog.mjs +3 -3
  95. package/esm2022/drawer/drawer-config.mjs +2 -2
  96. package/esm2022/drawer/drawer-container.mjs +32 -196
  97. package/esm2022/drawer/drawer-module.mjs +7 -7
  98. package/esm2022/drawer/drawer-ref.mjs +27 -18
  99. package/esm2022/drawer/drawer.mjs +98 -121
  100. package/esm2022/grid/cell.mjs +3 -3
  101. package/esm2022/grid/column-menu.mjs +5 -5
  102. package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  103. package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +3 -3
  104. package/esm2022/grid/column-resize/column-resize-module.mjs +8 -8
  105. package/esm2022/grid/column-resize/overlay-handle.mjs +3 -3
  106. package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +3 -3
  107. package/esm2022/grid/column-resize/resize-strategy.mjs +3 -3
  108. package/esm2022/grid/expansion-toggle.mjs +3 -3
  109. package/esm2022/grid/grid-module.mjs +4 -4
  110. package/esm2022/grid/grid-pipes.mjs +21 -21
  111. package/esm2022/grid/grid-utils.mjs +3 -3
  112. package/esm2022/grid/grid.mjs +5 -5
  113. package/esm2022/grid/selectable-cell.mjs +3 -3
  114. package/esm2022/loader/loader-module.mjs +4 -4
  115. package/esm2022/loader/loader.mjs +3 -3
  116. package/esm2022/photoviewer/photoviewer-module.mjs +4 -4
  117. package/esm2022/photoviewer/photoviewer.mjs +3 -3
  118. package/esm2022/popover/popover-content.mjs +6 -6
  119. package/esm2022/popover/popover-interfaces.mjs +1 -1
  120. package/esm2022/popover/popover-module.mjs +4 -4
  121. package/esm2022/popover/popover-target.mjs +3 -3
  122. package/esm2022/popover/popover-trigger.mjs +3 -3
  123. package/esm2022/popover/popover.mjs +29 -19
  124. package/esm2022/progress/progress-module.mjs +4 -4
  125. package/esm2022/progress/progress.mjs +3 -3
  126. package/esm2022/select/option.mjs +3 -3
  127. package/esm2022/select/select-module.mjs +4 -4
  128. package/esm2022/select/select.mjs +3 -3
  129. package/esm2022/select/templates.mjs +33 -33
  130. package/esm2022/split/split-module.mjs +4 -4
  131. package/esm2022/split/split-pane.mjs +3 -3
  132. package/esm2022/split/split.mjs +3 -3
  133. package/esm2022/tooltip/tooltip-module.mjs +4 -4
  134. package/esm2022/tooltip/tooltip.mjs +20 -18
  135. package/fesm2022/mtxAlert.mjs +9 -8
  136. package/fesm2022/mtxAlert.mjs.map +1 -1
  137. package/fesm2022/mtxButton.mjs +7 -7
  138. package/fesm2022/mtxCheckboxGroup.mjs +7 -7
  139. package/fesm2022/mtxColorpicker.mjs +20 -20
  140. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  141. package/fesm2022/mtxColumnResize.mjs +40 -40
  142. package/fesm2022/mtxCore.mjs +21 -21
  143. package/fesm2022/mtxDatetimepicker.mjs +273 -82
  144. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  145. package/fesm2022/mtxDialog.mjs +10 -10
  146. package/fesm2022/mtxDrawer.mjs +160 -340
  147. package/fesm2022/mtxDrawer.mjs.map +1 -1
  148. package/fesm2022/mtxGrid.mjs +68 -68
  149. package/fesm2022/mtxGrid.mjs.map +1 -1
  150. package/fesm2022/mtxLoader.mjs +7 -7
  151. package/fesm2022/mtxPhotoviewer.mjs +7 -7
  152. package/fesm2022/mtxPopover.mjs +44 -34
  153. package/fesm2022/mtxPopover.mjs.map +1 -1
  154. package/fesm2022/mtxProgress.mjs +7 -7
  155. package/fesm2022/mtxSelect.mjs +43 -43
  156. package/fesm2022/mtxSplit.mjs +10 -10
  157. package/fesm2022/mtxTooltip.mjs +23 -21
  158. package/fesm2022/mtxTooltip.mjs.map +1 -1
  159. package/grid/column-menu.scss +0 -1
  160. package/grid/grid.scss +2 -0
  161. package/package.json +7 -7
  162. package/popover/popover-interfaces.d.ts +0 -1
  163. package/popover/popover.d.ts +2 -5
  164. package/prebuilt-themes/azure-blue.css +1 -1
  165. package/prebuilt-themes/cyan-orange.css +1 -1
  166. package/prebuilt-themes/deeppurple-amber.css +1 -1
  167. package/prebuilt-themes/indigo-pink.css +1 -1
  168. package/prebuilt-themes/magenta-violet.css +1 -1
  169. package/prebuilt-themes/pink-bluegrey.css +1 -1
  170. package/prebuilt-themes/purple-green.css +1 -1
  171. package/prebuilt-themes/rose-red.css +1 -1
  172. package/select/option.d.ts +1 -1
  173. package/select/select.scss +2 -2
  174. package/tooltip/_tooltip-theme.scss +19 -15
  175. package/tooltip/tooltip.d.ts +3 -0
  176. package/tooltip/tooltip.scss +61 -29
  177. package/core/typography/_typography.scss +0 -40
@@ -1,12 +1,12 @@
1
1
  @use 'sass:list';
2
2
  @use 'sass:map';
3
3
  @use 'sass:meta';
4
- @use '@material/elevation/elevation-theme' as mdc-elevation-theme;
5
- @use '@material/theme/custom-properties' as mdc-custom-properties;
6
- @use '@material/theme/theme' as mdc-theme;
7
- @use '@material/theme/keys' as mdc-keys;
4
+ @use 'sass:string';
5
+ @use 'sass:color';
6
+ @use 'sass:math';
8
7
  @use '@angular/material' as mat;
9
- @use '../typography/typography';
8
+ @use '../style/elevation';
9
+ @use '../m2/typography' as m2-typography;
10
10
 
11
11
  // Indicates whether we're building internally. Used for backwards compatibility.
12
12
  $private-is-internal-build: false;
@@ -24,7 +24,7 @@ $placeholder-color-config: (
24
24
  background: mat.$m2-light-theme-background-palette,
25
25
  );
26
26
 
27
- $_placeholder-typography-level-config: typography.typography-config-level-from-mdc(body1);
27
+ $_placeholder-typography-level-config: m2-typography.typography-config-level-from-mdc(body1);
28
28
 
29
29
  // Placeholder typography config that can be passed to token getter functions when generating token
30
30
  // slots.
@@ -54,27 +54,33 @@ $placeholder-density-config: 0;
54
54
  $_tokens: null;
55
55
  $_component-prefix: null;
56
56
 
57
- @mixin _configure-token-prefix($first, $rest...) {
58
- $_component-prefix: '' !global;
59
- @each $item in $rest {
60
- $_component-prefix:
61
- if($_component-prefix == '', $item, '#{$_component-prefix}-#{$item}') !global;
62
- }
63
- @include mdc-custom-properties.configure($varname-prefix: $first) {
64
- @content;
65
- }
66
- $_component-prefix: null !global;
67
- }
68
-
69
57
  // Sets the token prefix and map to use when creating token slots.
70
58
  @mixin use-tokens($prefix, $tokens) {
59
+ $_component-prefix: $prefix !global;
71
60
  $_tokens: $tokens !global;
72
- @include _configure-token-prefix($prefix...) {
73
- @content;
74
- }
61
+
62
+ @content;
63
+
64
+ $_component-prefix: null !global;
75
65
  $_tokens: null !global;
76
66
  }
77
67
 
68
+ // Combines a prefix and a string to generate a CSS variable name for a token.
69
+ @function _get-css-variable($prefix, $name) {
70
+ @if $prefix == null or $name == null {
71
+ @error 'Must specify both prefix and name when generating token';
72
+ }
73
+
74
+ $string-prefix: '';
75
+
76
+ // Prefixes are lists so we need to combine them.
77
+ @each $part in $prefix {
78
+ $string-prefix: if($string-prefix == '', $part, '#{$string-prefix}-#{$part}');
79
+ }
80
+
81
+ @return string.unquote('--#{$string-prefix}-#{$name}');
82
+ }
83
+
78
84
  // Emits a slot for the given token, provided that it has a non-null value in the token map passed
79
85
  // to `use-tokens`.
80
86
  @mixin create-token-slot($property, $token, $emit-fallback: false) {
@@ -94,8 +100,10 @@ $_component-prefix: null;
94
100
  $fallback: $emit-fallback;
95
101
  }
96
102
 
97
- $value: mdc-custom-properties.create('#{$_component-prefix}-#{$token}', $fallback: $fallback);
98
- @include mdc-theme.property($property, $value);
103
+ $var-name: _get-css-variable($_component-prefix, $token);
104
+ $var-reference: if($fallback == null, var(#{$var-name}), var(#{$var-name}, #{$fallback}));
105
+
106
+ #{$property}: #{$var-reference};
99
107
  }
100
108
  }
101
109
 
@@ -109,7 +117,7 @@ $_component-prefix: null;
109
117
  @error 'Token #{$token} does not exist. Configured tokens are: #{map.keys($_tokens)}';
110
118
  }
111
119
 
112
- @return mdc-custom-properties.create-varname('#{$_component-prefix}-#{$token}');
120
+ @return _get-css-variable($_component-prefix, $token);
113
121
  }
114
122
 
115
123
  // TODO(crisbeto): should be able to replace the usages of `get-token-variable` with this.
@@ -134,12 +142,29 @@ $_component-prefix: null;
134
142
  }
135
143
  }
136
144
 
145
+ // Outputs a map of tokens under a specific prefix.
137
146
  @mixin create-token-values($prefix, $tokens) {
138
- @include _configure-token-prefix($prefix...) {
139
- @include mdc-keys.declare-custom-properties($tokens, $_component-prefix);
147
+ @if $tokens != null {
148
+ @each $key, $value in $tokens {
149
+ @if $value != null {
150
+ #{_get-css-variable($prefix, $key)}: #{$value};
151
+ }
152
+ }
140
153
  }
141
154
  }
142
155
 
156
+ /// Gets all the MDC token values for a specific component. This function serves as single
157
+ /// point at which we directly reference a specific version of the MDC tokens.
158
+ /// @param {String} $component Name of the component for which to get the tokens
159
+ /// @param {Map} $systems The MDC system tokens
160
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
161
+ /// @return {List} Map of token names to values
162
+ @function get-mdc-tokens($component, $systems, $exclude-hardcoded) {
163
+ $full-name: 'md-comp-' + $component + '-values';
164
+ $fn: meta.get-function($name: $full-name, $module: 'm3-token-definitions');
165
+ @return meta.call($fn, $systems, $exclude-hardcoded);
166
+ }
167
+
143
168
  // MDC doesn't currently handle elevation tokens properly. As a temporary workaround we can combine
144
169
  // the elevation and shadow-color tokens into a full box-shadow and use it as the value for the
145
170
  // elevation token.
@@ -147,7 +172,7 @@ $_component-prefix: null;
147
172
  $elevation: map.get($tokens, $elevation-token);
148
173
  $shadow-color: map.get($tokens, $shadow-color-token);
149
174
  @return map.merge($tokens, (
150
- $elevation-token: mdc-elevation-theme.elevation-box-shadow($elevation, $shadow-color),
175
+ $elevation-token: elevation.get-box-shadow($elevation, $shadow-color),
151
176
  $shadow-color-token: null,
152
177
  ));
153
178
  }
@@ -202,9 +227,13 @@ $_component-prefix: null;
202
227
  }
203
228
  $overrides: map.get($tokens, list.append($prefix, $color-variant));
204
229
  @if $overrides == null {
205
- @error #{'Invalid color variant: '}#{$color-variant}#{'. Supported color variants are: '}#{
206
- _supported-color-variants($tokens, $prefix)
207
- }#{'.'};
230
+ $variants: _supported-color-variants($tokens, $prefix);
231
+ $secondary-message: if($variants == (),
232
+ 'Mixin does not support color variants',
233
+ 'Supported color variants are: #{$variants}'
234
+ );
235
+
236
+ @error 'Invalid color variant: #{$color-variant}. #{$secondary-message}.';
208
237
  }
209
238
  @return if($emit-overrides-only, $overrides, map.merge($values, $overrides));
210
239
  }
@@ -286,6 +315,7 @@ $_component-prefix: null;
286
315
  /// @param {Map} $map The maps whose values will be mapped to new values.
287
316
  /// @param {Function} $fn The value mapping function.
288
317
  /// @param {Map} A new map with its values updated using the mapping function.
318
+ /* stylelint-disable-next-line scss/no-global-function-names */
289
319
  @function map-values($map, $fn) {
290
320
  $result: ();
291
321
  @each $key, $value in $map {
@@ -339,6 +369,66 @@ $_component-prefix: null;
339
369
  @return $result;
340
370
  }
341
371
 
372
+ /// Inherited function from MDC that computes which contrast tone to use on top of a color.
373
+ /// This is used only in a narrow set of use cases when generating M2 button tokens to maintain
374
+ /// backwards compatibility.
375
+ /// @param {Color} $value Color for which we're calculating the contrast tone.
376
+ /// @param {Boolean} $is-dark Whether the current theme is dark.
377
+ /// @return {Map} Either `dark` or `light`.
378
+ @function contrast-tone($value, $is-dark) {
379
+ @if ($value == 'dark') {
380
+ @return 'light';
381
+ }
382
+
383
+ @if ($value == 'light') {
384
+ @return 'dark';
385
+ }
386
+
387
+ // Fallback if the app is using a non-color palette (e.g. CSS variable based).
388
+ @if (meta.type-of($value) != 'color') {
389
+ @return if($is-dark, 'light', 'dark');
390
+ }
391
+
392
+ $minimum-contrast: 3.1;
393
+ $light-contrast: _contrast($value, #fff);
394
+ $dark-contrast: _contrast($value, rgba(0, 0, 0, 0.87));
395
+
396
+ @if ($light-contrast < $minimum-contrast) and ($dark-contrast > $light-contrast) {
397
+ @return 'dark';
398
+ }
399
+
400
+ @return 'light';
401
+ }
402
+
403
+ @function _linear-channel-value($channel-value) {
404
+ $normalized-channel-value: math.div($channel-value, 255);
405
+
406
+ @if ($normalized-channel-value < 0.03928) {
407
+ @return math.div($normalized-channel-value, 12.92);
408
+ }
409
+
410
+ @return math.pow(math.div($normalized-channel-value + 0.055, 1.055), 2.4);
411
+ }
412
+
413
+ // Calculate the luminance for a color.
414
+ // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
415
+ @function _luminance($color) {
416
+ $red: _linear-channel-value(color.red($color));
417
+ $green: _linear-channel-value(color.green($color));
418
+ $blue: _linear-channel-value(color.blue($color));
419
+
420
+ @return 0.2126 * $red + 0.7152 * $green + 0.0722 * $blue;
421
+ }
422
+
423
+ // Calculate the contrast ratio between two colors.
424
+ // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
425
+ @function _contrast($back, $front) {
426
+ $back-lum: _luminance($back) + 0.05;
427
+ $fore-lum: _luminance($front) + 0.05;
428
+
429
+ @return math.div(math.max($back-lum, $fore-lum), math.min($back-lum, $fore-lum));
430
+ }
431
+
342
432
  /// Verifies that the token overrides exist and are used in one of the given token maps.
343
433
  @mixin _validate-token-overrides($overrides: (), $token-maps) {
344
434
  $valid-token-names: ();
@@ -19,16 +19,24 @@ $prefix: (mtx, alert);
19
19
 
20
20
  @return (
21
21
  outline-color: transparent,
22
- background-color: mat.get-theme-color($theme, background, dialog),
22
+ background-color: mat.m2-get-color-from-palette(mat.$m2-gray-palette, if($is-dark, 900, 100)),
23
23
  text-color: mat.get-theme-color($theme, foreground, text),
24
- info-background-color: mat.m2-get-color-from-palette(mat.$m2-blue-palette, if($is-dark, 900, 500)),
25
- info-text-color: white,
26
- success-background-color: mat.m2-get-color-from-palette(mat.$m2-green-palette, if($is-dark, 900, 500)),
27
- success-text-color: white,
28
- warning-background-color: mat.m2-get-color-from-palette(mat.$m2-orange-palette, if($is-dark, 900, 500)),
29
- warning-text-color: white,
30
- danger-background-color: mat.m2-get-color-from-palette(mat.$m2-red-palette, if($is-dark, 900, 500)),
31
- danger-text-color: white,
24
+
25
+ info-outline-color: transparent,
26
+ info-background-color: mat.m2-get-color-from-palette(mat.$m2-blue-palette, if($is-dark, 900, 100)),
27
+ info-text-color: mat.get-theme-color($theme, foreground, text),
28
+
29
+ success-outline-color: transparent,
30
+ success-background-color: mat.m2-get-color-from-palette(mat.$m2-green-palette, if($is-dark, 900, 100)),
31
+ success-text-color: mat.get-theme-color($theme, foreground, text),
32
+
33
+ warning-outline-color: transparent,
34
+ warning-background-color: mat.m2-get-color-from-palette(mat.$m2-amber-palette, if($is-dark, 900, 100)),
35
+ warning-text-color: mat.get-theme-color($theme, foreground, text),
36
+
37
+ danger-outline-color: transparent,
38
+ danger-background-color: mat.m2-get-color-from-palette(mat.$m2-red-palette, if($is-dark, 900, 100)),
39
+ danger-text-color: mat.get-theme-color($theme, foreground, text),
32
40
  );
33
41
  }
34
42
 
@@ -1,9 +1,9 @@
1
1
  @use 'sass:color';
2
2
  @use 'sass:map';
3
3
  @use 'sass:meta';
4
- @use '@material/elevation/elevation-theme' as mdc-elevation;
5
4
  @use '@angular/material' as mat;
6
5
  @use '../../token-utils';
6
+ @use '../../../style/elevation';
7
7
 
8
8
  // The prefix used to generate the fully qualified name for tokens in this file.
9
9
  $prefix: (mtx, datetimepicker);
@@ -56,8 +56,8 @@ $_today-fade-amount: .2;
56
56
  // but may be in a future version of the theming API.
57
57
  @function get-unthemable-tokens() {
58
58
  @return (
59
- container-elevation-shadow: mdc-elevation.elevation-box-shadow(4),
60
- container-touch-elevation-shadow: mdc-elevation.elevation-box-shadow(24),
59
+ container-elevation-shadow: elevation.get-box-shadow(4),
60
+ container-touch-elevation-shadow: elevation.get-box-shadow(24),
61
61
  container-shape: 4px,
62
62
  container-touch-shape: 4px,
63
63
  selector-container-shape: 4px,
@@ -1,7 +1,7 @@
1
1
  @use 'sass:map';
2
2
  @use '@angular/material' as mat;
3
- @use '@material/elevation' as mdc-elevation;
4
3
  @use '../../token-utils';
4
+ @use '../../../style/elevation';
5
5
 
6
6
  // The prefix used to generate the fully qualified name for tokens in this file.
7
7
  $prefix: (mtx, drawer);
@@ -11,7 +11,7 @@ $prefix: (mtx, drawer);
11
11
  @function get-unthemable-tokens() {
12
12
  @return (
13
13
  container-shape: 0,
14
- container-elevation-shadow: mdc-elevation.elevation-box-shadow(16),
14
+ container-elevation-shadow: elevation.get-box-shadow(16),
15
15
  );
16
16
  }
17
17
 
@@ -1,6 +1,5 @@
1
1
  @use 'sass:map';
2
2
  @use '@angular/material' as mat;
3
- @use '@material/elevation' as mdc-elevation;
4
3
  @use '../../token-utils';
5
4
 
6
5
  // The prefix used to generate the fully qualified name for tokens in this file.
@@ -12,7 +11,6 @@ $prefix: (mtx, grid);
12
11
  @return (
13
12
  container-shape: 0,
14
13
  table-cell-min-width: 80px,
15
- column-menu-elevation-shadow: mdc-elevation.elevation-box-shadow(8),
16
14
  );
17
15
  }
18
16
 
@@ -10,6 +10,9 @@ $prefix: (mtx, popover);
10
10
  @function get-unthemable-tokens() {
11
11
  @return (
12
12
  container-shape: 4px,
13
+ // Note that this uses a value, rather than a computed box-shadow, because we use
14
+ // the value at runtime to determine which shadow to set based on the popover's depth.
15
+ base-elevation-level: 8,
13
16
  );
14
17
  }
15
18
 
@@ -1,10 +1,8 @@
1
1
  @use 'sass:map';
2
2
  @use 'sass:math';
3
- @use '@material/textfield' as mdc-textfield;
4
- @use '@material/density' as mdc-density;
5
- @use '@material/elevation' as mdc-elevation;
6
3
  @use '@angular/material' as mat;
7
4
  @use '../../token-utils';
5
+ @use '../../../style/elevation';
8
6
 
9
7
  // The prefix used to generate the fully qualified name for tokens in this file.
10
8
  $prefix: (mtx, select);
@@ -21,7 +19,7 @@ $prefix: (mtx, select);
21
19
  @function get-unthemable-tokens() {
22
20
  @return (
23
21
  container-shape: 4px,
24
- container-elevation-shadow: mdc-elevation.elevation-box-shadow(8),
22
+ container-elevation-shadow: elevation.get-box-shadow(8),
25
23
  );
26
24
  }
27
25
 
@@ -0,0 +1,8 @@
1
+ @forward './md-ref-palette' as md-ref-palette-*;
2
+ @forward './md-ref-typeface' as md-ref-typeface-*;
3
+ @forward './md-sys-color' as md-sys-color-*;
4
+ @forward './md-sys-elevation' as md-sys-elevation-*;
5
+ @forward './md-sys-motion' as md-sys-motion-*;
6
+ @forward './md-sys-shape' as md-sys-shape-*;
7
+ @forward './md-sys-state' as md-sys-state-*;
8
+ @forward './md-sys-typescale' as md-sys-typescale-*;
@@ -0,0 +1,100 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @function values($exclude-hardcoded-values: false) {
7
+ @return (
8
+ 'black': if($exclude-hardcoded-values, null, #000),
9
+ 'error0': if($exclude-hardcoded-values, null, #000),
10
+ 'error10': if($exclude-hardcoded-values, null, #410e0b),
11
+ 'error100': if($exclude-hardcoded-values, null, #fff),
12
+ 'error20': if($exclude-hardcoded-values, null, #601410),
13
+ 'error30': if($exclude-hardcoded-values, null, #8c1d18),
14
+ 'error40': if($exclude-hardcoded-values, null, #b3261e),
15
+ 'error50': if($exclude-hardcoded-values, null, #dc362e),
16
+ 'error60': if($exclude-hardcoded-values, null, #e46962),
17
+ 'error70': if($exclude-hardcoded-values, null, #ec928e),
18
+ 'error80': if($exclude-hardcoded-values, null, #f2b8b5),
19
+ 'error90': if($exclude-hardcoded-values, null, #f9dedc),
20
+ 'error95': if($exclude-hardcoded-values, null, #fceeee),
21
+ 'error99': if($exclude-hardcoded-values, null, #fffbf9),
22
+ 'neutral-variant0': if($exclude-hardcoded-values, null, #000),
23
+ 'neutral-variant10': if($exclude-hardcoded-values, null, #1d1a22),
24
+ 'neutral-variant100': if($exclude-hardcoded-values, null, #fff),
25
+ 'neutral-variant20': if($exclude-hardcoded-values, null, #322f37),
26
+ 'neutral-variant30': if($exclude-hardcoded-values, null, #49454f),
27
+ 'neutral-variant40': if($exclude-hardcoded-values, null, #605d66),
28
+ 'neutral-variant50': if($exclude-hardcoded-values, null, #79747e),
29
+ 'neutral-variant60': if($exclude-hardcoded-values, null, #938f99),
30
+ 'neutral-variant70': if($exclude-hardcoded-values, null, #aea9b4),
31
+ 'neutral-variant80': if($exclude-hardcoded-values, null, #cac4d0),
32
+ 'neutral-variant90': if($exclude-hardcoded-values, null, #e7e0ec),
33
+ 'neutral-variant95': if($exclude-hardcoded-values, null, #f5eefa),
34
+ 'neutral-variant99': if($exclude-hardcoded-values, null, #fffbfe),
35
+ 'neutral0': if($exclude-hardcoded-values, null, #000),
36
+ 'neutral10': if($exclude-hardcoded-values, null, #1c1b1f),
37
+ 'neutral100': if($exclude-hardcoded-values, null, #fff),
38
+ 'neutral12': if($exclude-hardcoded-values, null, #201f23),
39
+ 'neutral17': if($exclude-hardcoded-values, null, #2b292d),
40
+ 'neutral20': if($exclude-hardcoded-values, null, #313033),
41
+ 'neutral22': if($exclude-hardcoded-values, null, #313033),
42
+ 'neutral24': if($exclude-hardcoded-values, null, #313033),
43
+ 'neutral30': if($exclude-hardcoded-values, null, #484649),
44
+ 'neutral4': if($exclude-hardcoded-values, null, #0e0e11),
45
+ 'neutral40': if($exclude-hardcoded-values, null, #605d62),
46
+ 'neutral50': if($exclude-hardcoded-values, null, #787579),
47
+ 'neutral6': if($exclude-hardcoded-values, null, #141317),
48
+ 'neutral60': if($exclude-hardcoded-values, null, #939094),
49
+ 'neutral70': if($exclude-hardcoded-values, null, #aeaaae),
50
+ 'neutral80': if($exclude-hardcoded-values, null, #c9c5ca),
51
+ 'neutral87': if($exclude-hardcoded-values, null, #ddd8dd),
52
+ 'neutral90': if($exclude-hardcoded-values, null, #e6e1e5),
53
+ 'neutral92': if($exclude-hardcoded-values, null, #ece7ec),
54
+ 'neutral94': if($exclude-hardcoded-values, null, #f1ecf1),
55
+ 'neutral95': if($exclude-hardcoded-values, null, #f4eff4),
56
+ 'neutral96': if($exclude-hardcoded-values, null, #f7f2f7),
57
+ 'neutral98': if($exclude-hardcoded-values, null, #fdf8fd),
58
+ 'neutral99': if($exclude-hardcoded-values, null, #fffbfe),
59
+ 'primary0': if($exclude-hardcoded-values, null, #000),
60
+ 'primary10': if($exclude-hardcoded-values, null, #21005d),
61
+ 'primary100': if($exclude-hardcoded-values, null, #fff),
62
+ 'primary20': if($exclude-hardcoded-values, null, #381e72),
63
+ 'primary30': if($exclude-hardcoded-values, null, #4f378b),
64
+ 'primary40': if($exclude-hardcoded-values, null, #6750a4),
65
+ 'primary50': if($exclude-hardcoded-values, null, #7f67be),
66
+ 'primary60': if($exclude-hardcoded-values, null, #9a82db),
67
+ 'primary70': if($exclude-hardcoded-values, null, #b69df8),
68
+ 'primary80': if($exclude-hardcoded-values, null, #d0bcff),
69
+ 'primary90': if($exclude-hardcoded-values, null, #eaddff),
70
+ 'primary95': if($exclude-hardcoded-values, null, #f6edff),
71
+ 'primary99': if($exclude-hardcoded-values, null, #fffbfe),
72
+ 'secondary0': if($exclude-hardcoded-values, null, #000),
73
+ 'secondary10': if($exclude-hardcoded-values, null, #1d192b),
74
+ 'secondary100': if($exclude-hardcoded-values, null, #fff),
75
+ 'secondary20': if($exclude-hardcoded-values, null, #332d41),
76
+ 'secondary30': if($exclude-hardcoded-values, null, #4a4458),
77
+ 'secondary40': if($exclude-hardcoded-values, null, #625b71),
78
+ 'secondary50': if($exclude-hardcoded-values, null, #7a7289),
79
+ 'secondary60': if($exclude-hardcoded-values, null, #958da5),
80
+ 'secondary70': if($exclude-hardcoded-values, null, #b0a7c0),
81
+ 'secondary80': if($exclude-hardcoded-values, null, #ccc2dc),
82
+ 'secondary90': if($exclude-hardcoded-values, null, #e8def8),
83
+ 'secondary95': if($exclude-hardcoded-values, null, #f6edff),
84
+ 'secondary99': if($exclude-hardcoded-values, null, #fffbfe),
85
+ 'tertiary0': if($exclude-hardcoded-values, null, #000),
86
+ 'tertiary10': if($exclude-hardcoded-values, null, #31111d),
87
+ 'tertiary100': if($exclude-hardcoded-values, null, #fff),
88
+ 'tertiary20': if($exclude-hardcoded-values, null, #492532),
89
+ 'tertiary30': if($exclude-hardcoded-values, null, #633b48),
90
+ 'tertiary40': if($exclude-hardcoded-values, null, #7d5260),
91
+ 'tertiary50': if($exclude-hardcoded-values, null, #986977),
92
+ 'tertiary60': if($exclude-hardcoded-values, null, #b58392),
93
+ 'tertiary70': if($exclude-hardcoded-values, null, #d29dac),
94
+ 'tertiary80': if($exclude-hardcoded-values, null, #efb8c8),
95
+ 'tertiary90': if($exclude-hardcoded-values, null, #ffd8e4),
96
+ 'tertiary95': if($exclude-hardcoded-values, null, #ffecf1),
97
+ 'tertiary99': if($exclude-hardcoded-values, null, #fffbfa),
98
+ 'white': if($exclude-hardcoded-values, null, #fff)
99
+ );
100
+ }
@@ -0,0 +1,14 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @function values($exclude-hardcoded-values: false) {
7
+ @return (
8
+ 'brand': if($exclude-hardcoded-values, null, (Roboto)),
9
+ 'plain': if($exclude-hardcoded-values, null, (Roboto)),
10
+ 'weight-bold': if($exclude-hardcoded-values, null, 700),
11
+ 'weight-medium': if($exclude-hardcoded-values, null, 500),
12
+ 'weight-regular': if($exclude-hardcoded-values, null, 400)
13
+ );
14
+ }
@@ -0,0 +1,126 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @use 'sass:map';
7
+
8
+ @use './md-ref-palette';
9
+
10
+ $_default-dark: (
11
+ 'md-ref-palette': md-ref-palette.values(),
12
+ );
13
+
14
+ @function values-dark($deps: $_default-dark) {
15
+ @return (
16
+ 'background': map.get($deps, 'md-ref-palette', 'neutral10'),
17
+ 'error': map.get($deps, 'md-ref-palette', 'error80'),
18
+ 'error-container': map.get($deps, 'md-ref-palette', 'error30'),
19
+ 'inverse-on-surface': map.get($deps, 'md-ref-palette', 'neutral20'),
20
+ 'inverse-primary': map.get($deps, 'md-ref-palette', 'primary40'),
21
+ 'inverse-surface': map.get($deps, 'md-ref-palette', 'neutral90'),
22
+ 'on-background': map.get($deps, 'md-ref-palette', 'neutral90'),
23
+ 'on-error': map.get($deps, 'md-ref-palette', 'error20'),
24
+ 'on-error-container': map.get($deps, 'md-ref-palette', 'error90'),
25
+ 'on-primary': map.get($deps, 'md-ref-palette', 'primary20'),
26
+ 'on-primary-container': map.get($deps, 'md-ref-palette', 'primary90'),
27
+ 'on-primary-fixed': map.get($deps, 'md-ref-palette', 'primary10'),
28
+ 'on-primary-fixed-variant': map.get($deps, 'md-ref-palette', 'primary30'),
29
+ 'on-secondary': map.get($deps, 'md-ref-palette', 'secondary20'),
30
+ 'on-secondary-container': map.get($deps, 'md-ref-palette', 'secondary90'),
31
+ 'on-secondary-fixed': map.get($deps, 'md-ref-palette', 'secondary10'),
32
+ 'on-secondary-fixed-variant':
33
+ map.get($deps, 'md-ref-palette', 'secondary30'),
34
+ 'on-surface': map.get($deps, 'md-ref-palette', 'neutral90'),
35
+ 'on-surface-variant': map.get($deps, 'md-ref-palette', 'neutral-variant80'),
36
+ 'on-tertiary': map.get($deps, 'md-ref-palette', 'tertiary20'),
37
+ 'on-tertiary-container': map.get($deps, 'md-ref-palette', 'tertiary90'),
38
+ 'on-tertiary-fixed': map.get($deps, 'md-ref-palette', 'tertiary10'),
39
+ 'on-tertiary-fixed-variant': map.get($deps, 'md-ref-palette', 'tertiary30'),
40
+ 'outline': map.get($deps, 'md-ref-palette', 'neutral-variant60'),
41
+ 'outline-variant': map.get($deps, 'md-ref-palette', 'neutral-variant30'),
42
+ 'primary': map.get($deps, 'md-ref-palette', 'primary80'),
43
+ 'primary-container': map.get($deps, 'md-ref-palette', 'primary30'),
44
+ 'primary-fixed': map.get($deps, 'md-ref-palette', 'primary90'),
45
+ 'primary-fixed-dim': map.get($deps, 'md-ref-palette', 'primary80'),
46
+ 'scrim': map.get($deps, 'md-ref-palette', 'neutral0'),
47
+ 'secondary': map.get($deps, 'md-ref-palette', 'secondary80'),
48
+ 'secondary-container': map.get($deps, 'md-ref-palette', 'secondary30'),
49
+ 'secondary-fixed': map.get($deps, 'md-ref-palette', 'secondary90'),
50
+ 'secondary-fixed-dim': map.get($deps, 'md-ref-palette', 'secondary80'),
51
+ 'shadow': map.get($deps, 'md-ref-palette', 'neutral0'),
52
+ 'surface': map.get($deps, 'md-ref-palette', 'neutral10'),
53
+ 'surface-bright': map.get($deps, 'md-ref-palette', 'neutral24'),
54
+ 'surface-container': map.get($deps, 'md-ref-palette', 'neutral12'),
55
+ 'surface-container-high': map.get($deps, 'md-ref-palette', 'neutral17'),
56
+ 'surface-container-highest': map.get($deps, 'md-ref-palette', 'neutral22'),
57
+ 'surface-container-low': map.get($deps, 'md-ref-palette', 'neutral10'),
58
+ 'surface-container-lowest': map.get($deps, 'md-ref-palette', 'neutral4'),
59
+ 'surface-dim': map.get($deps, 'md-ref-palette', 'neutral6'),
60
+ 'surface-tint': map.get($deps, 'md-ref-palette', 'primary80'),
61
+ 'surface-variant': map.get($deps, 'md-ref-palette', 'neutral-variant30'),
62
+ 'tertiary': map.get($deps, 'md-ref-palette', 'tertiary80'),
63
+ 'tertiary-container': map.get($deps, 'md-ref-palette', 'tertiary30'),
64
+ 'tertiary-fixed': map.get($deps, 'md-ref-palette', 'tertiary90'),
65
+ 'tertiary-fixed-dim': map.get($deps, 'md-ref-palette', 'tertiary80')
66
+ );
67
+ }
68
+
69
+ $_default-light: (
70
+ 'md-ref-palette': md-ref-palette.values(),
71
+ );
72
+
73
+ @function values-light($deps: $_default-light) {
74
+ @return (
75
+ 'background': map.get($deps, 'md-ref-palette', 'neutral99'),
76
+ 'error': map.get($deps, 'md-ref-palette', 'error40'),
77
+ 'error-container': map.get($deps, 'md-ref-palette', 'error90'),
78
+ 'inverse-on-surface': map.get($deps, 'md-ref-palette', 'neutral95'),
79
+ 'inverse-primary': map.get($deps, 'md-ref-palette', 'primary80'),
80
+ 'inverse-surface': map.get($deps, 'md-ref-palette', 'neutral20'),
81
+ 'on-background': map.get($deps, 'md-ref-palette', 'neutral10'),
82
+ 'on-error': map.get($deps, 'md-ref-palette', 'error100'),
83
+ 'on-error-container': map.get($deps, 'md-ref-palette', 'error10'),
84
+ 'on-primary': map.get($deps, 'md-ref-palette', 'primary100'),
85
+ 'on-primary-container': map.get($deps, 'md-ref-palette', 'primary10'),
86
+ 'on-primary-fixed': map.get($deps, 'md-ref-palette', 'primary10'),
87
+ 'on-primary-fixed-variant': map.get($deps, 'md-ref-palette', 'primary30'),
88
+ 'on-secondary': map.get($deps, 'md-ref-palette', 'secondary100'),
89
+ 'on-secondary-container': map.get($deps, 'md-ref-palette', 'secondary10'),
90
+ 'on-secondary-fixed': map.get($deps, 'md-ref-palette', 'secondary10'),
91
+ 'on-secondary-fixed-variant':
92
+ map.get($deps, 'md-ref-palette', 'secondary30'),
93
+ 'on-surface': map.get($deps, 'md-ref-palette', 'neutral10'),
94
+ 'on-surface-variant': map.get($deps, 'md-ref-palette', 'neutral-variant30'),
95
+ 'on-tertiary': map.get($deps, 'md-ref-palette', 'tertiary100'),
96
+ 'on-tertiary-container': map.get($deps, 'md-ref-palette', 'tertiary10'),
97
+ 'on-tertiary-fixed': map.get($deps, 'md-ref-palette', 'tertiary10'),
98
+ 'on-tertiary-fixed-variant': map.get($deps, 'md-ref-palette', 'tertiary30'),
99
+ 'outline': map.get($deps, 'md-ref-palette', 'neutral-variant50'),
100
+ 'outline-variant': map.get($deps, 'md-ref-palette', 'neutral-variant80'),
101
+ 'primary': map.get($deps, 'md-ref-palette', 'primary40'),
102
+ 'primary-container': map.get($deps, 'md-ref-palette', 'primary90'),
103
+ 'primary-fixed': map.get($deps, 'md-ref-palette', 'primary90'),
104
+ 'primary-fixed-dim': map.get($deps, 'md-ref-palette', 'primary80'),
105
+ 'scrim': map.get($deps, 'md-ref-palette', 'neutral0'),
106
+ 'secondary': map.get($deps, 'md-ref-palette', 'secondary40'),
107
+ 'secondary-container': map.get($deps, 'md-ref-palette', 'secondary90'),
108
+ 'secondary-fixed': map.get($deps, 'md-ref-palette', 'secondary90'),
109
+ 'secondary-fixed-dim': map.get($deps, 'md-ref-palette', 'secondary80'),
110
+ 'shadow': map.get($deps, 'md-ref-palette', 'neutral0'),
111
+ 'surface': map.get($deps, 'md-ref-palette', 'neutral99'),
112
+ 'surface-bright': map.get($deps, 'md-ref-palette', 'neutral98'),
113
+ 'surface-container': map.get($deps, 'md-ref-palette', 'neutral94'),
114
+ 'surface-container-high': map.get($deps, 'md-ref-palette', 'neutral92'),
115
+ 'surface-container-highest': map.get($deps, 'md-ref-palette', 'neutral90'),
116
+ 'surface-container-low': map.get($deps, 'md-ref-palette', 'neutral96'),
117
+ 'surface-container-lowest': map.get($deps, 'md-ref-palette', 'neutral100'),
118
+ 'surface-dim': map.get($deps, 'md-ref-palette', 'neutral87'),
119
+ 'surface-tint': map.get($deps, 'md-ref-palette', 'primary40'),
120
+ 'surface-variant': map.get($deps, 'md-ref-palette', 'neutral-variant90'),
121
+ 'tertiary': map.get($deps, 'md-ref-palette', 'tertiary40'),
122
+ 'tertiary-container': map.get($deps, 'md-ref-palette', 'tertiary90'),
123
+ 'tertiary-fixed': map.get($deps, 'md-ref-palette', 'tertiary90'),
124
+ 'tertiary-fixed-dim': map.get($deps, 'md-ref-palette', 'tertiary80')
125
+ );
126
+ }
@@ -0,0 +1,15 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @function values($exclude-hardcoded-values: false) {
7
+ @return (
8
+ 'level0': if($exclude-hardcoded-values, null, 0),
9
+ 'level1': if($exclude-hardcoded-values, null, 1),
10
+ 'level2': if($exclude-hardcoded-values, null, 3),
11
+ 'level3': if($exclude-hardcoded-values, null, 6),
12
+ 'level4': if($exclude-hardcoded-values, null, 8),
13
+ 'level5': if($exclude-hardcoded-values, null, 12)
14
+ );
15
+ }