@carto/ps-react-ui 4.2.7 → 4.3.0-widgets.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 (209) hide show
  1. package/dist/cjs-D9ro6BXv.js +85 -0
  2. package/dist/cjs-D9ro6BXv.js.map +1 -0
  3. package/dist/components.js +758 -1398
  4. package/dist/components.js.map +1 -1
  5. package/dist/const-BLV7Tvte.js +758 -0
  6. package/dist/const-BLV7Tvte.js.map +1 -0
  7. package/dist/download-KroQ0SWg.js +195 -0
  8. package/dist/download-KroQ0SWg.js.map +1 -0
  9. package/dist/echart-CqfROFu3.js +214 -0
  10. package/dist/echart-CqfROFu3.js.map +1 -0
  11. package/dist/formula-ui-ChzvMEOG.js +52 -0
  12. package/dist/formula-ui-ChzvMEOG.js.map +1 -0
  13. package/dist/lasso-tool-BC-rsMMW.js +552 -0
  14. package/dist/lasso-tool-BC-rsMMW.js.map +1 -0
  15. package/dist/markdown-n_tOtoiT.js +27 -0
  16. package/dist/markdown-n_tOtoiT.js.map +1 -0
  17. package/dist/markdown-ui-BBrzzd7Y.js +62 -0
  18. package/dist/markdown-ui-BBrzzd7Y.js.map +1 -0
  19. package/dist/note-DF-n70TX.js +101 -0
  20. package/dist/note-DF-n70TX.js.map +1 -0
  21. package/dist/range-ui-CtUX11Xm.js +146 -0
  22. package/dist/range-ui-CtUX11Xm.js.map +1 -0
  23. package/dist/root-L_WZnJY5.js +46 -0
  24. package/dist/root-L_WZnJY5.js.map +1 -0
  25. package/dist/row-DQaSxmDV.js +18 -0
  26. package/dist/row-DQaSxmDV.js.map +1 -0
  27. package/dist/series-CsyEPq-X.js +83 -0
  28. package/dist/series-CsyEPq-X.js.map +1 -0
  29. package/dist/skeleton-BSPcEvfq.js +27 -0
  30. package/dist/skeleton-BSPcEvfq.js.map +1 -0
  31. package/dist/skeleton-C4rOYTy-.js +78 -0
  32. package/dist/skeleton-C4rOYTy-.js.map +1 -0
  33. package/dist/skeleton-C9Jqc241.js +82 -0
  34. package/dist/skeleton-C9Jqc241.js.map +1 -0
  35. package/dist/skeleton-D-zHBBIw.js +64 -0
  36. package/dist/skeleton-D-zHBBIw.js.map +1 -0
  37. package/dist/skeleton-DMP-IwaJ.js +109 -0
  38. package/dist/skeleton-DMP-IwaJ.js.map +1 -0
  39. package/dist/skeleton-DRorqowB.js +22 -0
  40. package/dist/skeleton-DRorqowB.js.map +1 -0
  41. package/dist/skeleton-DsZhv-AH.js +89 -0
  42. package/dist/skeleton-DsZhv-AH.js.map +1 -0
  43. package/dist/skeleton-Dx3FCer0.js +13 -0
  44. package/dist/skeleton-Dx3FCer0.js.map +1 -0
  45. package/dist/skeleton-QVDdb1c2.js +21 -0
  46. package/dist/skeleton-QVDdb1c2.js.map +1 -0
  47. package/dist/skeleton-loader-DWC1-EAx.js +23 -0
  48. package/dist/skeleton-loader-DWC1-EAx.js.map +1 -0
  49. package/dist/smart-tooltip-BSlcAkBM.js +39 -0
  50. package/dist/smart-tooltip-BSlcAkBM.js.map +1 -0
  51. package/dist/spread-ui-BjzH190y.js +82 -0
  52. package/dist/spread-ui-BjzH190y.js.map +1 -0
  53. package/dist/style-BGeCtQkP.js +19 -0
  54. package/dist/style-BGeCtQkP.js.map +1 -0
  55. package/dist/style-C7v1iwqD.js +34 -0
  56. package/dist/style-C7v1iwqD.js.map +1 -0
  57. package/dist/styles-cohnxh9F.js +23 -0
  58. package/dist/styles-cohnxh9F.js.map +1 -0
  59. package/dist/types/widgets/_shared/chart-config/config-factory.d.ts +44 -0
  60. package/dist/types/widgets/_shared/chart-config/csv-modifiers.d.ts +19 -0
  61. package/dist/types/widgets/_shared/chart-config/index.d.ts +7 -0
  62. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +39 -0
  63. package/dist/types/widgets/_shared/skeleton/index.d.ts +4 -0
  64. package/dist/types/widgets/_shared/skeleton/styles.d.ts +19 -0
  65. package/dist/types/widgets/actions/download/download.d.ts +2 -0
  66. package/dist/types/widgets/actions/download/exports.d.ts +6 -0
  67. package/dist/types/widgets/actions/download/types.d.ts +29 -0
  68. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +2 -0
  69. package/dist/types/widgets/actions/fullscreen/styles.d.ts +10 -0
  70. package/dist/types/widgets/actions/fullscreen/types.d.ts +21 -0
  71. package/dist/types/widgets/actions/index.d.ts +5 -0
  72. package/dist/types/widgets/bar/config.d.ts +4 -0
  73. package/dist/types/widgets/bar/index.d.ts +3 -0
  74. package/dist/types/widgets/bar/skeleton.d.ts +1 -0
  75. package/dist/types/widgets/bar/style.d.ts +37 -0
  76. package/dist/types/widgets/bar/types.d.ts +15 -0
  77. package/dist/types/widgets/config-loader/index.d.ts +2 -0
  78. package/dist/types/widgets/config-loader/types.d.ts +12 -0
  79. package/dist/types/widgets/config-loader/use-config.d.ts +5 -0
  80. package/dist/types/widgets/echart/const.d.ts +1 -0
  81. package/dist/types/widgets/echart/echart-ui.d.ts +2 -0
  82. package/dist/types/widgets/echart/echart.d.ts +2 -0
  83. package/dist/types/widgets/echart/index.d.ts +5 -0
  84. package/dist/types/widgets/echart/options.d.ts +3 -0
  85. package/dist/types/widgets/echart/types.d.ts +31 -0
  86. package/dist/types/widgets/echart/utils.d.ts +74 -0
  87. package/dist/types/widgets/formula/components/item.d.ts +2 -0
  88. package/dist/types/widgets/formula/components/prefix.d.ts +2 -0
  89. package/dist/types/widgets/formula/components/row.d.ts +2 -0
  90. package/dist/types/widgets/formula/components/series.d.ts +2 -0
  91. package/dist/types/widgets/formula/components/suffix.d.ts +2 -0
  92. package/dist/types/widgets/formula/components/value.d.ts +2 -0
  93. package/dist/types/widgets/formula/config.d.ts +2 -0
  94. package/dist/types/widgets/formula/formula-ui.d.ts +2 -0
  95. package/dist/types/widgets/formula/index.d.ts +10 -0
  96. package/dist/types/widgets/formula/serializer.d.ts +16 -0
  97. package/dist/types/widgets/formula/skeleton.d.ts +1 -0
  98. package/dist/types/widgets/formula/style.d.ts +21 -0
  99. package/dist/types/widgets/formula/types.d.ts +54 -0
  100. package/dist/types/widgets/histogram/config.d.ts +4 -0
  101. package/dist/types/widgets/histogram/index.d.ts +3 -0
  102. package/dist/types/widgets/histogram/skeleton.d.ts +1 -0
  103. package/dist/types/widgets/histogram/style.d.ts +15 -0
  104. package/dist/types/widgets/histogram/types.d.ts +15 -0
  105. package/dist/types/widgets/index.d.ts +4 -1
  106. package/dist/types/widgets/markdown/config.d.ts +2 -0
  107. package/dist/types/widgets/markdown/index.d.ts +5 -0
  108. package/dist/types/widgets/markdown/markdown-ui.d.ts +2 -0
  109. package/dist/types/widgets/markdown/markdown.d.ts +2 -0
  110. package/dist/types/widgets/markdown/skeleton.d.ts +1 -0
  111. package/dist/types/widgets/markdown/style.d.ts +2 -0
  112. package/dist/types/widgets/markdown/types.d.ts +28 -0
  113. package/dist/types/widgets/note/index.d.ts +2 -0
  114. package/dist/types/widgets/note/note.d.ts +2 -0
  115. package/dist/types/widgets/note/style.d.ts +17 -0
  116. package/dist/types/widgets/note/types.d.ts +7 -0
  117. package/dist/types/widgets/pie/config.d.ts +4 -0
  118. package/dist/types/widgets/pie/index.d.ts +3 -0
  119. package/dist/types/widgets/pie/skeleton.d.ts +1 -0
  120. package/dist/types/widgets/pie/style.d.ts +15 -0
  121. package/dist/types/widgets/pie/types.d.ts +15 -0
  122. package/dist/types/widgets/range/components/range-item.d.ts +2 -0
  123. package/dist/types/widgets/range/config.d.ts +2 -0
  124. package/dist/types/widgets/range/index.d.ts +5 -0
  125. package/dist/types/widgets/range/range-ui.d.ts +2 -0
  126. package/dist/types/widgets/range/serializer.d.ts +16 -0
  127. package/dist/types/widgets/range/serializer.test.d.ts +1 -0
  128. package/dist/types/widgets/range/skeleton.d.ts +1 -0
  129. package/dist/types/widgets/range/style.d.ts +2 -0
  130. package/dist/types/widgets/range/types.d.ts +44 -0
  131. package/dist/types/widgets/root/index.d.ts +2 -0
  132. package/dist/types/widgets/root/root.d.ts +2 -0
  133. package/dist/types/widgets/root/style.d.ts +8 -0
  134. package/dist/types/widgets/root/types.d.ts +15 -0
  135. package/dist/types/widgets/scatterplot/config.d.ts +4 -0
  136. package/dist/types/widgets/scatterplot/index.d.ts +3 -0
  137. package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -0
  138. package/dist/types/widgets/scatterplot/style.d.ts +24 -0
  139. package/dist/types/widgets/scatterplot/types.d.ts +15 -0
  140. package/dist/types/widgets/skeleton-loader/index.d.ts +2 -0
  141. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +2 -0
  142. package/dist/types/widgets/skeleton-loader/types.d.ts +7 -0
  143. package/dist/types/widgets/spread/components/max-value.d.ts +2 -0
  144. package/dist/types/widgets/spread/components/min-value.d.ts +2 -0
  145. package/dist/types/widgets/spread/components/separator.d.ts +2 -0
  146. package/dist/types/widgets/spread/config.d.ts +2 -0
  147. package/dist/types/widgets/spread/index.d.ts +8 -0
  148. package/dist/types/widgets/spread/skeleton.d.ts +1 -0
  149. package/dist/types/widgets/spread/spread-ui.d.ts +2 -0
  150. package/dist/types/widgets/spread/style.d.ts +21 -0
  151. package/dist/types/widgets/spread/types.d.ts +52 -0
  152. package/dist/types/widgets/stores/types.d.ts +69 -0
  153. package/dist/types/widgets/stores/widget-store.d.ts +64 -0
  154. package/dist/types/widgets/stores/widget-store.test.d.ts +1 -0
  155. package/dist/types/widgets/timeseries/config.d.ts +4 -0
  156. package/dist/types/widgets/timeseries/index.d.ts +3 -0
  157. package/dist/types/widgets/timeseries/skeleton.d.ts +1 -0
  158. package/dist/types/widgets/timeseries/style.d.ts +38 -0
  159. package/dist/types/widgets/timeseries/types.d.ts +15 -0
  160. package/dist/types/widgets/widget/const.d.ts +2 -0
  161. package/dist/types/widgets/widget/types.d.ts +47 -0
  162. package/dist/types/widgets/widget/widget.d.ts +2 -0
  163. package/dist/types/widgets/wrapper/components/actions.d.ts +2 -0
  164. package/dist/types/widgets/wrapper/components/options.d.ts +2 -0
  165. package/dist/types/widgets/wrapper/components/title.d.ts +6 -0
  166. package/dist/types/widgets/wrapper/index.d.ts +6 -0
  167. package/dist/types/widgets/wrapper/styles.d.ts +83 -0
  168. package/dist/types/widgets/wrapper/types.d.ts +35 -0
  169. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +2 -0
  170. package/dist/types/widgets/wrapper/wrapper.d.ts +2 -0
  171. package/dist/use-config-BYEOiIcu.js +43 -0
  172. package/dist/use-config-BYEOiIcu.js.map +1 -0
  173. package/dist/widget-store-yDO2ul8g.js +44 -0
  174. package/dist/widget-store-yDO2ul8g.js.map +1 -0
  175. package/dist/widgets/actions.js +9 -0
  176. package/dist/widgets/actions.js.map +1 -0
  177. package/dist/widgets/bar.js +7 -0
  178. package/dist/widgets/bar.js.map +1 -0
  179. package/dist/widgets/config-loader.js +5 -0
  180. package/dist/widgets/config-loader.js.map +1 -0
  181. package/dist/widgets/echart.js +11 -0
  182. package/dist/widgets/echart.js.map +1 -0
  183. package/dist/widgets/formula.js +27 -0
  184. package/dist/widgets/formula.js.map +1 -0
  185. package/dist/widgets/histogram.js +7 -0
  186. package/dist/widgets/histogram.js.map +1 -0
  187. package/dist/widgets/note.js +5 -0
  188. package/dist/widgets/note.js.map +1 -0
  189. package/dist/widgets/pie.js +7 -0
  190. package/dist/widgets/pie.js.map +1 -0
  191. package/dist/widgets/range.js +19 -0
  192. package/dist/widgets/range.js.map +1 -0
  193. package/dist/widgets/root.js +5 -0
  194. package/dist/widgets/root.js.map +1 -0
  195. package/dist/widgets/scatterplot.js +7 -0
  196. package/dist/widgets/scatterplot.js.map +1 -0
  197. package/dist/widgets/skeleton-loader.js +5 -0
  198. package/dist/widgets/skeleton-loader.js.map +1 -0
  199. package/dist/widgets/spread.js +21 -0
  200. package/dist/widgets/spread.js.map +1 -0
  201. package/dist/widgets/timeseries.js +7 -0
  202. package/dist/widgets/timeseries.js.map +1 -0
  203. package/dist/widgets/wrapper.js +9 -0
  204. package/dist/widgets/wrapper.js.map +1 -0
  205. package/dist/widgets.js +85 -1
  206. package/dist/widgets.js.map +1 -1
  207. package/dist/wrapper-57csMybC.js +265 -0
  208. package/dist/wrapper-57csMybC.js.map +1 -0
  209. package/package.json +73 -3
@@ -0,0 +1,44 @@
1
+ import { c as d } from "react/compiler-runtime";
2
+ import { create as g } from "zustand";
3
+ import { devtools as n } from "zustand/middleware";
4
+ const c = g()(n((t, r) => ({
5
+ // State
6
+ widgets: {},
7
+ // Actions
8
+ setWidget: (e, i) => t((s) => {
9
+ const o = s.widgets[e] ?? {};
10
+ return {
11
+ widgets: {
12
+ ...s.widgets,
13
+ [e]: {
14
+ ...o,
15
+ ...i,
16
+ id: e
17
+ }
18
+ }
19
+ };
20
+ }, void 0, "setWidget"),
21
+ removeWidget: (e) => t((i) => {
22
+ const s = {
23
+ ...i.widgets
24
+ };
25
+ return delete s[e], {
26
+ widgets: s
27
+ };
28
+ }, void 0, "removeWidget"),
29
+ clearWidgets: () => t({
30
+ widgets: {}
31
+ }, void 0, "clearWidgets"),
32
+ getWidget: (e) => r().widgets[e]
33
+ }), {
34
+ name: "widget-store"
35
+ })), u = (t) => {
36
+ const r = d(2);
37
+ let e;
38
+ return r[0] !== t ? (e = (i) => i.widgets[t], r[0] = t, r[1] = e) : e = r[1], c(e);
39
+ };
40
+ export {
41
+ u as a,
42
+ c as u
43
+ };
44
+ //# sourceMappingURL=widget-store-yDO2ul8g.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-store-yDO2ul8g.js","sources":["../src/widgets/stores/widget-store.ts"],"sourcesContent":["import { create } from 'zustand'\nimport { devtools } from 'zustand/middleware'\nimport type { WidgetState, WidgetStore } from './types'\n\n/**\n * Zustand store for managing widget state across the application.\n *\n * This store provides centralized state management for all widget UI components\n *\n * @example\n * ```tsx\n * // Import the store\n * import { useWidgetStore } from '@carto/ps-react-ui/widgets'\n *\n * // Use in a component\n * function MyWidget() {\n * const setWidget = useWidgetStore((state) => state.setWidget)\n * const widget = useWidgetStore((state) => state.widgets['my-widget'])\n *\n * useEffect(() => {\n * setWidget({\n * id: 'my-widget',\n * type: 'formula',\n * title: 'Total Sales',\n * isLoading: false,\n * visible: true,\n * data: { value: 1000, prefix: '$' }\n * })\n * }, [setWidget])\n *\n * return <div>{widget?.data?.value}</div>\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Get widgets by type\n * const getWidgetsByType = useWidgetStore((state) => state.getWidgetsByType)\n * const formulaWidgets = getWidgetsByType('formula')\n * ```\n */\nexport const useWidgetStore = create<WidgetStore>()(\n devtools(\n (set, get) => ({\n // State\n widgets: {},\n\n // Actions\n setWidget: (id, widget) =>\n set(\n (state) => {\n const current =\n state.widgets[id] ?? ({} as WidgetStore['widgets'][string])\n\n return {\n widgets: {\n ...state.widgets,\n [id]: {\n ...current,\n ...widget,\n id,\n },\n },\n }\n },\n undefined,\n 'setWidget',\n ),\n\n removeWidget: (id) =>\n set(\n (state) => {\n const widgets = { ...state.widgets }\n\n delete widgets[id]\n\n return { widgets }\n },\n undefined,\n 'removeWidget',\n ),\n\n clearWidgets: () =>\n set(\n {\n widgets: {},\n },\n undefined,\n 'clearWidgets',\n ),\n\n getWidget: <T extends WidgetState>(id: string) => {\n return get().widgets[id] as T | undefined\n },\n }),\n {\n name: 'widget-store',\n },\n ),\n)\n\n/** Hook to get a specific widget by ID\n * @param id - Widget ID\n * @returns Widget state or undefined if not found\n * @example\n * ```tsx\n * const widget = useWidget('widget-1')\n * ```\n */\nexport const useWidget = <T extends WidgetState>(id: string) => {\n return useWidgetStore((state) => state.widgets[id] as T | undefined)\n}\n"],"names":["useWidgetStore","create","devtools","set","get","widgets","setWidget","id","widget","state","current","undefined","removeWidget","clearWidgets","getWidget","name","useWidget","$","_c","t0"],"mappings":";;;AAyCO,MAAMA,IAAiBC,EAAAA,EAC5BC,EACE,CAACC,GAAKC,OAAS;AAAA;AAAA,EAEbC,SAAS,CAAA;AAAA;AAAA,EAGTC,WAAWA,CAACC,GAAIC,MACdL,EACGM,CAAAA,MAAU;AACT,UAAMC,IACJD,EAAMJ,QAAQE,CAAE,KAAM,CAAA;AAExB,WAAO;AAAA,MACLF,SAAS;AAAA,QACP,GAAGI,EAAMJ;AAAAA,QACT,CAACE,CAAE,GAAG;AAAA,UACJ,GAAGG;AAAAA,UACH,GAAGF;AAAAA,UACHD,IAAAA;AAAAA,QAAAA;AAAAA,MACF;AAAA,IACF;AAAA,EAEJ,GACAI,QACA,WACF;AAAA,EAEFC,cAAeL,CAAAA,MACbJ,EACGM,CAAAA,MAAU;AACT,UAAMJ,IAAU;AAAA,MAAE,GAAGI,EAAMJ;AAAAA,IAAAA;AAE3B,kBAAOA,EAAQE,CAAE,GAEV;AAAA,MAAEF,SAAAA;AAAAA,IAAAA;AAAAA,EACX,GACAM,QACA,cACF;AAAA,EAEFE,cAAcA,MACZV,EACE;AAAA,IACEE,SAAS,CAAA;AAAA,EAAC,GAEZM,QACA,cACF;AAAA,EAEFG,WAAW,CAAwBP,MAC1BH,EAAAA,EAAMC,QAAQE,CAAE;AAE3B,IACA;AAAA,EACEQ,MAAM;AACR,CACF,CACF,GAUaC,IAAYT,CAAAA,MAAA;AAAA,QAAAU,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,SAAAF,SAAAV,KACDY,IAAAV,CAAAA,MAAWA,EAAKJ,QAASE,CAAE,GAAkBU,OAAAV,GAAAU,OAAAE,KAAAA,IAAAF,EAAA,CAAA,GAA5DjB,EAAemB,CAA6C;AAAC;"}
@@ -0,0 +1,9 @@
1
+ import { D as d, F as l } from "../download-KroQ0SWg.js";
2
+ import { d as e, a as n } from "../const-BLV7Tvte.js";
3
+ export {
4
+ d as Download,
5
+ l as FullScreen,
6
+ e as downloadToCSV,
7
+ n as downloadToPNG
8
+ };
9
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,7 @@
1
+ import { b as e } from "../const-BLV7Tvte.js";
2
+ import { BarSkeleton as f } from "../skeleton-C9Jqc241.js";
3
+ export {
4
+ f as BarSkeleton,
5
+ e as barConfig
6
+ };
7
+ //# sourceMappingURL=bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,5 @@
1
+ import { u as f } from "../use-config-BYEOiIcu.js";
2
+ export {
3
+ f as useConfig
4
+ };
5
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,11 @@
1
+ import { E as g, a as o, g as r, b as s, c as e, d as C, m as h } from "../echart-CqfROFu3.js";
2
+ export {
3
+ g as Echart,
4
+ o as EchartUI,
5
+ r as getCommonOptions,
6
+ s as getEChartBrushConfig,
7
+ e as getEChartStackConfig,
8
+ C as getEChartZoomConfig,
9
+ h as mergeWidgetConfig
10
+ };
11
+ //# sourceMappingURL=echart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echart.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,27 @@
1
+ import { I as t, P as s, a as i, S as x } from "../series-CsyEPq-X.js";
2
+ import { F as p, V as u } from "../formula-ui-ChzvMEOG.js";
3
+ import { R as I } from "../row-DQaSxmDV.js";
4
+ import { FormulaSkeleton as S } from "../skeleton-Dx3FCer0.js";
5
+ function f(r) {
6
+ return {
7
+ ...r,
8
+ prefix: typeof r.prefix == "string" ? r.prefix : void 0,
9
+ suffix: typeof r.suffix == "string" ? r.suffix : void 0
10
+ };
11
+ }
12
+ function e(r) {
13
+ return r?.map(f);
14
+ }
15
+ export {
16
+ S as FormulaSkeleton,
17
+ p as FormulaUI,
18
+ t as Item,
19
+ s as Prefix,
20
+ I as Row,
21
+ i as Series,
22
+ x as Suffix,
23
+ u as Value,
24
+ f as sanitizeDataItem,
25
+ e as sanitizeDataItems
26
+ };
27
+ //# sourceMappingURL=formula.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula.js","sources":["../../src/widgets/formula/serializer.ts"],"sourcesContent":["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":["sanitizeDataItem","item","prefix","undefined","suffix","sanitizeDataItems","items","map"],"mappings":";;;;AASO,SAASA,EAAiBC,GAA0B;AACzD,SAAO;AAAA,IACL,GAAGA;AAAAA,IACHC,QAAQ,OAAOD,EAAKC,UAAW,WAAWD,EAAKC,SAASC;AAAAA,IACxDC,QAAQ,OAAOH,EAAKG,UAAW,WAAWH,EAAKG,SAASD;AAAAA,EAAAA;AAE5D;AAQO,SAASE,EACdC,GACwB;AACxB,SAAOA,GAAOC,IAAIP,CAAgB;AACpC;"}
@@ -0,0 +1,7 @@
1
+ import { h as t } from "../const-BLV7Tvte.js";
2
+ import { HistogramSkeleton as m } from "../skeleton-D-zHBBIw.js";
3
+ export {
4
+ m as HistogramSkeleton,
5
+ t as histogramConfig
6
+ };
7
+ //# sourceMappingURL=histogram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"histogram.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,5 @@
1
+ import { N as r } from "../note-DF-n70TX.js";
2
+ export {
3
+ r as Note
4
+ };
5
+ //# sourceMappingURL=note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,7 @@
1
+ import { p } from "../const-BLV7Tvte.js";
2
+ import { PieSkeleton as f } from "../skeleton-DsZhv-AH.js";
3
+ export {
4
+ f as PieSkeleton,
5
+ p as pieConfig
6
+ };
7
+ //# sourceMappingURL=pie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pie.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,19 @@
1
+ import { a as r, R as g } from "../range-ui-CtUX11Xm.js";
2
+ import { RangeSkeleton as s } from "../skeleton-QVDdb1c2.js";
3
+ function n(e) {
4
+ return {
5
+ ...e,
6
+ note: typeof e.note == "string" ? e.note : void 0
7
+ };
8
+ }
9
+ function t(e) {
10
+ return e?.map(n);
11
+ }
12
+ export {
13
+ r as RangeItem,
14
+ s as RangeSkeleton,
15
+ g as RangeUI,
16
+ n as sanitizeRangeDataItem,
17
+ t as sanitizeRangeDataItems
18
+ };
19
+ //# sourceMappingURL=range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.js","sources":["../../src/widgets/range/serializer.ts"],"sourcesContent":["import type { RangeDataItem } from './types'\n\n/**\n * Sanitizes RangeDataItem by converting ReactNode note values to undefined.\n * This ensures only string values are stored in the widget state.\n *\n * @param item - The RangeDataItem to sanitize\n * @returns A new RangeDataItem with ReactNode note values converted to undefined\n */\nexport function sanitizeRangeDataItem(item: RangeDataItem): RangeDataItem {\n return {\n ...item,\n note: typeof item.note === 'string' ? item.note : undefined,\n }\n}\n\n/**\n * Sanitizes an array of RangeDataItems by converting ReactNode note values to undefined.\n *\n * @param items - Array of RangeDataItems to sanitize\n * @returns A new array with sanitized RangeDataItems\n */\nexport function sanitizeRangeDataItems(\n items: RangeDataItem[] | undefined,\n): RangeDataItem[] | undefined {\n return items?.map(sanitizeRangeDataItem)\n}\n"],"names":["sanitizeRangeDataItem","item","note","undefined","sanitizeRangeDataItems","items","map"],"mappings":";;AASO,SAASA,EAAsBC,GAAoC;AACxE,SAAO;AAAA,IACL,GAAGA;AAAAA,IACHC,MAAM,OAAOD,EAAKC,QAAS,WAAWD,EAAKC,OAAOC;AAAAA,EAAAA;AAEtD;AAQO,SAASC,EACdC,GAC6B;AAC7B,SAAOA,GAAOC,IAAIN,CAAqB;AACzC;"}
@@ -0,0 +1,5 @@
1
+ import { R as t } from "../root-L_WZnJY5.js";
2
+ export {
3
+ t as Root
4
+ };
5
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,7 @@
1
+ import { s as e } from "../const-BLV7Tvte.js";
2
+ import { ScatterplotSkeleton as p } from "../skeleton-DMP-IwaJ.js";
3
+ export {
4
+ p as ScatterplotSkeleton,
5
+ e as scatterplotConfig
6
+ };
7
+ //# sourceMappingURL=scatterplot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scatterplot.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,5 @@
1
+ import { S as r } from "../skeleton-loader-DWC1-EAx.js";
2
+ export {
3
+ r as SkeletonLoader
4
+ };
5
+ //# sourceMappingURL=skeleton-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-loader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,21 @@
1
+ import { a as s, M as m, b as i, S } from "../spread-ui-BjzH190y.js";
2
+ import { SpreadSkeleton as x } from "../skeleton-DRorqowB.js";
3
+ import { I as u, P as I, a as M, S as d } from "../series-CsyEPq-X.js";
4
+ import "react/jsx-runtime";
5
+ import "react/compiler-runtime";
6
+ import "../widget-store-yDO2ul8g.js";
7
+ import { R as P } from "../row-DQaSxmDV.js";
8
+ import "@mui/material";
9
+ export {
10
+ u as Item,
11
+ s as MaxValue,
12
+ m as MinValue,
13
+ I as Prefix,
14
+ P as Row,
15
+ i as Separator,
16
+ M as Series,
17
+ x as SpreadSkeleton,
18
+ S as SpreadUI,
19
+ d as Suffix
20
+ };
21
+ //# sourceMappingURL=spread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spread.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import { t as r } from "../const-BLV7Tvte.js";
2
+ import { TimeseriesSkeleton as s } from "../skeleton-C4rOYTy-.js";
3
+ export {
4
+ s as TimeseriesSkeleton,
5
+ r as timeseriesConfig
6
+ };
7
+ //# sourceMappingURL=timeseries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeseries.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,9 @@
1
+ import { A as p, O as r, T as e, a as t, W as i } from "../wrapper-57csMybC.js";
2
+ export {
3
+ p as Actions,
4
+ r as Options,
5
+ e as Title,
6
+ t as WrapperUI,
7
+ i as WrapperWidget
8
+ };
9
+ //# sourceMappingURL=wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/widgets.js CHANGED
@@ -1,2 +1,86 @@
1
-
1
+ import { u as B } from "./widget-store-yDO2ul8g.js";
2
+ import { a as he } from "./widget-store-yDO2ul8g.js";
3
+ import { jsx as l, jsxs as M } from "react/jsx-runtime";
4
+ import { c as O } from "react/compiler-runtime";
5
+ import { useRef as T, useEffect as E } from "react";
6
+ import { Box as U } from "@mui/material";
7
+ import "@mui/icons-material";
8
+ import "./lasso-tool-BC-rsMMW.js";
9
+ import "./cjs-D9ro6BXv.js";
10
+ import { W as $ } from "./wrapper-57csMybC.js";
11
+ import { D as q, F as v } from "./download-KroQ0SWg.js";
12
+ import "html2canvas";
13
+ import { N as z } from "./note-DF-n70TX.js";
14
+ import { S as H } from "./skeleton-loader-DWC1-EAx.js";
15
+ import { u as J } from "./use-config-BYEOiIcu.js";
16
+ import { R as K } from "./root-L_WZnJY5.js";
17
+ import { W as Q } from "./const-BLV7Tvte.js";
18
+ function ge(t) {
19
+ const e = O(62), j = T(null), h = B(V), i = t.id, G = Q[t.type], {
20
+ component: P,
21
+ skeleton: w,
22
+ defaultConfig: k
23
+ } = G;
24
+ let n;
25
+ e[0] !== P || e[1] !== i || e[2] !== t.children ? (n = t.children ?? /* @__PURE__ */ l(P, { id: i }), e[0] = P, e[1] = i, e[2] = t.children, e[3] = n) : n = e[3];
26
+ let C;
27
+ e[4] !== n ? (C = /* @__PURE__ */ l(U, { ref: j, children: n }), e[4] = n, e[5] = C) : C = e[5];
28
+ const o = C, A = t.config;
29
+ let W;
30
+ e[6] !== k || e[7] !== i || e[8] !== A ? (W = {
31
+ id: i,
32
+ defaultConfig: k,
33
+ config: A
34
+ }, e[6] = k, e[7] = i, e[8] = A, e[9] = W) : W = e[9];
35
+ const {
36
+ config: a,
37
+ run: c
38
+ } = J(W);
39
+ let b;
40
+ e[10] !== a || e[11] !== c ? (b = () => {
41
+ c(a);
42
+ }, e[10] = a, e[11] = c, e[12] = b) : b = e[12];
43
+ let x;
44
+ e[13] !== a || e[14] !== i || e[15] !== c ? (x = [i, a, c], e[13] = a, e[14] = i, e[15] = c, e[16] = x) : x = e[16], E(b, x);
45
+ let F, S;
46
+ e[17] !== i || e[18] !== h ? (F = () => {
47
+ h(i, {
48
+ refUI: j
49
+ });
50
+ }, S = [i, h], e[17] = i, e[18] = h, e[19] = F, e[20] = S) : (F = e[19], S = e[20]), E(F, S);
51
+ let s;
52
+ e[21] !== t.actions ? (s = t.actions ?? [], e[21] = t.actions, e[22] = s) : s = e[22];
53
+ const D = t.ActionsProps?.download;
54
+ let f;
55
+ e[23] !== i || e[24] !== D ? (f = /* @__PURE__ */ l(q, { id: i, ...D }, "download"), e[23] = i, e[24] = D, e[25] = f) : f = e[25];
56
+ let d;
57
+ e[26] !== t.title ? (d = {
58
+ title: t.title
59
+ }, e[26] = t.title, e[27] = d) : d = e[27];
60
+ const I = t.ActionsProps?.fullScreen;
61
+ let m;
62
+ e[28] !== o || e[29] !== i || e[30] !== d || e[31] !== I ? (m = /* @__PURE__ */ l(v, { id: i, labels: d, ...I, children: o }, "fullscreen"), e[28] = o, e[29] = i, e[30] = d, e[31] = I, e[32] = m) : m = e[32];
63
+ let y;
64
+ e[33] !== f || e[34] !== m || e[35] !== s ? (y = [...s, f, m], e[33] = f, e[34] = m, e[35] = s, e[36] = y) : y = e[36];
65
+ const N = y, R = t.WrapperProps?.labels, _ = t.WrapperProps?.sx;
66
+ let g;
67
+ e[37] !== w || e[38] !== o || e[39] !== i ? (g = /* @__PURE__ */ l(H, { id: i, Skeleton: w, children: o }), e[37] = w, e[38] = o, e[39] = i, e[40] = g) : g = e[40];
68
+ let r;
69
+ e[41] !== i ? (r = /* @__PURE__ */ l(z, { id: i }), e[41] = i, e[42] = r) : r = e[42];
70
+ let u;
71
+ e[43] !== N || e[44] !== i || e[45] !== t.onChangeCollapsed || e[46] !== t.options || e[47] !== R || e[48] !== _ || e[49] !== g || e[50] !== r ? (u = /* @__PURE__ */ M($, { id: i, actions: N, labels: R, options: t.options, sx: _, onChangeCollapsed: t.onChangeCollapsed, children: [
72
+ g,
73
+ r
74
+ ] }), e[43] = N, e[44] = i, e[45] = t.onChangeCollapsed, e[46] = t.options, e[47] = R, e[48] = _, e[49] = g, e[50] = r, e[51] = u) : u = e[51];
75
+ let L;
76
+ return e[52] !== i || e[53] !== t.collapsed || e[54] !== t.collapsible || e[55] !== t.data || e[56] !== t.isFetching || e[57] !== t.isLoading || e[58] !== t.title || e[59] !== t.type || e[60] !== u ? (L = /* @__PURE__ */ l(K, { id: i, type: t.type, data: t.data, collapsed: t.collapsed, disabled: t.collapsible, isLoading: t.isLoading, isFetching: t.isFetching, title: t.title, children: u }), e[52] = i, e[53] = t.collapsed, e[54] = t.collapsible, e[55] = t.data, e[56] = t.isFetching, e[57] = t.isLoading, e[58] = t.title, e[59] = t.type, e[60] = u, e[61] = L) : L = e[61], L;
77
+ }
78
+ function V(t) {
79
+ return t.setWidget;
80
+ }
81
+ export {
82
+ ge as Widget,
83
+ he as useWidget,
84
+ B as useWidgetStore
85
+ };
2
86
  //# sourceMappingURL=widgets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"widgets.js","sources":["../src/widgets/widget/widget.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { WrapperWidget } from '../wrapper'\nimport { Download, FullScreen } from '../actions'\nimport { Note } from '../note'\nimport { SkeletonLoader } from '../skeleton-loader'\nimport { useConfig } from '../config-loader/use-config'\nimport { useWidgetStore } from '../stores/widget-store'\nimport type { WidgetConfig, WidgetProps } from './types'\nimport { Root } from '../root'\nimport { Box } from '@mui/material'\nimport { WIDGET_CONFIG_MAP } from './const'\n\nexport function Widget(props: WidgetProps) {\n const ref = useRef<HTMLElement>(null)\n const setWidget = useWidgetStore((state) => state.setWidget)\n\n const id = props.id\n\n // Get widget type configuration (type-safe lookup)\n const widgetConfig = WIDGET_CONFIG_MAP[props.type]\n const {\n component: WidgetComponent,\n skeleton: Skeleton,\n defaultConfig,\n } = widgetConfig\n\n const children = (\n <Box ref={ref}>{props.children ?? <WidgetComponent id={id} />}</Box>\n )\n\n const { config, run } = useConfig<WidgetConfig>({\n id,\n defaultConfig,\n config: props.config as ((props: WidgetConfig) => WidgetConfig) | undefined,\n })\n\n useEffect(() => {\n run(config)\n }, [id, config, run])\n\n useEffect(() => {\n setWidget(id, { refUI: ref })\n }, [id, setWidget])\n\n const actions = [\n ...(props.actions ?? []),\n <Download key='download' id={id} {...props.ActionsProps?.download} />,\n <FullScreen\n key='fullscreen'\n id={id}\n labels={{ title: props.title }}\n {...props.ActionsProps?.fullScreen}\n >\n {children}\n </FullScreen>,\n ]\n\n return (\n <Root\n id={id}\n type={props.type}\n data={props.data}\n collapsed={props.collapsed}\n disabled={props.collapsible}\n isLoading={props.isLoading}\n isFetching={props.isFetching}\n title={props.title}\n >\n <WrapperWidget\n id={id}\n actions={actions}\n labels={props.WrapperProps?.labels}\n options={props.options}\n sx={props.WrapperProps?.sx}\n onChangeCollapsed={props.onChangeCollapsed}\n >\n <SkeletonLoader id={id} Skeleton={Skeleton}>\n {children}\n </SkeletonLoader>\n <Note id={id} />\n </WrapperWidget>\n </Root>\n )\n}\n"],"names":["Widget","props","$","_c","ref","useRef","setWidget","useWidgetStore","_temp","id","widgetConfig","WIDGET_CONFIG_MAP","type","component","WidgetComponent","skeleton","Skeleton","defaultConfig","t0","children","jsx","t1","Box","t2","config","t3","run","useConfig","t4","t5","useEffect","t6","t7","refUI","t8","actions","t9","ActionsProps","download","t10","Download","t11","title","t12","fullScreen","t13","FullScreen","t14","t15","WrapperProps","labels","t16","sx","t17","SkeletonLoader","t18","Note","t19","onChangeCollapsed","options","jsxs","WrapperWidget","t20","collapsed","collapsible","data","isFetching","isLoading","Root","state"],"mappings":"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"}