1 | import * as React from 'react';
|
2 | import { OverridableComponent, OverrideProps } from '../OverridableComponent';
|
3 |
|
4 | export interface Mark {
|
5 | value: number;
|
6 | label?: React.ReactNode;
|
7 | }
|
8 |
|
9 | export interface ValueLabelProps extends React.HTMLAttributes<HTMLSpanElement> {
|
10 | value: number;
|
11 | open: boolean;
|
12 | children: React.ReactElement;
|
13 | }
|
14 |
|
15 | export 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:
|
49 | *
|
50 | * API:
|
51 | *
|
52 | * - [Slider API](https:
|
53 | */
|
54 | declare const Slider: OverridableComponent<SliderTypeMap>;
|
55 |
|
56 | export 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 |
|
78 | export type SliderProps<
|
79 | D extends React.ElementType = SliderTypeMap['defaultComponent'],
|
80 | P = {}
|
81 | > = OverrideProps<SliderTypeMap<P, D>, D>;
|
82 |
|
83 | export default Slider;
|
84 |
|
\ | No newline at end of file |