UNPKG

2 kBTypeScriptView Raw
1import * as React from 'react';
2import { TooltipPlacement } from '../tooltip';
3export interface SliderMarks {
4 [key: number]: React.ReactNode | {
5 style: React.CSSProperties;
6 label: React.ReactNode;
7 };
8}
9interface HandleGeneratorInfo {
10 value?: number;
11 dragging?: boolean;
12 index: number;
13}
14export declare type HandleGeneratorFn = (config: {
15 tooltipPrefixCls?: string;
16 prefixCls?: string;
17 info: HandleGeneratorInfo;
18}) => React.ReactElement;
19export interface SliderBaseProps {
20 prefixCls?: string;
21 tooltipPrefixCls?: string;
22 reverse?: boolean;
23 min?: number;
24 max?: number;
25 step?: null | number;
26 marks?: SliderMarks;
27 dots?: boolean;
28 included?: boolean;
29 disabled?: boolean;
30 vertical?: boolean;
31 tipFormatter?: null | ((value?: number) => React.ReactNode);
32 className?: string;
33 id?: string;
34 style?: React.CSSProperties;
35 tooltipVisible?: boolean;
36 tooltipPlacement?: TooltipPlacement;
37 getTooltipPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
38 autoFocus?: boolean;
39}
40export interface SliderSingleProps extends SliderBaseProps {
41 range?: false;
42 value?: number;
43 defaultValue?: number;
44 onChange?: (value: number) => void;
45 onAfterChange?: (value: number) => void;
46 handleStyle?: React.CSSProperties;
47 trackStyle?: React.CSSProperties;
48}
49export interface SliderRangeProps extends SliderBaseProps {
50 range: true | SliderRange;
51 value?: [number, number];
52 defaultValue?: [number, number];
53 onChange?: (value: [number, number]) => void;
54 onAfterChange?: (value: [number, number]) => void;
55 handleStyle?: React.CSSProperties[];
56 trackStyle?: React.CSSProperties[];
57}
58interface SliderRange {
59 draggableTrack?: boolean;
60}
61export declare type Visibles = {
62 [index: number]: boolean;
63};
64declare const Slider: React.ForwardRefExoticComponent<(SliderSingleProps | SliderRangeProps) & React.RefAttributes<unknown>>;
65export default Slider;