UNPKG

2.24 kBTypeScriptView Raw
1import * as React from 'react';
2import { OverridableComponent, OverrideProps } from '../OverridableComponent';
3
4export interface Mark {
5 value: number;
6 label?: React.ReactNode;
7}
8
9export interface ValueLabelProps extends React.HTMLAttributes<HTMLSpanElement> {
10 value: number;
11 open: boolean;
12 children: React.ReactElement;
13}
14
15export interface SliderTypeMap<P = {}, D extends React.ElementType = 'span'> {
16 props: P & {
17 'aria-label'?: string;
18 'aria-labelledby'?: string;
19 'aria-valuetext'?: string;
20 color?: 'primary' | 'secondary';
21 defaultValue?: number | number[];
22 disabled?: boolean;
23 getAriaLabel?: (index: number) => string;
24 getAriaValueText?: (value: number, index: number) => string;
25 marks?: boolean | Mark[];
26 max?: number;
27 min?: number;
28 name?: string;
29 onChange?: (event: React.ChangeEvent<{}>, value: number | number[]) => void;
30 onChangeCommitted?: (event: React.ChangeEvent<{}>, value: number | number[]) => void;
31 orientation?: 'horizontal' | 'vertical';
32 step?: number | null;
33 scale?: (value: number) => number;
34 ThumbComponent?: React.ElementType<React.HTMLAttributes<HTMLSpanElement>>;
35 track?: 'normal' | false | 'inverted';
36 value?: number | number[];
37 ValueLabelComponent?: React.ElementType<ValueLabelProps>;
38 valueLabelDisplay?: 'on' | 'auto' | 'off';
39 valueLabelFormat?: string | ((value: number, index: number) => React.ReactNode);
40 };
41 defaultComponent: D;
42 classKey: SliderClassKey;
43}
44/**
45 *
46 * Demos:
47 *
48 * - [Slider](https://material-ui.com/components/slider/)
49 *
50 * API:
51 *
52 * - [Slider API](https://material-ui.com/api/slider/)
53 */
54declare const Slider: OverridableComponent<SliderTypeMap>;
55
56export type SliderClassKey =
57 | 'root'
58 | 'colorPrimary'
59 | 'colorSecondary'
60 | 'marked'
61 | 'vertical'
62 | 'disabled'
63 | 'rail'
64 | 'track'
65 | 'trackFalse'
66 | 'trackInverted'
67 | 'thumb'
68 | 'thumbColorPrimary'
69 | 'thumbColorSecondary'
70 | 'active'
71 | 'focusVisible'
72 | 'valueLabel'
73 | 'mark'
74 | 'markActive'
75 | 'markLabel'
76 | 'markLabelActive';
77
78export type SliderProps<
79 D extends React.ElementType = SliderTypeMap['defaultComponent'],
80 P = {}
81> = OverrideProps<SliderTypeMap<P, D>, D>;
82
83export default Slider;
84
\No newline at end of file