@dreamcommerce/aurora 3.1.58-1 → 3.1.58-10

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 (70) hide show
  1. package/build/cjs/external/@radix-ui/react-checkbox/dist/index.mjs.js +2 -2
  2. package/build/cjs/external/@radix-ui/react-radio-group/dist/index.mjs.js +2 -2
  3. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +1 -1
  4. package/build/cjs/external/@radix-ui/react-scroll-area/dist/index.mjs.js +2 -2
  5. package/build/cjs/external/@radix-ui/react-select/dist/index.mjs.js +3 -3
  6. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js +1 -1
  7. package/build/cjs/external/@radix-ui/react-slider/dist/index.mjs.js +588 -0
  8. package/build/cjs/external/@radix-ui/react-slider/dist/index.mjs.js.map +1 -0
  9. package/build/cjs/external/@radix-ui/react-slider/external/@radix-ui/react-primitive/dist/index.mjs.js +30 -0
  10. package/build/cjs/external/@radix-ui/react-slider/external/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
  11. package/build/cjs/external/@radix-ui/react-slider/external/@radix-ui/react-slot/dist/index.mjs.js +103 -0
  12. package/build/cjs/external/@radix-ui/react-slider/external/@radix-ui/react-slot/dist/index.mjs.js.map +1 -0
  13. package/build/cjs/external/@radix-ui/react-switch/dist/index.mjs.js +1 -1
  14. package/build/cjs/external/@radix-ui/react-switch/dist/index.mjs.js.map +1 -1
  15. package/build/cjs/external/@radix-ui/react-toast/dist/index.mjs.js +1 -1
  16. package/build/cjs/external/@radix-ui/react-toast/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js +1 -1
  17. package/build/cjs/packages/aurora/src/components/accordion/components/accordion_trigger.js +2 -24
  18. package/build/cjs/packages/aurora/src/components/accordion/components/accordion_trigger.js.map +1 -1
  19. package/build/cjs/packages/aurora/src/components/color_picker/components/color_picker_controls.js +1 -1
  20. package/build/cjs/packages/aurora/src/components/color_picker/components/color_picker_mode_toggler.js +1 -1
  21. package/build/cjs/packages/aurora/src/components/color_picker/components/color_picker_variables.js +1 -1
  22. package/build/cjs/packages/aurora/src/components/controls/input_control/input_control.js +1 -1
  23. package/build/cjs/packages/aurora/src/components/date_picker/components/date_picker_input.js +1 -1
  24. package/build/cjs/packages/aurora/src/components/label/label.js +1 -1
  25. package/build/cjs/packages/aurora/src/components/slider/components/slider_input.js +80 -0
  26. package/build/cjs/packages/aurora/src/components/slider/components/slider_input.js.map +1 -0
  27. package/build/cjs/packages/aurora/src/components/slider/slider.js +146 -0
  28. package/build/cjs/packages/aurora/src/components/slider/slider.js.map +1 -0
  29. package/build/cjs/packages/aurora/src/components/time_picker/components/time_picker_input.js +1 -1
  30. package/build/cjs/packages/aurora/src/index.js +6 -4
  31. package/build/cjs/packages/aurora/src/index.js.map +1 -1
  32. package/build/esm/external/@radix-ui/react-checkbox/dist/index.mjs.js +2 -2
  33. package/build/esm/external/@radix-ui/react-radio-group/dist/index.mjs.js +2 -2
  34. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +1 -1
  35. package/build/esm/external/@radix-ui/react-scroll-area/dist/index.mjs.js +2 -2
  36. package/build/esm/external/@radix-ui/react-select/dist/index.mjs.js +3 -3
  37. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js +1 -1
  38. package/build/esm/external/@radix-ui/react-slider/dist/index.mjs.js +576 -0
  39. package/build/esm/external/@radix-ui/react-slider/dist/index.mjs.js.map +1 -0
  40. package/build/esm/external/@radix-ui/react-slider/external/@radix-ui/react-primitive/dist/index.mjs.js +26 -0
  41. package/build/esm/external/@radix-ui/react-slider/external/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
  42. package/build/esm/external/@radix-ui/react-slider/external/@radix-ui/react-slot/dist/index.mjs.js +98 -0
  43. package/build/esm/external/@radix-ui/react-slider/external/@radix-ui/react-slot/dist/index.mjs.js.map +1 -0
  44. package/build/esm/external/@radix-ui/react-switch/dist/index.mjs.js +1 -1
  45. package/build/esm/external/@radix-ui/react-switch/dist/index.mjs.js.map +1 -1
  46. package/build/esm/external/@radix-ui/react-toast/dist/index.mjs.js +1 -1
  47. package/build/esm/external/@radix-ui/react-toast/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js +1 -1
  48. package/build/esm/packages/aurora/src/components/accordion/components/accordion_trigger.js +3 -25
  49. package/build/esm/packages/aurora/src/components/accordion/components/accordion_trigger.js.map +1 -1
  50. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_controls.js +1 -1
  51. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_mode_toggler.js +1 -1
  52. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_variables.js +1 -1
  53. package/build/esm/packages/aurora/src/components/controls/input_control/input_control.js +1 -1
  54. package/build/esm/packages/aurora/src/components/date_picker/components/date_picker_input.js +1 -1
  55. package/build/esm/packages/aurora/src/components/label/label.js +1 -1
  56. package/build/esm/packages/aurora/src/components/slider/components/slider_input.d.ts +13 -0
  57. package/build/esm/packages/aurora/src/components/slider/components/slider_input.js +72 -0
  58. package/build/esm/packages/aurora/src/components/slider/components/slider_input.js.map +1 -0
  59. package/build/esm/packages/aurora/src/components/slider/slider.d.ts +3 -0
  60. package/build/esm/packages/aurora/src/components/slider/slider.js +138 -0
  61. package/build/esm/packages/aurora/src/components/slider/slider.js.map +1 -0
  62. package/build/esm/packages/aurora/src/components/slider/slider_types.d.ts +13 -0
  63. package/build/esm/packages/aurora/src/components/slider/slider_types.js +2 -0
  64. package/build/esm/packages/aurora/src/components/slider/slider_types.js.map +1 -0
  65. package/build/esm/packages/aurora/src/components/time_picker/components/time_picker_input.js +1 -1
  66. package/build/esm/packages/aurora/src/index.d.ts +2 -0
  67. package/build/esm/packages/aurora/src/index.js +3 -2
  68. package/build/esm/packages/aurora/src/index.js.map +1 -1
  69. package/build/index.css +1 -1
  70. package/package.json +2 -1
@@ -8,9 +8,9 @@ var jsxRuntime = require('react/jsx-runtime');
8
8
  var index = require('../../react-context/dist/index.mjs.js');
9
9
  var index$2 = require('../../react-use-controllable-state/dist/index.mjs.js');
10
10
  var index$7 = require('../../react-use-size/dist/index.mjs.js');
11
- var index$6 = require('../../react-use-previous/dist/index.mjs.js');
12
- var index$1 = require('../../react-compose-refs/dist/index.mjs.js');
13
11
  var index$4 = require('../../primitive/dist/index.mjs.js');
12
+ var index$1 = require('../../react-compose-refs/dist/index.mjs.js');
13
+ var index$6 = require('../../react-use-previous/dist/index.mjs.js');
14
14
  var index$5 = require('../../react-presence/dist/index.mjs.js');
15
15
  var index$3 = require('../external/@radix-ui/react-primitive/dist/index.mjs.js');
16
16
 
@@ -9,9 +9,9 @@ var index = require('../../react-context/dist/index.mjs.js');
9
9
  var index$9 = require('../../react-use-controllable-state/dist/index.mjs.js');
10
10
  var index$8 = require('../../react-direction/dist/index.mjs.js');
11
11
  var index$7 = require('../../react-use-size/dist/index.mjs.js');
12
- var index$6 = require('../../react-use-previous/dist/index.mjs.js');
13
- var index$2 = require('../../react-compose-refs/dist/index.mjs.js');
14
12
  var index$4 = require('../../primitive/dist/index.mjs.js');
13
+ var index$2 = require('../../react-compose-refs/dist/index.mjs.js');
14
+ var index$6 = require('../../react-use-previous/dist/index.mjs.js');
15
15
  var index$5 = require('../../react-presence/dist/index.mjs.js');
16
16
  var index$3 = require('../external/@radix-ui/react-primitive/dist/index.mjs.js');
17
17
  var index$1 = require('../external/@radix-ui/react-roving-focus/dist/index.mjs.js');
@@ -10,8 +10,8 @@ var index$5 = require('../../../../../react-use-callback-ref/dist/index.mjs.js')
10
10
  var index$4 = require('../../../../../react-use-controllable-state/dist/index.mjs.js');
11
11
  var index$3 = require('../../../../../react-direction/dist/index.mjs.js');
12
12
  var index$8 = require('../../../../../react-id/dist/index.mjs.js');
13
- var index$2 = require('../../../../../react-compose-refs/dist/index.mjs.js');
14
13
  var index$7 = require('../../../../../primitive/dist/index.mjs.js');
14
+ var index$2 = require('../../../../../react-compose-refs/dist/index.mjs.js');
15
15
  var index = require('../../../../../react-collection/dist/index.mjs.js');
16
16
  var index$6 = require('../../react-primitive/dist/index.mjs.js');
17
17
 
@@ -9,10 +9,10 @@ var index = require('../../react-context/dist/index.mjs.js');
9
9
  var index$6 = require('../../react-use-callback-ref/dist/index.mjs.js');
10
10
  var index$2 = require('../../react-direction/dist/index.mjs.js');
11
11
  var index$8 = require('../../react-use-layout-effect/dist/index.mjs.js');
12
- var index$1 = require('../../react-compose-refs/dist/index.mjs.js');
12
+ var index$7 = require('../../number/dist/index.mjs.js');
13
13
  var index$5 = require('../../primitive/dist/index.mjs.js');
14
+ var index$1 = require('../../react-compose-refs/dist/index.mjs.js');
14
15
  var index$4 = require('../../react-presence/dist/index.mjs.js');
15
- var index$7 = require('../../number/dist/index.mjs.js');
16
16
  var index$3 = require('../external/@radix-ui/react-primitive/dist/index.mjs.js');
17
17
 
18
18
  var _excluded = ["__scopeScrollArea", "type", "dir", "scrollHideDelay"],
@@ -12,10 +12,10 @@ var index$4 = require('../../react-use-controllable-state/dist/index.mjs.js');
12
12
  var index$3 = require('../../react-direction/dist/index.mjs.js');
13
13
  var index$9 = require('../../react-use-layout-effect/dist/index.mjs.js');
14
14
  var index$5 = require('../../react-id/dist/index.mjs.js');
15
- var index$g = require('../../react-use-previous/dist/index.mjs.js');
16
- var index$6 = require('../../react-compose-refs/dist/index.mjs.js');
17
- var index$8 = require('../../primitive/dist/index.mjs.js');
18
15
  var index$f = require('../../number/dist/index.mjs.js');
16
+ var index$8 = require('../../primitive/dist/index.mjs.js');
17
+ var index$6 = require('../../react-compose-refs/dist/index.mjs.js');
18
+ var index$g = require('../../react-use-previous/dist/index.mjs.js');
19
19
  var index = require('../../react-collection/dist/index.mjs.js');
20
20
  var index$c = require('../external/@radix-ui/react-slot/dist/index.mjs.js');
21
21
  var index$7 = require('../external/@radix-ui/react-primitive/dist/index.mjs.js');
@@ -7,8 +7,8 @@ var _rollupPluginBabelHelpers = require('../../../../../../../_virtual/_rollupPl
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  var index$4 = require('../../../../../react-use-callback-ref/dist/index.mjs.js');
9
9
  var index$1 = require('../../../../../react-use-escape-keydown/dist/index.mjs.js');
10
- var index = require('../../../../../react-compose-refs/dist/index.mjs.js');
11
10
  var index$3 = require('../../../../../primitive/dist/index.mjs.js');
11
+ var index = require('../../../../../react-compose-refs/dist/index.mjs.js');
12
12
  var index$2 = require('../../react-primitive/dist/index.mjs.js');
13
13
 
14
14
  var _excluded = ["disableOutsidePointerEvents", "onEscapeKeyDown", "onPointerDownOutside", "onFocusOutside", "onInteractOutside", "onDismiss"];
@@ -0,0 +1,588 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var _rollupPluginBabelHelpers = require('../../../../_virtual/_rollupPluginBabelHelpers.js');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var index$1 = require('../../react-context/dist/index.mjs.js');
9
+ var index$2 = require('../../react-use-controllable-state/dist/index.mjs.js');
10
+ var index$9 = require('../../react-direction/dist/index.mjs.js');
11
+ var index$7 = require('../../react-use-size/dist/index.mjs.js');
12
+ var index$6 = require('../../number/dist/index.mjs.js');
13
+ var index$3 = require('../../primitive/dist/index.mjs.js');
14
+ var index$5 = require('../../react-compose-refs/dist/index.mjs.js');
15
+ var index$8 = require('../../react-use-previous/dist/index.mjs.js');
16
+ var index$4 = require('../external/@radix-ui/react-primitive/dist/index.mjs.js');
17
+ var index = require('../../react-collection/dist/index.mjs.js');
18
+
19
+ var _excluded = ["name", "min", "max", "step", "orientation", "disabled", "minStepsBetweenThumbs", "defaultValue", "value", "onValueChange", "onValueCommit", "inverted", "form"],
20
+ _excluded2 = ["min", "max", "dir", "inverted", "onSlideStart", "onSlideMove", "onSlideEnd", "onStepKeyDown"],
21
+ _excluded3 = ["min", "max", "inverted", "onSlideStart", "onSlideMove", "onSlideEnd", "onStepKeyDown"],
22
+ _excluded4 = ["__scopeSlider", "onSlideStart", "onSlideMove", "onSlideEnd", "onHomeKeyDown", "onEndKeyDown", "onStepKeyDown"],
23
+ _excluded5 = ["__scopeSlider"],
24
+ _excluded6 = ["__scopeSlider"],
25
+ _excluded7 = ["__scopeSlider", "index", "name"],
26
+ _excluded8 = ["value"];
27
+ var PAGE_KEYS = ["PageUp", "PageDown"];
28
+ var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
29
+ var BACK_KEYS = {
30
+ "from-left": ["Home", "PageDown", "ArrowDown", "ArrowLeft"],
31
+ "from-right": ["Home", "PageDown", "ArrowDown", "ArrowRight"],
32
+ "from-bottom": ["Home", "PageDown", "ArrowDown", "ArrowLeft"],
33
+ "from-top": ["Home", "PageDown", "ArrowUp", "ArrowLeft"]
34
+ };
35
+ var SLIDER_NAME = "Slider";
36
+ var _createCollection = index.createCollection(SLIDER_NAME),
37
+ _createCollection2 = _rollupPluginBabelHelpers.slicedToArray(_createCollection, 3),
38
+ Collection = _createCollection2[0],
39
+ useCollection = _createCollection2[1],
40
+ createCollectionScope = _createCollection2[2];
41
+ var _createContextScope = index$1.createContextScope(SLIDER_NAME, [createCollectionScope]),
42
+ _createContextScope2 = _rollupPluginBabelHelpers.slicedToArray(_createContextScope, 2),
43
+ createSliderContext = _createContextScope2[0],
44
+ createSliderScope = _createContextScope2[1];
45
+ var _createSliderContext = createSliderContext(SLIDER_NAME),
46
+ _createSliderContext2 = _rollupPluginBabelHelpers.slicedToArray(_createSliderContext, 2),
47
+ SliderProvider = _createSliderContext2[0],
48
+ useSliderContext = _createSliderContext2[1];
49
+ var Slider = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
50
+ var name = props.name,
51
+ _props$min = props.min,
52
+ min = _props$min === void 0 ? 0 : _props$min,
53
+ _props$max = props.max,
54
+ max = _props$max === void 0 ? 100 : _props$max,
55
+ _props$step = props.step,
56
+ step = _props$step === void 0 ? 1 : _props$step,
57
+ _props$orientation = props.orientation,
58
+ orientation = _props$orientation === void 0 ? "horizontal" : _props$orientation,
59
+ _props$disabled = props.disabled,
60
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
61
+ _props$minStepsBetwee = props.minStepsBetweenThumbs,
62
+ minStepsBetweenThumbs = _props$minStepsBetwee === void 0 ? 0 : _props$minStepsBetwee,
63
+ _props$defaultValue = props.defaultValue,
64
+ defaultValue = _props$defaultValue === void 0 ? [min] : _props$defaultValue,
65
+ value = props.value,
66
+ _props$onValueChange = props.onValueChange,
67
+ onValueChange = _props$onValueChange === void 0 ? function () {} : _props$onValueChange,
68
+ _props$onValueCommit = props.onValueCommit,
69
+ onValueCommit = _props$onValueCommit === void 0 ? function () {} : _props$onValueCommit,
70
+ _props$inverted = props.inverted,
71
+ inverted = _props$inverted === void 0 ? false : _props$inverted,
72
+ form = props.form,
73
+ sliderProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
74
+ var thumbRefs = React.useRef(/* @__PURE__ */new Set());
75
+ var valueIndexToChangeRef = React.useRef(0);
76
+ var isHorizontal = orientation === "horizontal";
77
+ var SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;
78
+ var _useControllableState = index$2.useControllableState({
79
+ prop: value,
80
+ defaultProp: defaultValue,
81
+ onChange: function onChange(value2) {
82
+ var _thumbs$valueIndexToC;
83
+ var thumbs = _rollupPluginBabelHelpers.toConsumableArray(thumbRefs.current);
84
+ (_thumbs$valueIndexToC = thumbs[valueIndexToChangeRef.current]) === null || _thumbs$valueIndexToC === void 0 ? void 0 : _thumbs$valueIndexToC.focus();
85
+ onValueChange(value2);
86
+ }
87
+ }),
88
+ _useControllableState2 = _rollupPluginBabelHelpers.slicedToArray(_useControllableState, 2),
89
+ _useControllableState3 = _useControllableState2[0],
90
+ values = _useControllableState3 === void 0 ? [] : _useControllableState3,
91
+ setValues = _useControllableState2[1];
92
+ var valuesBeforeSlideStartRef = React.useRef(values);
93
+ function handleSlideStart(value2) {
94
+ var closestIndex = getClosestValueIndex(values, value2);
95
+ updateValues(value2, closestIndex);
96
+ }
97
+ function handleSlideMove(value2) {
98
+ updateValues(value2, valueIndexToChangeRef.current);
99
+ }
100
+ function handleSlideEnd() {
101
+ var prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];
102
+ var nextValue = values[valueIndexToChangeRef.current];
103
+ var hasChanged = nextValue !== prevValue;
104
+ if (hasChanged) onValueCommit(values);
105
+ }
106
+ function updateValues(value2, atIndex) {
107
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
108
+ commit: false
109
+ },
110
+ commit = _ref.commit;
111
+ var decimalCount = getDecimalCount(step);
112
+ var snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);
113
+ var nextValue = index$6.clamp(snapToStep, [min, max]);
114
+ setValues(function () {
115
+ var prevValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
116
+ var nextValues = getNextSortedValues(prevValues, nextValue, atIndex);
117
+ if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {
118
+ valueIndexToChangeRef.current = nextValues.indexOf(nextValue);
119
+ var hasChanged = String(nextValues) !== String(prevValues);
120
+ if (hasChanged && commit) onValueCommit(nextValues);
121
+ return hasChanged ? nextValues : prevValues;
122
+ } else {
123
+ return prevValues;
124
+ }
125
+ });
126
+ }
127
+ return /* @__PURE__ */jsxRuntime.jsx(SliderProvider, {
128
+ scope: props.__scopeSlider,
129
+ name: name,
130
+ disabled: disabled,
131
+ min: min,
132
+ max: max,
133
+ valueIndexToChangeRef: valueIndexToChangeRef,
134
+ thumbs: thumbRefs.current,
135
+ values: values,
136
+ orientation: orientation,
137
+ form: form,
138
+ children: /* @__PURE__ */jsxRuntime.jsx(Collection.Provider, {
139
+ scope: props.__scopeSlider,
140
+ children: /* @__PURE__ */jsxRuntime.jsx(Collection.Slot, {
141
+ scope: props.__scopeSlider,
142
+ children: /* @__PURE__ */jsxRuntime.jsx(SliderOrientation, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
143
+ "aria-disabled": disabled,
144
+ "data-disabled": disabled ? "" : void 0
145
+ }, sliderProps), {}, {
146
+ ref: forwardedRef,
147
+ onPointerDown: index$3.composeEventHandlers(sliderProps.onPointerDown, function () {
148
+ if (!disabled) valuesBeforeSlideStartRef.current = values;
149
+ }),
150
+ min: min,
151
+ max: max,
152
+ inverted: inverted,
153
+ onSlideStart: disabled ? void 0 : handleSlideStart,
154
+ onSlideMove: disabled ? void 0 : handleSlideMove,
155
+ onSlideEnd: disabled ? void 0 : handleSlideEnd,
156
+ onHomeKeyDown: function onHomeKeyDown() {
157
+ return !disabled && updateValues(min, 0, {
158
+ commit: true
159
+ });
160
+ },
161
+ onEndKeyDown: function onEndKeyDown() {
162
+ return !disabled && updateValues(max, values.length - 1, {
163
+ commit: true
164
+ });
165
+ },
166
+ onStepKeyDown: function onStepKeyDown(_ref2) {
167
+ var event = _ref2.event,
168
+ stepDirection = _ref2.direction;
169
+ if (!disabled) {
170
+ var isPageKey = PAGE_KEYS.includes(event.key);
171
+ var isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);
172
+ var multiplier = isSkipKey ? 10 : 1;
173
+ var atIndex = valueIndexToChangeRef.current;
174
+ var value2 = values[atIndex];
175
+ var stepInDirection = step * multiplier * stepDirection;
176
+ updateValues(value2 + stepInDirection, atIndex, {
177
+ commit: true
178
+ });
179
+ }
180
+ }
181
+ }))
182
+ })
183
+ })
184
+ });
185
+ });
186
+ Slider.displayName = SLIDER_NAME;
187
+ var _createSliderContext3 = createSliderContext(SLIDER_NAME, {
188
+ startEdge: "left",
189
+ endEdge: "right",
190
+ size: "width",
191
+ direction: 1
192
+ }),
193
+ _createSliderContext4 = _rollupPluginBabelHelpers.slicedToArray(_createSliderContext3, 2),
194
+ SliderOrientationProvider = _createSliderContext4[0],
195
+ useSliderOrientationContext = _createSliderContext4[1];
196
+ var SliderHorizontal = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
197
+ var min = props.min,
198
+ max = props.max,
199
+ dir = props.dir,
200
+ inverted = props.inverted,
201
+ _onSlideStart = props.onSlideStart,
202
+ _onSlideMove = props.onSlideMove,
203
+ _onSlideEnd = props.onSlideEnd,
204
+ _onStepKeyDown = props.onStepKeyDown,
205
+ sliderProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded2);
206
+ var _React$useState = React.useState(null),
207
+ _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
208
+ slider = _React$useState2[0],
209
+ setSlider = _React$useState2[1];
210
+ var composedRefs = index$5.useComposedRefs(forwardedRef, function (node) {
211
+ return setSlider(node);
212
+ });
213
+ var rectRef = React.useRef(void 0);
214
+ var direction = index$9.useDirection(dir);
215
+ var isDirectionLTR = direction === "ltr";
216
+ var isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;
217
+ function getValueFromPointer(pointerPosition) {
218
+ var rect = rectRef.current || slider.getBoundingClientRect();
219
+ var input = [0, rect.width];
220
+ var output = isSlidingFromLeft ? [min, max] : [max, min];
221
+ var value = linearScale(input, output);
222
+ rectRef.current = rect;
223
+ return value(pointerPosition - rect.left);
224
+ }
225
+ return /* @__PURE__ */jsxRuntime.jsx(SliderOrientationProvider, {
226
+ scope: props.__scopeSlider,
227
+ startEdge: isSlidingFromLeft ? "left" : "right",
228
+ endEdge: isSlidingFromLeft ? "right" : "left",
229
+ direction: isSlidingFromLeft ? 1 : -1,
230
+ size: "width",
231
+ children: /* @__PURE__ */jsxRuntime.jsx(SliderImpl, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
232
+ dir: direction,
233
+ "data-orientation": "horizontal"
234
+ }, sliderProps), {}, {
235
+ ref: composedRefs,
236
+ style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, sliderProps.style), {}, _rollupPluginBabelHelpers.defineProperty({}, "--radix-slider-thumb-transform", "translateX(-50%)")),
237
+ onSlideStart: function onSlideStart(event) {
238
+ var value = getValueFromPointer(event.clientX);
239
+ _onSlideStart === null || _onSlideStart === void 0 ? void 0 : _onSlideStart(value);
240
+ },
241
+ onSlideMove: function onSlideMove(event) {
242
+ var value = getValueFromPointer(event.clientX);
243
+ _onSlideMove === null || _onSlideMove === void 0 ? void 0 : _onSlideMove(value);
244
+ },
245
+ onSlideEnd: function onSlideEnd() {
246
+ rectRef.current = void 0;
247
+ _onSlideEnd === null || _onSlideEnd === void 0 ? void 0 : _onSlideEnd();
248
+ },
249
+ onStepKeyDown: function onStepKeyDown(event) {
250
+ var slideDirection = isSlidingFromLeft ? "from-left" : "from-right";
251
+ var isBackKey = BACK_KEYS[slideDirection].includes(event.key);
252
+ _onStepKeyDown === null || _onStepKeyDown === void 0 ? void 0 : _onStepKeyDown({
253
+ event: event,
254
+ direction: isBackKey ? -1 : 1
255
+ });
256
+ }
257
+ }))
258
+ });
259
+ });
260
+ var SliderVertical = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
261
+ var min = props.min,
262
+ max = props.max,
263
+ inverted = props.inverted,
264
+ _onSlideStart2 = props.onSlideStart,
265
+ _onSlideMove2 = props.onSlideMove,
266
+ _onSlideEnd2 = props.onSlideEnd,
267
+ _onStepKeyDown2 = props.onStepKeyDown,
268
+ sliderProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded3);
269
+ var sliderRef = React.useRef(null);
270
+ var ref = index$5.useComposedRefs(forwardedRef, sliderRef);
271
+ var rectRef = React.useRef(void 0);
272
+ var isSlidingFromBottom = !inverted;
273
+ function getValueFromPointer(pointerPosition) {
274
+ var rect = rectRef.current || sliderRef.current.getBoundingClientRect();
275
+ var input = [0, rect.height];
276
+ var output = isSlidingFromBottom ? [max, min] : [min, max];
277
+ var value = linearScale(input, output);
278
+ rectRef.current = rect;
279
+ return value(pointerPosition - rect.top);
280
+ }
281
+ return /* @__PURE__ */jsxRuntime.jsx(SliderOrientationProvider, {
282
+ scope: props.__scopeSlider,
283
+ startEdge: isSlidingFromBottom ? "bottom" : "top",
284
+ endEdge: isSlidingFromBottom ? "top" : "bottom",
285
+ size: "height",
286
+ direction: isSlidingFromBottom ? 1 : -1,
287
+ children: /* @__PURE__ */jsxRuntime.jsx(SliderImpl, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
288
+ "data-orientation": "vertical"
289
+ }, sliderProps), {}, {
290
+ ref: ref,
291
+ style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, sliderProps.style), {}, _rollupPluginBabelHelpers.defineProperty({}, "--radix-slider-thumb-transform", "translateY(50%)")),
292
+ onSlideStart: function onSlideStart(event) {
293
+ var value = getValueFromPointer(event.clientY);
294
+ _onSlideStart2 === null || _onSlideStart2 === void 0 ? void 0 : _onSlideStart2(value);
295
+ },
296
+ onSlideMove: function onSlideMove(event) {
297
+ var value = getValueFromPointer(event.clientY);
298
+ _onSlideMove2 === null || _onSlideMove2 === void 0 ? void 0 : _onSlideMove2(value);
299
+ },
300
+ onSlideEnd: function onSlideEnd() {
301
+ rectRef.current = void 0;
302
+ _onSlideEnd2 === null || _onSlideEnd2 === void 0 ? void 0 : _onSlideEnd2();
303
+ },
304
+ onStepKeyDown: function onStepKeyDown(event) {
305
+ var slideDirection = isSlidingFromBottom ? "from-bottom" : "from-top";
306
+ var isBackKey = BACK_KEYS[slideDirection].includes(event.key);
307
+ _onStepKeyDown2 === null || _onStepKeyDown2 === void 0 ? void 0 : _onStepKeyDown2({
308
+ event: event,
309
+ direction: isBackKey ? -1 : 1
310
+ });
311
+ }
312
+ }))
313
+ });
314
+ });
315
+ var SliderImpl = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
316
+ var __scopeSlider = props.__scopeSlider,
317
+ onSlideStart = props.onSlideStart,
318
+ onSlideMove = props.onSlideMove,
319
+ onSlideEnd = props.onSlideEnd,
320
+ onHomeKeyDown = props.onHomeKeyDown,
321
+ onEndKeyDown = props.onEndKeyDown,
322
+ onStepKeyDown = props.onStepKeyDown,
323
+ sliderProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded4);
324
+ var context = useSliderContext(SLIDER_NAME, __scopeSlider);
325
+ return /* @__PURE__ */jsxRuntime.jsx(index$4.Primitive.span, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, sliderProps), {}, {
326
+ ref: forwardedRef,
327
+ onKeyDown: index$3.composeEventHandlers(props.onKeyDown, function (event) {
328
+ if (event.key === "Home") {
329
+ onHomeKeyDown(event);
330
+ event.preventDefault();
331
+ } else if (event.key === "End") {
332
+ onEndKeyDown(event);
333
+ event.preventDefault();
334
+ } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {
335
+ onStepKeyDown(event);
336
+ event.preventDefault();
337
+ }
338
+ }),
339
+ onPointerDown: index$3.composeEventHandlers(props.onPointerDown, function (event) {
340
+ var target = event.target;
341
+ target.setPointerCapture(event.pointerId);
342
+ event.preventDefault();
343
+ if (context.thumbs.has(target)) {
344
+ target.focus();
345
+ } else {
346
+ onSlideStart(event);
347
+ }
348
+ }),
349
+ onPointerMove: index$3.composeEventHandlers(props.onPointerMove, function (event) {
350
+ var target = event.target;
351
+ if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);
352
+ }),
353
+ onPointerUp: index$3.composeEventHandlers(props.onPointerUp, function (event) {
354
+ var target = event.target;
355
+ if (target.hasPointerCapture(event.pointerId)) {
356
+ target.releasePointerCapture(event.pointerId);
357
+ onSlideEnd(event);
358
+ }
359
+ })
360
+ }));
361
+ });
362
+ var TRACK_NAME = "SliderTrack";
363
+ var SliderTrack = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
364
+ var __scopeSlider = props.__scopeSlider,
365
+ trackProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded5);
366
+ var context = useSliderContext(TRACK_NAME, __scopeSlider);
367
+ return /* @__PURE__ */jsxRuntime.jsx(index$4.Primitive.span, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
368
+ "data-disabled": context.disabled ? "" : void 0,
369
+ "data-orientation": context.orientation
370
+ }, trackProps), {}, {
371
+ ref: forwardedRef
372
+ }));
373
+ });
374
+ SliderTrack.displayName = TRACK_NAME;
375
+ var RANGE_NAME = "SliderRange";
376
+ var SliderRange = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
377
+ var __scopeSlider = props.__scopeSlider,
378
+ rangeProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded6);
379
+ var context = useSliderContext(RANGE_NAME, __scopeSlider);
380
+ var orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);
381
+ var ref = React.useRef(null);
382
+ var composedRefs = index$5.useComposedRefs(forwardedRef, ref);
383
+ var valuesCount = context.values.length;
384
+ var percentages = context.values.map(function (value) {
385
+ return convertValueToPercentage(value, context.min, context.max);
386
+ });
387
+ var offsetStart = valuesCount > 1 ? Math.min.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(percentages)) : 0;
388
+ var offsetEnd = 100 - Math.max.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(percentages));
389
+ return /* @__PURE__ */jsxRuntime.jsx(index$4.Primitive.span, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
390
+ "data-orientation": context.orientation,
391
+ "data-disabled": context.disabled ? "" : void 0
392
+ }, rangeProps), {}, {
393
+ ref: composedRefs,
394
+ style: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, props.style), {}, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, orientation.startEdge, offsetStart + "%"), orientation.endEdge, offsetEnd + "%"))
395
+ }));
396
+ });
397
+ SliderRange.displayName = RANGE_NAME;
398
+ var THUMB_NAME = "SliderThumb";
399
+ var SliderThumb = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
400
+ var getItems = useCollection(props.__scopeSlider);
401
+ var _React$useState3 = React.useState(null),
402
+ _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
403
+ thumb = _React$useState4[0],
404
+ setThumb = _React$useState4[1];
405
+ var composedRefs = index$5.useComposedRefs(forwardedRef, function (node) {
406
+ return setThumb(node);
407
+ });
408
+ var index = React.useMemo(function () {
409
+ return thumb ? getItems().findIndex(function (item) {
410
+ return item.ref.current === thumb;
411
+ }) : -1;
412
+ }, [getItems, thumb]);
413
+ return /* @__PURE__ */jsxRuntime.jsx(SliderThumbImpl, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, props), {}, {
414
+ ref: composedRefs,
415
+ index: index
416
+ }));
417
+ });
418
+ var SliderThumbImpl = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
419
+ var __scopeSlider = props.__scopeSlider,
420
+ index = props.index,
421
+ name = props.name,
422
+ thumbProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded7);
423
+ var context = useSliderContext(THUMB_NAME, __scopeSlider);
424
+ var orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);
425
+ var _React$useState5 = React.useState(null),
426
+ _React$useState6 = _rollupPluginBabelHelpers.slicedToArray(_React$useState5, 2),
427
+ thumb = _React$useState6[0],
428
+ setThumb = _React$useState6[1];
429
+ var composedRefs = index$5.useComposedRefs(forwardedRef, function (node) {
430
+ return setThumb(node);
431
+ });
432
+ var isFormControl = thumb ? context.form || !!thumb.closest("form") : true;
433
+ var size = index$7.useSize(thumb);
434
+ var value = context.values[index];
435
+ var percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);
436
+ var label = getLabel(index, context.values.length);
437
+ var orientationSize = size === null || size === void 0 ? void 0 : size[orientation.size];
438
+ var thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;
439
+ React.useEffect(function () {
440
+ if (thumb) {
441
+ context.thumbs.add(thumb);
442
+ return function () {
443
+ context.thumbs.delete(thumb);
444
+ };
445
+ }
446
+ }, [thumb, context.thumbs]);
447
+ return /* @__PURE__ */jsxRuntime.jsxs("span", {
448
+ style: _rollupPluginBabelHelpers.defineProperty({
449
+ transform: "var(--radix-slider-thumb-transform)",
450
+ position: "absolute"
451
+ }, orientation.startEdge, "calc(".concat(percent, "% + ").concat(thumbInBoundsOffset, "px)")),
452
+ children: [/* @__PURE__ */jsxRuntime.jsx(Collection.ItemSlot, {
453
+ scope: props.__scopeSlider,
454
+ children: /* @__PURE__ */jsxRuntime.jsx(index$4.Primitive.span, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
455
+ role: "slider",
456
+ "aria-label": props["aria-label"] || label,
457
+ "aria-valuemin": context.min,
458
+ "aria-valuenow": value,
459
+ "aria-valuemax": context.max,
460
+ "aria-orientation": context.orientation,
461
+ "data-orientation": context.orientation,
462
+ "data-disabled": context.disabled ? "" : void 0,
463
+ tabIndex: context.disabled ? void 0 : 0
464
+ }, thumbProps), {}, {
465
+ ref: composedRefs,
466
+ style: value === void 0 ? {
467
+ display: "none"
468
+ } : props.style,
469
+ onFocus: index$3.composeEventHandlers(props.onFocus, function () {
470
+ context.valueIndexToChangeRef.current = index;
471
+ })
472
+ }))
473
+ }), isFormControl && /* @__PURE__ */jsxRuntime.jsx(BubbleInput, {
474
+ name: name !== null && name !== void 0 ? name : context.name ? context.name + (context.values.length > 1 ? "[]" : "") : void 0,
475
+ form: context.form,
476
+ value: value
477
+ }, index)]
478
+ });
479
+ });
480
+ SliderThumb.displayName = THUMB_NAME;
481
+ var BubbleInput = function BubbleInput(props) {
482
+ var value = props.value,
483
+ inputProps = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded8);
484
+ var ref = React.useRef(null);
485
+ var prevValue = index$8.usePrevious(value);
486
+ React.useEffect(function () {
487
+ var input = ref.current;
488
+ var inputProto = window.HTMLInputElement.prototype;
489
+ var descriptor = Object.getOwnPropertyDescriptor(inputProto, "value");
490
+ var setValue = descriptor.set;
491
+ if (prevValue !== value && setValue) {
492
+ var event = new Event("input", {
493
+ bubbles: true
494
+ });
495
+ setValue.call(input, value);
496
+ input.dispatchEvent(event);
497
+ }
498
+ }, [prevValue, value]);
499
+ return /* @__PURE__ */jsxRuntime.jsx("input", _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
500
+ style: {
501
+ display: "none"
502
+ }
503
+ }, inputProps), {}, {
504
+ ref: ref,
505
+ defaultValue: value
506
+ }));
507
+ };
508
+ function getNextSortedValues() {
509
+ var prevValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
510
+ var nextValue = arguments.length > 1 ? arguments[1] : undefined;
511
+ var atIndex = arguments.length > 2 ? arguments[2] : undefined;
512
+ var nextValues = _rollupPluginBabelHelpers.toConsumableArray(prevValues);
513
+ nextValues[atIndex] = nextValue;
514
+ return nextValues.sort(function (a, b) {
515
+ return a - b;
516
+ });
517
+ }
518
+ function convertValueToPercentage(value, min, max) {
519
+ var maxSteps = max - min;
520
+ var percentPerStep = 100 / maxSteps;
521
+ var percentage = percentPerStep * (value - min);
522
+ return index$6.clamp(percentage, [0, 100]);
523
+ }
524
+ function getLabel(index, totalValues) {
525
+ if (totalValues > 2) {
526
+ return "Value ".concat(index + 1, " of ").concat(totalValues);
527
+ } else if (totalValues === 2) {
528
+ return ["Minimum", "Maximum"][index];
529
+ } else {
530
+ return void 0;
531
+ }
532
+ }
533
+ function getClosestValueIndex(values, nextValue) {
534
+ if (values.length === 1) return 0;
535
+ var distances = values.map(function (value) {
536
+ return Math.abs(value - nextValue);
537
+ });
538
+ var closestDistance = Math.min.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(distances));
539
+ return distances.indexOf(closestDistance);
540
+ }
541
+ function getThumbInBoundsOffset(width, left, direction) {
542
+ var halfWidth = width / 2;
543
+ var halfPercent = 50;
544
+ var offset = linearScale([0, halfPercent], [0, halfWidth]);
545
+ return (halfWidth - offset(left) * direction) * direction;
546
+ }
547
+ function getStepsBetweenValues(values) {
548
+ return values.slice(0, -1).map(function (value, index) {
549
+ return values[index + 1] - value;
550
+ });
551
+ }
552
+ function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
553
+ if (minStepsBetweenValues > 0) {
554
+ var stepsBetweenValues = getStepsBetweenValues(values);
555
+ var actualMinStepsBetweenValues = Math.min.apply(Math, _rollupPluginBabelHelpers.toConsumableArray(stepsBetweenValues));
556
+ return actualMinStepsBetweenValues >= minStepsBetweenValues;
557
+ }
558
+ return true;
559
+ }
560
+ function linearScale(input, output) {
561
+ return function (value) {
562
+ if (input[0] === input[1] || output[0] === output[1]) return output[0];
563
+ var ratio = (output[1] - output[0]) / (input[1] - input[0]);
564
+ return output[0] + ratio * (value - input[0]);
565
+ };
566
+ }
567
+ function getDecimalCount(value) {
568
+ return (String(value).split(".")[1] || "").length;
569
+ }
570
+ function roundValue(value, decimalCount) {
571
+ var rounder = Math.pow(10, decimalCount);
572
+ return Math.round(value * rounder) / rounder;
573
+ }
574
+ var Root = Slider;
575
+ var Track = SliderTrack;
576
+ var Range = SliderRange;
577
+ var Thumb = SliderThumb;
578
+
579
+ exports.Range = Range;
580
+ exports.Root = Root;
581
+ exports.Slider = Slider;
582
+ exports.SliderRange = SliderRange;
583
+ exports.SliderThumb = SliderThumb;
584
+ exports.SliderTrack = SliderTrack;
585
+ exports.Thumb = Thumb;
586
+ exports.Track = Track;
587
+ exports.createSliderScope = createSliderScope;
588
+ //# sourceMappingURL=index.mjs.js.map