UNPKG

@surveycake/rc

Version:

react component of surveycake

46 lines (45 loc) 1.46 kB
import React, { ReactNode, CSSProperties, HTMLAttributes } from 'react'; export declare type SlideEvent = MouseEvent | TouchEvent; export declare type ReactMouseEvent = React.MouseEvent; export declare type ReactTouchEvent = React.TouchEvent; export declare type ReactSlideEvent = ReactMouseEvent | ReactTouchEvent; export declare type Mark = ReactNode | { style?: CSSProperties; label: ReactNode; }; export interface Marks { [point: number]: Mark; } export interface InputSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onDragEnd'> { className?: string; /** * If `true`, the slider will be vertical. */ vertical?: boolean; size?: number; value: number; min?: number; max?: number; step?: number; /** * If `true`, it will render the slider with dots. */ dots?: boolean; marks?: Marks; /** * Will be triggered when `onTouchStart` or `onMouseDown` is triggered. */ onBeforeChange?: (value: number) => void; /** * Will be triggerd when `onMouseMove` or `onTouchMove` is trigged. */ onChange?: (value: number) => void; /** * Will be triggered when `onTouchEnd` or `onMouseUp` is triggered. */ onAfterChange?: (value: number) => void; /** * Only trigged when value changed by clicked on rail or marks. */ onClickChange?: (value: number) => void; }