@drjoshcsimmons/scl 0.2.4 → 0.2.5

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 (128) hide show
  1. package/dist/index100.js +205 -167
  2. package/dist/index101.js +14 -55
  3. package/dist/index102.js +47 -29
  4. package/dist/index103.js +49 -29
  5. package/dist/index104.js +9 -15
  6. package/dist/index105.js +47 -29
  7. package/dist/index106.js +646 -44
  8. package/dist/index107.js +12 -45
  9. package/dist/index108.js +3 -54
  10. package/dist/index109.js +9 -30
  11. package/dist/index11.js +2 -2
  12. package/dist/index110.js +30 -13
  13. package/dist/index111.js +44 -646
  14. package/dist/index112.js +30 -9
  15. package/dist/index113.js +1 -1
  16. package/dist/index114.js +6 -48
  17. package/dist/index115.js +47 -11
  18. package/dist/index116.js +10 -204
  19. package/dist/index117.js +204 -20
  20. package/dist/index118.js +21 -399
  21. package/dist/index119.js +399 -20
  22. package/dist/index12.js +1 -1
  23. package/dist/index120.js +15 -3
  24. package/dist/index121.js +3 -32
  25. package/dist/index122.js +32 -12
  26. package/dist/index123.js +18 -6
  27. package/dist/index124.js +1 -1
  28. package/dist/index125.js +2 -25
  29. package/dist/index126.js +53 -29
  30. package/dist/index127.js +65 -5
  31. package/dist/index128.js +25 -2
  32. package/dist/index129.js +29 -53
  33. package/dist/index13.js +2 -2
  34. package/dist/index130.js +5 -65
  35. package/dist/index131.js +2 -5
  36. package/dist/index132.js +2 -3
  37. package/dist/index133.js +5 -24
  38. package/dist/index134.js +3 -113
  39. package/dist/index135.js +23 -15
  40. package/dist/index136.js +107 -519
  41. package/dist/index137.js +14 -126
  42. package/dist/index138.js +516 -125
  43. package/dist/index139.js +128 -2
  44. package/dist/index14.js +2 -2
  45. package/dist/index140.js +134 -2
  46. package/dist/index141.js +65 -69
  47. package/dist/index142.js +68 -8
  48. package/dist/index143.js +9 -14
  49. package/dist/index144.js +14 -66
  50. package/dist/index145.js +65 -64
  51. package/dist/index15.js +2 -2
  52. package/dist/index17.js +4 -4
  53. package/dist/index18.js +2 -2
  54. package/dist/index20.js +2 -2
  55. package/dist/index21.js +1 -1
  56. package/dist/index22.js +1 -1
  57. package/dist/index23.js +2 -2
  58. package/dist/index24.js +1 -1
  59. package/dist/index25.js +4 -4
  60. package/dist/index26.js +1 -1
  61. package/dist/index27.js +3 -3
  62. package/dist/index29.js +1 -1
  63. package/dist/index31.js +1 -1
  64. package/dist/index33.js +1 -1
  65. package/dist/index36.js +2 -2
  66. package/dist/index37.js +1 -1
  67. package/dist/index4.js +2 -2
  68. package/dist/index45.js +108 -220
  69. package/dist/index46.js +33 -11
  70. package/dist/index47.js +249 -33
  71. package/dist/index48.js +9 -60
  72. package/dist/index49.js +62 -107
  73. package/dist/index5.js +1 -1
  74. package/dist/index50.js +220 -108
  75. package/dist/index51.js +11 -435
  76. package/dist/index52.js +56 -856
  77. package/dist/index53.js +5 -2
  78. package/dist/index54.js +18 -9
  79. package/dist/index55.js +105 -117
  80. package/dist/index56.js +64 -512
  81. package/dist/index57.js +217 -137
  82. package/dist/index58.js +224 -70
  83. package/dist/index59.js +11 -18
  84. package/dist/index6.js +1 -1
  85. package/dist/index60.js +91 -197
  86. package/dist/index61.js +254 -11
  87. package/dist/index62.js +256 -27
  88. package/dist/index63.js +12 -310
  89. package/dist/index64.js +225 -12
  90. package/dist/index65.js +11 -260
  91. package/dist/index66.js +31 -12
  92. package/dist/index67.js +308 -20
  93. package/dist/index68.js +12 -225
  94. package/dist/index69.js +530 -11
  95. package/dist/index7.js +1 -1
  96. package/dist/index70.js +823 -204
  97. package/dist/index71.js +9 -73
  98. package/dist/index72.js +336 -12
  99. package/dist/index73.js +402 -216
  100. package/dist/index74.js +143 -318
  101. package/dist/index75.js +20 -252
  102. package/dist/index76.js +23 -64
  103. package/dist/index77.js +64 -42
  104. package/dist/index78.js +5 -25
  105. package/dist/index79.js +51 -6
  106. package/dist/index8.js +1 -1
  107. package/dist/index80.js +5 -51
  108. package/dist/index81.js +24 -33
  109. package/dist/index82.js +68 -10
  110. package/dist/index83.js +33 -7
  111. package/dist/index84.js +9 -4
  112. package/dist/index85.js +51 -65
  113. package/dist/index86.js +10 -8
  114. package/dist/index87.js +4 -4
  115. package/dist/index88.js +30 -6
  116. package/dist/index89.js +12 -24
  117. package/dist/index9.js +2 -2
  118. package/dist/index90.js +44 -123
  119. package/dist/index91.js +10 -14
  120. package/dist/index92.js +7 -134
  121. package/dist/index93.js +30 -219
  122. package/dist/index94.js +55 -14
  123. package/dist/index95.js +29 -47
  124. package/dist/index96.js +180 -10
  125. package/dist/index97.js +124 -29
  126. package/dist/index98.js +15 -50
  127. package/dist/index99.js +134 -8
  128. package/package.json +1 -1
package/dist/index73.js CHANGED
@@ -1,251 +1,437 @@
1
- import * as s from "react";
2
- import { useComposedRefs as B } from "./index78.js";
3
- import { createContextScope as L } from "./index76.js";
4
- import { composeEventHandlers as S } from "./index79.js";
5
- import { useControllableState as O } from "./index80.js";
6
- import { usePrevious as j } from "./index88.js";
7
- import { useSize as H } from "./index89.js";
8
- import { Presence as z } from "./index85.js";
9
- import { Primitive as P } from "./index81.js";
10
- import { jsx as b, jsxs as G, Fragment as K } from "react/jsx-runtime";
11
- var g = "Checkbox", [U] = L(g), [X, E] = U(g);
12
- function J(t) {
13
- const {
14
- __scopeCheckbox: a,
15
- checked: c,
16
- children: u,
17
- defaultChecked: r,
18
- disabled: e,
19
- form: p,
20
- name: f,
21
- onCheckedChange: i,
22
- required: m,
23
- value: C = "on",
24
- // @ts-expect-error
25
- internal_do_not_use_render: d
26
- } = t, [l, v] = O({
27
- prop: c,
28
- defaultProp: r ?? !1,
29
- onChange: i,
30
- caller: g
31
- }), [k, x] = s.useState(null), [_, o] = s.useState(null), n = s.useRef(!1), I = k ? !!p || !!k.closest("form") : (
32
- // We set this to true by default so that events bubble to forms without JS (SSR)
33
- !0
34
- ), R = {
35
- checked: l,
36
- disabled: e,
37
- setChecked: v,
38
- control: k,
39
- setControl: x,
40
- name: f,
41
- form: p,
42
- value: C,
43
- hasConsumerStoppedPropagationRef: n,
44
- required: m,
45
- defaultChecked: h(r) ? !1 : r,
46
- isFormControl: I,
47
- bubbleInput: _,
48
- setBubbleInput: o
49
- };
50
- return /* @__PURE__ */ b(
51
- X,
52
- {
53
- scope: a,
54
- ...R,
55
- children: W(d) ? d(R) : u
56
- }
57
- );
58
- }
59
- var N = "CheckboxTrigger", w = s.forwardRef(
60
- ({ __scopeCheckbox: t, onKeyDown: a, onClick: c, ...u }, r) => {
1
+ import * as d from "react";
2
+ import { clamp as $ } from "./index108.js";
3
+ import { composeEventHandlers as C } from "./index78.js";
4
+ import { useComposedRefs as M } from "./index76.js";
5
+ import { createContextScope as ce } from "./index77.js";
6
+ import { useControllableState as le } from "./index79.js";
7
+ import { useDirection as de } from "./index92.js";
8
+ import { usePrevious as ue } from "./index80.js";
9
+ import { useSize as fe } from "./index81.js";
10
+ import { Primitive as K } from "./index83.js";
11
+ import { createCollection as me } from "./index90.js";
12
+ import { jsx as v, jsxs as pe } from "react/jsx-runtime";
13
+ var j = ["PageUp", "PageDown"], X = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"], G = {
14
+ "from-left": ["Home", "PageDown", "ArrowDown", "ArrowLeft"],
15
+ "from-right": ["Home", "PageDown", "ArrowDown", "ArrowRight"],
16
+ "from-bottom": ["Home", "PageDown", "ArrowDown", "ArrowLeft"],
17
+ "from-top": ["Home", "PageDown", "ArrowUp", "ArrowLeft"]
18
+ }, I = "Slider", [z, he, Se] = me(I), [W] = ce(I, [
19
+ Se
20
+ ]), [ge, T] = W(I), q = d.forwardRef(
21
+ (e, t) => {
61
22
  const {
62
- control: e,
63
- value: p,
64
- disabled: f,
65
- checked: i,
66
- required: m,
67
- setControl: C,
68
- setChecked: d,
69
- hasConsumerStoppedPropagationRef: l,
70
- isFormControl: v,
71
- bubbleInput: k
72
- } = E(N, t), x = B(r, C), _ = s.useRef(i);
73
- return s.useEffect(() => {
74
- const o = e == null ? void 0 : e.form;
75
- if (o) {
76
- const n = () => d(_.current);
77
- return o.addEventListener("reset", n), () => o.removeEventListener("reset", n);
23
+ name: o,
24
+ min: n = 0,
25
+ max: a = 100,
26
+ step: c = 1,
27
+ orientation: r = "horizontal",
28
+ disabled: s = !1,
29
+ minStepsBetweenThumbs: l = 0,
30
+ defaultValue: h = [n],
31
+ value: S,
32
+ onValueChange: i = () => {
33
+ },
34
+ onValueCommit: u = () => {
35
+ },
36
+ inverted: w = !1,
37
+ form: P,
38
+ ...g
39
+ } = e, m = d.useRef(/* @__PURE__ */ new Set()), f = d.useRef(0), b = r === "horizontal" ? ve : we, [p = [], A] = le({
40
+ prop: S,
41
+ defaultProp: h,
42
+ onChange: (R) => {
43
+ var E;
44
+ (E = [...m.current][f.current]) == null || E.focus(), i(R);
78
45
  }
79
- }, [e, d]), /* @__PURE__ */ b(
80
- P.button,
46
+ }), k = d.useRef(p);
47
+ function H(R) {
48
+ const x = ye(p, R);
49
+ V(R, x);
50
+ }
51
+ function se(R) {
52
+ V(R, f.current);
53
+ }
54
+ function ae() {
55
+ const R = k.current[f.current];
56
+ p[f.current] !== R && u(p);
57
+ }
58
+ function V(R, x, { commit: E } = { commit: !1 }) {
59
+ const F = Ce(c), N = Me(Math.round((R - n) / c) * c + n, F), B = $(N, [n, a]);
60
+ A((_ = []) => {
61
+ const y = Pe(_, B, x);
62
+ if (_e(y, l * c)) {
63
+ f.current = y.indexOf(B);
64
+ const Y = String(y) !== String(_);
65
+ return Y && E && u(y), Y ? y : _;
66
+ } else
67
+ return _;
68
+ });
69
+ }
70
+ return /* @__PURE__ */ v(
71
+ ge,
81
72
  {
82
- type: "button",
83
- role: "checkbox",
84
- "aria-checked": h(i) ? "mixed" : i,
85
- "aria-required": m,
86
- "data-state": A(i),
87
- "data-disabled": f ? "" : void 0,
88
- disabled: f,
89
- value: p,
90
- ...u,
91
- ref: x,
92
- onKeyDown: S(a, (o) => {
93
- o.key === "Enter" && o.preventDefault();
94
- }),
95
- onClick: S(c, (o) => {
96
- d((n) => h(n) ? !0 : !n), k && v && (l.current = o.isPropagationStopped(), l.current || o.stopPropagation());
97
- })
73
+ scope: e.__scopeSlider,
74
+ name: o,
75
+ disabled: s,
76
+ min: n,
77
+ max: a,
78
+ valueIndexToChangeRef: f,
79
+ thumbs: m.current,
80
+ values: p,
81
+ orientation: r,
82
+ form: P,
83
+ children: /* @__PURE__ */ v(z.Provider, { scope: e.__scopeSlider, children: /* @__PURE__ */ v(z.Slot, { scope: e.__scopeSlider, children: /* @__PURE__ */ v(
84
+ b,
85
+ {
86
+ "aria-disabled": s,
87
+ "data-disabled": s ? "" : void 0,
88
+ ...g,
89
+ ref: t,
90
+ onPointerDown: C(g.onPointerDown, () => {
91
+ s || (k.current = p);
92
+ }),
93
+ min: n,
94
+ max: a,
95
+ inverted: w,
96
+ onSlideStart: s ? void 0 : H,
97
+ onSlideMove: s ? void 0 : se,
98
+ onSlideEnd: s ? void 0 : ae,
99
+ onHomeKeyDown: () => !s && V(n, 0, { commit: !0 }),
100
+ onEndKeyDown: () => !s && V(a, p.length - 1, { commit: !0 }),
101
+ onStepKeyDown: ({ event: R, direction: x }) => {
102
+ if (!s) {
103
+ const N = j.includes(R.key) || R.shiftKey && X.includes(R.key) ? 10 : 1, B = f.current, _ = p[B], y = c * N * x;
104
+ V(_ + y, B, { commit: !0 });
105
+ }
106
+ }
107
+ }
108
+ ) }) })
98
109
  }
99
110
  );
100
111
  }
101
112
  );
102
- w.displayName = N;
103
- var Q = s.forwardRef(
104
- (t, a) => {
113
+ q.displayName = I;
114
+ var [J, Q] = W(I, {
115
+ startEdge: "left",
116
+ endEdge: "right",
117
+ size: "width",
118
+ direction: 1
119
+ }), ve = d.forwardRef(
120
+ (e, t) => {
105
121
  const {
106
- __scopeCheckbox: c,
107
- name: u,
108
- checked: r,
109
- defaultChecked: e,
110
- required: p,
111
- disabled: f,
112
- value: i,
113
- onCheckedChange: m,
114
- form: C,
115
- ...d
116
- } = t;
117
- return /* @__PURE__ */ b(
122
+ min: o,
123
+ max: n,
124
+ dir: a,
125
+ inverted: c,
126
+ onSlideStart: r,
127
+ onSlideMove: s,
128
+ onSlideEnd: l,
129
+ onStepKeyDown: h,
130
+ ...S
131
+ } = e, [i, u] = d.useState(null), w = M(t, (b) => u(b)), P = d.useRef(void 0), g = de(a), m = g === "ltr", f = m && !c || !m && c;
132
+ function D(b) {
133
+ const p = P.current || i.getBoundingClientRect(), A = [0, p.width], H = U(A, f ? [o, n] : [n, o]);
134
+ return P.current = p, H(b - p.left);
135
+ }
136
+ return /* @__PURE__ */ v(
118
137
  J,
119
138
  {
120
- __scopeCheckbox: c,
121
- checked: r,
122
- defaultChecked: e,
123
- disabled: f,
124
- required: p,
125
- onCheckedChange: m,
126
- name: u,
127
- form: C,
128
- value: i,
129
- internal_do_not_use_render: ({ isFormControl: l }) => /* @__PURE__ */ G(K, { children: [
130
- /* @__PURE__ */ b(
131
- w,
132
- {
133
- ...d,
134
- ref: a,
135
- __scopeCheckbox: c
136
- }
137
- ),
138
- l && /* @__PURE__ */ b(
139
- q,
140
- {
141
- __scopeCheckbox: c
139
+ scope: e.__scopeSlider,
140
+ startEdge: f ? "left" : "right",
141
+ endEdge: f ? "right" : "left",
142
+ direction: f ? 1 : -1,
143
+ size: "width",
144
+ children: /* @__PURE__ */ v(
145
+ Z,
146
+ {
147
+ dir: g,
148
+ "data-orientation": "horizontal",
149
+ ...S,
150
+ ref: w,
151
+ style: {
152
+ ...S.style,
153
+ "--radix-slider-thumb-transform": "translateX(-50%)"
154
+ },
155
+ onSlideStart: (b) => {
156
+ const p = D(b.clientX);
157
+ r == null || r(p);
158
+ },
159
+ onSlideMove: (b) => {
160
+ const p = D(b.clientX);
161
+ s == null || s(p);
162
+ },
163
+ onSlideEnd: () => {
164
+ P.current = void 0, l == null || l();
165
+ },
166
+ onStepKeyDown: (b) => {
167
+ const A = G[f ? "from-left" : "from-right"].includes(b.key);
168
+ h == null || h({ event: b, direction: A ? -1 : 1 });
142
169
  }
143
- )
144
- ] })
170
+ }
171
+ )
145
172
  }
146
173
  );
147
174
  }
148
- );
149
- Q.displayName = g;
150
- var T = "CheckboxIndicator", V = s.forwardRef(
151
- (t, a) => {
152
- const { __scopeCheckbox: c, forceMount: u, ...r } = t, e = E(T, c);
153
- return /* @__PURE__ */ b(
154
- z,
175
+ ), we = d.forwardRef(
176
+ (e, t) => {
177
+ const {
178
+ min: o,
179
+ max: n,
180
+ inverted: a,
181
+ onSlideStart: c,
182
+ onSlideMove: r,
183
+ onSlideEnd: s,
184
+ onStepKeyDown: l,
185
+ ...h
186
+ } = e, S = d.useRef(null), i = M(t, S), u = d.useRef(void 0), w = !a;
187
+ function P(g) {
188
+ const m = u.current || S.current.getBoundingClientRect(), f = [0, m.height], b = U(f, w ? [n, o] : [o, n]);
189
+ return u.current = m, b(g - m.top);
190
+ }
191
+ return /* @__PURE__ */ v(
192
+ J,
155
193
  {
156
- present: u || h(e.checked) || e.checked === !0,
157
- children: /* @__PURE__ */ b(
158
- P.span,
194
+ scope: e.__scopeSlider,
195
+ startEdge: w ? "bottom" : "top",
196
+ endEdge: w ? "top" : "bottom",
197
+ size: "height",
198
+ direction: w ? 1 : -1,
199
+ children: /* @__PURE__ */ v(
200
+ Z,
159
201
  {
160
- "data-state": A(e.checked),
161
- "data-disabled": e.disabled ? "" : void 0,
162
- ...r,
163
- ref: a,
164
- style: { pointerEvents: "none", ...t.style }
202
+ "data-orientation": "vertical",
203
+ ...h,
204
+ ref: i,
205
+ style: {
206
+ ...h.style,
207
+ "--radix-slider-thumb-transform": "translateY(50%)"
208
+ },
209
+ onSlideStart: (g) => {
210
+ const m = P(g.clientY);
211
+ c == null || c(m);
212
+ },
213
+ onSlideMove: (g) => {
214
+ const m = P(g.clientY);
215
+ r == null || r(m);
216
+ },
217
+ onSlideEnd: () => {
218
+ u.current = void 0, s == null || s();
219
+ },
220
+ onStepKeyDown: (g) => {
221
+ const f = G[w ? "from-bottom" : "from-top"].includes(g.key);
222
+ l == null || l({ event: g, direction: f ? -1 : 1 });
223
+ }
165
224
  }
166
225
  )
167
226
  }
168
227
  );
169
228
  }
170
- );
171
- V.displayName = T;
172
- var M = "CheckboxBubbleInput", q = s.forwardRef(
173
- ({ __scopeCheckbox: t, ...a }, c) => {
229
+ ), Z = d.forwardRef(
230
+ (e, t) => {
174
231
  const {
175
- control: u,
176
- hasConsumerStoppedPropagationRef: r,
177
- checked: e,
178
- defaultChecked: p,
179
- required: f,
180
- disabled: i,
181
- name: m,
182
- value: C,
183
- form: d,
184
- bubbleInput: l,
185
- setBubbleInput: v
186
- } = E(M, t), k = B(c, v), x = j(e), _ = H(u);
187
- s.useEffect(() => {
188
- const n = l;
189
- if (!n) return;
190
- const I = window.HTMLInputElement.prototype, y = Object.getOwnPropertyDescriptor(
191
- I,
192
- "checked"
193
- ).set, D = !r.current;
194
- if (x !== e && y) {
195
- const F = new Event("click", { bubbles: D });
196
- n.indeterminate = h(e), y.call(n, h(e) ? !1 : e), n.dispatchEvent(F);
232
+ __scopeSlider: o,
233
+ onSlideStart: n,
234
+ onSlideMove: a,
235
+ onSlideEnd: c,
236
+ onHomeKeyDown: r,
237
+ onEndKeyDown: s,
238
+ onStepKeyDown: l,
239
+ ...h
240
+ } = e, S = T(I, o);
241
+ return /* @__PURE__ */ v(
242
+ K.span,
243
+ {
244
+ ...h,
245
+ ref: t,
246
+ onKeyDown: C(e.onKeyDown, (i) => {
247
+ i.key === "Home" ? (r(i), i.preventDefault()) : i.key === "End" ? (s(i), i.preventDefault()) : j.concat(X).includes(i.key) && (l(i), i.preventDefault());
248
+ }),
249
+ onPointerDown: C(e.onPointerDown, (i) => {
250
+ const u = i.target;
251
+ u.setPointerCapture(i.pointerId), i.preventDefault(), S.thumbs.has(u) ? u.focus() : n(i);
252
+ }),
253
+ onPointerMove: C(e.onPointerMove, (i) => {
254
+ i.target.hasPointerCapture(i.pointerId) && a(i);
255
+ }),
256
+ onPointerUp: C(e.onPointerUp, (i) => {
257
+ const u = i.target;
258
+ u.hasPointerCapture(i.pointerId) && (u.releasePointerCapture(i.pointerId), c(i));
259
+ })
197
260
  }
198
- }, [l, x, e, r]);
199
- const o = s.useRef(h(e) ? !1 : e);
200
- return /* @__PURE__ */ b(
201
- P.input,
261
+ );
262
+ }
263
+ ), ee = "SliderTrack", te = d.forwardRef(
264
+ (e, t) => {
265
+ const { __scopeSlider: o, ...n } = e, a = T(ee, o);
266
+ return /* @__PURE__ */ v(
267
+ K.span,
202
268
  {
203
- type: "checkbox",
204
- "aria-hidden": !0,
205
- defaultChecked: p ?? o.current,
206
- required: f,
207
- disabled: i,
208
- name: m,
209
- value: C,
210
- form: d,
211
- ...a,
212
- tabIndex: -1,
213
- ref: k,
269
+ "data-disabled": a.disabled ? "" : void 0,
270
+ "data-orientation": a.orientation,
271
+ ...n,
272
+ ref: t
273
+ }
274
+ );
275
+ }
276
+ );
277
+ te.displayName = ee;
278
+ var L = "SliderRange", ne = d.forwardRef(
279
+ (e, t) => {
280
+ const { __scopeSlider: o, ...n } = e, a = T(L, o), c = Q(L, o), r = d.useRef(null), s = M(t, r), l = a.values.length, h = a.values.map(
281
+ (u) => ie(u, a.min, a.max)
282
+ ), S = l > 1 ? Math.min(...h) : 0, i = 100 - Math.max(...h);
283
+ return /* @__PURE__ */ v(
284
+ K.span,
285
+ {
286
+ "data-orientation": a.orientation,
287
+ "data-disabled": a.disabled ? "" : void 0,
288
+ ...n,
289
+ ref: s,
214
290
  style: {
215
- ...a.style,
216
- ..._,
217
- position: "absolute",
218
- pointerEvents: "none",
219
- opacity: 0,
220
- margin: 0,
221
- // We transform because the input is absolutely positioned but we have
222
- // rendered it **after** the button. This pulls it back to sit on top
223
- // of the button.
224
- transform: "translateX(-100%)"
291
+ ...e.style,
292
+ [c.startEdge]: S + "%",
293
+ [c.endEdge]: i + "%"
225
294
  }
226
295
  }
227
296
  );
228
297
  }
229
298
  );
230
- q.displayName = M;
231
- function W(t) {
232
- return typeof t == "function";
299
+ ne.displayName = L;
300
+ var O = "SliderThumb", oe = d.forwardRef(
301
+ (e, t) => {
302
+ const o = he(e.__scopeSlider), [n, a] = d.useState(null), c = M(t, (s) => a(s)), r = d.useMemo(
303
+ () => n ? o().findIndex((s) => s.ref.current === n) : -1,
304
+ [o, n]
305
+ );
306
+ return /* @__PURE__ */ v(be, { ...e, ref: c, index: r });
307
+ }
308
+ ), be = d.forwardRef(
309
+ (e, t) => {
310
+ const { __scopeSlider: o, index: n, name: a, ...c } = e, r = T(O, o), s = Q(O, o), [l, h] = d.useState(null), S = M(t, (D) => h(D)), i = l ? r.form || !!l.closest("form") : !0, u = fe(l), w = r.values[n], P = w === void 0 ? 0 : ie(w, r.min, r.max), g = xe(n, r.values.length), m = u == null ? void 0 : u[s.size], f = m ? De(m, P, s.direction) : 0;
311
+ return d.useEffect(() => {
312
+ if (l)
313
+ return r.thumbs.add(l), () => {
314
+ r.thumbs.delete(l);
315
+ };
316
+ }, [l, r.thumbs]), /* @__PURE__ */ pe(
317
+ "span",
318
+ {
319
+ style: {
320
+ transform: "var(--radix-slider-thumb-transform)",
321
+ position: "absolute",
322
+ [s.startEdge]: `calc(${P}% + ${f}px)`
323
+ },
324
+ children: [
325
+ /* @__PURE__ */ v(z.ItemSlot, { scope: e.__scopeSlider, children: /* @__PURE__ */ v(
326
+ K.span,
327
+ {
328
+ role: "slider",
329
+ "aria-label": e["aria-label"] || g,
330
+ "aria-valuemin": r.min,
331
+ "aria-valuenow": w,
332
+ "aria-valuemax": r.max,
333
+ "aria-orientation": r.orientation,
334
+ "data-orientation": r.orientation,
335
+ "data-disabled": r.disabled ? "" : void 0,
336
+ tabIndex: r.disabled ? void 0 : 0,
337
+ ...c,
338
+ ref: S,
339
+ style: w === void 0 ? { display: "none" } : e.style,
340
+ onFocus: C(e.onFocus, () => {
341
+ r.valueIndexToChangeRef.current = n;
342
+ })
343
+ }
344
+ ) }),
345
+ i && /* @__PURE__ */ v(
346
+ re,
347
+ {
348
+ name: a ?? (r.name ? r.name + (r.values.length > 1 ? "[]" : "") : void 0),
349
+ form: r.form,
350
+ value: w
351
+ },
352
+ n
353
+ )
354
+ ]
355
+ }
356
+ );
357
+ }
358
+ );
359
+ oe.displayName = O;
360
+ var Re = "RadioBubbleInput", re = d.forwardRef(
361
+ ({ __scopeSlider: e, value: t, ...o }, n) => {
362
+ const a = d.useRef(null), c = M(a, n), r = ue(t);
363
+ return d.useEffect(() => {
364
+ const s = a.current;
365
+ if (!s) return;
366
+ const l = window.HTMLInputElement.prototype, S = Object.getOwnPropertyDescriptor(l, "value").set;
367
+ if (r !== t && S) {
368
+ const i = new Event("input", { bubbles: !0 });
369
+ S.call(s, t), s.dispatchEvent(i);
370
+ }
371
+ }, [r, t]), /* @__PURE__ */ v(
372
+ K.input,
373
+ {
374
+ style: { display: "none" },
375
+ ...o,
376
+ ref: c,
377
+ defaultValue: t
378
+ }
379
+ );
380
+ }
381
+ );
382
+ re.displayName = Re;
383
+ function Pe(e = [], t, o) {
384
+ const n = [...e];
385
+ return n[o] = t, n.sort((a, c) => a - c);
386
+ }
387
+ function ie(e, t, o) {
388
+ const c = 100 / (o - t) * (e - t);
389
+ return $(c, [0, 100]);
390
+ }
391
+ function xe(e, t) {
392
+ return t > 2 ? `Value ${e + 1} of ${t}` : t === 2 ? ["Minimum", "Maximum"][e] : void 0;
393
+ }
394
+ function ye(e, t) {
395
+ if (e.length === 1) return 0;
396
+ const o = e.map((a) => Math.abs(a - t)), n = Math.min(...o);
397
+ return o.indexOf(n);
398
+ }
399
+ function De(e, t, o) {
400
+ const n = e / 2, c = U([0, 50], [0, n]);
401
+ return (n - c(t) * o) * o;
402
+ }
403
+ function Ee(e) {
404
+ return e.slice(0, -1).map((t, o) => e[o + 1] - t);
405
+ }
406
+ function _e(e, t) {
407
+ if (t > 0) {
408
+ const o = Ee(e);
409
+ return Math.min(...o) >= t;
410
+ }
411
+ return !0;
412
+ }
413
+ function U(e, t) {
414
+ return (o) => {
415
+ if (e[0] === e[1] || t[0] === t[1]) return t[0];
416
+ const n = (t[1] - t[0]) / (e[1] - e[0]);
417
+ return t[0] + n * (o - e[0]);
418
+ };
233
419
  }
234
- function h(t) {
235
- return t === "indeterminate";
420
+ function Ce(e) {
421
+ return (String(e).split(".")[1] || "").length;
236
422
  }
237
- function A(t) {
238
- return h(t) ? "indeterminate" : t ? "checked" : "unchecked";
423
+ function Me(e, t) {
424
+ const o = Math.pow(10, t);
425
+ return Math.round(e * o) / o;
239
426
  }
427
+ var Oe = q, Ue = te, Fe = ne, Ye = oe;
240
428
  export {
241
- Q as Checkbox,
242
- V as CheckboxIndicator,
243
- V as Indicator,
244
- Q as Root,
245
- q as unstable_BubbleInput,
246
- q as unstable_CheckboxBubbleInput,
247
- J as unstable_CheckboxProvider,
248
- w as unstable_CheckboxTrigger,
249
- J as unstable_Provider,
250
- w as unstable_Trigger
429
+ Fe as Range,
430
+ Oe as Root,
431
+ q as Slider,
432
+ ne as SliderRange,
433
+ oe as SliderThumb,
434
+ te as SliderTrack,
435
+ Ye as Thumb,
436
+ Ue as Track
251
437
  };