@carto/ps-react-ui 4.2.7 → 4.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 (267) hide show
  1. package/dist/cjs-D4KH3azB.js +85 -0
  2. package/dist/cjs-D4KH3azB.js.map +1 -0
  3. package/dist/components.js +770 -1415
  4. package/dist/components.js.map +1 -1
  5. package/dist/error-B2IJ9d2h.js +38 -0
  6. package/dist/error-B2IJ9d2h.js.map +1 -0
  7. package/dist/exports-Cr43OCul.js +51 -0
  8. package/dist/exports-Cr43OCul.js.map +1 -0
  9. package/dist/lasso-tool-BwRzEW7k.js +534 -0
  10. package/dist/lasso-tool-BwRzEW7k.js.map +1 -0
  11. package/dist/no-data-C54XJt13.js +61 -0
  12. package/dist/no-data-C54XJt13.js.map +1 -0
  13. package/dist/note-t51drNe0.js +124 -0
  14. package/dist/note-t51drNe0.js.map +1 -0
  15. package/dist/options-D9wflre6.js +49 -0
  16. package/dist/options-D9wflre6.js.map +1 -0
  17. package/dist/row-DrHwXNvF.js +35 -0
  18. package/dist/row-DrHwXNvF.js.map +1 -0
  19. package/dist/series-D3Pc-kYX.js +91 -0
  20. package/dist/series-D3Pc-kYX.js.map +1 -0
  21. package/dist/smart-tooltip-BEtBaIdz.js +39 -0
  22. package/dist/smart-tooltip-BEtBaIdz.js.map +1 -0
  23. package/dist/styles-CCZnY17y.js +117 -0
  24. package/dist/styles-CCZnY17y.js.map +1 -0
  25. package/dist/tooltip-BDnrRKrp.js +25 -0
  26. package/dist/tooltip-BDnrRKrp.js.map +1 -0
  27. package/dist/types/components/measurement-tools/styles.d.ts +13 -4
  28. package/dist/types/hooks/index.d.ts +2 -0
  29. package/dist/types/hooks/use-debounce.d.ts +19 -0
  30. package/dist/types/hooks/use-widget-ref.d.ts +17 -0
  31. package/dist/types/widgets/_shared/chart-config/config-factory.d.ts +38 -0
  32. package/dist/types/widgets/_shared/chart-config/csv-modifiers.d.ts +19 -0
  33. package/dist/types/widgets/_shared/chart-config/index.d.ts +7 -0
  34. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +85 -0
  35. package/dist/types/widgets/_shared/skeleton/index.d.ts +4 -0
  36. package/dist/types/widgets/_shared/skeleton/styles.d.ts +19 -0
  37. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -0
  38. package/dist/types/widgets/actions/change-column/change-column.d.ts +16 -0
  39. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +9 -0
  40. package/dist/types/widgets/actions/change-column/types.d.ts +19 -0
  41. package/dist/types/widgets/actions/download/download.d.ts +2 -0
  42. package/dist/types/widgets/actions/download/exports.d.ts +6 -0
  43. package/dist/types/widgets/actions/download/types.d.ts +21 -0
  44. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +2 -0
  45. package/dist/types/widgets/actions/fullscreen/styles.d.ts +16 -0
  46. package/dist/types/widgets/actions/fullscreen/types.d.ts +20 -0
  47. package/dist/types/widgets/actions/index.d.ts +18 -0
  48. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +19 -0
  49. package/dist/types/widgets/actions/lock-selection/types.d.ts +36 -0
  50. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +18 -0
  51. package/dist/types/widgets/actions/relative-data/style.d.ts +8 -0
  52. package/dist/types/widgets/actions/relative-data/types.d.ts +27 -0
  53. package/dist/types/widgets/actions/relative-data/utils.d.ts +9 -0
  54. package/dist/types/widgets/actions/relative-data/utils.test.d.ts +1 -0
  55. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +18 -0
  56. package/dist/types/widgets/actions/searcher/searcher.d.ts +21 -0
  57. package/dist/types/widgets/actions/searcher/types.d.ts +64 -0
  58. package/dist/types/widgets/actions/shared/styles.d.ts +11 -0
  59. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -0
  60. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +16 -0
  61. package/dist/types/widgets/actions/stack-toggle/types.d.ts +25 -0
  62. package/dist/types/widgets/actions/zoom-toggle/index.d.ts +2 -0
  63. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +13 -0
  64. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +41 -0
  65. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +18 -0
  66. package/dist/types/widgets/bar/config.d.ts +5 -0
  67. package/dist/types/widgets/bar/index.d.ts +3 -0
  68. package/dist/types/widgets/bar/skeleton.d.ts +1 -0
  69. package/dist/types/widgets/bar/style.d.ts +37 -0
  70. package/dist/types/widgets/bar/types.d.ts +9 -0
  71. package/dist/types/widgets/category/category-ui.d.ts +2 -0
  72. package/dist/types/widgets/category/components/category-bar.d.ts +7 -0
  73. package/dist/types/widgets/category/components/category-legend.d.ts +6 -0
  74. package/dist/types/widgets/category/components/category-row-multi.d.ts +11 -0
  75. package/dist/types/widgets/category/components/category-row-other.d.ts +6 -0
  76. package/dist/types/widgets/category/components/category-row-single.d.ts +11 -0
  77. package/dist/types/widgets/category/components/index.d.ts +10 -0
  78. package/dist/types/widgets/category/config.d.ts +16 -0
  79. package/dist/types/widgets/category/index.d.ts +6 -0
  80. package/dist/types/widgets/category/skeleton.d.ts +1 -0
  81. package/dist/types/widgets/category/style.d.ts +120 -0
  82. package/dist/types/widgets/category/types.d.ts +34 -0
  83. package/dist/types/widgets/echart/const.d.ts +1 -0
  84. package/dist/types/widgets/echart/echart-ui.d.ts +2 -0
  85. package/dist/types/widgets/echart/echart.d.ts +2 -0
  86. package/dist/types/widgets/echart/index.d.ts +5 -0
  87. package/dist/types/widgets/echart/options.d.ts +2 -0
  88. package/dist/types/widgets/echart/types.d.ts +34 -0
  89. package/dist/types/widgets/echart/utils.d.ts +80 -0
  90. package/dist/types/widgets/error/error.d.ts +2 -0
  91. package/dist/types/widgets/error/index.d.ts +2 -0
  92. package/dist/types/widgets/error/types.d.ts +12 -0
  93. package/dist/types/widgets/formula/components/item.d.ts +2 -0
  94. package/dist/types/widgets/formula/components/prefix.d.ts +2 -0
  95. package/dist/types/widgets/formula/components/row.d.ts +2 -0
  96. package/dist/types/widgets/formula/components/series.d.ts +2 -0
  97. package/dist/types/widgets/formula/components/suffix.d.ts +2 -0
  98. package/dist/types/widgets/formula/components/value.d.ts +2 -0
  99. package/dist/types/widgets/formula/config.d.ts +4 -0
  100. package/dist/types/widgets/formula/formula-ui.d.ts +2 -0
  101. package/dist/types/widgets/formula/index.d.ts +11 -0
  102. package/dist/types/widgets/formula/serializer.d.ts +16 -0
  103. package/dist/types/widgets/formula/skeleton.d.ts +1 -0
  104. package/dist/types/widgets/formula/style.d.ts +21 -0
  105. package/dist/types/widgets/formula/types.d.ts +42 -0
  106. package/dist/types/widgets/histogram/config.d.ts +5 -0
  107. package/dist/types/widgets/histogram/index.d.ts +3 -0
  108. package/dist/types/widgets/histogram/skeleton.d.ts +1 -0
  109. package/dist/types/widgets/histogram/style.d.ts +15 -0
  110. package/dist/types/widgets/histogram/types.d.ts +9 -0
  111. package/dist/types/widgets/index.d.ts +9 -1
  112. package/dist/types/widgets/loader/index.d.ts +3 -0
  113. package/dist/types/widgets/loader/loader.d.ts +2 -0
  114. package/dist/types/widgets/loader/types.d.ts +9 -0
  115. package/dist/types/widgets/loader/utils.d.ts +1 -0
  116. package/dist/types/widgets/markdown/config.d.ts +4 -0
  117. package/dist/types/widgets/markdown/index.d.ts +5 -0
  118. package/dist/types/widgets/markdown/markdown-ui.d.ts +2 -0
  119. package/dist/types/widgets/markdown/markdown.d.ts +2 -0
  120. package/dist/types/widgets/markdown/skeleton.d.ts +1 -0
  121. package/dist/types/widgets/markdown/style.d.ts +2 -0
  122. package/dist/types/widgets/markdown/types.d.ts +18 -0
  123. package/dist/types/widgets/no-data/index.d.ts +2 -0
  124. package/dist/types/widgets/no-data/no-data.d.ts +35 -0
  125. package/dist/types/widgets/no-data/style.d.ts +6 -0
  126. package/dist/types/widgets/no-data/types.d.ts +67 -0
  127. package/dist/types/widgets/note/index.d.ts +2 -0
  128. package/dist/types/widgets/note/note.d.ts +2 -0
  129. package/dist/types/widgets/note/style.d.ts +28 -0
  130. package/dist/types/widgets/note/types.d.ts +8 -0
  131. package/dist/types/widgets/pie/config.d.ts +5 -0
  132. package/dist/types/widgets/pie/index.d.ts +3 -0
  133. package/dist/types/widgets/pie/skeleton.d.ts +1 -0
  134. package/dist/types/widgets/pie/style.d.ts +15 -0
  135. package/dist/types/widgets/pie/types.d.ts +9 -0
  136. package/dist/types/widgets/range/components/range-item.d.ts +2 -0
  137. package/dist/types/widgets/range/config.d.ts +6 -0
  138. package/dist/types/widgets/range/index.d.ts +6 -0
  139. package/dist/types/widgets/range/range-ui.d.ts +2 -0
  140. package/dist/types/widgets/range/serializer.d.ts +16 -0
  141. package/dist/types/widgets/range/serializer.test.d.ts +1 -0
  142. package/dist/types/widgets/range/skeleton.d.ts +1 -0
  143. package/dist/types/widgets/range/style.d.ts +2 -0
  144. package/dist/types/widgets/range/types.d.ts +33 -0
  145. package/dist/types/widgets/scatterplot/config.d.ts +5 -0
  146. package/dist/types/widgets/scatterplot/index.d.ts +3 -0
  147. package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -0
  148. package/dist/types/widgets/scatterplot/style.d.ts +24 -0
  149. package/dist/types/widgets/scatterplot/types.d.ts +9 -0
  150. package/dist/types/widgets/selection-summary/index.d.ts +2 -0
  151. package/dist/types/widgets/selection-summary/selection-summary.d.ts +2 -0
  152. package/dist/types/widgets/selection-summary/style.d.ts +9 -0
  153. package/dist/types/widgets/selection-summary/types.d.ts +13 -0
  154. package/dist/types/widgets/skeleton-loader/index.d.ts +2 -0
  155. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +2 -0
  156. package/dist/types/widgets/skeleton-loader/types.d.ts +7 -0
  157. package/dist/types/widgets/spread/components/max-value.d.ts +2 -0
  158. package/dist/types/widgets/spread/components/min-value.d.ts +2 -0
  159. package/dist/types/widgets/spread/components/separator.d.ts +2 -0
  160. package/dist/types/widgets/spread/config.d.ts +10 -0
  161. package/dist/types/widgets/spread/index.d.ts +9 -0
  162. package/dist/types/widgets/spread/skeleton.d.ts +1 -0
  163. package/dist/types/widgets/spread/spread-ui.d.ts +2 -0
  164. package/dist/types/widgets/spread/style.d.ts +21 -0
  165. package/dist/types/widgets/spread/types.d.ts +40 -0
  166. package/dist/types/widgets/stores/index.d.ts +2 -0
  167. package/dist/types/widgets/stores/types.d.ts +165 -0
  168. package/dist/types/widgets/stores/widget-store.d.ts +39 -0
  169. package/dist/types/widgets/stores/widget-store.test.d.ts +1 -0
  170. package/dist/types/widgets/subheader/index.d.ts +2 -0
  171. package/dist/types/widgets/subheader/style.d.ts +19 -0
  172. package/dist/types/widgets/subheader/subheader.d.ts +2 -0
  173. package/dist/types/widgets/subheader/types.d.ts +10 -0
  174. package/dist/types/widgets/table/components/cell-header.d.ts +5 -0
  175. package/dist/types/widgets/table/components/cell.d.ts +16 -0
  176. package/dist/types/widgets/table/components/index.d.ts +4 -0
  177. package/dist/types/widgets/table/components/pagination-actions.d.ts +5 -0
  178. package/dist/types/widgets/table/components/pagination.d.ts +5 -0
  179. package/dist/types/widgets/table/components/row.d.ts +5 -0
  180. package/dist/types/widgets/table/config.d.ts +17 -0
  181. package/dist/types/widgets/table/helpers.d.ts +38 -0
  182. package/dist/types/widgets/table/helpers.test.d.ts +1 -0
  183. package/dist/types/widgets/table/hooks/index.d.ts +6 -0
  184. package/dist/types/widgets/table/hooks/use-pagination.d.ts +33 -0
  185. package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +1 -0
  186. package/dist/types/widgets/table/hooks/use-selection.d.ts +30 -0
  187. package/dist/types/widgets/table/hooks/use-selection.test.d.ts +1 -0
  188. package/dist/types/widgets/table/hooks/use-sort.d.ts +22 -0
  189. package/dist/types/widgets/table/hooks/use-sort.test.d.ts +1 -0
  190. package/dist/types/widgets/table/index.d.ts +13 -0
  191. package/dist/types/widgets/table/serializer.d.ts +16 -0
  192. package/dist/types/widgets/table/skeleton.d.ts +10 -0
  193. package/dist/types/widgets/table/style.d.ts +33 -0
  194. package/dist/types/widgets/table/table-ui.d.ts +32 -0
  195. package/dist/types/widgets/table/types.d.ts +196 -0
  196. package/dist/types/widgets/timeseries/config.d.ts +5 -0
  197. package/dist/types/widgets/timeseries/index.d.ts +3 -0
  198. package/dist/types/widgets/timeseries/skeleton.d.ts +1 -0
  199. package/dist/types/widgets/timeseries/style.d.ts +38 -0
  200. package/dist/types/widgets/timeseries/types.d.ts +9 -0
  201. package/dist/types/widgets/toolbar-actions/index.d.ts +2 -0
  202. package/dist/types/widgets/toolbar-actions/styles.d.ts +37 -0
  203. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +8 -0
  204. package/dist/types/widgets/toolbar-actions/types.d.ts +45 -0
  205. package/dist/types/widgets/wrapper/components/actions.d.ts +2 -0
  206. package/dist/types/widgets/wrapper/components/options.d.ts +2 -0
  207. package/dist/types/widgets/wrapper/components/title.d.ts +6 -0
  208. package/dist/types/widgets/wrapper/index.d.ts +6 -0
  209. package/dist/types/widgets/wrapper/styles.d.ts +89 -0
  210. package/dist/types/widgets/wrapper/types.d.ts +37 -0
  211. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +2 -0
  212. package/dist/types/widgets/wrapper/wrapper.d.ts +2 -0
  213. package/dist/use-widget-ref-B0aNCANx.js +19 -0
  214. package/dist/use-widget-ref-B0aNCANx.js.map +1 -0
  215. package/dist/utils-D3-eQyDR.js +144 -0
  216. package/dist/utils-D3-eQyDR.js.map +1 -0
  217. package/dist/widget-store-CB6Trp_0.js +131 -0
  218. package/dist/widget-store-CB6Trp_0.js.map +1 -0
  219. package/dist/widgets/actions.js +872 -0
  220. package/dist/widgets/actions.js.map +1 -0
  221. package/dist/widgets/bar.js +188 -0
  222. package/dist/widgets/bar.js.map +1 -0
  223. package/dist/widgets/category.js +427 -0
  224. package/dist/widgets/category.js.map +1 -0
  225. package/dist/widgets/echart.js +115 -0
  226. package/dist/widgets/echart.js.map +1 -0
  227. package/dist/widgets/error.js +5 -0
  228. package/dist/widgets/error.js.map +1 -0
  229. package/dist/widgets/formula.js +119 -0
  230. package/dist/widgets/formula.js.map +1 -0
  231. package/dist/widgets/histogram.js +186 -0
  232. package/dist/widgets/histogram.js.map +1 -0
  233. package/dist/widgets/loader.js +57 -0
  234. package/dist/widgets/loader.js.map +1 -0
  235. package/dist/widgets/markdown.js +127 -0
  236. package/dist/widgets/markdown.js.map +1 -0
  237. package/dist/widgets/no-data.js +5 -0
  238. package/dist/widgets/no-data.js.map +1 -0
  239. package/dist/widgets/note.js +5 -0
  240. package/dist/widgets/note.js.map +1 -0
  241. package/dist/widgets/pie.js +230 -0
  242. package/dist/widgets/pie.js.map +1 -0
  243. package/dist/widgets/range.js +217 -0
  244. package/dist/widgets/range.js.map +1 -0
  245. package/dist/widgets/scatterplot.js +233 -0
  246. package/dist/widgets/scatterplot.js.map +1 -0
  247. package/dist/widgets/selection-summary.js +40 -0
  248. package/dist/widgets/selection-summary.js.map +1 -0
  249. package/dist/widgets/skeleton-loader.js +24 -0
  250. package/dist/widgets/skeleton-loader.js.map +1 -0
  251. package/dist/widgets/spread.js +161 -0
  252. package/dist/widgets/spread.js.map +1 -0
  253. package/dist/widgets/stores.js +5 -0
  254. package/dist/widgets/stores.js.map +1 -0
  255. package/dist/widgets/subheader.js +52 -0
  256. package/dist/widgets/subheader.js.map +1 -0
  257. package/dist/widgets/table.js +672 -0
  258. package/dist/widgets/table.js.map +1 -0
  259. package/dist/widgets/timeseries.js +187 -0
  260. package/dist/widgets/timeseries.js.map +1 -0
  261. package/dist/widgets/toolbar-actions.js +6725 -0
  262. package/dist/widgets/toolbar-actions.js.map +1 -0
  263. package/dist/widgets/wrapper.js +295 -0
  264. package/dist/widgets/wrapper.js.map +1 -0
  265. package/dist/widgets.js +12 -1
  266. package/dist/widgets.js.map +1 -1
  267. package/package.json +114 -4
@@ -0,0 +1,119 @@
1
+ import { I as F, S as I, P as D, a as P } from "../series-D3Pc-kYX.js";
2
+ import { jsx as f, jsxs as k, Fragment as C } from "react/jsx-runtime";
3
+ import { c as p } from "react/compiler-runtime";
4
+ import { u as R } from "../widget-store-CB6Trp_0.js";
5
+ import { useShallow as T } from "zustand/shallow";
6
+ import { R as W, s as $ } from "../row-DrHwXNvF.js";
7
+ import { Box as w, Skeleton as b } from "@mui/material";
8
+ import "@mui/icons-material";
9
+ import "react";
10
+ import "react-markdown";
11
+ import { d as S, a as v } from "../exports-Cr43OCul.js";
12
+ import "../lasso-tool-BwRzEW7k.js";
13
+ import "../cjs-D4KH3azB.js";
14
+ import "@dnd-kit/core";
15
+ import "@dnd-kit/sortable";
16
+ import "@dnd-kit/utilities";
17
+ import { u as j } from "../use-widget-ref-B0aNCANx.js";
18
+ const z = (e) => e.toString();
19
+ function V(e) {
20
+ const t = p(16);
21
+ let o, i, r;
22
+ t[0] !== e ? ({
23
+ id: o,
24
+ index: r,
25
+ ...i
26
+ } = e, t[0] = e, t[1] = o, t[2] = i, t[3] = r) : (o = t[1], i = t[2], r = t[3]);
27
+ const n = r === void 0 ? 0 : r;
28
+ let a;
29
+ t[4] !== o || t[5] !== n ? (a = (y) => {
30
+ const g = y.getWidget(o);
31
+ return {
32
+ value: g?.data?.[n]?.value,
33
+ color: g?.data?.[n]?.color,
34
+ formatter: g?.formatter
35
+ };
36
+ }, t[4] = o, t[5] = n, t[6] = a) : a = t[6];
37
+ const {
38
+ value: l,
39
+ color: u,
40
+ formatter: h
41
+ } = R(T(a)), c = h === void 0 ? z : h;
42
+ let s;
43
+ t[7] !== u ? (s = {
44
+ color: u
45
+ }, t[7] = u, t[8] = s) : s = t[8];
46
+ const x = l ?? 0;
47
+ let d;
48
+ t[9] !== c || t[10] !== x ? (d = c(x), t[9] = c, t[10] = x, t[11] = d) : d = t[11];
49
+ let m;
50
+ return t[12] !== i || t[13] !== s || t[14] !== d ? (m = /* @__PURE__ */ f(F, { TypographyProps: s, ...i, children: d }), t[12] = i, t[13] = s, t[14] = d, t[15] = m) : m = t[15], m;
51
+ }
52
+ function tt({
53
+ refUI: e
54
+ }) {
55
+ return [{
56
+ ...S,
57
+ modifier: () => S.modifier(e)
58
+ }, {
59
+ ...v,
60
+ modifier: async (t) => {
61
+ const o = [t?.map((i) => i.value) ?? []];
62
+ return v.modifier(o);
63
+ }
64
+ }];
65
+ }
66
+ function et() {
67
+ return {
68
+ series: []
69
+ };
70
+ }
71
+ function it(e) {
72
+ const t = p(8), o = j(e.id);
73
+ let i;
74
+ t[0] !== e.id ? (i = (a) => {
75
+ const {
76
+ index: l
77
+ } = a;
78
+ return /* @__PURE__ */ k(C, { children: [
79
+ /* @__PURE__ */ f(I, { id: e.id, index: l }),
80
+ /* @__PURE__ */ f(D, { id: e.id, index: l }),
81
+ /* @__PURE__ */ f(V, { id: e.id, index: l }),
82
+ /* @__PURE__ */ f(P, { id: e.id, index: l })
83
+ ] });
84
+ }, t[0] = e.id, t[1] = i) : i = t[1];
85
+ let r;
86
+ t[2] !== e.id || t[3] !== i ? (r = /* @__PURE__ */ f(W, { id: e.id, children: i }), t[2] = e.id, t[3] = i, t[4] = r) : r = t[4];
87
+ let n;
88
+ return t[5] !== o || t[6] !== r ? (n = /* @__PURE__ */ f(w, { ref: o, children: r }), t[5] = o, t[6] = r, t[7] = n) : n = t[7], n;
89
+ }
90
+ function ot() {
91
+ const e = p(1);
92
+ let t;
93
+ return e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ f(w, { sx: $.row, "aria-label": "Formula skeleton", children: /* @__PURE__ */ f(b, { width: 120, height: 32 }) }), e[0] = t) : t = e[0], t;
94
+ }
95
+ function _(e) {
96
+ return {
97
+ ...e,
98
+ prefix: typeof e.prefix == "string" ? e.prefix : void 0,
99
+ suffix: typeof e.suffix == "string" ? e.suffix : void 0
100
+ };
101
+ }
102
+ function rt(e) {
103
+ return e?.map(_);
104
+ }
105
+ export {
106
+ ot as FormulaSkeleton,
107
+ it as FormulaUI,
108
+ F as Item,
109
+ D as Prefix,
110
+ W as Row,
111
+ I as Series,
112
+ P as Suffix,
113
+ V as Value,
114
+ et as formulaConfig,
115
+ tt as formulaDownloadConfig,
116
+ _ as sanitizeDataItem,
117
+ rt as sanitizeDataItems
118
+ };
119
+ //# sourceMappingURL=formula.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula.js","sources":["../../src/widgets/formula/components/value.tsx","../../src/widgets/formula/config.ts","../../src/widgets/formula/formula-ui.tsx","../../src/widgets/formula/skeleton.tsx","../../src/widgets/formula/serializer.ts"],"sourcesContent":["import { type FormulaWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from './item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function Value({ id, index = 0, ...props }: ValueProps) {\n const {\n value,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<FormulaWidgetState>(id)\n return {\n value: widget?.data?.[index]?.value,\n color: widget?.data?.[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(value ?? 0)}\n </Item>\n )\n}\n","import { downloadToCSV, downloadToPNG } from '../actions'\nimport type { ConfigProps } from '../loader/types'\nimport type { FormulaDownloadConfig, FormulaWidgetConfig } from './types'\n\nexport function formulaDownloadConfig({\n refUI,\n}: ConfigProps): FormulaDownloadConfig {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const formulaData = [data?.map((item) => item.value) ?? []]\n return downloadToCSV.modifier(formulaData)\n },\n },\n ]\n}\n\nexport function formulaConfig(): FormulaWidgetConfig {\n return {\n series: [],\n }\n}\n","import type { FormulaUIProps } from './types'\nimport { Row } from './components/row'\nimport { Value } from './components/value'\nimport { Prefix } from './components/prefix'\nimport { Suffix } from './components/suffix'\nimport { Series } from './components/series'\nimport { useWidgetRef } from '../../hooks'\nimport { Box } from '@mui/material'\n\nexport function FormulaUI(props: FormulaUIProps) {\n const ref = useWidgetRef(props.id)\n\n return (\n <Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <Value id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>\n )\n}\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function FormulaSkeleton() {\n return (\n <Box sx={styles.row} aria-label='Formula skeleton'>\n <Skeleton width={120} height={32} />\n </Box>\n )\n}\n","import type { DataItem } from './types'\n\n/**\n * Sanitizes DataItem by converting ReactNode prefix/suffix values to undefined.\n * This ensures only string values are stored in the widget state.\n *\n * @param item - The DataItem to sanitize\n * @returns A new DataItem with ReactNode prefix/suffix values converted to undefined\n */\nexport function sanitizeDataItem(item: DataItem): DataItem {\n return {\n ...item,\n prefix: typeof item.prefix === 'string' ? item.prefix : undefined,\n suffix: typeof item.suffix === 'string' ? item.suffix : undefined,\n }\n}\n\n/**\n * Sanitizes an array of DataItems by converting ReactNode prefix/suffix values to undefined.\n *\n * @param items - Array of DataItems to sanitize\n * @returns A new array with sanitized DataItems\n */\nexport function sanitizeDataItems(\n items: DataItem[] | undefined,\n): DataItem[] | undefined {\n return items?.map(sanitizeDataItem)\n}\n"],"names":["defaultFormatter","value","toString","Value","t0","$","_c","id","props","t1","index","undefined","t2","state","widget","getWidget","data","color","formatter","t3","useWidgetStore","useShallow","t4","t5","t6","t7","Item","formulaDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","formulaData","map","item","formulaConfig","series","FormulaUI","ref","useWidgetRef","jsxs","Fragment","jsx","Series","Prefix","Suffix","Row","Box","FormulaSkeleton","Symbol","for","styles","row","Skeleton","sanitizeDataItem","prefix","suffix","sanitizeDataItems","items"],"mappings":";;;;;;;;;;;;;;;;;AAKA,MAAMA,IAAmBA,CAACC,MAAkBA,EAAMC,SAAAA;AAE3C,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC;AAAA,EAAAJ,SAAAD,KAAe;AAAA,IAAAG,IAAAA;AAAAA,IAAAG,OAAAD;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAAAJ,GAAuCC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,MAAAF,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA;AAAjC,QAAAK,IAAAD,MAAAE,SAAA,IAAAF;AAAS,MAAAG;AAAA,EAAAP,EAAA,CAAA,MAAAE,KAAAF,SAAAK,KAMtBE,IAAAC,CAAAA,MAAA;AACT,UAAAC,IAAeD,EAAKE,UAA+BR,CAAE;AAAC,WAC/C;AAAA,MAAAN,OACEa,GAAME,OAASN,CAAK,GAAQT;AAAAA,MAAAgB,OAC5BH,GAAME,OAASN,CAAK,GAAQO;AAAAA,MAAAC,WACxBJ,GAAMI;AAAAA,IAAAA;AAAAA,EAClB,GACFb,OAAAE,GAAAF,OAAAK,GAAAL,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAZH,QAAA;AAAA,IAAAJ,OAAAA;AAAAA,IAAAgB,OAAAA;AAAAA,IAAAC,WAAAC;AAAAA,EAAAA,IAIIC,EACFC,EAAWT,CAOV,CACH,GAVEM,IAAAC,MAAAR,SAAAX,IAAAmB;AAA4B,MAAAG;AAAA,EAAAjB,SAAAY,KAaLK,IAAA;AAAA,IAAAL,OAAAA;AAAAA,EAAAA,GAASZ,OAAAY,GAAAZ,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AACnB,QAAAkB,IAAAtB,KAAA;AAAU,MAAAuB;AAAA,EAAAnB,EAAA,CAAA,MAAAa,KAAAb,UAAAkB,KAApBC,IAAAN,EAAUK,CAAU,GAAClB,OAAAa,GAAAb,QAAAkB,GAAAlB,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA;AAAA,MAAAoB;AAAA,SAAApB,EAAA,EAAA,MAAAG,KAAAH,UAAAiB,KAAAjB,EAAA,EAAA,MAAAmB,KADxBC,sBAACC,GAAA,EAAsB,iBAAAJ,GAAS,GAAMd,GACnCgB,UAAAA,GACH,GAAOnB,QAAAG,GAAAH,QAAAiB,GAAAjB,QAAAmB,GAAAnB,QAAAoB,KAAAA,IAAApB,EAAA,EAAA,GAFPoB;AAEO;ACtBJ,SAASE,GAAsB;AAAA,EACpCC,OAAAA;AACW,GAA0B;AACrC,SAAO,CACL;AAAA,IACE,GAAGC;AAAAA,IACHC,UAAUA,MAAMD,EAAcC,SAASF,CAAK;AAAA,EAAA,GAE9C;AAAA,IACE,GAAGG;AAAAA,IACHD,UAAU,OAAOd,MAAS;AACxB,YAAMgB,IAAc,CAAChB,GAAMiB,IAAKC,OAASA,EAAKjC,KAAK,KAAK,EAAE;AAC1D,aAAO8B,EAAcD,SAASE,CAAW;AAAA,IAC3C;AAAA,EAAA,CACD;AAEL;AAEO,SAASG,KAAqC;AACnD,SAAO;AAAA,IACLC,QAAQ,CAAA;AAAA,EAAA;AAEZ;ACjBO,SAAAC,GAAA7B,GAAA;AAAA,QAAAH,IAAAC,EAAA,CAAA,GACLgC,IAAYC,EAAa/B,EAAKD,EAAG;AAAC,MAAAH;AAAA,EAAAC,EAAA,CAAA,MAAAG,EAAAD,MAK3BH,IAAAK,CAAAA,MAAA;AAAC,UAAA;AAAA,MAAAC,OAAAA;AAAAA,IAAAA,IAAAD;AAAS,WACT,gBAAA+B,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAW,IAAAnC,EAAKD,IAAYG,OAAAA,GAAK;AAAA,MAClC,gBAAAgC,EAACE,GAAA,EAAW,IAAApC,EAAKD,IAAYG,OAAAA,GAAK;AAAA,MAClC,gBAAAgC,EAACvC,GAAA,EAAU,IAAAK,EAAKD,IAAYG,OAAAA,GAAK;AAAA,MACjC,gBAAAgC,EAACG,GAAA,EAAW,IAAArC,EAAKD,IAAYG,OAAAA,EAAAA;OAAS;AAAA,EACrC,GACJL,EAAA,CAAA,IAAAG,EAAAD,IAAAF,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAAA,MAAAI;AAAA,EAAAJ,SAAAG,EAAAD,MAAAF,SAAAD,KARHK,sBAACqC,GAAA,EAAQ,IAAAtC,EAAKD,IACXH,UAAAA,GAQH,GAAMC,EAAA,CAAA,IAAAG,EAAAD,IAAAF,OAAAD,GAAAC,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAO;AAAA,SAAAP,EAAA,CAAA,MAAAiC,KAAAjC,SAAAI,KAVRG,IAAA,gBAAA8B,EAACK,GAAA,EAAST,KAAAA,GACR7B,UAAAA,GAUF,GAAMJ,OAAAiC,GAAAjC,OAAAI,GAAAJ,OAAAO,KAAAA,IAAAP,EAAA,CAAA,GAXNO;AAWM;ACrBH,SAAAoC,KAAA;AAAA,QAAA3C,IAAAC,EAAA,CAAA;AAAA,MAAAF;AAAA,SAAAC,EAAA,CAAA,MAAA4C,uBAAAC,IAAA,2BAAA,KAEH9C,IAAA,gBAAAsC,EAACK,GAAA,EAAQ,IAAAI,EAAMC,KAAiB,cAAA,oBAC9B,UAAA,gBAAAV,EAACW,GAAA,EAAgB,OAAA,KAAa,QAAA,IAAE,GAClC,GAAMhD,OAAAD,KAAAA,IAAAC,EAAA,CAAA,GAFND;AAEM;ACEH,SAASkD,EAAiBpB,GAA0B;AACzD,SAAO;AAAA,IACL,GAAGA;AAAAA,IACHqB,QAAQ,OAAOrB,EAAKqB,UAAW,WAAWrB,EAAKqB,SAAS5C;AAAAA,IACxD6C,QAAQ,OAAOtB,EAAKsB,UAAW,WAAWtB,EAAKsB,SAAS7C;AAAAA,EAAAA;AAE5D;AAQO,SAAS8C,GACdC,GACwB;AACxB,SAAOA,GAAOzB,IAAIqB,CAAgB;AACpC;"}
@@ -0,0 +1,186 @@
1
+ import { jsx as a, jsxs as h } from "react/jsx-runtime";
2
+ import { c as x } from "react/compiler-runtime";
3
+ import "react";
4
+ import "echarts";
5
+ import "../widget-store-CB6Trp_0.js";
6
+ import "zustand/shallow";
7
+ import { g as b } from "../options-D9wflre6.js";
8
+ import { m as w } from "../utils-D3-eQyDR.js";
9
+ import { f as _, c as L, a as S, b as k, d as v, e as C, g as A } from "../styles-CCZnY17y.js";
10
+ import { Box as l, Skeleton as m } from "@mui/material";
11
+ import "@mui/icons-material";
12
+ import "react-markdown";
13
+ import { d as p, a as c } from "../exports-Cr43OCul.js";
14
+ import "../lasso-tool-BwRzEW7k.js";
15
+ import "../cjs-D4KH3azB.js";
16
+ import "@dnd-kit/core";
17
+ import "@dnd-kit/sortable";
18
+ import "@dnd-kit/utilities";
19
+ function ee({
20
+ refUI: t
21
+ }) {
22
+ return [{
23
+ ...p,
24
+ modifier: () => p.modifier(t)
25
+ }, {
26
+ ...c,
27
+ modifier: async (e) => {
28
+ const o = _(e);
29
+ return c.modifier(o);
30
+ }
31
+ }];
32
+ }
33
+ function te(t) {
34
+ return {
35
+ type: "histogram",
36
+ option: w(b(t), I(t))
37
+ };
38
+ }
39
+ function I({
40
+ data: t = [],
41
+ theme: e,
42
+ formatter: o
43
+ }) {
44
+ const n = (t?.length ?? 0) > 1, f = {
45
+ type: "value",
46
+ showMaxLabel: !0,
47
+ showMinLabel: !0,
48
+ splitNumber: 1,
49
+ axisLabel: {
50
+ fontSize: e.typography.overlineDelicate.fontSize,
51
+ fontFamily: e.typography.overlineDelicate.fontFamily,
52
+ margin: parseInt(e.spacing(1)),
53
+ show: !0,
54
+ showMaxLabel: !0,
55
+ showMinLabel: !0,
56
+ verticalAlign: "bottom"
57
+ },
58
+ axisLine: {
59
+ show: !1
60
+ },
61
+ axisTick: {
62
+ show: !1
63
+ },
64
+ splitLine: {
65
+ show: !0,
66
+ lineStyle: {
67
+ color: e.palette.black[4]
68
+ }
69
+ }
70
+ };
71
+ return {
72
+ legend: C(n),
73
+ grid: v(n, e),
74
+ xAxis: {
75
+ type: "category",
76
+ axisLine: {
77
+ show: !1
78
+ },
79
+ axisLabel: {
80
+ fontSize: e.typography.overlineDelicate.fontSize,
81
+ fontFamily: e.typography.overlineDelicate.fontFamily,
82
+ showMinLabel: !0,
83
+ showMaxLabel: !0,
84
+ hideOverlap: !0,
85
+ margin: 0,
86
+ padding: [parseInt(e.spacing(0.5)), parseInt(e.spacing(0.5)), 0, parseInt(e.spacing(0.5))],
87
+ color: e.palette.black[60]
88
+ },
89
+ axisTick: {
90
+ show: !1
91
+ },
92
+ splitLine: {
93
+ show: !0,
94
+ lineStyle: {
95
+ color: e.palette.black[4]
96
+ }
97
+ }
98
+ },
99
+ yAxis: k(f, o),
100
+ tooltip: {
101
+ position: S(e),
102
+ formatter: L((i) => {
103
+ const r = i.value, g = i.dimensionNames?.[i.encode?.y?.at(0) ?? 1], s = r[g ?? ""], u = typeof s == "number" && o ? o(s) : s ?? "", y = typeof i.marker == "string" ? i.marker : "", d = i.seriesName ? `${i.seriesName}: ` : "";
104
+ return {
105
+ name: i.name ?? "",
106
+ seriesName: d,
107
+ marker: y,
108
+ value: u
109
+ };
110
+ })
111
+ },
112
+ series: t.map((i, r) => ({
113
+ datasetIndex: r,
114
+ type: "bar",
115
+ barGap: "1%",
116
+ // No gap between bars in histogram
117
+ barCategoryGap: "1%",
118
+ // No gap between categories in histogram
119
+ emphasis: {
120
+ focus: "series"
121
+ }
122
+ }))
123
+ };
124
+ }
125
+ const T = {
126
+ skeleton: {
127
+ graph: A.graph
128
+ }
129
+ };
130
+ function oe() {
131
+ const t = x(2);
132
+ let e;
133
+ t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ a(l, { sx: {
134
+ display: "flex",
135
+ alignItems: "flex-end",
136
+ justifyContent: "space-between",
137
+ gap: D,
138
+ height: j,
139
+ width: "100%"
140
+ }, children: Array(8).fill(0).map(N) }), t[0] = e) : e = t[0];
141
+ let o;
142
+ return t[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ h(l, { sx: T.skeleton.graph.container, children: [
143
+ e,
144
+ /* @__PURE__ */ a(l, { sx: {
145
+ display: "flex",
146
+ alignItems: "center",
147
+ justifyContent: "space-between",
148
+ width: "100%",
149
+ mt: M
150
+ }, children: Array(4).fill(0).map(F) })
151
+ ] }), t[1] = o) : o = t[1], o;
152
+ }
153
+ function F(t, e) {
154
+ return /* @__PURE__ */ a(m, { width: 32, height: 8 }, e);
155
+ }
156
+ function M(t) {
157
+ const {
158
+ spacing: e
159
+ } = t;
160
+ return e(1);
161
+ }
162
+ function N(t, e) {
163
+ const n = `${[60, 80, 95, 85, 70, 55, 40, 30][e]}%`;
164
+ return /* @__PURE__ */ a(m, { variant: "rectangular", sx: {
165
+ flex: 1,
166
+ height: n
167
+ } }, e);
168
+ }
169
+ function j(t) {
170
+ const {
171
+ spacing: e
172
+ } = t;
173
+ return e(30);
174
+ }
175
+ function D(t) {
176
+ const {
177
+ spacing: e
178
+ } = t;
179
+ return e(0.5);
180
+ }
181
+ export {
182
+ oe as HistogramSkeleton,
183
+ te as histogramConfig,
184
+ ee as histogramDownloadConfig
185
+ };
186
+ //# sourceMappingURL=histogram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"histogram.js","sources":["../../src/widgets/histogram/config.ts","../../src/widgets/histogram/style.ts","../../src/widgets/histogram/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n HistogramConfig,\n HistogramWidgetConfig,\n HistogramWidgetData,\n} from './types'\nimport {\n flattenObjectArrayToCSV,\n buildLegendConfig,\n buildGridConfig,\n createTooltipPositioner,\n createTooltipFormatter,\n applyYAxisFormatter,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\n\nexport function histogramDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<HistogramWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = flattenObjectArrayToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\nexport function histogramConfig(props: HistogramConfig): HistogramWidgetConfig {\n return {\n type: 'histogram',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\nfunction getOption({\n data = [],\n theme,\n formatter,\n}: HistogramConfig): EchartOptionsProps {\n const hasLegend = (data?.length ?? 0) > 1\n\n const yAxis = {\n type: 'value' as const,\n showMaxLabel: true,\n showMinLabel: true,\n splitNumber: 1,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n margin: parseInt(theme.spacing(1)),\n show: true,\n showMaxLabel: true,\n showMinLabel: true,\n verticalAlign: 'bottom' as const,\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n }\n\n return {\n legend: buildLegendConfig(hasLegend),\n grid: buildGridConfig(hasLegend, theme),\n xAxis: {\n type: 'category',\n axisLine: {\n show: false,\n },\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: true,\n showMaxLabel: true,\n hideOverlap: true,\n margin: 0,\n padding: [\n parseInt(theme.spacing(0.5)),\n parseInt(theme.spacing(0.5)),\n 0,\n parseInt(theme.spacing(0.5)),\n ],\n color: theme.palette.black[60],\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n },\n yAxis: applyYAxisFormatter(yAxis, formatter),\n tooltip: {\n position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const value = item.value as Record<string, string | number>\n const index = item.dimensionNames?.[item.encode?.y?.at(0) ?? 1]\n const _value = value[index ?? '']\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : (_value ?? '')\n\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const seriesName = item.seriesName ? `${item.seriesName}: ` : ''\n const name = item.name ?? ''\n\n return { name, seriesName, marker, value: formattedValue }\n }),\n },\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'bar',\n barGap: '1%', // No gap between bars in histogram\n barCategoryGap: '1%', // No gap between categories in histogram\n emphasis: {\n focus: 'series',\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: baseSkeletonStyles.graph,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function HistogramSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n gap: ({ spacing }) => spacing(0.5),\n height: ({ spacing }) => spacing(30),\n width: '100%',\n }}\n >\n {Array(8)\n .fill(0)\n .map((_, i) => {\n // Create varying heights for histogram bars\n const heights = [60, 80, 95, 85, 70, 55, 40, 30]\n const height = `${heights[i]}%`\n return (\n <Skeleton\n key={i}\n variant='rectangular'\n sx={{\n flex: 1,\n height,\n }}\n />\n )\n })}\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n mt: ({ spacing }) => spacing(1),\n }}\n >\n {Array(4)\n .fill(0)\n .map((_, i) => (\n <Skeleton key={i} width={32} height={8} />\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["histogramDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","flattenObjectArrayToCSV","histogramConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","formatter","hasLegend","length","yAxis","showMaxLabel","showMinLabel","splitNumber","axisLabel","fontSize","typography","overlineDelicate","fontFamily","margin","parseInt","spacing","show","verticalAlign","axisLine","axisTick","splitLine","lineStyle","color","palette","black","legend","buildLegendConfig","grid","buildGridConfig","xAxis","hideOverlap","padding","applyYAxisFormatter","tooltip","position","createTooltipPositioner","createTooltipFormatter","item","value","index","dimensionNames","encode","y","at","_value","formattedValue","marker","seriesName","name","series","map","_","datasetIndex","barGap","barCategoryGap","emphasis","focus","styles","skeleton","graph","baseSkeletonStyles","HistogramSkeleton","$","_c","t0","Symbol","for","jsx","Box","display","alignItems","justifyContent","gap","_temp","height","_temp2","width","Array","fill","_temp3","t1","container","mt","_temp4","_temp5","__0","i_0","Skeleton","spacing_1","i","flex","spacing_0"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { c as r } from "react/compiler-runtime";
2
+ import { useEffect as n } from "react";
3
+ import { u as L } from "../widget-store-CB6Trp_0.js";
4
+ import { d as x } from "../cjs-D4KH3azB.js";
5
+ function M(e) {
6
+ const i = r(27), t = L(w), d = L(_);
7
+ let a, g;
8
+ i[0] !== e.id || i[1] !== e.type || i[2] !== t ? (a = () => {
9
+ t(e.id, {
10
+ type: e.type
11
+ });
12
+ }, g = [e.id, e.type, t], i[0] = e.id, i[1] = e.type, i[2] = t, i[3] = a, i[4] = g) : (a = i[3], g = i[4]), n(a, g);
13
+ let c, l;
14
+ i[5] !== e.error || i[6] !== e.id || i[7] !== e.isFetching || i[8] !== e.isLoading || i[9] !== t ? (c = () => {
15
+ t(e.id, {
16
+ isLoading: e.isLoading ?? !1,
17
+ isFetching: e.isFetching ?? !1,
18
+ error: e.error
19
+ });
20
+ }, l = [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] = c, i[11] = l) : (c = i[10], l = i[11]), n(c, l);
21
+ let f, u;
22
+ i[12] !== e.config || i[13] !== e.id || i[14] !== t ? (f = () => {
23
+ e.config && t(e.id, {
24
+ ...e.config
25
+ });
26
+ }, u = [e.id, e.config, t], i[12] = e.config, i[13] = e.id, i[14] = t, i[15] = f, i[16] = u) : (f = i[15], u = i[16]), n(f, u);
27
+ let m, b;
28
+ i[17] !== d || i[18] !== e.data || i[19] !== e.id ? (m = () => {
29
+ d(e.id, e.data);
30
+ }, b = [e.id, e.data, d], i[17] = d, i[18] = e.data, i[19] = e.id, i[20] = m, i[21] = b) : (m = i[20], b = i[21]), n(m, b);
31
+ let h, y;
32
+ return i[22] !== d || i[23] !== e.data || i[24] !== e.id ? (h = () => {
33
+ let T = L.getState().widgets[e.id]?.registeredTools;
34
+ return L.subscribe((W) => {
35
+ const F = W.widgets[e.id]?.registeredTools;
36
+ F !== T && (T = F, d(e.id, e.data));
37
+ });
38
+ }, y = [e.id, e.data, d], i[22] = d, i[23] = e.data, i[24] = e.id, i[25] = h, i[26] = y) : (h = i[25], y = i[26]), n(h, y), e.children;
39
+ }
40
+ function _(e) {
41
+ return e.executeToolPipeline;
42
+ }
43
+ function w(e) {
44
+ return e.setWidget;
45
+ }
46
+ function $(...e) {
47
+ return x(e[0] ?? {}, e[1] ?? {}, {
48
+ arrayMerge(i, t) {
49
+ return t;
50
+ }
51
+ });
52
+ }
53
+ export {
54
+ M as WidgetLoader,
55
+ $ as mergeWidgetConfig
56
+ };
57
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +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\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","mergeWidgetConfig","options","deepmerge","arrayMerge","_","source"],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ import { jsx as i, jsxs as f } from "react/jsx-runtime";
2
+ import { c } from "react/compiler-runtime";
3
+ import { u } from "../widget-store-CB6Trp_0.js";
4
+ import { useShallow as g } from "zustand/shallow";
5
+ import { ListItem as w, List as d, Link as k, Typography as m, Skeleton as s, Box as y } from "@mui/material";
6
+ import S from "react-markdown";
7
+ import "@mui/icons-material";
8
+ import "react";
9
+ import "html2canvas";
10
+ import "../lasso-tool-BwRzEW7k.js";
11
+ import "../cjs-D4KH3azB.js";
12
+ import "@dnd-kit/core";
13
+ import "@dnd-kit/sortable";
14
+ import "@dnd-kit/utilities";
15
+ import { a as p } from "../exports-Cr43OCul.js";
16
+ function P(t) {
17
+ const o = c(4), {
18
+ id: r
19
+ } = t;
20
+ let e;
21
+ o[0] !== r ? (e = (h) => h.getWidget(r)?.data?.content, o[0] = r, o[1] = e) : e = o[1];
22
+ const n = u(g(e));
23
+ if (!n)
24
+ return null;
25
+ let l;
26
+ return o[2] !== n ? (l = /* @__PURE__ */ i(b, { children: n }), o[2] = n, o[3] = l) : l = o[3], l;
27
+ }
28
+ const a = {
29
+ li: {
30
+ display: "list-item",
31
+ paddingTop: 0,
32
+ paddingBottom: 0
33
+ },
34
+ ul: {
35
+ listStyleType: "disc",
36
+ paddingLeft: ({
37
+ spacing: t
38
+ }) => t(2)
39
+ },
40
+ ol: {
41
+ listStyleType: "decimal",
42
+ paddingLeft: ({
43
+ spacing: t
44
+ }) => t(2)
45
+ }
46
+ }, x = {
47
+ h1: ({
48
+ children: t
49
+ }) => /* @__PURE__ */ i(m, { variant: "h4", gutterBottom: !0, color: "inherit", children: t }),
50
+ h2: ({
51
+ children: t
52
+ }) => /* @__PURE__ */ i(m, { variant: "h5", gutterBottom: !0, color: "inherit", children: t }),
53
+ h3: ({
54
+ children: t
55
+ }) => /* @__PURE__ */ i(m, { variant: "h6", gutterBottom: !0, color: "inherit", children: t }),
56
+ p: ({
57
+ children: t
58
+ }) => /* @__PURE__ */ i(m, { paragraph: !0, color: "inherit", children: t }),
59
+ a: ({
60
+ children: t,
61
+ href: o,
62
+ target: r = "_blank",
63
+ rel: e = "noopener noreferrer"
64
+ }) => /* @__PURE__ */ i(k, { href: o, target: r, rel: e, children: t }),
65
+ ul: ({
66
+ children: t
67
+ }) => /* @__PURE__ */ i(d, { sx: a.ul, children: t }),
68
+ ol: ({
69
+ children: t
70
+ }) => /* @__PURE__ */ i(d, { component: "ol", sx: a.ol, children: t }),
71
+ li: ({
72
+ children: t
73
+ }) => /* @__PURE__ */ i(w, { sx: a.li, children: t })
74
+ };
75
+ function b(t) {
76
+ const o = c(5), {
77
+ children: r,
78
+ overrides: e
79
+ } = t;
80
+ let n;
81
+ o[0] !== e ? (n = {
82
+ ...x,
83
+ ...e
84
+ }, o[0] = e, o[1] = n) : n = o[1];
85
+ let l;
86
+ return o[2] !== r || o[3] !== n ? (l = /* @__PURE__ */ i(S, { components: n, children: r }), o[2] = r, o[3] = n, o[4] = l) : l = o[4], l;
87
+ }
88
+ function R() {
89
+ const t = c(3);
90
+ let o;
91
+ t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ i(s, { width: "80%", height: 24, sx: {
92
+ mb: 1
93
+ } }), t[0] = o) : o = t[0];
94
+ let r;
95
+ t[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ i(s, { width: "90%", height: 20, sx: {
96
+ mb: 0.5
97
+ } }), t[1] = r) : r = t[1];
98
+ let e;
99
+ return t[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ f(y, { "aria-label": "Markdown skeleton", children: [
100
+ o,
101
+ r,
102
+ /* @__PURE__ */ i(s, { width: "85%", height: 20, sx: {
103
+ mb: 0.5
104
+ } }),
105
+ /* @__PURE__ */ i(s, { width: "75%", height: 20 })
106
+ ] }), t[2] = e) : e = t[2], e;
107
+ }
108
+ function U() {
109
+ return [{
110
+ ...p,
111
+ modifier: async (t) => {
112
+ const o = t?.content ?? "";
113
+ return p.modifier([["Content"], [o]]);
114
+ }
115
+ }];
116
+ }
117
+ function V() {
118
+ return {};
119
+ }
120
+ export {
121
+ P as Markdown,
122
+ R as MarkdownSkeleton,
123
+ b as MarkdownUI,
124
+ V as markdownConfig,
125
+ U as markdownDownloadConfig
126
+ };
127
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sources":["../../src/widgets/markdown/markdown.tsx","../../src/widgets/markdown/style.ts","../../src/widgets/markdown/markdown-ui.tsx","../../src/widgets/markdown/skeleton.tsx","../../src/widgets/markdown/config.ts"],"sourcesContent":["import type { MarkdownUIProps } from './types'\nimport { useWidgetStore } from '../stores/widget-store'\nimport type { MarkdownWidgetData } from './types'\nimport { MarkdownUI } from '.'\nimport { useShallow } from 'zustand/shallow'\n\nexport function Markdown({ id }: MarkdownUIProps) {\n const content = useWidgetStore(\n useShallow(\n (state) =>\n (state.getWidget(id)?.data as MarkdownWidgetData | undefined)?.content,\n ),\n )\n\n if (!content) {\n return null\n }\n\n return <MarkdownUI>{content}</MarkdownUI>\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(2),\n },\n markdown: {\n overflow: 'hidden',\n typography: ({ typography }) => ({\n ...typography.body1,\n }),\n },\n li: {\n display: 'list-item',\n paddingTop: 0,\n paddingBottom: 0,\n },\n ul: {\n listStyleType: 'disc',\n paddingLeft: ({ spacing }) => spacing(2),\n },\n ol: {\n listStyleType: 'decimal',\n paddingLeft: ({ spacing }) => spacing(2),\n },\n}\n","import { Link, List, ListItem, Typography } from '@mui/material'\nimport ReactMarkdown, { type Components } from 'react-markdown'\nimport { styles } from '../markdown/style'\nimport type { MarkdownComponentProps } from './types'\n\nconst COMPONENTS: Components = {\n h1: ({ children }) => (\n <Typography variant='h4' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n h2: ({ children }) => (\n <Typography variant='h5' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n h3: ({ children }) => (\n <Typography variant='h6' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n p: ({ children }) => (\n <Typography paragraph color='inherit'>\n {children}\n </Typography>\n ),\n a: ({ children, href, target = '_blank', rel = 'noopener noreferrer' }) => (\n <Link href={href} target={target} rel={rel}>\n {children}\n </Link>\n ),\n ul: ({ children }) => <List sx={styles.ul}>{children}</List>,\n ol: ({ children }) => (\n <List component='ol' sx={styles.ol}>\n {children}\n </List>\n ),\n li: ({ children }) => <ListItem sx={styles.li}>{children}</ListItem>,\n}\n\nexport function MarkdownUI({ children, overrides }: MarkdownComponentProps) {\n return (\n <ReactMarkdown\n components={{\n ...COMPONENTS,\n ...overrides,\n }}\n >\n {children}\n </ReactMarkdown>\n )\n}\n","import { Box, Skeleton } from '@mui/material'\n\nexport function MarkdownSkeleton() {\n return (\n <Box aria-label='Markdown skeleton'>\n <Skeleton width='80%' height={24} sx={{ mb: 1 }} />\n <Skeleton width='90%' height={20} sx={{ mb: 0.5 }} />\n <Skeleton width='85%' height={20} sx={{ mb: 0.5 }} />\n <Skeleton width='75%' height={20} />\n </Box>\n )\n}\n","import { downloadToCSV, type DownloadItem } from '../actions'\nimport type { MarkdownWidgetConfig, MarkdownWidgetData } from './types'\n\nexport function markdownDownloadConfig(): DownloadItem<MarkdownWidgetData>[] {\n return [\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const content = data?.content ?? ''\n return downloadToCSV.modifier([['Content'], [content]])\n },\n },\n ]\n}\n\nexport function markdownConfig(): MarkdownWidgetConfig {\n return {}\n}\n"],"names":["Markdown","t0","$","_c","id","t1","state","getWidget","data","content","useWidgetStore","useShallow","t2","MarkdownUI","styles","li","display","paddingTop","paddingBottom","ul","listStyleType","paddingLeft","spacing","ol","COMPONENTS","h1","children","Typography","h2","h3","p","jsx","a","href","target","rel","Link","List","ListItem","overrides","ReactMarkdown","MarkdownSkeleton","Symbol","for","Skeleton","mb","jsxs","Box","markdownDownloadConfig","downloadToCSV","modifier","markdownConfig"],"mappings":";;;;;;;;;;;;;;;AAMO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAkB;AAAA,IAAAC,IAAAA;AAAAA,EAAAA,IAAAH;AAAuB,MAAAI;AAAA,EAAAH,SAAAE,KAG1CC,IAAAC,CAAAA,MACGA,EAAKC,UAAWH,CAAQ,GAACI,MAA4CC,SAAAP,OAAAE,GAAAF,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAH5E,QAAAO,IAAgBC,EACdC,EACEN,CAEF,CACF;AAEA,MAAI,CAACI;AAAO,WACH;AACR,MAAAG;AAAA,SAAAV,SAAAO,KAEMG,sBAACC,kBAAoB,GAAaX,OAAAO,GAAAP,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GAAlCU;AAAkC;AChBpC,MAAME,IAAyC;AAAA,EAYpDC,IAAI;AAAA,IACFC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,eAAe;AAAA,EAAA;AAAA,EAEjBC,IAAI;AAAA,IACFC,eAAe;AAAA,IACfC,aAAaA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAAA,EAEzCC,IAAI;AAAA,IACFH,eAAe;AAAA,IACfC,aAAaA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAE3C,GCtBME,IAAyB;AAAA,EAC7BC,IAAIA,CAAC;AAAA,IAAEC,UAAAA;AAAAA,EAAAA,wBACJC,GAAA,EAAW,SAAQ,MAAK,cAAY,IAAC,OAAM,WACzCD,UAAAA,GACH;AAAA,EAEFE,IAAIA,CAAC;AAAA,IAAEF,UAAAA;AAAAA,EAAAA,wBACJC,GAAA,EAAW,SAAQ,MAAK,cAAY,IAAC,OAAM,WACzCD,UAAAA,GACH;AAAA,EAEFG,IAAIA,CAAC;AAAA,IAAEH,UAAAA;AAAAA,EAAAA,wBACJC,GAAA,EAAW,SAAQ,MAAK,cAAY,IAAC,OAAM,WACzCD,UAAAA,GACH;AAAA,EAEFI,GAAGA,CAAC;AAAA,IAAEJ,UAAAA;AAAAA,EAAAA,MACJ,gBAAAK,EAACJ,GAAA,EAAW,WAAS,IAAC,OAAM,WACzBD,UAAAA,GACH;AAAA,EAEFM,GAAGA,CAAC;AAAA,IAAEN,UAAAA;AAAAA,IAAUO,MAAAA;AAAAA,IAAMC,QAAAA,IAAS;AAAA,IAAUC,KAAAA,IAAM;AAAA,EAAA,MAC7C,gBAAAJ,EAACK,GAAA,EAAK,MAAAH,GAAY,QAAAC,GAAgB,KAAAC,GAC/BT,UAAAA,GACH;AAAA,EAEFP,IAAIA,CAAC;AAAA,IAAEO,UAAAA;AAAAA,EAAAA,MAAe,gBAAAK,EAACM,GAAA,EAAK,IAAIvB,EAAOK,IAAKO,UAAAA,GAAS;AAAA,EACrDH,IAAIA,CAAC;AAAA,IAAEG,UAAAA;AAAAA,EAAAA,wBACJW,GAAA,EAAK,WAAU,MAAK,IAAIvB,EAAOS,IAC7BG,UAAAA,GACH;AAAA,EAEFX,IAAIA,CAAC;AAAA,IAAEW,UAAAA;AAAAA,EAAAA,MAAe,gBAAAK,EAACO,GAAA,EAAS,IAAIxB,EAAOC,IAAKW,UAAAA,EAAAA,CAAS;AAC3D;AAEO,SAAAb,EAAAZ,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAoB;AAAA,IAAAuB,UAAAA;AAAAA,IAAAa,WAAAA;AAAAA,EAAAA,IAAAtC;AAA+C,MAAAI;AAAA,EAAAH,SAAAqC,KAGxDlC,IAAA;AAAA,IAAA,GACPmB;AAAAA,IAAU,GACVe;AAAAA,EAAAA,GACJrC,OAAAqC,GAAArC,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAU;AAAA,SAAAV,EAAA,CAAA,MAAAwB,KAAAxB,SAAAG,KAJHO,IAAA,gBAAAmB,EAACS,GAAA,EACa,YAAAnC,GAKXqB,UAAAA,GACH,GAAgBxB,OAAAwB,GAAAxB,OAAAG,GAAAH,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GAPhBU;AAOgB;AC/Cb,SAAA6B,IAAA;AAAA,QAAAvC,IAAAC,EAAA,CAAA;AAAA,MAAAF;AAAA,EAAAC,EAAA,CAAA,MAAAwC,uBAAAC,IAAA,2BAAA,KAGD1C,sBAAC2C,GAAA,EAAe,OAAA,OAAc,QAAA,IAAQ,IAAA;AAAA,IAAAC,IAAM;AAAA,EAAA,GAAG,GAAI3C,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAAA,MAAAG;AAAA,EAAAH,EAAA,CAAA,MAAAwC,uBAAAC,IAAA,2BAAA,KACnDtC,sBAACuC,GAAA,EAAe,OAAA,OAAc,QAAA,IAAQ,IAAA;AAAA,IAAAC,IAAM;AAAA,EAAA,GAAK,GAAI3C,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAU;AAAA,SAAAV,EAAA,CAAA,MAAAwC,uBAAAC,IAAA,2BAAA,KAFvD/B,IAAA,gBAAAkC,EAACC,GAAA,EAAe,cAAA,qBACd9C,UAAAA;AAAAA,IAAAA;AAAAA,IACAI;AAAAA,sBACCuC,GAAA,EAAe,OAAA,OAAc,QAAA,IAAQ,IAAA;AAAA,MAAAC,IAAM;AAAA,IAAA,GAAK;AAAA,IACjD,gBAAAd,EAACa,GAAA,EAAe,OAAA,OAAc,QAAA,GAAA,CAAE;AAAA,EAAA,GAClC,GAAM1C,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GALNU;AAKM;ACNH,SAASoC,IAA6D;AAC3E,SAAO,CACL;AAAA,IACE,GAAGC;AAAAA,IACHC,UAAU,OAAO1C,MAAS;AACxB,YAAMC,IAAUD,GAAMC,WAAW;AACjC,aAAOwC,EAAcC,SAAS,CAAC,CAAC,SAAS,GAAG,CAACzC,CAAO,CAAC,CAAC;AAAA,IACxD;AAAA,EAAA,CACD;AAEL;AAEO,SAAS0C,IAAuC;AACrD,SAAO,CAAA;AACT;"}
@@ -0,0 +1,5 @@
1
+ import { W as t } from "../no-data-C54XJt13.js";
2
+ export {
3
+ t as WidgetNoData
4
+ };
5
+ //# sourceMappingURL=no-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-data.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ import { W as t } from "../note-t51drNe0.js";
2
+ export {
3
+ t as WidgetNote
4
+ };
5
+ //# sourceMappingURL=note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}