@fluentui/react-slider 9.0.0-beta.5 → 9.0.0-beta.9
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.json +170 -9
- package/CHANGELOG.md +55 -10
- package/dist/react-slider.d.ts +31 -140
- package/lib/Slider.js.map +1 -1
- package/lib/components/Slider/Slider.js +6 -6
- package/lib/components/Slider/Slider.js.map +1 -1
- package/lib/components/Slider/Slider.types.d.ts +26 -55
- package/lib/components/Slider/Slider.types.js.map +1 -1
- package/lib/components/Slider/index.d.ts +2 -2
- package/lib/components/Slider/index.js +2 -2
- package/lib/components/Slider/index.js.map +1 -1
- package/lib/components/Slider/renderSlider.d.ts +1 -1
- package/lib/components/Slider/renderSlider.js +7 -4
- package/lib/components/Slider/renderSlider.js.map +1 -1
- package/lib/components/Slider/useSlider.d.ts +2 -6
- package/lib/components/Slider/useSlider.js +28 -57
- package/lib/components/Slider/useSlider.js.map +1 -1
- package/lib/components/Slider/useSliderState.d.ts +1 -2
- package/lib/components/Slider/useSliderState.js +37 -159
- package/lib/components/Slider/useSliderState.js.map +1 -1
- package/lib/components/Slider/useSliderStyles.d.ts +9 -35
- package/lib/components/Slider/useSliderStyles.js +142 -301
- package/lib/components/Slider/useSliderStyles.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/Slider.js.map +1 -1
- package/lib-commonjs/components/Slider/Slider.js +3 -3
- package/lib-commonjs/components/Slider/Slider.js.map +1 -1
- package/lib-commonjs/components/Slider/Slider.types.d.ts +26 -55
- package/lib-commonjs/components/Slider/Slider.types.js.map +1 -1
- package/lib-commonjs/components/Slider/index.d.ts +2 -2
- package/lib-commonjs/components/Slider/index.js +5 -5
- package/lib-commonjs/components/Slider/index.js.map +1 -1
- package/lib-commonjs/components/Slider/renderSlider.d.ts +1 -1
- package/lib-commonjs/components/Slider/renderSlider.js +9 -7
- package/lib-commonjs/components/Slider/renderSlider.js.map +1 -1
- package/lib-commonjs/components/Slider/useSlider.d.ts +2 -6
- package/lib-commonjs/components/Slider/useSlider.js +29 -58
- package/lib-commonjs/components/Slider/useSlider.js.map +1 -1
- package/lib-commonjs/components/Slider/useSliderState.d.ts +1 -2
- package/lib-commonjs/components/Slider/useSliderState.js +39 -163
- package/lib-commonjs/components/Slider/useSliderState.js.map +1 -1
- package/lib-commonjs/components/Slider/useSliderStyles.d.ts +9 -35
- package/lib-commonjs/components/Slider/useSliderStyles.js +149 -307
- package/lib-commonjs/components/Slider/useSliderStyles.js.map +1 -1
- package/lib-commonjs/index.d.ts +0 -1
- package/lib-commonjs/index.js +0 -2
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +13 -13
- package/lib/RangedSlider.d.ts +0 -1
- package/lib/RangedSlider.js +0 -2
- package/lib/RangedSlider.js.map +0 -1
- package/lib/common/isConformant.d.ts +0 -4
- package/lib/common/isConformant.js +0 -12
- package/lib/common/isConformant.js.map +0 -1
- package/lib/components/RangedSlider/RangedSlider.d.ts +0 -6
- package/lib/components/RangedSlider/RangedSlider.js +0 -15
- package/lib/components/RangedSlider/RangedSlider.js.map +0 -1
- package/lib/components/RangedSlider/RangedSlider.types.d.ts +0 -53
- package/lib/components/RangedSlider/RangedSlider.types.js +0 -2
- package/lib/components/RangedSlider/RangedSlider.types.js.map +0 -1
- package/lib/components/RangedSlider/index.d.ts +0 -6
- package/lib/components/RangedSlider/index.js +0 -7
- package/lib/components/RangedSlider/index.js.map +0 -1
- package/lib/components/RangedSlider/renderRangedSlider.d.ts +0 -5
- package/lib/components/RangedSlider/renderRangedSlider.js +0 -19
- package/lib/components/RangedSlider/renderRangedSlider.js.map +0 -1
- package/lib/components/RangedSlider/useRangedSlider.d.ts +0 -6
- package/lib/components/RangedSlider/useRangedSlider.js +0 -115
- package/lib/components/RangedSlider/useRangedSlider.js.map +0 -1
- package/lib/components/RangedSlider/useRangedSliderState.d.ts +0 -2
- package/lib/components/RangedSlider/useRangedSliderState.js +0 -258
- package/lib/components/RangedSlider/useRangedSliderState.js.map +0 -1
- package/lib/components/RangedSlider/useRangedSliderStyles.d.ts +0 -5
- package/lib/components/RangedSlider/useRangedSliderStyles.js +0 -93
- package/lib/components/RangedSlider/useRangedSliderStyles.js.map +0 -1
- package/lib/utils/calculateSteps.d.ts +0 -5
- package/lib/utils/calculateSteps.js +0 -27
- package/lib/utils/calculateSteps.js.map +0 -1
- package/lib/utils/findClosestThumb.d.ts +0 -4
- package/lib/utils/findClosestThumb.js +0 -7
- package/lib/utils/findClosestThumb.js.map +0 -1
- package/lib/utils/getKeydownValue.d.ts +0 -6
- package/lib/utils/getKeydownValue.js +0 -35
- package/lib/utils/getKeydownValue.js.map +0 -1
- package/lib/utils/getMarkPercent.d.ts +0 -12
- package/lib/utils/getMarkPercent.js +0 -27
- package/lib/utils/getMarkPercent.js.map +0 -1
- package/lib/utils/getMarkValues.d.ts +0 -13
- package/lib/utils/getMarkValues.js +0 -27
- package/lib/utils/getMarkValues.js.map +0 -1
- package/lib/utils/getPercent.d.ts +0 -8
- package/lib/utils/getPercent.js +0 -11
- package/lib/utils/getPercent.js.map +0 -1
- package/lib/utils/index.d.ts +0 -9
- package/lib/utils/index.js +0 -10
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/on.d.ts +0 -11
- package/lib/utils/on.js +0 -15
- package/lib/utils/on.js.map +0 -1
- package/lib/utils/renderMarks.d.ts +0 -11
- package/lib/utils/renderMarks.js +0 -24
- package/lib/utils/renderMarks.js.map +0 -1
- package/lib/utils/validateRangedThumbValues.d.ts +0 -4
- package/lib/utils/validateRangedThumbValues.js +0 -7
- package/lib/utils/validateRangedThumbValues.js.map +0 -1
- package/lib-commonjs/RangedSlider.d.ts +0 -1
- package/lib-commonjs/RangedSlider.js +0 -10
- package/lib-commonjs/RangedSlider.js.map +0 -1
- package/lib-commonjs/common/isConformant.d.ts +0 -4
- package/lib-commonjs/common/isConformant.js +0 -23
- package/lib-commonjs/common/isConformant.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/RangedSlider.d.ts +0 -6
- package/lib-commonjs/components/RangedSlider/RangedSlider.js +0 -26
- package/lib-commonjs/components/RangedSlider/RangedSlider.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/RangedSlider.types.d.ts +0 -53
- package/lib-commonjs/components/RangedSlider/RangedSlider.types.js +0 -6
- package/lib-commonjs/components/RangedSlider/RangedSlider.types.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/index.d.ts +0 -6
- package/lib-commonjs/components/RangedSlider/index.js +0 -34
- package/lib-commonjs/components/RangedSlider/index.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/renderRangedSlider.d.ts +0 -5
- package/lib-commonjs/components/RangedSlider/renderRangedSlider.js +0 -30
- package/lib-commonjs/components/RangedSlider/renderRangedSlider.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/useRangedSlider.d.ts +0 -6
- package/lib-commonjs/components/RangedSlider/useRangedSlider.js +0 -126
- package/lib-commonjs/components/RangedSlider/useRangedSlider.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/useRangedSliderState.d.ts +0 -2
- package/lib-commonjs/components/RangedSlider/useRangedSliderState.js +0 -272
- package/lib-commonjs/components/RangedSlider/useRangedSliderState.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.d.ts +0 -5
- package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.js +0 -105
- package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.js.map +0 -1
- package/lib-commonjs/utils/calculateSteps.d.ts +0 -5
- package/lib-commonjs/utils/calculateSteps.js +0 -37
- package/lib-commonjs/utils/calculateSteps.js.map +0 -1
- package/lib-commonjs/utils/findClosestThumb.d.ts +0 -4
- package/lib-commonjs/utils/findClosestThumb.js +0 -16
- package/lib-commonjs/utils/findClosestThumb.js.map +0 -1
- package/lib-commonjs/utils/getKeydownValue.d.ts +0 -6
- package/lib-commonjs/utils/getKeydownValue.js +0 -45
- package/lib-commonjs/utils/getKeydownValue.js.map +0 -1
- package/lib-commonjs/utils/getMarkPercent.d.ts +0 -12
- package/lib-commonjs/utils/getMarkPercent.js +0 -36
- package/lib-commonjs/utils/getMarkPercent.js.map +0 -1
- package/lib-commonjs/utils/getMarkValues.d.ts +0 -13
- package/lib-commonjs/utils/getMarkValues.js +0 -37
- package/lib-commonjs/utils/getMarkValues.js.map +0 -1
- package/lib-commonjs/utils/getPercent.d.ts +0 -8
- package/lib-commonjs/utils/getPercent.js +0 -20
- package/lib-commonjs/utils/getPercent.js.map +0 -1
- package/lib-commonjs/utils/index.d.ts +0 -9
- package/lib-commonjs/utils/index.js +0 -26
- package/lib-commonjs/utils/index.js.map +0 -1
- package/lib-commonjs/utils/on.d.ts +0 -11
- package/lib-commonjs/utils/on.js +0 -24
- package/lib-commonjs/utils/on.js.map +0 -1
- package/lib-commonjs/utils/renderMarks.d.ts +0 -11
- package/lib-commonjs/utils/renderMarks.js +0 -36
- package/lib-commonjs/utils/renderMarks.js.map +0 -1
- package/lib-commonjs/utils/validateRangedThumbValues.d.ts +0 -4
- package/lib-commonjs/utils/validateRangedThumbValues.js +0 -17
- package/lib-commonjs/utils/validateRangedThumbValues.js.map +0 -1
|
@@ -3,197 +3,73 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.useSliderState_unstable = void 0;
|
|
7
7
|
|
|
8
8
|
const React = /*#__PURE__*/require("react");
|
|
9
9
|
|
|
10
|
-
const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
|
|
11
|
-
|
|
12
10
|
const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
|
|
13
11
|
|
|
14
|
-
const
|
|
12
|
+
const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
|
|
15
13
|
|
|
14
|
+
const useSliderStyles_1 = /*#__PURE__*/require("./useSliderStyles");
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
const getPercent = (value, min, max) => {
|
|
17
|
+
return max === min ? 0 : (value - min) / (max - min) * 100;
|
|
18
|
+
};
|
|
18
19
|
|
|
19
|
-
const
|
|
20
|
+
const useSliderState_unstable = state => {
|
|
20
21
|
const {
|
|
21
22
|
value,
|
|
22
23
|
defaultValue = 0,
|
|
23
24
|
min = 0,
|
|
24
25
|
max = 100,
|
|
25
26
|
step = 1,
|
|
26
|
-
|
|
27
|
-
disabled = false,
|
|
28
|
-
ariaValueText,
|
|
29
|
-
onChange,
|
|
30
|
-
marks,
|
|
31
|
-
vertical = false,
|
|
27
|
+
getAriaValueText,
|
|
32
28
|
origin
|
|
33
29
|
} = state;
|
|
34
|
-
const {
|
|
35
|
-
onPointerDown: onPointerDownCallback,
|
|
36
|
-
onKeyDown: onKeyDownCallback
|
|
37
|
-
} = state.root;
|
|
38
30
|
const {
|
|
39
31
|
dir
|
|
40
32
|
} = react_shared_contexts_1.useFluent();
|
|
41
|
-
const [stepAnimation, {
|
|
42
|
-
setTrue: showStepAnimation,
|
|
43
|
-
setFalse: hideStepAnimation
|
|
44
|
-
}] = react_utilities_1.useBoolean(false);
|
|
45
|
-
const [renderedPosition, setRenderedPosition] = React.useState(value ? value : defaultValue);
|
|
46
33
|
const [currentValue, setCurrentValue] = react_utilities_1.useControllableState({
|
|
47
|
-
state: value
|
|
34
|
+
state: value !== undefined ? react_utilities_1.clamp(value, min, max) : undefined,
|
|
48
35
|
defaultState: react_utilities_1.clamp(defaultValue, min, max),
|
|
49
36
|
initialState: 0
|
|
50
37
|
});
|
|
51
|
-
const
|
|
52
|
-
const inputRef = React.useRef(null);
|
|
53
|
-
const disposables = React.useRef([]);
|
|
54
|
-
/**
|
|
55
|
-
* Updates the controlled `currentValue` to the new `incomingValue` and clamps it.
|
|
56
|
-
*/
|
|
57
|
-
|
|
58
|
-
const updateValue = react_utilities_1.useEventCallback((incomingValue, ev) => {
|
|
59
|
-
const clampedValue = react_utilities_1.clamp(incomingValue, min, max);
|
|
60
|
-
|
|
61
|
-
if (clampedValue !== min && clampedValue !== max) {
|
|
62
|
-
ev.stopPropagation();
|
|
63
|
-
|
|
64
|
-
if (ev.type === 'keydown') {
|
|
65
|
-
ev.preventDefault();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(ev, {
|
|
70
|
-
value: clampedValue
|
|
71
|
-
});
|
|
72
|
-
setCurrentValue(clampedValue);
|
|
73
|
-
});
|
|
74
|
-
/**
|
|
75
|
-
* Updates the controlled `currentValue` and `renderedPosition` of the Slider.
|
|
76
|
-
*/
|
|
77
|
-
|
|
78
|
-
const updatePosition = React.useCallback((incomingValue, ev) => {
|
|
79
|
-
setRenderedPosition(react_utilities_1.clamp(incomingValue, min, max));
|
|
80
|
-
updateValue(incomingValue, ev);
|
|
81
|
-
}, [max, min, updateValue]);
|
|
82
|
-
|
|
83
|
-
const onInputChange = ev => {
|
|
84
|
-
updatePosition(Number(ev.target.value), ev);
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
const onPointerMove = React.useCallback(ev => {
|
|
88
|
-
const position = index_1.calculateSteps(ev, railRef, min, max, step, vertical, dir);
|
|
89
|
-
const currentStepPosition = Math.round(position / step) * step;
|
|
90
|
-
setRenderedPosition(position);
|
|
91
|
-
updateValue(currentStepPosition, ev);
|
|
92
|
-
}, [dir, max, min, step, updateValue, vertical]);
|
|
93
|
-
const onPointerUp = React.useCallback(ev => {
|
|
94
|
-
disposables.current.forEach(dispose => dispose());
|
|
95
|
-
disposables.current = [];
|
|
96
|
-
showStepAnimation(); // When undefined, the position fallbacks to the currentValue state.
|
|
97
|
-
|
|
98
|
-
setRenderedPosition(undefined);
|
|
99
|
-
inputRef.current.focus();
|
|
100
|
-
}, [showStepAnimation]);
|
|
101
|
-
const onPointerDown = React.useCallback(ev => {
|
|
102
|
-
var _a;
|
|
103
|
-
|
|
104
|
-
const {
|
|
105
|
-
pointerId
|
|
106
|
-
} = ev;
|
|
107
|
-
const target = ev.target;
|
|
108
|
-
(_a = target.setPointerCapture) === null || _a === void 0 ? void 0 : _a.call(target, pointerId);
|
|
109
|
-
hideStepAnimation();
|
|
110
|
-
onPointerDownCallback === null || onPointerDownCallback === void 0 ? void 0 : onPointerDownCallback(ev); // eslint-disable-next-line deprecation/deprecation -- Should be remove an replaced with a useEvent hook.
|
|
111
|
-
|
|
112
|
-
disposables.current.push(index_1.on(target, 'pointermove', onPointerMove), index_1.on(target, 'pointerup', onPointerUp), () => {
|
|
113
|
-
var _a;
|
|
114
|
-
|
|
115
|
-
(_a = target.releasePointerCapture) === null || _a === void 0 ? void 0 : _a.call(target, pointerId);
|
|
116
|
-
});
|
|
117
|
-
onPointerMove(ev);
|
|
118
|
-
}, [hideStepAnimation, onPointerDownCallback, onPointerMove, onPointerUp]);
|
|
119
|
-
const onKeyDown = React.useCallback(ev => {
|
|
120
|
-
hideStepAnimation();
|
|
121
|
-
onKeyDownCallback === null || onKeyDownCallback === void 0 ? void 0 : onKeyDownCallback(ev);
|
|
122
|
-
const incomingValue = index_1.getKeydownValue(ev, currentValue, min, max, dir, keyboardStep);
|
|
123
|
-
|
|
124
|
-
if (currentValue !== incomingValue) {
|
|
125
|
-
updatePosition(incomingValue, ev);
|
|
126
|
-
}
|
|
127
|
-
}, [currentValue, dir, hideStepAnimation, keyboardStep, max, min, onKeyDownCallback, updatePosition]);
|
|
128
|
-
|
|
129
|
-
const getTrackBorderRadius = () => {
|
|
130
|
-
if (origin !== undefined && origin !== (max || min)) {
|
|
131
|
-
if (vertical) {
|
|
132
|
-
return originPercent > valuePercent ? '99px 99px 0px 0px' : '0px 0px 99px 99px';
|
|
133
|
-
} else {
|
|
134
|
-
return (dir === 'rtl' ? valuePercent > originPercent : valuePercent < originPercent) ? '99px 0px 0px 99px' : '0px 99px 99px 0px';
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return '99px';
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
react_utilities_1.useUnmount(() => {
|
|
142
|
-
disposables.current.forEach(dispose => dispose());
|
|
143
|
-
disposables.current = [];
|
|
144
|
-
});
|
|
145
|
-
const valuePercent = index_1.getPercent(renderedPosition !== undefined ? renderedPosition : currentValue, min, max);
|
|
38
|
+
const valuePercent = getPercent(currentValue, min, max);
|
|
146
39
|
const originPercent = React.useMemo(() => {
|
|
147
|
-
return origin !== undefined ?
|
|
40
|
+
return origin !== undefined ? getPercent(origin, min, max) : 0;
|
|
148
41
|
}, [max, min, origin]);
|
|
149
|
-
const
|
|
150
|
-
const
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
[
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
state.track.style = trackStyles; // Mark props
|
|
176
|
-
|
|
177
|
-
if (marks) {
|
|
178
|
-
state.marksWrapper.children = index_1.renderMarks(markValues, marks);
|
|
179
|
-
state.marksWrapper.style = marksWrapperStyles;
|
|
180
|
-
} // Thumb Wrapper Props
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
state.thumbWrapper.style = thumbWrapperStyles; // Active Rail Props
|
|
184
|
-
|
|
185
|
-
state.activeRail.ref = railRef; // Input Props
|
|
42
|
+
const inputOnChange = state.input.onChange;
|
|
43
|
+
const propsOnChange = state.onChange;
|
|
44
|
+
const onChange = react_utilities_1.useEventCallback(ev => {
|
|
45
|
+
const newValue = Number(ev.target.value);
|
|
46
|
+
setCurrentValue(react_utilities_1.clamp(newValue, min, max));
|
|
47
|
+
|
|
48
|
+
if (inputOnChange && inputOnChange !== propsOnChange) {
|
|
49
|
+
inputOnChange(ev);
|
|
50
|
+
} else if (propsOnChange) {
|
|
51
|
+
propsOnChange(ev, {
|
|
52
|
+
value: newValue
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const rootVariables = {
|
|
57
|
+
[useSliderStyles_1.railDirectionVar]: state.vertical ? '0deg' : dir === 'ltr' ? '90deg' : '270deg',
|
|
58
|
+
[useSliderStyles_1.thumbPositionVar]: valuePercent + '%',
|
|
59
|
+
[useSliderStyles_1.railStepsPercentVar]: state.step && state.step > 0 ? `${step * 100 / (max - min)}%` : '',
|
|
60
|
+
[useSliderStyles_1.railOffsetVar]: origin !== undefined ? `${Math.min(valuePercent, originPercent)}%` : '0%',
|
|
61
|
+
[useSliderStyles_1.railProgressVar]: origin !== undefined ? `${Math.max(originPercent - valuePercent, valuePercent - originPercent)}%` : `${valuePercent}%`
|
|
62
|
+
}; // Root props
|
|
63
|
+
|
|
64
|
+
state.root.style = { ...rootVariables,
|
|
65
|
+
...state.root.style
|
|
66
|
+
}; // Input Props
|
|
186
67
|
|
|
187
|
-
state.input.ref = react_utilities_1.useMergedRefs(state.input.ref, inputRef);
|
|
188
68
|
state.input.value = currentValue;
|
|
189
|
-
state.input
|
|
190
|
-
state.input.
|
|
191
|
-
ariaValueText && (state.input['aria-valuetext'] = ariaValueText(currentValue));
|
|
192
|
-
state.input.disabled = disabled;
|
|
193
|
-
state.input.step = step;
|
|
194
|
-
state.input.onChange = onInputChange;
|
|
69
|
+
getAriaValueText && (state.input['aria-valuetext'] = getAriaValueText(currentValue));
|
|
70
|
+
state.input.onChange = onChange;
|
|
195
71
|
return state;
|
|
196
72
|
};
|
|
197
73
|
|
|
198
|
-
exports.
|
|
74
|
+
exports.useSliderState_unstable = useSliderState_unstable;
|
|
199
75
|
//# sourceMappingURL=useSliderState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["components/Slider/useSliderState.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { clamp, useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport { useFluent } from '@fluentui/react-shared-contexts';\nimport {\n railOffsetVar,\n railStepsPercentVar,\n railProgressVar,\n thumbPositionVar,\n railDirectionVar,\n} from './useSliderStyles';\nimport type { SliderState } from './Slider.types';\n\nconst getPercent = (value: number, min: number, max: number) => {\n return max === min ? 0 : ((value - min) / (max - min)) * 100;\n};\n\nexport const useSliderState_unstable = (state: SliderState) => {\n const { value, defaultValue = 0, min = 0, max = 100, step = 1, getAriaValueText, origin } = state;\n const { dir } = useFluent();\n const [currentValue, setCurrentValue] = useControllableState({\n state: value !== undefined ? clamp(value, min, max) : undefined,\n defaultState: clamp(defaultValue, min, max),\n initialState: 0,\n });\n\n const valuePercent = getPercent(currentValue, min, max);\n const originPercent = React.useMemo(() => {\n return origin !== undefined ? getPercent(origin, min, max) : 0;\n }, [max, min, origin]);\n\n const inputOnChange = state.input.onChange;\n const propsOnChange = state.onChange;\n\n const onChange: React.ChangeEventHandler<HTMLInputElement> = useEventCallback(ev => {\n const newValue = Number(ev.target.value);\n setCurrentValue(clamp(newValue, min, max));\n\n if (inputOnChange && inputOnChange !== propsOnChange) {\n inputOnChange(ev);\n } else if (propsOnChange) {\n propsOnChange(ev, { value: newValue });\n }\n });\n\n const rootVariables = {\n [railDirectionVar]: state.vertical ? '0deg' : dir === 'ltr' ? '90deg' : '270deg',\n [thumbPositionVar]: valuePercent + '%',\n [railStepsPercentVar]: state.step && state.step > 0 ? `${(step * 100) / (max - min)}%` : '',\n [railOffsetVar]: origin !== undefined ? `${Math.min(valuePercent, originPercent)}%` : '0%',\n [railProgressVar]:\n origin !== undefined\n ? `${Math.max(originPercent - valuePercent, valuePercent - originPercent)}%`\n : `${valuePercent}%`,\n };\n\n // Root props\n state.root.style = {\n ...rootVariables,\n ...state.root.style,\n };\n\n // Input Props\n state.input.value = currentValue;\n getAriaValueText && (state.input['aria-valuetext'] = getAriaValueText(currentValue!));\n state.input.onChange = onChange;\n\n return state;\n};\n"],"sourceRoot":"../src/"}
|
|
@@ -1,49 +1,23 @@
|
|
|
1
1
|
import type { SliderState } from './Slider.types';
|
|
2
2
|
export declare const sliderClassName = "fui-Slider";
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const markClassName: string;
|
|
9
|
-
export declare const markLabelClassName: string;
|
|
3
|
+
export declare const railDirectionVar = "--fui-slider-rail-direction";
|
|
4
|
+
export declare const railOffsetVar = "--fui-slider-rail-offset";
|
|
5
|
+
export declare const railProgressVar = "--fui-slider-rail-progress";
|
|
6
|
+
export declare const railStepsPercentVar = "--fui-slider-rail-steps-percent";
|
|
7
|
+
export declare const thumbPositionVar = "--fui-slider-thumb-position";
|
|
10
8
|
/**
|
|
11
9
|
* Styles for the root slot
|
|
12
10
|
*/
|
|
13
|
-
export declare const useRootStyles: () => Record<"small" | "disabled" | "
|
|
14
|
-
/**
|
|
15
|
-
* Styles for the slider wrapper slot
|
|
16
|
-
*/
|
|
17
|
-
export declare const useSliderWrapper: () => Record<"sliderWrapper" | "horizontal" | "vertical", string>;
|
|
11
|
+
export declare const useRootStyles: () => Record<"small" | "disabled" | "horizontal" | "vertical" | "medium" | "root" | "enabled" | "focusIndicatorHorizontal" | "focusIndicatorVertical", string>;
|
|
18
12
|
/**
|
|
19
13
|
* Styles for the rail slot
|
|
20
14
|
*/
|
|
21
|
-
export declare const useRailStyles: () => Record<"
|
|
22
|
-
/**
|
|
23
|
-
* Styles for the trackWrapper slot
|
|
24
|
-
*/
|
|
25
|
-
export declare const useTrackWrapperStyles: () => Record<"trackWrapper" | "horizontal" | "vertical", string>;
|
|
26
|
-
/**
|
|
27
|
-
* Styles for the track slot
|
|
28
|
-
*/
|
|
29
|
-
export declare const useTrackStyles: () => Record<"track" | "disabled" | "horizontal" | "vertical" | "enabled", string>;
|
|
30
|
-
/**
|
|
31
|
-
* Styles for the mark slot
|
|
32
|
-
*/
|
|
33
|
-
export declare const useMarksWrapperStyles: () => Record<"disabled" | "marksWrapper" | "horizontal" | "vertical", string>;
|
|
34
|
-
/**
|
|
35
|
-
* Styles for the thumb slot
|
|
36
|
-
*/
|
|
37
|
-
export declare const useThumbWrapperStyles: () => Record<"thumbWrapper" | "horizontal" | "vertical", string>;
|
|
15
|
+
export declare const useRailStyles: () => Record<"horizontal" | "vertical" | "rail", string>;
|
|
38
16
|
/**
|
|
39
17
|
* Styles for the thumb slot
|
|
40
18
|
*/
|
|
41
|
-
export declare const useThumbStyles: () => Record<"disabled" | "
|
|
42
|
-
/**
|
|
43
|
-
* Styles for the activeRail slot
|
|
44
|
-
*/
|
|
45
|
-
export declare const useActiveRailStyles: () => Record<"activeRail" | "horizontal" | "vertical", string>;
|
|
19
|
+
export declare const useThumbStyles: () => Record<"disabled" | "horizontal" | "vertical" | "thumb", string>;
|
|
46
20
|
/**
|
|
47
21
|
* Apply styling to the Slider slots based on the state
|
|
48
22
|
*/
|
|
49
|
-
export declare const
|
|
23
|
+
export declare const useSliderStyles_unstable: (state: SliderState) => SliderState;
|