@fluentui/react-slider 9.0.0-beta.3 → 9.0.0-beta.8
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 +269 -1
- package/CHANGELOG.md +70 -2
- package/dist/react-slider.d.ts +33 -142
- package/lib/Slider.js.map +1 -1
- package/lib/components/Slider/Slider.js +7 -7
- 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 +10 -8
- package/lib/components/Slider/renderSlider.js.map +1 -1
- package/lib/components/Slider/useSlider.d.ts +2 -6
- package/lib/components/Slider/useSlider.js +50 -80
- package/lib/components/Slider/useSlider.js.map +1 -1
- package/lib/components/Slider/useSliderState.d.ts +1 -2
- package/lib/components/Slider/useSliderState.js +49 -184
- package/lib/components/Slider/useSliderState.js.map +1 -1
- package/lib/components/Slider/useSliderStyles.d.ts +10 -30
- package/lib/components/Slider/useSliderStyles.js +151 -305
- 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 +1 -1
- package/lib-commonjs/Slider.js.map +1 -1
- package/lib-commonjs/components/Slider/Slider.js +8 -8
- 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 +12 -6
- 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 +14 -14
- 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 +53 -84
- 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 +53 -191
- package/lib-commonjs/components/Slider/useSliderState.js.map +1 -1
- package/lib-commonjs/components/Slider/useSliderStyles.d.ts +10 -30
- package/lib-commonjs/components/Slider/useSliderStyles.js +154 -308
- package/lib-commonjs/components/Slider/useSliderStyles.js.map +1 -1
- package/lib-commonjs/index.d.ts +0 -1
- package/lib-commonjs/index.js +1 -3
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +12 -14
- 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 -20
- 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 -116
- 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 -271
- package/lib/components/RangedSlider/useRangedSliderState.js.map +0 -1
- package/lib/components/RangedSlider/useRangedSliderStyles.d.ts +0 -4
- package/lib/components/RangedSlider/useRangedSliderStyles.js +0 -92
- 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 -29
- 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 -17
- package/lib/utils/on.js.map +0 -1
- package/lib/utils/renderMarks.d.ts +0 -13
- package/lib/utils/renderMarks.js +0 -31
- package/lib/utils/renderMarks.js.map +0 -1
- package/lib/utils/validateRangedThumbValues.d.ts +0 -4
- package/lib/utils/validateRangedThumbValues.js +0 -13
- 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 -20
- 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 -32
- 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 -128
- 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 -286
- package/lib-commonjs/components/RangedSlider/useRangedSliderState.js.map +0 -1
- package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.d.ts +0 -4
- package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.js +0 -104
- 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 -39
- 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 -26
- package/lib-commonjs/utils/on.js.map +0 -1
- package/lib-commonjs/utils/renderMarks.d.ts +0 -13
- package/lib-commonjs/utils/renderMarks.js +0 -42
- 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 -23
- package/lib-commonjs/utils/validateRangedThumbValues.js.map +0 -1
|
@@ -3,211 +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
|
-
|
|
10
|
+
const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
const useSliderStyles_1 = /*#__PURE__*/require("./useSliderStyles");
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
exports.animationTime = '0.1s';
|
|
20
|
-
|
|
21
|
-
var useSliderState = function (state) {
|
|
22
|
-
var _a, _b;
|
|
23
|
-
|
|
24
|
-
var value = state.value,
|
|
25
|
-
_c = state.defaultValue,
|
|
26
|
-
defaultValue = _c === void 0 ? 0 : _c,
|
|
27
|
-
_d = state.min,
|
|
28
|
-
min = _d === void 0 ? 0 : _d,
|
|
29
|
-
_e = state.max,
|
|
30
|
-
max = _e === void 0 ? 100 : _e,
|
|
31
|
-
_f = state.step,
|
|
32
|
-
step = _f === void 0 ? 1 : _f,
|
|
33
|
-
_g = state.keyboardStep,
|
|
34
|
-
keyboardStep = _g === void 0 ? state.step || 1 : _g,
|
|
35
|
-
_h = state.disabled,
|
|
36
|
-
disabled = _h === void 0 ? false : _h,
|
|
37
|
-
ariaValueText = state.ariaValueText,
|
|
38
|
-
onChange = state.onChange,
|
|
39
|
-
marks = state.marks,
|
|
40
|
-
_j = state.vertical,
|
|
41
|
-
vertical = _j === void 0 ? false : _j,
|
|
42
|
-
origin = state.origin;
|
|
43
|
-
var _k = state.root,
|
|
44
|
-
onPointerDownCallback = _k.onPointerDown,
|
|
45
|
-
onKeyDownCallback = _k.onKeyDown;
|
|
46
|
-
var dir = react_shared_contexts_1.useFluent().dir;
|
|
47
|
-
|
|
48
|
-
var _l = react_utilities_1.useBoolean(false),
|
|
49
|
-
stepAnimation = _l[0],
|
|
50
|
-
_m = _l[1],
|
|
51
|
-
showStepAnimation = _m.setTrue,
|
|
52
|
-
hideStepAnimation = _m.setFalse;
|
|
53
|
-
|
|
54
|
-
var _o = React.useState(value ? value : defaultValue),
|
|
55
|
-
renderedPosition = _o[0],
|
|
56
|
-
setRenderedPosition = _o[1];
|
|
16
|
+
const getPercent = (value, min, max) => {
|
|
17
|
+
return max === min ? 0 : (value - min) / (max - min) * 100;
|
|
18
|
+
};
|
|
57
19
|
|
|
58
|
-
|
|
59
|
-
|
|
20
|
+
const useSliderState_unstable = state => {
|
|
21
|
+
const {
|
|
22
|
+
value,
|
|
23
|
+
defaultValue = 0,
|
|
24
|
+
min = 0,
|
|
25
|
+
max = 100,
|
|
26
|
+
step = 1,
|
|
27
|
+
getAriaValueText,
|
|
28
|
+
origin
|
|
29
|
+
} = state;
|
|
30
|
+
const {
|
|
31
|
+
dir
|
|
32
|
+
} = react_shared_contexts_1.useFluent();
|
|
33
|
+
const [currentValue, setCurrentValue] = react_utilities_1.useControllableState({
|
|
34
|
+
state: value !== undefined ? react_utilities_1.clamp(value, min, max) : undefined,
|
|
60
35
|
defaultState: react_utilities_1.clamp(defaultValue, min, max),
|
|
61
36
|
initialState: 0
|
|
62
|
-
}),
|
|
63
|
-
currentValue = _p[0],
|
|
64
|
-
setCurrentValue = _p[1];
|
|
65
|
-
|
|
66
|
-
var railRef = React.useRef(null);
|
|
67
|
-
var inputRef = React.useRef(null);
|
|
68
|
-
var disposables = React.useRef([]);
|
|
69
|
-
/**
|
|
70
|
-
* Updates the controlled `currentValue` to the new `incomingValue` and clamps it.
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
var updateValue = react_utilities_1.useEventCallback(function (incomingValue, ev) {
|
|
74
|
-
var clampedValue = react_utilities_1.clamp(incomingValue, min, max);
|
|
75
|
-
|
|
76
|
-
if (clampedValue !== min && clampedValue !== max) {
|
|
77
|
-
ev.stopPropagation();
|
|
78
|
-
|
|
79
|
-
if (ev.type === 'keydown') {
|
|
80
|
-
ev.preventDefault();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(ev, {
|
|
85
|
-
value: clampedValue
|
|
86
|
-
});
|
|
87
|
-
setCurrentValue(clampedValue);
|
|
88
37
|
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
setRenderedPosition(position);
|
|
106
|
-
updateValue(currentStepPosition, ev);
|
|
107
|
-
}, [dir, max, min, step, updateValue, vertical]);
|
|
108
|
-
var onPointerUp = React.useCallback(function (ev) {
|
|
109
|
-
disposables.current.forEach(function (dispose) {
|
|
110
|
-
return dispose();
|
|
111
|
-
});
|
|
112
|
-
disposables.current = [];
|
|
113
|
-
showStepAnimation(); // When undefined, the position fallbacks to the currentValue state.
|
|
114
|
-
|
|
115
|
-
setRenderedPosition(undefined);
|
|
116
|
-
inputRef.current.focus();
|
|
117
|
-
}, [showStepAnimation]);
|
|
118
|
-
var onPointerDown = React.useCallback(function (ev) {
|
|
119
|
-
var _a;
|
|
120
|
-
|
|
121
|
-
var pointerId = ev.pointerId;
|
|
122
|
-
var target = ev.target;
|
|
123
|
-
(_a = target.setPointerCapture) === null || _a === void 0 ? void 0 : _a.call(target, pointerId);
|
|
124
|
-
hideStepAnimation();
|
|
125
|
-
onPointerDownCallback === null || onPointerDownCallback === void 0 ? void 0 : onPointerDownCallback(ev); // eslint-disable-next-line deprecation/deprecation -- Should be remove an replaced with a useEvent hook.
|
|
126
|
-
|
|
127
|
-
disposables.current.push(index_1.on(target, 'pointermove', onPointerMove), index_1.on(target, 'pointerup', onPointerUp), function () {
|
|
128
|
-
var _a;
|
|
129
|
-
|
|
130
|
-
(_a = target.releasePointerCapture) === null || _a === void 0 ? void 0 : _a.call(target, pointerId);
|
|
131
|
-
});
|
|
132
|
-
onPointerMove(ev);
|
|
133
|
-
}, [hideStepAnimation, onPointerDownCallback, onPointerMove, onPointerUp]);
|
|
134
|
-
var onKeyDown = React.useCallback(function (ev) {
|
|
135
|
-
hideStepAnimation();
|
|
136
|
-
onKeyDownCallback === null || onKeyDownCallback === void 0 ? void 0 : onKeyDownCallback(ev);
|
|
137
|
-
var incomingValue = index_1.getKeydownValue(ev, currentValue, min, max, dir, keyboardStep);
|
|
138
|
-
|
|
139
|
-
if (currentValue !== incomingValue) {
|
|
140
|
-
updatePosition(incomingValue, ev);
|
|
141
|
-
}
|
|
142
|
-
}, [currentValue, dir, hideStepAnimation, keyboardStep, max, min, onKeyDownCallback, updatePosition]);
|
|
143
|
-
|
|
144
|
-
var getTrackBorderRadius = function () {
|
|
145
|
-
if (origin !== undefined && origin !== (max || min)) {
|
|
146
|
-
if (vertical) {
|
|
147
|
-
return originPercent > valuePercent ? '99px 99px 0px 0px' : '0px 0px 99px 99px';
|
|
148
|
-
} else {
|
|
149
|
-
return (dir === 'rtl' ? valuePercent > originPercent : valuePercent < originPercent) ? '99px 0px 0px 99px' : '0px 99px 99px 0px';
|
|
150
|
-
}
|
|
38
|
+
const valuePercent = getPercent(currentValue, min, max);
|
|
39
|
+
const originPercent = React.useMemo(() => {
|
|
40
|
+
return origin !== undefined ? getPercent(origin, min, max) : 0;
|
|
41
|
+
}, [max, min, origin]);
|
|
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
|
+
});
|
|
151
54
|
}
|
|
152
|
-
|
|
153
|
-
return '99px';
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
react_utilities_1.useUnmount(function () {
|
|
157
|
-
disposables.current.forEach(function (dispose) {
|
|
158
|
-
return dispose();
|
|
159
|
-
});
|
|
160
|
-
disposables.current = [];
|
|
161
55
|
});
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var thumbWrapperStyles = tslib_1.__assign({
|
|
174
|
-
transform: vertical ? "translateY(" + valuePercent + "%)" : "translateX(" + (dir === 'rtl' ? -valuePercent : valuePercent) + "%)",
|
|
175
|
-
transition: stepAnimation ? "transform ease-in-out " + exports.animationTime : 'none'
|
|
176
|
-
}, state.thumbWrapper.style);
|
|
177
|
-
|
|
178
|
-
var trackStyles = tslib_1.__assign((_a = {}, _a[vertical ? 'top' : dir === 'rtl' ? 'right' : 'left'] = origin !== undefined ? Math.min(valuePercent, originPercent) + "%" : 0, _a[vertical ? 'height' : 'width'] = origin !== undefined ? Math.max(originPercent - valuePercent, valuePercent - originPercent) + "%" : valuePercent + "%", _a.borderRadius = getTrackBorderRadius(), // When a transition is applied with the origin, a visible animation plays when it goes below the min.
|
|
179
|
-
_a.transition = stepAnimation ? (vertical ? 'height' : 'width') + " ease-in-out " + exports.animationTime + (origin !== undefined ? ', ' + vertical ? 'top' : dir === 'rtl' ? 'right' : 'left' + 'ease-in-out ' + exports.animationTime : '') : 'none', _a), state.track.style);
|
|
180
|
-
|
|
181
|
-
var marksWrapperStyles = marks ? tslib_1.__assign((_b = {}, _b[vertical ? 'gridTemplateRows' : 'gridTemplateColumns'] = markPercent.join(''), _b), state.marksWrapper.style) : {}; // Root props
|
|
182
|
-
|
|
183
|
-
if (!disabled) {
|
|
184
|
-
state.root.onPointerDown = onPointerDown;
|
|
185
|
-
state.root.onKeyDown = onKeyDown;
|
|
186
|
-
} // Track Props
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
state.track.style = trackStyles; // Mark props
|
|
190
|
-
|
|
191
|
-
if (marks) {
|
|
192
|
-
state.marksWrapper.children = index_1.renderMarks(markValues, marks);
|
|
193
|
-
state.marksWrapper.style = marksWrapperStyles;
|
|
194
|
-
} // Thumb Wrapper Props
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
state.thumbWrapper.style = thumbWrapperStyles; // Active Rail Props
|
|
198
|
-
|
|
199
|
-
state.activeRail.ref = railRef; // Input Props
|
|
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
|
|
200
67
|
|
|
201
|
-
state.input.ref = react_utilities_1.useMergedRefs(state.input.ref, inputRef);
|
|
202
68
|
state.input.value = currentValue;
|
|
203
|
-
state.input
|
|
204
|
-
state.input.
|
|
205
|
-
ariaValueText && (state.input['aria-valuetext'] = ariaValueText(currentValue));
|
|
206
|
-
state.input.disabled = disabled;
|
|
207
|
-
state.input.step = step;
|
|
208
|
-
state.input.onChange = onInputChange;
|
|
69
|
+
getAriaValueText && (state.input['aria-valuetext'] = getAriaValueText(currentValue));
|
|
70
|
+
state.input.onChange = onChange;
|
|
209
71
|
return state;
|
|
210
72
|
};
|
|
211
73
|
|
|
212
|
-
exports.
|
|
74
|
+
exports.useSliderState_unstable = useSliderState_unstable;
|
|
213
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,43 +1,23 @@
|
|
|
1
1
|
import type { SliderState } from './Slider.types';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
2
|
+
export declare const sliderClassName = "fui-Slider";
|
|
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";
|
|
4
8
|
/**
|
|
5
9
|
* Styles for the root slot
|
|
6
10
|
*/
|
|
7
|
-
export declare const useRootStyles: () => Record<"small" | "disabled" | "
|
|
8
|
-
/**
|
|
9
|
-
* Styles for the slider wrapper slot
|
|
10
|
-
*/
|
|
11
|
-
export declare const useSliderWrapper: () => Record<"sliderWrapper" | "vertical" | "horizontal", string>;
|
|
11
|
+
export declare const useRootStyles: () => Record<"small" | "disabled" | "horizontal" | "vertical" | "medium" | "root" | "enabled" | "focusIndicatorHorizontal" | "focusIndicatorVertical", string>;
|
|
12
12
|
/**
|
|
13
13
|
* Styles for the rail slot
|
|
14
14
|
*/
|
|
15
|
-
export declare const useRailStyles: () => Record<"
|
|
16
|
-
/**
|
|
17
|
-
* Styles for the trackWrapper slot
|
|
18
|
-
*/
|
|
19
|
-
export declare const useTrackWrapperStyles: () => Record<"trackWrapper" | "vertical" | "horizontal", string>;
|
|
20
|
-
/**
|
|
21
|
-
* Styles for the track slot
|
|
22
|
-
*/
|
|
23
|
-
export declare const useTrackStyles: () => Record<"track" | "disabled" | "vertical" | "horizontal" | "enabled", string>;
|
|
24
|
-
/**
|
|
25
|
-
* Styles for the mark slot
|
|
26
|
-
*/
|
|
27
|
-
export declare const useMarksWrapperStyles: () => Record<"disabled" | "marksWrapper" | "vertical" | "horizontal", string>;
|
|
28
|
-
/**
|
|
29
|
-
* Styles for the thumb slot
|
|
30
|
-
*/
|
|
31
|
-
export declare const useThumbWrapperStyles: () => Record<"thumbWrapper" | "vertical" | "horizontal", string>;
|
|
15
|
+
export declare const useRailStyles: () => Record<"horizontal" | "vertical" | "rail", string>;
|
|
32
16
|
/**
|
|
33
17
|
* Styles for the thumb slot
|
|
34
18
|
*/
|
|
35
|
-
export declare const useThumbStyles: () => Record<"disabled" | "
|
|
36
|
-
/**
|
|
37
|
-
* Styles for the activeRail slot
|
|
38
|
-
*/
|
|
39
|
-
export declare const useActiveRailStyles: () => Record<"activeRail" | "vertical" | "horizontal", string>;
|
|
19
|
+
export declare const useThumbStyles: () => Record<"disabled" | "horizontal" | "vertical" | "thumb", string>;
|
|
40
20
|
/**
|
|
41
21
|
* Apply styling to the Slider slots based on the state
|
|
42
22
|
*/
|
|
43
|
-
export declare const
|
|
23
|
+
export declare const useSliderStyles_unstable: (state: SliderState) => SliderState;
|