@smwb/ui-solid 0.2.1 → 0.3.0

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 (51) hide show
  1. package/dist/assets/styles/less/components/carousel/carousel.entry.css +1 -1
  2. package/dist/components/dataDisplay/carousel/carousel.js +152 -138
  3. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  4. package/dist/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
  5. package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
  6. package/dist/components/dataDisplay/chat/chatShell.js +16 -16
  7. package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
  8. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
  9. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  10. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
  11. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  12. package/dist/components/feedBack/modal/modal.js +29 -29
  13. package/dist/components/feedBack/modal/modal.js.map +1 -1
  14. package/dist/components/inputs/datePicker/datePicker.js +43 -43
  15. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  16. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
  17. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  18. package/dist/components/inputs/selectField/dropdownMenu.js +30 -30
  19. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  20. package/dist/components/inputs/slider/slider.js +48 -48
  21. package/dist/components/inputs/slider/slider.js.map +1 -1
  22. package/dist/components/inputs/timePicker/timePicker.js +31 -31
  23. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  24. package/dist/components/layout/sheet/sheet.js +29 -29
  25. package/dist/components/layout/sheet/sheet.js.map +1 -1
  26. package/dist/headless/components/dataDisplay/carousel/carousel.js +157 -143
  27. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  28. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
  29. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
  30. package/dist/headless/components/dataDisplay/chat/chatShell.js +16 -16
  31. package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
  32. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
  33. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  34. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
  35. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  36. package/dist/headless/components/feedBack/modal/modal.js +25 -25
  37. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  38. package/dist/headless/components/inputs/datePicker/datePicker.js +43 -43
  39. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  40. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
  41. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  42. package/dist/headless/components/inputs/selectField/dropdownMenu.js +30 -30
  43. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  44. package/dist/headless/components/inputs/slider/slider.js +90 -90
  45. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  46. package/dist/headless/components/inputs/timePicker/timePicker.js +31 -31
  47. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  48. package/dist/headless/components/layout/sheet/sheet.js +29 -29
  49. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  50. package/dist/ssr.ssr-spec.d.ts +1 -0
  51. package/package.json +4 -3
@@ -1,12 +1,12 @@
1
- import { createComponent as c, use as ce, spread as ve, mergeProps as he, insert as x, effect as R, style as K, addEventListener as Ae, setAttribute as l, className as be, setStyleProperty as Te, memo as Me, template as V, delegateEvents as Ve } from "solid-js/web";
2
- import { Show as P, mergeProps as fe, splitProps as ge, createSignal as Z, onMount as we, onCleanup as re, For as ne } from "solid-js";
3
- import ae from "clsx";
4
- import { toPercent as M, coordY as xe, rescale as se, coordX as _e } from "./utils.js";
5
- import { mergeRefs as pe } from "../../../primitives/mergeRefs.js";
6
- import { TextFieldWrapper as ye } from "../textField/textFieldWrapper.js";
7
- import { TextField as Ce } from "../textField/textField.js";
8
- var ke = /* @__PURE__ */ V("<span class=smwb-slider__marks aria-hidden=true>"), Se = /* @__PURE__ */ V("<div class=smwb-slider__container><span><span class=smwb-slider__rail></span><span class=smwb-slider__track>"), $e = /* @__PURE__ */ V("<span class=smwb-slider__mark-label>"), Ee = /* @__PURE__ */ V("<span class=smwb-slider__mark>"), ze = /* @__PURE__ */ V("<span><input class=smwb-slider__input type=range>"), De = /* @__PURE__ */ V("<span class=smwb-slider__ticks>"), Pe = /* @__PURE__ */ V("<span class=smwb-slider__thumb-tooltip>"), Re = /* @__PURE__ */ V("<div class=smwb-slider__container><span><span class=smwb-slider__rail></span><span class=smwb-slider__track></span><span><input data-testid=slider-input class=smwb-slider__input type=range readonly>"), Fe = /* @__PURE__ */ V("<span class=smwb-slider__tick>");
9
- function Le(v, C, e, F) {
1
+ import { createComponent as c, use as ce, spread as ve, mergeProps as he, insert as x, effect as R, style as K, addEventListener as Te, setAttribute as l, className as be, setStyleProperty as Me, memo as Ve, isServer as fe, template as V, delegateEvents as Ce } from "solid-js/web";
2
+ import { Show as P, mergeProps as ge, splitProps as we, createSignal as Z, onMount as xe, onCleanup as re, For as ne } from "solid-js";
3
+ import ie from "clsx";
4
+ import { toPercent as M, coordY as _e, rescale as se, coordX as pe } from "./utils.js";
5
+ import { mergeRefs as ye } from "../../../primitives/mergeRefs.js";
6
+ import { TextFieldWrapper as ke } from "../textField/textFieldWrapper.js";
7
+ import { TextField as Se } from "../textField/textField.js";
8
+ var $e = /* @__PURE__ */ V("<span class=smwb-slider__marks aria-hidden=true>"), ze = /* @__PURE__ */ V("<div class=smwb-slider__container><span><span class=smwb-slider__rail></span><span class=smwb-slider__track>"), Ee = /* @__PURE__ */ V("<span class=smwb-slider__mark-label>"), Le = /* @__PURE__ */ V("<span class=smwb-slider__mark>"), De = /* @__PURE__ */ V("<span><input class=smwb-slider__input type=range>"), Pe = /* @__PURE__ */ V("<span class=smwb-slider__ticks>"), Re = /* @__PURE__ */ V("<span class=smwb-slider__thumb-tooltip>"), Fe = /* @__PURE__ */ V("<div class=smwb-slider__container><span><span class=smwb-slider__rail></span><span class=smwb-slider__track></span><span><input data-testid=slider-input class=smwb-slider__input type=range readonly>"), Be = /* @__PURE__ */ V("<span class=smwb-slider__tick>");
9
+ function Ae(v, C, e, F) {
10
10
  if (!v) return [];
11
11
  if (Array.isArray(v)) return v;
12
12
  const E = F && F > 0 ? F : (e - C) / 10, B = [];
@@ -16,67 +16,67 @@ function Le(v, C, e, F) {
16
16
  });
17
17
  return B;
18
18
  }
19
- function Be(v) {
20
- const C = fe({
19
+ function Xe(v) {
20
+ const C = ge({
21
21
  min: 0,
22
22
  max: 100,
23
23
  disabled: !1,
24
24
  size: "medium",
25
25
  color: "primary",
26
26
  orientation: "horizontal"
27
- }, v), [e, F] = ge(C, ["defaultValue", "value", "onChange", "min", "max", "name", "disabled", "class", "step", "label", "helperText", "error", "size", "color", "orientation", "marks", "getAriaValueText", "aria-label", "range", "variant", "valueField", "withTicks", "ref"]), E = () => e.orientation === "vertical", B = (a) => {
28
- const n = Array.isArray(a) ? a : [e.min, e.max], m = Math.min(n[0] ?? e.min, n[1] ?? e.max), b = Math.max(n[0] ?? e.min, n[1] ?? e.max);
27
+ }, v), [e, F] = we(C, ["defaultValue", "value", "onChange", "min", "max", "name", "disabled", "class", "step", "label", "helperText", "error", "size", "color", "orientation", "marks", "getAriaValueText", "aria-label", "range", "variant", "valueField", "withTicks", "ref"]), E = () => e.orientation === "vertical", B = (i) => {
28
+ const n = Array.isArray(i) ? i : [e.min, e.max], m = Math.min(n[0] ?? e.min, n[1] ?? e.max), b = Math.max(n[0] ?? e.min, n[1] ?? e.max);
29
29
  return [m, b];
30
30
  }, d = e.value !== void 0, [ee, W] = Z(B(e.defaultValue)), g = () => d ? B(e.value) : ee();
31
31
  let X, Y = 0, I = !1;
32
- const S = () => Le(e.marks, e.min, e.max, e.step), z = (a) => {
32
+ const S = () => Ae(e.marks, e.min, e.max, e.step), z = (i) => {
33
33
  const n = X?.getBoundingClientRect();
34
34
  if (!n) return e.min;
35
35
  if (E()) {
36
- const b = xe(a) - n.top;
36
+ const b = _e(i) - n.top;
37
37
  return se(n.height - b, [0, n.height], [e.min, e.max], {
38
38
  step: e.step
39
39
  });
40
40
  }
41
- const m = _e(a) - n.left;
41
+ const m = pe(i) - n.left;
42
42
  return se(m, [0, n.width], [e.min, e.max], {
43
43
  step: e.step
44
44
  });
45
- }, ie = (a, n) => {
46
- const m = Math.min(a[0], a[1]), b = Math.max(a[0], a[1]), w = [Math.max(e.min, m), Math.min(e.max, b)];
45
+ }, ae = (i, n) => {
46
+ const m = Math.min(i[0], i[1]), b = Math.max(i[0], i[1]), w = [Math.max(e.min, m), Math.min(e.max, b)];
47
47
  d || W(w), e.onChange?.(n, w, v);
48
- }, N = (a, n) => {
48
+ }, N = (i, n) => {
49
49
  const m = g(), b = [m[0], m[1]];
50
- b[Y] = Math.max(e.min, Math.min(e.max, a)), ie(b, n);
51
- }, _ = (a) => {
50
+ b[Y] = Math.max(e.min, Math.min(e.max, i)), ae(b, n);
51
+ }, _ = (i) => {
52
52
  const n = g();
53
- Y = Math.abs(a - n[0]) <= Math.abs(a - n[1]) ? 0 : 1;
54
- }, L = (a) => {
55
- I && (a.preventDefault(), N(z(a), a));
53
+ Y = Math.abs(i - n[0]) <= Math.abs(i - n[1]) ? 0 : 1;
54
+ }, L = (i) => {
55
+ I && (i.preventDefault(), N(z(i), i));
56
56
  }, h = () => {
57
- I = !1, document.removeEventListener("mousemove", L), document.removeEventListener("mouseup", h), document.removeEventListener("touchmove", L), document.removeEventListener("touchend", h);
58
- }, D = (a) => {
59
- if (e.disabled || a.button !== 0) return;
60
- const n = z(a);
61
- _(n), I = !0, N(n, a), document.addEventListener("mousemove", L), document.addEventListener("mouseup", h);
62
- }, U = (a) => {
57
+ I = !1, !fe && (document.removeEventListener("mousemove", L), document.removeEventListener("mouseup", h), document.removeEventListener("touchmove", L), document.removeEventListener("touchend", h));
58
+ }, D = (i) => {
59
+ if (e.disabled || i.button !== 0) return;
60
+ const n = z(i);
61
+ _(n), I = !0, N(n, i), document.addEventListener("mousemove", L), document.addEventListener("mouseup", h);
62
+ }, U = (i) => {
63
63
  if (e.disabled) return;
64
- const n = z(a);
65
- _(n), I = !0, N(n, a), document.addEventListener("touchmove", L), document.addEventListener("touchend", h);
64
+ const n = z(i);
65
+ _(n), I = !0, N(n, i), document.addEventListener("touchmove", L), document.addEventListener("touchend", h);
66
66
  };
67
- we(() => {
67
+ xe(() => {
68
68
  X && (X.addEventListener("touchstart", U), re(() => X?.removeEventListener("touchstart", U)));
69
69
  }), re(h);
70
- const H = (a) => (n) => {
70
+ const H = (i) => (n) => {
71
71
  if (e.disabled) return;
72
72
  const m = e.step && e.step > 0 ? e.step : 1, b = g();
73
73
  let w = null;
74
- n.key === "ArrowLeft" || n.key === "ArrowDown" ? w = b[a] - m : n.key === "ArrowRight" || n.key === "ArrowUp" ? w = b[a] + m : n.key === "Home" ? w = e.min : n.key === "End" && (w = e.max), w !== null && (n.preventDefault(), Y = a, N(w, n));
75
- }, te = () => ae("smwb-slider", "smwb-slider--range", e.class, {
74
+ n.key === "ArrowLeft" || n.key === "ArrowDown" ? w = b[i] - m : n.key === "ArrowRight" || n.key === "ArrowUp" ? w = b[i] + m : n.key === "Home" ? w = e.min : n.key === "End" && (w = e.max), w !== null && (n.preventDefault(), Y = i, N(w, n));
75
+ }, te = () => ie("smwb-slider", "smwb-slider--range", e.class, {
76
76
  "smwb-slider--disabled": e.disabled,
77
77
  "smwb-slider--vertical": E()
78
78
  }, e.size !== "medium" && `smwb-slider_size-${e.size}`, e.color !== "primary" && `smwb-slider_color-${e.color}`);
79
- return c(ye, {
79
+ return c(ke, {
80
80
  get label() {
81
81
  return e.label;
82
82
  },
@@ -92,9 +92,9 @@ function Be(v) {
92
92
  fullWidth: !0,
93
93
  shrink: !0,
94
94
  get children() {
95
- var a = Se(), n = a.firstChild, m = n.firstChild, b = m.nextSibling;
95
+ var i = ze(), n = i.firstChild, m = n.firstChild, b = m.nextSibling;
96
96
  n.$$mousedown = D;
97
- var w = pe(e.ref, (o) => X = o);
97
+ var w = ye(e.ref, (o) => X = o);
98
98
  return typeof w == "function" && ce(w, n), ve(n, he({
99
99
  get class() {
100
100
  return te();
@@ -104,19 +104,19 @@ function Be(v) {
104
104
  return S().length > 0;
105
105
  },
106
106
  get children() {
107
- var o = ke();
107
+ var o = $e();
108
108
  return x(o, c(ne, {
109
109
  get each() {
110
110
  return S();
111
111
  },
112
112
  children: (f) => (() => {
113
- var s = Ee();
113
+ var s = Le();
114
114
  return x(s, c(P, {
115
115
  get when() {
116
116
  return f.label != null;
117
117
  },
118
118
  get children() {
119
- var t = $e();
119
+ var t = Ee();
120
120
  return x(t, () => f.label), t;
121
121
  }
122
122
  })), R((t) => K(s, E() ? {
@@ -130,15 +130,15 @@ function Be(v) {
130
130
  }), m), x(n, c(ne, {
131
131
  each: [0, 1],
132
132
  children: (o) => (() => {
133
- var f = ze(), s = f.firstChild;
134
- return Ae(s, "keydown", H(o), !0), s.addEventListener("change", () => {
133
+ var f = De(), s = f.firstChild;
134
+ return Te(s, "keydown", H(o), !0), s.addEventListener("change", () => {
135
135
  }), l(s, "data-testid", `slider-input-${o}`), R((t) => {
136
- var i = ae("smwb-slider__thumb", `smwb-slider__thumb--${o === 0 ? "start" : "end"}`), p = E() ? {
136
+ var a = ie("smwb-slider__thumb", `smwb-slider__thumb--${o === 0 ? "start" : "end"}`), p = E() ? {
137
137
  bottom: `${M(g()[o], e.min, e.max)}%`
138
138
  } : {
139
139
  left: `${M(g()[o], e.min, e.max)}%`
140
140
  }, y = e.min, k = e.max, u = e.step, j = e.name ? `${e.name}[${o}]` : void 0, r = e.disabled, $ = e.disabled ? -1 : 0, A = e["aria-label"] ? `${e["aria-label"]} ${o === 0 ? "minimum" : "maximum"}` : void 0, T = e.orientation, q = g()[o], G = o === 0 ? e.min : g()[0], J = o === 0 ? g()[1] : e.max, O = e.getAriaValueText ? e.getAriaValueText(g()[o]) : void 0, Q = e.disabled || void 0;
141
- return i !== t.e && be(f, t.e = i), t.t = K(f, p, t.t), y !== t.a && l(s, "min", t.a = y), k !== t.o && l(s, "max", t.o = k), u !== t.i && l(s, "step", t.i = u), j !== t.n && l(s, "name", t.n = j), r !== t.s && (s.disabled = t.s = r), $ !== t.h && l(s, "tabindex", t.h = $), A !== t.r && l(s, "aria-label", t.r = A), T !== t.d && l(s, "aria-orientation", t.d = T), q !== t.l && l(s, "aria-valuenow", t.l = q), G !== t.u && l(s, "aria-valuemin", t.u = G), J !== t.c && l(s, "aria-valuemax", t.c = J), O !== t.w && l(s, "aria-valuetext", t.w = O), Q !== t.m && l(s, "aria-disabled", t.m = Q), t;
141
+ return a !== t.e && be(f, t.e = a), t.t = K(f, p, t.t), y !== t.a && l(s, "min", t.a = y), k !== t.o && l(s, "max", t.o = k), u !== t.i && l(s, "step", t.i = u), j !== t.n && l(s, "name", t.n = j), r !== t.s && (s.disabled = t.s = r), $ !== t.h && l(s, "tabindex", t.h = $), A !== t.r && l(s, "aria-label", t.r = A), T !== t.d && l(s, "aria-orientation", t.d = T), q !== t.l && l(s, "aria-valuenow", t.l = q), G !== t.u && l(s, "aria-valuemin", t.u = G), J !== t.c && l(s, "aria-valuemax", t.c = J), O !== t.w && l(s, "aria-valuetext", t.w = O), Q !== t.m && l(s, "aria-disabled", t.m = Q), t;
142
142
  }, {
143
143
  e: void 0,
144
144
  t: void 0,
@@ -158,20 +158,20 @@ function Be(v) {
158
158
  }), R(() => s.value = g()[o]), f;
159
159
  })()
160
160
  }), null), R((o) => K(b, (() => {
161
- const f = M(g()[0], e.min, e.max), s = M(g()[1], e.min, e.max), t = `${Math.min(f, s)}%`, i = `${Math.abs(s - f)}%`;
161
+ const f = M(g()[0], e.min, e.max), s = M(g()[1], e.min, e.max), t = `${Math.min(f, s)}%`, a = `${Math.abs(s - f)}%`;
162
162
  return E() ? {
163
163
  bottom: t,
164
- height: i
164
+ height: a
165
165
  } : {
166
166
  left: t,
167
- width: i
167
+ width: a
168
168
  };
169
- })(), o)), a;
169
+ })(), o)), i;
170
170
  }
171
171
  });
172
172
  }
173
- function Xe(v) {
174
- const C = fe({
173
+ function Ye(v) {
174
+ const C = ge({
175
175
  min: 0,
176
176
  max: 100,
177
177
  disabled: !1,
@@ -179,45 +179,45 @@ function Xe(v) {
179
179
  size: "medium",
180
180
  color: "primary",
181
181
  orientation: "horizontal"
182
- }, v), [e, F] = ge(C, ["defaultValue", "value", "onChange", "min", "max", "name", "disabled", "class", "step", "variant", "valueField", "withTicks", "label", "helperText", "error", "size", "color", "orientation", "marks", "range", "getAriaValueText", "aria-label", "ref"]), E = typeof e.defaultValue == "number" ? e.defaultValue : void 0, B = () => typeof e.value == "number" ? e.value : void 0, d = () => e.orientation === "vertical", ee = typeof e.value == "number", W = () => e.variant === "discrete", [g, X] = Z(E ?? e.min), [Y, I] = Z(!1), [S, z] = Z(!1), [ie, N] = Z(!1);
182
+ }, v), [e, F] = we(C, ["defaultValue", "value", "onChange", "min", "max", "name", "disabled", "class", "step", "variant", "valueField", "withTicks", "label", "helperText", "error", "size", "color", "orientation", "marks", "range", "getAriaValueText", "aria-label", "ref"]), E = typeof e.defaultValue == "number" ? e.defaultValue : void 0, B = () => typeof e.value == "number" ? e.value : void 0, d = () => e.orientation === "vertical", ee = typeof e.value == "number", W = () => e.variant === "discrete", [g, X] = Z(E ?? e.min), [Y, I] = Z(!1), [S, z] = Z(!1), [ae, N] = Z(!1);
183
183
  let _, L = !1;
184
- const h = () => ee ? B() : g(), D = (t, i) => {
185
- t < e.min || t > e.max || (ee || X(t), e.onChange?.(i, t, v));
186
- }, U = (t, i) => se(t, [0, i], [e.min, e.max], {
184
+ const h = () => ee ? B() : g(), D = (t, a) => {
185
+ t < e.min || t > e.max || (ee || X(t), e.onChange?.(a, t, v));
186
+ }, U = (t, a) => se(t, [0, a], [e.min, e.max], {
187
187
  step: e.step
188
188
  }), H = (t) => {
189
189
  if (!L || !_) return;
190
- const i = _.getBoundingClientRect(), p = _e(t), y = xe(t), k = d() ? i.height - (y - i.top) : p - i.left, u = U(k, d() ? i.height : i.width);
190
+ const a = _.getBoundingClientRect(), p = pe(t), y = _e(t), k = d() ? a.height - (y - a.top) : p - a.left, u = U(k, d() ? a.height : a.width);
191
191
  S() || z(!0), h() !== u && (Y() || I(!0), D(u, t));
192
192
  }, te = () => {
193
- document.removeEventListener("mousemove", H), document.removeEventListener("mouseup", a), document.removeEventListener("touchmove", H), document.removeEventListener("touchend", a);
194
- }, a = () => {
193
+ fe || (document.removeEventListener("mousemove", H), document.removeEventListener("mouseup", i), document.removeEventListener("touchmove", H), document.removeEventListener("touchend", i));
194
+ }, i = () => {
195
195
  L = !1, Y() && I(!1), S() && z(!1), te();
196
196
  }, n = (t) => {
197
197
  if (e.disabled || t.button !== 0 || !_) return;
198
198
  L = !0;
199
- const i = _.getBoundingClientRect(), p = d() ? i.height - (t.clientY - i.top) : t.clientX - i.left, y = U(p, d() ? i.height : i.width);
200
- S() || z(!0), D(y, t), document.addEventListener("mousemove", H), document.addEventListener("mouseup", a);
199
+ const a = _.getBoundingClientRect(), p = d() ? a.height - (t.clientY - a.top) : t.clientX - a.left, y = U(p, d() ? a.height : a.width);
200
+ S() || z(!0), D(y, t), document.addEventListener("mousemove", H), document.addEventListener("mouseup", i);
201
201
  }, m = (t) => {
202
202
  if (e.disabled || !_) return;
203
203
  L = !0;
204
- const i = _.getBoundingClientRect(), p = t.changedTouches?.[0];
204
+ const a = _.getBoundingClientRect(), p = t.changedTouches?.[0];
205
205
  if (!p) return;
206
- const y = d() ? i.height - (p.clientY - i.top) : p.clientX - i.left, k = U(y, d() ? i.height : i.width);
207
- S() || z(!0), D(k, t), document.addEventListener("touchmove", H), document.addEventListener("touchend", a);
206
+ const y = d() ? a.height - (p.clientY - a.top) : p.clientX - a.left, k = U(y, d() ? a.height : a.width);
207
+ S() || z(!0), D(k, t), document.addEventListener("touchmove", H), document.addEventListener("touchend", i);
208
208
  };
209
- we(() => {
209
+ xe(() => {
210
210
  _ && (_.addEventListener("touchstart", m), re(() => _?.removeEventListener("touchstart", m)));
211
211
  }), re(te);
212
212
  const b = (t) => {
213
- !ie() || e.disabled || ((t.key === "ArrowLeft" || t.key === "ArrowDown") && D(h() - (e.step || 1), t), (t.key === "ArrowRight" || t.key === "ArrowUp") && D(h() + (e.step || 1), t));
214
- }, w = () => ae("smwb-slider", e.class, {
213
+ !ae() || e.disabled || ((t.key === "ArrowLeft" || t.key === "ArrowDown") && D(h() - (e.step || 1), t), (t.key === "ArrowRight" || t.key === "ArrowUp") && D(h() + (e.step || 1), t));
214
+ }, w = () => ie("smwb-slider", e.class, {
215
215
  "smwb-slider--disabled": e.disabled,
216
216
  "smwb-slider--dragging": Y(),
217
217
  "smwb-slider--discrete": W(),
218
218
  "smwb-slider--vertical": d()
219
- }, e.size !== "medium" && `smwb-slider_size-${e.size}`, e.color !== "primary" && `smwb-slider_color-${e.color}`), o = () => `${M(h(), e.min, e.max)}%`, f = () => Le(e.marks, e.min, e.max, e.step), s = () => Array(Math.round(e.max / (e.step || 1)) + 1).fill(1);
220
- return c(ye, {
219
+ }, e.size !== "medium" && `smwb-slider_size-${e.size}`, e.color !== "primary" && `smwb-slider_color-${e.color}`), o = () => `${M(h(), e.min, e.max)}%`, f = () => Ae(e.marks, e.min, e.max, e.step), s = () => Array(Math.round(e.max / (e.step || 1)) + 1).fill(1);
220
+ return c(ke, {
221
221
  get label() {
222
222
  return e.label;
223
223
  },
@@ -233,47 +233,47 @@ function Xe(v) {
233
233
  fullWidth: !0,
234
234
  shrink: !0,
235
235
  get children() {
236
- var t = Re(), i = t.firstChild, p = i.firstChild, y = p.nextSibling, k = y.nextSibling, u = k.firstChild;
237
- i.addEventListener("blur", () => N(!1)), i.addEventListener("focus", () => N(!0)), i.$$mousedown = n;
238
- var j = pe(e.ref, (r) => _ = r);
239
- return typeof j == "function" && ce(j, i), i.$$keydown = b, ve(i, he({
236
+ var t = Fe(), a = t.firstChild, p = a.firstChild, y = p.nextSibling, k = y.nextSibling, u = k.firstChild;
237
+ a.addEventListener("blur", () => N(!1)), a.addEventListener("focus", () => N(!0)), a.$$mousedown = n;
238
+ var j = ye(e.ref, (r) => _ = r);
239
+ return typeof j == "function" && ce(j, a), a.$$keydown = b, ve(a, he({
240
240
  get class() {
241
241
  return w();
242
242
  },
243
243
  get tabindex() {
244
244
  return e.disabled ? -1 : 0;
245
245
  }
246
- }, F), !1, !0), x(i, c(P, {
246
+ }, F), !1, !0), x(a, c(P, {
247
247
  get when() {
248
248
  return e.withTicks;
249
249
  },
250
250
  get children() {
251
- var r = De();
251
+ var r = Pe();
252
252
  return x(r, c(ne, {
253
253
  get each() {
254
254
  return s();
255
255
  },
256
- children: () => Fe()
257
- })), R(($) => Te(r, "gap", `${e.step}`)), r;
256
+ children: () => Be()
257
+ })), R(($) => Me(r, "gap", `${e.step}`)), r;
258
258
  }
259
- }), p), x(i, c(P, {
259
+ }), p), x(a, c(P, {
260
260
  get when() {
261
261
  return f().length > 0;
262
262
  },
263
263
  get children() {
264
- var r = ke();
264
+ var r = $e();
265
265
  return x(r, c(ne, {
266
266
  get each() {
267
267
  return f();
268
268
  },
269
269
  children: ($) => (() => {
270
- var A = Ee();
270
+ var A = Le();
271
271
  return x(A, c(P, {
272
272
  get when() {
273
273
  return $.label != null;
274
274
  },
275
275
  get children() {
276
- var T = $e();
276
+ var T = Ee();
277
277
  return x(T, () => $.label), T;
278
278
  }
279
279
  })), R((T) => K(A, d() ? {
@@ -289,15 +289,15 @@ function Xe(v) {
289
289
  return W();
290
290
  },
291
291
  get children() {
292
- var r = Pe();
292
+ var r = Re();
293
293
  return x(r, () => Math.round(h())), r;
294
294
  }
295
295
  }), u), x(t, c(P, {
296
296
  get when() {
297
- return Me(() => !!e.valueField)() && W();
297
+ return Ve(() => !!e.valueField)() && W();
298
298
  },
299
299
  get children() {
300
- return c(Ce, {
300
+ return c(Se, {
301
301
  type: "number",
302
302
  get value() {
303
303
  return h();
@@ -311,7 +311,7 @@ function Xe(v) {
311
311
  height: o()
312
312
  } : {
313
313
  width: o()
314
- }, A = ae("smwb-slider__thumb", {
314
+ }, A = ie("smwb-slider__thumb", {
315
315
  "smwb-slider__thumb--active": S(),
316
316
  "smwb-slider__thumb--discrete": W()
317
317
  }), T = d() ? {
@@ -338,20 +338,20 @@ function Xe(v) {
338
338
  }
339
339
  });
340
340
  }
341
- function je(v) {
341
+ function qe(v) {
342
342
  const C = v.range === !0 || Array.isArray(v.value) || Array.isArray(v.defaultValue);
343
343
  return c(P, {
344
344
  when: C,
345
345
  get fallback() {
346
- return c(Xe, v);
346
+ return c(Ye, v);
347
347
  },
348
348
  get children() {
349
- return c(Be, v);
349
+ return c(Xe, v);
350
350
  }
351
351
  });
352
352
  }
353
- Ve(["mousedown", "keydown"]);
353
+ Ce(["mousedown", "keydown"]);
354
354
  export {
355
- je as Slider
355
+ qe as Slider
356
356
  };
357
357
  //# sourceMappingURL=slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sources":["../../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue;\n onChange?: (event: Event, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n valueField?: boolean;\n withTicks?: boolean;\n label?: string;\n helperText?: JSX.Element;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n marks?: boolean | SliderMark[];\n \"aria-label\"?: string;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction resolveMarks(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n ]);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n const isControlled = local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n ]);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const isControlled = typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n value={value()}\n onChange={(event) => updateValue(+event.currentTarget.value, event)}\n variant=\"filled\"\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","isVertical","normalize","arr","lo","hi","isControlled","undefined","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","document","removeEventListener","onMouseDown","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","idx","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","label","helperText","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$5","_el$9","_$addEventListener","_$setAttribute","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","getAriaValueText","_v$13","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","pct","ticks","fill","_el$0","_tmpl$8","_el$1","_el$12","_el$13","_el$14","_el$16","_ref$2","$$keydown","tabindex","withTicks","_el$10","_tmpl$6","_tmpl$9","_$setStyleProperty","_el$11","_el$18","_el$19","_el$15","_tmpl$7","_$memo","valueField","TextField","type","currentTarget","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"slider.js","sources":["../../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue;\n onChange?: (event: Event, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n valueField?: boolean;\n withTicks?: boolean;\n label?: string;\n helperText?: JSX.Element;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n marks?: boolean | SliderMark[];\n \"aria-label\"?: string;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction resolveMarks(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n ]);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n const isControlled = local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n ]);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const isControlled = typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n value={value()}\n onChange={(event) => updateValue(+event.currentTarget.value, event)}\n variant=\"filled\"\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","isVertical","normalize","arr","lo","hi","isControlled","undefined","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","isServer","document","removeEventListener","onMouseDown","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","idx","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","label","helperText","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$5","_el$9","_$addEventListener","_$setAttribute","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","getAriaValueText","_v$13","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","pct","ticks","fill","_el$0","_tmpl$8","_el$1","_el$12","_el$13","_el$14","_el$16","_ref$2","$$keydown","tabindex","withTicks","_el$10","_tmpl$6","_tmpl$9","_$setStyleProperty","_el$11","_el$18","_el$19","_el$15","_tmpl$7","_$memo","valueField","TextField","type","currentTarget","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":"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"}