UNPKG

chowa

Version:

UI component library based on React

83 lines (82 loc) 2.52 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import * as PropTypes from 'prop-types'; export declare type DragBtn = 'begin' | 'end'; export interface SliderProps { className?: string; style?: React.CSSProperties; tabIndex?: number; range?: boolean; mode?: 'horizontal' | 'vertical'; defaultValue?: number | number[]; value?: number | number[]; marks?: { [step: number]: string | { label: string; style: React.CSSProperties; }; }; min?: number; max?: number; onChange?: (value: number | number[]) => void; step?: number; disabled?: boolean; formatter?: (num: number) => React.ReactNode; } export interface SliderState { begin?: number; end?: number; isDraging: boolean; dragBtn: DragBtn; distance: number; } declare class Slider extends React.PureComponent<SliderProps, SliderState> { static propTypes: { className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; tabIndex: PropTypes.Requireable<number>; range: PropTypes.Requireable<boolean>; mode: PropTypes.Requireable<string>; defaultValue: PropTypes.Requireable<number | any[]>; value: PropTypes.Requireable<number | any[]>; marks: PropTypes.Requireable<object>; min: PropTypes.Requireable<number>; max: PropTypes.Requireable<number>; onChange: PropTypes.Requireable<(...args: any[]) => any>; step: PropTypes.Requireable<number>; disabled: PropTypes.Requireable<boolean>; formatter: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { tabIndex: number; range: boolean; mode: string; min: number; max: number; step: number; disabled: boolean; }; private railEle; constructor(props: SliderProps); componentDidUpdate(preProps: SliderProps): void; private compileRenderParams; private onMarkStepClick; private onDragStart; private onDraging; private onDragEnd; private onRailClickHandler; private onKeyDownHandler; private normalize; private getValues; private triggerChange; private renderMarks; render(): JSX.Element; } export default Slider;