|
1 |
| -// TODO: disabled until we implement the new MDC slider. |
2 |
| -// @import '@material/slider/mixins.import'; |
| 1 | +@use '@material/slider/slider' as mdc-slider; |
| 2 | +@use '@material/slider/slider-theme'; |
3 | 3 | @use '../mdc-helpers/mdc-helpers';
|
| 4 | +@use '../../material/core/ripple/ripple'; |
4 | 5 | @use '../../material/core/theming/theming';
|
5 | 6 |
|
6 | 7 | @mixin color($config-or-theme) {
|
7 | 8 | $config: theming.get-color-config($config-or-theme);
|
8 | 9 | @include mdc-helpers.mat-using-mdc-theme($config) {
|
9 |
| - // TODO: disabled until we implement the new MDC slider. |
10 |
| - // @include mdc-slider-core-styles($query: $mat-theme-styles-query); |
| 10 | + @include mdc-slider.without-ripple($query: mdc-helpers.$mat-theme-styles-query); |
11 | 11 |
|
12 | 12 | .mat-mdc-slider {
|
| 13 | + &.mat-primary, &.mat-accent, &.mat-warn { |
| 14 | + $is-dark: map-get($config, is-dark); |
| 15 | + $indicator-color: if($is-dark, white, black); |
| 16 | + $indicator-text-color: if($is-dark, black, white); |
| 17 | + $indicator-opacity: if($is-dark, 0.9, 0.6); |
| 18 | + |
| 19 | + @include slider-theme.value-indicator-color( |
| 20 | + $color: $indicator-color, |
| 21 | + $opacity: $indicator-opacity, |
| 22 | + $query: mdc-helpers.$mat-theme-styles-query |
| 23 | + ); |
| 24 | + @include slider-theme.value-indicator-text-color( |
| 25 | + $color: $indicator-text-color, |
| 26 | + $query: mdc-helpers.$mat-theme-styles-query |
| 27 | + ); |
| 28 | + } |
| 29 | + |
13 | 30 | &.mat-primary {
|
14 |
| - // TODO: disabled until we implement the new MDC slider. |
15 |
| - // @include mdc-slider-color-accessible(primary, $mat-theme-styles-query); |
| 31 | + @include _custom-slider-color(primary, on-primary); |
| 32 | + } |
| 33 | + |
| 34 | + &.mat-accent { |
| 35 | + @include _custom-slider-color(secondary, on-secondary); |
16 | 36 | }
|
17 | 37 |
|
18 | 38 | &.mat-warn {
|
19 |
| - // TODO: disabled until we implement the new MDC slider. |
20 |
| - // @include mdc-slider-color-accessible(error, $mat-theme-styles-query); |
| 39 | + @include _custom-slider-color(error, on-error); |
21 | 40 | }
|
22 | 41 | }
|
23 | 42 | }
|
|
26 | 45 | @mixin typography($config-or-theme) {
|
27 | 46 | $config: theming.get-typography-config($config-or-theme);
|
28 | 47 | @include mdc-helpers.mat-using-mdc-typography($config) {
|
29 |
| - // TODO: disabled until we implement the new MDC slider. |
30 |
| - // @include mdc-slider-core-styles($query: $mat-typography-styles-query); |
| 48 | + @include mdc-slider.without-ripple($query: mdc-helpers.$mat-typography-styles-query); |
31 | 49 | }
|
32 | 50 | }
|
33 | 51 |
|
|
52 | 70 | }
|
53 | 71 | }
|
54 | 72 |
|
| 73 | +@mixin _custom-slider-color($color, $on-color) { |
| 74 | + @include slider-theme.thumb-color( |
| 75 | + $color-or-map: ( |
| 76 | + default: $color, |
| 77 | + disabled: on-surface, |
| 78 | + ), |
| 79 | + $query: mdc-helpers.$mat-theme-styles-query |
| 80 | + ); |
| 81 | + @include slider-theme.track-active-color( |
| 82 | + $color-or-map: ( |
| 83 | + default: $color, |
| 84 | + disabled: on-surface, |
| 85 | + ), |
| 86 | + $query: mdc-helpers.$mat-theme-styles-query |
| 87 | + ); |
| 88 | + @include slider-theme.track-inactive-color( |
| 89 | + $color-or-map: ( |
| 90 | + default: $color, |
| 91 | + disabled: on-surface, |
| 92 | + ), |
| 93 | + $query: mdc-helpers.$mat-theme-styles-query |
| 94 | + ); |
| 95 | + @include slider-theme.tick-mark-active-color( |
| 96 | + $color-or-map: ( |
| 97 | + default: $on-color, |
| 98 | + disabled: surface, |
| 99 | + ), |
| 100 | + $query: mdc-helpers.$mat-theme-styles-query |
| 101 | + ); |
| 102 | + @include slider-theme.tick-mark-inactive-color( |
| 103 | + $color-or-map: ( |
| 104 | + default: $color, |
| 105 | + disabled: on-surface, |
| 106 | + ), |
| 107 | + $query: mdc-helpers.$mat-theme-styles-query |
| 108 | + ); |
| 109 | + @include ripple.color(( |
| 110 | + foreground: ( |
| 111 | + base: mdc-theme-prop-value($color) |
| 112 | + ), |
| 113 | + )); |
| 114 | +} |
0 commit comments