UNPKG

decentraland-ui

Version:

Decentraland's UI components and styles

69 lines (68 loc) 2.27 kB
import * as React from 'react'; import './SliderField.css'; interface SliderBaseProps { header: string; className?: string; valueFrom?: number; valueTo?: number; min?: number; max?: number; labelFrom?: string | JSX.Element; labelTo?: string | JSX.Element; } interface RangeSliderProps extends SliderBaseProps { range: true; step?: number; defaultValue?: readonly [number, number]; label?: string | React.PureComponent<{ value: readonly [number, number]; }>; onChange?: (ev: React.ChangeEvent<HTMLInputElement>, data: readonly [number, number]) => void; onMouseUp?: (ev: React.MouseEvent<HTMLInputElement>, data: readonly [number, number]) => void; } interface SimpleSliderProps extends SliderBaseProps { range?: false; step?: undefined; defaultValue?: number; label?: string | React.PureComponent<{ value: number; }>; onChange?: (ev: React.ChangeEvent<HTMLInputElement>, data: number) => void; onMouseUp?: (ev: React.MouseEvent<HTMLInputElement>, data: number) => void; } export declare type SliderFieldProps = SimpleSliderProps | RangeSliderProps; export declare enum SliderLastInteraction { 'from' = 0, 'to' = 1 } export declare const SliderDefault: { MIN: number; MAX: number; FROM: number; TO: number; }; export declare type SliderFieldState = { from: number; to: number; lastInteraction: SliderLastInteraction; }; export declare type SliderFieldLeftRightStyle = { left: string | number; right: string; }; export declare class SliderField extends React.PureComponent<SliderFieldProps, SliderFieldState> { state: { from: number; to: number; lastInteraction: SliderLastInteraction; }; componentDidMount(): void; componentDidUpdate(prevProps: Readonly<SliderFieldProps>): void; handleChangeFrom: (e: React.ChangeEvent<HTMLInputElement>) => void; handleChangeTo: (e: React.ChangeEvent<HTMLInputElement>) => void; handleMouseUp: (e: React.MouseEvent<HTMLInputElement>) => void; getTrackStyles: (min: number, max: number) => SliderFieldLeftRightStyle; getMarkStyle: (min: number, max: number) => SliderFieldLeftRightStyle; render(): JSX.Element; } export {};