@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,13 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { c as t } from "react/compiler-runtime";
3
+ import { Box as l, Skeleton as m } from "@mui/material";
4
+ import { s as i } from "./style-BGeCtQkP.js";
5
+ function f() {
6
+ const e = t(1);
7
+ let o;
8
+ return e[0] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ r(l, { sx: i.row, "aria-label": "Formula skeleton", children: /* @__PURE__ */ r(m, { width: 120, height: 32 }) }), e[0] = o) : o = e[0], o;
9
+ }
10
+ export {
11
+ f as FormulaSkeleton
12
+ };
13
+ //# sourceMappingURL=skeleton-Dx3FCer0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-Dx3FCer0.js","sources":["../src/widgets/formula/skeleton.tsx"],"sourcesContent":["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"],"names":["FormulaSkeleton","$","_c","t0","Symbol","for","jsx","Box","styles","row","Skeleton"],"mappings":";;;;AAGO,SAAAA,IAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,SAAAF,EAAA,CAAA,MAAAG,OAAAC,IAAA,2BAAA,KAEHF,IAAA,gBAAAG,EAACC,GAAA,EAAQ,IAAAC,EAAMC,KAAiB,cAAA,oBAC9B,UAAA,gBAAAH,EAACI,GAAA,EAAgB,OAAA,KAAa,QAAA,IAAE,GAClC,GAAMT,OAAAE,KAAAA,IAAAF,EAAA,CAAA,GAFNE;AAEM;"}
@@ -0,0 +1,21 @@
1
+ import { jsx as i, jsxs as n } from "react/jsx-runtime";
2
+ import { c as m } from "react/compiler-runtime";
3
+ import { Skeleton as r, Box as l } from "@mui/material";
4
+ import { s } from "./style-C7v1iwqD.js";
5
+ function g() {
6
+ const e = m(2);
7
+ let t;
8
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ i(r, { width: "100%", height: 32 }), e[0] = t) : t = e[0];
9
+ let o;
10
+ return e[1] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ n(l, { sx: s.rangeItem, "aria-label": "Range skeleton", children: [
11
+ t,
12
+ /* @__PURE__ */ n(l, { sx: s.inputsRow, children: [
13
+ /* @__PURE__ */ i(r, { width: "100%", height: 40 }),
14
+ /* @__PURE__ */ i(r, { width: "100%", height: 40 })
15
+ ] })
16
+ ] }), e[1] = o) : o = e[1], o;
17
+ }
18
+ export {
19
+ g as RangeSkeleton
20
+ };
21
+ //# sourceMappingURL=skeleton-QVDdb1c2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-QVDdb1c2.js","sources":["../src/widgets/range/skeleton.tsx"],"sourcesContent":["import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function RangeSkeleton() {\n return (\n <Box sx={styles.rangeItem} aria-label='Range skeleton'>\n <Skeleton width='100%' height={32} />\n <Box sx={styles.inputsRow}>\n <Skeleton width='100%' height={40} />\n <Skeleton width='100%' height={40} />\n </Box>\n </Box>\n )\n}\n"],"names":["RangeSkeleton","$","_c","t0","Symbol","for","jsx","Skeleton","t1","Box","styles","rangeItem","jsxs","inputsRow"],"mappings":";;;;AAGO,SAAAA,IAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,EAAAF,EAAA,CAAA,MAAAG,OAAAC,IAAA,2BAAA,KAGDF,IAAA,gBAAAG,EAACC,GAAA,EAAe,OAAA,QAAe,QAAA,IAAE,GAAIN,OAAAE,KAAAA,IAAAF,EAAA,CAAA;AAAA,MAAAO;AAAA,SAAAP,EAAA,CAAA,MAAAG,OAAAC,IAAA,2BAAA,KADvCG,sBAACC,GAAA,EAAQ,IAAAC,EAAMC,WAAuB,cAAA,kBACpCR,UAAAA;AAAAA,IAAAA;AAAAA,IACA,gBAAAS,EAACH,GAAA,EAAQ,IAAAC,EAAMG,WACb,UAAA;AAAA,MAAA,gBAAAP,EAACC,GAAA,EAAe,OAAA,QAAe,QAAA,IAAE;AAAA,MACjC,gBAAAD,EAACC,GAAA,EAAe,OAAA,QAAe,QAAA,GAAA,CAAE;AAAA,IAAA,EAAA,CACnC;AAAA,EAAA,GACF,GAAMN,OAAAO,KAAAA,IAAAP,EAAA,CAAA,GANNO;AAMM;"}
@@ -0,0 +1,23 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { c as f } from "react/compiler-runtime";
3
+ import { u as d } from "./widget-store-yDO2ul8g.js";
4
+ import { Suspense as u } from "react";
5
+ function S(s) {
6
+ const e = f(4), {
7
+ id: r,
8
+ children: l,
9
+ Skeleton: i
10
+ } = s;
11
+ let o;
12
+ if (e[0] !== r ? (o = (t) => t.widgets[r]?.isLoading, e[0] = r, e[1] = o) : o = e[1], d(o)) {
13
+ if (!i)
14
+ return null;
15
+ let t;
16
+ return e[2] !== i ? (t = /* @__PURE__ */ n(u, { fallback: null, children: /* @__PURE__ */ n(i, {}) }), e[2] = i, e[3] = t) : t = e[3], t;
17
+ }
18
+ return l;
19
+ }
20
+ export {
21
+ S
22
+ };
23
+ //# sourceMappingURL=skeleton-loader-DWC1-EAx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-loader-DWC1-EAx.js","sources":["../src/widgets/skeleton-loader/skeleton-loader.tsx"],"sourcesContent":["import type { SkeletonLoaderProps } from './types'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { Suspense } from 'react'\n\nexport function SkeletonLoader({\n id,\n children,\n Skeleton,\n}: SkeletonLoaderProps) {\n const isLoading = useWidgetStore((state) => state.widgets[id]?.isLoading)\n\n if (isLoading) {\n if (!Skeleton) {\n return null\n }\n\n return (\n <Suspense fallback={null}>\n <Skeleton />\n </Suspense>\n )\n }\n\n return children\n}\n"],"names":["SkeletonLoader","t0","$","_c","id","children","Skeleton","t1","state","widgets","isLoading","useWidgetStore","t2","Suspense","jsx"],"mappings":";;;;AAIO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAwB;AAAA,IAAAC,IAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAL;AAIT,MAAAM;AAGpB,MAHoBL,SAAAE,KACaG,IAAAC,CAAAA,MAAWA,EAAKC,QAASL,CAAE,GAAYM,WAAAR,OAAAE,GAAAF,OAAAK,KAAAA,IAAAL,EAAA,CAAA,GAAtDS,EAAeJ,CAAuC,GAE3D;AACX,QAAI,CAACD;AAAQ,aACJ;AACR,QAAAM;AAAA,WAAAV,SAAAI,KAGCM,sBAACC,GAAA,EAAmB,UAAA,MAClB,UAAA,gBAAAC,EAACR,KAAQ,GACX,GAAWJ,OAAAI,GAAAJ,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GAFXU;AAAAA,EAEW;AAEd,SAEMP;AAAQ;"}
@@ -0,0 +1,39 @@
1
+ import { jsx as O } from "react/jsx-runtime";
2
+ import { c as S } from "react/compiler-runtime";
3
+ import { useRef as x, useState as H, useLayoutEffect as I } from "react";
4
+ import { T as W } from "./lasso-tool-BC-rsMMW.js";
5
+ function P(a) {
6
+ const t = S(13), {
7
+ title: h,
8
+ dependencies: r,
9
+ timeout: p,
10
+ TooltipProps: f,
11
+ children: u
12
+ } = a;
13
+ let s;
14
+ t[0] !== r ? (s = r === void 0 ? [] : r, t[0] = r, t[1] = s) : s = t[1];
15
+ const m = s, e = p === void 0 ? 500 : p, i = x(null), [T, g] = H(!1);
16
+ let l;
17
+ t[2] !== e ? (l = () => {
18
+ const v = setTimeout(() => {
19
+ if (i.current) {
20
+ const w = i.current.scrollWidth > i.current.clientWidth || i.current.scrollHeight > i.current.clientHeight;
21
+ g(w);
22
+ }
23
+ }, e);
24
+ return () => clearTimeout(v);
25
+ }, t[2] = e, t[3] = l) : l = t[3];
26
+ let n;
27
+ t[4] !== m || t[5] !== e ? (n = [m, e], t[4] = m, t[5] = e, t[6] = n) : n = t[6], I(l, n);
28
+ const d = T && h;
29
+ let o;
30
+ t[7] !== u ? (o = u({
31
+ ref: i
32
+ }), t[7] = u, t[8] = o) : o = t[8];
33
+ let c;
34
+ return t[9] !== f || t[10] !== d || t[11] !== o ? (c = /* @__PURE__ */ O(W, { title: d, ...f, children: o }), t[9] = f, t[10] = d, t[11] = o, t[12] = c) : c = t[12], c;
35
+ }
36
+ export {
37
+ P as S
38
+ };
39
+ //# sourceMappingURL=smart-tooltip-BSlcAkBM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-tooltip-BSlcAkBM.js","sources":["../src/components/smart-tooltip/smart-tooltip.tsx"],"sourcesContent":["import type { TooltipProps } from '@mui/material'\nimport { useLayoutEffect, useRef, useState, type JSX, type Ref } from 'react'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function SmartTooltip<T extends HTMLElement>({\n title,\n dependencies = [],\n timeout = 500,\n TooltipProps,\n children,\n}: {\n title: string | undefined\n dependencies?: unknown[]\n timeout?: number\n children: (props: { ref: Ref<T> }) => JSX.Element\n TooltipProps?: Partial<TooltipProps>\n}) {\n const ref = useRef<T>(null)\n const [isOverflowing, setIsOverflowing] = useState(false)\n\n useLayoutEffect(() => {\n const timerId = setTimeout(() => {\n if (ref.current) {\n const isOverflowing =\n ref.current.scrollWidth > ref.current.clientWidth ||\n ref.current.scrollHeight > ref.current.clientHeight\n\n setIsOverflowing(isOverflowing)\n }\n }, timeout)\n\n return () => clearTimeout(timerId)\n }, [dependencies, timeout])\n\n return (\n <Tooltip title={isOverflowing && title} {...TooltipProps}>\n {children({ ref })}\n </Tooltip>\n )\n}\n"],"names":["SmartTooltip","t0","$","_c","title","dependencies","t1","timeout","t2","TooltipProps","children","t3","undefined","ref","useRef","isOverflowing","setIsOverflowing","useState","t4","timerId","setTimeout","current","isOverflowing_0","scrollWidth","clientWidth","scrollHeight","clientHeight","clearTimeout","t5","useLayoutEffect","t6","t7","t8","Tooltip"],"mappings":";;;;AAIO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAA6C;AAAA,IAAAC,OAAAA;AAAAA,IAAAC,cAAAC;AAAAA,IAAAC,SAAAC;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAT;AAYnD,MAAAU;AAAA,EAAAT,SAAAI,KAVCK,IAAAL,MAAAM,SAAA,CAAA,IAAAN,GAAiBJ,OAAAI,GAAAJ,OAAAS,KAAAA,IAAAT,EAAA,CAAA;AAAjB,QAAAG,IAAAM,GACAJ,IAAAC,MAAAI,SAAA,MAAAJ,GAUAK,IAAYC,EAAU,IAAI,GAC1B,CAAAC,GAAAC,CAAA,IAA0CC,EAAS,EAAK;AAAC,MAAAC;AAAA,EAAAhB,SAAAK,KAEzCW,IAAAA,MAAA;AACd,UAAAC,IAAgBC,WAAW,MAAA;AACzB,UAAIP,EAAGQ,SAAQ;AACb,cAAAC,IACET,EAAGQ,QAAQE,cAAeV,EAAGQ,QAAQG,eACrCX,EAAGQ,QAAQI,eAAgBZ,EAAGQ,QAAQK;AAExCV,QAAAA,EAAiBD,CAAa;AAAA,MAAC;AAAA,IAChC,GACAR,CAAO;AAAC,WAEJ,MAAMoB,aAAaR,CAAO;AAAA,EAAC,GACnCjB,OAAAK,GAAAL,OAAAgB,KAAAA,IAAAhB,EAAA,CAAA;AAAA,MAAA0B;AAAA,EAAA1B,EAAA,CAAA,MAAAG,KAAAH,SAAAK,KAAEqB,IAAA,CAACvB,GAAcE,CAAO,GAACL,OAAAG,GAAAH,OAAAK,GAAAL,OAAA0B,KAAAA,IAAA1B,EAAA,CAAA,GAZ1B2B,EAAgBX,GAYbU,CAAuB;AAGR,QAAAE,IAAAf,KAAAX;AAAsB,MAAA2B;AAAA,EAAA7B,SAAAQ,KACnCqB,IAAArB,EAAS;AAAA,IAAAG,KAAAA;AAAAA,EAAAA,CAAO,GAACX,OAAAQ,GAAAR,OAAA6B,KAAAA,IAAA7B,EAAA,CAAA;AAAA,MAAA8B;AAAA,SAAA9B,EAAA,CAAA,MAAAO,KAAAP,UAAA4B,KAAA5B,EAAA,EAAA,MAAA6B,KADpBC,sBAACC,GAAA,EAAe,OAAAH,GAAsB,GAAMrB,GACzCsB,UAAAA,GACH,GAAU7B,OAAAO,GAAAP,QAAA4B,GAAA5B,QAAA6B,GAAA7B,QAAA8B,KAAAA,IAAA9B,EAAA,EAAA,GAFV8B;AAEU;"}
@@ -0,0 +1,82 @@
1
+ import { jsx as s, jsxs as y, Fragment as P } from "react/jsx-runtime";
2
+ import { c as g } from "react/compiler-runtime";
3
+ import { I as S, a as $, P as b, S as j } from "./series-CsyEPq-X.js";
4
+ import { a as h } from "./widget-store-yDO2ul8g.js";
5
+ import "@mui/material";
6
+ import { R as M } from "./row-DQaSxmDV.js";
7
+ function _(e) {
8
+ const t = g(2);
9
+ let i;
10
+ return t[0] !== e ? (i = /* @__PURE__ */ s(S, { ...e, children: "-" }), t[0] = e, t[1] = i) : i = t[1], i;
11
+ }
12
+ const v = (e) => e.toString();
13
+ function w(e) {
14
+ const t = g(13);
15
+ let i, o, r;
16
+ t[0] !== e ? ({
17
+ id: i,
18
+ index: r,
19
+ ...o
20
+ } = e, t[0] = e, t[1] = i, t[2] = o, t[3] = r) : (i = t[1], o = t[2], r = t[3]);
21
+ const d = r === void 0 ? 0 : r, u = h(i), x = u?.data?.[d], c = u?.formatter ?? v, f = x?.color;
22
+ let n;
23
+ t[4] !== f ? (n = {
24
+ color: f
25
+ }, t[4] = f, t[5] = n) : n = t[5];
26
+ const m = x?.min ?? 0;
27
+ let l;
28
+ t[6] !== c || t[7] !== m ? (l = c(m), t[6] = c, t[7] = m, t[8] = l) : l = t[8];
29
+ let a;
30
+ return t[9] !== o || t[10] !== n || t[11] !== l ? (a = /* @__PURE__ */ s(S, { TypographyProps: n, ...o, children: l }), t[9] = o, t[10] = n, t[11] = l, t[12] = a) : a = t[12], a;
31
+ }
32
+ const F = (e) => e.toString();
33
+ function I(e) {
34
+ const t = g(13);
35
+ let i, o, r;
36
+ t[0] !== e ? ({
37
+ id: i,
38
+ index: r,
39
+ ...o
40
+ } = e, t[0] = e, t[1] = i, t[2] = o, t[3] = r) : (i = t[1], o = t[2], r = t[3]);
41
+ const d = r === void 0 ? 0 : r, u = h(i), x = u?.data?.[d], c = u?.formatter ?? F, f = x?.color;
42
+ let n;
43
+ t[4] !== f ? (n = {
44
+ color: f
45
+ }, t[4] = f, t[5] = n) : n = t[5];
46
+ const m = x?.max ?? 0;
47
+ let l;
48
+ t[6] !== c || t[7] !== m ? (l = c(m), t[6] = c, t[7] = m, t[8] = l) : l = t[8];
49
+ let a;
50
+ return t[9] !== o || t[10] !== n || t[11] !== l ? (a = /* @__PURE__ */ s(S, { TypographyProps: n, ...o, children: l }), t[9] = o, t[10] = n, t[11] = l, t[12] = a) : a = t[12], a;
51
+ }
52
+ function T(e) {
53
+ const t = g(5);
54
+ let i;
55
+ t[0] !== e.id ? (i = (r) => {
56
+ const {
57
+ index: d
58
+ } = r;
59
+ return /* @__PURE__ */ y(P, { children: [
60
+ /* @__PURE__ */ s($, { id: e.id, index: d }),
61
+ /* @__PURE__ */ s(b, { id: e.id, index: d }),
62
+ /* @__PURE__ */ s(w, { id: e.id, index: d }),
63
+ /* @__PURE__ */ s(_, {}),
64
+ /* @__PURE__ */ s(I, { id: e.id, index: d }),
65
+ /* @__PURE__ */ s(j, { id: e.id, index: d })
66
+ ] });
67
+ }, t[0] = e.id, t[1] = i) : i = t[1];
68
+ let o;
69
+ return t[2] !== e.id || t[3] !== i ? (o = /* @__PURE__ */ s(M, { id: e.id, children: i }), t[2] = e.id, t[3] = i, t[4] = o) : o = t[4], o;
70
+ }
71
+ const k = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
72
+ __proto__: null,
73
+ SpreadUI: T
74
+ }, Symbol.toStringTag, { value: "Module" }));
75
+ export {
76
+ w as M,
77
+ T as S,
78
+ I as a,
79
+ _ as b,
80
+ k as s
81
+ };
82
+ //# sourceMappingURL=spread-ui-BjzH190y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spread-ui-BjzH190y.js","sources":["../src/widgets/spread/components/separator.tsx","../src/widgets/spread/components/min-value.tsx","../src/widgets/spread/components/max-value.tsx","../src/widgets/spread/spread-ui.tsx"],"sourcesContent":["import { Item } from '../../formula/components/item'\nimport type { ItemProps } from '../../formula/types'\n\nexport function Separator(props: Omit<ItemProps, 'children'>) {\n return <Item {...props}>-</Item>\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidget } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const widget = useWidget<SpreadWidgetState>(id)\n\n const el = widget?.data?.[index]\n\n const formatter = widget?.formatter ?? defaultFormatter\n\n return (\n <Item TypographyProps={{ color: el?.color }} {...props}>\n {formatter(el?.min ?? 0)}\n </Item>\n )\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidget } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const widget = useWidget<SpreadWidgetState>(id)\n\n const el = widget?.data?.[index]\n\n const formatter = widget?.formatter ?? defaultFormatter\n\n return (\n <Item TypographyProps={{ color: el?.color }} {...props}>\n {formatter(el?.max ?? 0)}\n </Item>\n )\n}\n","import type { SpreadUIProps } from './types'\n\nimport { Separator } from './components/separator'\nimport { MinValue } from './components/min-value'\nimport { MaxValue } from './components/max-value'\nimport { Prefix, Row, Suffix, Series } from '../formula'\n\nexport function SpreadUI(props: SpreadUIProps) {\n return (\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n )\n}\n"],"names":["Separator","props","$","_c","t0","jsx","Item","defaultFormatter","value","toString","MinValue","id","t1","index","undefined","widget","useWidget","el","data","formatter","t2","color","t3","t4","min","t5","t6","MaxValue","max","SpreadUI","jsxs","Fragment","Series","Prefix","Suffix","Row"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ const a = {
2
+ item: {
3
+ '&[data-disabled="true"]': {
4
+ color: (e) => e.palette.text.disabled
5
+ }
6
+ },
7
+ row: {
8
+ display: "flex",
9
+ alignItems: "center",
10
+ gap: (e) => e.spacing(1),
11
+ "& + &": {
12
+ marginTop: (e) => e.spacing(1)
13
+ }
14
+ }
15
+ };
16
+ export {
17
+ a as s
18
+ };
19
+ //# sourceMappingURL=style-BGeCtQkP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-BGeCtQkP.js","sources":["../src/widgets/formula/style.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n item: {\n '&[data-disabled=\"true\"]': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(1),\n\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n"],"names":["styles","item","color","theme","palette","text","disabled","row","display","alignItems","gap","spacing","marginTop"],"mappings":"AAEO,MAAMA,IAAS;AAAA,EAMpBC,MAAM;AAAA,IACJ,2BAA2B;AAAA,MACzBC,OAAOA,CAACC,MAAiBA,EAAMC,QAAQC,KAAKC;AAAAA,IAAAA;AAAAA,EAC9C;AAAA,EAEFC,KAAK;AAAA,IACHC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,KAAKA,CAACP,MAAiBA,EAAMQ,QAAQ,CAAC;AAAA,IAEtC,SAAS;AAAA,MACPC,WAAWA,CAACT,MAAiBA,EAAMQ,QAAQ,CAAC;AAAA,IAAA;AAAA,EAC9C;AAEJ;"}
@@ -0,0 +1,34 @@
1
+ const i = {
2
+ rangeItem: {
3
+ display: "flex",
4
+ flexDirection: "column",
5
+ gap: (e) => e.spacing(1.5)
6
+ },
7
+ sliderContainer: {
8
+ display: "flex",
9
+ flexDirection: "column",
10
+ gap: (e) => e.spacing(1),
11
+ px: (e) => e.spacing(1)
12
+ },
13
+ inputsRow: {
14
+ display: "flex",
15
+ gap: (e) => e.spacing(2),
16
+ alignItems: "center"
17
+ },
18
+ input: {
19
+ flex: 1,
20
+ "& .MuiInputBase-input": {
21
+ textAlign: "center"
22
+ }
23
+ },
24
+ slider: {
25
+ width: "100%",
26
+ "&.Mui-disabled": {
27
+ color: (e) => e.palette.text.disabled
28
+ }
29
+ }
30
+ };
31
+ export {
32
+ i as s
33
+ };
34
+ //# sourceMappingURL=style-C7v1iwqD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-C7v1iwqD.js","sources":["../src/widgets/range/style.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles: Record<string, SxProps<Theme>> = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n rangeItem: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1.5),\n },\n sliderContainer: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1),\n px: (theme: Theme) => theme.spacing(1),\n },\n inputsRow: {\n display: 'flex',\n gap: (theme: Theme) => theme.spacing(2),\n alignItems: 'center',\n },\n input: {\n flex: 1,\n '& .MuiInputBase-input': {\n textAlign: 'center',\n },\n },\n slider: {\n width: '100%',\n '&.Mui-disabled': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n"],"names":["styles","rangeItem","display","flexDirection","gap","theme","spacing","sliderContainer","px","inputsRow","alignItems","input","flex","textAlign","slider","width","color","palette","text","disabled"],"mappings":"AAEO,MAAMA,IAAyC;AAAA,EAMpDC,WAAW;AAAA,IACTC,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,KAAKA,CAACC,MAAiBA,EAAMC,QAAQ,GAAG;AAAA,EAAA;AAAA,EAE1CC,iBAAiB;AAAA,IACfL,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,KAAKA,CAACC,MAAiBA,EAAMC,QAAQ,CAAC;AAAA,IACtCE,IAAIA,CAACH,MAAiBA,EAAMC,QAAQ,CAAC;AAAA,EAAA;AAAA,EAEvCG,WAAW;AAAA,IACTP,SAAS;AAAA,IACTE,KAAKA,CAACC,MAAiBA,EAAMC,QAAQ,CAAC;AAAA,IACtCI,YAAY;AAAA,EAAA;AAAA,EAEdC,OAAO;AAAA,IACLC,MAAM;AAAA,IACN,yBAAyB;AAAA,MACvBC,WAAW;AAAA,IAAA;AAAA,EACb;AAAA,EAEFC,QAAQ;AAAA,IACNC,OAAO;AAAA,IACP,kBAAkB;AAAA,MAChBC,OAAOA,CAACX,MAAiBA,EAAMY,QAAQC,KAAKC;AAAAA,IAAAA;AAAAA,EAC9C;AAEJ;"}
@@ -0,0 +1,23 @@
1
+ const t = {
2
+ graph: {
3
+ /**
4
+ * Common container style for chart widget skeletons
5
+ */
6
+ container: {
7
+ display: "flex",
8
+ alignItems: "center",
9
+ justifyContent: "space-between",
10
+ flexDirection: "column",
11
+ gap: ({
12
+ spacing: e
13
+ }) => e(1),
14
+ height: ({
15
+ spacing: e
16
+ }) => e(38)
17
+ }
18
+ }
19
+ };
20
+ export {
21
+ t as b
22
+ };
23
+ //# sourceMappingURL=styles-cohnxh9F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-cohnxh9F.js","sources":["../src/widgets/_shared/skeleton/styles.ts"],"sourcesContent":["import type { Theme } from '@mui/material'\n\n/**\n * Base skeleton styles shared across all chart widgets\n */\nexport const baseSkeletonStyles = {\n graph: {\n /**\n * Common container style for chart widget skeletons\n */\n container: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n flexDirection: 'column',\n gap: ({ spacing }: Theme) => spacing(1),\n height: ({ spacing }: Theme) => spacing(38),\n },\n },\n} as const\n"],"names":["baseSkeletonStyles","graph","container","display","alignItems","justifyContent","flexDirection","gap","spacing","height"],"mappings":"AAKO,MAAMA,IAAqB;AAAA,EAChCC,OAAO;AAAA;AAAA;AAAA;AAAA,IAILC,WAAW;AAAA,MACTC,SAAS;AAAA,MACTC,YAAY;AAAA,MACZC,gBAAgB;AAAA,MAChBC,eAAe;AAAA,MACfC,KAAKA,CAAC;AAAA,QAAEC,SAAAA;AAAAA,MAAAA,MAAqBA,EAAQ,CAAC;AAAA,MACtCC,QAAQA,CAAC;AAAA,QAAED,SAAAA;AAAAA,MAAAA,MAAqBA,EAAQ,EAAE;AAAA,IAAA;AAAA,EAC5C;AAEJ;"}
@@ -0,0 +1,44 @@
1
+ import { EchartOptionsProps, EchartWidgetData, EchartWidgetConfig } from '../../echart';
2
+ import { BaseConfig } from '../../config-loader';
3
+ import { Ref } from 'react';
4
+ /**
5
+ * Base configuration interface for chart widgets
6
+ */
7
+ export interface ChartWidgetBaseConfig<TData = EchartWidgetData> extends Omit<BaseConfig, 'data'> {
8
+ data?: TData;
9
+ }
10
+ /**
11
+ * Parameters for creating a chart widget configuration
12
+ */
13
+ export interface CreateChartWidgetConfigParams<TData = EchartWidgetData, TConfig extends ChartWidgetBaseConfig<TData> = ChartWidgetBaseConfig<TData>, TType extends string = string> {
14
+ /** Widget type identifier (e.g., 'bar', 'pie', 'histogram') */
15
+ type: TType;
16
+ /** Function to get EChart options from config */
17
+ getOptions: (config: Omit<TConfig, 'refUI'>) => EchartOptionsProps;
18
+ /** Function to create CSV data from widget data */
19
+ csvModifier: (data: TData) => string[][];
20
+ }
21
+ /**
22
+ * Return type of the chart widget config function
23
+ */
24
+ export type ChartWidgetConfigResult<TData = EchartWidgetData, TConfig extends ChartWidgetBaseConfig<TData> = ChartWidgetBaseConfig<TData>, TType extends string = string> = Omit<TConfig, 'data' | 'refUI'> & EchartWidgetConfig<TData> & {
25
+ type: TType;
26
+ };
27
+ /**
28
+ * Factory function to create a standardized chart widget config function.
29
+ * This eliminates duplication across chart widgets by providing a common structure.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * export const barConfig = createChartWidgetConfig({
34
+ * type: 'bar' as const,
35
+ * getOptions: ({ data, theme }) => ({
36
+ * // EChart configuration
37
+ * }),
38
+ * csvModifier: (data) => flattenObjectArrayToCSV(data),
39
+ * })
40
+ * ```
41
+ */
42
+ export declare function createChartWidgetConfig<TData = EchartWidgetData, TConfig extends ChartWidgetBaseConfig<TData> = ChartWidgetBaseConfig<TData>, TType extends string = string>({ type, getOptions, csvModifier, }: CreateChartWidgetConfigParams<TData, TConfig, TType>): (config: TConfig & {
43
+ refUI?: Ref<HTMLElement | null>;
44
+ }) => ChartWidgetConfigResult<TData, TConfig, TType>;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Shared CSV export modifiers for chart widgets
3
+ */
4
+ /**
5
+ * Flattens object array data into CSV-ready rows.
6
+ * Used by bar, pie, histogram, and timeseries widgets.
7
+ *
8
+ * @param data - Array of series, where each series is an array of data objects
9
+ * @returns CSV rows with headers and values
10
+ */
11
+ export declare function flattenObjectArrayToCSV<T extends Record<string, unknown>>(data: T[][]): string[][];
12
+ /**
13
+ * Creates CSV rows for scatterplot data.
14
+ * Scatterplot uses array format [x, y] instead of objects.
15
+ *
16
+ * @param data - Array of series, where each series is an array of [x, y] tuples
17
+ * @returns CSV rows with ['x', 'y'] headers
18
+ */
19
+ export declare function scatterplotDataToCSV(data: number[][][]): string[][];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shared utilities for chart widget configuration
3
+ */
4
+ export { createChartWidgetConfig } from './config-factory';
5
+ export type { ChartWidgetBaseConfig, CreateChartWidgetConfigParams, } from './config-factory';
6
+ export { flattenObjectArrayToCSV, scatterplotDataToCSV } from './csv-modifiers';
7
+ export { buildLegendConfig, buildGridConfig, createTooltipPositioner, } from './option-builders';
@@ -0,0 +1,39 @@
1
+ import { Theme } from '@mui/material';
2
+ import { GridComponentOption } from 'echarts';
3
+ /**
4
+ * Shared EChart configuration builders for chart widgets
5
+ */
6
+ /**
7
+ * Builds standard legend configuration for chart widgets
8
+ *
9
+ * @param hasLegend - Whether to show the legend
10
+ * @returns Legend configuration object
11
+ */
12
+ export declare function buildLegendConfig(hasLegend: boolean): {
13
+ show: boolean;
14
+ icon: "circle";
15
+ left: number;
16
+ bottom: number;
17
+ };
18
+ /**
19
+ * Builds standard grid configuration with legend-aware spacing
20
+ *
21
+ * @param hasLegend - Whether the chart has a legend
22
+ * @param theme - MUI theme for spacing
23
+ * @param additionalConfig - Additional grid configuration to merge
24
+ * @returns Grid configuration object
25
+ */
26
+ export declare function buildGridConfig(hasLegend: boolean, theme: Theme, additionalConfig?: Record<string, GridComponentOption>): {
27
+ bottom?: number | undefined;
28
+ };
29
+ /**
30
+ * Creates a tooltip position calculator that handles overflow
31
+ * Used by bar, histogram, and scatterplot widgets
32
+ *
33
+ * @param theme - MUI theme for spacing
34
+ * @returns Tooltip position function
35
+ */
36
+ export declare function createTooltipPositioner(theme: Theme): (point: [number, number], _params: unknown, _dom: unknown, _rect: unknown, size: {
37
+ contentSize: [number, number];
38
+ viewSize: [number, number];
39
+ }) => Record<string, number>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Shared skeleton styles for chart widgets
3
+ */
4
+ export { baseSkeletonStyles } from './styles';
@@ -0,0 +1,19 @@
1
+ import { Theme } from '@mui/material';
2
+ /**
3
+ * Base skeleton styles shared across all chart widgets
4
+ */
5
+ export declare const baseSkeletonStyles: {
6
+ readonly graph: {
7
+ /**
8
+ * Common container style for chart widget skeletons
9
+ */
10
+ readonly container: {
11
+ readonly display: "flex";
12
+ readonly alignItems: "center";
13
+ readonly justifyContent: "space-between";
14
+ readonly flexDirection: "column";
15
+ readonly gap: ({ spacing }: Theme) => string;
16
+ readonly height: ({ spacing }: Theme) => string;
17
+ };
18
+ };
19
+ };
@@ -0,0 +1,2 @@
1
+ import { DownloadProps } from './types';
2
+ export declare function Download({ id, labels, Icon, IconButtonProps, }: DownloadProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,6 @@
1
+ import { Ref } from 'react';
2
+ import { DownloadItem } from './types';
3
+ export declare const downloadToCSV: DownloadItem<unknown[][]>;
4
+ export declare const downloadToPNG: Omit<DownloadItem<unknown[][]>, 'modifier'> & {
5
+ modifier: (ref: Ref<HTMLElement | null> | undefined) => Promise<string | undefined>;
6
+ };
@@ -0,0 +1,29 @@
1
+ import { JSX, ReactNode } from 'react';
2
+ import { BaseWidgetState } from '../../stores/types';
3
+ import { IconButtonProps } from '@mui/material';
4
+ export interface DownloadItem<D = unknown> {
5
+ id: string;
6
+ label: string;
7
+ icon?: JSX.Element;
8
+ disabled?: boolean;
9
+ filename?: string;
10
+ modifier: (data: D) => Promise<string | undefined>;
11
+ callback?: (data: string) => void;
12
+ }
13
+ export type DownloadState<T = unknown, D = unknown> = BaseWidgetState<T & DownloadConfigProps<D>>;
14
+ export interface DownloadConfig<D = unknown> {
15
+ enabled?: boolean;
16
+ isDownloading: boolean;
17
+ items: DownloadItem<D>[];
18
+ }
19
+ export interface DownloadConfigProps<D = unknown> {
20
+ downloadConfig: DownloadConfig<D>;
21
+ }
22
+ export interface DownloadProps {
23
+ id: DownloadState['id'];
24
+ labels?: {
25
+ ariaLabel?: string;
26
+ };
27
+ IconButtonProps?: IconButtonProps;
28
+ Icon?: ReactNode;
29
+ }
@@ -0,0 +1,2 @@
1
+ import { FullScreenProps } from './types';
2
+ export declare function FullScreen({ id, labels, children, Icon, IconButtonProps, }: FullScreenProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,10 @@
1
+ export declare const styles: {
2
+ title: {
3
+ container: {
4
+ display: "flex";
5
+ alignItems: "center";
6
+ justifyContent: "space-between";
7
+ gap: number;
8
+ };
9
+ };
10
+ };
@@ -0,0 +1,21 @@
1
+ import { IconButtonProps } from '@mui/material';
2
+ import { ReactNode } from 'react';
3
+ import { BaseWidgetState } from 'src/widgets/stores/types';
4
+ export type FullScreenState<T = unknown> = BaseWidgetState<T & FullScreenConfigProps>;
5
+ export interface FullScreenConfig {
6
+ enabled?: boolean;
7
+ isFullScreen?: boolean;
8
+ }
9
+ export interface FullScreenConfigProps {
10
+ fullScreenConfig: FullScreenConfig;
11
+ }
12
+ export interface FullScreenProps {
13
+ id: FullScreenState['id'];
14
+ labels: {
15
+ title: string;
16
+ ariaLabel?: string;
17
+ };
18
+ children: ReactNode;
19
+ IconButtonProps?: IconButtonProps;
20
+ Icon?: ReactNode;
21
+ }
@@ -0,0 +1,5 @@
1
+ export { FullScreen } from './fullscreen/fullscreen';
2
+ export type { FullScreenState, FullScreenConfig } from './fullscreen/types';
3
+ export { Download } from './download/download';
4
+ export type { DownloadState, DownloadItem, DownloadConfig, } from './download/types';
5
+ export { downloadToCSV, downloadToPNG } from './download/exports';
@@ -0,0 +1,4 @@
1
+ import { BarConfig } from './types';
2
+ export declare const barConfig: (config: BarConfig & {
3
+ refUI?: import('react').Ref<HTMLElement | null>;
4
+ }) => import('../_shared/chart-config/config-factory').ChartWidgetConfigResult<import('../echart').EchartWidgetData, BarConfig, "bar">;
@@ -0,0 +1,3 @@
1
+ export type { BarProps, BarWidgetData, BarWidgetState, BarWidgetConfig, } from './types';
2
+ export { barConfig } from './config';
3
+ export { BarSkeleton } from './skeleton';
@@ -0,0 +1 @@
1
+ export declare function BarSkeleton(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const styles: {
3
+ skeleton: {
4
+ item: {
5
+ flex: number;
6
+ maxWidth: ({ spacing }: Theme) => string;
7
+ '& + &': {
8
+ marginLeft: ({ spacing }: Theme) => string;
9
+ };
10
+ };
11
+ graph: {
12
+ grid: {
13
+ display: "flex";
14
+ justifyContent: "space-between";
15
+ flex: "1 1 auto";
16
+ alignItems: "flex-end";
17
+ width: "100%";
18
+ };
19
+ container: {
20
+ readonly display: "flex";
21
+ readonly alignItems: "center";
22
+ readonly justifyContent: "space-between";
23
+ readonly flexDirection: "column";
24
+ readonly gap: ({ spacing }: Theme) => string;
25
+ readonly height: ({ spacing }: Theme) => string;
26
+ };
27
+ };
28
+ mask: {
29
+ gray: {
30
+ backgroundColor: ({ palette }: Theme) => string;
31
+ };
32
+ white: {
33
+ backgroundColor: ({ palette }: Theme) => string;
34
+ };
35
+ };
36
+ };
37
+ };
@@ -0,0 +1,15 @@
1
+ import { BaseWidgetProps } from '../widget/types';
2
+ import { BaseConfig } from '../config-loader';
3
+ import { EchartWidgetConfig, EchartWidgetData, EchartWidgetState } from '../echart';
4
+ export interface BarProps extends BaseWidgetProps<BarWidgetConfig> {
5
+ type: 'bar';
6
+ data: BarWidgetData | undefined;
7
+ }
8
+ export type BarWidgetData = EchartWidgetData;
9
+ export type BarWidgetState = EchartWidgetState;
10
+ export type BarWidgetConfig = BarConfig & EchartWidgetConfig & {
11
+ type: BarProps['type'];
12
+ };
13
+ export interface BarConfig extends Omit<BaseConfig, 'data'> {
14
+ data?: BarWidgetData;
15
+ }
@@ -0,0 +1,2 @@
1
+ export * from './use-config';
2
+ export * from './types';
@@ -0,0 +1,12 @@
1
+ import { Theme } from '@mui/material';
2
+ import { WidgetState } from 'src/widgets/stores/types';
3
+ export interface ConfigProps<T> {
4
+ id: WidgetState['id'];
5
+ defaultConfig: (props: BaseConfig) => T;
6
+ config?: (props: T) => T;
7
+ }
8
+ export interface BaseConfig {
9
+ refUI?: WidgetState['refUI'];
10
+ theme: Theme;
11
+ data: WidgetState['data'];
12
+ }