@carto/ps-react-ui 4.3.0-widgets.0 → 5.0.0-widgets.10

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 (284) hide show
  1. package/dist/components.js +25 -23
  2. package/dist/components.js.map +1 -1
  3. package/dist/error-B2IJ9d2h.js +38 -0
  4. package/dist/error-B2IJ9d2h.js.map +1 -0
  5. package/dist/exports-Cr43OCul.js +51 -0
  6. package/dist/exports-Cr43OCul.js.map +1 -0
  7. package/dist/{lasso-tool-BC-rsMMW.js → lasso-tool-CYn3ivf-.js} +165 -183
  8. package/dist/lasso-tool-CYn3ivf-.js.map +1 -0
  9. package/dist/no-data-C54XJt13.js +61 -0
  10. package/dist/no-data-C54XJt13.js.map +1 -0
  11. package/dist/note-Clng2ej6.js +124 -0
  12. package/dist/note-Clng2ej6.js.map +1 -0
  13. package/dist/options-D9wflre6.js +49 -0
  14. package/dist/options-D9wflre6.js.map +1 -0
  15. package/dist/row-DrHwXNvF.js +35 -0
  16. package/dist/row-DrHwXNvF.js.map +1 -0
  17. package/dist/series-Do02NQUF.js +91 -0
  18. package/dist/series-Do02NQUF.js.map +1 -0
  19. package/dist/{smart-tooltip-BSlcAkBM.js → smart-tooltip-BEtBaIdz.js} +2 -2
  20. package/dist/{smart-tooltip-BSlcAkBM.js.map → smart-tooltip-BEtBaIdz.js.map} +1 -1
  21. package/dist/styles-dOu_pRNb.js +77 -0
  22. package/dist/styles-dOu_pRNb.js.map +1 -0
  23. package/dist/tooltip-BDnrRKrp.js +25 -0
  24. package/dist/tooltip-BDnrRKrp.js.map +1 -0
  25. package/dist/types/hooks/index.d.ts +2 -0
  26. package/dist/types/hooks/use-debounce.d.ts +19 -0
  27. package/dist/types/hooks/use-widget-ref.d.ts +17 -0
  28. package/dist/types/widgets/_shared/chart-config/config-factory.d.ts +5 -11
  29. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +3 -8
  30. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -0
  31. package/dist/types/widgets/actions/change-column/change-column.d.ts +16 -0
  32. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +9 -0
  33. package/dist/types/widgets/actions/change-column/types.d.ts +19 -0
  34. package/dist/types/widgets/actions/download/download.d.ts +1 -1
  35. package/dist/types/widgets/actions/download/exports.d.ts +1 -1
  36. package/dist/types/widgets/actions/download/types.d.ts +3 -11
  37. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +1 -1
  38. package/dist/types/widgets/actions/fullscreen/styles.d.ts +6 -0
  39. package/dist/types/widgets/actions/fullscreen/types.d.ts +8 -9
  40. package/dist/types/widgets/actions/index.d.ts +14 -1
  41. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +19 -0
  42. package/dist/types/widgets/actions/lock-selection/types.d.ts +38 -0
  43. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +18 -0
  44. package/dist/types/widgets/actions/relative-data/style.d.ts +8 -0
  45. package/dist/types/widgets/actions/relative-data/types.d.ts +27 -0
  46. package/dist/types/widgets/actions/relative-data/utils.d.ts +9 -0
  47. package/dist/types/widgets/actions/relative-data/utils.test.d.ts +1 -0
  48. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +18 -0
  49. package/dist/types/widgets/actions/searcher/searcher.d.ts +21 -0
  50. package/dist/types/widgets/actions/searcher/types.d.ts +64 -0
  51. package/dist/types/widgets/actions/shared/styles.d.ts +11 -0
  52. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -0
  53. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +16 -0
  54. package/dist/types/widgets/actions/stack-toggle/types.d.ts +25 -0
  55. package/dist/types/widgets/actions/zoom-toggle/index.d.ts +2 -0
  56. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +13 -0
  57. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +41 -0
  58. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +18 -0
  59. package/dist/types/widgets/bar/config.d.ts +5 -4
  60. package/dist/types/widgets/bar/index.d.ts +2 -2
  61. package/dist/types/widgets/bar/types.d.ts +6 -12
  62. package/dist/types/widgets/category/category-ui.d.ts +2 -0
  63. package/dist/types/widgets/category/components/category-bar.d.ts +7 -0
  64. package/dist/types/widgets/category/components/category-legend.d.ts +6 -0
  65. package/dist/types/widgets/category/components/category-row-multi.d.ts +11 -0
  66. package/dist/types/widgets/category/components/category-row-other.d.ts +6 -0
  67. package/dist/types/widgets/category/components/category-row-single.d.ts +11 -0
  68. package/dist/types/widgets/category/components/index.d.ts +10 -0
  69. package/dist/types/widgets/category/config.d.ts +16 -0
  70. package/dist/types/widgets/category/index.d.ts +6 -0
  71. package/dist/types/widgets/category/skeleton.d.ts +1 -0
  72. package/dist/types/widgets/category/style.d.ts +121 -0
  73. package/dist/types/widgets/category/types.d.ts +34 -0
  74. package/dist/types/widgets/echart/echart-ui.d.ts +1 -1
  75. package/dist/types/widgets/echart/index.d.ts +2 -2
  76. package/dist/types/widgets/echart/options.d.ts +2 -3
  77. package/dist/types/widgets/echart/types.d.ts +12 -10
  78. package/dist/types/widgets/echart/utils.d.ts +22 -16
  79. package/dist/types/widgets/error/error.d.ts +2 -0
  80. package/dist/types/widgets/error/index.d.ts +2 -0
  81. package/dist/types/widgets/error/types.d.ts +12 -0
  82. package/dist/types/widgets/formula/components/row.d.ts +1 -1
  83. package/dist/types/widgets/formula/config.d.ts +4 -2
  84. package/dist/types/widgets/formula/index.d.ts +2 -1
  85. package/dist/types/widgets/formula/types.d.ts +6 -18
  86. package/dist/types/widgets/histogram/config.d.ts +5 -4
  87. package/dist/types/widgets/histogram/index.d.ts +2 -2
  88. package/dist/types/widgets/histogram/types.d.ts +6 -12
  89. package/dist/types/widgets/index.d.ts +8 -4
  90. package/dist/types/widgets/loader/index.d.ts +3 -0
  91. package/dist/types/widgets/loader/loader.d.ts +2 -0
  92. package/dist/types/widgets/loader/types.d.ts +9 -0
  93. package/dist/types/widgets/loader/utils.d.ts +1 -0
  94. package/dist/types/widgets/markdown/config.d.ts +4 -2
  95. package/dist/types/widgets/markdown/index.d.ts +2 -2
  96. package/dist/types/widgets/markdown/markdown-ui.d.ts +1 -1
  97. package/dist/types/widgets/markdown/types.d.ts +6 -16
  98. package/dist/types/widgets/no-data/index.d.ts +2 -0
  99. package/dist/types/widgets/no-data/no-data.d.ts +35 -0
  100. package/dist/types/widgets/no-data/style.d.ts +6 -0
  101. package/dist/types/widgets/no-data/types.d.ts +67 -0
  102. package/dist/types/widgets/note/index.d.ts +2 -2
  103. package/dist/types/widgets/note/note.d.ts +2 -2
  104. package/dist/types/widgets/note/style.d.ts +12 -1
  105. package/dist/types/widgets/note/types.d.ts +4 -3
  106. package/dist/types/widgets/pie/config.d.ts +5 -4
  107. package/dist/types/widgets/pie/index.d.ts +2 -2
  108. package/dist/types/widgets/pie/types.d.ts +6 -12
  109. package/dist/types/widgets/range/config.d.ts +6 -2
  110. package/dist/types/widgets/range/index.d.ts +2 -1
  111. package/dist/types/widgets/range/types.d.ts +6 -17
  112. package/dist/types/widgets/scatterplot/config.d.ts +5 -4
  113. package/dist/types/widgets/scatterplot/index.d.ts +2 -2
  114. package/dist/types/widgets/scatterplot/types.d.ts +6 -12
  115. package/dist/types/widgets/selection-summary/index.d.ts +2 -0
  116. package/dist/types/widgets/selection-summary/selection-summary.d.ts +2 -0
  117. package/dist/types/widgets/{root → selection-summary}/style.d.ts +3 -2
  118. package/dist/types/widgets/selection-summary/types.d.ts +13 -0
  119. package/dist/types/widgets/spread/config.d.ts +10 -2
  120. package/dist/types/widgets/spread/index.d.ts +2 -1
  121. package/dist/types/widgets/spread/types.d.ts +6 -18
  122. package/dist/types/widgets/stores/index.d.ts +2 -0
  123. package/dist/types/widgets/stores/types.d.ts +104 -12
  124. package/dist/types/widgets/stores/widget-store.d.ts +2 -27
  125. package/dist/types/widgets/subheader/index.d.ts +2 -0
  126. package/dist/types/widgets/subheader/style.d.ts +19 -0
  127. package/dist/types/widgets/subheader/subheader.d.ts +2 -0
  128. package/dist/types/widgets/subheader/types.d.ts +10 -0
  129. package/dist/types/widgets/table/components/cell-header.d.ts +5 -0
  130. package/dist/types/widgets/table/components/cell.d.ts +16 -0
  131. package/dist/types/widgets/table/components/index.d.ts +4 -0
  132. package/dist/types/widgets/table/components/pagination-actions.d.ts +5 -0
  133. package/dist/types/widgets/table/components/pagination.d.ts +5 -0
  134. package/dist/types/widgets/table/components/row.d.ts +5 -0
  135. package/dist/types/widgets/table/config.d.ts +17 -0
  136. package/dist/types/widgets/table/helpers.d.ts +38 -0
  137. package/dist/types/widgets/table/helpers.test.d.ts +1 -0
  138. package/dist/types/widgets/table/hooks/index.d.ts +6 -0
  139. package/dist/types/widgets/table/hooks/use-pagination.d.ts +33 -0
  140. package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +1 -0
  141. package/dist/types/widgets/table/hooks/use-selection.d.ts +30 -0
  142. package/dist/types/widgets/table/hooks/use-selection.test.d.ts +1 -0
  143. package/dist/types/widgets/table/hooks/use-sort.d.ts +22 -0
  144. package/dist/types/widgets/table/hooks/use-sort.test.d.ts +1 -0
  145. package/dist/types/widgets/table/index.d.ts +13 -0
  146. package/dist/types/widgets/table/serializer.d.ts +16 -0
  147. package/dist/types/widgets/table/skeleton.d.ts +10 -0
  148. package/dist/types/widgets/table/style.d.ts +33 -0
  149. package/dist/types/widgets/table/table-ui.d.ts +32 -0
  150. package/dist/types/widgets/table/types.d.ts +196 -0
  151. package/dist/types/widgets/timeseries/config.d.ts +5 -4
  152. package/dist/types/widgets/timeseries/index.d.ts +2 -2
  153. package/dist/types/widgets/timeseries/types.d.ts +6 -12
  154. package/dist/types/widgets/toolbar-actions/index.d.ts +2 -0
  155. package/dist/types/widgets/toolbar-actions/styles.d.ts +37 -0
  156. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +8 -0
  157. package/dist/types/widgets/toolbar-actions/types.d.ts +45 -0
  158. package/dist/types/widgets/wrapper/index.d.ts +2 -2
  159. package/dist/types/widgets/wrapper/styles.d.ts +6 -0
  160. package/dist/types/widgets/wrapper/types.d.ts +7 -5
  161. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +1 -1
  162. package/dist/types/widgets/wrapper/wrapper.d.ts +1 -1
  163. package/dist/utils-Dv5Z47UQ.js +144 -0
  164. package/dist/utils-Dv5Z47UQ.js.map +1 -0
  165. package/dist/widget-store-CB6Trp_0.js +131 -0
  166. package/dist/widget-store-CB6Trp_0.js.map +1 -0
  167. package/dist/widgets/actions.js +834 -6
  168. package/dist/widgets/actions.js.map +1 -1
  169. package/dist/widgets/bar.js +190 -4
  170. package/dist/widgets/bar.js.map +1 -1
  171. package/dist/widgets/category.js +467 -0
  172. package/dist/widgets/category.js.map +1 -0
  173. package/dist/widgets/echart.js +120 -8
  174. package/dist/widgets/echart.js.map +1 -1
  175. package/dist/widgets/error.js +5 -0
  176. package/dist/widgets/error.js.map +1 -0
  177. package/dist/widgets/formula.js +118 -20
  178. package/dist/widgets/formula.js.map +1 -1
  179. package/dist/widgets/histogram.js +173 -4
  180. package/dist/widgets/histogram.js.map +1 -1
  181. package/dist/widgets/loader.js +57 -0
  182. package/dist/widgets/loader.js.map +1 -0
  183. package/dist/widgets/markdown.js +127 -0
  184. package/dist/widgets/markdown.js.map +1 -0
  185. package/dist/widgets/no-data.js +5 -0
  186. package/dist/widgets/no-data.js.map +1 -0
  187. package/dist/widgets/note.js +2 -2
  188. package/dist/widgets/pie.js +214 -4
  189. package/dist/widgets/pie.js.map +1 -1
  190. package/dist/widgets/range.js +210 -12
  191. package/dist/widgets/range.js.map +1 -1
  192. package/dist/widgets/scatterplot.js +220 -4
  193. package/dist/widgets/scatterplot.js.map +1 -1
  194. package/dist/widgets/selection-summary.js +40 -0
  195. package/dist/widgets/selection-summary.js.map +1 -0
  196. package/dist/widgets/skeleton-loader.js +21 -2
  197. package/dist/widgets/skeleton-loader.js.map +1 -1
  198. package/dist/widgets/spread.js +163 -17
  199. package/dist/widgets/spread.js.map +1 -1
  200. package/dist/widgets/stores.js +5 -0
  201. package/dist/widgets/stores.js.map +1 -0
  202. package/dist/widgets/subheader.js +52 -0
  203. package/dist/widgets/subheader.js.map +1 -0
  204. package/dist/widgets/table.js +683 -0
  205. package/dist/widgets/table.js.map +1 -0
  206. package/dist/widgets/timeseries.js +172 -4
  207. package/dist/widgets/timeseries.js.map +1 -1
  208. package/dist/widgets/toolbar-actions.js +6106 -0
  209. package/dist/widgets/toolbar-actions.js.map +1 -0
  210. package/dist/widgets/wrapper.js +292 -6
  211. package/dist/widgets/wrapper.js.map +1 -1
  212. package/dist/widgets.js +8 -83
  213. package/dist/widgets.js.map +1 -1
  214. package/package.json +49 -9
  215. package/dist/const-BLV7Tvte.js +0 -758
  216. package/dist/const-BLV7Tvte.js.map +0 -1
  217. package/dist/download-KroQ0SWg.js +0 -195
  218. package/dist/download-KroQ0SWg.js.map +0 -1
  219. package/dist/echart-CqfROFu3.js +0 -214
  220. package/dist/echart-CqfROFu3.js.map +0 -1
  221. package/dist/formula-ui-ChzvMEOG.js +0 -52
  222. package/dist/formula-ui-ChzvMEOG.js.map +0 -1
  223. package/dist/lasso-tool-BC-rsMMW.js.map +0 -1
  224. package/dist/markdown-n_tOtoiT.js +0 -27
  225. package/dist/markdown-n_tOtoiT.js.map +0 -1
  226. package/dist/markdown-ui-BBrzzd7Y.js +0 -62
  227. package/dist/markdown-ui-BBrzzd7Y.js.map +0 -1
  228. package/dist/note-DF-n70TX.js +0 -101
  229. package/dist/note-DF-n70TX.js.map +0 -1
  230. package/dist/range-ui-CtUX11Xm.js +0 -146
  231. package/dist/range-ui-CtUX11Xm.js.map +0 -1
  232. package/dist/root-L_WZnJY5.js +0 -46
  233. package/dist/root-L_WZnJY5.js.map +0 -1
  234. package/dist/row-DQaSxmDV.js +0 -18
  235. package/dist/row-DQaSxmDV.js.map +0 -1
  236. package/dist/series-CsyEPq-X.js +0 -83
  237. package/dist/series-CsyEPq-X.js.map +0 -1
  238. package/dist/skeleton-BSPcEvfq.js +0 -27
  239. package/dist/skeleton-BSPcEvfq.js.map +0 -1
  240. package/dist/skeleton-C4rOYTy-.js +0 -78
  241. package/dist/skeleton-C4rOYTy-.js.map +0 -1
  242. package/dist/skeleton-C9Jqc241.js +0 -82
  243. package/dist/skeleton-C9Jqc241.js.map +0 -1
  244. package/dist/skeleton-D-zHBBIw.js +0 -64
  245. package/dist/skeleton-D-zHBBIw.js.map +0 -1
  246. package/dist/skeleton-DMP-IwaJ.js +0 -109
  247. package/dist/skeleton-DMP-IwaJ.js.map +0 -1
  248. package/dist/skeleton-DRorqowB.js +0 -22
  249. package/dist/skeleton-DRorqowB.js.map +0 -1
  250. package/dist/skeleton-DsZhv-AH.js +0 -89
  251. package/dist/skeleton-DsZhv-AH.js.map +0 -1
  252. package/dist/skeleton-Dx3FCer0.js +0 -13
  253. package/dist/skeleton-Dx3FCer0.js.map +0 -1
  254. package/dist/skeleton-QVDdb1c2.js +0 -21
  255. package/dist/skeleton-QVDdb1c2.js.map +0 -1
  256. package/dist/skeleton-loader-DWC1-EAx.js +0 -23
  257. package/dist/skeleton-loader-DWC1-EAx.js.map +0 -1
  258. package/dist/spread-ui-BjzH190y.js +0 -82
  259. package/dist/spread-ui-BjzH190y.js.map +0 -1
  260. package/dist/style-BGeCtQkP.js +0 -19
  261. package/dist/style-BGeCtQkP.js.map +0 -1
  262. package/dist/style-C7v1iwqD.js +0 -34
  263. package/dist/style-C7v1iwqD.js.map +0 -1
  264. package/dist/styles-cohnxh9F.js +0 -23
  265. package/dist/styles-cohnxh9F.js.map +0 -1
  266. package/dist/types/widgets/config-loader/index.d.ts +0 -2
  267. package/dist/types/widgets/config-loader/types.d.ts +0 -12
  268. package/dist/types/widgets/config-loader/use-config.d.ts +0 -5
  269. package/dist/types/widgets/root/index.d.ts +0 -2
  270. package/dist/types/widgets/root/root.d.ts +0 -2
  271. package/dist/types/widgets/root/types.d.ts +0 -15
  272. package/dist/types/widgets/widget/const.d.ts +0 -2
  273. package/dist/types/widgets/widget/types.d.ts +0 -47
  274. package/dist/types/widgets/widget/widget.d.ts +0 -2
  275. package/dist/use-config-BYEOiIcu.js +0 -43
  276. package/dist/use-config-BYEOiIcu.js.map +0 -1
  277. package/dist/widget-store-yDO2ul8g.js +0 -44
  278. package/dist/widget-store-yDO2ul8g.js.map +0 -1
  279. package/dist/widgets/config-loader.js +0 -5
  280. package/dist/widgets/config-loader.js.map +0 -1
  281. package/dist/widgets/root.js +0 -5
  282. package/dist/widgets/root.js.map +0 -1
  283. package/dist/wrapper-57csMybC.js +0 -265
  284. package/dist/wrapper-57csMybC.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ import { Theme } from '@mui/material';
2
+ /**
3
+ * Shared styles for widget action buttons
4
+ */
5
+ export declare const actionButtonStyles: {
6
+ trigger: {
7
+ '&[data-active="true"]': {
8
+ background: (theme: Theme) => string;
9
+ };
10
+ };
11
+ };
@@ -0,0 +1 @@
1
+ export declare const GroupedBarChartIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { StackToggleProps } from './types';
2
+ /**
3
+ * Widget action to toggle stacking behavior in ECharts bar and histogram widgets.
4
+ *
5
+ * Stores the stack state in the widget store and updates the ECharts option
6
+ * using getEChartStackConfig to apply stacking to all series.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * <StackToggle
11
+ * id="my-widget"
12
+ * defaultIsStacked={false}
13
+ * />
14
+ * ```
15
+ */
16
+ export declare function StackToggle({ id, defaultIsStacked, labels, Icon, IconButtonProps, }: StackToggleProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { IconButtonProps } from '@mui/material';
2
+ import { ReactNode } from 'react';
3
+ import { BaseWidgetState } from '../../stores/types';
4
+ export interface StackToggleProps {
5
+ /** Widget ID to update stack configuration in the widget store */
6
+ id: string;
7
+ /** Initial toggle state - when true, starts with stacking enabled */
8
+ defaultIsStacked?: boolean;
9
+ /** Custom labels for the action */
10
+ labels?: {
11
+ /** Tooltip when stacking is disabled (button will enable stacking) */
12
+ stacked?: string;
13
+ /** Tooltip when stacking is enabled (button will disable stacking) */
14
+ unstacked?: string;
15
+ /** Accessibility label */
16
+ ariaLabel?: string;
17
+ };
18
+ /** Props passed to the IconButton component */
19
+ IconButtonProps?: IconButtonProps;
20
+ /** Custom icon to display */
21
+ Icon?: ReactNode;
22
+ }
23
+ export type StackToggleState<T = unknown> = BaseWidgetState<T & {
24
+ isStacked?: boolean;
25
+ }>;
@@ -0,0 +1,2 @@
1
+ export { ZoomToggle } from './zoom-toggle';
2
+ export type { ZoomToggleProps, ZoomState, ZoomConfig } from './types';
@@ -0,0 +1,13 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const styles: {
3
+ container: {
4
+ display: "flex";
5
+ alignItems: "center";
6
+ gap: ({ spacing }: Theme) => string;
7
+ };
8
+ trigger: {
9
+ '&[data-active="true"]': {
10
+ background: (theme: Theme) => string;
11
+ };
12
+ };
13
+ };
@@ -0,0 +1,41 @@
1
+ import { IconButtonProps } from '@mui/material';
2
+ import { ReactNode } from 'react';
3
+ import { BaseWidgetState } from '../../stores/types';
4
+ /**
5
+ * State stored in widget store for zoom functionality
6
+ */
7
+ export interface ZoomConfig {
8
+ zoom?: boolean;
9
+ /** Start percentage for zoom range (0-100) */
10
+ zoomStart?: number;
11
+ /** End percentage for zoom range (0-100) */
12
+ zoomEnd?: number;
13
+ }
14
+ export type ZoomState<T = unknown> = BaseWidgetState<T & ZoomConfig>;
15
+ export interface ZoomToggleProps {
16
+ /** Widget ID to update zoom state in the widget store */
17
+ id: string;
18
+ /** Initial zoom state - when true, zoom is enabled */
19
+ defaultZoom?: boolean;
20
+ /** Initial start percentage for zoom range (0-100) */
21
+ defaultZoomStart?: number;
22
+ /** Initial end percentage for zoom range (0-100) */
23
+ defaultZoomEnd?: number;
24
+ /** Custom labels for the action */
25
+ labels?: {
26
+ /** Tooltip when zoom is disabled (button will enable zoom) */
27
+ enable?: string;
28
+ /** Tooltip when zoom is enabled (button will disable zoom) */
29
+ disable?: string;
30
+ /** Tooltip for reset button */
31
+ reset?: string;
32
+ /** Accessibility label */
33
+ ariaLabel?: string;
34
+ };
35
+ /** Props passed to the IconButton component */
36
+ IconButtonProps?: IconButtonProps;
37
+ /** Custom icon to display for zoom toggle */
38
+ Icon?: ReactNode;
39
+ /** Custom icon to display for reset button */
40
+ ResetIcon?: ReactNode;
41
+ }
@@ -0,0 +1,18 @@
1
+ import { ZoomToggleProps } from './types';
2
+ /**
3
+ * Widget action to toggle EChart zoom functionality.
4
+ *
5
+ * When zoom is active, displays an inline reset button to disable zoom.
6
+ * Only intended for use in fullscreen ToolbarActions for bar and histogram widgets.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * <ZoomToggle
11
+ * id="my-widget"
12
+ * defaultZoom={false}
13
+ * zoomStart={0}
14
+ * zoomEnd={100}
15
+ * />
16
+ * ```
17
+ */
18
+ export declare function ZoomToggle({ id, defaultZoom, defaultZoomStart, defaultZoomEnd, labels, Icon, ResetIcon, IconButtonProps, }: ZoomToggleProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,5 @@
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">;
1
+ import { BarConfig, BarWidgetConfig, BarWidgetData } from './types';
2
+ import { DownloadItem } from '../actions';
3
+ import { ConfigProps } from '../loader/types';
4
+ export declare function barDownloadConfig({ refUI, }: ConfigProps): DownloadItem<BarWidgetData>[];
5
+ export declare function barConfig(props: BarConfig): BarWidgetConfig;
@@ -1,3 +1,3 @@
1
- export type { BarProps, BarWidgetData, BarWidgetState, BarWidgetConfig, } from './types';
2
- export { barConfig } from './config';
1
+ export { barConfig, barDownloadConfig } from './config';
3
2
  export { BarSkeleton } from './skeleton';
3
+ export type { BarWidgetData, BarWidgetState, BarConfig, BarWidgetConfig, } from './types';
@@ -1,15 +1,9 @@
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
- }
1
+ import { EchartWidgetData, EchartWidgetState } from '../echart';
2
+ import { EchartWidgetOptionProps, EchartWidgetProps } from '../echart/types';
3
+ import { ConfigProps } from '../loader';
8
4
  export type BarWidgetData = EchartWidgetData;
9
5
  export type BarWidgetState = EchartWidgetState;
10
- export type BarWidgetConfig = BarConfig & EchartWidgetConfig & {
11
- type: BarProps['type'];
6
+ export type BarWidgetConfig = EchartWidgetProps & {
7
+ type: 'bar';
12
8
  };
13
- export interface BarConfig extends Omit<BaseConfig, 'data'> {
14
- data?: BarWidgetData;
15
- }
9
+ export type BarConfig = ConfigProps & EchartWidgetOptionProps<BarWidgetData>;
@@ -0,0 +1,2 @@
1
+ import { CategoryUIProps } from './types';
2
+ export declare function CategoryUI({ id }: CategoryUIProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,7 @@
1
+ export interface CategoryBarProps {
2
+ value: number;
3
+ maxValue: number;
4
+ color: string;
5
+ selected?: boolean;
6
+ }
7
+ export declare function CategoryBar({ value, maxValue, color, selected, }: CategoryBarProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { CategorySeriesConfig } from '../types';
2
+ export interface CategoryLegendProps {
3
+ series: CategorySeriesConfig[];
4
+ colors: string[];
5
+ }
6
+ export declare function CategoryLegend({ series, colors }: CategoryLegendProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,11 @@
1
+ import { CategoryWidgetConfig } from '../types';
2
+ export interface CategoryRowMultiProps {
3
+ name: string;
4
+ values: number[];
5
+ maxValue: number;
6
+ colors: string[];
7
+ formatter: NonNullable<CategoryWidgetConfig['formatter']>;
8
+ onClick?: CategoryWidgetConfig['onRowClick'];
9
+ selected?: boolean;
10
+ }
11
+ export declare function CategoryRowMulti({ name, values, maxValue, colors, formatter, onClick, selected, }: CategoryRowMultiProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export interface CategoryRowOtherProps {
2
+ hiddenCount: number;
3
+ otherLabel?: string;
4
+ otherCountLabel?: string;
5
+ }
6
+ export declare function CategoryRowOther({ hiddenCount, otherLabel, otherCountLabel, }: CategoryRowOtherProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { CategoryWidgetConfig } from '../types';
2
+ export interface CategoryRowSingleProps {
3
+ name: string;
4
+ value: number;
5
+ maxValue: number;
6
+ color: string;
7
+ formatter: NonNullable<CategoryWidgetConfig['formatter']>;
8
+ onClick?: CategoryWidgetConfig['onRowClick'];
9
+ selected?: boolean;
10
+ }
11
+ export declare function CategoryRowSingle({ name, value, maxValue, color, formatter, onClick, selected, }: CategoryRowSingleProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ export { CategoryBar } from './category-bar';
2
+ export type { CategoryBarProps } from './category-bar';
3
+ export { CategoryRowSingle } from './category-row-single';
4
+ export type { CategoryRowSingleProps } from './category-row-single';
5
+ export { CategoryRowMulti } from './category-row-multi';
6
+ export type { CategoryRowMultiProps } from './category-row-multi';
7
+ export { CategoryRowOther } from './category-row-other';
8
+ export type { CategoryRowOtherProps } from './category-row-other';
9
+ export { CategoryLegend } from './category-legend';
10
+ export type { CategoryLegendProps } from './category-legend';
@@ -0,0 +1,16 @@
1
+ import { DownloadItem } from '../actions';
2
+ import { ConfigProps } from '../loader/types';
3
+ import { CategoryWidgetConfig, CategoryWidgetData, CategorySeriesConfig, CategoryLabels } from './types';
4
+ export interface CategoryDownloadConfigProps extends ConfigProps {
5
+ series?: CategorySeriesConfig[];
6
+ }
7
+ export interface CategoryConfigProps {
8
+ data?: CategoryWidgetData;
9
+ series?: CategorySeriesConfig[];
10
+ formatter?: (value: number) => string;
11
+ maxItems?: number;
12
+ labels?: CategoryLabels;
13
+ max?: number;
14
+ }
15
+ export declare function categoryDownloadConfig({ refUI, series, }: CategoryDownloadConfigProps): DownloadItem<CategoryWidgetData>[];
16
+ export declare function categoryConfig(): CategoryWidgetConfig;
@@ -0,0 +1,6 @@
1
+ export { CategoryUI } from './category-ui';
2
+ export { CategorySkeleton } from './skeleton';
3
+ export { categoryConfig, categoryDownloadConfig } from './config';
4
+ export { CategoryBar, CategoryRowSingle, CategoryRowMulti, CategoryLegend, CategoryRowOther, } from './components';
5
+ export type { CategoryBarProps, CategoryRowSingleProps, CategoryRowMultiProps, CategoryLegendProps, CategoryRowOtherProps, } from './components';
6
+ export type { CategoryUIProps, CategoryWidgetData, CategoryWidgetState, CategoryWidgetConfig, CategoryDownloadConfig, CategoryDataItem, CategorySeriesConfig, CategoryLabels, } from './types';
@@ -0,0 +1 @@
1
+ export declare function CategorySkeleton(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,121 @@
1
+ import { Theme } from '@mui/material';
2
+ export declare const styles: {
3
+ root: {
4
+ display: "flex";
5
+ flexDirection: "column";
6
+ position: "relative";
7
+ overflow: "auto";
8
+ };
9
+ list: {
10
+ display: "flex";
11
+ flexDirection: "column";
12
+ gap: (theme: Theme) => string;
13
+ };
14
+ row: {
15
+ display: "flex";
16
+ flexDirection: "column";
17
+ gap: (theme: Theme) => string;
18
+ pointerEvents: "none";
19
+ };
20
+ rowClickable: {
21
+ pointerEvents: "auto";
22
+ };
23
+ rowHeader: {
24
+ display: "flex";
25
+ justifyContent: "space-between";
26
+ alignItems: "center";
27
+ };
28
+ rowLabel: {
29
+ typography: string;
30
+ fontWeight: string;
31
+ color: "text.primary";
32
+ };
33
+ rowValue: {
34
+ typography: string;
35
+ color: "text.secondary";
36
+ };
37
+ barContainer: {
38
+ display: "flex";
39
+ flexDirection: "column";
40
+ };
41
+ bar: {
42
+ height: number;
43
+ borderRadius: number;
44
+ backgroundColor: (theme: Theme) => string;
45
+ overflow: "hidden";
46
+ position: "relative";
47
+ transition: "background-color 0.15s ease-in-out";
48
+ cursor: "pointer";
49
+ '&:hover': {
50
+ backgroundColor: (theme: Theme) => string;
51
+ '& > div': {
52
+ filter: "brightness(1.2)";
53
+ };
54
+ };
55
+ };
56
+ barFill: {
57
+ height: string;
58
+ borderRadius: number;
59
+ transition: "width 0.3s ease-in-out, background-color 0.15s ease-in-out";
60
+ };
61
+ barFillMuted: {
62
+ backgroundColor: (theme: Theme) => string;
63
+ };
64
+ legend: {
65
+ display: "flex";
66
+ alignItems: "center";
67
+ gap: (theme: Theme) => string;
68
+ flexWrap: "wrap";
69
+ paddingTop: (theme: Theme) => string;
70
+ position: "sticky";
71
+ bottom: number;
72
+ backgroundColor: "background.paper";
73
+ borderTop: (theme: Theme) => string;
74
+ marginTop: (theme: Theme) => string;
75
+ };
76
+ legendItem: {
77
+ display: "flex";
78
+ alignItems: "center";
79
+ gap: (theme: Theme) => string;
80
+ };
81
+ legendDot: {
82
+ width: number;
83
+ height: number;
84
+ borderRadius: string;
85
+ };
86
+ legendLabel: {
87
+ typography: string;
88
+ color: "text.secondary";
89
+ textTransform: "uppercase";
90
+ fontWeight: string;
91
+ };
92
+ multiBarRow: {
93
+ display: "flex";
94
+ alignItems: "center";
95
+ gap: (theme: Theme) => string;
96
+ };
97
+ multiBarValue: {
98
+ typography: string;
99
+ color: "text.secondary";
100
+ minWidth: number;
101
+ textAlign: "right";
102
+ };
103
+ multiBarContainer: {
104
+ flex: number;
105
+ };
106
+ otherRow: {
107
+ display: "flex";
108
+ justifyContent: "space-between";
109
+ alignItems: "center";
110
+ };
111
+ otherLabel: {
112
+ typography: string;
113
+ fontWeight: string;
114
+ color: "text.secondary";
115
+ fontStyle: "italic";
116
+ };
117
+ otherCount: {
118
+ typography: string;
119
+ color: "text.disabled";
120
+ };
121
+ };
@@ -0,0 +1,34 @@
1
+ import { BaseWidgetState, WidgetsStoreProps } from '../stores/types';
2
+ import { WrapperState } from '../wrapper/types';
3
+ import { DownloadItem } from '../actions/download/types';
4
+ export interface CategoryUIProps {
5
+ id: WidgetsStoreProps['id'];
6
+ }
7
+ export interface CategorySeriesConfig {
8
+ name: string;
9
+ color?: string;
10
+ }
11
+ export interface CategoryLabels {
12
+ other?: string;
13
+ otherCount?: string;
14
+ }
15
+ export interface CategoryDataItem extends Record<string, string | number> {
16
+ name: string;
17
+ value: number;
18
+ }
19
+ export type CategoryWidgetData = CategoryDataItem[][];
20
+ export type CategoryWidgetState = BaseWidgetState<WrapperState<CategoryWidgetConfig> & {
21
+ data: CategoryWidgetData;
22
+ }>;
23
+ export interface CategoryWidgetConfig {
24
+ formatter?: (value: number) => string;
25
+ series?: CategorySeriesConfig[];
26
+ maxItems?: number;
27
+ labels?: CategoryLabels;
28
+ onRowClick?: ({ name }: {
29
+ name: string;
30
+ }) => void;
31
+ selected?: (name: string) => boolean;
32
+ max?: number;
33
+ }
34
+ export type CategoryDownloadConfig = DownloadItem<CategoryWidgetData>[];
@@ -1,2 +1,2 @@
1
1
  import { EchartUIProps } from './types';
2
- export declare function EchartUI({ ref, init, option, className, style, onEvents, }: EchartUIProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function EchartUI({ id, ref, init, option, className, style, onEvents, }: EchartUIProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export { Echart } from './echart';
2
2
  export { EchartUI } from './echart-ui';
3
- export type { EchartProps, EchartOptionsProps, EchartUIProps, EchartWidgetData, EchartWidgetState, EchartWidgetConfig, EchartWidgetProps, } from './types';
3
+ export type { EchartProps, EchartOptionsProps, EchartUIProps, EchartWidgetData, EchartWidgetState, } from './types';
4
4
  export { getCommonOptions } from './options';
5
- export { mergeWidgetConfig, getEChartBrushConfig, getEChartStackConfig, getEChartZoomConfig, } from './utils';
5
+ export { mergeEchartWidgetConfig, getEChartBrushConfig, getEChartStackConfig, getEChartZoomConfig, } from './utils';
@@ -1,3 +1,2 @@
1
- import { EchartOptionsProps } from './types';
2
- import { theme as CartoTheme } from '@carto/meridian-ds/theme';
3
- export declare function getCommonOptions(theme: typeof CartoTheme): EchartOptionsProps;
1
+ import { EchartOptionsProps, EchartWidgetOptionProps } from './types';
2
+ export declare function getCommonOptions({ theme, }: EchartWidgetOptionProps<unknown>): EchartOptionsProps;
@@ -1,14 +1,11 @@
1
1
  import { EChartsOption } from 'echarts';
2
2
  import { BaseWidgetState } from '../stores/types';
3
- import { WrapperState } from '../wrapper/types';
4
- import { DownloadState, FullScreenState } from '../actions';
5
- import { FullScreenConfigProps } from '../actions/fullscreen/types';
6
- import { DownloadConfigProps } from '../actions/download/types';
7
- import { ConfigProps } from '../config-loader';
8
3
  import { Ref } from 'react';
4
+ import { theme as CartoTheme } from '@carto/meridian-ds/theme';
9
5
  import type * as echarts from 'echarts';
10
6
  export type EchartOptionsProps = EChartsOption;
11
7
  export interface EchartUIProps {
8
+ id: string;
12
9
  option: EchartOptionsProps;
13
10
  className?: string;
14
11
  init?: echarts.EChartsInitOpts;
@@ -17,15 +14,20 @@ export interface EchartUIProps {
17
14
  onEvents?: Record<string, Parameters<echarts.ECharts['on']>[2]>;
18
15
  }
19
16
  export interface EchartProps {
20
- id: string;
17
+ id: EchartUIProps['id'];
21
18
  }
22
19
  export type EchartWidgetData = Record<string, string | number>[][];
23
- export type EchartWidgetState = BaseWidgetState<WrapperState<FullScreenState<DownloadState<EchartWidgetProps, EchartWidgetData> & {
20
+ export type EchartWidgetState = BaseWidgetState<{
24
21
  option: EchartUIProps['option'];
25
22
  onEvents?: EchartUIProps['onEvents'];
26
23
  init?: EchartUIProps['init'];
27
- }>>>;
28
- export type EchartWidgetConfig<D = EchartWidgetData> = FullScreenConfigProps & DownloadConfigProps<D> & EchartUIProps;
24
+ }>;
25
+ export interface EchartWidgetOptionProps<D> {
26
+ data?: D;
27
+ theme: typeof CartoTheme;
28
+ }
29
29
  export interface EchartWidgetProps {
30
- config?: ConfigProps<EchartWidgetConfig>['config'];
30
+ type: string;
31
+ option: EchartUIProps['option'];
32
+ onEvents?: EchartUIProps['onEvents'];
31
33
  }
@@ -1,14 +1,16 @@
1
1
  import { EchartOptionsProps } from './types';
2
2
  import { Theme } from '@mui/material';
3
- export declare function mergeWidgetConfig<T extends EchartOptionsProps>(...options: [T, T]): T;
4
- export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
3
+ export declare function mergeEchartWidgetConfig<T extends EchartOptionsProps>(...options: [T | undefined, T | undefined]): T;
4
+ export declare function getEChartZoomConfig(zoom: boolean, { start, end }?: {
5
5
  start: number;
6
6
  end: number;
7
- } | undefined, { inside, xSlider, ySlider }: {
8
- inside?: boolean | undefined;
9
- xSlider?: boolean | undefined;
10
- ySlider?: boolean | undefined;
11
- } | undefined, theme: Theme): {
7
+ }, { inside, xSlider, ySlider, showSliders, xAxisLabelFormatter, }?: {
8
+ inside?: boolean;
9
+ xSlider?: boolean;
10
+ ySlider?: boolean;
11
+ showSliders?: boolean;
12
+ xAxisLabelFormatter?: (value: number) => string;
13
+ }, theme?: Theme): {
12
14
  dataZoom: ({
13
15
  throttle: number;
14
16
  type: string;
@@ -19,8 +21,6 @@ export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
19
21
  start: number;
20
22
  end: number;
21
23
  orientation?: undefined;
22
- bottom?: undefined;
23
- left?: undefined;
24
24
  } | {
25
25
  throttle: number;
26
26
  type: string;
@@ -31,24 +31,33 @@ export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
31
31
  orientation: string;
32
32
  xAxisIndex?: undefined;
33
33
  yAxisIndex?: undefined;
34
- bottom?: undefined;
35
- left?: undefined;
36
34
  } | {
35
+ brushSelect: boolean;
36
+ moveHandleSize: number;
37
+ handleSize: string;
38
+ handleIcon: string;
37
39
  throttle: number;
38
40
  type: string;
39
41
  xAxisIndex: number[];
40
42
  bottom: number;
43
+ height: number;
41
44
  show: boolean;
42
45
  zoomLock: boolean;
43
46
  start: number;
44
47
  end: number;
48
+ labelFormatter: ((value: number) => string) | undefined;
49
+ showDetail: boolean;
45
50
  yAxisIndex?: undefined;
46
51
  orientation?: undefined;
47
- left?: undefined;
48
52
  } | {
53
+ brushSelect: boolean;
54
+ moveHandleSize: number;
55
+ handleSize: string;
56
+ handleIcon: string;
49
57
  throttle: number;
50
58
  type: string;
51
59
  left: number;
60
+ width: number;
52
61
  yAxisIndex: number[];
53
62
  show: boolean;
54
63
  zoomLock: boolean;
@@ -56,7 +65,6 @@ export declare function getEChartZoomConfig(zoom: boolean, { start, end }: {
56
65
  end: number;
57
66
  xAxisIndex?: undefined;
58
67
  orientation?: undefined;
59
- bottom?: undefined;
60
68
  })[];
61
69
  };
62
70
  export declare function getEChartBrushConfig(brush: boolean): {
@@ -68,7 +76,5 @@ export declare function getEChartBrushConfig(brush: boolean): {
68
76
  brush?: undefined;
69
77
  };
70
78
  export declare function getEChartStackConfig(stack: boolean, stackGroup?: string): {
71
- stack: string;
72
- } | {
73
- stack?: undefined;
79
+ stack: string | undefined;
74
80
  };
@@ -0,0 +1,2 @@
1
+ import { WidgetErrorProps } from './types';
2
+ export declare function WidgetError({ id, children }: WidgetErrorProps): string | number | bigint | boolean | Iterable<import('react').ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<import('react').ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
@@ -0,0 +1,2 @@
1
+ export { WidgetError } from './error';
2
+ export type { WidgetErrorProps } from './types';
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ import { WidgetState } from '../stores/types';
3
+ export interface WidgetErrorProps {
4
+ /**
5
+ * Widget ID to fetch error state from store
6
+ */
7
+ id: WidgetState['id'];
8
+ /**
9
+ * Children to render when no error exists
10
+ */
11
+ children: ReactNode;
12
+ }
@@ -1,2 +1,2 @@
1
1
  import { RowProps } from '../types';
2
- export declare function Row(props: RowProps): import("react/jsx-runtime").JSX.Element[] | null | undefined;
2
+ export declare function Row(props: RowProps): import("react/jsx-runtime").JSX.Element[] | undefined;
@@ -1,2 +1,4 @@
1
- import { FormulaConfig, FormulaWidgetConfig } from './types';
2
- export declare function formulaConfig({ refUI, data, ...props }: FormulaConfig): FormulaWidgetConfig;
1
+ import { ConfigProps } from '../loader/types';
2
+ import { FormulaDownloadConfig, FormulaWidgetConfig } from './types';
3
+ export declare function formulaDownloadConfig({ refUI, }: ConfigProps): FormulaDownloadConfig;
4
+ export declare function formulaConfig(): FormulaWidgetConfig;
@@ -4,7 +4,8 @@ export { Prefix } from './components/prefix';
4
4
  export { Suffix } from './components/suffix';
5
5
  export { Series } from './components/series';
6
6
  export { Row } from './components/row';
7
+ export { formulaConfig, formulaDownloadConfig } from './config';
7
8
  export { FormulaUI } from './formula-ui';
8
9
  export { FormulaSkeleton } from './skeleton';
9
- export type { RowProps, ValueProps, FormulaWidgetState, ItemProps, DataItem, FormulaUIProps, SeriesConfig, } from './types';
10
10
  export { sanitizeDataItem, sanitizeDataItems } from './serializer';
11
+ export type { DataItem, FormulaDownloadConfig, FormulaUIProps, FormulaWidgetConfig, FormulaWidgetData, FormulaWidgetState, ItemProps, RowProps, SeriesConfig, ValueProps, } from './types';