@fluentui/react-slider 1.0.0-beta.99 → 9.0.0-alpha.12

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.
Files changed (216) hide show
  1. package/CHANGELOG.json +1394 -1
  2. package/CHANGELOG.md +525 -2
  3. package/MIGRATION.md +58 -0
  4. package/README.md +30 -4
  5. package/dist/react-slider.d.ts +160 -419
  6. package/lib/RangedSlider.d.ts +1 -0
  7. package/lib/RangedSlider.js +2 -0
  8. package/lib/RangedSlider.js.map +1 -0
  9. package/lib/Slider.js.map +1 -1
  10. package/lib/common/isConformant.d.ts +1 -1
  11. package/lib/common/isConformant.js +8 -5
  12. package/lib/common/isConformant.js.map +1 -1
  13. package/lib/components/RangedSlider/RangedSlider.d.ts +6 -0
  14. package/lib/components/RangedSlider/RangedSlider.js +15 -0
  15. package/lib/components/RangedSlider/RangedSlider.js.map +1 -0
  16. package/lib/components/RangedSlider/RangedSlider.types.d.ts +53 -0
  17. package/lib/components/RangedSlider/RangedSlider.types.js +2 -0
  18. package/lib/components/RangedSlider/RangedSlider.types.js.map +1 -0
  19. package/lib/components/RangedSlider/index.d.ts +6 -0
  20. package/lib/components/RangedSlider/index.js +7 -0
  21. package/lib/components/RangedSlider/index.js.map +1 -0
  22. package/lib/components/RangedSlider/renderRangedSlider.d.ts +5 -0
  23. package/lib/components/RangedSlider/renderRangedSlider.js +20 -0
  24. package/lib/components/RangedSlider/renderRangedSlider.js.map +1 -0
  25. package/lib/components/RangedSlider/useRangedSlider.d.ts +6 -0
  26. package/lib/components/RangedSlider/useRangedSlider.js +116 -0
  27. package/lib/components/RangedSlider/useRangedSlider.js.map +1 -0
  28. package/lib/components/RangedSlider/useRangedSliderState.d.ts +2 -0
  29. package/lib/components/RangedSlider/useRangedSliderState.js +271 -0
  30. package/lib/components/RangedSlider/useRangedSliderState.js.map +1 -0
  31. package/lib/components/RangedSlider/useRangedSliderStyles.d.ts +4 -0
  32. package/lib/components/RangedSlider/useRangedSliderStyles.js +59 -0
  33. package/lib/components/RangedSlider/useRangedSliderStyles.js.map +1 -0
  34. package/lib/components/Slider/Slider.d.ts +4 -2
  35. package/lib/components/Slider/Slider.js +13 -52
  36. package/lib/components/Slider/Slider.js.map +1 -1
  37. package/lib/components/Slider/Slider.types.d.ts +79 -121
  38. package/lib/components/Slider/Slider.types.js +0 -1
  39. package/lib/components/Slider/Slider.types.js.map +1 -1
  40. package/lib/components/Slider/index.d.ts +3 -1
  41. package/lib/components/Slider/index.js +3 -1
  42. package/lib/components/Slider/index.js.map +1 -1
  43. package/lib/components/Slider/renderSlider.d.ts +5 -0
  44. package/lib/components/Slider/renderSlider.js +16 -0
  45. package/lib/components/Slider/renderSlider.js.map +1 -0
  46. package/lib/components/Slider/useSlider.d.ts +9 -316
  47. package/lib/components/Slider/useSlider.js +101 -272
  48. package/lib/components/Slider/useSlider.js.map +1 -1
  49. package/lib/components/Slider/useSliderState.d.ts +3 -0
  50. package/lib/components/Slider/useSliderState.js +198 -0
  51. package/lib/components/Slider/useSliderState.js.map +1 -0
  52. package/lib/components/Slider/useSliderStyles.d.ts +43 -0
  53. package/lib/components/Slider/useSliderStyles.js +391 -0
  54. package/lib/components/Slider/useSliderStyles.js.map +1 -0
  55. package/lib/index.d.ts +1 -0
  56. package/lib/index.js +1 -0
  57. package/lib/index.js.map +1 -1
  58. package/lib/tsdoc-metadata.json +1 -1
  59. package/lib/utils/calculateSteps.d.ts +5 -0
  60. package/lib/utils/calculateSteps.js +27 -0
  61. package/lib/utils/calculateSteps.js.map +1 -0
  62. package/lib/utils/findClosestThumb.d.ts +4 -0
  63. package/lib/utils/findClosestThumb.js +7 -0
  64. package/lib/utils/findClosestThumb.js.map +1 -0
  65. package/lib/utils/getKeydownValue.d.ts +6 -0
  66. package/lib/utils/getKeydownValue.js +35 -0
  67. package/lib/utils/getKeydownValue.js.map +1 -0
  68. package/lib/utils/getMarkPercent.d.ts +12 -0
  69. package/lib/utils/getMarkPercent.js +27 -0
  70. package/lib/utils/getMarkPercent.js.map +1 -0
  71. package/lib/utils/getMarkValues.d.ts +13 -0
  72. package/lib/utils/getMarkValues.js +29 -0
  73. package/lib/utils/getMarkValues.js.map +1 -0
  74. package/lib/utils/getPercent.d.ts +8 -0
  75. package/lib/utils/getPercent.js +11 -0
  76. package/lib/utils/getPercent.js.map +1 -0
  77. package/lib/utils/index.d.ts +9 -0
  78. package/lib/utils/index.js +10 -0
  79. package/lib/utils/index.js.map +1 -0
  80. package/lib/utils/on.d.ts +11 -0
  81. package/lib/utils/on.js +17 -0
  82. package/lib/utils/on.js.map +1 -0
  83. package/lib/utils/renderMarks.d.ts +13 -0
  84. package/lib/utils/renderMarks.js +31 -0
  85. package/lib/utils/renderMarks.js.map +1 -0
  86. package/lib/utils/validateRangedThumbValues.d.ts +4 -0
  87. package/lib/utils/validateRangedThumbValues.js +13 -0
  88. package/lib/utils/validateRangedThumbValues.js.map +1 -0
  89. package/lib-commonjs/RangedSlider.d.ts +1 -0
  90. package/lib-commonjs/RangedSlider.js +10 -0
  91. package/lib-commonjs/RangedSlider.js.map +1 -0
  92. package/lib-commonjs/Slider.js +7 -2
  93. package/lib-commonjs/Slider.js.map +1 -1
  94. package/lib-commonjs/common/isConformant.d.ts +1 -1
  95. package/lib-commonjs/common/isConformant.js +17 -7
  96. package/lib-commonjs/common/isConformant.js.map +1 -1
  97. package/lib-commonjs/components/RangedSlider/RangedSlider.d.ts +6 -0
  98. package/lib-commonjs/components/RangedSlider/RangedSlider.js +26 -0
  99. package/lib-commonjs/components/RangedSlider/RangedSlider.js.map +1 -0
  100. package/lib-commonjs/components/RangedSlider/RangedSlider.types.d.ts +53 -0
  101. package/lib-commonjs/components/RangedSlider/RangedSlider.types.js +6 -0
  102. package/lib-commonjs/components/RangedSlider/RangedSlider.types.js.map +1 -0
  103. package/lib-commonjs/components/RangedSlider/index.d.ts +6 -0
  104. package/lib-commonjs/components/RangedSlider/index.js +20 -0
  105. package/lib-commonjs/components/RangedSlider/index.js.map +1 -0
  106. package/lib-commonjs/components/RangedSlider/renderRangedSlider.d.ts +5 -0
  107. package/lib-commonjs/components/RangedSlider/renderRangedSlider.js +32 -0
  108. package/lib-commonjs/components/RangedSlider/renderRangedSlider.js.map +1 -0
  109. package/lib-commonjs/components/RangedSlider/useRangedSlider.d.ts +6 -0
  110. package/lib-commonjs/components/RangedSlider/useRangedSlider.js +128 -0
  111. package/lib-commonjs/components/RangedSlider/useRangedSlider.js.map +1 -0
  112. package/lib-commonjs/components/RangedSlider/useRangedSliderState.d.ts +2 -0
  113. package/lib-commonjs/components/RangedSlider/useRangedSliderState.js +286 -0
  114. package/lib-commonjs/components/RangedSlider/useRangedSliderState.js.map +1 -0
  115. package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.d.ts +4 -0
  116. package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.js +71 -0
  117. package/lib-commonjs/components/RangedSlider/useRangedSliderStyles.js.map +1 -0
  118. package/lib-commonjs/components/Slider/Slider.d.ts +4 -2
  119. package/lib-commonjs/components/Slider/Slider.js +22 -53
  120. package/lib-commonjs/components/Slider/Slider.js.map +1 -1
  121. package/lib-commonjs/components/Slider/Slider.types.d.ts +79 -121
  122. package/lib-commonjs/components/Slider/Slider.types.js +4 -2
  123. package/lib-commonjs/components/Slider/Slider.types.js.map +1 -1
  124. package/lib-commonjs/components/Slider/index.d.ts +3 -1
  125. package/lib-commonjs/components/Slider/index.js +30 -3
  126. package/lib-commonjs/components/Slider/index.js.map +1 -1
  127. package/lib-commonjs/components/Slider/renderSlider.d.ts +5 -0
  128. package/lib-commonjs/components/Slider/renderSlider.js +29 -0
  129. package/lib-commonjs/components/Slider/renderSlider.js.map +1 -0
  130. package/lib-commonjs/components/Slider/useSlider.d.ts +9 -316
  131. package/lib-commonjs/components/Slider/useSlider.js +112 -275
  132. package/lib-commonjs/components/Slider/useSlider.js.map +1 -1
  133. package/lib-commonjs/components/Slider/useSliderState.d.ts +3 -0
  134. package/lib-commonjs/components/Slider/useSliderState.js +213 -0
  135. package/lib-commonjs/components/Slider/useSliderState.js.map +1 -0
  136. package/lib-commonjs/components/Slider/useSliderStyles.d.ts +43 -0
  137. package/lib-commonjs/components/Slider/useSliderStyles.js +403 -0
  138. package/lib-commonjs/components/Slider/useSliderStyles.js.map +1 -0
  139. package/lib-commonjs/index.d.ts +1 -0
  140. package/lib-commonjs/index.js +9 -2
  141. package/lib-commonjs/index.js.map +1 -1
  142. package/lib-commonjs/utils/calculateSteps.d.ts +5 -0
  143. package/lib-commonjs/utils/calculateSteps.js +37 -0
  144. package/lib-commonjs/utils/calculateSteps.js.map +1 -0
  145. package/lib-commonjs/utils/findClosestThumb.d.ts +4 -0
  146. package/lib-commonjs/utils/findClosestThumb.js +16 -0
  147. package/lib-commonjs/utils/findClosestThumb.js.map +1 -0
  148. package/lib-commonjs/utils/getKeydownValue.d.ts +6 -0
  149. package/lib-commonjs/utils/getKeydownValue.js +45 -0
  150. package/lib-commonjs/utils/getKeydownValue.js.map +1 -0
  151. package/lib-commonjs/utils/getMarkPercent.d.ts +12 -0
  152. package/lib-commonjs/utils/getMarkPercent.js +36 -0
  153. package/lib-commonjs/utils/getMarkPercent.js.map +1 -0
  154. package/lib-commonjs/utils/getMarkValues.d.ts +13 -0
  155. package/lib-commonjs/utils/getMarkValues.js +39 -0
  156. package/lib-commonjs/utils/getMarkValues.js.map +1 -0
  157. package/lib-commonjs/utils/getPercent.d.ts +8 -0
  158. package/lib-commonjs/utils/getPercent.js +20 -0
  159. package/lib-commonjs/utils/getPercent.js.map +1 -0
  160. package/lib-commonjs/utils/index.d.ts +9 -0
  161. package/lib-commonjs/utils/index.js +26 -0
  162. package/lib-commonjs/utils/index.js.map +1 -0
  163. package/lib-commonjs/utils/on.d.ts +11 -0
  164. package/lib-commonjs/utils/on.js +26 -0
  165. package/lib-commonjs/utils/on.js.map +1 -0
  166. package/lib-commonjs/utils/renderMarks.d.ts +13 -0
  167. package/lib-commonjs/utils/renderMarks.js +42 -0
  168. package/lib-commonjs/utils/renderMarks.js.map +1 -0
  169. package/lib-commonjs/utils/validateRangedThumbValues.d.ts +4 -0
  170. package/lib-commonjs/utils/validateRangedThumbValues.js +23 -0
  171. package/lib-commonjs/utils/validateRangedThumbValues.js.map +1 -0
  172. package/package.json +21 -16
  173. package/config/api-extractor.json +0 -3
  174. package/config/tests.js +0 -10
  175. package/etc/react-slider.api.md +0 -396
  176. package/just.config.ts +0 -3
  177. package/lib/components/Slider/Slider.base.d.ts +0 -3
  178. package/lib/components/Slider/Slider.base.js +0 -32
  179. package/lib/components/Slider/Slider.base.js.map +0 -1
  180. package/lib/components/Slider/Slider.scss.d.ts +0 -13
  181. package/lib/components/Slider/Slider.scss.js +0 -17
  182. package/lib/components/Slider/Slider.scss.js.map +0 -1
  183. package/lib-amd/Slider.d.ts +0 -1
  184. package/lib-amd/Slider.js +0 -6
  185. package/lib-amd/Slider.js.map +0 -1
  186. package/lib-amd/common/isConformant.d.ts +0 -4
  187. package/lib-amd/common/isConformant.js +0 -14
  188. package/lib-amd/common/isConformant.js.map +0 -1
  189. package/lib-amd/components/Slider/Slider.base.d.ts +0 -3
  190. package/lib-amd/components/Slider/Slider.base.js +0 -24
  191. package/lib-amd/components/Slider/Slider.base.js.map +0 -1
  192. package/lib-amd/components/Slider/Slider.d.ts +0 -3
  193. package/lib-amd/components/Slider/Slider.js +0 -54
  194. package/lib-amd/components/Slider/Slider.js.map +0 -1
  195. package/lib-amd/components/Slider/Slider.scss.d.ts +0 -13
  196. package/lib-amd/components/Slider/Slider.scss.js +0 -20
  197. package/lib-amd/components/Slider/Slider.scss.js.map +0 -1
  198. package/lib-amd/components/Slider/Slider.types.d.ts +0 -168
  199. package/lib-amd/components/Slider/Slider.types.js +0 -6
  200. package/lib-amd/components/Slider/Slider.types.js.map +0 -1
  201. package/lib-amd/components/Slider/index.d.ts +0 -4
  202. package/lib-amd/components/Slider/index.js +0 -9
  203. package/lib-amd/components/Slider/index.js.map +0 -1
  204. package/lib-amd/components/Slider/useSlider.d.ts +0 -317
  205. package/lib-amd/components/Slider/useSlider.js +0 -278
  206. package/lib-amd/components/Slider/useSlider.js.map +0 -1
  207. package/lib-amd/index.d.ts +0 -1
  208. package/lib-amd/index.js +0 -6
  209. package/lib-amd/index.js.map +0 -1
  210. package/lib-commonjs/components/Slider/Slider.base.d.ts +0 -3
  211. package/lib-commonjs/components/Slider/Slider.base.js +0 -35
  212. package/lib-commonjs/components/Slider/Slider.base.js.map +0 -1
  213. package/lib-commonjs/components/Slider/Slider.scss.d.ts +0 -13
  214. package/lib-commonjs/components/Slider/Slider.scss.js +0 -20
  215. package/lib-commonjs/components/Slider/Slider.scss.js.map +0 -1
  216. package/src/components/Slider/Slider.types.ts +0 -207
@@ -1,280 +1,117 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSlider = exports.ONKEYDOWN_TIMEOUT_DURATION = void 0;
4
- var tslib_1 = require("tslib");
5
- var React = require("react");
6
- var react_hooks_1 = require("@fluentui/react-hooks");
7
- var utilities_1 = require("@fluentui/utilities");
8
- exports.ONKEYDOWN_TIMEOUT_DURATION = 1000;
9
- var getClassNames = utilities_1.classNamesFunction();
10
- var getSlotStyleFn = function (sty) {
11
- return function (value) {
12
- var _a;
13
- return _a = {},
14
- _a[sty] = value + "%",
15
- _a;
16
- };
17
- };
18
- var getPositionStyleFn = function (vertical, rtl) {
19
- if (vertical === void 0) { vertical = false; }
20
- if (rtl === void 0) { rtl = false; }
21
- if (vertical) {
22
- return getSlotStyleFn('bottom');
23
- }
24
- return getSlotStyleFn(rtl ? 'right' : 'left');
25
- };
26
- var getPercent = function (value, sliderMin, sliderMax) {
27
- return sliderMax === sliderMin ? 0 : ((value - sliderMin) / (sliderMax - sliderMin)) * 100;
28
- };
29
- var getLineSectionStylesFn = function (vertical) {
30
- if (vertical === void 0) { vertical = false; }
31
- var lengthString = vertical ? 'height' : 'width';
32
- return getSlotStyleFn(lengthString);
33
- };
34
- var useComponentRef = function (props, thumb, value) {
35
- React.useImperativeHandle(props.componentRef, function () { return ({
36
- get value() {
37
- return value;
38
- },
39
- focus: function () {
40
- if (thumb.current) {
41
- thumb.current.focus();
42
- }
43
- },
44
- }); }, [thumb, value]);
45
- };
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSlider = exports.sliderShorthandProps = void 0;
7
+
8
+ var tslib_1 = /*#__PURE__*/require("tslib");
9
+
10
+ var react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+
12
+ var useSliderState_1 = /*#__PURE__*/require("./useSliderState");
13
+ /**
14
+ * Array of all shorthand properties listed in sliderShorthandProps
15
+ */
16
+
17
+
18
+ exports.sliderShorthandProps = ['root', 'activeRail', 'input', 'rail', 'sliderWrapper', 'thumb', 'thumbWrapper', 'track', 'trackWrapper', 'marksWrapper'];
19
+ /**
20
+ * Given user props, returns state and render function for a Slider.
21
+ */
22
+
46
23
  var useSlider = function (props, ref) {
47
- var _a = props.step, step = _a === void 0 ? 1 : _a, className = props.className, _b = props.disabled, disabled = _b === void 0 ? false : _b, label = props.label, _c = props.max, max = _c === void 0 ? 10 : _c, _d = props.min, min = _d === void 0 ? 0 : _d, _e = props.showValue, showValue = _e === void 0 ? true : _e, _f = props.buttonProps, buttonProps = _f === void 0 ? {} : _f, _g = props.vertical, vertical = _g === void 0 ? false : _g, valueFormat = props.valueFormat, styles = props.styles, theme = props.theme, originFromZero = props.originFromZero, ariaLabel = props["aria-label"];
48
- var disposables = React.useRef([]);
49
- var sliderLine = React.useRef(null);
50
- var _h = react_hooks_1.useControllableValue(props.value, props.defaultValue, function (ev, v) { return props.onChange && props.onChange(v); }), unclampedValue = _h[0], setValue = _h[1];
51
- // Ensure that value is always a number and is clamped by min/max.
52
- var value = Math.max(min, Math.min(max, unclampedValue || 0));
53
- var id = react_hooks_1.useId('Slider');
54
- var _j = react_hooks_1.useBoolean(true), useShowTransitions = _j[0], toggleUseShowTransitions = _j[1].toggle;
55
- var classNames = getClassNames(styles, {
56
- className: className,
57
- disabled: disabled,
58
- vertical: vertical,
59
- showTransitions: useShowTransitions,
60
- showValue: showValue,
61
- theme: theme,
62
- });
63
- var _k = React.useState(0), timerId = _k[0], setTimerId = _k[1];
64
- var clearOnKeyDownTimer = function () {
65
- clearTimeout(timerId);
66
- };
67
- var setOnKeyDownTimer = function (event) {
68
- clearOnKeyDownTimer();
69
- setTimerId(setTimeout(function () {
70
- if (props.onChanged) {
71
- props.onChanged(event, value);
72
- }
73
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
- }, exports.ONKEYDOWN_TIMEOUT_DURATION));
75
- };
76
- var getAriaValueText = function (valueProps) {
77
- var ariaValueText = props.ariaValueText;
78
- if (valueProps !== undefined) {
79
- return ariaValueText ? ariaValueText(valueProps) : valueProps.toString();
80
- }
81
- return undefined;
82
- };
83
- var updateValue = function (valueProp, renderedValueProp) {
84
- var snapToStep = props.snapToStep;
85
- var numDec = 0;
86
- if (isFinite(step)) {
87
- while (Math.round(step * Math.pow(10, numDec)) / Math.pow(10, numDec) !== step) {
88
- numDec++;
89
- }
90
- }
91
- // Make sure value has correct number of decimal places based on number of decimals in step
92
- var roundedValue = parseFloat(valueProp.toFixed(numDec));
93
- if (snapToStep) {
94
- renderedValueProp = roundedValue;
95
- }
96
- setValue(roundedValue);
97
- };
98
- var onKeyDown = function (event) {
99
- var newCurrentValue = value;
100
- var diff = 0;
101
- // eslint-disable-next-line deprecation/deprecation
102
- switch (event.which) {
103
- case utilities_1.getRTLSafeKeyCode(utilities_1.KeyCodes.left, props.theme):
104
- case utilities_1.KeyCodes.down:
105
- diff = -step;
106
- clearOnKeyDownTimer();
107
- setOnKeyDownTimer(event);
108
- break;
109
- case utilities_1.getRTLSafeKeyCode(utilities_1.KeyCodes.right, props.theme):
110
- case utilities_1.KeyCodes.up:
111
- diff = step;
112
- clearOnKeyDownTimer();
113
- setOnKeyDownTimer(event);
114
- break;
115
- case utilities_1.KeyCodes.home:
116
- newCurrentValue = min;
117
- break;
118
- case utilities_1.KeyCodes.end:
119
- newCurrentValue = max;
120
- break;
121
- default:
122
- return;
123
- }
124
- var newValue = Math.min(max, Math.max(min, newCurrentValue + diff));
125
- updateValue(newValue, newValue);
126
- event.preventDefault();
127
- event.stopPropagation();
128
- };
129
- var getPosition = function (event, verticalProp) {
130
- var currentPosition;
131
- switch (event.type) {
132
- case 'mousedown':
133
- case 'mousemove':
134
- currentPosition = !verticalProp ? event.clientX : event.clientY;
135
- break;
136
- case 'touchstart':
137
- case 'touchmove':
138
- currentPosition = !verticalProp
139
- ? event.touches[0].clientX
140
- : event.touches[0].clientY;
141
- break;
142
- }
143
- return currentPosition;
144
- };
145
- var onMouseMoveOrTouchMove = function (event, suppressEventCancelation) {
146
- if (!sliderLine.current) {
147
- return;
148
- }
149
- var steps = (max - min) / step;
150
- var sliderPositionRect = sliderLine.current.getBoundingClientRect();
151
- var sliderLength = !props.vertical ? sliderPositionRect.width : sliderPositionRect.height;
152
- var stepLength = sliderLength / steps;
153
- var currentSteps;
154
- var distance;
155
- if (!props.vertical) {
156
- var left = getPosition(event, props.vertical);
157
- distance = utilities_1.getRTL(props.theme) ? sliderPositionRect.right - left : left - sliderPositionRect.left;
158
- currentSteps = distance / stepLength;
159
- }
160
- else {
161
- var bottom = getPosition(event, props.vertical);
162
- distance = sliderPositionRect.bottom - bottom;
163
- currentSteps = distance / stepLength;
164
- }
165
- var newCurrentValue;
166
- var newRenderedValue;
167
- // The value shouldn't be bigger than max or be smaller than min.
168
- if (currentSteps > Math.floor(steps)) {
169
- newRenderedValue = newCurrentValue = max;
170
- }
171
- else if (currentSteps < 0) {
172
- newRenderedValue = newCurrentValue = min;
173
- }
174
- else {
175
- newRenderedValue = min + step * currentSteps;
176
- newCurrentValue = min + step * Math.round(currentSteps);
177
- }
178
- updateValue(newCurrentValue, newRenderedValue);
179
- if (!suppressEventCancelation) {
180
- event.preventDefault();
181
- event.stopPropagation();
182
- }
183
- };
184
- var onMouseDownOrTouchStart = function (event) {
185
- if (event.type === 'mousedown') {
186
- disposables.current.push(utilities_1.on(window, 'mousemove', onMouseMoveOrTouchMove, true), utilities_1.on(window, 'mouseup', onMouseUpOrTouchEnd, true));
187
- }
188
- else if (event.type === 'touchstart') {
189
- disposables.current.push(utilities_1.on(window, 'touchmove', onMouseMoveOrTouchMove, true), utilities_1.on(window, 'touchend', onMouseUpOrTouchEnd, true));
190
- }
191
- toggleUseShowTransitions();
192
- onMouseMoveOrTouchMove(event, true);
193
- };
194
- var onMouseUpOrTouchEnd = function (event) {
195
- if (props.onChanged) {
196
- props.onChanged(event, value);
197
- }
198
- toggleUseShowTransitions();
199
- disposeListeners();
200
- };
201
- var disposeListeners = function () {
202
- disposables.current.forEach(function (dispose) { return dispose(); });
203
- disposables.current = [];
204
- };
205
- var onMouseDownProp = disabled ? {} : { onMouseDown: onMouseDownOrTouchStart };
206
- var onTouchStartProp = disabled ? {} : { onTouchStart: onMouseDownOrTouchStart };
207
- var onKeyDownProp = disabled ? {} : { onKeyDown: onKeyDown };
208
- var thumbRef = React.useRef(null);
209
- useComponentRef(props, thumbRef, value);
210
- var getPositionStyles = getPositionStyleFn(vertical, utilities_1.getRTL(props.theme));
211
- var getTrackStyles = getLineSectionStylesFn(vertical);
212
- var originValue = originFromZero ? 0 : min;
213
- var valuePercent = getPercent(value, min, max);
214
- var originPercentOfLine = getPercent(originValue, min, max);
215
- var activeSectionWidth = Math.abs(originPercentOfLine - valuePercent);
216
- var topSectionWidth = Math.min(100 - valuePercent, 100 - originPercentOfLine);
217
- var bottomSectionWidth = Math.min(valuePercent, originPercentOfLine);
218
- var rootProps = {
219
- className: classNames.root,
220
- ref: ref,
221
- };
222
- var divButtonProps = buttonProps
223
- ? utilities_1.getNativeProps(buttonProps, utilities_1.divProperties)
224
- : undefined;
225
- var labelProps = {
226
- className: classNames.titleLabel,
227
- children: label,
228
- disabled: disabled,
229
- htmlFor: ariaLabel ? undefined : id,
230
- };
231
- var valueLabelProps = showValue && {
232
- className: classNames.valueLabel,
233
- children: valueFormat ? valueFormat(value) : value,
234
- disabled: disabled,
235
- };
236
- var thumbProps = {
237
- ref: thumbRef,
238
- className: classNames.thumb,
239
- style: getPositionStyles(valuePercent),
240
- };
241
- var zeroTickProps = originFromZero && {
242
- className: classNames.zeroTick,
243
- style: getPositionStyles(originPercentOfLine),
244
- };
245
- var trackActiveProps = {
246
- className: utilities_1.css(classNames.lineContainer, classNames.activeSection),
247
- style: getTrackStyles(activeSectionWidth),
248
- };
249
- var trackTopInactiveProps = {
250
- className: utilities_1.css(classNames.lineContainer, classNames.inactiveSection),
251
- style: getTrackStyles(topSectionWidth),
252
- };
253
- var trackBottomInactiveProps = {
254
- className: utilities_1.css(classNames.lineContainer, classNames.inactiveSection),
255
- style: getTrackStyles(bottomSectionWidth),
256
- };
257
- var sliderBoxProps = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({ id: id, 'aria-valuenow': value, 'aria-valuemin': min, 'aria-valuemax': max, 'aria-valuetext': getAriaValueText(value), 'aria-label': ariaLabel || label, 'aria-disabled': disabled }, onMouseDownProp), onTouchStartProp), onKeyDownProp), divButtonProps), { className: utilities_1.css(classNames.slideBox, buttonProps.className), role: 'slider', tabIndex: disabled ? undefined : 0, 'data-is-focusable': !disabled });
258
- var containerProps = {
259
- className: classNames.container,
260
- };
261
- var sliderLineProps = {
262
- ref: sliderLine,
263
- className: classNames.line,
264
- };
265
- return {
266
- root: rootProps,
267
- label: labelProps,
268
- sliderBox: sliderBoxProps,
269
- container: containerProps,
270
- valueLabel: valueLabelProps,
271
- thumb: thumbProps,
272
- zeroTick: zeroTickProps,
273
- activeTrack: trackActiveProps,
274
- topInactiveTrack: trackTopInactiveProps,
275
- bottomInactiveTrack: trackBottomInactiveProps,
276
- sliderLine: sliderLineProps,
277
- };
24
+ var // Props
25
+ value = props.value,
26
+ defaultValue = props.defaultValue,
27
+ min = props.min,
28
+ max = props.max,
29
+ _a = props.step,
30
+ step = _a === void 0 ? 1 : _a,
31
+ keyboardStep = props.keyboardStep,
32
+ disabled = props.disabled,
33
+ ariaValueText = props.ariaValueText,
34
+ onChange = props.onChange,
35
+ marks = props.marks,
36
+ vertical = props.vertical,
37
+ _b = props.size,
38
+ size = _b === void 0 ? 'medium' : _b,
39
+ origin = props.origin,
40
+ // Slots
41
+ activeRail = props.activeRail,
42
+ input = props.input,
43
+ marksWrapper = props.marksWrapper,
44
+ rail = props.rail,
45
+ sliderWrapper = props.sliderWrapper,
46
+ thumb = props.thumb,
47
+ thumbWrapper = props.thumbWrapper,
48
+ track = props.track,
49
+ trackWrapper = props.trackWrapper;
50
+ var state = {
51
+ ariaValueText: ariaValueText,
52
+ defaultValue: defaultValue,
53
+ disabled: disabled,
54
+ keyboardStep: keyboardStep,
55
+ marks: marks,
56
+ max: max,
57
+ min: min,
58
+ onChange: onChange,
59
+ origin: origin,
60
+ size: size,
61
+ step: step,
62
+ vertical: vertical,
63
+ value: value,
64
+ components: {
65
+ activeRail: 'div',
66
+ input: 'input',
67
+ marksWrapper: 'div',
68
+ rail: 'div',
69
+ root: 'div',
70
+ sliderWrapper: 'div',
71
+ thumb: 'div',
72
+ thumbWrapper: 'div',
73
+ track: 'div',
74
+ trackWrapper: 'div'
75
+ },
76
+ root: react_utilities_1.getNativeElementProps('span', tslib_1.__assign(tslib_1.__assign({
77
+ ref: ref
78
+ }, props), {
79
+ id: react_utilities_1.useId('slider-', props.id)
80
+ })),
81
+ activeRail: react_utilities_1.resolveShorthand(activeRail, {
82
+ required: true
83
+ }),
84
+ input: react_utilities_1.resolveShorthand(input, {
85
+ required: true,
86
+ defaultProps: {
87
+ type: 'range'
88
+ }
89
+ }),
90
+ marksWrapper: react_utilities_1.resolveShorthand(marksWrapper, {
91
+ required: true
92
+ }),
93
+ rail: react_utilities_1.resolveShorthand(rail, {
94
+ required: true
95
+ }),
96
+ sliderWrapper: react_utilities_1.resolveShorthand(sliderWrapper, {
97
+ required: true
98
+ }),
99
+ thumb: react_utilities_1.resolveShorthand(thumb, {
100
+ required: true
101
+ }),
102
+ thumbWrapper: react_utilities_1.resolveShorthand(thumbWrapper, {
103
+ required: true
104
+ }),
105
+ track: react_utilities_1.resolveShorthand(track, {
106
+ required: true
107
+ }),
108
+ trackWrapper: react_utilities_1.resolveShorthand(trackWrapper, {
109
+ required: true
110
+ })
111
+ };
112
+ useSliderState_1.useSliderState(state);
113
+ return state;
278
114
  };
115
+
279
116
  exports.useSlider = useSlider;
280
117
  //# sourceMappingURL=useSlider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSlider.js","sourceRoot":"../src/","sources":["components/Slider/useSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { ISliderProps, ISliderStyleProps, ISliderStyles } from './Slider.types';\nimport { useId, useBoolean, useControllableValue } from '@fluentui/react-hooks';\nimport {\n KeyCodes,\n css,\n getRTL,\n getRTLSafeKeyCode,\n on,\n classNamesFunction,\n getNativeProps,\n divProperties,\n} from '@fluentui/utilities';\n\nexport const ONKEYDOWN_TIMEOUT_DURATION = 1000;\n\nconst getClassNames = classNamesFunction<ISliderStyleProps, ISliderStyles>();\n\ntype Dimension = 'height' | 'width';\ntype Position = 'bottom' | 'left' | 'right';\ntype PositionOrDimension = Dimension | Position;\n\nconst getSlotStyleFn = (sty: PositionOrDimension) => {\n return (value: number) => {\n return {\n [sty]: `${value}%`,\n };\n };\n};\nconst getPositionStyleFn = (vertical: boolean = false, rtl: boolean = false) => {\n if (vertical) {\n return getSlotStyleFn('bottom');\n }\n return getSlotStyleFn(rtl ? 'right' : 'left');\n};\n\nconst getPercent = (value: number, sliderMin: number, sliderMax: number) => {\n return sliderMax === sliderMin ? 0 : ((value! - sliderMin!) / (sliderMax! - sliderMin!)) * 100;\n};\n\nconst getLineSectionStylesFn = (vertical: boolean = false) => {\n const lengthString = vertical ? 'height' : 'width';\n return getSlotStyleFn(lengthString);\n};\n\nconst useComponentRef = (props: ISliderProps, thumb: React.RefObject<HTMLSpanElement>, value: number | undefined) => {\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n get value() {\n return value;\n },\n focus() {\n if (thumb.current) {\n thumb.current.focus();\n }\n },\n }),\n [thumb, value],\n );\n};\n\nexport const useSlider = (props: ISliderProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n step = 1,\n className,\n disabled = false,\n label,\n max = 10,\n min = 0,\n showValue = true,\n buttonProps = {},\n vertical = false,\n valueFormat,\n styles,\n theme,\n originFromZero,\n 'aria-label': ariaLabel,\n } = props;\n\n const disposables = React.useRef<(() => void)[]>([]);\n const sliderLine = React.useRef<HTMLDivElement>(null);\n\n const [unclampedValue, setValue] = useControllableValue(\n props.value,\n props.defaultValue,\n (ev: React.FormEvent<HTMLElement> | undefined, v: ISliderProps['value']) => props.onChange && props.onChange(v!),\n );\n\n // Ensure that value is always a number and is clamped by min/max.\n const value = Math.max(min, Math.min(max, unclampedValue || 0));\n const id = useId('Slider');\n const [useShowTransitions, { toggle: toggleUseShowTransitions }] = useBoolean(true);\n const classNames = getClassNames(styles, {\n className,\n disabled,\n vertical,\n showTransitions: useShowTransitions,\n showValue,\n theme: theme!,\n });\n\n const [timerId, setTimerId] = React.useState(0);\n\n const clearOnKeyDownTimer = (): void => {\n clearTimeout(timerId);\n };\n\n const setOnKeyDownTimer = (event: KeyboardEvent) => {\n clearOnKeyDownTimer();\n setTimerId(\n setTimeout(() => {\n if (props.onChanged) {\n props.onChanged(event, value as number);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, ONKEYDOWN_TIMEOUT_DURATION) as any,\n );\n };\n\n const getAriaValueText = (valueProps: number | undefined): string | undefined => {\n const { ariaValueText } = props;\n if (valueProps !== undefined) {\n return ariaValueText ? ariaValueText(valueProps) : valueProps.toString();\n }\n return undefined;\n };\n\n const updateValue = (valueProp: number, renderedValueProp: number): void => {\n const { snapToStep } = props;\n let numDec = 0;\n if (isFinite(step!)) {\n while (Math.round(step! * Math.pow(10, numDec)) / Math.pow(10, numDec) !== step!) {\n numDec++;\n }\n }\n // Make sure value has correct number of decimal places based on number of decimals in step\n const roundedValue = parseFloat(valueProp.toFixed(numDec));\n\n if (snapToStep) {\n renderedValueProp = roundedValue;\n }\n setValue(roundedValue);\n };\n\n const onKeyDown = (event: KeyboardEvent): void => {\n let newCurrentValue: number | undefined = value;\n let diff: number | undefined = 0;\n // eslint-disable-next-line deprecation/deprecation\n switch (event.which) {\n case getRTLSafeKeyCode(KeyCodes.left, props.theme):\n case KeyCodes.down:\n diff = -(step as number);\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case getRTLSafeKeyCode(KeyCodes.right, props.theme):\n case KeyCodes.up:\n diff = step;\n clearOnKeyDownTimer();\n setOnKeyDownTimer(event);\n break;\n case KeyCodes.home:\n newCurrentValue = min;\n break;\n case KeyCodes.end:\n newCurrentValue = max;\n break;\n default:\n return;\n }\n const newValue: number = Math.min(max as number, Math.max(min as number, newCurrentValue! + diff!));\n updateValue(newValue, newValue);\n event.preventDefault();\n event.stopPropagation();\n };\n\n const getPosition = (event: MouseEvent | TouchEvent, verticalProp: boolean | undefined): number | undefined => {\n let currentPosition: number | undefined;\n switch (event.type) {\n case 'mousedown':\n case 'mousemove':\n currentPosition = !verticalProp ? (event as MouseEvent).clientX : (event as MouseEvent).clientY;\n break;\n case 'touchstart':\n case 'touchmove':\n currentPosition = !verticalProp\n ? (event as TouchEvent).touches[0].clientX\n : (event as TouchEvent).touches[0].clientY;\n break;\n }\n return currentPosition;\n };\n\n const onMouseMoveOrTouchMove = (event: MouseEvent | TouchEvent, suppressEventCancelation?: boolean): void => {\n if (!sliderLine.current) {\n return;\n }\n const steps: number = (max! - min!) / step!;\n const sliderPositionRect: ClientRect = sliderLine.current.getBoundingClientRect();\n const sliderLength: number = !props.vertical ? sliderPositionRect.width : sliderPositionRect.height;\n const stepLength: number = sliderLength / steps;\n let currentSteps: number | undefined;\n let distance: number | undefined;\n if (!props.vertical) {\n const left: number | undefined = getPosition(event, props.vertical);\n distance = getRTL(props.theme) ? sliderPositionRect.right - left! : left! - sliderPositionRect.left;\n currentSteps = distance / stepLength;\n } else {\n const bottom: number | undefined = getPosition(event, props.vertical);\n distance = sliderPositionRect.bottom - bottom!;\n currentSteps = distance / stepLength;\n }\n let newCurrentValue: number | undefined;\n let newRenderedValue: number | undefined;\n // The value shouldn't be bigger than max or be smaller than min.\n if (currentSteps! > Math.floor(steps)) {\n newRenderedValue = newCurrentValue = max as number;\n } else if (currentSteps! < 0) {\n newRenderedValue = newCurrentValue = min as number;\n } else {\n newRenderedValue = min! + step! * currentSteps!;\n newCurrentValue = min! + step! * Math.round(currentSteps!);\n }\n updateValue(newCurrentValue, newRenderedValue);\n if (!suppressEventCancelation) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const onMouseDownOrTouchStart = (event: MouseEvent | TouchEvent): void => {\n if (event.type === 'mousedown') {\n disposables.current.push(\n on(window, 'mousemove', onMouseMoveOrTouchMove as (ev: Event) => void, true),\n on(window, 'mouseup', onMouseUpOrTouchEnd as (ev: Event) => void, true),\n );\n } else if (event.type === 'touchstart') {\n disposables.current.push(\n on(window, 'touchmove', onMouseMoveOrTouchMove as (ev: Event) => void, true),\n on(window, 'touchend', onMouseUpOrTouchEnd as (ev: Event) => void, true),\n );\n }\n toggleUseShowTransitions();\n onMouseMoveOrTouchMove(event, true);\n };\n\n const onMouseUpOrTouchEnd = (event: MouseEvent | TouchEvent): void => {\n if (props.onChanged) {\n props.onChanged(event, value as number);\n }\n toggleUseShowTransitions();\n disposeListeners();\n };\n\n const disposeListeners = (): void => {\n disposables.current.forEach(dispose => dispose());\n disposables.current = [];\n };\n\n const onMouseDownProp: {} = disabled ? {} : { onMouseDown: onMouseDownOrTouchStart };\n const onTouchStartProp: {} = disabled ? {} : { onTouchStart: onMouseDownOrTouchStart };\n const onKeyDownProp: {} = disabled ? {} : { onKeyDown: onKeyDown };\n\n const thumbRef = React.useRef<HTMLSpanElement>(null);\n useComponentRef(props, thumbRef, value);\n const getPositionStyles = getPositionStyleFn(vertical, getRTL(props.theme));\n const getTrackStyles = getLineSectionStylesFn(vertical);\n const originValue = originFromZero ? 0 : min;\n const valuePercent = getPercent(value, min, max);\n const originPercentOfLine = getPercent(originValue, min, max);\n const activeSectionWidth = Math.abs(originPercentOfLine - valuePercent);\n const topSectionWidth = Math.min(100 - valuePercent, 100 - originPercentOfLine);\n const bottomSectionWidth = Math.min(valuePercent, originPercentOfLine);\n\n const rootProps = {\n className: classNames.root,\n ref: ref,\n };\n\n const divButtonProps = buttonProps\n ? getNativeProps<React.HTMLAttributes<HTMLDivElement>>(buttonProps, divProperties)\n : undefined;\n\n const labelProps = {\n className: classNames.titleLabel,\n children: label,\n disabled,\n htmlFor: ariaLabel ? undefined : id,\n };\n\n const valueLabelProps = showValue && {\n className: classNames.valueLabel,\n children: valueFormat ? valueFormat(value!) : value,\n disabled,\n };\n\n const thumbProps = {\n ref: thumbRef,\n className: classNames.thumb,\n style: getPositionStyles(valuePercent),\n };\n\n const zeroTickProps = originFromZero && {\n className: classNames.zeroTick,\n style: getPositionStyles(originPercentOfLine),\n };\n\n const trackActiveProps = {\n className: css(classNames.lineContainer, classNames.activeSection),\n style: getTrackStyles(activeSectionWidth),\n };\n\n const trackTopInactiveProps = {\n className: css(classNames.lineContainer, classNames.inactiveSection),\n style: getTrackStyles(topSectionWidth),\n };\n\n const trackBottomInactiveProps = {\n className: css(classNames.lineContainer, classNames.inactiveSection),\n style: getTrackStyles(bottomSectionWidth),\n };\n\n const sliderBoxProps = {\n id,\n 'aria-valuenow': value,\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuetext': getAriaValueText(value),\n 'aria-label': ariaLabel || label,\n 'aria-disabled': disabled,\n ...onMouseDownProp,\n ...onTouchStartProp,\n ...onKeyDownProp,\n ...divButtonProps,\n className: css(classNames.slideBox, buttonProps!.className),\n role: 'slider',\n tabIndex: disabled ? undefined : 0,\n 'data-is-focusable': !disabled,\n };\n\n const containerProps = {\n className: classNames.container,\n };\n const sliderLineProps = {\n ref: sliderLine,\n className: classNames.line,\n };\n\n return {\n root: rootProps,\n label: labelProps,\n sliderBox: sliderBoxProps,\n container: containerProps,\n valueLabel: valueLabelProps,\n thumb: thumbProps,\n zeroTick: zeroTickProps,\n activeTrack: trackActiveProps,\n topInactiveTrack: trackTopInactiveProps,\n bottomInactiveTrack: trackBottomInactiveProps,\n sliderLine: sliderLineProps,\n };\n};\n"]}
1
+ {"version":3,"sources":["../../../src/components/Slider/useSlider.ts"],"names":[],"mappings":"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","sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ import type { SliderState } from './Slider.types';
2
+ export declare const animationTime = "0.1s";
3
+ export declare const useSliderState: (state: SliderState) => SliderState;