Skip to content

Commit b6e6cb1

Browse files
authored
feat(material-experimental/mdc-slider): implement slider thumb ripples (#21979)
* feat(material-experimental/mdc-slider): implement slider thumb ripples * create MatSliderVisualThumb * create slider-thumb.html & slider-thumb.scss
1 parent e5cbc8c commit b6e6cb1

File tree

8 files changed

+247
-45
lines changed

8 files changed

+247
-45
lines changed

src/material-experimental/mdc-slider/BUILD.bazel

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ ng_module(
1717
["**/*.ts"],
1818
exclude = ["**/*.spec.ts"],
1919
),
20-
assets = [":slider_scss"] + glob(["**/*.html"]),
20+
assets = [
21+
":slider_scss",
22+
":slider_thumb_scss",
23+
] + glob(["**/*.html"]),
2124
module_name = "@angular/material-experimental/mdc-slider",
2225
deps = [
2326
"//src/cdk/bidi",
@@ -50,6 +53,11 @@ sass_binary(
5053
],
5154
)
5255

56+
sass_binary(
57+
name = "slider_thumb_scss",
58+
src = "slider-thumb.scss",
59+
)
60+
5361
###########
5462
# Testing
5563
###########

src/material-experimental/mdc-slider/_slider-theme.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,10 @@
110110
base: mdc-theme-prop-value($color)
111111
),
112112
));
113+
.mat-mdc-slider-hover-ripple {
114+
background-color: rgba(mdc-theme-prop-value($color), 0.05);
115+
}
116+
.mat-mdc-slider-focus-ripple, .mat-mdc-slider-active-ripple {
117+
background-color: rgba(mdc-theme-prop-value($color), 0.2);
118+
}
113119
}

src/material-experimental/mdc-slider/module.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@
88

99
import {CommonModule} from '@angular/common';
1010
import {NgModule} from '@angular/core';
11-
import {MatCommonModule} from '@angular/material-experimental/mdc-core';
12-
import {MatSlider, MatSliderThumb} from './slider';
11+
import {MatCommonModule, MatRippleModule} from '@angular/material-experimental/mdc-core';
12+
import {MatSlider, MatSliderThumb, MatSliderVisualThumb} from './slider';
1313

1414
@NgModule({
15-
imports: [MatCommonModule, CommonModule],
15+
imports: [MatCommonModule, CommonModule, MatRippleModule],
1616
exports: [MatSlider, MatSliderThumb],
1717
declarations: [
1818
MatSlider,
1919
MatSliderThumb,
20+
MatSliderVisualThumb,
2021
],
2122
})
2223
export class MatSliderModule {
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<div class="mdc-slider__value-indicator-container" *ngIf="discrete">
2+
<div class="mdc-slider__value-indicator">
3+
<span class="mdc-slider__value-indicator-text">{{valueIndicatorText}}</span>
4+
</div>
5+
</div>
6+
<div class="mdc-slider__thumb-knob" #knob></div>
7+
<div matRipple></div>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.mat-mdc-slider-visual-thumb .mat-ripple {
2+
height: 100%;
3+
width: 100%;
4+
}

src/material-experimental/mdc-slider/slider.html

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@
1313
</div>
1414

1515
<!-- Thumbs -->
16-
<div class="mdc-slider__thumb" *ngFor="let thumb of _getThumbTypes()" #thumb>
17-
<div class="mdc-slider__value-indicator-container" *ngIf="discrete">
18-
<div class="mdc-slider__value-indicator">
19-
<span class="mdc-slider__value-indicator-text">{{_getValueIndicatorText(thumb)}}</span>
20-
</div>
21-
</div>
22-
<div class="mdc-slider__thumb-knob" #knob></div>
23-
</div>
16+
<mat-slider-visual-thumb
17+
*ngFor="let thumb of _inputs"
18+
[discrete]="discrete"
19+
[thumbPosition]="thumb._thumbPosition"
20+
[valueIndicatorText]="_getValueIndicatorText(thumb._thumbPosition)">
21+
</mat-slider-visual-thumb>

src/material-experimental/mdc-slider/slider.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
@include mdc-slider.without-ripple($query: $mat-base-styles-query);
55

6-
.mdc-slider {
6+
.mat-mdc-slider {
77
display: block;
88
}

0 commit comments

Comments
 (0)