@carto/ps-react-ui 4.4.2 → 4.5.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 (157) hide show
  1. package/dist/download-config-DemuQ3Jm.js +56 -0
  2. package/dist/download-config-DemuQ3Jm.js.map +1 -0
  3. package/dist/error-Cj8eUMrl.js +40 -0
  4. package/dist/error-Cj8eUMrl.js.map +1 -0
  5. package/dist/formatter-B9Bxn1k7.js +6 -0
  6. package/dist/formatter-B9Bxn1k7.js.map +1 -0
  7. package/dist/no-data-DkIt7Qt1.js +61 -0
  8. package/dist/no-data-DkIt7Qt1.js.map +1 -0
  9. package/dist/row-D4VOhcNI.js +34 -0
  10. package/dist/row-D4VOhcNI.js.map +1 -0
  11. package/dist/series-Bola3CmD.js +90 -0
  12. package/dist/series-Bola3CmD.js.map +1 -0
  13. package/dist/styles-Y8q7Jff3.js +118 -0
  14. package/dist/styles-Y8q7Jff3.js.map +1 -0
  15. package/dist/types/widgets/actions/brush-toggle/types.d.ts +8 -2
  16. package/dist/types/widgets/category/components/category-row-multi.d.ts +2 -1
  17. package/dist/types/widgets/category/components/category-row-single.d.ts +2 -1
  18. package/dist/types/widgets/category/types.d.ts +1 -0
  19. package/dist/types/widgets/echart/shared-resize-observer.d.ts +12 -0
  20. package/dist/types/widgets/echart/types.d.ts +2 -0
  21. package/dist/types/widgets/histogram/config.d.ts +15 -3
  22. package/dist/types/widgets/histogram/index.d.ts +2 -1
  23. package/dist/types/widgets/histogram/types.d.ts +6 -3
  24. package/dist/types/widgets/stores/index.d.ts +2 -1
  25. package/dist/types/widgets/stores/types.d.ts +2 -0
  26. package/dist/types/widgets/stores/use-widget-selector.d.ts +35 -0
  27. package/dist/types/widgets/stores/widget-store-performance.test.d.ts +1 -0
  28. package/dist/types/widgets/stores/widget-store.d.ts +49 -27
  29. package/dist/types/widgets/table/types.d.ts +1 -1
  30. package/dist/types/widgets/utils/chart-config/index.d.ts +1 -1
  31. package/dist/types/widgets/utils/chart-config/option-builders.d.ts +13 -8
  32. package/dist/types/widgets/utils/formatter.d.ts +1 -0
  33. package/dist/types/widgets/utils/index.d.ts +1 -1
  34. package/dist/use-widget-ref-BFazQvJK.js +22 -0
  35. package/dist/use-widget-ref-BFazQvJK.js.map +1 -0
  36. package/dist/use-widget-selector-DqRmWQ1K.js +12 -0
  37. package/dist/use-widget-selector-DqRmWQ1K.js.map +1 -0
  38. package/dist/widget-store-CIrb9RKP.js +263 -0
  39. package/dist/widget-store-CIrb9RKP.js.map +1 -0
  40. package/dist/widgets/actions.js +799 -817
  41. package/dist/widgets/actions.js.map +1 -1
  42. package/dist/widgets/bar.js +53 -47
  43. package/dist/widgets/bar.js.map +1 -1
  44. package/dist/widgets/category.js +261 -255
  45. package/dist/widgets/category.js.map +1 -1
  46. package/dist/widgets/echart.js +109 -99
  47. package/dist/widgets/echart.js.map +1 -1
  48. package/dist/widgets/error.js +1 -1
  49. package/dist/widgets/formula.js +71 -63
  50. package/dist/widgets/formula.js.map +1 -1
  51. package/dist/widgets/histogram.js +119 -80
  52. package/dist/widgets/histogram.js.map +1 -1
  53. package/dist/widgets/loader.js +53 -60
  54. package/dist/widgets/loader.js.map +1 -1
  55. package/dist/widgets/markdown.js +51 -50
  56. package/dist/widgets/markdown.js.map +1 -1
  57. package/dist/widgets/no-data.js +1 -1
  58. package/dist/widgets/pie.js +111 -99
  59. package/dist/widgets/pie.js.map +1 -1
  60. package/dist/widgets/range.js +146 -144
  61. package/dist/widgets/range.js.map +1 -1
  62. package/dist/widgets/scatterplot.js +50 -44
  63. package/dist/widgets/scatterplot.js.map +1 -1
  64. package/dist/widgets/skeleton-loader.js +18 -17
  65. package/dist/widgets/skeleton-loader.js.map +1 -1
  66. package/dist/widgets/spread.js +110 -94
  67. package/dist/widgets/spread.js.map +1 -1
  68. package/dist/widgets/stores.js +5 -2
  69. package/dist/widgets/stores.js.map +1 -1
  70. package/dist/widgets/table.js +422 -436
  71. package/dist/widgets/table.js.map +1 -1
  72. package/dist/widgets/timeseries.js +52 -46
  73. package/dist/widgets/timeseries.js.map +1 -1
  74. package/dist/widgets/toolbar-actions.js +101 -6693
  75. package/dist/widgets/toolbar-actions.js.map +1 -1
  76. package/dist/widgets/utils.js +16 -14
  77. package/dist/widgets/utils.js.map +1 -1
  78. package/dist/widgets/wrapper.js +156 -158
  79. package/dist/widgets/wrapper.js.map +1 -1
  80. package/dist/widgets.js +4 -4
  81. package/package.json +5 -4
  82. package/src/hooks/use-widget-ref.ts +3 -4
  83. package/src/widgets/README.md +3 -3
  84. package/src/widgets/actions/brush-toggle/brush-toggle.tsx +60 -79
  85. package/src/widgets/actions/brush-toggle/types.ts +8 -2
  86. package/src/widgets/actions/change-column/change-column.tsx +15 -15
  87. package/src/widgets/actions/change-column/sortable-column-item.tsx +3 -1
  88. package/src/widgets/actions/download/download.tsx +4 -3
  89. package/src/widgets/actions/fullscreen/fullscreen.tsx +7 -11
  90. package/src/widgets/actions/lock-selection/lock-selection.tsx +12 -15
  91. package/src/widgets/actions/relative-data/relative-data.tsx +22 -26
  92. package/src/widgets/actions/searcher/searcher-toggle.tsx +11 -12
  93. package/src/widgets/actions/searcher/searcher.tsx +20 -21
  94. package/src/widgets/actions/stack-toggle/stack-toggle.tsx +15 -21
  95. package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +27 -43
  96. package/src/widgets/bar/config.ts +22 -14
  97. package/src/widgets/category/category-ui.tsx +31 -27
  98. package/src/widgets/category/components/category-row-multi.tsx +6 -2
  99. package/src/widgets/category/components/category-row-single.tsx +5 -1
  100. package/src/widgets/category/types.ts +1 -0
  101. package/src/widgets/echart/echart-ui.test.tsx +20 -16
  102. package/src/widgets/echart/echart-ui.tsx +6 -12
  103. package/src/widgets/echart/echart.tsx +13 -27
  104. package/src/widgets/echart/shared-resize-observer.ts +45 -0
  105. package/src/widgets/echart/types.ts +2 -0
  106. package/src/widgets/error/error.tsx +7 -9
  107. package/src/widgets/formula/components/prefix.tsx +4 -6
  108. package/src/widgets/formula/components/row.tsx +4 -4
  109. package/src/widgets/formula/components/series.tsx +4 -6
  110. package/src/widgets/formula/components/suffix.tsx +4 -6
  111. package/src/widgets/formula/components/value.tsx +9 -16
  112. package/src/widgets/histogram/config.ts +101 -20
  113. package/src/widgets/histogram/index.ts +6 -1
  114. package/src/widgets/histogram/types.ts +9 -3
  115. package/src/widgets/loader/loader.tsx +31 -44
  116. package/src/widgets/markdown/markdown.tsx +4 -7
  117. package/src/widgets/no-data/no-data.tsx +7 -10
  118. package/src/widgets/pie/config.ts +17 -5
  119. package/src/widgets/range/components/range-item.tsx +20 -18
  120. package/src/widgets/scatterplot/config.ts +8 -3
  121. package/src/widgets/skeleton-loader/skeleton-loader.tsx +2 -5
  122. package/src/widgets/spread/components/max-value.tsx +14 -16
  123. package/src/widgets/spread/components/min-value.tsx +14 -16
  124. package/src/widgets/stores/index.ts +2 -1
  125. package/src/widgets/stores/types.ts +2 -0
  126. package/src/widgets/stores/use-widget-selector.ts +47 -0
  127. package/src/widgets/stores/widget-store-performance.test.ts +750 -0
  128. package/src/widgets/stores/widget-store.test.ts +81 -0
  129. package/src/widgets/stores/widget-store.ts +225 -44
  130. package/src/widgets/table/config.ts +0 -1
  131. package/src/widgets/table/hooks/use-pagination.ts +28 -52
  132. package/src/widgets/table/hooks/use-selection.ts +20 -24
  133. package/src/widgets/table/hooks/use-sort.ts +22 -39
  134. package/src/widgets/table/types.ts +1 -1
  135. package/src/widgets/timeseries/config.ts +21 -13
  136. package/src/widgets/utils/chart-config/index.ts +1 -1
  137. package/src/widgets/utils/chart-config/option-builders.ts +22 -12
  138. package/src/widgets/utils/formatter.ts +2 -1
  139. package/src/widgets/utils/index.ts +1 -1
  140. package/src/widgets/wrapper/wrapper-ui.tsx +12 -13
  141. package/src/widgets/wrapper/wrapper.tsx +4 -6
  142. package/dist/error-CEkRPccv.js +0 -39
  143. package/dist/error-CEkRPccv.js.map +0 -1
  144. package/dist/formatter-B1Xh8XDH.js +0 -5
  145. package/dist/formatter-B1Xh8XDH.js.map +0 -1
  146. package/dist/no-data-hR3KcJ-_.js +0 -60
  147. package/dist/no-data-hR3KcJ-_.js.map +0 -1
  148. package/dist/row-DTCV0Ocm.js +0 -35
  149. package/dist/row-DTCV0Ocm.js.map +0 -1
  150. package/dist/series-CYNOu2Ju.js +0 -91
  151. package/dist/series-CYNOu2Ju.js.map +0 -1
  152. package/dist/styles-C_8vOEep.js +0 -167
  153. package/dist/styles-C_8vOEep.js.map +0 -1
  154. package/dist/use-widget-ref-wtFLDFCD.js +0 -25
  155. package/dist/use-widget-ref-wtFLDFCD.js.map +0 -1
  156. package/dist/widget-store-CzDt8oSK.js +0 -163
  157. package/dist/widget-store-CzDt8oSK.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { jsx as f, jsxs as j } from "react/jsx-runtime";
2
- import { c as L } from "react/compiler-runtime";
3
- import { R as ee } from "../row-DTCV0Ocm.js";
4
- import { Box as E, Slider as te, TextField as ne, Skeleton as H } from "@mui/material";
5
- import { useState as X } from "react";
6
- import { u as $ } from "../widget-store-CzDt8oSK.js";
7
- import { useShallow as J } from "zustand/shallow";
8
- import { d as ie } from "../formatter-B1Xh8XDH.js";
9
- const v = {
1
+ import { jsx as u, jsxs as z } from "react/jsx-runtime";
2
+ import { c as P } from "react/compiler-runtime";
3
+ import { R as X } from "../row-D4VOhcNI.js";
4
+ import { Box as B, Slider as Y, TextField as Z, Skeleton as q } from "@mui/material";
5
+ import { useState as J } from "react";
6
+ import { w as V } from "../widget-store-CIrb9RKP.js";
7
+ import { u as ee } from "../use-widget-selector-DqRmWQ1K.js";
8
+ import { d as te } from "../formatter-B9Bxn1k7.js";
9
+ const y = {
10
10
  rangeItem: {
11
11
  display: "flex",
12
12
  flexDirection: "column",
@@ -36,175 +36,177 @@ const v = {
36
36
  }
37
37
  }
38
38
  };
39
- function ae(n) {
40
- const e = L(65), {
41
- id: i,
42
- index: a
39
+ function ne(n) {
40
+ const e = P(58), {
41
+ id: a,
42
+ index: i
43
43
  } = n;
44
- let r;
45
- e[0] !== i || e[1] !== a ? (r = (s) => s.getWidget(i)?.data[a], e[0] = i, e[1] = a, e[2] = r) : r = e[2];
46
- const t = $(J(r));
47
- let h;
48
- e[3] !== i ? (h = (s) => s.getWidget(i)?.onChange, e[3] = i, e[4] = h) : h = e[4];
49
- const m = $(J(h)), o = $(J((s) => s.getWidget(i)?.formatter)) ?? ie, c = $(se), d = $(le);
50
- let b;
51
- e[5] !== t ? (b = t ? t.value ?? [t.min, t.max] : [0, 0], e[5] = t, e[6] = b) : b = e[6];
52
- const l = b, [u, y] = X("");
44
+ let m;
45
+ e[0] !== i ? (m = (d) => {
46
+ const r = d;
47
+ return {
48
+ item: r?.data[i],
49
+ onChange: r?.onChange,
50
+ formatter: r?.formatter
51
+ };
52
+ }, e[0] = i, e[1] = m) : m = e[1];
53
+ const {
54
+ item: t,
55
+ onChange: c,
56
+ formatter: F
57
+ } = ee(a, m), o = F ?? te;
58
+ let p;
59
+ e[2] !== t ? (p = t ? t.value ?? [t.min, t.max] : [0, 0], e[2] = t, e[3] = p) : p = e[3];
60
+ const l = p, [f, $] = J("");
53
61
  if (!t)
54
62
  return null;
55
- let B;
56
- e[7] !== c || e[8] !== i || e[9] !== a || e[10] !== t || e[11] !== m || e[12] !== d ? (B = (s, S) => {
57
- if (Array.isArray(S)) {
58
- const [G, P] = S, x = c(i)?.data ?? [];
59
- x[a] = {
63
+ let h;
64
+ e[4] !== a || e[5] !== i || e[6] !== t || e[7] !== c ? (h = (d, r) => {
65
+ if (Array.isArray(r)) {
66
+ const [U, K] = r, b = V.getWidget(a)?.data ?? [];
67
+ b[i] = {
60
68
  ...t,
61
- value: S
62
- }, d(i, {
63
- data: x
64
- }), m?.([G, P], a);
69
+ value: r
70
+ }, V.setWidget(a, {
71
+ data: b
72
+ }), c?.([U, K], i);
65
73
  }
66
- }, e[7] = c, e[8] = i, e[9] = a, e[10] = t, e[11] = m, e[12] = d, e[13] = B) : B = e[13];
67
- const I = B;
74
+ }, e[4] = a, e[5] = i, e[6] = t, e[7] = c, e[8] = h) : h = e[8];
75
+ const x = h;
76
+ let k;
77
+ e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (k = (d) => {
78
+ $(d.target.name);
79
+ }, e[9] = k) : k = e[9];
80
+ const I = k;
68
81
  let g;
69
- e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = (s) => {
70
- y(s.target.name);
71
- }, e[14] = g) : g = e[14];
72
- const _ = g;
73
- let w;
74
- if (e[15] !== l[0] || e[16] !== l[1] || e[17] !== c || e[18] !== i || e[19] !== a || e[20] !== t.max || e[21] !== t.min || e[22] !== m || e[23] !== d) {
75
- const s = (S) => {
82
+ if (e[10] !== l[0] || e[11] !== l[1] || e[12] !== a || e[13] !== i || e[14] !== t.max || e[15] !== t.min || e[16] !== c) {
83
+ const d = (r) => {
76
84
  const {
77
- name: G,
78
- value: P
79
- } = S.target;
80
- let x;
81
- G === "min" ? x = [Math.min(Math.max(t.min, parseFloat(P) || t.min), l[1]), l[1] ?? 0] : x = [l[0] ?? 0, Math.max(Math.min(t.max, parseFloat(P) || t.max), l[0])];
82
- const Y = c(i)?.data ?? [];
83
- d(i, {
84
- data: Y.map((O, Z) => Z === a ? {
85
- ...O,
86
- value: x
87
- } : O)
88
- }), m?.([x[0], x[1]], a);
85
+ name: U,
86
+ value: K
87
+ } = r.target;
88
+ let b;
89
+ U === "min" ? b = [Math.min(Math.max(t.min, parseFloat(K) || t.min), l[1]), l[1] ?? 0] : b = [l[0] ?? 0, Math.max(Math.min(t.max, parseFloat(K) || t.max), l[0])];
90
+ const O = V.getWidget(a)?.data ?? [];
91
+ V.setWidget(a, {
92
+ data: O.map((G, Q) => Q === i ? {
93
+ ...G,
94
+ value: b
95
+ } : G)
96
+ }), c?.([b[0], b[1]], i);
89
97
  };
90
- w = (S) => {
91
- y(""), s(S);
92
- }, e[15] = l[0], e[16] = l[1], e[17] = c, e[18] = i, e[19] = a, e[20] = t.max, e[21] = t.min, e[22] = m, e[23] = d, e[24] = w;
98
+ g = (r) => {
99
+ $(""), d(r);
100
+ }, e[10] = l[0], e[11] = l[1], e[12] = a, e[13] = i, e[14] = t.max, e[15] = t.min, e[16] = c, e[17] = g;
93
101
  } else
94
- w = e[24];
95
- const p = w;
96
- let K;
97
- e[25] !== p ? (K = (s) => {
98
- s.key === "Enter" && (p(s), s.currentTarget.blur());
99
- }, e[25] = p, e[26] = K) : K = e[26];
100
- const R = K;
101
- let C;
102
- e[27] !== t.color ? (C = t.color && {
102
+ g = e[17];
103
+ const s = g;
104
+ let w;
105
+ e[18] !== s ? (w = (d) => {
106
+ d.key === "Enter" && (s(d), d.currentTarget.blur());
107
+ }, e[18] = s, e[19] = w) : w = e[19];
108
+ const S = w;
109
+ let _;
110
+ e[20] !== t.color ? (_ = t.color && {
103
111
  color: t.color
104
- }, e[27] = t.color, e[28] = C) : C = e[28];
105
- let M;
106
- e[29] !== C ? (M = {
107
- ...v.slider,
108
- ...C
109
- }, e[29] = C, e[30] = M) : M = e[30];
110
- let D;
111
- e[31] !== l || e[32] !== o || e[33] !== I || e[34] !== t.disabled || e[35] !== t.marks || e[36] !== t.max || e[37] !== t.min || e[38] !== t.step || e[39] !== M ? (D = /* @__PURE__ */ f(E, { sx: v.sliderContainer, children: /* @__PURE__ */ f(te, { value: l, onChange: I, valueLabelDisplay: "auto", valueLabelFormat: o, min: t.min, max: t.max, step: t.step, marks: t.marks, disabled: t.disabled, sx: M }) }), e[31] = l, e[32] = o, e[33] = I, e[34] = t.disabled, e[35] = t.marks, e[36] = t.max, e[37] = t.min, e[38] = t.step, e[39] = M, e[40] = D) : D = e[40];
112
- const T = `min-${l[0]}`, N = l[0] ?? 0;
113
- let V;
114
- e[41] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (V = {
115
- "aria-label": "Minimum value"
116
- }, e[41] = V) : V = e[41];
117
- let F;
118
- e[42] !== o || e[43] !== p || e[44] !== R || e[45] !== u || e[46] !== t.disabled || e[47] !== T || e[48] !== N ? (F = /* @__PURE__ */ f(Q, { isEditing: u, name: "min", value: N, formatter: o, onFocus: _, onBlur: p, onKeyDown: R, disabled: t.disabled, inputProps: V }, T), e[42] = o, e[43] = p, e[44] = R, e[45] = u, e[46] = t.disabled, e[47] = T, e[48] = N, e[49] = F) : F = e[49];
119
- const U = `max-${l[1]}`, q = l[1] ?? 0;
120
- let z;
121
- e[50] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (z = {
122
- "aria-label": "Maximum value"
123
- }, e[50] = z) : z = e[50];
124
- let k;
125
- e[51] !== o || e[52] !== p || e[53] !== R || e[54] !== u || e[55] !== t.disabled || e[56] !== U || e[57] !== q ? (k = /* @__PURE__ */ f(Q, { isEditing: u, name: "max", value: q, formatter: o, onFocus: _, onBlur: p, onKeyDown: R, disabled: t.disabled, inputProps: z }, U), e[51] = o, e[52] = p, e[53] = R, e[54] = u, e[55] = t.disabled, e[56] = U, e[57] = q, e[58] = k) : k = e[58];
112
+ }, e[20] = t.color, e[21] = _) : _ = e[21];
113
+ let v;
114
+ e[22] !== _ ? (v = {
115
+ ...y.slider,
116
+ ..._
117
+ }, e[22] = _, e[23] = v) : v = e[23];
118
+ let C;
119
+ e[24] !== l || e[25] !== o || e[26] !== x || e[27] !== t.disabled || e[28] !== t.marks || e[29] !== t.max || e[30] !== t.min || e[31] !== t.step || e[32] !== v ? (C = /* @__PURE__ */ u(B, { sx: y.sliderContainer, children: /* @__PURE__ */ u(Y, { value: l, onChange: x, valueLabelDisplay: "auto", valueLabelFormat: o, min: t.min, max: t.max, step: t.step, marks: t.marks, disabled: t.disabled, sx: v }) }), e[24] = l, e[25] = o, e[26] = x, e[27] = t.disabled, e[28] = t.marks, e[29] = t.max, e[30] = t.min, e[31] = t.step, e[32] = v, e[33] = C) : C = e[33];
120
+ const j = `min-${l[0]}`, L = l[0] ?? 0;
126
121
  let W;
127
- e[59] !== F || e[60] !== k ? (W = /* @__PURE__ */ j(E, { sx: v.inputsRow, children: [
128
- F,
129
- k
130
- ] }), e[59] = F, e[60] = k, e[61] = W) : W = e[61];
122
+ e[34] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (W = {
123
+ "aria-label": "Minimum value"
124
+ }, e[34] = W) : W = e[34];
125
+ let R;
126
+ e[35] !== o || e[36] !== s || e[37] !== S || e[38] !== f || e[39] !== t.disabled || e[40] !== j || e[41] !== L ? (R = /* @__PURE__ */ u(H, { isEditing: f, name: "min", value: L, formatter: o, onFocus: I, onBlur: s, onKeyDown: S, disabled: t.disabled, inputProps: W }, j), e[35] = o, e[36] = s, e[37] = S, e[38] = f, e[39] = t.disabled, e[40] = j, e[41] = L, e[42] = R) : R = e[42];
127
+ const T = `max-${l[1]}`, N = l[1] ?? 0;
131
128
  let A;
132
- return e[62] !== D || e[63] !== W ? (A = /* @__PURE__ */ j(E, { sx: v.rangeItem, children: [
133
- D,
134
- W
135
- ] }), e[62] = D, e[63] = W, e[64] = A) : A = e[64], A;
136
- }
137
- function le(n) {
138
- return n.setWidget;
139
- }
140
- function se(n) {
141
- return n.getWidget;
129
+ e[43] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (A = {
130
+ "aria-label": "Maximum value"
131
+ }, e[43] = A) : A = e[43];
132
+ let M;
133
+ e[44] !== o || e[45] !== s || e[46] !== S || e[47] !== f || e[48] !== t.disabled || e[49] !== T || e[50] !== N ? (M = /* @__PURE__ */ u(H, { isEditing: f, name: "max", value: N, formatter: o, onFocus: I, onBlur: s, onKeyDown: S, disabled: t.disabled, inputProps: A }, T), e[44] = o, e[45] = s, e[46] = S, e[47] = f, e[48] = t.disabled, e[49] = T, e[50] = N, e[51] = M) : M = e[51];
134
+ let D;
135
+ e[52] !== R || e[53] !== M ? (D = /* @__PURE__ */ z(B, { sx: y.inputsRow, children: [
136
+ R,
137
+ M
138
+ ] }), e[52] = R, e[53] = M, e[54] = D) : D = e[54];
139
+ let E;
140
+ return e[55] !== D || e[56] !== C ? (E = /* @__PURE__ */ z(B, { sx: y.rangeItem, children: [
141
+ C,
142
+ D
143
+ ] }), e[55] = D, e[56] = C, e[57] = E) : E = e[57], E;
142
144
  }
143
- function Q(n) {
144
- const e = L(12), {
145
- isEditing: i,
146
- name: a,
147
- disabled: r,
145
+ function H(n) {
146
+ const e = P(12), {
147
+ isEditing: a,
148
+ name: i,
149
+ disabled: m,
148
150
  value: t,
149
- formatter: h,
150
- onFocus: m,
151
+ formatter: c,
152
+ onFocus: F,
151
153
  onBlur: o,
152
- onKeyDown: c,
153
- inputProps: d
154
- } = n, [b, l] = X(String(t)), u = Number(b);
155
- let y;
156
- e[0] !== h || e[1] !== u ? (y = h(u), e[0] = h, e[1] = u, e[2] = y) : y = e[2];
157
- const I = i === a ? b : y;
154
+ onKeyDown: p,
155
+ inputProps: l
156
+ } = n, [f, $] = J(String(t)), h = Number(f);
157
+ let x;
158
+ e[0] !== c || e[1] !== h ? (x = c(h), e[0] = c, e[1] = h, e[2] = x) : x = e[2];
159
+ const I = a === i ? f : x;
158
160
  let g;
159
161
  e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = (w) => {
160
- l(w.target.value);
162
+ $(w.target.value);
161
163
  }, e[3] = g) : g = e[3];
162
- let _;
163
- return e[4] !== r || e[5] !== d || e[6] !== a || e[7] !== o || e[8] !== m || e[9] !== c || e[10] !== I ? (_ = /* @__PURE__ */ f(ne, { name: a, value: I, onChange: g, onFocus: m, onBlur: o, onKeyDown: c, disabled: r, size: "small", sx: v.input, inputProps: d }), e[4] = r, e[5] = d, e[6] = a, e[7] = o, e[8] = m, e[9] = c, e[10] = I, e[11] = _) : _ = e[11], _;
164
+ let s;
165
+ return e[4] !== m || e[5] !== l || e[6] !== i || e[7] !== o || e[8] !== F || e[9] !== p || e[10] !== I ? (s = /* @__PURE__ */ u(Z, { name: i, value: I, onChange: g, onFocus: F, onBlur: o, onKeyDown: p, disabled: m, size: "small", sx: y.input, inputProps: l }), e[4] = m, e[5] = l, e[6] = i, e[7] = o, e[8] = F, e[9] = p, e[10] = I, e[11] = s) : s = e[11], s;
164
166
  }
165
- function he(n) {
166
- const e = L(5);
167
- let i;
168
- e[0] !== n.id ? (i = (r) => {
167
+ function ue(n) {
168
+ const e = P(5);
169
+ let a;
170
+ e[0] !== n.id ? (a = (m) => {
169
171
  const {
170
172
  index: t
171
- } = r;
172
- return /* @__PURE__ */ f(ae, { id: n.id, index: t });
173
- }, e[0] = n.id, e[1] = i) : i = e[1];
174
- let a;
175
- return e[2] !== n.id || e[3] !== i ? (a = /* @__PURE__ */ f(ee, { id: n.id, children: i }), e[2] = n.id, e[3] = i, e[4] = a) : a = e[4], a;
173
+ } = m;
174
+ return /* @__PURE__ */ u(ne, { id: n.id, index: t });
175
+ }, e[0] = n.id, e[1] = a) : a = e[1];
176
+ let i;
177
+ return e[2] !== n.id || e[3] !== a ? (i = /* @__PURE__ */ u(X, { id: n.id, children: a }), e[2] = n.id, e[3] = a, e[4] = i) : i = e[4], i;
176
178
  }
177
- function xe() {
178
- const n = L(2);
179
+ function fe() {
180
+ const n = P(2);
179
181
  let e;
180
- n[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ f(H, { width: "100%", height: 32 }), n[0] = e) : e = n[0];
181
- let i;
182
- return n[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ j(E, { sx: v.rangeItem, "aria-label": "Range skeleton", children: [
182
+ n[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ u(q, { width: "100%", height: 32 }), n[0] = e) : e = n[0];
183
+ let a;
184
+ return n[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ z(B, { sx: y.rangeItem, "aria-label": "Range skeleton", children: [
183
185
  e,
184
- /* @__PURE__ */ j(E, { sx: v.inputsRow, children: [
185
- /* @__PURE__ */ f(H, { width: "100%", height: 40 }),
186
- /* @__PURE__ */ f(H, { width: "100%", height: 40 })
186
+ /* @__PURE__ */ z(B, { sx: y.inputsRow, children: [
187
+ /* @__PURE__ */ u(q, { width: "100%", height: 40 }),
188
+ /* @__PURE__ */ u(q, { width: "100%", height: 40 })
187
189
  ] })
188
- ] }), n[1] = i) : i = n[1], i;
190
+ ] }), n[1] = a) : a = n[1], a;
189
191
  }
190
- function be() {
192
+ function ge() {
191
193
  return {};
192
194
  }
193
- function oe(n) {
195
+ function ae(n) {
194
196
  return {
195
197
  ...n,
196
198
  note: typeof n.note == "string" ? n.note : void 0
197
199
  };
198
200
  }
199
- function ye(n) {
200
- return n?.map(oe);
201
+ function pe(n) {
202
+ return n?.map(ae);
201
203
  }
202
204
  export {
203
- ae as RangeItem,
204
- xe as RangeSkeleton,
205
- he as RangeUI,
206
- be as rangeConfig,
207
- oe as sanitizeRangeDataItem,
208
- ye as sanitizeRangeDataItems
205
+ ne as RangeItem,
206
+ fe as RangeSkeleton,
207
+ ue as RangeUI,
208
+ ge as rangeConfig,
209
+ ae as sanitizeRangeDataItem,
210
+ pe as sanitizeRangeDataItems
209
211
  };
210
212
  //# sourceMappingURL=range.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sources":["../../src/widgets/range/style.ts","../../src/widgets/range/components/range-item.tsx","../../src/widgets/range/range-ui.tsx","../../src/widgets/range/skeleton.tsx","../../src/widgets/range/config.ts","../../src/widgets/range/serializer.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles: Record<string, SxProps<Theme>> = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n rangeItem: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1.5),\n },\n sliderContainer: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1),\n px: (theme: Theme) => theme.spacing(1),\n },\n inputsRow: {\n display: 'flex',\n gap: (theme: Theme) => theme.spacing(2),\n alignItems: 'center',\n },\n input: {\n flex: 1,\n '& .MuiInputBase-input': {\n textAlign: 'center',\n },\n },\n slider: {\n width: '100%',\n '&.Mui-disabled': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Slider, TextField } from '@mui/material'\nimport { useState, useMemo, type FocusEvent, type KeyboardEvent } from 'react'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport type { RangeItemProps, RangeWidgetState } from '../types'\nimport { styles } from '../style'\nimport { useShallow } from 'zustand/shallow'\n\nimport { defaultFormatter } from '../../utils/formatter'\n\ntype EditingState = '' | 'min' | 'max'\n\n/**\n * Renders a single range slider with editable min/max text inputs, reading its configuration from the widget store.\n */\nexport function RangeItem({ id, index }: RangeItemProps) {\n const item = useWidgetStore(\n useShallow((state) => state.getWidget<RangeWidgetState>(id)?.data[index]),\n )\n const onChange = useWidgetStore(\n useShallow((state) => state.getWidget<RangeWidgetState>(id)?.onChange),\n )\n const formatter =\n useWidgetStore(\n useShallow((state) => state.getWidget<RangeWidgetState>(id)?.formatter),\n ) ?? defaultFormatter\n const getWidget = useWidgetStore((store) => store.getWidget)\n const setWidget = useWidgetStore((store) => store.setWidget)\n\n const currentValue = useMemo(\n () => (item ? (item.value ?? [item.min, item.max]) : [0, 0]),\n [item],\n )\n\n // Local state for input values - track if user is editing\n const [isEditing, setIsEditing] = useState<EditingState>('')\n\n if (!item) return null\n\n const handleSliderChange = (_: Event, newValue: number | number[]) => {\n if (Array.isArray(newValue)) {\n const [min, max] = newValue\n const data = getWidget<RangeWidgetState>(id)?.data ?? []\n\n data[index] = {\n ...item,\n value: newValue,\n }\n\n setWidget(id, {\n data,\n })\n\n onChange?.([min!, max!], index)\n }\n }\n\n const handleInputFocus = (e: FocusEvent<HTMLInputElement>) => {\n setIsEditing(e.target.name as EditingState)\n }\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = event.target\n\n let newValue: [number, number]\n if (name === 'min') {\n newValue = [\n Math.min(\n Math.max(item.min, parseFloat(value) || item.min),\n currentValue[1]!,\n ),\n currentValue[1] ?? 0,\n ]\n } else {\n newValue = [\n currentValue[0] ?? 0,\n Math.max(\n Math.min(item.max, parseFloat(value) || item.max),\n currentValue[0]!,\n ),\n ]\n }\n\n const data = getWidget<RangeWidgetState>(id)?.data ?? []\n\n setWidget(id, {\n data: data.map((d: RangeWidgetState['data'][number], i: number) =>\n i === index\n ? {\n ...d,\n value: newValue,\n }\n : d,\n ),\n })\n\n onChange?.([newValue[0], newValue[1]], index)\n }\n\n const handleInputBlur = (e: FocusEvent<HTMLInputElement>) => {\n setIsEditing('')\n handleInputChange(e)\n }\n\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n handleInputBlur(event as unknown as FocusEvent<HTMLInputElement>)\n event.currentTarget.blur()\n }\n }\n\n return (\n <Box sx={styles.rangeItem}>\n <Box sx={styles.sliderContainer}>\n <Slider\n value={currentValue}\n onChange={handleSliderChange}\n valueLabelDisplay='auto'\n valueLabelFormat={formatter}\n min={item.min}\n max={item.max}\n step={item.step}\n marks={item.marks}\n disabled={item.disabled}\n sx={{\n ...styles.slider,\n ...(item.color && {\n color: item.color,\n }),\n }}\n />\n </Box>\n\n <Box sx={styles.inputsRow}>\n <Input\n key={`min-${currentValue[0]}`}\n isEditing={isEditing}\n name='min'\n value={currentValue[0] ?? 0}\n formatter={formatter}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n disabled={item.disabled}\n inputProps={{\n 'aria-label': 'Minimum value',\n }}\n />\n <Input\n key={`max-${currentValue[1]}`}\n isEditing={isEditing}\n name='max'\n value={currentValue[1] ?? 0}\n formatter={formatter}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n disabled={item.disabled}\n inputProps={{\n 'aria-label': 'Maximum value',\n }}\n />\n </Box>\n </Box>\n )\n}\n\nfunction Input({\n isEditing,\n name,\n disabled,\n value,\n formatter,\n onFocus: onFocus,\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n inputProps,\n}: {\n isEditing: EditingState\n name: 'min' | 'max'\n disabled?: boolean\n value: number\n formatter: (value: number) => string\n onFocus: (e: FocusEvent<HTMLInputElement>) => void\n onBlur: (e: FocusEvent<HTMLInputElement>) => void\n onKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>\n}) {\n const [currentValue, setCurrentValue] = useState<string>(String(value))\n\n // Compute display values when not editing\n const displayMinValue = useMemo(\n () => formatter(Number(currentValue)),\n [currentValue, formatter],\n )\n\n return (\n <TextField\n name={name}\n value={isEditing === name ? currentValue : displayMinValue}\n onChange={(e) => {\n setCurrentValue(e.target.value)\n }}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={disabled}\n size='small'\n sx={styles.input}\n inputProps={inputProps}\n />\n )\n}\n","import type { RangeUIProps } from './types'\nimport { Row } from '../formula/components/row'\nimport { RangeItem } from './components/range-item'\n\n/**\n * Renders a range widget with one or more interactive dual-slider controls for selecting value ranges.\n */\nexport function RangeUI(props: RangeUIProps) {\n return (\n <Row id={props.id}>\n {({ index }) => <RangeItem id={props.id} index={index} />}\n </Row>\n )\n}\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function RangeSkeleton() {\n return (\n <Box sx={styles.rangeItem} aria-label='Range skeleton'>\n <Skeleton width='100%' height={32} />\n <Box sx={styles.inputsRow}>\n <Skeleton width='100%' height={40} />\n <Skeleton width='100%' height={40} />\n </Box>\n </Box>\n )\n}\n","import type { RangeWidgetConfig } from './types'\n\n/**\n * Returns the default configuration for range (value range with labels) widgets.\n *\n * @returns Default range widget config.\n */\nexport function rangeConfig(): RangeWidgetConfig {\n return {}\n}\n","import type { RangeDataItem } from './types'\n\n/**\n * Sanitizes RangeDataItem by converting ReactNode note values to undefined.\n * This ensures only string values are stored in the widget state.\n *\n * @param item - The RangeDataItem to sanitize\n * @returns A new RangeDataItem with ReactNode note values converted to undefined\n */\nexport function sanitizeRangeDataItem(item: RangeDataItem): RangeDataItem {\n return {\n ...item,\n note: typeof item.note === 'string' ? item.note : undefined,\n }\n}\n\n/**\n * Sanitizes an array of RangeDataItems by converting ReactNode note values to undefined.\n *\n * @param items - Array of RangeDataItems to sanitize\n * @returns A new array with sanitized RangeDataItems\n */\nexport function sanitizeRangeDataItems(\n items: RangeDataItem[] | undefined,\n): RangeDataItem[] | undefined {\n return items?.map(sanitizeRangeDataItem)\n}\n"],"names":["styles","rangeItem","display","flexDirection","gap","theme","spacing","sliderContainer","px","inputsRow","alignItems","input","flex","textAlign","slider","width","color","palette","text","disabled","RangeItem","t0","$","_c","id","index","t1","state","getWidget","data","item","useWidgetStore","useShallow","t2","state_0","onChange","formatter","state_1","defaultFormatter","_temp","setWidget","_temp2","t3","value","min","max","currentValue","isEditing","setIsEditing","useState","t4","_","newValue","Array","isArray","handleSliderChange","t5","Symbol","for","e","target","name","handleInputFocus","t6","handleInputChange","event","Math","parseFloat","data_0","map","d","i","e_0","handleInputBlur","t7","event_0","key","currentTarget","blur","handleInputKeyDown","t8","t9","t10","marks","step","Box","jsx","Slider","t11","t12","t13","t14","Input","t15","t16","t17","t18","t19","t20","store_0","store","onFocus","onBlur","onKeyDown","inputProps","setCurrentValue","String","Number","TextField","RangeUI","props","Row","RangeSkeleton","Skeleton","jsxs","rangeConfig","sanitizeRangeDataItem","note","undefined","sanitizeRangeDataItems","items"],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sources":["../../src/widgets/range/style.ts","../../src/widgets/range/components/range-item.tsx","../../src/widgets/range/range-ui.tsx","../../src/widgets/range/skeleton.tsx","../../src/widgets/range/config.ts","../../src/widgets/range/serializer.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles: Record<string, SxProps<Theme>> = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n rangeItem: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1.5),\n },\n sliderContainer: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1),\n px: (theme: Theme) => theme.spacing(1),\n },\n inputsRow: {\n display: 'flex',\n gap: (theme: Theme) => theme.spacing(2),\n alignItems: 'center',\n },\n input: {\n flex: 1,\n '& .MuiInputBase-input': {\n textAlign: 'center',\n },\n },\n slider: {\n width: '100%',\n '&.Mui-disabled': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Slider, TextField } from '@mui/material'\nimport { useState, useMemo, type FocusEvent, type KeyboardEvent } from 'react'\nimport { widgetStoreActions } from '../../stores/widget-store'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\nimport type { RangeItemProps, RangeWidgetState } from '../types'\nimport { styles } from '../style'\n\nimport { defaultFormatter } from '../../utils/formatter'\n\ntype EditingState = '' | 'min' | 'max'\n\n/**\n * Renders a single range slider with editable min/max text inputs, reading its configuration from the widget store.\n */\nexport function RangeItem({ id, index }: RangeItemProps) {\n const {\n item,\n onChange,\n formatter: _formatter,\n } = useWidgetSelector(id, (w) => {\n const rw = w as RangeWidgetState | undefined\n return {\n item: rw?.data[index],\n onChange: rw?.onChange,\n formatter: rw?.formatter,\n }\n })\n const formatter = _formatter ?? defaultFormatter\n\n const currentValue = useMemo(\n () => (item ? (item.value ?? [item.min, item.max]) : [0, 0]),\n [item],\n )\n\n // Local state for input values - track if user is editing\n const [isEditing, setIsEditing] = useState<EditingState>('')\n\n if (!item) return null\n\n const handleSliderChange = (_: Event, newValue: number | number[]) => {\n if (Array.isArray(newValue)) {\n const [min, max] = newValue\n const data =\n widgetStoreActions.getWidget<RangeWidgetState>(id)?.data ?? []\n\n data[index] = {\n ...item,\n value: newValue,\n }\n\n widgetStoreActions.setWidget(id, {\n data,\n })\n\n onChange?.([min!, max!], index)\n }\n }\n\n const handleInputFocus = (e: FocusEvent<HTMLInputElement>) => {\n setIsEditing(e.target.name as EditingState)\n }\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = event.target\n\n let newValue: [number, number]\n if (name === 'min') {\n newValue = [\n Math.min(\n Math.max(item.min, parseFloat(value) || item.min),\n currentValue[1]!,\n ),\n currentValue[1] ?? 0,\n ]\n } else {\n newValue = [\n currentValue[0] ?? 0,\n Math.max(\n Math.min(item.max, parseFloat(value) || item.max),\n currentValue[0]!,\n ),\n ]\n }\n\n const data = widgetStoreActions.getWidget<RangeWidgetState>(id)?.data ?? []\n\n widgetStoreActions.setWidget(id, {\n data: data.map((d: RangeWidgetState['data'][number], i: number) =>\n i === index\n ? {\n ...d,\n value: newValue,\n }\n : d,\n ),\n })\n\n onChange?.([newValue[0], newValue[1]], index)\n }\n\n const handleInputBlur = (e: FocusEvent<HTMLInputElement>) => {\n setIsEditing('')\n handleInputChange(e)\n }\n\n const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n handleInputBlur(event as unknown as FocusEvent<HTMLInputElement>)\n event.currentTarget.blur()\n }\n }\n\n return (\n <Box sx={styles.rangeItem}>\n <Box sx={styles.sliderContainer}>\n <Slider\n value={currentValue}\n onChange={handleSliderChange}\n valueLabelDisplay='auto'\n valueLabelFormat={formatter}\n min={item.min}\n max={item.max}\n step={item.step}\n marks={item.marks}\n disabled={item.disabled}\n sx={{\n ...styles.slider,\n ...(item.color && {\n color: item.color,\n }),\n }}\n />\n </Box>\n\n <Box sx={styles.inputsRow}>\n <Input\n key={`min-${currentValue[0]}`}\n isEditing={isEditing}\n name='min'\n value={currentValue[0] ?? 0}\n formatter={formatter}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n disabled={item.disabled}\n inputProps={{\n 'aria-label': 'Minimum value',\n }}\n />\n <Input\n key={`max-${currentValue[1]}`}\n isEditing={isEditing}\n name='max'\n value={currentValue[1] ?? 0}\n formatter={formatter}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n disabled={item.disabled}\n inputProps={{\n 'aria-label': 'Maximum value',\n }}\n />\n </Box>\n </Box>\n )\n}\n\nfunction Input({\n isEditing,\n name,\n disabled,\n value,\n formatter,\n onFocus: onFocus,\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n inputProps,\n}: {\n isEditing: EditingState\n name: 'min' | 'max'\n disabled?: boolean\n value: number\n formatter: (value: number) => string\n onFocus: (e: FocusEvent<HTMLInputElement>) => void\n onBlur: (e: FocusEvent<HTMLInputElement>) => void\n onKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>\n}) {\n const [currentValue, setCurrentValue] = useState<string>(String(value))\n\n // Compute display values when not editing\n const displayMinValue = useMemo(\n () => formatter(Number(currentValue)),\n [currentValue, formatter],\n )\n\n return (\n <TextField\n name={name}\n value={isEditing === name ? currentValue : displayMinValue}\n onChange={(e) => {\n setCurrentValue(e.target.value)\n }}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={disabled}\n size='small'\n sx={styles.input}\n inputProps={inputProps}\n />\n )\n}\n","import type { RangeUIProps } from './types'\nimport { Row } from '../formula/components/row'\nimport { RangeItem } from './components/range-item'\n\n/**\n * Renders a range widget with one or more interactive dual-slider controls for selecting value ranges.\n */\nexport function RangeUI(props: RangeUIProps) {\n return (\n <Row id={props.id}>\n {({ index }) => <RangeItem id={props.id} index={index} />}\n </Row>\n )\n}\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function RangeSkeleton() {\n return (\n <Box sx={styles.rangeItem} aria-label='Range skeleton'>\n <Skeleton width='100%' height={32} />\n <Box sx={styles.inputsRow}>\n <Skeleton width='100%' height={40} />\n <Skeleton width='100%' height={40} />\n </Box>\n </Box>\n )\n}\n","import type { RangeWidgetConfig } from './types'\n\n/**\n * Returns the default configuration for range (value range with labels) widgets.\n *\n * @returns Default range widget config.\n */\nexport function rangeConfig(): RangeWidgetConfig {\n return {}\n}\n","import type { RangeDataItem } from './types'\n\n/**\n * Sanitizes RangeDataItem by converting ReactNode note values to undefined.\n * This ensures only string values are stored in the widget state.\n *\n * @param item - The RangeDataItem to sanitize\n * @returns A new RangeDataItem with ReactNode note values converted to undefined\n */\nexport function sanitizeRangeDataItem(item: RangeDataItem): RangeDataItem {\n return {\n ...item,\n note: typeof item.note === 'string' ? item.note : undefined,\n }\n}\n\n/**\n * Sanitizes an array of RangeDataItems by converting ReactNode note values to undefined.\n *\n * @param items - Array of RangeDataItems to sanitize\n * @returns A new array with sanitized RangeDataItems\n */\nexport function sanitizeRangeDataItems(\n items: RangeDataItem[] | undefined,\n): RangeDataItem[] | undefined {\n return items?.map(sanitizeRangeDataItem)\n}\n"],"names":["styles","rangeItem","display","flexDirection","gap","theme","spacing","sliderContainer","px","inputsRow","alignItems","input","flex","textAlign","slider","width","color","palette","text","disabled","RangeItem","t0","$","_c","id","index","t1","w","rw","item","data","onChange","formatter","_formatter","useWidgetSelector","defaultFormatter","t2","value","min","max","currentValue","isEditing","setIsEditing","useState","t3","_","newValue","Array","isArray","widgetStoreActions","getWidget","setWidget","handleSliderChange","t4","Symbol","for","e","target","name","handleInputFocus","t5","handleInputChange","event","Math","parseFloat","data_0","map","d","i","e_0","handleInputBlur","t6","event_0","key","currentTarget","blur","handleInputKeyDown","t7","t8","t9","marks","step","Box","jsx","Slider","t10","t11","t12","t13","Input","t14","t15","t16","t17","t18","t19","onFocus","onBlur","onKeyDown","inputProps","setCurrentValue","String","Number","TextField","RangeUI","props","Row","RangeSkeleton","Skeleton","jsxs","rangeConfig","sanitizeRangeDataItem","note","undefined","sanitizeRangeDataItems","items"],"mappings":"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"}
@@ -1,27 +1,30 @@
1
- import { jsxs as f, jsx as n } from "react/jsx-runtime";
1
+ import { jsxs as g, jsx as i } from "react/jsx-runtime";
2
2
  import { c as h } from "react/compiler-runtime";
3
3
  import "react";
4
4
  import "echarts";
5
- import "../widget-store-CzDt8oSK.js";
5
+ import "../widget-store-CIrb9RKP.js";
6
6
  import "zustand/shallow";
7
- import { g as x } from "../options-D9wflre6.js";
8
- import { m as b } from "../utils-BOhInag6.js";
9
- import { g as v, h as S, b as k, e as w, s as L, c as I } from "../styles-C_8vOEep.js";
10
- import { Box as s, Skeleton as p } from "@mui/material";
11
- const P = v(L);
12
- function R(e) {
7
+ import { g as b } from "../options-D9wflre6.js";
8
+ import { m as S } from "../utils-BOhInag6.js";
9
+ import { c as v, s as k } from "../download-config-DemuQ3Jm.js";
10
+ import { g as w, b as L, a as I, e as _, c as A } from "../styles-Y8q7Jff3.js";
11
+ import { Box as p, Skeleton as c } from "@mui/material";
12
+ const X = v(k);
13
+ function Y(e) {
13
14
  return {
14
15
  type: "scatterplot",
15
- option: b(x(e), _(e)),
16
- formatter: e.formatter
16
+ option: S(b(e), C(e)),
17
+ formatter: e.formatter,
18
+ labelFormatter: e.labelFormatter
17
19
  };
18
20
  }
19
- function _({
21
+ function C({
20
22
  data: e = [],
21
23
  theme: t,
22
- formatter: o
24
+ formatter: o,
25
+ labelFormatter: n
23
26
  }) {
24
- const i = e.length > 1, g = {
27
+ const l = e.length > 1, m = {
25
28
  type: "value",
26
29
  axisLine: {
27
30
  show: !1
@@ -44,7 +47,7 @@ function _({
44
47
  color: t.palette.black[4]
45
48
  }
46
49
  }
47
- }, m = {
50
+ }, u = {
48
51
  type: "value",
49
52
  axisLabel: {
50
53
  fontSize: t.typography.overlineDelicate.fontSize,
@@ -72,43 +75,46 @@ function _({
72
75
  }
73
76
  };
74
77
  return {
75
- legend: w(i),
78
+ legend: _({
79
+ hasLegend: l,
80
+ labelFormatter: n
81
+ }),
76
82
  grid: {
77
- ...!i && {
83
+ ...!l && {
78
84
  bottom: parseInt(t.spacing(1))
79
85
  },
80
- ...i && {
86
+ ...l && {
81
87
  bottom: parseInt(t.spacing(10))
82
88
  }
83
89
  },
84
- xAxis: g,
85
- yAxis: k(m, o),
90
+ xAxis: I(m, n),
91
+ yAxis: L(u, o),
86
92
  tooltip: {
87
93
  trigger: "item",
88
94
  // position: createTooltipPositioner(theme),
89
- formatter: S((a) => {
90
- const l = a.value, u = a.encode?.y?.at(0), r = l[u ?? ""], y = typeof r == "number" && o ? o(r) : r ?? "", d = typeof a.marker == "string" ? a.marker : "";
95
+ formatter: w((a) => {
96
+ const r = a.value, y = a.encode?.y?.at(0), s = r[y ?? ""], d = typeof s == "number" && o ? o(s) : s ?? "", x = typeof a.marker == "string" ? a.marker : "";
91
97
  return {
92
- name: a.seriesName ?? "",
98
+ name: n ? String(n(a.seriesName ?? "")) : a.seriesName ?? "",
93
99
  seriesName: "",
94
- marker: d,
95
- value: y
100
+ marker: x,
101
+ value: d
96
102
  };
97
103
  })
98
104
  },
99
105
  color: Object.values(t.palette.qualitative.bold),
100
- series: e.map((a, l) => ({
101
- datasetIndex: l,
106
+ series: e.map((a, r) => ({
107
+ datasetIndex: r,
102
108
  type: "scatter",
103
109
  symbolSize: 8
104
110
  }))
105
111
  };
106
112
  }
107
- const c = {
113
+ const f = {
108
114
  skeleton: {
109
115
  graph: {
110
116
  container: {
111
- ...I.graph.container,
117
+ ...A.graph.container,
112
118
  position: "relative"
113
119
  }
114
120
  },
@@ -125,7 +131,7 @@ const c = {
125
131
  bottom: 0
126
132
  }
127
133
  }
128
- }, C = [{
134
+ }, D = [{
129
135
  left: "20%",
130
136
  top: "62%"
131
137
  }, {
@@ -171,34 +177,34 @@ const c = {
171
177
  left: "40%",
172
178
  top: "40%"
173
179
  }];
174
- function W() {
180
+ function G() {
175
181
  const e = h(2);
176
182
  let t;
177
- e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = C.map(T), e[0] = t) : t = e[0];
183
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = D.map(z), e[0] = t) : t = e[0];
178
184
  let o;
179
- return e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ f(s, { sx: c.skeleton.graph.container, children: [
185
+ return e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ g(p, { sx: f.skeleton.graph.container, children: [
180
186
  t,
181
- /* @__PURE__ */ n(s, { sx: c.skeleton.legend, children: Array(2).fill(0).map(A) })
187
+ /* @__PURE__ */ i(p, { sx: f.skeleton.legend, children: Array(2).fill(0).map(T) })
182
188
  ] }), e[1] = o) : o = e[1], o;
183
189
  }
184
- function A(e, t) {
185
- return /* @__PURE__ */ f(s, { sx: {
190
+ function T(e, t) {
191
+ return /* @__PURE__ */ g(p, { sx: {
186
192
  display: "flex",
187
193
  alignItems: "center",
188
- gap: D
194
+ gap: F
189
195
  }, children: [
190
- /* @__PURE__ */ n(p, { variant: "circular", width: 8, height: 8 }),
191
- /* @__PURE__ */ n(p, { width: 48, height: 8 })
196
+ /* @__PURE__ */ i(c, { variant: "circular", width: 8, height: 8 }),
197
+ /* @__PURE__ */ i(c, { width: 48, height: 8 })
192
198
  ] }, `skeleton-${t}`);
193
199
  }
194
- function D(e) {
200
+ function F(e) {
195
201
  const {
196
202
  spacing: t
197
203
  } = e;
198
204
  return t(1.5);
199
205
  }
200
- function T(e, t) {
201
- return /* @__PURE__ */ n(p, { variant: "circular", width: 12, height: 12, sx: {
206
+ function z(e, t) {
207
+ return /* @__PURE__ */ i(c, { variant: "circular", width: 12, height: 12, sx: {
202
208
  position: "absolute",
203
209
  top: e.top,
204
210
  left: e.left,
@@ -206,8 +212,8 @@ function T(e, t) {
206
212
  } }, `skeleton-point-${t}`);
207
213
  }
208
214
  export {
209
- W as ScatterplotSkeleton,
210
- R as scatterplotConfig,
211
- P as scatterplotDownloadConfig
215
+ G as ScatterplotSkeleton,
216
+ Y as scatterplotConfig,
217
+ X as scatterplotDownloadConfig
212
218
  };
213
219
  //# sourceMappingURL=scatterplot.js.map