@angular/material-experimental 17.1.0 → 17.2.0-next.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 (40) hide show
  1. package/_index.scss +3 -2
  2. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
  3. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +4 -4
  4. package/esm2022/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +4 -4
  5. package/esm2022/column-resize/column-resize-directives/default-enabled-column-resize.mjs +4 -4
  6. package/esm2022/column-resize/column-resize-module.mjs +13 -13
  7. package/esm2022/column-resize/overlay-handle.mjs +4 -4
  8. package/esm2022/column-resize/resizable-directives/default-enabled-resizable.mjs +4 -4
  9. package/esm2022/column-resize/resizable-directives/resizable.mjs +4 -4
  10. package/esm2022/column-resize/resize-strategy.mjs +4 -4
  11. package/esm2022/menubar/menubar-item.mjs +4 -4
  12. package/esm2022/menubar/menubar-module.mjs +5 -5
  13. package/esm2022/menubar/menubar.mjs +4 -4
  14. package/esm2022/popover-edit/lens-directives.mjs +10 -10
  15. package/esm2022/popover-edit/popover-edit-module.mjs +5 -5
  16. package/esm2022/popover-edit/table-directives.mjs +13 -13
  17. package/esm2022/selection/row-selection.mjs +4 -4
  18. package/esm2022/selection/select-all.mjs +4 -4
  19. package/esm2022/selection/selection-column.mjs +4 -4
  20. package/esm2022/selection/selection-module.mjs +5 -5
  21. package/esm2022/selection/selection-toggle.mjs +4 -4
  22. package/esm2022/selection/selection.mjs +4 -4
  23. package/esm2022/version.mjs +1 -1
  24. package/fesm2022/column-resize.mjs +36 -36
  25. package/fesm2022/column-resize.mjs.map +1 -1
  26. package/fesm2022/material-experimental.mjs +1 -1
  27. package/fesm2022/material-experimental.mjs.map +1 -1
  28. package/fesm2022/menubar.mjs +10 -10
  29. package/fesm2022/menubar.mjs.map +1 -1
  30. package/fesm2022/popover-edit.mjs +25 -25
  31. package/fesm2022/popover-edit.mjs.map +1 -1
  32. package/fesm2022/selection.mjs +19 -19
  33. package/fesm2022/selection.mjs.map +1 -1
  34. package/package.json +8 -8
  35. package/theming/_config-validation.scss +2 -2
  36. package/theming/_custom-tokens.scss +1071 -62
  37. package/theming/_definition.scss +7 -8
  38. package/theming/_m3-density.scss +30 -4
  39. package/theming/_m3-palettes.scss +615 -155
  40. package/theming/_m3-tokens.scss +323 -146
@@ -31,12 +31,23 @@
31
31
  );
32
32
  }
33
33
 
34
+ /// Generates custom tokens for the app.
35
+ /// @param {Map} $systems The MDC system tokens
36
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
37
+ /// @return {Map} A set of custom tokens for the app
38
+ @function app($systems, $exclude-hardcoded) {
39
+ @return (
40
+ background-color: map.get($systems, md-sys-color, background),
41
+ text-color: map.get($systems, md-sys-color, on-background),
42
+ );
43
+ }
44
+
34
45
  /// Generates custom tokens for the mat-badge.
35
46
  /// @param {Map} $systems The MDC system tokens
36
47
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
37
48
  /// @return {Map} A set of custom tokens for the mat-badge
38
49
  @function badge($systems, $exclude-hardcoded) {
39
- @return (
50
+ @return ((
40
51
  background-color: map.get($systems, md-sys-color, error),
41
52
  text-color: map.get($systems, md-sys-color, on-error),
42
53
  disabled-state-background-color: mat.private-safe-color-change(
@@ -48,8 +59,55 @@
48
59
  text-size: map.get($systems, md-sys-typescale, label-small-size),
49
60
  text-weight: map.get($systems, md-sys-typescale, label-small-weight),
50
61
  small-size-text-size: _hardcode(0, $exclude-hardcoded),
62
+ container-shape: map.get($systems, md-sys-shape, corner-full),
63
+ container-size: _hardcode(16px, $exclude-hardcoded),
64
+ legacy-container-size: _hardcode(unset, $exclude-hardcoded),
65
+ legacy-small-size-container-size: _hardcode(unset, $exclude-hardcoded),
66
+ small-size-container-size: _hardcode(6px, $exclude-hardcoded),
67
+ container-padding: _hardcode(0 4px, $exclude-hardcoded),
68
+ small-size-container-padding: _hardcode(0, $exclude-hardcoded),
69
+ container-offset: -12px 0,
70
+ small-size-container-offset: -6px 0,
71
+ container-overlap-offset: -12px,
72
+ small-size-container-overlap-offset: -6px,
73
+
74
+ // This size isn't in the M3 spec so we emit the same values as for `medium`.
75
+ large-size-container-size: _hardcode(16px, $exclude-hardcoded),
76
+ large-size-container-offset: -12px 0,
77
+ large-size-container-overlap-offset: -12px,
51
78
  large-size-text-size: map.get($systems, md-sys-typescale, label-small-size),
52
- );
79
+ large-size-container-padding: _hardcode(0 4px, $exclude-hardcoded),
80
+ legacy-large-size-container-size: _hardcode(unset, $exclude-hardcoded),
81
+ ), (
82
+ primary: (
83
+ background-color: map.get($systems, md-sys-color, primary),
84
+ text-color: map.get($systems, md-sys-color, on-primary),
85
+ disabled-state-background-color: mat.private-safe-color-change(
86
+ map.get($systems, md-sys-color, primary),
87
+ $alpha: 0.38,
88
+ ),
89
+ disabled-state-text-color: map.get($systems, md-sys-color, on-primary),
90
+ ),
91
+ secondary: (
92
+ background-color: map.get($systems, md-sys-color, secondary),
93
+ text-color: map.get($systems, md-sys-color, on-secondary),
94
+ disabled-state-background-color: mat.private-safe-color-change(
95
+ map.get($systems, md-sys-color, secondary),
96
+ $alpha: 0.38,
97
+ ),
98
+ disabled-state-text-color: map.get($systems, md-sys-color, on-secondary),
99
+ ),
100
+ tertiary: (
101
+ background-color: map.get($systems, md-sys-color, tertiary),
102
+ text-color: map.get($systems, md-sys-color, on-tertiary),
103
+ disabled-state-background-color: mat.private-safe-color-change(
104
+ map.get($systems, md-sys-color, tertiary),
105
+ $alpha: 0.38,
106
+ ),
107
+ disabled-state-text-color: map.get($systems, md-sys-color, on-tertiary),
108
+ ),
109
+ error: () // Default, no overrides needed
110
+ ));
53
111
  }
54
112
 
55
113
  /// Generates custom tokens for the mat-bottom-sheet.
@@ -72,7 +130,7 @@
72
130
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
73
131
  /// @return {Map} A set of custom tokens for the mat-button-toggle
74
132
  @function button-toggle($systems, $exclude-hardcoded) {
75
- @return (
133
+ @return ((
76
134
  shape: _hardcode(9999px, $exclude-hardcoded),
77
135
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
78
136
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
@@ -96,7 +154,22 @@
96
154
  ),
97
155
  divider-color: map.get($systems, md-sys-color, outline),
98
156
  text-font: map.get($systems, md-sys-typescale, label-large-font),
99
- );
157
+ ), (
158
+ // Color variants:
159
+ primary: (
160
+ selected-state-background-color: map.get($systems, md-sys-color, primary-container),
161
+ selected-state-text-color: map.get($systems, md-sys-color, on-primary-container),
162
+ ),
163
+ secondary: (), // Default, no overrides needed
164
+ tertiary: (
165
+ selected-state-background-color: map.get($systems, md-sys-color, tertiary-container),
166
+ selected-state-text-color: map.get($systems, md-sys-color, on-tertiary-container),
167
+ ),
168
+ error: (
169
+ selected-state-background-color: map.get($systems, md-sys-color, error-container),
170
+ selected-state-text-color: map.get($systems, md-sys-color, on-error-container),
171
+ )
172
+ ));
100
173
  }
101
174
 
102
175
  /// Generates custom tokens for the mat-card.
@@ -120,7 +193,7 @@
120
193
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
121
194
  /// @return {Map} A set of custom tokens for the mdc-chip
122
195
  @function chip($systems, $exclude-hardcoded) {
123
- @return mat.private-merge-all(
196
+ @return (mat.private-merge-all(
124
197
  _generate-typography-tokens($systems, label-text, label-large),
125
198
  (
126
199
  container-shape: _hardcode((
@@ -153,7 +226,19 @@
153
226
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
154
227
  focus-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
155
228
  ),
156
- );
229
+ ), (
230
+ // Color variants:
231
+ primary: (
232
+ with-icon-selected-icon-color: map.get($systems, md-sys-color, on-primary-container),
233
+ ),
234
+ secondary: (), // Default, no overrides needed.
235
+ tertiary: (
236
+ with-icon-selected-icon-color: map.get($systems, md-sys-color, on-tertiary-container),
237
+ ),
238
+ error: (
239
+ with-icon-selected-icon-color: map.get($systems, md-sys-color, on-error-container),
240
+ )
241
+ ));
157
242
  }
158
243
 
159
244
  /// Generates custom tokens for the mat-datepicker.
@@ -161,15 +246,15 @@
161
246
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
162
247
  /// @return {Map} A set of custom tokens for the mat-datepicker
163
248
  @function datepicker($systems, $exclude-hardcoded) {
164
- @return (
249
+ @return ((
165
250
  calendar-date-in-range-state-background-color:
166
251
  map.get($systems, md-sys-color, primary-container),
167
252
  calendar-date-in-comparison-range-state-background-color:
168
- map.get($systems, md-sys-color, secondary-container),
169
- calendar-date-in-overlap-range-state-background-color:
170
253
  map.get($systems, md-sys-color, tertiary-container),
254
+ calendar-date-in-overlap-range-state-background-color:
255
+ map.get($systems, md-sys-color, secondary-container),
171
256
  calendar-date-in-overlap-range-selected-state-background-color:
172
- map.get($systems, md-sys-color, tertiary),
257
+ map.get($systems, md-sys-color, secondary),
173
258
  calendar-date-selected-state-text-color: map.get($systems, md-sys-color, on-primary),
174
259
  calendar-date-selected-state-background-color: map.get($systems, md-sys-color, primary),
175
260
  calendar-date-selected-disabled-state-background-color: mat.private-safe-color-change(
@@ -223,6 +308,65 @@
223
308
  calendar-period-button-text-weight: map.get($systems, md-sys-typescale, title-small-weight),
224
309
  calendar-header-text-size: map.get($systems, md-sys-typescale, title-small-size),
225
310
  calendar-header-text-weight: map.get($systems, md-sys-typescale, title-small-weight),
311
+ ), (
312
+ // Color variants:
313
+ primary: (), // Default, no overrides needed.
314
+ secondary: (
315
+ calendar-date-in-range-state-background-color:
316
+ map.get($systems, md-sys-color, secondary-container),
317
+ calendar-date-selected-state-text-color: map.get($systems, md-sys-color, on-secondary),
318
+ calendar-date-selected-state-background-color: map.get($systems, md-sys-color, secondary),
319
+ calendar-date-today-selected-state-outline-color: map.get($systems, md-sys-color, secondary),
320
+ calendar-date-today-outline-color: map.get($systems, md-sys-color, secondary),
321
+ calendar-date-preview-state-outline-color: map.get($systems, md-sys-color, secondary),
322
+ calendar-date-in-overlap-range-state-background-color:
323
+ map.get($systems, md-sys-color, primary-container),
324
+ calendar-date-in-overlap-range-selected-state-background-color:
325
+ map.get($systems, md-sys-color, primary),
326
+ ),
327
+ tertiary: (
328
+ calendar-date-in-range-state-background-color:
329
+ map.get($systems, md-sys-color, tertiary-container),
330
+ calendar-date-selected-state-text-color: map.get($systems, md-sys-color, on-tertiary),
331
+ calendar-date-selected-state-background-color: map.get($systems, md-sys-color, tertiary),
332
+ calendar-date-today-selected-state-outline-color: map.get($systems, md-sys-color, tertiary),
333
+ calendar-date-today-outline-color: map.get($systems, md-sys-color, tertiary),
334
+ calendar-date-preview-state-outline-color: map.get($systems, md-sys-color, tertiary),
335
+ calendar-date-in-comparison-range-state-background-color:
336
+ map.get($systems, md-sys-color, primary-container),
337
+ ),
338
+ error: (
339
+ calendar-date-in-range-state-background-color:
340
+ map.get($systems, md-sys-color, error-container),
341
+ calendar-date-selected-state-text-color: map.get($systems, md-sys-color, on-error),
342
+ calendar-date-selected-state-background-color: map.get($systems, md-sys-color, error),
343
+ calendar-date-today-selected-state-outline-color: map.get($systems, md-sys-color, error),
344
+ calendar-date-today-outline-color: map.get($systems, md-sys-color, error),
345
+ calendar-date-preview-state-outline-color: map.get($systems, md-sys-color, error),
346
+ )
347
+ ));
348
+ }
349
+
350
+ /// Generates custom tokens for the dialog.
351
+ /// @param {Map} $systems The MDC system tokens
352
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
353
+ /// @return {Map} A set of custom tokens for the dialog
354
+ @function dialog($systems, $exclude-hardcoded) {
355
+ @return (
356
+ container-max-width: _hardcode(560px, $exclude-hardcoded),
357
+ container-small-max-width: _hardcode(calc(100vw - 32px), $exclude-hardcoded),
358
+ container-min-width: _harcode(280px, $exclude-hardcoded),
359
+ actions-alignment: _hardcode(flex-end, $exclude-hardcoded),
360
+ content-padding: _hardcode(20px 24px, $exclude-hardcoded),
361
+ with-actions-content-padding: _hardcode(20px 24px 0, $exclude-hardcoded),
362
+ actions-padding: _hardcode(16px 24px, $exclude-hardcoded),
363
+
364
+ // The vertical padding values are a bit weird, because MDC uses a `::before` pseudo
365
+ // element to size the title which in turn means that we can't set a specific padding
366
+ // and get the exact same space out of it. These values were determined through
367
+ // trial and error so that the first line of text is 24px from the top and the bottom
368
+ // of the text is 16px from the content under it.
369
+ headline-padding: _hardcode(6px 24px 13px, $exclude-hardcoded),
226
370
  );
227
371
  }
228
372
 
@@ -272,9 +416,9 @@
272
416
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
273
417
  /// @return {Map} A set of custom tokens for the mat-fab
274
418
  @function fab($systems, $exclude-hardcoded) {
275
- @return (
419
+ @return ((
276
420
  foreground-color: map.get($systems, md-sys-color, on-primary-container),
277
- state-layer-color: map.get($systems, md-sys-color, primary-container),
421
+ state-layer-color: map.get($systems, md-sys-color, on-primary-container),
278
422
  ripple-color: mat.private-safe-color-change(
279
423
  map.get($systems, md-sys-color, on-primary-container),
280
424
  $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
@@ -286,7 +430,67 @@
286
430
  map.get($systems, md-sys-color, on-surface), $alpha: 0.12),
287
431
  disabled-state-foreground-color: mat.private-safe-color-change(
288
432
  map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
289
- );
433
+ ), (
434
+ // Color variants
435
+ primary: (), // Default, no overrides needed.
436
+ secondary: (
437
+ foreground-color: map.get($systems, md-sys-color, on-secondary-container),
438
+ state-layer-color: map.get($systems, md-sys-color, on-secondary-container),
439
+ ripple-color: mat.private-safe-color-change(
440
+ map.get($systems, md-sys-color, on-secondary-container),
441
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
442
+ ),
443
+ ),
444
+ tertiary: (
445
+ foreground-color: map.get($systems, md-sys-color, on-tertiary-container),
446
+ state-layer-color: map.get($systems, md-sys-color, on-tertiary-container),
447
+ ripple-color: mat.private-safe-color-change(
448
+ map.get($systems, md-sys-color, on-tertiary-container),
449
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
450
+ ),
451
+ )
452
+ ));
453
+ }
454
+
455
+ /// Generates custom tokens for the mat-mini-fab.
456
+ /// @param {Map} $systems The MDC system tokens
457
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
458
+ /// @return {Map} A set of custom tokens for the mat-mini-fab
459
+ @function fab-small($systems, $exclude-hardcoded) {
460
+ @return ((
461
+ foreground-color: map.get($systems, md-sys-color, on-primary-container),
462
+ state-layer-color: map.get($systems, md-sys-color, on-primary-container),
463
+ ripple-color: mat.private-safe-color-change(
464
+ map.get($systems, md-sys-color, on-primary-container),
465
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
466
+ ),
467
+ hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
468
+ focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
469
+ pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
470
+ disabled-state-container-color: mat.private-safe-color-change(
471
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.12),
472
+ disabled-state-foreground-color: mat.private-safe-color-change(
473
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
474
+ ), (
475
+ // Color variants
476
+ primary: (), // Default, no overrides needed.
477
+ secondary: (
478
+ foreground-color: map.get($systems, md-sys-color, on-secondary-container),
479
+ state-layer-color: map.get($systems, md-sys-color, on-secondary-container),
480
+ ripple-color: mat.private-safe-color-change(
481
+ map.get($systems, md-sys-color, on-secondary-container),
482
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
483
+ ),
484
+ ),
485
+ tertiary: (
486
+ foreground-color: map.get($systems, md-sys-color, on-tertiary-container),
487
+ state-layer-color: map.get($systems, md-sys-color, on-tertiary-container),
488
+ ripple-color: mat.private-safe-color-change(
489
+ map.get($systems, md-sys-color, on-tertiary-container),
490
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
491
+ ),
492
+ )
493
+ ));
290
494
  }
291
495
 
292
496
  /// Generates custom tokens for the mat-form-field.
@@ -294,7 +498,7 @@
294
498
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
295
499
  /// @return {Map} A set of custom tokens for the mat-form-field
296
500
  @function form-field($systems, $exclude-hardcoded) {
297
- @return mat.private-merge-all(
501
+ @return (mat.private-merge-all(
298
502
  _generate-typography-tokens($systems, container-text, body-large),
299
503
  _generate-typography-tokens($systems, subscript-text, body-small),
300
504
  (
@@ -312,8 +516,31 @@
312
516
  focus-state-layer-opacity: _hardcode(0, $exclude-hardcoded),
313
517
  focus-select-arrow-color: map.get($systems, md-sys-color, primary),
314
518
  outlined-label-text-populated-size: map.get($systems, md-sys-typeface, body-large-size),
519
+
520
+ leading-icon-color: map.get($systems, md-sys-color, on-surface-variant),
521
+ disabled-leading-icon-color: mat.private-safe-color-change(
522
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
523
+
524
+ trailing-icon-color: map.get($systems, md-sys-color, on-surface-variant),
525
+ disabled-trailing-icon-color: mat.private-safe-color-change(
526
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
527
+ error-focus-trailing-icon-color: map.get($systems, md-sys-color, error),
528
+ error-hover-trailing-icon-color: map.get($systems, md-sys-color, on-error-container),
529
+ error-trailing-icon-color: map.get($systems, md-sys-color, error),
315
530
  )
316
- );
531
+ ), (
532
+ // Color variants:
533
+ primary: (), // Default, no overrides needed.
534
+ secondary: (
535
+ focus-select-arrow-color: map.get($systems, md-sys-color, secondary),
536
+ ),
537
+ tertiary: (
538
+ focus-select-arrow-color: map.get($systems, md-sys-color, tertiary),
539
+ ),
540
+ error: (
541
+ focus-select-arrow-color: map.get($systems, md-sys-color, error),
542
+ )
543
+ ));
317
544
  }
318
545
 
319
546
  /// Generates custom tokens for the mat-grid-list.
@@ -338,6 +565,7 @@
338
565
  color: _hardcode(inherit, $exclude-hardcoded),
339
566
  ), (
340
567
  // Color variants:
568
+ surface: (), // Default, no overrides needed.
341
569
  primary: (
342
570
  color: map.get($systems, md-sys-color, primary),
343
571
  ),
@@ -358,7 +586,11 @@
358
586
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
359
587
  /// @return {Map} A set of custom tokens for the mat-button
360
588
  @function text-button($systems, $exclude-hardcoded) {
361
- @return (
589
+ @return ((
590
+ horizontal-padding: _hardcode(12px, $exclude-hardcoded),
591
+ with-icon-horizontal-padding: _hardcode(16px, $exclude-hardcoded),
592
+ icon-spacing: _hardcode(8px, $exclude-hardcoded),
593
+ icon-offset: _hardcode(-4px, $exclude-hardcoded),
362
594
  state-layer-color: map.get($systems, md-sys-color, primary),
363
595
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
364
596
  ripple-color: mat.private-safe-color-change(
@@ -368,7 +600,31 @@
368
600
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
369
601
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
370
602
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
371
- );
603
+ ), (
604
+ // Color variants:
605
+ primary: (), // Default, no overrides needed.
606
+ secondary: (
607
+ state-layer-color: map.get($systems, md-sys-color, secondary),
608
+ ripple-color: mat.private-safe-color-change(
609
+ map.get($systems, md-sys-color, secondary),
610
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
611
+ )
612
+ ),
613
+ tertiary: (
614
+ state-layer-color: map.get($systems, md-sys-color, tertiary),
615
+ ripple-color: mat.private-safe-color-change(
616
+ map.get($systems, md-sys-color, tertiary),
617
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
618
+ )
619
+ ),
620
+ error: (
621
+ state-layer-color: map.get($systems, md-sys-color, error),
622
+ ripple-color: mat.private-safe-color-change(
623
+ map.get($systems, md-sys-color, error),
624
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
625
+ )
626
+ )
627
+ ));
372
628
  }
373
629
 
374
630
  /// Generates custom tokens for the mat-flat-button.
@@ -376,7 +632,10 @@
376
632
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
377
633
  /// @return {Map} A set of custom tokens for the mat-flat-button
378
634
  @function filled-button($systems, $exclude-hardcoded) {
379
- @return (
635
+ @return ((
636
+ horizontal-padding: _hardcode(24px, $exclude-hardcoded),
637
+ icon-spacing: _hardcode(8px, $exclude-hardcoded),
638
+ icon-offset: _hardcode(-8px, $exclude-hardcoded),
380
639
  state-layer-color: map.get($systems, md-sys-color, on-primary),
381
640
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
382
641
  ripple-color: mat.private-safe-color-change(
@@ -386,7 +645,31 @@
386
645
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
387
646
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
388
647
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
389
- );
648
+ ), (
649
+ // Color variants:
650
+ primary: (), // Default, no overrides needed.
651
+ secondary: (
652
+ state-layer-color: map.get($systems, md-sys-color, on-secondary),
653
+ ripple-color: mat.private-safe-color-change(
654
+ map.get($systems, md-sys-color, on-secondary),
655
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
656
+ ),
657
+ ),
658
+ tertiary: (
659
+ state-layer-color: map.get($systems, md-sys-color, on-tertiary),
660
+ ripple-color: mat.private-safe-color-change(
661
+ map.get($systems, md-sys-color, on-tertiary),
662
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
663
+ ),
664
+ ),
665
+ error: (
666
+ state-layer-color: map.get($systems, md-sys-color, on-error),
667
+ ripple-color: mat.private-safe-color-change(
668
+ map.get($systems, md-sys-color, on-error),
669
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
670
+ ),
671
+ )
672
+ ));
390
673
  }
391
674
 
392
675
  /// Generates custom tokens for the mat-raised-button.
@@ -394,7 +677,10 @@
394
677
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
395
678
  /// @return {Map} A set of custom tokens for the mat-raised-button
396
679
  @function elevated-button($systems, $exclude-hardcoded) {
397
- @return (
680
+ @return ((
681
+ horizontal-padding: _hardcode(24px, $exclude-hardcoded),
682
+ icon-spacing: _hardcode(8px, $exclude-hardcoded),
683
+ icon-offset: _hardcode(-8px, $exclude-hardcoded),
398
684
  state-layer-color: map.get($systems, md-sys-color, primary),
399
685
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
400
686
  ripple-color: mat.private-safe-color-change(
@@ -404,7 +690,31 @@
404
690
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
405
691
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
406
692
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
407
- );
693
+ ), (
694
+ // Color variants:
695
+ primary: (), // Default, no overrides needed.
696
+ secondary: (
697
+ state-layer-color: map.get($systems, md-sys-color, secondary),
698
+ ripple-color: mat.private-safe-color-change(
699
+ map.get($systems, md-sys-color, secondary),
700
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
701
+ ),
702
+ ),
703
+ tertiary: (
704
+ state-layer-color: map.get($systems, md-sys-color, tertiary),
705
+ ripple-color: mat.private-safe-color-change(
706
+ map.get($systems, md-sys-color, tertiary),
707
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
708
+ ),
709
+ ),
710
+ error: (
711
+ state-layer-color: map.get($systems, md-sys-color, error),
712
+ ripple-color: mat.private-safe-color-change(
713
+ map.get($systems, md-sys-color, error),
714
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
715
+ ),
716
+ )
717
+ ));
408
718
  }
409
719
 
410
720
  /// Generates custom tokens for the mat-outlined-button.
@@ -412,7 +722,10 @@
412
722
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
413
723
  /// @return {Map} A set of custom tokens for the mat-outlined-button
414
724
  @function outlined-button($systems, $exclude-hardcoded) {
415
- @return (
725
+ @return ((
726
+ horizontal-padding: _hardcode(24px, $exclude-hardcoded),
727
+ icon-spacing: _hardcode(8px, $exclude-hardcoded),
728
+ icon-offset: _hardcode(-8px, $exclude-hardcoded),
416
729
  state-layer-color: map.get($systems, md-sys-color, primary),
417
730
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
418
731
  ripple-color: mat.private-safe-color-change(
@@ -422,7 +735,31 @@
422
735
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
423
736
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
424
737
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
425
- );
738
+ ), (
739
+ // Color variants:
740
+ primary: (), // Default, no overrides needed.
741
+ secondary: (
742
+ state-layer-color: map.get($systems, md-sys-color, secondary),
743
+ ripple-color: mat.private-safe-color-change(
744
+ map.get($systems, md-sys-color, secondary),
745
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
746
+ ),
747
+ ),
748
+ tertiary: (
749
+ state-layer-color: map.get($systems, md-sys-color, tertiary),
750
+ ripple-color: mat.private-safe-color-change(
751
+ map.get($systems, md-sys-color, tertiary),
752
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
753
+ ),
754
+ ),
755
+ error: (
756
+ state-layer-color: map.get($systems, md-sys-color, error),
757
+ ripple-color: mat.private-safe-color-change(
758
+ map.get($systems, md-sys-color, error),
759
+ $alpha: map.get($systems, md-sys-state, pressed-state-layer-opacity)
760
+ ),
761
+ )
762
+ ));
426
763
  }
427
764
 
428
765
  /// Generates custom tokens for the mat-icon-button.
@@ -485,7 +822,7 @@
485
822
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
486
823
  /// @return {Map} A set of custom tokens for the mat-option
487
824
  @function option($systems, $exclude-hardcoded) {
488
- @return mat.private-merge-all(
825
+ @return (mat.private-merge-all(
489
826
  _generate-typography-tokens($systems, label-text, label-large),
490
827
  (
491
828
  selected-state-label-text-color: map.get($systems, md-sys-color, on-secondary-container),
@@ -500,7 +837,22 @@
500
837
  ),
501
838
  selected-state-layer-color: map.get($systems, md-sys-color, secondary-container),
502
839
  ),
503
- );
840
+ ), (
841
+ // Color variants:
842
+ primary: (
843
+ selected-state-label-text-color: map.get($systems, md-sys-color, on-primary-container),
844
+ selected-state-layer-color: map.get($systems, md-sys-color, primary-container),
845
+ ),
846
+ secondary: (), // Default, no overrides needed
847
+ tertiary: (
848
+ selected-state-label-text-color: map.get($systems, md-sys-color, on-tertiary-container),
849
+ selected-state-layer-color: map.get($systems, md-sys-color, tertiary-container),
850
+ ),
851
+ error: (
852
+ selected-state-label-text-color: map.get($systems, md-sys-color, on-error-container),
853
+ selected-state-layer-color: map.get($systems, md-sys-color, error-container),
854
+ )
855
+ ));
504
856
  }
505
857
 
506
858
  /// Generates custom tokens for the mat-paginator.
@@ -521,16 +873,98 @@
521
873
  );
522
874
  }
523
875
 
876
+ /// Generates custom tokens for the full variant of mat-pseudo-checkbox.
877
+ /// @param {Map} $systems The MDC system tokens
878
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
879
+ /// @return {Map} A set of custom tokens for the full variant of mat-pseudo-checkbox
880
+ @function full-pseudo-checkbox($systems, $exclude-hardcoded) {
881
+ $disabled-color: mat.private-safe-color-change(
882
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38);
883
+
884
+ @return ((
885
+ selected-icon-color: map.get($systems, md-sys-color, primary),
886
+ selected-checkmark-color: map.get($systems, md-sys-color, on-primary),
887
+ unselected-icon-color: map.get($systems, md-sys-color, on-surface-variant),
888
+ disabled-selected-checkmark-color: map.get($systems, md-sys-color, surface),
889
+ disabled-unselected-icon-color: $disabled-color,
890
+ disabled-selected-icon-color: $disabled-color,
891
+ ), (
892
+ // Color variants:
893
+ primary: (), // Default, no overrides needed.
894
+ secondary: (
895
+ selected-icon-color: map.get($systems, md-sys-color, secondary),
896
+ selected-checkmark-color: map.get($systems, md-sys-color, on-secondary),
897
+ ),
898
+ tertiary: (
899
+ selected-icon-color: map.get($systems, md-sys-color, tertiary),
900
+ selected-checkmark-color: map.get($systems, md-sys-color, on-tertiary),
901
+ ),
902
+ error: (
903
+ selected-icon-color: map.get($systems, md-sys-color, error),
904
+ selected-checkmark-color: map.get($systems, md-sys-color, on-error),
905
+ )
906
+ ));
907
+ }
908
+
909
+ /// Generates custom tokens for the minimal variant of mat-pseudo-checkbox.
910
+ /// @param {Map} $systems The MDC system tokens
911
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
912
+ /// @return {Map} A set of custom tokens for the minimal variant of mat-pseudo-checkbox
913
+ @function minimal-pseudo-checkbox($systems, $exclude-hardcoded) {
914
+ @return ((
915
+ selected-checkmark-color: map.get($systems, md-sys-color, primary),
916
+ disabled-selected-checkmark-color: mat.private-safe-color-change(
917
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
918
+ ), (
919
+ // Color variants:
920
+ primary: (), // Default, no overrides needed.
921
+ secondary: (
922
+ selected-checkmark-color: map.get($systems, md-sys-color, secondary),
923
+ ),
924
+ tertiary: (
925
+ selected-checkmark-color: map.get($systems, md-sys-color, tertiary),
926
+ ),
927
+ error: (
928
+ selected-checkmark-color: map.get($systems, md-sys-color, error),
929
+ )
930
+ ));
931
+ }
932
+
933
+ /// Generates custom tokens for mat-checkbox.
934
+ /// @param {Map} $systems The MDC system tokens
935
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
936
+ /// @return {Map} A set of custom tokens for mat-checkbox
937
+ @function checkbox($systems, $exclude-hardcoded) {
938
+ @return (
939
+ disabled-label-color: mat.private-safe-color-change(
940
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
941
+ );
942
+ }
943
+
944
+
524
945
  /// Generates custom tokens for the mat-radio.
525
946
  /// @param {Map} $systems The MDC system tokens
526
947
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
527
948
  /// @return {Map} A set of custom tokens for the mat-radio
528
949
  @function radio($systems, $exclude-hardcoded) {
529
- @return (
950
+ @return ((
530
951
  ripple-color: map.get($systems, md-sys-color, on-surface),
531
952
  checked-ripple-color: map.get($systems, md-sys-color, primary),
532
- disabled-label-color: map.get($systems, md-sys-color, on-surface),
533
- );
953
+ disabled-label-color: mat.private-safe-color-change(
954
+ map.get($systems, md-sys-color, on-surface), $alpha: 0.38),
955
+ ), (
956
+ // Color variants:
957
+ primary: (), // Default, no overrides needed
958
+ secondary: (
959
+ checked-ripple-color: map.get($systems, md-sys-color, secondary),
960
+ ),
961
+ tertiary: (
962
+ checked-ripple-color: map.get($systems, md-sys-color, tertiary),
963
+ ),
964
+ error: (
965
+ checked-ripple-color: map.get($systems, md-sys-color, error),
966
+ ),
967
+ ));
534
968
  }
535
969
 
536
970
  /// Generates custom tokens for the mat-ripple.
@@ -548,7 +982,7 @@
548
982
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
549
983
  /// @return {Map} A set of custom tokens for the mat-select
550
984
  @function select($systems, $exclude-hardcoded) {
551
- @return mat.private-merge-all(
985
+ @return (mat.private-merge-all(
552
986
  _generate-typography-tokens($systems, trigger-text, body-large),
553
987
  (
554
988
  panel-background-color: map.get($systems, md-sys-color, surface-container),
@@ -562,7 +996,19 @@
562
996
  focused-arrow-color: map.get($systems, md-sys-color, primary),
563
997
  invalid-arrow-color: map.get($systems, md-sys-color, error),
564
998
  )
565
- );
999
+ ), (
1000
+ // Color variants:
1001
+ primary: (), // Default, no overrides needed
1002
+ secondary: (
1003
+ focused-arrow-color: map.get($systems, md-sys-color, secondary),
1004
+ ),
1005
+ tertiary: (
1006
+ focused-arrow-color: map.get($systems, md-sys-color, tertiary),
1007
+ ),
1008
+ error: (
1009
+ focused-arrow-color: map.get($systems, md-sys-color, error),
1010
+ )
1011
+ ));
566
1012
  }
567
1013
 
568
1014
  /// Generates custom tokens for the mat-sidenav.
@@ -582,27 +1028,17 @@
582
1028
  );
583
1029
  }
584
1030
 
585
- /// Generates custom tokens for the mat-slide-toggle.
586
- /// @param {Map} $systems The MDC system tokens
587
- /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
588
- /// @return {Map} A set of custom tokens for the mat-slide-toggle
589
- @function slide-toggle($systems, $exclude-hardcoded) {
590
- @return _generate-typography-tokens($systems, label-text, label-large);
591
- }
592
-
593
1031
  /// Generates custom tokens for the mat-slider.
594
1032
  /// @param {Map} $systems The MDC system tokens
595
1033
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
596
1034
  /// @return {Map} A set of custom tokens for the mat-slider
597
1035
  @function slider($systems, $exclude-hardcoded) {
598
- $ripple-color: map.get($systems, md-sys-color, primary);
599
- $hover-ripple-color: if($ripple-color == null, null, #{rgba($ripple-color, 0.05)});
600
- $focus-ripple-color: if($ripple-color == null, null, #{rgba($ripple-color, 0.2)});
601
-
602
- @return (
603
- ripple-color: $ripple-color,
604
- hover-state-layer-color: $hover-ripple-color,
605
- focus-state-layer-color: $focus-ripple-color,
1036
+ @return ((
1037
+ ripple-color: map.get($systems, md-sys-color, primary),
1038
+ hover-state-layer-color: mat.private-safe-color-change(
1039
+ map.get($systems, md-sys-color, primary), $alpha: 0.05),
1040
+ focus-state-layer-color: mat.private-safe-color-change(
1041
+ map.get($systems, md-sys-color, primary), $alpha: 0.2),
606
1042
  value-indicator-opacity: _hardcode(1, $exclude-hardcoded),
607
1043
  value-indicator-padding: _hardcode(0, $exclude-hardcoded),
608
1044
  value-indicator-width: _hardcode(28px, $exclude-hardcoded),
@@ -612,7 +1048,31 @@
612
1048
  value-indicator-text-transform: _hardcode(rotate(45deg), $exclude-hardcoded),
613
1049
  value-indicator-container-transform:
614
1050
  _hardcode(translateX(-50%) rotate(-45deg), $exclude-hardcoded)
615
- );
1051
+ ), (
1052
+ // Color variants
1053
+ primary: (), // Default, no overrides needed
1054
+ secondary: (
1055
+ ripple-color: map.get($systems, md-sys-color, secondary),
1056
+ hover-state-layer-color: mat.private-safe-color-change(
1057
+ map.get($systems, md-sys-color, secondary), $alpha: 0.05),
1058
+ focus-state-layer-color: mat.private-safe-color-change(
1059
+ map.get($systems, md-sys-color, secondary), $alpha: 0.2),
1060
+ ),
1061
+ tertiary: (
1062
+ ripple-color: map.get($systems, md-sys-color, tertiary),
1063
+ hover-state-layer-color: mat.private-safe-color-change(
1064
+ map.get($systems, md-sys-color, tertiary), $alpha: 0.05),
1065
+ focus-state-layer-color: mat.private-safe-color-change(
1066
+ map.get($systems, md-sys-color, tertiary), $alpha: 0.2),
1067
+ ),
1068
+ error: (
1069
+ ripple-color: map.get($systems, md-sys-color, error),
1070
+ hover-state-layer-color: mat.private-safe-color-change(
1071
+ map.get($systems, md-sys-color, error), $alpha: 0.05),
1072
+ focus-state-layer-color: mat.private-safe-color-change(
1073
+ map.get($systems, md-sys-color, error), $alpha: 0.2),
1074
+ ),
1075
+ ));
616
1076
  }
617
1077
 
618
1078
  /// Generates custom tokens for the mat-snack-bar.
@@ -640,7 +1100,7 @@
640
1100
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
641
1101
  /// @return {Map} A set of custom tokens for the mat-stepper
642
1102
  @function stepper($systems, $exclude-hardcoded) {
643
- @return mat.private-merge-all(
1103
+ @return (
644
1104
  (
645
1105
  container-color: map.get($systems, md-sys-color, surface),
646
1106
  line-color: map.get($systems, md-sys-color, outline-variant),
@@ -654,9 +1114,11 @@
654
1114
  ),
655
1115
  header-label-text-color: map.get($systems, md-sys-color, on-surface-variant),
656
1116
  header-optional-label-text-color: map.get($systems, md-sys-color, on-surface-variant),
657
- header-selected-state-label-text-color: map.get($systems, md-sys-color, on-surface),
658
- header-icon-background-color: map.get($systems, md-sys-color, inverse-surface),
659
- header-icon-foreground-color: map.get($systems, md-sys-color, inverse-on-surface),
1117
+ header-selected-state-label-text-color: map.get($systems, md-sys-color, on-surface-variant),
1118
+ header-icon-background-color: map.get($systems, md-sys-color, on-surface-variant),
1119
+ header-icon-foreground-color: map.get($systems, md-sys-color, surface),
1120
+ header-edit-state-icon-background-color: map.get($systems, md-sys-color, primary),
1121
+ header-edit-state-icon-foreground-color: map.get($systems, md-sys-color, on-primary),
660
1122
  header-error-state-label-text-color: map.get($systems, md-sys-color, error),
661
1123
  header-error-state-icon-foreground-color: map.get($systems, md-sys-color, error),
662
1124
  header-error-state-icon-background-color: _hardcode(transparent, $exclude-hardcoded),
@@ -665,10 +1127,40 @@
665
1127
  header-label-text-size: map.get($systems, md-sys-typescale, title-small-size),
666
1128
  header-label-text-weight: map.get($systems, md-sys-typescale, title-small-weight),
667
1129
  header-error-state-label-text-size: map.get($systems, md-sys-typescale, title-small-size),
668
- header-selected-state-label-text-size: map.get($systems, md-sys-typescale, title-small-szie),
1130
+ header-focus-state-layer-shape: map.get($systems, md-sys-shape, corner-medium),
1131
+ header-hover-state-layer-shape: map.get($systems, md-sys-shape, corner-medium),
1132
+ header-selected-state-label-text-size: map.get($systems, md-sys-typescale, title-small-size),
669
1133
  header-selected-state-label-text-weight: map.get(
670
1134
  $systems, md-sys-typescale, title-small-weight),
671
- ),
1135
+ header-selected-state-icon-background-color: map.get($systems, md-sys-color, primary),
1136
+ header-selected-state-icon-foreground-color: map.get($systems, md-sys-color, on-primary),
1137
+ ), (
1138
+ // Color variants
1139
+ primary: (
1140
+ header-edit-state-icon-background-color: map.get($systems, md-sys-color, primary),
1141
+ header-edit-state-icon-foreground-color: map.get($systems, md-sys-color, on-primary),
1142
+ header-selected-state-icon-background-color: map.get($systems, md-sys-color, primary),
1143
+ header-selected-state-icon-foreground-color: map.get($systems, md-sys-color, on-primary),
1144
+ ),
1145
+ secondary: (
1146
+ header-edit-state-icon-background-color: map.get($systems, md-sys-color, secondary),
1147
+ header-edit-state-icon-foreground-color: map.get($systems, md-sys-color, on-secondary),
1148
+ header-selected-state-icon-background-color: map.get($systems, md-sys-color, secondary),
1149
+ header-selected-state-icon-foreground-color: map.get($systems, md-sys-color, on-secondary),
1150
+ ),
1151
+ tertiary: (
1152
+ header-edit-state-icon-background-color: map.get($systems, md-sys-color, tertiary),
1153
+ header-edit-state-icon-foreground-color: map.get($systems, md-sys-color, on-tertiary),
1154
+ header-selected-state-icon-background-color: map.get($systems, md-sys-color, tertiary),
1155
+ header-selected-state-icon-foreground-color: map.get($systems, md-sys-color, on-tertiary),
1156
+ ),
1157
+ error: (
1158
+ header-edit-state-icon-background-color: map.get($systems, md-sys-color, error),
1159
+ header-edit-state-icon-foreground-color: map.get($systems, md-sys-color, on-error),
1160
+ header-selected-state-icon-background-color: map.get($systems, md-sys-color, error),
1161
+ header-selected-state-icon-foreground-color: map.get($systems, md-sys-color, on-error),
1162
+ )
1163
+ )
672
1164
  );
673
1165
  }
674
1166
 
@@ -677,7 +1169,7 @@
677
1169
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
678
1170
  /// @return {Map} A set of custom tokens for the mat-tab-header
679
1171
  @function tab-header($systems, $exclude-hardcoded) {
680
- @return mat.private-merge-all(
1172
+ @return (mat.private-merge-all(
681
1173
  _generate-typography-tokens($systems, label-text, title-small),
682
1174
  (
683
1175
  divider-color: map.get($systems, md-sys-color, surface-variant),
@@ -695,7 +1187,22 @@
695
1187
  active-focus-indicator-color: map.get($systems, md-sys-color, primary),
696
1188
  active-hover-indicator-color: map.get($systems, md-sys-color, primary),
697
1189
  ),
698
- );
1190
+ ), (
1191
+ // Color variants
1192
+ primary: (), // Default, no overrides needed
1193
+ secondary: (
1194
+ active-focus-indicator-color: map.get($systems, md-sys-color, secondary),
1195
+ active-hover-indicator-color: map.get($systems, md-sys-color, secondary),
1196
+ ),
1197
+ tertiary: (
1198
+ active-focus-indicator-color: map.get($systems, md-sys-color, tertiary),
1199
+ active-hover-indicator-color: map.get($systems, md-sys-color, tertiary),
1200
+ ),
1201
+ error: (
1202
+ active-focus-indicator-color: map.get($systems, md-sys-color, error),
1203
+ active-hover-indicator-color: map.get($systems, md-sys-color, error),
1204
+ )
1205
+ ));
699
1206
  }
700
1207
 
701
1208
  /// Generates custom tokens for the mdc-tab-indicator. (MDC has a tab-indicator component, but they
@@ -705,11 +1212,23 @@
705
1212
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
706
1213
  /// @return {Map} A set of custom tokens for the mdc-tab-indicator
707
1214
  @function tab-indicator($systems, $exclude-hardcoded) {
708
- @return (
1215
+ @return ((
709
1216
  active-indicator-height: _hardcode(2px, $exclude-hardcoded),
710
1217
  active-indicator-shape: _hardcode(0, $exclude-hardcoded),
711
1218
  active-indicator-color: map.get($systems, md-sys-color, primary),
712
- );
1219
+ ), (
1220
+ // Color variants
1221
+ primary: (), // Default, no overrides needed
1222
+ secondary: (
1223
+ active-indicator-color: map.get($systems, md-sys-color, secondary),
1224
+ ),
1225
+ tertiary: (
1226
+ active-indicator-color: map.get($systems, md-sys-color, tertiary),
1227
+ ),
1228
+ error: (
1229
+ active-indicator-color: map.get($systems, md-sys-color, error),
1230
+ )
1231
+ ));
713
1232
  }
714
1233
 
715
1234
  /// Generates custom tokens for the mat-table.
@@ -737,11 +1256,11 @@
737
1256
  /// @return {Map} A set of custom tokens for the mat-toolbar
738
1257
  @function toolbar($systems, $exclude-hardcoded) {
739
1258
  @return mat.private-merge-all(
740
- _generate-typography-tokens($systems, title-text, title-large),
741
- (
742
- container-background-color: map.get($systems, md-sys-color, surface),
743
- container-text-color: map.get($systems, md-sys-color, on-surface),
744
- )
1259
+ _generate-typography-tokens($systems, title-text, title-large),
1260
+ (
1261
+ container-background-color: map.get($systems, md-sys-color, surface),
1262
+ container-text-color: map.get($systems, md-sys-color, on-surface),
1263
+ )
745
1264
  );
746
1265
  }
747
1266
 
@@ -758,3 +1277,493 @@
758
1277
  node-text-weight: map.get($systems, md-sys-typescale, body-large-weight),
759
1278
  );
760
1279
  }
1280
+
1281
+ /// Generates custom token overrides for the mdc-checkbox color variants.
1282
+ /// @param {Map} $systems The MDC system tokens
1283
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1284
+ /// @return {Map} A set of color variant token overrides for the mdc-checkbox
1285
+ @function mdc-checkbox-color-variants($systems, $exclude-hardcoded) {
1286
+ @return (
1287
+ primary: (), // Default, no overrides needed
1288
+ secondary: (
1289
+ selected-container-color: map.get($systems, md-sys-color, secondary),
1290
+ selected-focus-container-color: map.get($systems, md-sys-color, secondary),
1291
+ selected-focus-icon-color: map.get($systems, md-sys-color, on-secondary),
1292
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, secondary),
1293
+ selected-hover-container-color: map.get($systems, md-sys-color, secondary),
1294
+ selected-hover-icon-color: map.get($systems, md-sys-color, on-secondary),
1295
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, secondary),
1296
+ selected-icon-color: map.get($systems, md-sys-color, on-secondary),
1297
+ selected-pressed-container-color: map.get($systems, md-sys-color, secondary),
1298
+ selected-pressed-icon-color: map.get($systems, md-sys-color, on-secondary),
1299
+ unselected-pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
1300
+ ),
1301
+ tertiary: (
1302
+ selected-container-color: map.get($systems, md-sys-color, tertiary),
1303
+ selected-focus-container-color: map.get($systems, md-sys-color, tertiary),
1304
+ selected-focus-icon-color: map.get($systems, md-sys-color, on-tertiary),
1305
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
1306
+ selected-hover-container-color: map.get($systems, md-sys-color, tertiary),
1307
+ selected-hover-icon-color: map.get($systems, md-sys-color, on-tertiary),
1308
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
1309
+ selected-icon-color: map.get($systems, md-sys-color, on-tertiary),
1310
+ selected-pressed-container-color: map.get($systems, md-sys-color, tertiary),
1311
+ selected-pressed-icon-color: map.get($systems, md-sys-color, on-tertiary),
1312
+ unselected-pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
1313
+ ),
1314
+ error: (
1315
+ selected-container-color: map.get($systems, md-sys-color, error),
1316
+ selected-focus-container-color: map.get($systems, md-sys-color, error),
1317
+ selected-focus-icon-color: map.get($systems, md-sys-color, on-error),
1318
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, error),
1319
+ selected-hover-container-color: map.get($systems, md-sys-color, error),
1320
+ selected-hover-icon-color: map.get($systems, md-sys-color, on-error),
1321
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, error),
1322
+ selected-icon-color: map.get($systems, md-sys-color, on-error),
1323
+ selected-pressed-container-color: map.get($systems, md-sys-color, error),
1324
+ selected-pressed-icon-color: map.get($systems, md-sys-color, on-error),
1325
+ unselected-pressed-state-layer-color: map.get($systems, md-sys-color, error),
1326
+ )
1327
+ );
1328
+ }
1329
+
1330
+ /// Generates custom token overrides for the mdc-slider color variants.
1331
+ /// @param {Map} $systems The MDC system tokens
1332
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1333
+ /// @return {Map} A set of color variant token overrides for the mdc-slider
1334
+ @function mdc-slider-color-variants($systems, $exclude-hardcoded) {
1335
+ @return (
1336
+ primary: (), // Default, no overrides needed
1337
+ secondary: (
1338
+ active-track-color: map.get($systems, md-sys-color, secondary),
1339
+ focus-handle-color: map.get($systems, md-sys-color, secondary),
1340
+ focus-state-layer-color: map.get($systems, md-sys-color, secondary),
1341
+ handle-color: map.get($systems, md-sys-color, secondary),
1342
+ hover-handle-color: map.get($systems, md-sys-color, secondary),
1343
+ hover-state-layer-color: map.get($systems, md-sys-color, secondary),
1344
+ label-container-color: map.get($systems, md-sys-color, secondary),
1345
+ label-label-text-color: map.get($systems, md-sys-color, on-secondary),
1346
+ pressed-handle-color: map.get($systems, md-sys-color, secondary),
1347
+ pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
1348
+ with-overlap-handle-outline-color: map.get($systems, md-sys-color, on-secondary),
1349
+ with-tick-marks-active-container-color: map.get($systems, md-sys-color, on-secondary),
1350
+ ),
1351
+ tertiary: (
1352
+ active-track-color: map.get($systems, md-sys-color, tertiary),
1353
+ focus-handle-color: map.get($systems, md-sys-color, tertiary),
1354
+ focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
1355
+ handle-color: map.get($systems, md-sys-color, tertiary),
1356
+ hover-handle-color: map.get($systems, md-sys-color, tertiary),
1357
+ hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
1358
+ label-container-color: map.get($systems, md-sys-color, tertiary),
1359
+ label-label-text-color: map.get($systems, md-sys-color, on-tertiary),
1360
+ pressed-handle-color: map.get($systems, md-sys-color, tertiary),
1361
+ pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
1362
+ with-overlap-handle-outline-color: map.get($systems, md-sys-color, on-tertiary),
1363
+ with-tick-marks-active-container-color: map.get($systems, md-sys-color, on-tertiary),
1364
+ ),
1365
+ error: (
1366
+ active-track-color: map.get($systems, md-sys-color, error),
1367
+ focus-handle-color: map.get($systems, md-sys-color, error),
1368
+ focus-state-layer-color: map.get($systems, md-sys-color, error),
1369
+ handle-color: map.get($systems, md-sys-color, error),
1370
+ hover-handle-color: map.get($systems, md-sys-color, error),
1371
+ hover-state-layer-color: map.get($systems, md-sys-color, error),
1372
+ label-container-color: map.get($systems, md-sys-color, error),
1373
+ label-label-text-color: map.get($systems, md-sys-color, on-error),
1374
+ pressed-handle-color: map.get($systems, md-sys-color, error),
1375
+ pressed-state-layer-color: map.get($systems, md-sys-color, error),
1376
+ with-overlap-handle-outline-color: map.get($systems, md-sys-color, on-error),
1377
+ with-tick-marks-active-container-color: map.get($systems, md-sys-color, on-error),
1378
+ ),
1379
+ );
1380
+ }
1381
+
1382
+ /// Generates custom token overrides for the mdc-switch color variants.
1383
+ /// @param {Map} $systems The MDC system tokens
1384
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1385
+ /// @return {Map} A set of color variant token overrides for the mdc-switch
1386
+ @function mdc-switch-color-variants($systems, $exclude-hardcoded) {
1387
+ @return (
1388
+ primary: (), // Default, no overrides needed
1389
+ secondary: (
1390
+ selected-focus-handle-color: map.get($systems, md-sys-color, secondary-container),
1391
+ selected-focus-icon-color: map.get($systems, md-sys-color, on-secondary-container),
1392
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, secondary),
1393
+ selected-focus-track-color: map.get($systems, md-sys-color, secondary),
1394
+ selected-handle-color: map.get($systems, md-sys-color, on-secondary),
1395
+ selected-hover-handle-color: map.get($systems, md-sys-color, secondary-container),
1396
+ selected-hover-icon-color: map.get($systems, md-sys-color, on-secondary-container),
1397
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, secondary),
1398
+ selected-hover-track-color: map.get($systems, md-sys-color, secondary),
1399
+ selected-icon-color: map.get($systems, md-sys-color, on-secondary-container),
1400
+ selected-pressed-handle-color: map.get($systems, md-sys-color, secondary-container),
1401
+ selected-pressed-icon-color: map.get($systems, md-sys-color, on-secondary-container),
1402
+ selected-pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
1403
+ selected-pressed-track-color: map.get($systems, md-sys-color, secondary),
1404
+ selected-track-color: map.get($systems, md-sys-color, secondary),
1405
+ ),
1406
+ tertiary: (
1407
+ selected-focus-handle-color: map.get($systems, md-sys-color, tertiary-container),
1408
+ selected-focus-icon-color: map.get($systems, md-sys-color, on-tertiary-container),
1409
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
1410
+ selected-focus-track-color: map.get($systems, md-sys-color, tertiary),
1411
+ selected-handle-color: map.get($systems, md-sys-color, on-tertiary),
1412
+ selected-hover-handle-color: map.get($systems, md-sys-color, tertiary-container),
1413
+ selected-hover-icon-color: map.get($systems, md-sys-color, on-tertiary-container),
1414
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
1415
+ selected-hover-track-color: map.get($systems, md-sys-color, tertiary),
1416
+ selected-icon-color: map.get($systems, md-sys-color, on-tertiary-container),
1417
+ selected-pressed-handle-color: map.get($systems, md-sys-color, tertiary-container),
1418
+ selected-pressed-icon-color: map.get($systems, md-sys-color, on-tertiary-container),
1419
+ selected-pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
1420
+ selected-pressed-track-color: map.get($systems, md-sys-color, tertiary),
1421
+ selected-track-color: map.get($systems, md-sys-color, tertiary),
1422
+ ),
1423
+ error: (
1424
+ selected-focus-handle-color: map.get($systems, md-sys-color, error-container),
1425
+ selected-focus-icon-color: map.get($systems, md-sys-color, on-error-container),
1426
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, error),
1427
+ selected-focus-track-color: map.get($systems, md-sys-color, error),
1428
+ selected-handle-color: map.get($systems, md-sys-color, on-error),
1429
+ selected-hover-handle-color: map.get($systems, md-sys-color, error-container),
1430
+ selected-hover-icon-color: map.get($systems, md-sys-color, on-error-container),
1431
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, error),
1432
+ selected-hover-track-color: map.get($systems, md-sys-color, error),
1433
+ selected-icon-color: map.get($systems, md-sys-color, on-error-container),
1434
+ selected-pressed-handle-color: map.get($systems, md-sys-color, error-container),
1435
+ selected-pressed-icon-color: map.get($systems, md-sys-color, on-error-container),
1436
+ selected-pressed-state-layer-color: map.get($systems, md-sys-color, error),
1437
+ selected-pressed-track-color: map.get($systems, md-sys-color, error),
1438
+ selected-track-color: map.get($systems, md-sys-color, error),
1439
+ ),
1440
+ );
1441
+ }
1442
+
1443
+ /// Generates custom token overrides for the mdc-radio color variants.
1444
+ /// @param {Map} $systems The MDC system tokens
1445
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1446
+ /// @return {Map} A set of color variant token overrides for the mdc-radio
1447
+ @function mdc-radio-color-variants($systems, $exclude-hardcoded) {
1448
+ @return (
1449
+ primary: (), // Default, no overrides needed
1450
+ secondary: (
1451
+ selected-focus-icon-color: map.get($systems, md-sys-color, secondary),
1452
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, secondary),
1453
+ selected-hover-icon-color: map.get($systems, md-sys-color, secondary),
1454
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, secondary),
1455
+ selected-icon-color: map.get($systems, md-sys-color, secondary),
1456
+ selected-pressed-icon-color: map.get($systems, md-sys-color, secondary),
1457
+ unselected-pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
1458
+ ),
1459
+ tertiary: (
1460
+ selected-focus-icon-color: map.get($systems, md-sys-color, tertiary),
1461
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
1462
+ selected-hover-icon-color: map.get($systems, md-sys-color, tertiary),
1463
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
1464
+ selected-icon-color: map.get($systems, md-sys-color, tertiary),
1465
+ selected-pressed-icon-color: map.get($systems, md-sys-color, tertiary),
1466
+ unselected-pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
1467
+ ),
1468
+ error: (
1469
+ selected-focus-icon-color: map.get($systems, md-sys-color, error),
1470
+ selected-focus-state-layer-color: map.get($systems, md-sys-color, error),
1471
+ selected-hover-icon-color: map.get($systems, md-sys-color, error),
1472
+ selected-hover-state-layer-color: map.get($systems, md-sys-color, error),
1473
+ selected-icon-color: map.get($systems, md-sys-color, error),
1474
+ selected-pressed-icon-color: map.get($systems, md-sys-color, error),
1475
+ unselected-pressed-state-layer-color: map.get($systems, md-sys-color, error),
1476
+ ),
1477
+ );
1478
+ }
1479
+
1480
+ /// Generates custom token overrides for the mdc-circular-progress color variants.
1481
+ /// @param {Map} $systems The MDC system tokens
1482
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1483
+ /// @return {Map} A set of color variant token overrides for the mdc-circular-progress
1484
+ @function mdc-circular-progress-color-variants($systems, $exclude-hardcoded) {
1485
+ @return (
1486
+ primary: (), // Default, no overrides needed
1487
+ secondary: (
1488
+ active-indicator-color: map.get($systems, md-sys-color, secondary),
1489
+ ),
1490
+ tertiary: (
1491
+ active-indicator-color: map.get($systems, md-sys-color, tertiary),
1492
+ ),
1493
+ error: (
1494
+ active-indicator-color: map.get($systems, md-sys-color, error),
1495
+ )
1496
+ );
1497
+ }
1498
+
1499
+ /// Generates custom token overrides for the mdc-linear-progress color variants.
1500
+ /// @param {Map} $systems The MDC system tokens
1501
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1502
+ /// @return {Map} A set of color variant token overrides for the mdc-linear-progress
1503
+ @function mdc-linear-progress-color-variants($systems, $exclude-hardcoded) {
1504
+ @return (
1505
+ primary: (), // Default, no overrides needed
1506
+ secondary: (
1507
+ active-indicator-color: map.get($systems, md-sys-color, secondary),
1508
+ ),
1509
+ tertiary: (
1510
+ active-indicator-color: map.get($systems, md-sys-color, tertiary),
1511
+ ),
1512
+ error: (
1513
+ active-indicator-color: map.get($systems, md-sys-color, error),
1514
+ ),
1515
+ );
1516
+ }
1517
+
1518
+ /// Generates custom token overrides for the mdc-filled-form-field color variants.
1519
+ /// @param {Map} $systems The MDC system tokens
1520
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1521
+ /// @return {Map} A set of color variant token overrides for the mdc-filled-form-field
1522
+ @function mdc-filled-text-field-color-variants($systems, $exclude-hardcoded) {
1523
+ @return (
1524
+ primary: (), // Default, no overrides needed
1525
+ secondary: (
1526
+ caret-color: map.get($systems, md-sys-color, secondary),
1527
+ focus-active-indicator-color: map.get($systems, md-sys-color, secondary),
1528
+ focus-label-text-color: map.get($systems, md-sys-color, secondary),
1529
+ ),
1530
+ tertiary: (
1531
+ caret-color: map.get($systems, md-sys-color, tertiary),
1532
+ focus-active-indicator-color: map.get($systems, md-sys-color, tertiary),
1533
+ focus-label-text-color: map.get($systems, md-sys-color, tertiary),
1534
+ ),
1535
+ error: (
1536
+ caret-color: map.get($systems, md-sys-color, error),
1537
+ focus-active-indicator-color: map.get($systems, md-sys-color, error),
1538
+ focus-label-text-color: map.get($systems, md-sys-color, error),
1539
+ ),
1540
+ );
1541
+ }
1542
+
1543
+ /// Generates custom token overrides for the mdc-outlined-form-field color variants.
1544
+ /// @param {Map} $systems The MDC system tokens
1545
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1546
+ /// @return {Map} A set of color variant token overrides for the mdc-outlined-form-field
1547
+ @function mdc-outlined-text-field-color-variants($systems, $exclude-hardcoded) {
1548
+ @return (
1549
+ primary: (), // Default, no overrides needed
1550
+ secondary: (
1551
+ caret-color: map.get($systems, md-sys-color, secondary),
1552
+ focus-label-text-color: map.get($systems, md-sys-color, secondary),
1553
+ focus-outline-color: map.get($systems, md-sys-color, secondary),
1554
+ ),
1555
+ tertiary: (
1556
+ caret-color: map.get($systems, md-sys-color, tertiary),
1557
+ focus-label-text-color: map.get($systems, md-sys-color, tertiary),
1558
+ focus-outline-color: map.get($systems, md-sys-color, tertiary),
1559
+ ),
1560
+ error: (
1561
+ caret-color: map.get($systems, md-sys-color, error),
1562
+ focus-label-text-color: map.get($systems, md-sys-color, error),
1563
+ focus-outline-color: map.get($systems, md-sys-color, error),
1564
+ ),
1565
+ );
1566
+ }
1567
+
1568
+ /// Generates custom token overrides for the mdc-text-button color variants.
1569
+ /// @param {Map} $systems The MDC system tokens
1570
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1571
+ /// @return {Map} A set of color variant token overrides for the mdc-text-button
1572
+ @function mdc-text-button-color-variants($systems, $exclude-hardcoded) {
1573
+ @return (
1574
+ primary: (), // Default, no overrides needed.
1575
+ secondary: (
1576
+ focus-label-text-color: map.get($systems, md-sys-color, secondary),
1577
+ focus-state-layer-color: map.get($systems, md-sys-color, secondary),
1578
+ hover-label-text-color: map.get($systems, md-sys-color, secondary),
1579
+ hover-state-layer-color: map.get($systems, md-sys-color, secondary),
1580
+ label-text-color: map.get($systems, md-sys-color, secondary),
1581
+ pressed-label-text-color: map.get($systems, md-sys-color, secondary),
1582
+ pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
1583
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, secondary),
1584
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, secondary),
1585
+ with-icon-icon-color: map.get($systems, md-sys-color, secondary),
1586
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, secondary)
1587
+ ),
1588
+ tertiary: (
1589
+ focus-label-text-color: map.get($systems, md-sys-color, tertiary),
1590
+ focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
1591
+ hover-label-text-color: map.get($systems, md-sys-color, tertiary),
1592
+ hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
1593
+ label-text-color: map.get($systems, md-sys-color, tertiary),
1594
+ pressed-label-text-color: map.get($systems, md-sys-color, tertiary),
1595
+ pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
1596
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, tertiary),
1597
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, tertiary),
1598
+ with-icon-icon-color: map.get($systems, md-sys-color, tertiary),
1599
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, tertiary)
1600
+ ),
1601
+ error: (
1602
+ focus-label-text-color: map.get($systems, md-sys-color, error),
1603
+ focus-state-layer-color: map.get($systems, md-sys-color, error),
1604
+ hover-label-text-color: map.get($systems, md-sys-color, error),
1605
+ hover-state-layer-color: map.get($systems, md-sys-color, error),
1606
+ label-text-color: map.get($systems, md-sys-color, error),
1607
+ pressed-label-text-color: map.get($systems, md-sys-color, error),
1608
+ pressed-state-layer-color: map.get($systems, md-sys-color, error),
1609
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, error),
1610
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, error),
1611
+ with-icon-icon-color: map.get($systems, md-sys-color, error),
1612
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, error)
1613
+ )
1614
+ );
1615
+ }
1616
+
1617
+ /// Generates custom token overrides for the mdc-elevated-button color variants.
1618
+ /// @param {Map} $systems The MDC system tokens
1619
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1620
+ /// @return {Map} A set of color variant token overrides for the mdc-elevated-button
1621
+ @function mdc-elevated-button-color-variants($systems, $exclude-hardcoded) {
1622
+ @return (
1623
+ primary: (), // Default, no overrides needed.
1624
+ secondary: (
1625
+ focus-label-text-color: map.get($systems, md-sys-color, secondary),
1626
+ focus-state-layer-color: map.get($systems, md-sys-color, secondary),
1627
+ hover-label-text-color: map.get($systems, md-sys-color, secondary),
1628
+ hover-state-layer-color: map.get($systems, md-sys-color, secondary),
1629
+ label-text-color: map.get($systems, md-sys-color, secondary),
1630
+ pressed-label-text-color: map.get($systems, md-sys-color, secondary),
1631
+ pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
1632
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, secondary),
1633
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, secondary),
1634
+ with-icon-icon-color: map.get($systems, md-sys-color, secondary),
1635
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, secondary)
1636
+ ),
1637
+ tertiary: (
1638
+ focus-label-text-color: map.get($systems, md-sys-color, tertiary),
1639
+ focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
1640
+ hover-label-text-color: map.get($systems, md-sys-color, tertiary),
1641
+ hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
1642
+ label-text-color: map.get($systems, md-sys-color, tertiary),
1643
+ pressed-label-text-color: map.get($systems, md-sys-color, tertiary),
1644
+ pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
1645
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, tertiary),
1646
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, tertiary),
1647
+ with-icon-icon-color: map.get($systems, md-sys-color, tertiary),
1648
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, tertiary)
1649
+ ),
1650
+ error: (
1651
+ focus-label-text-color: map.get($systems, md-sys-color, error),
1652
+ focus-state-layer-color: map.get($systems, md-sys-color, error),
1653
+ hover-label-text-color: map.get($systems, md-sys-color, error),
1654
+ hover-state-layer-color: map.get($systems, md-sys-color, error),
1655
+ label-text-color: map.get($systems, md-sys-color, error),
1656
+ pressed-label-text-color: map.get($systems, md-sys-color, error),
1657
+ pressed-state-layer-color: map.get($systems, md-sys-color, error),
1658
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, error),
1659
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, error),
1660
+ with-icon-icon-color: map.get($systems, md-sys-color, error),
1661
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, error)
1662
+ )
1663
+ );
1664
+ }
1665
+
1666
+ /// Generates custom token overrides for the mdc-filled-button color variants.
1667
+ /// @param {Map} $systems The MDC system tokens
1668
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1669
+ /// @return {Map} A set of color variant token overrides for the mdc-filled-button
1670
+ @function mdc-filled-button-color-variants($systems, $exclude-hardcoded) {
1671
+ @return (
1672
+ primary: (), // Default, no overrides needed.
1673
+ secondary: (
1674
+ container-color: map.get($systems, md-sys-color, secondary),
1675
+ focus-label-text-color: map.get($systems, md-sys-color, on-secondary),
1676
+ focus-state-layer-color: map.get($systems, md-sys-color, on-secondary),
1677
+ hover-label-text-color: map.get($systems, md-sys-color, on-secondary),
1678
+ hover-state-layer-color: map.get($systems, md-sys-color, on-secondary),
1679
+ label-text-color: map.get($systems, md-sys-color, on-secondary),
1680
+ pressed-label-text-color: map.get($systems, md-sys-color, on-secondary),
1681
+ pressed-state-layer-color: map.get($systems, md-sys-color, on-secondary),
1682
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, on-secondary),
1683
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, on-secondary),
1684
+ with-icon-icon-color: map.get($systems, md-sys-color, on-secondary),
1685
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, on-secondary)
1686
+ ),
1687
+ tertiary: (
1688
+ container-color: map.get($systems, md-sys-color, tertiary),
1689
+ focus-label-text-color: map.get($systems, md-sys-color, on-tertiary),
1690
+ focus-state-layer-color: map.get($systems, md-sys-color, on-tertiary),
1691
+ hover-label-text-color: map.get($systems, md-sys-color, on-tertiary),
1692
+ hover-state-layer-color: map.get($systems, md-sys-color, on-tertiary),
1693
+ label-text-color: map.get($systems, md-sys-color, on-tertiary),
1694
+ pressed-label-text-color: map.get($systems, md-sys-color, on-tertiary),
1695
+ pressed-state-layer-color: map.get($systems, md-sys-color, on-tertiary),
1696
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, on-tertiary),
1697
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, on-tertiary),
1698
+ with-icon-icon-color: map.get($systems, md-sys-color, on-tertiary),
1699
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, on-tertiary)
1700
+ ),
1701
+ error: (
1702
+ container-color: map.get($systems, md-sys-color, error),
1703
+ focus-label-text-color: map.get($systems, md-sys-color, on-error),
1704
+ focus-state-layer-color: map.get($systems, md-sys-color, on-error),
1705
+ hover-label-text-color: map.get($systems, md-sys-color, on-error),
1706
+ hover-state-layer-color: map.get($systems, md-sys-color, on-error),
1707
+ label-text-color: map.get($systems, md-sys-color, on-error),
1708
+ pressed-label-text-color: map.get($systems, md-sys-color, on-error),
1709
+ pressed-state-layer-color: map.get($systems, md-sys-color, on-error),
1710
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, on-error),
1711
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, on-error),
1712
+ with-icon-icon-color: map.get($systems, md-sys-color, on-error),
1713
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, on-error)
1714
+ )
1715
+ );
1716
+ }
1717
+
1718
+ /// Generates custom token overrides for the mdc-outlined-button color variants.
1719
+ /// @param {Map} $systems The MDC system tokens
1720
+ /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
1721
+ /// @return {Map} A set of color variant token overrides for the mdc-outlined-button
1722
+ @function mdc-outlined-button-color-variants($systems, $exclude-hardcoded) {
1723
+ @return (
1724
+ primary: (), // Default, no overrides needed.
1725
+ secondary: (
1726
+ focus-label-text-color: map.get($systems, md-sys-color, secondary),
1727
+ focus-outline-color: map.get($systems, md-sys-color, secondary),
1728
+ focus-state-layer-color: map.get($systems, md-sys-color, secondary),
1729
+ hover-label-text-color: map.get($systems, md-sys-color, secondary),
1730
+ hover-state-layer-color: map.get($systems, md-sys-color, secondary),
1731
+ label-text-color: map.get($systems, md-sys-color, secondary),
1732
+ pressed-label-text-color: map.get($systems, md-sys-color, secondary),
1733
+ pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
1734
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, secondary),
1735
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, secondary),
1736
+ with-icon-icon-color: map.get($systems, md-sys-color, secondary),
1737
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, secondary)
1738
+ ),
1739
+ tertiary: (
1740
+ focus-label-text-color: map.get($systems, md-sys-color, tertiary),
1741
+ focus-outline-color: map.get($systems, md-sys-color, tertiary),
1742
+ focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
1743
+ hover-label-text-color: map.get($systems, md-sys-color, tertiary),
1744
+ hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
1745
+ label-text-color: map.get($systems, md-sys-color, tertiary),
1746
+ pressed-label-text-color: map.get($systems, md-sys-color, tertiary),
1747
+ pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
1748
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, tertiary),
1749
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, tertiary),
1750
+ with-icon-icon-color: map.get($systems, md-sys-color, tertiary),
1751
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, tertiary)
1752
+ ),
1753
+ error: (
1754
+ focus-label-text-color: map.get($systems, md-sys-color, error),
1755
+ focus-outline-color: map.get($systems, md-sys-color, error),
1756
+ focus-state-layer-color: map.get($systems, md-sys-color, error),
1757
+ hover-label-text-color: map.get($systems, md-sys-color, error),
1758
+ hover-state-layer-color: map.get($systems, md-sys-color, error),
1759
+ label-text-color: map.get($systems, md-sys-color, error),
1760
+ pressed-label-text-color: map.get($systems, md-sys-color, error),
1761
+ pressed-state-layer-color: map.get($systems, md-sys-color, error),
1762
+ with-icon-focus-icon-color: map.get($systems, md-sys-color, error),
1763
+ with-icon-hover-icon-color: map.get($systems, md-sys-color, error),
1764
+ with-icon-icon-color: map.get($systems, md-sys-color, error),
1765
+ with-icon-pressed-icon-color: map.get($systems, md-sys-color, error)
1766
+ )
1767
+ );
1768
+ }
1769
+