@@ -37,6 +37,7 @@ import {
37
37
import { HammerInput } from '../core' ;
38
38
import { FocusOrigin , FocusOriginMonitor } from '../core/style/focus-origin-monitor' ;
39
39
import { CanDisable , mixinDisabled } from '../core/common-behaviors/disabled' ;
40
+ import { CanColor , mixinColor } from '../core/common-behaviors/color' ;
40
41
41
42
42
43
/**
@@ -76,8 +77,10 @@ export class MdSliderChange {
76
77
77
78
// Boilerplate for applying mixins to MdSlider.
78
79
/** @docs -private */
79
- export class MdSliderBase { }
80
- export const _MdSliderMixinBase = mixinDisabled ( MdSliderBase ) ;
80
+ export class MdSliderBase {
81
+ constructor ( public _renderer : Renderer2 , public _elementRef : ElementRef ) { }
82
+ }
83
+ export const _MdSliderMixinBase = mixinColor ( mixinDisabled ( MdSliderBase ) , 'accent' ) ;
81
84
82
85
/**
83
86
* Allows users to select from a range of values by moving the slider thumb. It is similar in
@@ -105,9 +108,6 @@ export const _MdSliderMixinBase = mixinDisabled(MdSliderBase);
105
108
'[attr.aria-valuemin]' : 'min' ,
106
109
'[attr.aria-valuenow]' : 'value' ,
107
110
'[attr.aria-orientation]' : 'vertical ? "vertical" : "horizontal"' ,
108
- '[class.mat-primary]' : 'color == "primary"' ,
109
- '[class.mat-accent]' : 'color != "primary" && color != "warn"' ,
110
- '[class.mat-warn]' : 'color == "warn"' ,
111
111
'[class.mat-slider-disabled]' : 'disabled' ,
112
112
'[class.mat-slider-has-ticks]' : 'tickInterval' ,
113
113
'[class.mat-slider-horizontal]' : '!vertical' ,
@@ -120,12 +120,12 @@ export const _MdSliderMixinBase = mixinDisabled(MdSliderBase);
120
120
} ,
121
121
templateUrl : 'slider.html' ,
122
122
styleUrls : [ 'slider.css' ] ,
123
- inputs : [ 'disabled' ] ,
123
+ inputs : [ 'disabled' , 'color' ] ,
124
124
encapsulation : ViewEncapsulation . None ,
125
125
changeDetection : ChangeDetectionStrategy . OnPush ,
126
126
} )
127
127
export class MdSlider extends _MdSliderMixinBase
128
- implements ControlValueAccessor , OnDestroy , CanDisable {
128
+ implements ControlValueAccessor , OnDestroy , CanDisable , CanColor {
129
129
/** Whether the slider is inverted. */
130
130
@Input ( )
131
131
get invert ( ) { return this . _invert ; }
@@ -239,8 +239,6 @@ export class MdSlider extends _MdSliderMixinBase
239
239
}
240
240
private _vertical = false ;
241
241
242
- @Input ( ) color : 'primary' | 'accent' | 'warn' = 'accent' ;
243
-
244
242
/** Event emitted when the slider value has changed. */
245
243
@Output ( ) change = new EventEmitter < MdSliderChange > ( ) ;
246
244
@@ -406,11 +404,12 @@ export class MdSlider extends _MdSliderMixinBase
406
404
return ( this . _dir && this . _dir . value == 'rtl' ) ? 'rtl' : 'ltr' ;
407
405
}
408
406
409
- constructor ( renderer : Renderer2 , private _elementRef : ElementRef ,
407
+ constructor ( renderer : Renderer2 ,
408
+ elementRef : ElementRef ,
410
409
private _focusOriginMonitor : FocusOriginMonitor ,
411
410
private _changeDetectorRef : ChangeDetectorRef ,
412
411
@Optional ( ) private _dir : Directionality ) {
413
- super ( ) ;
412
+ super ( renderer , elementRef ) ;
414
413
this . _focusOriginMonitor
415
414
. monitor ( this . _elementRef . nativeElement , renderer , true )
416
415
. subscribe ( ( origin : FocusOrigin ) => this . _isActive = ! ! origin && origin !== 'keyboard' ) ;
0 commit comments