@angular/material-experimental 17.1.1 → 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 +1060 -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
  (
@@ -324,7 +528,19 @@
324
528
  error-hover-trailing-icon-color: map.get($systems, md-sys-color, on-error-container),
325
529
  error-trailing-icon-color: map.get($systems, md-sys-color, error),
326
530
  )
327
- );
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
+ ));
328
544
  }
329
545
 
330
546
  /// Generates custom tokens for the mat-grid-list.
@@ -349,6 +565,7 @@
349
565
  color: _hardcode(inherit, $exclude-hardcoded),
350
566
  ), (
351
567
  // Color variants:
568
+ surface: (), // Default, no overrides needed.
352
569
  primary: (
353
570
  color: map.get($systems, md-sys-color, primary),
354
571
  ),
@@ -369,7 +586,11 @@
369
586
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
370
587
  /// @return {Map} A set of custom tokens for the mat-button
371
588
  @function text-button($systems, $exclude-hardcoded) {
372
- @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),
373
594
  state-layer-color: map.get($systems, md-sys-color, primary),
374
595
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
375
596
  ripple-color: mat.private-safe-color-change(
@@ -379,7 +600,31 @@
379
600
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
380
601
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
381
602
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
382
- );
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
+ ));
383
628
  }
384
629
 
385
630
  /// Generates custom tokens for the mat-flat-button.
@@ -387,7 +632,10 @@
387
632
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
388
633
  /// @return {Map} A set of custom tokens for the mat-flat-button
389
634
  @function filled-button($systems, $exclude-hardcoded) {
390
- @return (
635
+ @return ((
636
+ horizontal-padding: _hardcode(24px, $exclude-hardcoded),
637
+ icon-spacing: _hardcode(8px, $exclude-hardcoded),
638
+ icon-offset: _hardcode(-8px, $exclude-hardcoded),
391
639
  state-layer-color: map.get($systems, md-sys-color, on-primary),
392
640
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
393
641
  ripple-color: mat.private-safe-color-change(
@@ -397,7 +645,31 @@
397
645
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
398
646
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
399
647
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
400
- );
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
+ ));
401
673
  }
402
674
 
403
675
  /// Generates custom tokens for the mat-raised-button.
@@ -405,7 +677,10 @@
405
677
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
406
678
  /// @return {Map} A set of custom tokens for the mat-raised-button
407
679
  @function elevated-button($systems, $exclude-hardcoded) {
408
- @return (
680
+ @return ((
681
+ horizontal-padding: _hardcode(24px, $exclude-hardcoded),
682
+ icon-spacing: _hardcode(8px, $exclude-hardcoded),
683
+ icon-offset: _hardcode(-8px, $exclude-hardcoded),
409
684
  state-layer-color: map.get($systems, md-sys-color, primary),
410
685
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
411
686
  ripple-color: mat.private-safe-color-change(
@@ -415,7 +690,31 @@
415
690
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
416
691
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
417
692
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
418
- );
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
+ ));
419
718
  }
420
719
 
421
720
  /// Generates custom tokens for the mat-outlined-button.
@@ -423,7 +722,10 @@
423
722
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
424
723
  /// @return {Map} A set of custom tokens for the mat-outlined-button
425
724
  @function outlined-button($systems, $exclude-hardcoded) {
426
- @return (
725
+ @return ((
726
+ horizontal-padding: _hardcode(24px, $exclude-hardcoded),
727
+ icon-spacing: _hardcode(8px, $exclude-hardcoded),
728
+ icon-offset: _hardcode(-8px, $exclude-hardcoded),
427
729
  state-layer-color: map.get($systems, md-sys-color, primary),
428
730
  disabled-state-layer-color: map.get($systems, md-sys-color, on-surface-variant),
429
731
  ripple-color: mat.private-safe-color-change(
@@ -433,7 +735,31 @@
433
735
  hover-state-layer-opacity: map.get($systems, md-sys-state, hover-state-layer-opacity),
434
736
  focus-state-layer-opacity: map.get($systems, md-sys-state, focus-state-layer-opacity),
435
737
  pressed-state-layer-opacity: map.get($systems, md-sys-state, pressed-state-layer-opacity),
436
- );
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
+ ));
437
763
  }
438
764
 
439
765
  /// Generates custom tokens for the mat-icon-button.
@@ -496,7 +822,7 @@
496
822
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
497
823
  /// @return {Map} A set of custom tokens for the mat-option
498
824
  @function option($systems, $exclude-hardcoded) {
499
- @return mat.private-merge-all(
825
+ @return (mat.private-merge-all(
500
826
  _generate-typography-tokens($systems, label-text, label-large),
501
827
  (
502
828
  selected-state-label-text-color: map.get($systems, md-sys-color, on-secondary-container),
@@ -511,7 +837,22 @@
511
837
  ),
512
838
  selected-state-layer-color: map.get($systems, md-sys-color, secondary-container),
513
839
  ),
514
- );
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
+ ));
515
856
  }
516
857
 
517
858
  /// Generates custom tokens for the mat-paginator.
@@ -532,16 +873,98 @@
532
873
  );
533
874
  }
534
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
+
535
945
  /// Generates custom tokens for the mat-radio.
536
946
  /// @param {Map} $systems The MDC system tokens
537
947
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
538
948
  /// @return {Map} A set of custom tokens for the mat-radio
539
949
  @function radio($systems, $exclude-hardcoded) {
540
- @return (
950
+ @return ((
541
951
  ripple-color: map.get($systems, md-sys-color, on-surface),
542
952
  checked-ripple-color: map.get($systems, md-sys-color, primary),
543
- disabled-label-color: map.get($systems, md-sys-color, on-surface),
544
- );
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
+ ));
545
968
  }
546
969
 
547
970
  /// Generates custom tokens for the mat-ripple.
@@ -559,7 +982,7 @@
559
982
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
560
983
  /// @return {Map} A set of custom tokens for the mat-select
561
984
  @function select($systems, $exclude-hardcoded) {
562
- @return mat.private-merge-all(
985
+ @return (mat.private-merge-all(
563
986
  _generate-typography-tokens($systems, trigger-text, body-large),
564
987
  (
565
988
  panel-background-color: map.get($systems, md-sys-color, surface-container),
@@ -573,7 +996,19 @@
573
996
  focused-arrow-color: map.get($systems, md-sys-color, primary),
574
997
  invalid-arrow-color: map.get($systems, md-sys-color, error),
575
998
  )
576
- );
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
+ ));
577
1012
  }
578
1013
 
579
1014
  /// Generates custom tokens for the mat-sidenav.
@@ -593,27 +1028,17 @@
593
1028
  );
594
1029
  }
595
1030
 
596
- /// Generates custom tokens for the mat-slide-toggle.
597
- /// @param {Map} $systems The MDC system tokens
598
- /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
599
- /// @return {Map} A set of custom tokens for the mat-slide-toggle
600
- @function slide-toggle($systems, $exclude-hardcoded) {
601
- @return _generate-typography-tokens($systems, label-text, label-large);
602
- }
603
-
604
1031
  /// Generates custom tokens for the mat-slider.
605
1032
  /// @param {Map} $systems The MDC system tokens
606
1033
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
607
1034
  /// @return {Map} A set of custom tokens for the mat-slider
608
1035
  @function slider($systems, $exclude-hardcoded) {
609
- $ripple-color: map.get($systems, md-sys-color, primary);
610
- $hover-ripple-color: if($ripple-color == null, null, #{rgba($ripple-color, 0.05)});
611
- $focus-ripple-color: if($ripple-color == null, null, #{rgba($ripple-color, 0.2)});
612
-
613
- @return (
614
- ripple-color: $ripple-color,
615
- hover-state-layer-color: $hover-ripple-color,
616
- 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),
617
1042
  value-indicator-opacity: _hardcode(1, $exclude-hardcoded),
618
1043
  value-indicator-padding: _hardcode(0, $exclude-hardcoded),
619
1044
  value-indicator-width: _hardcode(28px, $exclude-hardcoded),
@@ -623,7 +1048,31 @@
623
1048
  value-indicator-text-transform: _hardcode(rotate(45deg), $exclude-hardcoded),
624
1049
  value-indicator-container-transform:
625
1050
  _hardcode(translateX(-50%) rotate(-45deg), $exclude-hardcoded)
626
- );
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
+ ));
627
1076
  }
628
1077
 
629
1078
  /// Generates custom tokens for the mat-snack-bar.
@@ -651,7 +1100,7 @@
651
1100
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
652
1101
  /// @return {Map} A set of custom tokens for the mat-stepper
653
1102
  @function stepper($systems, $exclude-hardcoded) {
654
- @return mat.private-merge-all(
1103
+ @return (
655
1104
  (
656
1105
  container-color: map.get($systems, md-sys-color, surface),
657
1106
  line-color: map.get($systems, md-sys-color, outline-variant),
@@ -665,9 +1114,11 @@
665
1114
  ),
666
1115
  header-label-text-color: map.get($systems, md-sys-color, on-surface-variant),
667
1116
  header-optional-label-text-color: map.get($systems, md-sys-color, on-surface-variant),
668
- header-selected-state-label-text-color: map.get($systems, md-sys-color, on-surface),
669
- header-icon-background-color: map.get($systems, md-sys-color, inverse-surface),
670
- 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),
671
1122
  header-error-state-label-text-color: map.get($systems, md-sys-color, error),
672
1123
  header-error-state-icon-foreground-color: map.get($systems, md-sys-color, error),
673
1124
  header-error-state-icon-background-color: _hardcode(transparent, $exclude-hardcoded),
@@ -676,10 +1127,40 @@
676
1127
  header-label-text-size: map.get($systems, md-sys-typescale, title-small-size),
677
1128
  header-label-text-weight: map.get($systems, md-sys-typescale, title-small-weight),
678
1129
  header-error-state-label-text-size: map.get($systems, md-sys-typescale, title-small-size),
679
- 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),
680
1133
  header-selected-state-label-text-weight: map.get(
681
1134
  $systems, md-sys-typescale, title-small-weight),
682
- ),
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
+ )
683
1164
  );
684
1165
  }
685
1166
 
@@ -688,7 +1169,7 @@
688
1169
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
689
1170
  /// @return {Map} A set of custom tokens for the mat-tab-header
690
1171
  @function tab-header($systems, $exclude-hardcoded) {
691
- @return mat.private-merge-all(
1172
+ @return (mat.private-merge-all(
692
1173
  _generate-typography-tokens($systems, label-text, title-small),
693
1174
  (
694
1175
  divider-color: map.get($systems, md-sys-color, surface-variant),
@@ -706,7 +1187,22 @@
706
1187
  active-focus-indicator-color: map.get($systems, md-sys-color, primary),
707
1188
  active-hover-indicator-color: map.get($systems, md-sys-color, primary),
708
1189
  ),
709
- );
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
+ ));
710
1206
  }
711
1207
 
712
1208
  /// Generates custom tokens for the mdc-tab-indicator. (MDC has a tab-indicator component, but they
@@ -716,11 +1212,23 @@
716
1212
  /// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
717
1213
  /// @return {Map} A set of custom tokens for the mdc-tab-indicator
718
1214
  @function tab-indicator($systems, $exclude-hardcoded) {
719
- @return (
1215
+ @return ((
720
1216
  active-indicator-height: _hardcode(2px, $exclude-hardcoded),
721
1217
  active-indicator-shape: _hardcode(0, $exclude-hardcoded),
722
1218
  active-indicator-color: map.get($systems, md-sys-color, primary),
723
- );
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
+ ));
724
1232
  }
725
1233
 
726
1234
  /// Generates custom tokens for the mat-table.
@@ -748,11 +1256,11 @@
748
1256
  /// @return {Map} A set of custom tokens for the mat-toolbar
749
1257
  @function toolbar($systems, $exclude-hardcoded) {
750
1258
  @return mat.private-merge-all(
751
- _generate-typography-tokens($systems, title-text, title-large),
752
- (
753
- container-background-color: map.get($systems, md-sys-color, surface),
754
- container-text-color: map.get($systems, md-sys-color, on-surface),
755
- )
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
+ )
756
1264
  );
757
1265
  }
758
1266
 
@@ -769,3 +1277,493 @@
769
1277
  node-text-weight: map.get($systems, md-sys-typescale, body-large-weight),
770
1278
  );
771
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
+