import * as React from "react" ; import { polyfill } from "react-lifecycles-compat" ; import { AbstractPureComponent2 , Intent } from "../../common" ; import { DISPLAYNAME_PREFIX } from "../../common/props" ; import { ISliderBaseProps , MultiSlider } from "./multiSlider" ; export type SliderProps = ISliderProps ; deprecated export interface ISliderProps extends ISliderBaseProps { default initialValue ? : number ; default value ? : number ; /** Callback invoked when the value changes. */ onChange ? ( value ) : void ; /** Callback invoked when the handle is released. */ onRelease ? ( value ) : void ; } @ polyfill export class Slider extends AbstractPureComponent2 < SliderProps > { public static defaultProps : SliderProps = { ... MultiSlider . defaultSliderProps , initialValue : 0 , intent : Intent . PRIMARY , value : 0 , } ; public static displayName = `${ DISPLAYNAME_PREFIX }.Slider` ; public render ( ) { const { initialValue , intent , value , onChange , onRelease , ... props } = this . props ; return ( < MultiSlider { ... props } > < MultiSlider . Handle value = { value ! } intentAfter = { value ! < initialValue ! ? intent : undefined } intentBefore = { value ! >= initialValue ! ? intent : undefined } onChange = { onChange } onRelease = { onRelease } / > < MultiSlider . Handle value = { initialValue ! } interactionKind = "none" / > < /MultiSlider>); } }