@salt-ds/core 1.42.0 → 1.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +120 -0
- package/css/salt-core.css +315 -30
- package/dist-cjs/border-layout/BorderLayout.js +1 -1
- package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
- package/dist-cjs/button/Button.js +2 -2
- package/dist-cjs/button/Button.js.map +1 -1
- package/dist-cjs/combo-box/ComboBox.js +22 -20
- package/dist-cjs/combo-box/ComboBox.js.map +1 -1
- package/dist-cjs/dialog/DialogContent.css.js +1 -1
- package/dist-cjs/dialog/DialogContent.js +24 -4
- package/dist-cjs/dialog/DialogContent.js.map +1 -1
- package/dist-cjs/dialog/DialogHeader.css.js +1 -1
- package/dist-cjs/dialog/DialogHeader.js +15 -16
- package/dist-cjs/dialog/DialogHeader.js.map +1 -1
- package/dist-cjs/dropdown/Dropdown.css.js +1 -1
- package/dist-cjs/dropdown/Dropdown.js +3 -3
- package/dist-cjs/dropdown/Dropdown.js.map +1 -1
- package/dist-cjs/index.js +6 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/option/Option.js +5 -12
- package/dist-cjs/option/Option.js.map +1 -1
- package/dist-cjs/overlay/OverlayHeader.css.js +6 -0
- package/dist-cjs/overlay/OverlayHeader.css.js.map +1 -0
- package/dist-cjs/overlay/OverlayHeader.js +40 -0
- package/dist-cjs/overlay/OverlayHeader.js.map +1 -0
- package/dist-cjs/overlay/OverlayPanelCloseButton.css.js +1 -1
- package/dist-cjs/overlay/OverlayPanelContent.css.js +1 -1
- package/dist-cjs/overlay/OverlayPanelContent.js +26 -26
- package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -1
- package/dist-cjs/pill-input/PillInput.css.js +1 -1
- package/dist-cjs/pill-input/PillInput.js +1 -0
- package/dist-cjs/pill-input/PillInput.js.map +1 -1
- package/dist-cjs/slider/RangeSlider.js +188 -0
- package/dist-cjs/slider/RangeSlider.js.map +1 -0
- package/dist-cjs/slider/Slider.js +151 -0
- package/dist-cjs/slider/Slider.js.map +1 -0
- package/dist-cjs/slider/internal/SliderThumb.css.js +6 -0
- package/dist-cjs/slider/internal/SliderThumb.css.js.map +1 -0
- package/dist-cjs/slider/internal/SliderThumb.js +141 -0
- package/dist-cjs/slider/internal/SliderThumb.js.map +1 -0
- package/dist-cjs/slider/internal/SliderTooltip.css.js +6 -0
- package/dist-cjs/slider/internal/SliderTooltip.css.js.map +1 -0
- package/dist-cjs/slider/internal/SliderTooltip.js +70 -0
- package/dist-cjs/slider/internal/SliderTooltip.js.map +1 -0
- package/dist-cjs/slider/internal/SliderTrack.css.js +6 -0
- package/dist-cjs/slider/internal/SliderTrack.css.js.map +1 -0
- package/dist-cjs/slider/internal/SliderTrack.js +179 -0
- package/dist-cjs/slider/internal/SliderTrack.js.map +1 -0
- package/dist-cjs/slider/internal/useRangeSliderThumb.js +234 -0
- package/dist-cjs/slider/internal/useRangeSliderThumb.js.map +1 -0
- package/dist-cjs/slider/internal/useSliderThumb.js +162 -0
- package/dist-cjs/slider/internal/useSliderThumb.js.map +1 -0
- package/dist-cjs/slider/internal/utils.js +127 -0
- package/dist-cjs/slider/internal/utils.js.map +1 -0
- package/dist-cjs/switch/Switch.js.map +1 -1
- package/dist-es/border-layout/BorderLayout.js +2 -2
- package/dist-es/border-layout/BorderLayout.js.map +1 -1
- package/dist-es/button/Button.js +2 -2
- package/dist-es/button/Button.js.map +1 -1
- package/dist-es/combo-box/ComboBox.js +23 -21
- package/dist-es/combo-box/ComboBox.js.map +1 -1
- package/dist-es/dialog/DialogContent.css.js +1 -1
- package/dist-es/dialog/DialogContent.js +24 -4
- package/dist-es/dialog/DialogContent.js.map +1 -1
- package/dist-es/dialog/DialogHeader.css.js +1 -1
- package/dist-es/dialog/DialogHeader.js +14 -15
- package/dist-es/dialog/DialogHeader.js.map +1 -1
- package/dist-es/dropdown/Dropdown.css.js +1 -1
- package/dist-es/dropdown/Dropdown.js +3 -3
- package/dist-es/dropdown/Dropdown.js.map +1 -1
- package/dist-es/index.js +3 -0
- package/dist-es/index.js.map +1 -1
- package/dist-es/option/Option.js +5 -12
- package/dist-es/option/Option.js.map +1 -1
- package/dist-es/overlay/OverlayHeader.css.js +4 -0
- package/dist-es/overlay/OverlayHeader.css.js.map +1 -0
- package/dist-es/overlay/OverlayHeader.js +38 -0
- package/dist-es/overlay/OverlayHeader.js.map +1 -0
- package/dist-es/overlay/OverlayPanelCloseButton.css.js +1 -1
- package/dist-es/overlay/OverlayPanelContent.css.js +1 -1
- package/dist-es/overlay/OverlayPanelContent.js +27 -27
- package/dist-es/overlay/OverlayPanelContent.js.map +1 -1
- package/dist-es/pill-input/PillInput.css.js +1 -1
- package/dist-es/pill-input/PillInput.js +1 -0
- package/dist-es/pill-input/PillInput.js.map +1 -1
- package/dist-es/slider/RangeSlider.js +186 -0
- package/dist-es/slider/RangeSlider.js.map +1 -0
- package/dist-es/slider/Slider.js +149 -0
- package/dist-es/slider/Slider.js.map +1 -0
- package/dist-es/slider/internal/SliderThumb.css.js +4 -0
- package/dist-es/slider/internal/SliderThumb.css.js.map +1 -0
- package/dist-es/slider/internal/SliderThumb.js +139 -0
- package/dist-es/slider/internal/SliderThumb.js.map +1 -0
- package/dist-es/slider/internal/SliderTooltip.css.js +4 -0
- package/dist-es/slider/internal/SliderTooltip.css.js.map +1 -0
- package/dist-es/slider/internal/SliderTooltip.js +68 -0
- package/dist-es/slider/internal/SliderTooltip.js.map +1 -0
- package/dist-es/slider/internal/SliderTrack.css.js +4 -0
- package/dist-es/slider/internal/SliderTrack.css.js.map +1 -0
- package/dist-es/slider/internal/SliderTrack.js +177 -0
- package/dist-es/slider/internal/SliderTrack.js.map +1 -0
- package/dist-es/slider/internal/useRangeSliderThumb.js +232 -0
- package/dist-es/slider/internal/useRangeSliderThumb.js.map +1 -0
- package/dist-es/slider/internal/useSliderThumb.js +160 -0
- package/dist-es/slider/internal/useSliderThumb.js.map +1 -0
- package/dist-es/slider/internal/utils.js +119 -0
- package/dist-es/slider/internal/utils.js.map +1 -0
- package/dist-es/switch/Switch.js.map +1 -1
- package/dist-types/border-layout/BorderLayout.d.ts +2 -3
- package/dist-types/dialog/DialogHeader.d.ts +9 -1
- package/dist-types/index.d.ts +1 -0
- package/dist-types/overlay/OverlayHeader.d.ts +20 -0
- package/dist-types/overlay/index.d.ts +1 -0
- package/dist-types/slider/RangeSlider.d.ts +99 -0
- package/dist-types/slider/Slider.d.ts +100 -0
- package/dist-types/slider/index.d.ts +2 -0
- package/dist-types/slider/internal/SliderThumb.d.ts +26 -0
- package/dist-types/slider/internal/SliderTooltip.d.ts +6 -0
- package/dist-types/slider/internal/SliderTrack.d.ts +24 -0
- package/dist-types/slider/internal/useRangeSliderThumb.d.ts +30 -0
- package/dist-types/slider/internal/useSliderThumb.d.ts +28 -0
- package/dist-types/slider/internal/utils.d.ts +20 -0
- package/dist-types/switch/Switch.d.ts +7 -7
- package/package.json +1 -1
package/dist-types/index.d.ts
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type ReactNode } from "react";
|
|
2
|
+
export interface OverlayHeaderProps extends ComponentPropsWithoutRef<"div"> {
|
|
3
|
+
/**
|
|
4
|
+
* Description text is displayed just below the header
|
|
5
|
+
**/
|
|
6
|
+
description?: ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Actions to be displayed in header
|
|
9
|
+
*/
|
|
10
|
+
actions?: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Header text
|
|
13
|
+
*/
|
|
14
|
+
header?: ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Preheader text is displayed just above the header
|
|
17
|
+
**/
|
|
18
|
+
preheader?: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export declare const OverlayHeader: import("react").ForwardRefExoticComponent<OverlayHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "react";
|
|
2
|
+
export interface RangeSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
3
|
+
/**
|
|
4
|
+
* Accessible text to announce maximum value label.
|
|
5
|
+
*/
|
|
6
|
+
accessibleMaxText?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Accessible text to announce minimum value label.
|
|
9
|
+
*/
|
|
10
|
+
accessibleMinText?: string;
|
|
11
|
+
/**
|
|
12
|
+
* When minimum and maximum labels are defined, ensure
|
|
13
|
+
* they are confined within the boundary of the slider.
|
|
14
|
+
*/
|
|
15
|
+
constrainLabelPosition?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The number of allowed decimal places
|
|
18
|
+
* @default 2
|
|
19
|
+
*/
|
|
20
|
+
decimalPlaces?: number;
|
|
21
|
+
/**
|
|
22
|
+
* The default value. Use when the component is not controlled.
|
|
23
|
+
* @default [min, min + (max - min) / 2]
|
|
24
|
+
*/
|
|
25
|
+
defaultValue?: [number, number];
|
|
26
|
+
/**
|
|
27
|
+
* Disable the slider.
|
|
28
|
+
*/
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Show visual ticks above the marks.
|
|
32
|
+
*/
|
|
33
|
+
showTicks?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* A callback to format the display value in the tooltip, min and max labels
|
|
36
|
+
* and the `aria-valuetext` attribute.
|
|
37
|
+
*/
|
|
38
|
+
format?: (value: number) => string | number;
|
|
39
|
+
/**
|
|
40
|
+
* Marks that are displayed under the track.
|
|
41
|
+
*/
|
|
42
|
+
marks?: {
|
|
43
|
+
label: string;
|
|
44
|
+
value: number;
|
|
45
|
+
}[];
|
|
46
|
+
/**
|
|
47
|
+
* Maximum slider value.
|
|
48
|
+
* @default 10
|
|
49
|
+
*/
|
|
50
|
+
max?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Minimum slider value.
|
|
53
|
+
* @default 0
|
|
54
|
+
*/
|
|
55
|
+
min?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Label for maximum value.
|
|
58
|
+
*/
|
|
59
|
+
maxLabel?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Label for minimum value.
|
|
62
|
+
*/
|
|
63
|
+
minLabel?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Callback called when slider value is changed.
|
|
66
|
+
* It provides a generic event and the current value of the slider.
|
|
67
|
+
*/
|
|
68
|
+
onChange?: (event: Event, value: [number, number]) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Callback called when the slider is stopped from being dragged or
|
|
71
|
+
* its value is changed from the keyboard. It provides a generic
|
|
72
|
+
* event and the current value of the slider.
|
|
73
|
+
*/
|
|
74
|
+
onChangeEnd?: (event: Event, value: [number, number]) => void;
|
|
75
|
+
/**
|
|
76
|
+
* Restrict slider value to marks only. The step will be ignored.
|
|
77
|
+
*/
|
|
78
|
+
restrictToMarks?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Show the slider value in a tooltip when the thumb is hovered.
|
|
81
|
+
* @default true
|
|
82
|
+
*/
|
|
83
|
+
showTooltip?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Minimum interval the slider thumb can move.
|
|
86
|
+
* @default 1
|
|
87
|
+
*/
|
|
88
|
+
step?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Maximum interval the slider thumb can move when using PageUp and PageDown keys.
|
|
91
|
+
* @default 2
|
|
92
|
+
*/
|
|
93
|
+
stepMultiplier?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Value of the slider, to be used when in a controlled state.
|
|
96
|
+
*/
|
|
97
|
+
value?: [number, number];
|
|
98
|
+
}
|
|
99
|
+
export declare const RangeSlider: import("react").ForwardRefExoticComponent<RangeSliderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "react";
|
|
2
|
+
export interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
3
|
+
/**
|
|
4
|
+
* Accessible text to announce maximum value label.
|
|
5
|
+
*/
|
|
6
|
+
accessibleMaxText?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Accessible text to announce minimum value label.
|
|
9
|
+
*/
|
|
10
|
+
accessibleMinText?: string;
|
|
11
|
+
/**
|
|
12
|
+
* When minimum and maximum labels are defined, ensure
|
|
13
|
+
* they are confined within the boundary of the slider.
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
constrainLabelPosition?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The number of allowed decimal places
|
|
19
|
+
* @default 2
|
|
20
|
+
*/
|
|
21
|
+
decimalPlaces?: number;
|
|
22
|
+
/**
|
|
23
|
+
* The default value. Use when the component is not controlled.
|
|
24
|
+
* @default min + (max - min) / 2,
|
|
25
|
+
*/
|
|
26
|
+
defaultValue?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Disable the slider.
|
|
29
|
+
*/
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* A callback to format the display value in the tooltip, min and max labels
|
|
33
|
+
* and the `aria-valuetext` attribute.
|
|
34
|
+
*/
|
|
35
|
+
format?: (value: number) => string | number;
|
|
36
|
+
/**
|
|
37
|
+
* Marks that are displayed under the track.
|
|
38
|
+
*/
|
|
39
|
+
marks?: {
|
|
40
|
+
label: string;
|
|
41
|
+
value: number;
|
|
42
|
+
}[];
|
|
43
|
+
/**
|
|
44
|
+
* Maximum slider value.
|
|
45
|
+
* @default 10
|
|
46
|
+
*/
|
|
47
|
+
max?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Minimum slider value.
|
|
50
|
+
* @default 0
|
|
51
|
+
*/
|
|
52
|
+
min?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Label for maximum value.
|
|
55
|
+
*/
|
|
56
|
+
maxLabel?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Label for the minimum value.
|
|
59
|
+
*/
|
|
60
|
+
minLabel?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Callback called when slider value is changed.
|
|
63
|
+
* It provides a generic event and the current value of the slider.
|
|
64
|
+
*/
|
|
65
|
+
onChange?: (event: Event, value: number) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Callback called when the slider is stopped from being dragged or
|
|
68
|
+
* its value is changed from the keyboard. It provides a generic
|
|
69
|
+
* event and the current value of the slider.
|
|
70
|
+
*/
|
|
71
|
+
onChangeEnd?: (event: Event, value: number) => void;
|
|
72
|
+
/**
|
|
73
|
+
* Restrict slider value to marks only. The step will be ignored.
|
|
74
|
+
*/
|
|
75
|
+
restrictToMarks?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Show visual ticks above the marks.
|
|
78
|
+
*/
|
|
79
|
+
showTicks?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Show the slider value in a tooltip when the thumb is hovered.
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
showTooltip?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Minimum interval the slider thumb can move.
|
|
87
|
+
* @default 1
|
|
88
|
+
*/
|
|
89
|
+
step?: number;
|
|
90
|
+
/**
|
|
91
|
+
* Maximum interval the slider thumb can move when using PageUp and PageDown keys.
|
|
92
|
+
* @default 2
|
|
93
|
+
*/
|
|
94
|
+
stepMultiplier?: number;
|
|
95
|
+
/**
|
|
96
|
+
* Value of the slider, to be used when in a controlled state.
|
|
97
|
+
*/
|
|
98
|
+
value?: number;
|
|
99
|
+
}
|
|
100
|
+
export declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ChangeEvent, type ComponentPropsWithoutRef, type RefObject } from "react";
|
|
2
|
+
interface SliderThumbProps extends Omit<ComponentPropsWithoutRef<"input">, "onChange" | "defaultValue" | "min" | "max"> {
|
|
3
|
+
accessibleMaxText?: string;
|
|
4
|
+
accessibleMinText?: string;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
format?: (value: number) => number | string;
|
|
7
|
+
handleInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
8
|
+
handleKeydownOnThumb: (event: React.KeyboardEvent) => void;
|
|
9
|
+
handlePointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
10
|
+
index?: number;
|
|
11
|
+
inputRef?: RefObject<HTMLInputElement>;
|
|
12
|
+
isFocusVisible: boolean;
|
|
13
|
+
max: number;
|
|
14
|
+
maxLabel?: string;
|
|
15
|
+
min: number;
|
|
16
|
+
minLabel?: string;
|
|
17
|
+
offsetPercentage?: string;
|
|
18
|
+
restrictToMarks?: boolean;
|
|
19
|
+
showTooltip?: boolean;
|
|
20
|
+
sliderValue: [number, number] | number;
|
|
21
|
+
step: number;
|
|
22
|
+
stepMultiplier: number;
|
|
23
|
+
trackDragging: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare const SliderThumb: ({ "aria-label": ariaLabel, "aria-valuetext": ariaValueText, "aria-labelledby": ariaLabelledBy, accessibleMaxText, accessibleMinText, disabled, format, handleInputChange, handleKeydownOnThumb, handlePointerDown, index, inputRef, isFocusVisible, max, maxLabel, min, minLabel, offsetPercentage, restrictToMarks, showTooltip, sliderValue, step, stepMultiplier, trackDragging, ...rest }: SliderThumbProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type HTMLAttributes, type RefObject } from "react";
|
|
2
|
+
interface SliderTrackProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
constrainLabelPosition?: boolean;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
showTicks?: boolean;
|
|
7
|
+
format?: (value: number) => string | number;
|
|
8
|
+
handlePointerDown: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
9
|
+
isDragging: boolean;
|
|
10
|
+
isRange?: boolean;
|
|
11
|
+
marks?: {
|
|
12
|
+
label: string;
|
|
13
|
+
value: number;
|
|
14
|
+
}[];
|
|
15
|
+
max: number;
|
|
16
|
+
maxLabel?: number | string;
|
|
17
|
+
min: number;
|
|
18
|
+
minLabel?: number | string;
|
|
19
|
+
progressPercentage?: number;
|
|
20
|
+
progressPercentageRange?: [number, number];
|
|
21
|
+
sliderRef: RefObject<HTMLDivElement>;
|
|
22
|
+
}
|
|
23
|
+
export declare const SliderTrack: import("react").ForwardRefExoticComponent<SliderTrackProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type ChangeEvent, type Dispatch, type RefObject, type SetStateAction } from "react";
|
|
2
|
+
import type { SliderProps } from "../Slider";
|
|
3
|
+
declare type UseRangeSliderThumbProps = Pick<SliderProps, "min" | "max" | "step"> & {
|
|
4
|
+
decimalPlaces: number;
|
|
5
|
+
handleInputChange: (event: ChangeEvent<HTMLInputElement>, thumbIndex: number) => void;
|
|
6
|
+
inputRefs: RefObject<HTMLInputElement>[];
|
|
7
|
+
marks?: {
|
|
8
|
+
label: string;
|
|
9
|
+
value: number;
|
|
10
|
+
}[];
|
|
11
|
+
onChange?: (event: Event, value: [number, number]) => void;
|
|
12
|
+
onChangeEnd?: (event: Event, value: [number, number]) => void;
|
|
13
|
+
restrictToMarks?: boolean;
|
|
14
|
+
setValue: Dispatch<SetStateAction<[number, number]>>;
|
|
15
|
+
stepMultiplier: number;
|
|
16
|
+
value: [number, number];
|
|
17
|
+
};
|
|
18
|
+
export declare const useRangeSliderThumb: ({ decimalPlaces, handleInputChange, inputRefs, marks, min, max, step, onChange, onChangeEnd, restrictToMarks, setValue, stepMultiplier, value, }: UseRangeSliderThumbProps) => {
|
|
19
|
+
handleBlur: (thumbIndex: number) => void;
|
|
20
|
+
handleFocus: (thumbIndex: number) => void;
|
|
21
|
+
handleKeydownOnThumb: (event: React.KeyboardEvent, thumbIndex: number) => void;
|
|
22
|
+
handlePointerDownOnThumb: (event: React.PointerEvent<HTMLDivElement>, thumbIndex: number) => void;
|
|
23
|
+
handlePointerDownOnTrack: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
24
|
+
isDragging: boolean;
|
|
25
|
+
isFocusVisible: boolean;
|
|
26
|
+
preventThumbOverlap: (currentValue: number, value: [number, number], thumbIndex: number) => [number, number];
|
|
27
|
+
sliderRef: RefObject<HTMLDivElement>;
|
|
28
|
+
thumbIndexState: number;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ChangeEvent, type Dispatch, type RefObject, type SetStateAction } from "react";
|
|
2
|
+
import type { SliderProps } from "../Slider";
|
|
3
|
+
declare type UseSliderThumbProps = Pick<SliderProps, "min" | "max" | "step"> & {
|
|
4
|
+
decimalPlaces: number;
|
|
5
|
+
handleInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
6
|
+
inputRef: RefObject<HTMLInputElement>;
|
|
7
|
+
marks?: {
|
|
8
|
+
label: string;
|
|
9
|
+
value: number;
|
|
10
|
+
}[];
|
|
11
|
+
onChange?: (event: Event, value: number) => void;
|
|
12
|
+
onChangeEnd?: (event: Event, value: number) => void;
|
|
13
|
+
restrictToMarks?: boolean;
|
|
14
|
+
setValue: Dispatch<SetStateAction<number>>;
|
|
15
|
+
stepMultiplier: number;
|
|
16
|
+
value: number;
|
|
17
|
+
};
|
|
18
|
+
export declare const useSliderThumb: ({ decimalPlaces, handleInputChange, inputRef, marks, min, max, step, onChange, onChangeEnd, restrictToMarks, setValue, stepMultiplier, value, }: UseSliderThumbProps) => {
|
|
19
|
+
handleBlur: () => void;
|
|
20
|
+
handleFocus: () => void;
|
|
21
|
+
handleKeydownOnThumb: (event: React.KeyboardEvent) => void;
|
|
22
|
+
handlePointerDownOnThumb: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
23
|
+
handlePointerDownOnTrack: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
24
|
+
isDragging: boolean;
|
|
25
|
+
isFocusVisible: boolean;
|
|
26
|
+
sliderRef: RefObject<HTMLDivElement>;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { RefObject } from "react";
|
|
2
|
+
export declare const toFloat: (value: number | string) => number;
|
|
3
|
+
export declare const calculateMarkPosition: (value: number | string, max: number, min: number) => number;
|
|
4
|
+
export declare const calculatePercentage: (value: number, max: number, min: number) => number;
|
|
5
|
+
export declare const clamp: (value: number, max: number, min: number, step: number, decimalPlaces: number, marks?: {
|
|
6
|
+
value: number;
|
|
7
|
+
label: string;
|
|
8
|
+
}[] | undefined, restrictToMarks?: boolean | undefined) => number;
|
|
9
|
+
export declare const clampRange: (range: [number, number], max: number, min: number, step: number, decimalPlaces: number, marks?: {
|
|
10
|
+
value: number;
|
|
11
|
+
label: string;
|
|
12
|
+
}[] | undefined, restrictToMarks?: boolean | undefined) => [number, number];
|
|
13
|
+
export declare const getClickedPosition: (sliderRef: RefObject<HTMLDivElement>, clientX: number, max: number, min: number, step: number, decimalPlaces: number, marks?: {
|
|
14
|
+
label: string;
|
|
15
|
+
value: number;
|
|
16
|
+
}[] | undefined, restrictToMarks?: boolean | undefined) => number | undefined;
|
|
17
|
+
export declare const getKeyboardValue: (event: React.KeyboardEvent, value: number, step: number, stepMultiplier: number, max: number, min: number, restrictToMarks?: boolean | undefined, marks?: {
|
|
18
|
+
label: string;
|
|
19
|
+
value: number;
|
|
20
|
+
}[] | undefined) => number;
|
|
@@ -2,16 +2,16 @@ import { type ChangeEventHandler, type ComponentPropsWithoutRef, type FocusEvent
|
|
|
2
2
|
import type { DataAttributes } from "../types";
|
|
3
3
|
export interface SwitchProps extends Omit<ComponentPropsWithoutRef<"label">, "children" | "onFocus" | "onBlur" | "onChange"> {
|
|
4
4
|
/**
|
|
5
|
-
* If `true`, the
|
|
5
|
+
* If `true`, the switch will be checked.
|
|
6
6
|
*/
|
|
7
7
|
checked?: boolean;
|
|
8
8
|
/**
|
|
9
|
-
* Whether the
|
|
9
|
+
* Whether the switch component is checked by default
|
|
10
10
|
* This will be disregarded if checked is already set.
|
|
11
11
|
*/
|
|
12
12
|
defaultChecked?: boolean;
|
|
13
13
|
/**
|
|
14
|
-
* If `true`, the
|
|
14
|
+
* If `true`, the switch will be disabled.
|
|
15
15
|
*/
|
|
16
16
|
disabled?: boolean;
|
|
17
17
|
/**
|
|
@@ -19,7 +19,7 @@ export interface SwitchProps extends Omit<ComponentPropsWithoutRef<"label">, "ch
|
|
|
19
19
|
*/
|
|
20
20
|
inputProps?: Partial<ComponentPropsWithoutRef<"input">> & DataAttributes;
|
|
21
21
|
/**
|
|
22
|
-
* The label to be shown next to the
|
|
22
|
+
* The label to be shown next to the switch.
|
|
23
23
|
*/
|
|
24
24
|
label?: ReactNode;
|
|
25
25
|
/**
|
|
@@ -27,7 +27,7 @@ export interface SwitchProps extends Omit<ComponentPropsWithoutRef<"label">, "ch
|
|
|
27
27
|
*/
|
|
28
28
|
name?: string;
|
|
29
29
|
/**
|
|
30
|
-
* Callback when
|
|
30
|
+
* Callback when switch loses focus.
|
|
31
31
|
*/
|
|
32
32
|
onBlur?: FocusEventHandler<HTMLInputElement>;
|
|
33
33
|
/**
|
|
@@ -35,11 +35,11 @@ export interface SwitchProps extends Omit<ComponentPropsWithoutRef<"label">, "ch
|
|
|
35
35
|
*/
|
|
36
36
|
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
37
37
|
/**
|
|
38
|
-
* Callback when
|
|
38
|
+
* Callback when switch gains focus.
|
|
39
39
|
*/
|
|
40
40
|
onFocus?: FocusEventHandler<HTMLInputElement>;
|
|
41
41
|
/**
|
|
42
|
-
* The value of the
|
|
42
|
+
* The value of the switch.
|
|
43
43
|
*/
|
|
44
44
|
value?: string;
|
|
45
45
|
}
|