@carto/ps-react-ui 4.3.4 → 4.3.6

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 (67) hide show
  1. package/dist/components.js +2 -2
  2. package/dist/{error-B2IJ9d2h.js → error-piB8FwYO.js} +2 -2
  3. package/dist/{error-B2IJ9d2h.js.map → error-piB8FwYO.js.map} +1 -1
  4. package/dist/{lasso-tool-wFqOD6wk.js → lasso-tool-BctzdzBu.js} +185 -160
  5. package/dist/lasso-tool-BctzdzBu.js.map +1 -0
  6. package/dist/{no-data-C54XJt13.js → no-data-jdlbMef0.js} +2 -2
  7. package/dist/{no-data-C54XJt13.js.map → no-data-jdlbMef0.js.map} +1 -1
  8. package/dist/{row-DrHwXNvF.js → row-D3uVFImu.js} +2 -2
  9. package/dist/{row-DrHwXNvF.js.map → row-D3uVFImu.js.map} +1 -1
  10. package/dist/{series-D3Pc-kYX.js → series-BAImrSBo.js} +3 -3
  11. package/dist/{series-D3Pc-kYX.js.map → series-BAImrSBo.js.map} +1 -1
  12. package/dist/types/widgets/actions/index.d.ts +2 -2
  13. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +3 -2
  14. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +4 -0
  15. package/dist/types/widgets/echart/echart-ui.d.ts +1 -1
  16. package/dist/types/widgets/echart/types.d.ts +4 -0
  17. package/dist/types/widgets/loader/loader.d.ts +1 -1
  18. package/dist/types/widgets/loader/types.d.ts +1 -1
  19. package/dist/types/widgets/stores/index.d.ts +1 -1
  20. package/dist/types/widgets/stores/types.d.ts +15 -0
  21. package/dist/{use-widget-ref-B0aNCANx.js → use-widget-ref-B8x4sHIj.js} +2 -2
  22. package/dist/{use-widget-ref-B0aNCANx.js.map → use-widget-ref-B8x4sHIj.js.map} +1 -1
  23. package/dist/widget-store-Dn0Bnc4h.js +178 -0
  24. package/dist/widget-store-Dn0Bnc4h.js.map +1 -0
  25. package/dist/widgets/actions.js +698 -617
  26. package/dist/widgets/actions.js.map +1 -1
  27. package/dist/widgets/bar.js +2 -2
  28. package/dist/widgets/category.js +2 -2
  29. package/dist/widgets/echart.js +96 -85
  30. package/dist/widgets/echart.js.map +1 -1
  31. package/dist/widgets/error.js +1 -1
  32. package/dist/widgets/formula.js +5 -5
  33. package/dist/widgets/histogram.js +2 -2
  34. package/dist/widgets/loader.js +41 -40
  35. package/dist/widgets/loader.js.map +1 -1
  36. package/dist/widgets/markdown.js +2 -2
  37. package/dist/widgets/no-data.js +1 -1
  38. package/dist/widgets/pie.js +2 -2
  39. package/dist/widgets/range.js +2 -2
  40. package/dist/widgets/scatterplot.js +2 -2
  41. package/dist/widgets/skeleton-loader.js +1 -1
  42. package/dist/widgets/spread.js +5 -5
  43. package/dist/widgets/stores.js +1 -1
  44. package/dist/widgets/table.js +3 -3
  45. package/dist/widgets/timeseries.js +2 -2
  46. package/dist/widgets/wrapper.js +2 -2
  47. package/dist/widgets.js +4 -4
  48. package/package.json +1 -1
  49. package/src/components/lasso-tool/lasso-tool.tsx +5 -2
  50. package/src/widgets/actions/index.ts +2 -2
  51. package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +143 -9
  52. package/src/widgets/actions/stack-toggle/stack-toggle.tsx +61 -70
  53. package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +85 -53
  54. package/src/widgets/echart/echart-ui.test.tsx +18 -0
  55. package/src/widgets/echart/echart-ui.tsx +25 -13
  56. package/src/widgets/echart/echart.test.tsx +25 -0
  57. package/src/widgets/echart/echart.tsx +9 -1
  58. package/src/widgets/echart/types.ts +4 -0
  59. package/src/widgets/loader/loader.tsx +18 -8
  60. package/src/widgets/loader/types.ts +1 -1
  61. package/src/widgets/stores/index.ts +1 -0
  62. package/src/widgets/stores/types.ts +20 -0
  63. package/src/widgets/stores/widget-store.test.ts +141 -0
  64. package/src/widgets/stores/widget-store.ts +99 -2
  65. package/dist/lasso-tool-wFqOD6wk.js.map +0 -1
  66. package/dist/widget-store-CB6Trp_0.js +0 -131
  67. package/dist/widget-store-CB6Trp_0.js.map +0 -1
@@ -1,115 +1,126 @@
1
- import { jsx as y } from "react/jsx-runtime";
2
- import { c as W } from "react/compiler-runtime";
3
- import { useRef as x, useImperativeHandle as I, useEffect as S } from "react";
1
+ import { jsx as W } from "react/jsx-runtime";
2
+ import { c as j } from "react/compiler-runtime";
3
+ import { useRef as A, useImperativeHandle as U, useEffect as S } from "react";
4
4
  import * as k from "echarts";
5
- import { u as U } from "../use-widget-ref-B0aNCANx.js";
6
- import { u as Z } from "../widget-store-CB6Trp_0.js";
7
- import { useShallow as $ } from "zustand/shallow";
8
- import { g as M } from "../options-D9wflre6.js";
9
- import { g as Q, a as T, b as V, m as X } from "../utils-D3-eQyDR.js";
5
+ import { u as D } from "../use-widget-ref-B8x4sHIj.js";
6
+ import { u as L } from "../widget-store-Dn0Bnc4h.js";
7
+ import { useShallow as Z } from "zustand/shallow";
8
+ import { g as X } from "../options-D9wflre6.js";
9
+ import { g as ee, a as te, b as re, m as ne } from "../utils-D3-eQyDR.js";
10
+ const $ = ["dataset", "series"];
10
11
  function B(r) {
11
- const t = W(20), {
12
+ const e = j(23), {
12
13
  id: c,
13
- ref: i,
14
+ ref: n,
14
15
  init: l,
15
- option: u,
16
- className: o,
17
- style: f,
18
- onEvents: d
19
- } = r, e = U(c), n = x(null), a = x(null);
20
- let m, s;
21
- t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = () => n.current, s = [], t[0] = m, t[1] = s) : (m = t[0], s = t[1]), I(i, m, s);
22
- let h, v;
23
- t[2] !== e || t[3] !== l ? (h = () => {
24
- if (e.current)
25
- return n.current = k.init(e.current, null, {
16
+ option: a,
17
+ className: s,
18
+ style: u,
19
+ onEvents: f
20
+ } = r, p = r;
21
+ let d;
22
+ e[0] !== p.replaceMerge ? (d = F(p.replaceMerge), e[0] = p.replaceMerge, e[1] = d) : d = e[1];
23
+ const g = d, t = D(c), i = A(null), o = A(null);
24
+ let E, h;
25
+ e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (E = () => i.current, h = [], e[2] = E, e[3] = h) : (E = e[2], h = e[3]), U(n, E, h);
26
+ let v, C;
27
+ e[4] !== t || e[5] !== l ? (v = () => {
28
+ if (t.current)
29
+ return i.current = k.init(t.current, null, {
26
30
  renderer: "svg",
27
31
  height: 304,
28
32
  ...l
29
33
  }), () => {
30
- n.current?.dispose(), n.current = null;
34
+ i.current?.dispose(), i.current = null;
31
35
  };
32
- }, v = [e, l], t[2] = e, t[3] = l, t[4] = h, t[5] = v) : (h = t[4], v = t[5]), S(h, v);
33
- let E, p;
34
- t[6] !== u ? (E = () => {
35
- n.current?.setOption(u, {
36
- lazyUpdate: !0
37
- });
38
- }, p = [u], t[6] = u, t[7] = E, t[8] = p) : (E = t[7], p = t[8]), S(E, p);
39
- let C, b;
40
- t[9] !== e ? (C = () => {
41
- const g = () => {
42
- n.current?.resize();
36
+ }, C = [t, l], e[4] = t, e[5] = l, e[6] = v, e[7] = C) : (v = e[6], C = e[7]), S(v, C);
37
+ let M, R;
38
+ e[8] !== a || e[9] !== g ? (M = () => {
39
+ const m = {
40
+ lazyUpdate: !0,
41
+ replaceMerge: g ?? $
43
42
  };
44
- return a.current = new ResizeObserver(g), a.current.observe(e.current), () => {
45
- a.current?.disconnect(), a.current = null;
43
+ i.current?.setOption(a, m);
44
+ }, R = [a, g], e[8] = a, e[9] = g, e[10] = M, e[11] = R) : (M = e[10], R = e[11]), S(M, R);
45
+ let b, y;
46
+ e[12] !== t ? (b = () => {
47
+ const m = () => {
48
+ i.current?.resize();
46
49
  };
47
- }, b = [e], t[9] = e, t[10] = C, t[11] = b) : (C = t[10], b = t[11]), S(C, b);
48
- let O, R;
49
- t[12] !== d ? (R = () => {
50
- const g = {
51
- ...d ?? {}
50
+ return o.current = new ResizeObserver(m), o.current.observe(t.current), () => {
51
+ o.current?.disconnect(), o.current = null;
52
52
  };
53
- return g.click || (g.mousemove = () => {
54
- n.current?.getZr().setCursorStyle("default");
55
- }), Object.entries(g).forEach((_) => {
56
- const [w, j] = _;
57
- n.current?.on(w, j);
53
+ }, y = [t], e[12] = t, e[13] = b, e[14] = y) : (b = e[13], y = e[14]), S(b, y);
54
+ let O, _;
55
+ e[15] !== f ? (O = () => {
56
+ const m = {
57
+ ...f ?? {}
58
+ };
59
+ return m.click || (m.mousemove = () => {
60
+ i.current?.getZr().setCursorStyle("default");
61
+ }), Object.entries(m).forEach((w) => {
62
+ const [x, I] = w;
63
+ i.current?.on(x, I);
58
64
  }), () => {
59
- Object.entries(g).forEach((_) => {
60
- const [w] = _;
61
- n.current?.off(w);
65
+ Object.entries(m).forEach((w) => {
66
+ const [x] = w;
67
+ i.current?.off(x);
62
68
  });
63
69
  };
64
- }, O = [d], t[12] = d, t[13] = O, t[14] = R) : (O = t[13], R = t[14]), S(R, O);
70
+ }, _ = [f], e[15] = f, e[16] = O, e[17] = _) : (O = e[16], _ = e[17]), S(O, _);
65
71
  let z;
66
- return t[15] !== e || t[16] !== o || t[17] !== c || t[18] !== f ? (z = /* @__PURE__ */ y("div", { id: c, ref: e, style: f, className: o }), t[15] = e, t[16] = o, t[17] = c, t[18] = f, t[19] = z) : z = t[19], z;
72
+ return e[18] !== t || e[19] !== s || e[20] !== c || e[21] !== u ? (z = /* @__PURE__ */ W("div", { id: c, ref: t, style: u, className: s }), e[18] = t, e[19] = s, e[20] = c, e[21] = u, e[22] = z) : z = e[22], z;
73
+ }
74
+ function F(r) {
75
+ if (Array.isArray(r))
76
+ return r.filter((e) => typeof e == "string");
67
77
  }
68
- function J(r) {
69
- const t = W(14);
78
+ function K(r) {
79
+ const e = j(15);
70
80
  let c;
71
- t[0] !== r.id ? (c = (m) => {
72
- const s = m.getWidget(r.id);
81
+ e[0] !== r.id ? (c = (i) => {
82
+ const o = i.getWidget(r.id);
73
83
  return {
74
- id: s?.id,
75
- data: s?.data,
76
- option: s?.option,
77
- onEvents: s?.onEvents,
78
- init: s?.init
84
+ id: o?.id,
85
+ data: o?.data,
86
+ option: o?.option,
87
+ onEvents: o?.onEvents,
88
+ init: o?.init,
89
+ replaceMerge: o?.replaceMerge
79
90
  };
80
- }, t[0] = r.id, t[1] = c) : c = t[1];
81
- const i = Z($(c));
91
+ }, e[0] = r.id, e[1] = c) : c = e[1];
92
+ const n = L(Z(c));
82
93
  let l;
83
- t[2] !== i.data ? (l = D(i.data), t[2] = i.data, t[3] = l) : l = t[3];
84
- const u = l;
85
- if (!i.id)
94
+ e[2] !== n.data ? (l = G(n.data), e[2] = n.data, e[3] = l) : l = e[3];
95
+ const a = l;
96
+ if (!n.id)
86
97
  return null;
87
- let o;
88
- t[4] !== u ? (o = u && {
89
- dataset: u
90
- }, t[4] = u, t[5] = o) : o = t[5];
91
- let f;
92
- t[6] !== o || t[7] !== i.option ? (f = {
93
- ...i.option,
94
- ...o
95
- }, t[6] = o, t[7] = i.option, t[8] = f) : f = t[8];
96
- const d = f, e = i.onEvents, n = i.init;
97
- let a;
98
- return t[9] !== n || t[10] !== e || t[11] !== d || t[12] !== r.id ? (a = /* @__PURE__ */ y(B, { id: r.id, option: d, onEvents: e, init: n }), t[9] = n, t[10] = e, t[11] = d, t[12] = r.id, t[13] = a) : a = t[13], a;
98
+ let s;
99
+ e[4] !== a ? (s = a && {
100
+ dataset: a
101
+ }, e[4] = a, e[5] = s) : s = e[5];
102
+ let u;
103
+ e[6] !== s || e[7] !== n.option ? (u = {
104
+ ...n.option,
105
+ ...s
106
+ }, e[6] = s, e[7] = n.option, e[8] = u) : u = e[8];
107
+ const f = u, p = n.onEvents, d = n.init, g = n.replaceMerge;
108
+ let t;
109
+ return e[9] !== d || e[10] !== p || e[11] !== f || e[12] !== r.id || e[13] !== g ? (t = /* @__PURE__ */ W(B, { id: r.id, option: f, onEvents: p, init: d, replaceMerge: g }), e[9] = d, e[10] = p, e[11] = f, e[12] = r.id, e[13] = g, e[14] = t) : t = e[14], t;
99
110
  }
100
- function D(r) {
111
+ function G(r) {
101
112
  if (!(!r || r.length === 0))
102
- return r.map((t) => ({
103
- source: t
113
+ return r.map((e) => ({
114
+ source: e
104
115
  }));
105
116
  }
106
117
  export {
107
- J as Echart,
118
+ K as Echart,
108
119
  B as EchartUI,
109
- M as getCommonOptions,
110
- Q as getEChartBrushConfig,
111
- T as getEChartStackConfig,
112
- V as getEChartZoomConfig,
113
- X as mergeEchartWidgetConfig
120
+ X as getCommonOptions,
121
+ ee as getEChartBrushConfig,
122
+ te as getEChartStackConfig,
123
+ re as getEChartZoomConfig,
124
+ ne as mergeEchartWidgetConfig
114
125
  };
115
126
  //# sourceMappingURL=echart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"echart.js","sources":["../../src/widgets/echart/echart-ui.tsx","../../src/widgets/echart/echart.tsx"],"sourcesContent":["import { useEffect, useRef, useImperativeHandle } from 'react'\nimport * as echarts from 'echarts'\nimport type { EchartUIProps } from './types'\nimport { useWidgetRef } from '../../hooks'\n\nexport function EchartUI({\n id,\n ref,\n init,\n option,\n className,\n style,\n onEvents,\n}: EchartUIProps) {\n const chartRef = useWidgetRef<HTMLDivElement>(id)\n const chartInstance = useRef<echarts.ECharts>(null)\n const resizeObserverRef = useRef<ResizeObserver | null>(null)\n\n useImperativeHandle(ref, () => chartInstance.current!, [])\n\n useEffect(() => {\n if (!chartRef.current) return\n\n chartInstance.current = echarts.init(chartRef.current, null, {\n renderer: 'svg',\n height: 304,\n ...init,\n })\n // Cleanup function\n return () => {\n chartInstance.current?.dispose()\n chartInstance.current = null\n }\n }, [chartRef, init])\n\n // Update chart when options change\n useEffect(() => {\n chartInstance.current?.setOption(option, {\n lazyUpdate: true,\n // notMerge: true,\n })\n }, [option])\n\n // Handle resize using ResizeObserver\n useEffect(() => {\n const handleResize = () => {\n chartInstance.current?.resize()\n }\n\n resizeObserverRef.current = new ResizeObserver(handleResize)\n resizeObserverRef.current.observe(chartRef.current!)\n\n return () => {\n resizeObserverRef.current?.disconnect()\n resizeObserverRef.current = null\n }\n }, [chartRef])\n\n useEffect(() => {\n const _onEvents = { ...(onEvents ?? {}) }\n if (!_onEvents.click) {\n _onEvents.mousemove = () => {\n chartInstance.current?.getZr().setCursorStyle('default')\n }\n }\n\n // Attach event listeners\n Object.entries(_onEvents).forEach(([event, handler]) => {\n chartInstance.current?.on(event, handler)\n })\n // Cleanup function to remove event listeners\n return () => {\n Object.entries(_onEvents).forEach(([event]) => {\n chartInstance.current?.off(event)\n })\n }\n }, [onEvents])\n\n return <div id={id} ref={chartRef} style={style} className={className} />\n}\n","import type {\n EchartProps,\n EchartWidgetState,\n EchartWidgetData,\n EchartOptionsProps,\n} from './types'\nimport { EchartUI } from './echart-ui'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\nimport { useMemo } from 'react'\n\nexport function Echart(props: EchartProps) {\n const widget = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<EchartWidgetState>(props.id)\n return {\n id: widget?.id,\n data: widget?.data as EchartWidgetData | undefined,\n option: widget?.option,\n onEvents: widget?.onEvents,\n init: widget?.init,\n }\n }),\n )\n\n // Memoize dataset transformation to avoid re-computing on every render\n const dataset = useMemo(() => buildDataset(widget.data), [widget.data])\n\n if (!widget.id) {\n return null\n }\n const option: EchartOptionsProps = {\n ...widget.option,\n ...(dataset && { dataset }),\n }\n\n const onEvents = widget.onEvents\n const init = widget.init\n\n return (\n <EchartUI id={props.id} option={option} onEvents={onEvents} init={init} />\n )\n}\n\n/**\n * Builds the dataset configuration from widget data\n * @param data - The widget data array\n * @returns The dataset configuration for ECharts\n */\nfunction buildDataset(\n data: EchartWidgetData | undefined,\n): EchartOptionsProps['dataset'] {\n if (!data || data.length === 0) {\n return undefined\n }\n\n return data.map((d) => ({\n source: d,\n }))\n}\n"],"names":["EchartUI","t0","$","_c","id","ref","init","option","className","style","onEvents","chartRef","useWidgetRef","chartInstance","useRef","resizeObserverRef","t1","t2","Symbol","for","current","useImperativeHandle","t3","t4","echarts","renderer","height","dispose","useEffect","t5","t6","setOption","lazyUpdate","t7","t8","handleResize","resize","ResizeObserver","observe","disconnect","t10","t9","_onEvents","click","mousemove","getZr","setCursorStyle","Object","entries","forEach","t11","event","handler","on","t12","event_0","off","Echart","props","state","widget","getWidget","data","widget_0","useWidgetStore","useShallow","buildDataset","dataset","length","map","d","source"],"mappings":"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"}
1
+ {"version":3,"file":"echart.js","sources":["../../src/widgets/echart/echart-ui.tsx","../../src/widgets/echart/echart.tsx"],"sourcesContent":["import { useEffect, useRef, useImperativeHandle } from 'react'\nimport * as echarts from 'echarts'\nimport type { EchartUIProps } from './types'\nimport { useWidgetRef } from '../../hooks'\n\nconst DEFAULT_REPLACE_MERGE: string[] = ['dataset', 'series']\n\nexport function EchartUI(props: EchartUIProps) {\n const { id, ref, init, option, className, style, onEvents } = props\n const replaceMerge = toReplaceMerge(\n (props as { replaceMerge?: unknown }).replaceMerge,\n )\n\n const chartRef = useWidgetRef<HTMLDivElement>(id)\n const chartInstance = useRef<echarts.ECharts>(null)\n const resizeObserverRef = useRef<ResizeObserver | null>(null)\n\n useImperativeHandle(ref, () => chartInstance.current!, [])\n\n useEffect(() => {\n if (!chartRef.current) return\n\n chartInstance.current = echarts.init(chartRef.current, null, {\n renderer: 'svg',\n height: 304,\n ...init,\n })\n // Cleanup function\n return () => {\n chartInstance.current?.dispose()\n chartInstance.current = null\n }\n }, [chartRef, init])\n\n // Update chart when options change\n useEffect(() => {\n const setOptionConfig = {\n lazyUpdate: true,\n replaceMerge: replaceMerge ?? DEFAULT_REPLACE_MERGE,\n }\n\n chartInstance.current?.setOption(\n option,\n setOptionConfig as Parameters<echarts.ECharts['setOption']>[1],\n )\n }, [option, replaceMerge])\n\n // Handle resize using ResizeObserver\n useEffect(() => {\n const handleResize = () => {\n chartInstance.current?.resize()\n }\n\n resizeObserverRef.current = new ResizeObserver(handleResize)\n resizeObserverRef.current.observe(chartRef.current!)\n\n return () => {\n resizeObserverRef.current?.disconnect()\n resizeObserverRef.current = null\n }\n }, [chartRef])\n\n useEffect(() => {\n const _onEvents = { ...(onEvents ?? {}) }\n if (!_onEvents.click) {\n _onEvents.mousemove = () => {\n chartInstance.current?.getZr().setCursorStyle('default')\n }\n }\n\n // Attach event listeners\n Object.entries(_onEvents).forEach(([event, handler]) => {\n chartInstance.current?.on(event, handler)\n })\n // Cleanup function to remove event listeners\n return () => {\n Object.entries(_onEvents).forEach(([event]) => {\n chartInstance.current?.off(event)\n })\n }\n }, [onEvents])\n\n return <div id={id} ref={chartRef} style={style} className={className} />\n}\n\nfunction toReplaceMerge(value: unknown): string[] | undefined {\n if (!Array.isArray(value)) {\n return undefined\n }\n\n return value.filter((item): item is string => typeof item === 'string')\n}\n","import type {\n EchartProps,\n EchartWidgetState,\n EchartWidgetData,\n EchartOptionsProps,\n} from './types'\nimport { EchartUI } from './echart-ui'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\nimport { useMemo } from 'react'\n\nexport function Echart(props: EchartProps) {\n const widget = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<EchartWidgetState>(props.id)\n return {\n id: widget?.id,\n data: widget?.data as EchartWidgetData | undefined,\n option: widget?.option,\n onEvents: widget?.onEvents,\n init: widget?.init,\n replaceMerge: widget?.replaceMerge,\n }\n }),\n )\n\n // Memoize dataset transformation to avoid re-computing on every render\n const dataset = useMemo(() => buildDataset(widget.data), [widget.data])\n\n if (!widget.id) {\n return null\n }\n const option: EchartOptionsProps = {\n ...widget.option,\n ...(dataset && { dataset }),\n }\n\n const onEvents = widget.onEvents\n const init = widget.init\n const replaceMerge = widget.replaceMerge\n\n return (\n <EchartUI\n id={props.id}\n option={option}\n onEvents={onEvents}\n init={init}\n replaceMerge={replaceMerge}\n />\n )\n}\n\n/**\n * Builds the dataset configuration from widget data\n * @param data - The widget data array\n * @returns The dataset configuration for ECharts\n */\nfunction buildDataset(\n data: EchartWidgetData | undefined,\n): EchartOptionsProps['dataset'] {\n if (!data || data.length === 0) {\n return undefined\n }\n\n return data.map((d) => ({\n source: d,\n }))\n}\n"],"names":["DEFAULT_REPLACE_MERGE","EchartUI","props","$","_c","id","ref","init","option","className","style","onEvents","t0","t1","replaceMerge","toReplaceMerge","chartRef","useWidgetRef","chartInstance","useRef","resizeObserverRef","t2","t3","Symbol","for","current","useImperativeHandle","t4","t5","echarts","renderer","height","dispose","useEffect","t6","t7","setOptionConfig","lazyUpdate","setOption","t8","t9","handleResize","resize","ResizeObserver","observe","disconnect","t10","t11","_onEvents","click","mousemove","getZr","setCursorStyle","Object","entries","forEach","t12","event","handler","on","t13","event_0","off","value","Array","isArray","filter","item","Echart","state","widget","getWidget","data","widget_0","useWidgetStore","useShallow","buildDataset","dataset","jsx","length","map","d","source"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { W as e } from "../error-B2IJ9d2h.js";
1
+ import { W as e } from "../error-piB8FwYO.js";
2
2
  export {
3
3
  e as WidgetError
4
4
  };
@@ -1,20 +1,20 @@
1
- import { I as F, S as I, P as D, a as P } from "../series-D3Pc-kYX.js";
1
+ import { I as F, S as I, P as D, a as P } from "../series-BAImrSBo.js";
2
2
  import { jsx as f, jsxs as k, Fragment as C } from "react/jsx-runtime";
3
3
  import { c as p } from "react/compiler-runtime";
4
- import { u as R } from "../widget-store-CB6Trp_0.js";
4
+ import { u as R } from "../widget-store-Dn0Bnc4h.js";
5
5
  import { useShallow as T } from "zustand/shallow";
6
- import { R as W, s as $ } from "../row-DrHwXNvF.js";
6
+ import { R as W, s as $ } from "../row-D3uVFImu.js";
7
7
  import { Box as w, Skeleton as b } from "@mui/material";
8
8
  import "@mui/icons-material";
9
9
  import "react";
10
10
  import "react-markdown";
11
11
  import { d as S, a as v } from "../exports-Cr43OCul.js";
12
- import "../lasso-tool-wFqOD6wk.js";
12
+ import "../lasso-tool-BctzdzBu.js";
13
13
  import "../cjs-D4KH3azB.js";
14
14
  import "@dnd-kit/core";
15
15
  import "@dnd-kit/sortable";
16
16
  import "@dnd-kit/utilities";
17
- import { u as j } from "../use-widget-ref-B0aNCANx.js";
17
+ import { u as j } from "../use-widget-ref-B8x4sHIj.js";
18
18
  const z = (e) => e.toString();
19
19
  function V(e) {
20
20
  const t = p(16);
@@ -2,7 +2,7 @@ import { jsx as a, jsxs as h } from "react/jsx-runtime";
2
2
  import { c as x } from "react/compiler-runtime";
3
3
  import "react";
4
4
  import "echarts";
5
- import "../widget-store-CB6Trp_0.js";
5
+ import "../widget-store-Dn0Bnc4h.js";
6
6
  import "zustand/shallow";
7
7
  import { g as b } from "../options-D9wflre6.js";
8
8
  import { m as w } from "../utils-D3-eQyDR.js";
@@ -11,7 +11,7 @@ import { Box as l, Skeleton as m } from "@mui/material";
11
11
  import "@mui/icons-material";
12
12
  import "react-markdown";
13
13
  import { d as p, a as c } from "../exports-Cr43OCul.js";
14
- import "../lasso-tool-wFqOD6wk.js";
14
+ import "../lasso-tool-BctzdzBu.js";
15
15
  import "../cjs-D4KH3azB.js";
16
16
  import "@dnd-kit/core";
17
17
  import "@dnd-kit/sortable";
@@ -1,41 +1,42 @@
1
- import { c as W } from "react/compiler-runtime";
2
- import { useEffect as n } from "react";
3
- import { u as h } from "../widget-store-CB6Trp_0.js";
4
- import { d as x } from "../cjs-D4KH3azB.js";
5
- function M(e) {
6
- const t = W(27), i = h(v), d = h(_);
7
- let a, c;
8
- t[0] !== e.id || t[1] !== e.type || t[2] !== i ? (a = () => {
9
- i(e.id, {
1
+ import { c as r } from "react/compiler-runtime";
2
+ import { useEffect as c } from "react";
3
+ import { u as f } from "../widget-store-Dn0Bnc4h.js";
4
+ import { d as C } from "../cjs-D4KH3azB.js";
5
+ function $(e) {
6
+ const i = r(29), t = f(v), n = f(_), d = f(P);
7
+ let g, l;
8
+ i[0] !== e.id || i[1] !== e.type || i[2] !== t ? (g = () => {
9
+ t(e.id, {
10
10
  type: e.type
11
11
  });
12
- }, c = [e.id, e.type, i], t[0] = e.id, t[1] = e.type, t[2] = i, t[3] = a, t[4] = c) : (a = t[3], c = t[4]), n(a, c);
13
- let f, g;
14
- t[5] !== e.error || t[6] !== e.id || t[7] !== e.isFetching || t[8] !== e.isLoading || t[9] !== i ? (f = () => {
15
- i(e.id, {
12
+ }, l = [e.id, e.type, t], i[0] = e.id, i[1] = e.type, i[2] = t, i[3] = g, i[4] = l) : (g = i[3], l = i[4]), c(g, l);
13
+ let a, u;
14
+ i[5] !== e.error || i[6] !== e.id || i[7] !== e.isFetching || i[8] !== e.isLoading || i[9] !== t ? (a = () => {
15
+ t(e.id, {
16
16
  isLoading: e.isLoading ?? !1,
17
17
  isFetching: e.isFetching ?? !1,
18
18
  error: e.error
19
19
  });
20
- }, g = [e.id, e.isLoading, e.isFetching, e.error, i], t[5] = e.error, t[6] = e.id, t[7] = e.isFetching, t[8] = e.isLoading, t[9] = i, t[10] = f, t[11] = g) : (f = t[10], g = t[11]), n(f, g);
21
- let l, u;
22
- t[12] !== e.config || t[13] !== e.id || t[14] !== i ? (l = () => {
23
- e.config && i(e.id, {
24
- ...e.config
20
+ }, u = [e.id, e.isLoading, e.isFetching, e.error, t], i[5] = e.error, i[6] = e.id, i[7] = e.isFetching, i[8] = e.isLoading, i[9] = t, i[10] = a, i[11] = u) : (a = i[10], u = i[11]), c(a, u);
21
+ let m, y;
22
+ i[12] !== d || i[13] !== e.config || i[14] !== e.id ? (m = () => {
23
+ e.config && d(e.id, e.config);
24
+ }, y = [e.id, e.config, d], i[12] = d, i[13] = e.config, i[14] = e.id, i[15] = m, i[16] = y) : (m = i[15], y = i[16]), c(m, y);
25
+ let b, h;
26
+ i[17] !== n || i[18] !== e.data || i[19] !== e.id ? (b = () => {
27
+ n(e.id, e.data);
28
+ }, h = [e.id, e.data, n], i[17] = n, i[18] = e.data, i[19] = e.id, i[20] = b, i[21] = h) : (b = i[20], h = i[21]), c(b, h);
29
+ let L, T;
30
+ return i[22] !== d || i[23] !== n || i[24] !== e.config || i[25] !== e.data || i[26] !== e.id ? (L = () => {
31
+ let x = f.getState().widgets[e.id]?.registeredTools;
32
+ return f.subscribe((W) => {
33
+ const F = W.widgets[e.id]?.registeredTools;
34
+ F !== x && (x = F, n(e.id, e.data), e.config && d(e.id, e.config));
25
35
  });
26
- }, u = [e.id, e.config, i], t[12] = e.config, t[13] = e.id, t[14] = i, t[15] = l, t[16] = u) : (l = t[15], u = t[16]), n(l, u);
27
- let m, r;
28
- t[17] !== d || t[18] !== e.data || t[19] !== e.id ? (m = () => {
29
- d(e.id, e.data);
30
- }, r = [e.id, e.data, d], t[17] = d, t[18] = e.data, t[19] = e.id, t[20] = m, t[21] = r) : (m = t[20], r = t[21]), n(m, r);
31
- let y, b;
32
- return t[22] !== d || t[23] !== e.data || t[24] !== e.id ? (y = () => {
33
- let L = h.getState().widgets[e.id]?.registeredTools;
34
- return h.subscribe((F) => {
35
- const T = F.widgets[e.id]?.registeredTools;
36
- T !== L && (L = T, d(e.id, e.data));
37
- });
38
- }, b = [e.id, e.data, d], t[22] = d, t[23] = e.data, t[24] = e.id, t[25] = y, t[26] = b) : (y = t[25], b = t[26]), n(y, b), e.children;
36
+ }, T = [e.id, e.data, e.config, n, d], i[22] = d, i[23] = n, i[24] = e.config, i[25] = e.data, i[26] = e.id, i[27] = L, i[28] = T) : (L = i[27], T = i[28]), c(L, T), e.children;
37
+ }
38
+ function P(e) {
39
+ return e.executeConfigPipeline;
39
40
  }
40
41
  function _(e) {
41
42
  return e.executeToolPipeline;
@@ -43,19 +44,19 @@ function _(e) {
43
44
  function v(e) {
44
45
  return e.setWidget;
45
46
  }
46
- function $(e, t, i) {
47
- return typeof e == "function" ? e(t, i) : e;
47
+ function j(e, i, t) {
48
+ return typeof e == "function" ? e(i, t) : e;
48
49
  }
49
- function j(...e) {
50
- return x(e[0] ?? {}, e[1] ?? {}, {
51
- arrayMerge(t, i) {
52
- return i;
50
+ function k(...e) {
51
+ return C(e[0] ?? {}, e[1] ?? {}, {
52
+ arrayMerge(i, t) {
53
+ return t;
53
54
  }
54
55
  });
55
56
  }
56
57
  export {
57
- M as WidgetLoader,
58
- j as mergeWidgetConfig,
59
- $ as resolveConfig
58
+ $ as WidgetLoader,
59
+ k as mergeWidgetConfig,
60
+ j as resolveConfig
60
61
  };
61
62
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sources":["../../src/widgets/loader/loader.tsx","../../src/widgets/loader/utils.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport type { WidgetLoaderProps } from './types'\nimport { useWidgetStore } from '../stores/widget-store'\nimport type { WrapperState } from '../wrapper'\n\nexport function WidgetLoader<T>(props: WidgetLoaderProps<T>) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n const executeToolPipeline = useWidgetStore(\n (state) => state.executeToolPipeline,\n )\n\n // Split into 3 effects for metadata and 1 for data pipeline:\n // Each property that can be modified independently gets its own effect to avoid\n // accidentally resetting other properties.\n //\n // - Effect 1: Type (can be modified by tools that change visualization type)\n // - Effect 2: Loading/Error states (change during fetch lifecycle)\n // - Effect 3: Config (can be modified by tools that change widget configuration)\n // - Effect 4: Data pipeline execution (transforms data through registered tools)\n // - Effect 5: Re-execute pipeline when tool state changes\n\n // Effect 1: Type updates\n useEffect(() => {\n setWidget<WrapperState>(props.id, {\n type: props.type,\n })\n }, [props.id, props.type, setWidget])\n\n // Effect 2: Loading and error states\n useEffect(() => {\n setWidget<WrapperState>(props.id, {\n isLoading: props.isLoading ?? false,\n isFetching: props.isFetching ?? false,\n error: props.error,\n })\n }, [props.id, props.isLoading, props.isFetching, props.error, setWidget])\n\n // Effect 3: Config updates\n useEffect(() => {\n if (props.config) {\n setWidget<WrapperState>(props.id, {\n ...props.config,\n })\n }\n }, [props.id, props.config, setWidget])\n\n // Effect 4: Execute tool pipeline when props.data changes\n useEffect(() => {\n void executeToolPipeline(props.id, props.data)\n }, [props.id, props.data, executeToolPipeline])\n\n // Effect 5: Re-execute pipeline when tool state changes (enabled/config)\n useEffect(() => {\n let prevTools = useWidgetStore.getState().widgets[props.id]?.registeredTools\n\n const unsubscribe = useWidgetStore.subscribe((state) => {\n const currentTools = state.widgets[props.id]?.registeredTools\n\n // Only re-execute if tools array changed\n if (currentTools !== prevTools) {\n prevTools = currentTools\n void executeToolPipeline(props.id, props.data)\n }\n })\n\n return unsubscribe\n }, [props.id, props.data, executeToolPipeline])\n\n return props.children\n}\n","import deepmerge from 'deepmerge'\n\n/**\n * Config can be either an object or a function that receives baseConfig and data\n * and returns a partial config to be merged with the base.\n */\nexport type ConfigOrFn<TConfig, TData = unknown> =\n | Partial<TConfig>\n | ((baseConfig: TConfig, data: TData) => Partial<TConfig>)\n\n/**\n * Resolves a config that may be either an object or a function.\n * If it's a function, calls it with baseConfig and data.\n * If it's an object (or undefined), returns it as-is.\n */\nexport function resolveConfig<TConfig, TData>(\n config: ConfigOrFn<TConfig, TData> | undefined,\n baseConfig: TConfig,\n data: TData,\n): Partial<TConfig> | undefined {\n if (typeof config === 'function') {\n return config(baseConfig, data)\n }\n return config\n}\n\nexport function mergeWidgetConfig<T>(\n ...options: [Partial<T> | undefined, Partial<T> | undefined]\n): T {\n return deepmerge(options[0] ?? {}, options[1] ?? {}, {\n arrayMerge(_, source) {\n return source as T[keyof T][]\n },\n })\n}\n"],"names":["WidgetLoader","props","$","_c","setWidget","useWidgetStore","_temp","executeToolPipeline","_temp2","t0","t1","id","type","useEffect","t2","t3","error","isFetching","isLoading","t4","t5","config","t6","t7","data","t8","t9","prevTools","getState","widgets","registeredTools","subscribe","state_1","currentTools","state","children","state_0","resolveConfig","baseConfig","mergeWidgetConfig","options","deepmerge","arrayMerge","_","source"],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sources":["../../src/widgets/loader/loader.tsx","../../src/widgets/loader/utils.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport type { WidgetLoaderProps } from './types'\nimport { useWidgetStore } from '../stores/widget-store'\nimport type { WrapperState } from '../wrapper'\n\nexport function WidgetLoader<T extends Record<string, unknown> = Record<string, unknown>>(props: WidgetLoaderProps<T>) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n const executeToolPipeline = useWidgetStore(\n (state) => state.executeToolPipeline,\n )\n const executeConfigPipeline = useWidgetStore(\n (state) => state.executeConfigPipeline,\n )\n\n // Split into 3 effects for metadata and 1 for data pipeline:\n // Each property that can be modified independently gets its own effect to avoid\n // accidentally resetting other properties.\n //\n // - Effect 1: Type (can be modified by tools that change visualization type)\n // - Effect 2: Loading/Error states (change during fetch lifecycle)\n // - Effect 3: Config (can be modified by tools that change widget configuration)\n // - Effect 4: Data pipeline execution (transforms data through registered tools)\n // - Effect 5: Re-execute pipeline when tool state changes\n\n // Effect 1: Type updates\n useEffect(() => {\n setWidget<WrapperState>(props.id, {\n type: props.type,\n })\n }, [props.id, props.type, setWidget])\n\n // Effect 2: Loading and error states\n useEffect(() => {\n setWidget<WrapperState>(props.id, {\n isLoading: props.isLoading ?? false,\n isFetching: props.isFetching ?? false,\n error: props.error,\n })\n }, [props.id, props.isLoading, props.isFetching, props.error, setWidget])\n\n // Effect 3: Config updates — run through config pipeline\n useEffect(() => {\n if (props.config) {\n void executeConfigPipeline(props.id, props.config)\n }\n }, [props.id, props.config, executeConfigPipeline])\n\n // Effect 4: Execute tool pipeline when props.data changes\n useEffect(() => {\n void executeToolPipeline(props.id, props.data)\n }, [props.id, props.data, executeToolPipeline])\n\n // Effect 5: Re-execute pipelines when tool state changes (enabled/config)\n useEffect(() => {\n let prevTools = useWidgetStore.getState().widgets[props.id]?.registeredTools\n\n const unsubscribe = useWidgetStore.subscribe((state) => {\n const currentTools = state.widgets[props.id]?.registeredTools\n\n // Only re-execute if tools array changed\n if (currentTools !== prevTools) {\n prevTools = currentTools\n void executeToolPipeline(props.id, props.data)\n if (props.config) {\n void executeConfigPipeline(props.id, props.config)\n }\n }\n })\n\n return unsubscribe\n }, [\n props.id,\n props.data,\n props.config,\n executeToolPipeline,\n executeConfigPipeline,\n ])\n\n return props.children\n}\n","import deepmerge from 'deepmerge'\n\n/**\n * Config can be either an object or a function that receives baseConfig and data\n * and returns a partial config to be merged with the base.\n */\nexport type ConfigOrFn<TConfig, TData = unknown> =\n | Partial<TConfig>\n | ((baseConfig: TConfig, data: TData) => Partial<TConfig>)\n\n/**\n * Resolves a config that may be either an object or a function.\n * If it's a function, calls it with baseConfig and data.\n * If it's an object (or undefined), returns it as-is.\n */\nexport function resolveConfig<TConfig, TData>(\n config: ConfigOrFn<TConfig, TData> | undefined,\n baseConfig: TConfig,\n data: TData,\n): Partial<TConfig> | undefined {\n if (typeof config === 'function') {\n return config(baseConfig, data)\n }\n return config\n}\n\nexport function mergeWidgetConfig<T>(\n ...options: [Partial<T> | undefined, Partial<T> | undefined]\n): T {\n return deepmerge(options[0] ?? {}, options[1] ?? {}, {\n arrayMerge(_, source) {\n return source as T[keyof T][]\n },\n })\n}\n"],"names":["WidgetLoader","props","$","_c","setWidget","useWidgetStore","_temp","executeToolPipeline","_temp2","executeConfigPipeline","_temp3","t0","t1","id","type","useEffect","t2","t3","error","isFetching","isLoading","t4","t5","config","t6","t7","data","t8","t9","prevTools","getState","widgets","registeredTools","subscribe","state_2","currentTools","state","children","state_1","state_0","resolveConfig","baseConfig","mergeWidgetConfig","options","deepmerge","arrayMerge","_","source"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { jsx as i, jsxs as f } from "react/jsx-runtime";
2
2
  import { c } from "react/compiler-runtime";
3
- import { u } from "../widget-store-CB6Trp_0.js";
3
+ import { u } from "../widget-store-Dn0Bnc4h.js";
4
4
  import { useShallow as g } from "zustand/shallow";
5
5
  import { ListItem as w, List as d, Link as k, Typography as m, Skeleton as s, Box as y } from "@mui/material";
6
6
  import S from "react-markdown";
7
7
  import "@mui/icons-material";
8
8
  import "react";
9
9
  import "html2canvas";
10
- import "../lasso-tool-wFqOD6wk.js";
10
+ import "../lasso-tool-BctzdzBu.js";
11
11
  import "../cjs-D4KH3azB.js";
12
12
  import "@dnd-kit/core";
13
13
  import "@dnd-kit/sortable";
@@ -1,4 +1,4 @@
1
- import { W as t } from "../no-data-C54XJt13.js";
1
+ import { W as t } from "../no-data-jdlbMef0.js";
2
2
  export {
3
3
  t as WidgetNoData
4
4
  };
@@ -2,7 +2,7 @@ import { jsxs as f, jsx as i } from "react/jsx-runtime";
2
2
  import { c as S } from "react/compiler-runtime";
3
3
  import "react";
4
4
  import "echarts";
5
- import "../widget-store-CB6Trp_0.js";
5
+ import "../widget-store-Dn0Bnc4h.js";
6
6
  import "zustand/shallow";
7
7
  import { g as w } from "../options-D9wflre6.js";
8
8
  import { m as I } from "../utils-D3-eQyDR.js";
@@ -11,7 +11,7 @@ import { Box as d, Skeleton as a } from "@mui/material";
11
11
  import "@mui/icons-material";
12
12
  import "react-markdown";
13
13
  import { d as y, a as x } from "../exports-Cr43OCul.js";
14
- import "../lasso-tool-wFqOD6wk.js";
14
+ import "../lasso-tool-BctzdzBu.js";
15
15
  import "../cjs-D4KH3azB.js";
16
16
  import "@dnd-kit/core";
17
17
  import "@dnd-kit/sortable";
@@ -1,9 +1,9 @@
1
1
  import { jsx as g, jsxs as P } from "react/jsx-runtime";
2
2
  import { c as j } from "react/compiler-runtime";
3
- import { R as Z } from "../row-DrHwXNvF.js";
3
+ import { R as Z } from "../row-D3uVFImu.js";
4
4
  import { Box as $, Slider as ee, TextField as te, Skeleton as G } from "@mui/material";
5
5
  import { useState as Q } from "react";
6
- import { u as H } from "../widget-store-CB6Trp_0.js";
6
+ import { u as H } from "../widget-store-Dn0Bnc4h.js";
7
7
  import { useShallow as ne } from "zustand/shallow";
8
8
  const _ = {
9
9
  rangeItem: {
@@ -2,7 +2,7 @@ import { jsxs as g, jsx as i } from "react/jsx-runtime";
2
2
  import { c as b } from "react/compiler-runtime";
3
3
  import "react";
4
4
  import "echarts";
5
- import "../widget-store-CB6Trp_0.js";
5
+ import "../widget-store-Dn0Bnc4h.js";
6
6
  import "zustand/shallow";
7
7
  import { g as w } from "../options-D9wflre6.js";
8
8
  import { m as S } from "../utils-D3-eQyDR.js";
@@ -11,7 +11,7 @@ import { Box as s, Skeleton as p } from "@mui/material";
11
11
  import "@mui/icons-material";
12
12
  import "react-markdown";
13
13
  import { d as c, a as f } from "../exports-Cr43OCul.js";
14
- import "../lasso-tool-wFqOD6wk.js";
14
+ import "../lasso-tool-BctzdzBu.js";
15
15
  import "../cjs-D4KH3azB.js";
16
16
  import "@dnd-kit/core";
17
17
  import "@dnd-kit/sortable";
@@ -1,6 +1,6 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
2
  import { c as f } from "react/compiler-runtime";
3
- import { u as m } from "../widget-store-CB6Trp_0.js";
3
+ import { u as m } from "../widget-store-Dn0Bnc4h.js";
4
4
  import { Suspense as u } from "react";
5
5
  import { useShallow as d } from "zustand/shallow";
6
6
  function h(l) {
@@ -1,16 +1,16 @@
1
1
  import { jsx as d, jsxs as I, Fragment as M } from "react/jsx-runtime";
2
2
  import { c as S } from "react/compiler-runtime";
3
- import { I as w, S as W, P as k, a as C } from "../series-D3Pc-kYX.js";
4
- import { u as P } from "../widget-store-CB6Trp_0.js";
3
+ import { I as w, S as W, P as k, a as C } from "../series-BAImrSBo.js";
4
+ import { u as P } from "../widget-store-Dn0Bnc4h.js";
5
5
  import { useShallow as T } from "zustand/shallow";
6
6
  import { Box as v, Skeleton as F } from "@mui/material";
7
- import { R } from "../row-DrHwXNvF.js";
7
+ import { R } from "../row-D3uVFImu.js";
8
8
  import "@mui/icons-material";
9
9
  import "react";
10
- import { u as V } from "../use-widget-ref-B0aNCANx.js";
10
+ import { u as V } from "../use-widget-ref-B8x4sHIj.js";
11
11
  import "react-markdown";
12
12
  import "html2canvas";
13
- import "../lasso-tool-wFqOD6wk.js";
13
+ import "../lasso-tool-BctzdzBu.js";
14
14
  import "../cjs-D4KH3azB.js";
15
15
  import "@dnd-kit/core";
16
16
  import "@dnd-kit/sortable";
@@ -1,4 +1,4 @@
1
- import { u as r } from "../widget-store-CB6Trp_0.js";
1
+ import { u as r } from "../widget-store-Dn0Bnc4h.js";
2
2
  export {
3
3
  r as useWidgetStore
4
4
  };
@@ -7,12 +7,12 @@ import ue from "@mui/icons-material/KeyboardArrowLeft";
7
7
  import ge from "@mui/icons-material/KeyboardArrowRight";
8
8
  import de from "@mui/icons-material/LastPage";
9
9
  import "react";
10
- import { u as pe } from "../use-widget-ref-B0aNCANx.js";
11
- import { u as M } from "../widget-store-CB6Trp_0.js";
10
+ import { u as pe } from "../use-widget-ref-B8x4sHIj.js";
11
+ import { u as M } from "../widget-store-Dn0Bnc4h.js";
12
12
  import { useShallow as j } from "zustand/shallow";
13
13
  import "@mui/icons-material";
14
14
  import { d as K, a as H } from "../exports-Cr43OCul.js";
15
- import "../lasso-tool-wFqOD6wk.js";
15
+ import "../lasso-tool-BctzdzBu.js";
16
16
  import "../cjs-D4KH3azB.js";
17
17
  import "@dnd-kit/core";
18
18
  import "@dnd-kit/sortable";