@ng-matero/extensions 18.1.2 → 18.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.
Files changed (149) hide show
  1. package/alert/alert.scss +1 -1
  2. package/core/theming/_definition.scss +16 -5
  3. package/core/tokens/_m3-tokens.scss +311 -153
  4. package/core/tokens/_token-definition.scss +271 -0
  5. package/core/tokens/_token-utils.scss +70 -301
  6. package/core/tokens/m2/mdc/_plain-tooltip.scss +4 -4
  7. package/core/tokens/m2/mtx/_alert.scss +4 -4
  8. package/core/tokens/m2/mtx/_colorpicker.scss +4 -4
  9. package/core/tokens/m2/mtx/_datetimepicker.scss +4 -4
  10. package/core/tokens/m2/mtx/_drawer.scss +4 -4
  11. package/core/tokens/m2/mtx/_grid.scss +4 -4
  12. package/core/tokens/m2/mtx/_loader.scss +4 -4
  13. package/core/tokens/m2/mtx/_popover.scss +4 -4
  14. package/core/tokens/m2/mtx/_progress.scss +4 -4
  15. package/core/tokens/m2/mtx/_select.scss +4 -4
  16. package/core/tokens/m2/mtx/_split.scss +4 -4
  17. package/core/tokens/m3/mtx/_alert.scss +2 -2
  18. package/core/tokens/m3/mtx/_colorpicker.scss +2 -2
  19. package/core/tokens/m3/mtx/_datetimepicker.scss +6 -6
  20. package/core/tokens/m3/mtx/_drawer.scss +3 -3
  21. package/core/tokens/m3/mtx/_grid.scss +3 -3
  22. package/core/tokens/m3/mtx/_loader.scss +2 -2
  23. package/core/tokens/m3/mtx/_popover.scss +3 -3
  24. package/core/tokens/m3/mtx/_progress.scss +6 -6
  25. package/core/tokens/m3/mtx/_select.scss +4 -4
  26. package/core/tokens/m3/mtx/_split.scss +2 -2
  27. package/datetimepicker/calendar-body.scss +1 -1
  28. package/datetimepicker/calendar.scss +5 -5
  29. package/esm2022/alert/alert-module.mjs +4 -4
  30. package/esm2022/alert/alert.mjs +5 -5
  31. package/esm2022/button/button-loading.mjs +3 -3
  32. package/esm2022/button/button-module.mjs +4 -4
  33. package/esm2022/checkbox-group/checkbox-group-module.mjs +4 -4
  34. package/esm2022/checkbox-group/checkbox-group.mjs +5 -5
  35. package/esm2022/colorpicker/colorpicker-input.mjs +3 -3
  36. package/esm2022/colorpicker/colorpicker-module.mjs +4 -4
  37. package/esm2022/colorpicker/colorpicker-toggle.mjs +8 -8
  38. package/esm2022/colorpicker/colorpicker.mjs +6 -6
  39. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  40. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +3 -3
  41. package/esm2022/column-resize/column-resize-module.mjs +4 -4
  42. package/esm2022/column-resize/column-resize-notifier.mjs +6 -6
  43. package/esm2022/column-resize/column-resize.mjs +3 -3
  44. package/esm2022/column-resize/column-size-store.mjs +3 -3
  45. package/esm2022/column-resize/event-dispatcher.mjs +3 -3
  46. package/esm2022/column-resize/overlay-handle.mjs +3 -3
  47. package/esm2022/column-resize/resizable.mjs +3 -3
  48. package/esm2022/column-resize/resize-strategy.mjs +9 -9
  49. package/esm2022/core/datetime/datetime.module.mjs +8 -8
  50. package/esm2022/core/datetime/native-datetime-adapter.mjs +3 -3
  51. package/esm2022/core/pipes/is-template-ref.pipe.mjs +3 -3
  52. package/esm2022/core/pipes/pipes.module.mjs +4 -4
  53. package/esm2022/core/pipes/to-observable.pipe.mjs +3 -3
  54. package/esm2022/datetimepicker/calendar-body.mjs +4 -4
  55. package/esm2022/datetimepicker/calendar.mjs +6 -5
  56. package/esm2022/datetimepicker/clock.mjs +4 -4
  57. package/esm2022/datetimepicker/datetimepicker-actions.mjs +12 -12
  58. package/esm2022/datetimepicker/datetimepicker-input.mjs +3 -3
  59. package/esm2022/datetimepicker/datetimepicker-intl.mjs +3 -3
  60. package/esm2022/datetimepicker/datetimepicker-module.mjs +4 -4
  61. package/esm2022/datetimepicker/datetimepicker-toggle.mjs +8 -8
  62. package/esm2022/datetimepicker/datetimepicker.mjs +11 -12
  63. package/esm2022/datetimepicker/month-view.mjs +3 -3
  64. package/esm2022/datetimepicker/multi-year-view.mjs +3 -3
  65. package/esm2022/datetimepicker/time.mjs +8 -8
  66. package/esm2022/datetimepicker/year-view.mjs +3 -3
  67. package/esm2022/dialog/dialog-container.mjs +3 -3
  68. package/esm2022/dialog/dialog-module.mjs +4 -4
  69. package/esm2022/dialog/dialog.mjs +3 -3
  70. package/esm2022/drawer/drawer-container.mjs +5 -5
  71. package/esm2022/drawer/drawer-module.mjs +4 -4
  72. package/esm2022/drawer/drawer.mjs +3 -3
  73. package/esm2022/grid/cell.mjs +4 -4
  74. package/esm2022/grid/column-menu.mjs +5 -5
  75. package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  76. package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +3 -3
  77. package/esm2022/grid/column-resize/column-resize-module.mjs +8 -8
  78. package/esm2022/grid/column-resize/overlay-handle.mjs +3 -3
  79. package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +3 -3
  80. package/esm2022/grid/column-resize/resize-strategy.mjs +3 -3
  81. package/esm2022/grid/expansion-toggle.mjs +3 -3
  82. package/esm2022/grid/grid-module.mjs +4 -4
  83. package/esm2022/grid/grid-pipes.mjs +21 -21
  84. package/esm2022/grid/grid-utils.mjs +3 -3
  85. package/esm2022/grid/grid.mjs +5 -5
  86. package/esm2022/grid/selectable-cell.mjs +3 -3
  87. package/esm2022/loader/loader-module.mjs +4 -4
  88. package/esm2022/loader/loader.mjs +3 -3
  89. package/esm2022/photoviewer/photoviewer-module.mjs +4 -4
  90. package/esm2022/photoviewer/photoviewer.mjs +3 -3
  91. package/esm2022/popover/popover-content.mjs +6 -6
  92. package/esm2022/popover/popover-module.mjs +4 -4
  93. package/esm2022/popover/popover-target.mjs +3 -3
  94. package/esm2022/popover/popover-trigger.mjs +3 -3
  95. package/esm2022/popover/popover.mjs +5 -5
  96. package/esm2022/progress/progress-module.mjs +4 -4
  97. package/esm2022/progress/progress.mjs +4 -4
  98. package/esm2022/select/option.mjs +3 -3
  99. package/esm2022/select/select-module.mjs +12 -8
  100. package/esm2022/select/select.mjs +9 -6
  101. package/esm2022/select/templates.mjs +45 -34
  102. package/esm2022/split/split-module.mjs +4 -4
  103. package/esm2022/split/split-pane.mjs +3 -3
  104. package/esm2022/split/split.mjs +4 -4
  105. package/esm2022/tooltip/tooltip-module.mjs +4 -4
  106. package/esm2022/tooltip/tooltip.mjs +6 -6
  107. package/fesm2022/mtxAlert.mjs +8 -8
  108. package/fesm2022/mtxAlert.mjs.map +1 -1
  109. package/fesm2022/mtxButton.mjs +7 -7
  110. package/fesm2022/mtxCheckboxGroup.mjs +8 -8
  111. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  112. package/fesm2022/mtxColorpicker.mjs +20 -20
  113. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  114. package/fesm2022/mtxColumnResize.mjs +40 -40
  115. package/fesm2022/mtxCore.mjs +21 -21
  116. package/fesm2022/mtxDatetimepicker.mjs +68 -68
  117. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  118. package/fesm2022/mtxDialog.mjs +10 -10
  119. package/fesm2022/mtxDrawer.mjs +11 -11
  120. package/fesm2022/mtxDrawer.mjs.map +1 -1
  121. package/fesm2022/mtxGrid.mjs +68 -68
  122. package/fesm2022/mtxGrid.mjs.map +1 -1
  123. package/fesm2022/mtxLoader.mjs +7 -7
  124. package/fesm2022/mtxPhotoviewer.mjs +7 -7
  125. package/fesm2022/mtxPopover.mjs +20 -20
  126. package/fesm2022/mtxPopover.mjs.map +1 -1
  127. package/fesm2022/mtxProgress.mjs +8 -8
  128. package/fesm2022/mtxProgress.mjs.map +1 -1
  129. package/fesm2022/mtxSelect.mjs +65 -47
  130. package/fesm2022/mtxSelect.mjs.map +1 -1
  131. package/fesm2022/mtxSplit.mjs +11 -11
  132. package/fesm2022/mtxSplit.mjs.map +1 -1
  133. package/fesm2022/mtxTooltip.mjs +10 -10
  134. package/grid/column-menu.scss +3 -3
  135. package/grid/column-resize/_column-resize.scss +2 -2
  136. package/grid/grid.scss +8 -8
  137. package/package.json +37 -25
  138. package/prebuilt-themes/azure-blue.css +1 -1
  139. package/prebuilt-themes/cyan-orange.css +1 -1
  140. package/prebuilt-themes/deeppurple-amber.css +1 -1
  141. package/prebuilt-themes/indigo-pink.css +1 -1
  142. package/prebuilt-themes/magenta-violet.css +1 -1
  143. package/prebuilt-themes/pink-bluegrey.css +1 -1
  144. package/prebuilt-themes/purple-green.css +1 -1
  145. package/prebuilt-themes/rose-red.css +1 -1
  146. package/select/select-module.d.ts +1 -1
  147. package/select/select.d.ts +2 -1
  148. package/select/select.scss +8 -8
  149. package/select/templates.d.ts +6 -0
package/alert/alert.scss CHANGED
@@ -11,7 +11,7 @@
11
11
  @include token-utils.use-tokens(tokens-mtx-alert.$prefix, tokens-mtx-alert.get-token-slots()) {
12
12
  $border-color: token-utils.get-token-variable(outline-color);
13
13
 
14
- border: 1px solid var($border-color);
14
+ border: 1px solid $border-color;
15
15
 
16
16
  @include token-utils.create-token-slot(border-radius, container-shape);
17
17
  @include token-utils.create-token-slot(background-color, background-color);
@@ -37,9 +37,10 @@ $theme-version: 1;
37
37
  }
38
38
 
39
39
  $type: map.get($config, theme-type) or light;
40
- $primary: map.get($config, primary) or mat.$violet-palette;
40
+ $primary: map.get($config, primary) or palettes.$violet-palette;
41
41
  $tertiary: map.get($config, tertiary) or $primary;
42
- // mat.$private-use-system-color-variables: map.get($config, use-system-variables) or false;
42
+ $system-variables-prefix: map.get($config, system-variables-prefix) or sys;
43
+ mat.$private-use-system-color-variables: map.get($config, use-system-variables) or false;
43
44
 
44
45
  @return (
45
46
  $internals: (
@@ -53,8 +54,9 @@ $theme-version: 1;
53
54
  neutral-variant: map.get($primary, neutral-variant),
54
55
  error: map.get($primary, error),
55
56
  ),
57
+ color-system-variables-prefix: $system-variables-prefix,
56
58
  color-tokens: m3-tokens.generate-color-tokens(
57
- $type, $primary, $tertiary, map.get($primary, error))
59
+ $type, $primary, $tertiary, map.get($primary, error), $system-variables-prefix)
58
60
  )
59
61
  );
60
62
  }
@@ -73,13 +75,22 @@ $theme-version: 1;
73
75
  $bold: map.get($config, bold-weight) or 700;
74
76
  $medium: map.get($config, medium-weight) or 500;
75
77
  $regular: map.get($config, regular-weight) or 400;
76
- // mat.$private-use-system-typography-variables: map.get($config, use-system-variables) or false;
78
+ $system-variables-prefix: map.get($config, system-variables-prefix) or sys;
79
+ mat.$private-use-system-typography-variables: map.get($config, use-system-variables) or false;
77
80
 
78
81
  @return (
79
82
  $internals: (
80
83
  theme-version: $theme-version,
84
+ font-definition: (
85
+ plain: $plain,
86
+ brand: $brand,
87
+ bold: $bold,
88
+ medium: $medium,
89
+ regular: $regular,
90
+ ),
91
+ typography-system-variables-prefix: $system-variables-prefix,
81
92
  typography-tokens: m3-tokens.generate-typography-tokens(
82
- $brand, $plain, $bold, $medium, $regular)
93
+ $brand, $plain, $bold, $medium, $regular, $system-variables-prefix)
83
94
  )
84
95
  );
85
96
  }
@@ -3,9 +3,17 @@
3
3
  @use './m3';
4
4
  @use './m3/definitions' as m3-token-definitions;
5
5
  @use '../tokens/m2' as m2-tokens;
6
+ @use '../style/elevation';
6
7
  @use './density';
7
8
  @use './format-tokens';
8
9
 
10
+ // Default system level prefix to use when directly calling the `system-level-*` mixins
11
+ $_system-level-prefix: sys;
12
+
13
+ // Prefix used for component token fallback variables, e.g.
14
+ // `color: var(--mdc-text-button-label-text-color, var(--mat-app-primary));`
15
+ $_system-fallback-prefix: mat-app;
16
+
9
17
  /// Generates tokens for the given palette with the given prefix.
10
18
  /// @param {Map} $palette The palette to generate tokens for
11
19
  /// @param {String} $prefix The key prefix used to name the tokens
@@ -85,8 +93,9 @@ $_cached-token-slots: null;
85
93
  /// Generates a set of namespaced tokens for all components.
86
94
  /// @param {Map} $systems The MDC system tokens
87
95
  /// @param {Boolean} $include-non-systemized Whether to include non-systemized tokens
96
+ /// @param {Boolean} $include-density Whether to include density tokens
88
97
  /// @return {Map} A map of namespaced tokens
89
- @function _generate-tokens($systems, $include-non-systemized: false) {
98
+ @function _generate-tokens($systems, $include-non-systemized: false, $include-density: false) {
90
99
  $systems: map.merge((
91
100
  md-sys-color: (),
92
101
  md-sys-elevation: (),
@@ -115,173 +124,321 @@ $_cached-token-slots: null;
115
124
  // Strip out tokens that are systemized by our made up density system.
116
125
  @each $namespace, $tokens in $result {
117
126
  @each $token, $value in $tokens {
118
- @if density.is-systemized($namespace, $token) {
127
+ @if density.is-systemized($namespace, $token) and not $include-density {
119
128
  $tokens: map.remove($tokens, $token);
120
129
  }
121
130
  }
122
131
  $result: map.set($result, $namespace, $tokens);
123
132
  }
133
+
134
+ @return $result;
135
+ }
136
+
137
+ // Return a new map where the values are the same as the provided map's
138
+ // keys, prefixed with "--mat-app-". For example:
139
+ // (key1: '', key2: '') --> (key1: --mat-app-key1, key2: --mat-app-key2)
140
+ @function _create-system-app-vars-map($map) {
141
+ $new-map: ();
142
+ @each $key, $value in $map {
143
+ $new-map: map.set($new-map, $key, --#{$_system-fallback-prefix}-#{$key});
144
+ }
145
+ @return $new-map;
146
+ }
147
+
148
+ // Create a components tokens map where values are based on
149
+ // system fallback variables referencing Material's system keys.
150
+ // Includes density token fallbacks where density is 0.
151
+ @function create-system-fallbacks() {
152
+ $app-vars: (
153
+ 'md-sys-color':
154
+ _create-system-app-vars-map(m3-token-definitions.md-sys-color-values-light()),
155
+ 'md-sys-typescale':
156
+ _create-system-app-vars-map(m3-token-definitions.md-sys-typescale-values()),
157
+ 'md-sys-elevation':
158
+ _create-system-app-vars-map(m3-token-definitions.md-sys-elevation-values()),
159
+ 'md-sys-state':
160
+ _create-system-app-vars-map(m3-token-definitions.md-sys-state-values()),
161
+ 'md-sys-shape':
162
+ _create-system-app-vars-map(m3-token-definitions.md-sys-shape-values()),
163
+ );
164
+
165
+ @return mat.private-deep-merge-all(
166
+ _generate-tokens($app-vars, true, true),
167
+ generate-density-tokens(0)
168
+ );
169
+ }
170
+
171
+ // Emits CSS variables for Material's system level values. Uses the
172
+ // namespace prefix in $_system-fallback-prefix.
173
+ // e.g. --mat-app-surface: #E5E5E5
174
+ @mixin theme($theme, $overrides: ()) {
175
+ @include system-level-colors($theme, $overrides, $_system-fallback-prefix);
176
+ @include system-level-typography($theme, $overrides, $_system-fallback-prefix);
177
+ @include system-level-elevation($theme, $overrides, $_system-fallback-prefix);
178
+ @include system-level-shape($theme, $overrides, $_system-fallback-prefix);
179
+ @include system-level-motion($theme, $overrides, $_system-fallback-prefix);
180
+ @include system-level-state($theme, $overrides, $_system-fallback-prefix);
181
+ }
182
+
183
+ @mixin system-level-colors($theme, $overrides: (), $prefix: null) {
184
+ $palettes: map.get($theme, _mat-theming-internals-do-not-access, palettes);
185
+ $base-palettes: (
186
+ neutral: map.get($palettes, neutral),
187
+ neutral-variant: map.get($palettes, neutral-variant),
188
+ secondary: map.get($palettes, secondary),
189
+ error: map.get($palettes, error),
190
+ );
191
+
192
+ $type: map.get($theme, _mat-theming-internals-do-not-access, theme-type);
193
+ $primary: map.merge(map.get($palettes, primary), $base-palettes);
194
+ $tertiary: map.merge(map.get($palettes, tertiary), $base-palettes);
195
+ $error: map.get($palettes, error);
196
+
197
+ @if (not $prefix) {
198
+ $prefix: map.get($theme, _mat-theming-internals-do-not-access,
199
+ color-system-variables-prefix) or $_system-level-prefix;
200
+ }
201
+
202
+ $ref: (
203
+ md-ref-palette: _generate-ref-palette-tokens($primary, $tertiary, $error)
204
+ );
205
+
206
+ $sys-colors: if($type == dark,
207
+ m3-token-definitions.md-sys-color-values-dark($ref),
208
+ m3-token-definitions.md-sys-color-values-light($ref));
209
+
210
+ @each $name, $value in $sys-colors {
211
+ --#{$prefix}-#{$name}: #{map.get($overrides, $name) or $value};
212
+ }
213
+ }
214
+
215
+ @mixin system-level-typography($theme, $overrides: (), $prefix: null) {
216
+ $font-definition: map.get($theme, _mat-theming-internals-do-not-access, font-definition);
217
+ $brand: map.get($font-definition, brand);
218
+ $plain: map.get($font-definition, plain);
219
+ $bold: map.get($font-definition, bold);
220
+ $medium: map.get($font-definition, medium);
221
+ $regular: map.get($font-definition, regular);
222
+ $ref: (
223
+ md-ref-typeface: _generate-ref-typeface-tokens($brand, $plain, $bold, $medium, $regular)
224
+ );
225
+
226
+ @if (not $prefix) {
227
+ $prefix: map.get($theme, _mat-theming-internals-do-not-access,
228
+ typography-system-variables-prefix) or $_system-level-prefix;
229
+ }
230
+
231
+ @each $name, $value in m3-token-definitions.md-sys-typescale-values($ref) {
232
+ --#{$prefix}-#{$name}: #{map.get($overrides, $name) or $value};
233
+ }
234
+ }
235
+
236
+ @function create-map($keys, $prefix) {
237
+ $result: ();
238
+ @each $key in $keys {
239
+ $result: map.merge($result, ($key: var(--#{$prefix}-#{$key})));
240
+ }
124
241
  @return $result;
125
242
  }
126
243
 
127
- @function _get-sys-color($type, $ref) {
244
+ @mixin system-level-elevation($theme, $overrides: (), $prefix: $_system-level-prefix) {
245
+ $shadow-color: map.get(
246
+ $theme, _mat-theming-internals-do-not-access, color-tokens, (mdc, theme), shadow);
247
+
248
+ @for $level from 0 through 24 {
249
+ $value: elevation.get-box-shadow($level, $shadow-color);
250
+
251
+ --#{$prefix}-elevation-shadow-level-#{$level}: #{$value};
252
+ }
253
+
254
+ @each $name, $value in m3-token-definitions.md-sys-elevation-values() {
255
+ $level: map.get($overrides, $name) or $value;
256
+ $value: elevation.get-box-shadow($level, $shadow-color);
257
+
258
+ --#{$prefix}-#{$name}: #{$value};
259
+ }
260
+ }
261
+
262
+ @mixin system-level-shape($theme, $overrides: (), $prefix: $_system-level-prefix) {
263
+ @each $name, $value in m3-token-definitions.md-sys-shape-values() {
264
+ --#{$prefix}-#{$name}: #{map.get($overrides, $name) or $value};
265
+ }
266
+ }
267
+
268
+ @mixin system-level-state($theme, $overrides: (), $prefix: $_system-level-prefix) {
269
+ @each $name, $value in m3-token-definitions.md-sys-state-values() {
270
+ --#{$prefix}-#{$name}: #{map.get($overrides, $name) or $value};
271
+ }
272
+ }
273
+
274
+ @mixin system-level-motion($theme, $overrides: (), $prefix: $_system-level-prefix) {
275
+ @each $name, $value in m3-token-definitions.md-sys-motion-values() {
276
+ --#{$prefix}-#{$name}: #{map.get($overrides, $name) or $value};
277
+ }
278
+ }
279
+
280
+ @function _get-sys-color($type, $ref, $prefix) {
128
281
  $mdc-sys-color: if($type == dark,
129
282
  m3-token-definitions.md-sys-color-values-dark($ref),
130
283
  m3-token-definitions.md-sys-color-values-light($ref));
131
284
 
132
285
  @if (mat.$private-use-system-color-variables) {
133
- @return (
134
- 'background': var(--sys-background),
135
- 'error': var(--sys-error),
136
- 'error-container': var(--sys-error-container),
137
- 'inverse-on-surface': var(--sys-inverse-on-surface),
138
- 'inverse-primary': var(--sys-inverse-primary),
139
- 'inverse-surface': var(--sys-inverse-surface),
140
- 'on-background': var(--sys-on-background),
141
- 'on-error': var(--sys-on-error),
142
- 'on-error-container': var(--sys-on-error-container),
143
- 'on-primary': var(--sys-on-primary),
144
- 'on-primary-container': var(--sys-on-primary-container),
145
- 'on-primary-fixed': var(--sys-on-primary-fixed),
146
- 'on-primary-fixed-variant': var(--sys-on-primary-fixed-variant),
147
- 'on-secondary': var(--sys-on-secondary),
148
- 'on-secondary-container': var(--sys-on-secondary-container),
149
- 'on-secondary-fixed': var(--sys-on-secondary-fixed),
150
- 'on-secondary-fixed-variant': var(--sys-on-secondary-fixed-variant),
151
- 'on-surface': var(--sys-on-surface),
152
- 'on-surface-variant': var(--sys-on-surface-variant),
153
- 'on-tertiary': var(--sys-on-tertiary),
154
- 'on-tertiary-container': var(--sys-on-tertiary-container),
155
- 'on-tertiary-fixed': var(--sys-on-tertiary-fixed),
156
- 'on-tertiary-fixed-variant': var(--sys-on-tertiary-fixed-variant),
157
- 'outline': var(--sys-outline),
158
- 'outline-variant': var(--sys-outline-variant),
159
- 'primary': var(--sys-primary),
160
- 'primary-container': var(--sys-primary-container),
161
- 'primary-fixed': var(--sys-primary-fixed),
162
- 'primary-fixed-dim': var(--sys-primary-fixed-dim),
163
- 'scrim': var(--sys-scrim),
164
- 'secondary': var(--sys-secondary),
165
- 'secondary-container': var(--sys-secondary-container),
166
- 'secondary-fixed': var(--sys-secondary-fixed),
167
- 'secondary-fixed-dim': var(--sys-secondary-fixed-dim),
168
- 'shadow': map.get($mdc-sys-color, shadow),
169
- 'surface': var(--sys-surface),
170
- 'surface-bright': var(--sys-surface-bright),
171
- 'surface-container': var(--sys-surface-container),
172
- 'surface-container-high': var(--sys-surface-container-high),
173
- 'surface-container-highest': var(--sys-surface-container-highest),
174
- 'surface-container-low': var(--sys-surface-container-low),
175
- 'surface-container-lowest': var(--sys-surface-container-lowest),
176
- 'surface-dim': var(--sys-surface-dim),
177
- 'surface-tint': var(--sys-surface-tint),
178
- 'surface-variant': var(--sys-surface-variant),
179
- 'tertiary': var(--sys-tertiary),
180
- 'tertiary-container': var(--sys-tertiary-container),
181
- 'tertiary-fixed': var(--sys-tertiary-fixed),
182
- 'tertiary-fixed-dim': var(--sys-tertiary-fixed-dim),
286
+ $keys: (
287
+ 'background',
288
+ 'error',
289
+ 'error-container',
290
+ 'inverse-on-surface',
291
+ 'inverse-primary',
292
+ 'inverse-surface',
293
+ 'on-background',
294
+ 'on-error',
295
+ 'on-error-container',
296
+ 'on-primary',
297
+ 'on-primary-container',
298
+ 'on-primary-fixed',
299
+ 'on-primary-fixed-variant',
300
+ 'on-secondary',
301
+ 'on-secondary-container',
302
+ 'on-secondary-fixed',
303
+ 'on-secondary-fixed-variant',
304
+ 'on-surface',
305
+ 'on-surface-variant',
306
+ 'on-tertiary',
307
+ 'on-tertiary-container',
308
+ 'on-tertiary-fixed',
309
+ 'on-tertiary-fixed-variant',
310
+ 'outline',
311
+ 'outline-variant',
312
+ 'primary',
313
+ 'primary-container',
314
+ 'primary-fixed',
315
+ 'primary-fixed-dim',
316
+ 'scrim',
317
+ 'secondary',
318
+ 'secondary-container',
319
+ 'secondary-fixed',
320
+ 'secondary-fixed-dim',
321
+ 'surface',
322
+ 'surface-bright',
323
+ 'surface-container',
324
+ 'surface-container-high',
325
+ 'surface-container-highest',
326
+ 'surface-container-low',
327
+ 'surface-container-lowest',
328
+ 'surface-dim',
329
+ 'surface-tint',
330
+ 'surface-variant',
331
+ 'tertiary',
332
+ 'tertiary-container',
333
+ 'tertiary-fixed',
334
+ 'tertiary-fixed-dim'
183
335
  );
336
+ @return map.merge(create-map($keys, $prefix), (
337
+ shadow: map.get($mdc-sys-color, shadow)
338
+ ));
184
339
  }
185
340
 
186
341
  @return $mdc-sys-color;
187
342
  }
188
343
 
189
- @function _get-sys-typeface($ref) {
344
+ @function _get-sys-typeface($ref, $prefix) {
190
345
  @if (mat.$private-use-system-typography-variables) {
191
- @return (
192
- 'body-large': var(--sys-body-large),
193
- 'body-large-font': var(--sys-body-large-font),
194
- 'body-large-line-height': var(--sys-body-large-line-height),
195
- 'body-large-size': var(--sys-body-large-size),
196
- 'body-large-tracking': var(--sys-body-large-tracking),
197
- 'body-large-weight': var(--sys-body-large-weight),
198
- 'body-medium': var(--sys-body-medium),
199
- 'body-medium-font': var(--sys-body-medium-font),
200
- 'body-medium-line-height': var(--sys-body-medium-line-height),
201
- 'body-medium-size': var(--sys-body-medium-size),
202
- 'body-medium-tracking': var(--sys-body-medium-tracking),
203
- 'body-medium-weight': var(--sys-body-medium-weight),
204
- 'body-small': var(--sys-body-small),
205
- 'body-small-font': var(--sys-body-small-font),
206
- 'body-small-line-height': var(--sys-body-small-line-height),
207
- 'body-small-size': var(--sys-body-small-size),
208
- 'body-small-tracking': var(--sys-body-small-tracking),
209
- 'body-small-weight': var(--sys-body-small-weight),
210
- 'display-large': var(--sys-display-large),
211
- 'display-large-font': var(--sys-display-large-font),
212
- 'display-large-line-height': var(--sys-display-large-line-height),
213
- 'display-large-size': var(--sys-display-large-size),
214
- 'display-large-tracking': var(--sys-display-large-tracking),
215
- 'display-large-weight': var(--sys-display-large-weight),
216
- 'display-medium': var(--sys-display-medium),
217
- 'display-medium-font': var(--sys-display-medium-font),
218
- 'display-medium-line-height': var(--sys-display-medium-line-height),
219
- 'display-medium-size': var(--sys-display-medium-size),
220
- 'display-medium-tracking': var(--sys-display-medium-tracking),
221
- 'display-medium-weight': var(--sys-display-medium-weight),
222
- 'display-small': var(--sys-display-small),
223
- 'display-small-font': var(--sys-display-small-font),
224
- 'display-small-line-height': var(--sys-display-small-line-height),
225
- 'display-small-size': var(--sys-display-small-size),
226
- 'display-small-tracking': var(--sys-display-small-tracking),
227
- 'display-small-weight': var(--sys-display-small-weight),
228
- 'headline-large': var(--sys-headline-large),
229
- 'headline-large-font': var(--sys-headline-large-font),
230
- 'headline-large-line-height': var(--sys-headline-large-line-height),
231
- 'headline-large-size': var(--sys-headline-large-size),
232
- 'headline-large-tracking': var(--sys-headline-large-tracking),
233
- 'headline-large-weight': var(--sys-headline-large-weight),
234
- 'headline-medium': var(--sys-headline-medium),
235
- 'headline-medium-font': var(--sys-headline-medium-font),
236
- 'headline-medium-line-height': var(--sys-headline-medium-line-height),
237
- 'headline-medium-size': var(--sys-headline-medium-size),
238
- 'headline-medium-tracking': var(--sys-headline-medium-tracking),
239
- 'headline-medium-weight': var(--sys-headline-medium-weight),
240
- 'headline-small': var(--sys-headline-small),
241
- 'headline-small-font': var(--sys-headline-small-font),
242
- 'headline-small-line-height': var(--sys-headline-small-line-height),
243
- 'headline-small-size': var(--sys-headline-small-size),
244
- 'headline-small-tracking': var(--sys-headline-small-tracking),
245
- 'headline-small-weight': var(--sys-headline-small-weight),
246
- 'label-large': var(--sys-label-large),
247
- 'label-large-font': var(--sys-label-large-font),
248
- 'label-large-line-height': var(--sys-label-large-line-height),
249
- 'label-large-size': var(--sys-label-large-size),
250
- 'label-large-tracking': var(--sys-label-large-tracking),
251
- 'label-large-weight': var(--sys-label-large-weight),
252
- 'label-large-weight-prominent': var(--sys-label-large-weight-prominent),
253
- 'label-medium': var(--sys-label-medium),
254
- 'label-medium-font': var(--sys-label-medium-font),
255
- 'label-medium-line-height': var(--sys-label-medium-line-height),
256
- 'label-medium-size': var(--sys-label-medium-size),
257
- 'label-medium-tracking': var(--sys-label-medium-tracking),
258
- 'label-medium-weight': var(--sys-label-medium-weight),
259
- 'label-medium-weight-prominent': var(--sys-label-medium-weight-prominent),
260
- 'label-small': var(--sys-label-small),
261
- 'label-small-font': var(--sys-label-small-font),
262
- 'label-small-line-height': var(--sys-label-small-line-height),
263
- 'label-small-size': var(--sys-label-small-size),
264
- 'label-small-tracking': var(--sys-label-small-tracking),
265
- 'label-small-weight': var(--sys-label-small-weight),
266
- 'title-large': var(--sys-title-large),
267
- 'title-large-font': var(--sys-title-large-font),
268
- 'title-large-line-height': var(--sys-title-large-line-height),
269
- 'title-large-size': var(--sys-title-large-size),
270
- 'title-large-tracking': var(--sys-title-large-tracking),
271
- 'title-large-weight': var(--sys-title-large-weight),
272
- 'title-medium': var(--sys-title-medium),
273
- 'title-medium-font': var(--sys-title-medium-font),
274
- 'title-medium-line-height': var(--sys-title-medium-line-height),
275
- 'title-medium-size': var(--sys-title-medium-size),
276
- 'title-medium-tracking': var(--sys-title-medium-tracking),
277
- 'title-medium-weight': var(--sys-title-medium-weight),
278
- 'title-small': var(--sys-title-small),
279
- 'title-small-font': var(--sys-title-small-font),
280
- 'title-small-line-height': var(--sys-title-small-line-height),
281
- 'title-small-size': var(--sys-title-small-size),
282
- 'title-small-tracking': var(--sys-title-small-tracking),
283
- 'title-small-weight': var(--sys-title-small-weight),
346
+ $keys: (
347
+ 'body-large',
348
+ 'body-large-font',
349
+ 'body-large-line-height',
350
+ 'body-large-size',
351
+ 'body-large-tracking',
352
+ 'body-large-weight',
353
+ 'body-medium',
354
+ 'body-medium-font',
355
+ 'body-medium-line-height',
356
+ 'body-medium-size',
357
+ 'body-medium-tracking',
358
+ 'body-medium-weight',
359
+ 'body-small',
360
+ 'body-small-font',
361
+ 'body-small-line-height',
362
+ 'body-small-size',
363
+ 'body-small-tracking',
364
+ 'body-small-weight',
365
+ 'display-large',
366
+ 'display-large-font',
367
+ 'display-large-line-height',
368
+ 'display-large-size',
369
+ 'display-large-tracking',
370
+ 'display-large-weight',
371
+ 'display-medium',
372
+ 'display-medium-font',
373
+ 'display-medium-line-height',
374
+ 'display-medium-size',
375
+ 'display-medium-tracking',
376
+ 'display-medium-weight',
377
+ 'display-small',
378
+ 'display-small-font',
379
+ 'display-small-line-height',
380
+ 'display-small-size',
381
+ 'display-small-tracking',
382
+ 'display-small-weight',
383
+ 'headline-large',
384
+ 'headline-large-font',
385
+ 'headline-large-line-height',
386
+ 'headline-large-size',
387
+ 'headline-large-tracking',
388
+ 'headline-large-weight',
389
+ 'headline-medium',
390
+ 'headline-medium-font',
391
+ 'headline-medium-line-height',
392
+ 'headline-medium-size',
393
+ 'headline-medium-tracking',
394
+ 'headline-medium-weight',
395
+ 'headline-small',
396
+ 'headline-small-font',
397
+ 'headline-small-line-height',
398
+ 'headline-small-size',
399
+ 'headline-small-tracking',
400
+ 'headline-small-weight',
401
+ 'label-large',
402
+ 'label-large-font',
403
+ 'label-large-line-height',
404
+ 'label-large-size',
405
+ 'label-large-tracking',
406
+ 'label-large-weight',
407
+ 'label-large-weight-prominent',
408
+ 'label-medium',
409
+ 'label-medium-font',
410
+ 'label-medium-line-height',
411
+ 'label-medium-size',
412
+ 'label-medium-tracking',
413
+ 'label-medium-weight',
414
+ 'label-medium-weight-prominent',
415
+ 'label-small',
416
+ 'label-small-font',
417
+ 'label-small-line-height',
418
+ 'label-small-size',
419
+ 'label-small-tracking',
420
+ 'label-small-weight',
421
+ 'title-large',
422
+ 'title-large-font',
423
+ 'title-large-line-height',
424
+ 'title-large-size',
425
+ 'title-large-tracking',
426
+ 'title-large-weight',
427
+ 'title-medium',
428
+ 'title-medium-font',
429
+ 'title-medium-line-height',
430
+ 'title-medium-size',
431
+ 'title-medium-tracking',
432
+ 'title-medium-weight',
433
+ 'title-small',
434
+ 'title-small-font',
435
+ 'title-small-line-height',
436
+ 'title-small-size',
437
+ 'title-small-tracking',
438
+ 'title-small-weight'
284
439
  );
440
+
441
+ @return create-map($keys, $prefix);
285
442
  }
286
443
  @return m3-token-definitions.md-sys-typescale-values($ref);
287
444
  }
@@ -291,13 +448,14 @@ $_cached-token-slots: null;
291
448
  /// @param {Map} $primary The primary palette
292
449
  /// @param {Map} $tertiary The tertiary palette
293
450
  /// @param {Map} $error The error palette
451
+ /// @param {String} $system-variables-prefix The prefix of system tokens
294
452
  /// @return {Map} A map of namespaced color tokens
295
- @function generate-color-tokens($type, $primary, $tertiary, $error) {
453
+ @function generate-color-tokens($type, $primary, $tertiary, $error, $system-variables-prefix) {
296
454
  $ref: (
297
455
  md-ref-palette: _generate-ref-palette-tokens($primary, $tertiary, $error)
298
456
  );
299
457
 
300
- $sys-color: _get-sys-color($type, $ref);
458
+ $sys-color: _get-sys-color($type, $ref, $system-variables-prefix);
301
459
 
302
460
  @return _generate-tokens(map.merge($ref, (
303
461
  // Used to get the theme type
@@ -321,14 +479,14 @@ $_cached-token-slots: null;
321
479
  /// @param {String|Number} $bold The bold font-weight
322
480
  /// @param {String|Number} $medium The medium font-weight
323
481
  /// @param {String|Number} $regular The regular font-weight
482
+ /// @param {String} $system-variables-prefix The prefix of system tokens
324
483
  /// @return {Map} A map of namespaced typography tokens
325
- @function generate-typography-tokens($brand, $plain, $bold, $medium, $regular) {
484
+ @function generate-typography-tokens($brand, $plain, $bold, $medium, $regular,
485
+ $system-variables-prefix) {
326
486
  $ref: (
327
487
  md-ref-typeface: _generate-ref-typeface-tokens($brand, $plain, $bold, $medium, $regular)
328
488
  );
329
-
330
- $sys-typeface: _get-sys-typeface($ref);
331
-
489
+ $sys-typeface: _get-sys-typeface($ref, $system-variables-prefix);
332
490
  @return _generate-tokens((
333
491
  md-sys-typescale: $sys-typeface
334
492
  ));