@carto/ps-react-ui 5.0.0-widgets.9 → 5.0.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 (1418) hide show
  1. package/dist/actions-CGJD6q0t.js +1318 -0
  2. package/dist/actions-CGJD6q0t.js.map +1 -0
  3. package/dist/actions-yPZwFxSZ.js +1004 -0
  4. package/dist/actions-yPZwFxSZ.js.map +1 -0
  5. package/dist/category-DGUDabsi.js +829 -0
  6. package/dist/category-DGUDabsi.js.map +1 -0
  7. package/dist/chart-config-B_fdIcD3.js +108 -0
  8. package/dist/chart-config-B_fdIcD3.js.map +1 -0
  9. package/dist/chat.js +1642 -0
  10. package/dist/chat.js.map +1 -0
  11. package/dist/cjs-CBrZjPCj.js +75 -0
  12. package/dist/cjs-CBrZjPCj.js.map +1 -0
  13. package/dist/components-FED-ArwH.js +4053 -0
  14. package/dist/components-FED-ArwH.js.map +1 -0
  15. package/dist/components.js +5 -1351
  16. package/dist/copy-button-TTlZONkX.js +34 -0
  17. package/dist/copy-button-TTlZONkX.js.map +1 -0
  18. package/dist/csv-modifiers-D6HGC24b.js +26 -0
  19. package/dist/csv-modifiers-D6HGC24b.js.map +1 -0
  20. package/dist/download-DdaK3qgC.js +232 -0
  21. package/dist/download-DdaK3qgC.js.map +1 -0
  22. package/dist/echart-BkaV3V5G.js +133 -0
  23. package/dist/echart-BkaV3V5G.js.map +1 -0
  24. package/dist/echart-DeBgdOtX.js +250 -0
  25. package/dist/echart-DeBgdOtX.js.map +1 -0
  26. package/dist/formatter-wVO81tYk.js +6 -0
  27. package/dist/formatter-wVO81tYk.js.map +1 -0
  28. package/dist/formula-YfZmmuYX.js +190 -0
  29. package/dist/formula-YfZmmuYX.js.map +1 -0
  30. package/dist/formula-noJzQwKo.js +285 -0
  31. package/dist/formula-noJzQwKo.js.map +1 -0
  32. package/dist/hooks-zf5gKZYq.js +22 -0
  33. package/dist/hooks-zf5gKZYq.js.map +1 -0
  34. package/dist/legend/stores.js +2 -0
  35. package/dist/legend.js +2284 -0
  36. package/dist/legend.js.map +1 -0
  37. package/dist/markdown-2dfL6Cmb.js +165 -0
  38. package/dist/markdown-2dfL6Cmb.js.map +1 -0
  39. package/dist/markdown-content-BWUqwx9F.js +8776 -0
  40. package/dist/markdown-content-BWUqwx9F.js.map +1 -0
  41. package/dist/range-BCMAl5xf.js +277 -0
  42. package/dist/range-BCMAl5xf.js.map +1 -0
  43. package/dist/rolldown-runtime-B0aSnxlc.js +20 -0
  44. package/dist/row-CvVGBuy_.js +35 -0
  45. package/dist/row-CvVGBuy_.js.map +1 -0
  46. package/dist/shared-resize-observer-BEiP2rQt.js +157 -0
  47. package/dist/shared-resize-observer-BEiP2rQt.js.map +1 -0
  48. package/dist/smart-tooltip-CwGHCqab.js +34 -0
  49. package/dist/smart-tooltip-CwGHCqab.js.map +1 -0
  50. package/dist/spread-Ccpg9fi0.js +149 -0
  51. package/dist/spread-Ccpg9fi0.js.map +1 -0
  52. package/dist/stores-mad-9yFn.js +369 -0
  53. package/dist/stores-mad-9yFn.js.map +1 -0
  54. package/dist/stores-tiFePP0A.js +243 -0
  55. package/dist/stores-tiFePP0A.js.map +1 -0
  56. package/dist/styles-Y-qGBELO.js +13 -0
  57. package/dist/styles-Y-qGBELO.js.map +1 -0
  58. package/dist/table-Bx9Uj3U0.js +440 -0
  59. package/dist/table-Bx9Uj3U0.js.map +1 -0
  60. package/dist/tooltip-DJUGNZxY.js +23 -0
  61. package/dist/tooltip-DJUGNZxY.js.map +1 -0
  62. package/dist/types/chat/bubbles/chat-agent-message-markdown.d.ts +12 -0
  63. package/dist/types/chat/bubbles/chat-agent-message.d.ts +9 -0
  64. package/dist/types/chat/bubbles/chat-error-message.d.ts +2 -0
  65. package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +2 -0
  66. package/dist/types/chat/bubbles/chat-user-message.d.ts +2 -0
  67. package/dist/types/chat/bubbles/index.d.ts +5 -0
  68. package/dist/types/chat/bubbles/styles.d.ts +88 -0
  69. package/dist/types/chat/const.d.ts +4 -0
  70. package/dist/types/chat/containers/chat-content.d.ts +2 -0
  71. package/dist/types/chat/containers/chat-footer.d.ts +2 -0
  72. package/dist/types/chat/containers/chat-header.d.ts +2 -0
  73. package/dist/types/chat/containers/chat-starter.d.ts +2 -0
  74. package/dist/types/chat/containers/index.d.ts +4 -0
  75. package/dist/types/chat/containers/styles.d.ts +160 -0
  76. package/dist/types/chat/feedback/chat-actions-container.d.ts +3 -0
  77. package/dist/types/chat/feedback/chat-loader.d.ts +2 -0
  78. package/dist/types/chat/feedback/chat-rating-action.d.ts +2 -0
  79. package/dist/types/chat/feedback/chat-thinking.d.ts +2 -0
  80. package/dist/types/chat/feedback/chat-tool-code-area.d.ts +2 -0
  81. package/dist/types/chat/feedback/chat-tool-full-view-dialog.d.ts +2 -0
  82. package/dist/types/chat/feedback/chat-tool-group.d.ts +2 -0
  83. package/dist/types/chat/feedback/chat-tool-trace.d.ts +3 -0
  84. package/dist/types/chat/feedback/get-tool-label.d.ts +2 -0
  85. package/dist/types/chat/feedback/index.d.ts +8 -0
  86. package/dist/types/chat/feedback/styles.d.ts +212 -0
  87. package/dist/types/chat/index.d.ts +21 -0
  88. package/dist/types/chat/types.d.ts +214 -0
  89. package/dist/types/chat/use-typewriter.d.ts +32 -0
  90. package/dist/types/components/basemaps/basemaps.d.ts +21 -1
  91. package/dist/types/components/basemaps/const.d.ts +1 -1
  92. package/dist/types/components/basemaps/group-wrapper.d.ts +1 -1
  93. package/dist/types/components/basemaps/group.d.ts +2 -2
  94. package/dist/types/components/basemaps/header.d.ts +2 -2
  95. package/dist/types/components/common-types.d.ts +49 -0
  96. package/dist/types/components/copy-button/copy-button.d.ts +2 -0
  97. package/dist/types/components/copy-button/types.d.ts +6 -0
  98. package/dist/types/components/geolocation-controls/geolocation-controls.d.ts +12 -1
  99. package/dist/types/components/index.d.ts +37 -20
  100. package/dist/types/components/lasso-tool/chip.d.ts +2 -2
  101. package/dist/types/components/lasso-tool/const.d.ts +2 -2
  102. package/dist/types/components/lasso-tool/edit-confirm-toolbar.d.ts +26 -0
  103. package/dist/types/components/lasso-tool/geometry-toolbar.d.ts +49 -0
  104. package/dist/types/components/lasso-tool/icons.d.ts +22 -5
  105. package/dist/types/components/lasso-tool/lasso-tool-inline.d.ts +36 -3
  106. package/dist/types/components/lasso-tool/lasso-tool.d.ts +34 -9
  107. package/dist/types/components/lasso-tool/layer-filters.d.ts +10 -0
  108. package/dist/types/components/lasso-tool/message.d.ts +7 -0
  109. package/dist/types/components/lasso-tool/options-sections.d.ts +28 -0
  110. package/dist/types/components/lasso-tool/styles.d.ts +24 -2
  111. package/dist/types/components/lasso-tool/toolbar/actions/accept-action.d.ts +13 -0
  112. package/dist/types/components/lasso-tool/toolbar/actions/action-menu.d.ts +28 -0
  113. package/dist/types/components/lasso-tool/toolbar/actions/cancel-action.d.ts +13 -0
  114. package/dist/types/components/lasso-tool/toolbar/actions/color-action.d.ts +44 -0
  115. package/dist/types/components/lasso-tool/toolbar/actions/delete-action.d.ts +11 -0
  116. package/dist/types/components/lasso-tool/toolbar/actions/duplicate-action.d.ts +11 -0
  117. package/dist/types/components/lasso-tool/toolbar/actions/edit-geometry-action.d.ts +13 -0
  118. package/dist/types/components/lasso-tool/toolbar/actions/edit-properties-action.d.ts +60 -0
  119. package/dist/types/components/lasso-tool/toolbar/actions/fill-action.d.ts +26 -0
  120. package/dist/types/components/lasso-tool/toolbar/actions/intersect-action.d.ts +14 -0
  121. package/dist/types/components/lasso-tool/toolbar/actions/label-action.d.ts +69 -0
  122. package/dist/types/components/lasso-tool/toolbar/actions/lock-action.d.ts +17 -0
  123. package/dist/types/components/lasso-tool/toolbar/actions/redo-action.d.ts +14 -0
  124. package/dist/types/components/lasso-tool/toolbar/actions/split-action.d.ts +14 -0
  125. package/dist/types/components/lasso-tool/toolbar/actions/stroke-action.d.ts +27 -0
  126. package/dist/types/components/lasso-tool/toolbar/actions/subtract-action.d.ts +14 -0
  127. package/dist/types/components/lasso-tool/toolbar/actions/toggle-type-action.d.ts +19 -0
  128. package/dist/types/components/lasso-tool/toolbar/actions/undo-action.d.ts +14 -0
  129. package/dist/types/components/lasso-tool/toolbar/actions/union-action.d.ts +14 -0
  130. package/dist/types/components/lasso-tool/toolbar/button.d.ts +24 -0
  131. package/dist/types/components/lasso-tool/toolbar/connected.d.ts +55 -0
  132. package/dist/types/components/lasso-tool/toolbar/context.d.ts +31 -0
  133. package/dist/types/components/lasso-tool/toolbar/index.d.ts +41 -0
  134. package/dist/types/components/lasso-tool/toolbar/styles.d.ts +26 -0
  135. package/dist/types/components/lasso-tool/toolbar/toolbar.d.ts +30 -0
  136. package/dist/types/components/lasso-tool/tools-context.d.ts +12 -0
  137. package/dist/types/components/lasso-tool/types.d.ts +284 -10
  138. package/dist/types/components/lasso-tool/undo-redo.d.ts +25 -0
  139. package/dist/types/components/list-data/list-data-skeleton.d.ts +1 -1
  140. package/dist/types/components/list-data/list-data.d.ts +17 -1
  141. package/dist/types/components/measurement-tools/const.d.ts +2 -2
  142. package/dist/types/components/measurement-tools/icons.d.ts +3 -3
  143. package/dist/types/components/measurement-tools/measurement-tools.d.ts +21 -1
  144. package/dist/types/components/measurement-tools/styles.d.ts +14 -4
  145. package/dist/types/components/measurement-tools/types.d.ts +1 -1
  146. package/dist/types/components/no-data-alert/no-data-alert.d.ts +1 -1
  147. package/dist/types/components/responsive-drawer/responsive-drawer.d.ts +38 -6
  148. package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +18 -1
  149. package/dist/types/components/tooltip/tooltip.d.ts +14 -1
  150. package/dist/types/components/types.d.ts +1 -1
  151. package/dist/types/components/zoom-controls/zoom-controls.d.ts +17 -1
  152. package/dist/types/hooks/index.d.ts +1 -2
  153. package/dist/types/hooks/use-widget-ref.d.ts +10 -6
  154. package/dist/types/legend/components/a11y.d.ts +6 -0
  155. package/dist/types/legend/components/contexts.d.ts +38 -0
  156. package/dist/types/legend/components/icons.d.ts +12 -0
  157. package/dist/types/legend/components/index.d.ts +26 -0
  158. package/dist/types/legend/components/legend-actions/legend-actions.d.ts +25 -0
  159. package/dist/types/legend/components/legend-actions/styles.d.ts +7 -0
  160. package/dist/types/legend/components/legend-category/legend-category-ui.d.ts +13 -0
  161. package/dist/types/legend/components/legend-category/styles.d.ts +52 -0
  162. package/dist/types/legend/components/legend-config-select/legend-config-select.d.ts +14 -0
  163. package/dist/types/legend/components/legend-config-select/styles.d.ts +44 -0
  164. package/dist/types/legend/components/legend-group/legend-group.d.ts +12 -0
  165. package/dist/types/legend/components/legend-group/styles.d.ts +129 -0
  166. package/dist/types/legend/components/legend-group-menu/legend-group-menu-items.d.ts +28 -0
  167. package/dist/types/legend/components/legend-group-menu/legend-group-menu.d.ts +11 -0
  168. package/dist/types/legend/components/legend-icon/legend-icon-ui.d.ts +10 -0
  169. package/dist/types/legend/components/legend-icon/styles.d.ts +52 -0
  170. package/dist/types/legend/components/legend-item/legend-item-ui.d.ts +14 -0
  171. package/dist/types/legend/components/legend-item/legend-item.d.ts +10 -0
  172. package/dist/types/{widgets/root/style.d.ts → legend/components/legend-item/styles.d.ts} +2 -3
  173. package/dist/types/legend/components/legend-opacity/legend-opacity.d.ts +22 -0
  174. package/dist/types/legend/components/legend-opacity/styles.d.ts +28 -0
  175. package/dist/types/legend/components/legend-overflow-menu/legend-overflow-menu.d.ts +12 -0
  176. package/dist/types/legend/components/legend-panel-menu/legend-panel-menu.d.ts +11 -0
  177. package/dist/types/legend/components/legend-proportion/legend-proportion-ui.d.ts +16 -0
  178. package/dist/types/legend/components/legend-proportion/styles.d.ts +37 -0
  179. package/dist/types/legend/components/legend-ramp/legend-ramp-ui.d.ts +20 -0
  180. package/dist/types/legend/components/legend-ramp/styles.d.ts +53 -0
  181. package/dist/types/legend/components/legend-row/legend-row.d.ts +16 -0
  182. package/dist/types/legend/components/legend-row/styles.d.ts +149 -0
  183. package/dist/types/legend/components/legend-row-menu/legend-row-menu-items.d.ts +12 -0
  184. package/dist/types/legend/components/legend-row-menu/legend-row-menu.d.ts +12 -0
  185. package/dist/types/legend/components/legend-row-menu/legend-zoom-to.d.ts +10 -0
  186. package/dist/types/legend/components/legend-sortable/contexts.d.ts +7 -0
  187. package/dist/types/legend/components/legend-sortable/legend-sortable.d.ts +11 -0
  188. package/dist/types/legend/components/legend-sortable/sortable-entity.d.ts +27 -0
  189. package/dist/types/legend/components/legend-sortable/sortable-ids.d.ts +6 -0
  190. package/dist/types/legend/components/legend-sortable/styles.d.ts +55 -0
  191. package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +26 -0
  192. package/dist/types/legend/components/legend-visibility-toggle/legend-visibility-toggle.d.ts +35 -0
  193. package/dist/types/legend/components/legend-visible-layers/legend-visible-layers.d.ts +7 -0
  194. package/dist/types/legend/components/legend-visible-layers/styles.d.ts +48 -0
  195. package/dist/types/legend/components/run-async-menu-action.d.ts +7 -0
  196. package/dist/types/legend/index.d.ts +135 -0
  197. package/dist/types/legend/provider/index.d.ts +6 -0
  198. package/dist/types/legend/provider/labels.d.ts +48 -0
  199. package/dist/types/legend/provider/legend-config-context.d.ts +7 -0
  200. package/dist/types/legend/provider/legend-provider.d.ts +38 -0
  201. package/dist/types/legend/stores/index.d.ts +5 -0
  202. package/dist/types/legend/stores/legend-context.d.ts +4 -0
  203. package/dist/types/legend/stores/legend-store-registry.d.ts +39 -0
  204. package/dist/types/legend/stores/selectors.d.ts +64 -0
  205. package/dist/types/legend/stores/types.d.ts +294 -0
  206. package/dist/types/widgets/actions/brush-toggle/brush-overlay.d.ts +24 -0
  207. package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +29 -0
  208. package/dist/types/widgets/actions/brush-toggle/hit-test.d.ts +19 -0
  209. package/dist/types/widgets/actions/brush-toggle/style.d.ts +21 -0
  210. package/dist/types/widgets/actions/brush-toggle/types.d.ts +73 -0
  211. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -1
  212. package/dist/types/widgets/actions/change-column/change-column.d.ts +6 -2
  213. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +2 -2
  214. package/dist/types/widgets/actions/download/download.d.ts +13 -2
  215. package/dist/types/widgets/actions/download/exports.d.ts +16 -1
  216. package/dist/types/widgets/actions/download/types.d.ts +1 -1
  217. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +15 -2
  218. package/dist/types/widgets/actions/fullscreen/types.d.ts +3 -2
  219. package/dist/types/widgets/actions/index.d.ts +20 -18
  220. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +2 -2
  221. package/dist/types/widgets/actions/lock-selection/types.d.ts +10 -10
  222. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +10 -4
  223. package/dist/types/widgets/actions/relative-data/types.d.ts +3 -1
  224. package/dist/types/widgets/actions/relative-data/utils.d.ts +1 -1
  225. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +2 -2
  226. package/dist/types/widgets/actions/searcher/searcher.d.ts +2 -2
  227. package/dist/types/widgets/actions/searcher/types.d.ts +2 -2
  228. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -1
  229. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +5 -4
  230. package/dist/types/widgets/actions/stack-toggle/types.d.ts +1 -1
  231. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +1 -1
  232. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +10 -2
  233. package/dist/types/widgets/bar/config.d.ts +8 -4
  234. package/dist/types/widgets/bar/index.d.ts +3 -3
  235. package/dist/types/widgets/bar/skeleton.d.ts +1 -1
  236. package/dist/types/widgets/bar/types.d.ts +3 -3
  237. package/dist/types/widgets/category/category-ui.d.ts +5 -2
  238. package/dist/types/widgets/category/components/category-bar.d.ts +4 -1
  239. package/dist/types/widgets/category/components/category-legend.d.ts +5 -2
  240. package/dist/types/widgets/category/components/category-row-multi.d.ts +6 -2
  241. package/dist/types/widgets/category/components/category-row-other.d.ts +4 -1
  242. package/dist/types/widgets/category/components/category-row-single.d.ts +6 -2
  243. package/dist/types/widgets/category/config.d.ts +16 -12
  244. package/dist/types/widgets/category/index.d.ts +14 -6
  245. package/dist/types/widgets/category/skeleton.d.ts +1 -1
  246. package/dist/types/widgets/category/style.d.ts +1 -1
  247. package/dist/types/widgets/category/types.d.ts +4 -3
  248. package/dist/types/widgets/echart/echart-ui.d.ts +9 -2
  249. package/dist/types/widgets/echart/echart.d.ts +8 -2
  250. package/dist/types/widgets/echart/index.d.ts +5 -5
  251. package/dist/types/widgets/echart/options.d.ts +8 -1
  252. package/dist/types/widgets/echart/shared-resize-observer.d.ts +12 -0
  253. package/dist/types/widgets/echart/types.d.ts +7 -2
  254. package/dist/types/widgets/echart/utils.d.ts +57 -9
  255. package/dist/types/widgets/error/error.d.ts +12 -2
  256. package/dist/types/widgets/error/index.d.ts +2 -2
  257. package/dist/types/widgets/error/types.d.ts +9 -1
  258. package/dist/types/widgets/formula/components/item.d.ts +5 -2
  259. package/dist/types/widgets/formula/components/prefix.d.ts +5 -2
  260. package/dist/types/widgets/formula/components/row.d.ts +5 -2
  261. package/dist/types/widgets/formula/components/series.d.ts +5 -2
  262. package/dist/types/widgets/formula/components/suffix.d.ts +5 -2
  263. package/dist/types/widgets/formula/components/value.d.ts +5 -2
  264. package/dist/types/widgets/formula/config.d.ts +13 -2
  265. package/dist/types/widgets/formula/formula-ui.d.ts +5 -2
  266. package/dist/types/widgets/formula/index.d.ts +11 -11
  267. package/dist/types/widgets/formula/serializer.d.ts +1 -1
  268. package/dist/types/widgets/formula/skeleton.d.ts +1 -1
  269. package/dist/types/widgets/formula/types.d.ts +3 -3
  270. package/dist/types/widgets/histogram/config.d.ts +20 -4
  271. package/dist/types/widgets/histogram/index.d.ts +4 -3
  272. package/dist/types/widgets/histogram/skeleton.d.ts +1 -1
  273. package/dist/types/widgets/histogram/types.d.ts +8 -5
  274. package/dist/types/widgets/loader/index.d.ts +3 -0
  275. package/dist/types/widgets/loader/loader.d.ts +24 -0
  276. package/dist/types/widgets/loader/types.d.ts +9 -0
  277. package/dist/types/widgets/loader/utils.d.ts +35 -0
  278. package/dist/types/widgets/markdown/config.d.ts +12 -2
  279. package/dist/types/widgets/markdown/index.d.ts +5 -5
  280. package/dist/types/widgets/markdown/markdown-ui.d.ts +9 -2
  281. package/dist/types/widgets/markdown/markdown.d.ts +5 -2
  282. package/dist/types/widgets/markdown/skeleton.d.ts +1 -1
  283. package/dist/types/widgets/markdown/types.d.ts +3 -3
  284. package/dist/types/widgets/no-data/index.d.ts +2 -2
  285. package/dist/types/widgets/no-data/no-data.d.ts +5 -4
  286. package/dist/types/widgets/no-data/types.d.ts +6 -2
  287. package/dist/types/widgets/note/index.d.ts +2 -2
  288. package/dist/types/widgets/note/note.d.ts +12 -2
  289. package/dist/types/widgets/note/types.d.ts +1 -1
  290. package/dist/types/widgets/pie/config.d.ts +8 -4
  291. package/dist/types/widgets/pie/index.d.ts +3 -3
  292. package/dist/types/widgets/pie/skeleton.d.ts +1 -1
  293. package/dist/types/widgets/pie/types.d.ts +3 -3
  294. package/dist/types/widgets/range/components/range-item.d.ts +5 -2
  295. package/dist/types/widgets/range/config.d.ts +6 -5
  296. package/dist/types/widgets/range/index.d.ts +6 -6
  297. package/dist/types/widgets/range/range-ui.d.ts +5 -2
  298. package/dist/types/widgets/range/serializer.d.ts +1 -1
  299. package/dist/types/widgets/range/skeleton.d.ts +1 -1
  300. package/dist/types/widgets/range/types.d.ts +3 -3
  301. package/dist/types/widgets/scatterplot/config.d.ts +8 -4
  302. package/dist/types/widgets/scatterplot/index.d.ts +3 -3
  303. package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -1
  304. package/dist/types/widgets/scatterplot/types.d.ts +3 -3
  305. package/dist/types/widgets/selection-summary/index.d.ts +2 -2
  306. package/dist/types/widgets/selection-summary/selection-summary.d.ts +13 -2
  307. package/dist/types/widgets/skeleton-loader/index.d.ts +2 -2
  308. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +12 -2
  309. package/dist/types/widgets/skeleton-loader/types.d.ts +1 -1
  310. package/dist/types/widgets/spread/components/max-value.d.ts +5 -2
  311. package/dist/types/widgets/spread/components/min-value.d.ts +5 -2
  312. package/dist/types/widgets/spread/components/separator.d.ts +5 -2
  313. package/dist/types/widgets/spread/config.d.ts +14 -8
  314. package/dist/types/widgets/spread/index.d.ts +9 -9
  315. package/dist/types/widgets/spread/skeleton.d.ts +1 -1
  316. package/dist/types/widgets/spread/spread-ui.d.ts +5 -2
  317. package/dist/types/widgets/spread/types.d.ts +4 -4
  318. package/dist/types/widgets/stores/index.d.ts +3 -2
  319. package/dist/types/widgets/stores/types.d.ts +31 -10
  320. package/dist/types/widgets/stores/use-widget-selector.d.ts +35 -0
  321. package/dist/types/widgets/stores/widget-store.d.ts +48 -27
  322. package/dist/types/widgets/subheader/index.d.ts +2 -2
  323. package/dist/types/widgets/subheader/subheader.d.ts +13 -2
  324. package/dist/types/widgets/table/components/cell-header.d.ts +2 -2
  325. package/dist/types/widgets/table/components/cell.d.ts +4 -2
  326. package/dist/types/widgets/table/components/pagination-actions.d.ts +2 -2
  327. package/dist/types/widgets/table/components/pagination.d.ts +2 -2
  328. package/dist/types/widgets/table/components/row.d.ts +2 -2
  329. package/dist/types/widgets/table/config.d.ts +10 -6
  330. package/dist/types/widgets/table/hooks/use-pagination.d.ts +12 -4
  331. package/dist/types/widgets/table/hooks/use-selection.d.ts +12 -3
  332. package/dist/types/widgets/table/hooks/use-sort.d.ts +12 -4
  333. package/dist/types/widgets/table/index.d.ts +17 -13
  334. package/dist/types/widgets/table/serializer.d.ts +1 -1
  335. package/dist/types/widgets/table/skeleton.d.ts +1 -1
  336. package/dist/types/widgets/table/table-ui.d.ts +8 -8
  337. package/dist/types/widgets/table/types.d.ts +5 -5
  338. package/dist/types/widgets/timeseries/config.d.ts +8 -4
  339. package/dist/types/widgets/timeseries/index.d.ts +3 -3
  340. package/dist/types/widgets/timeseries/skeleton.d.ts +1 -1
  341. package/dist/types/widgets/timeseries/types.d.ts +3 -3
  342. package/dist/types/widgets/toolbar-actions/index.d.ts +2 -2
  343. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +13 -4
  344. package/dist/types/widgets/toolbar-actions/types.d.ts +10 -3
  345. package/dist/types/widgets/{_shared → utils}/chart-config/config-factory.d.ts +1 -1
  346. package/dist/types/widgets/utils/chart-config/download-config.d.ts +3 -0
  347. package/dist/types/widgets/utils/chart-config/index.d.ts +9 -0
  348. package/dist/types/widgets/utils/chart-config/option-builders.d.ts +142 -0
  349. package/dist/types/widgets/utils/formatter.d.ts +2 -0
  350. package/dist/types/widgets/utils/index.d.ts +7 -0
  351. package/dist/types/widgets/utils/skeleton/index.d.ts +4 -0
  352. package/dist/types/widgets/wrapper/components/actions.d.ts +5 -2
  353. package/dist/types/widgets/wrapper/components/options.d.ts +5 -2
  354. package/dist/types/widgets/wrapper/components/title.d.ts +5 -2
  355. package/dist/types/widgets/wrapper/index.d.ts +6 -6
  356. package/dist/types/widgets/wrapper/types.d.ts +1 -1
  357. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +16 -2
  358. package/dist/types/widgets/wrapper/wrapper.d.ts +16 -2
  359. package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +56 -0
  360. package/dist/types/widgets-v2/actions/brush-toggle/index.d.ts +3 -0
  361. package/dist/types/widgets-v2/actions/brush-toggle/labels.d.ts +5 -0
  362. package/dist/types/widgets-v2/actions/brush-toggle/style.d.ts +12 -0
  363. package/dist/types/widgets-v2/actions/brush-toggle/transforms.d.ts +11 -0
  364. package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +2 -0
  365. package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +29 -0
  366. package/dist/types/widgets-v2/actions/change-column/index.d.ts +3 -0
  367. package/dist/types/widgets-v2/actions/change-column/labels.d.ts +6 -0
  368. package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +14 -0
  369. package/dist/types/widgets-v2/actions/change-column/style.d.ts +59 -0
  370. package/dist/types/widgets-v2/actions/change-column/types.d.ts +10 -0
  371. package/dist/types/widgets-v2/actions/download/constants.d.ts +12 -0
  372. package/dist/types/widgets-v2/actions/download/csv-item.d.ts +38 -0
  373. package/dist/types/widgets-v2/actions/download/download.d.ts +18 -0
  374. package/dist/types/widgets-v2/actions/download/exports.d.ts +37 -0
  375. package/dist/types/widgets-v2/actions/download/icons.d.ts +18 -0
  376. package/dist/types/widgets-v2/actions/download/index.d.ts +8 -0
  377. package/dist/types/widgets-v2/actions/download/labels.d.ts +11 -0
  378. package/dist/types/widgets-v2/actions/download/png-item.d.ts +24 -0
  379. package/dist/types/widgets-v2/actions/download/style.d.ts +1 -0
  380. package/dist/types/widgets-v2/actions/download/types.d.ts +35 -0
  381. package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +59 -0
  382. package/dist/types/widgets-v2/actions/fullscreen/index.d.ts +3 -0
  383. package/dist/types/widgets-v2/actions/fullscreen/labels.d.ts +5 -0
  384. package/dist/types/widgets-v2/actions/fullscreen/style.d.ts +48 -0
  385. package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +14 -0
  386. package/dist/types/widgets-v2/actions/index.d.ts +10 -0
  387. package/dist/types/widgets-v2/actions/lock-selection/index.d.ts +3 -0
  388. package/dist/types/widgets-v2/actions/lock-selection/labels.d.ts +6 -0
  389. package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +57 -0
  390. package/dist/types/widgets-v2/actions/lock-selection/style.d.ts +12 -0
  391. package/dist/types/widgets-v2/actions/lock-selection/transforms.d.ts +6 -0
  392. package/dist/types/widgets-v2/actions/relative-data/index.d.ts +3 -0
  393. package/dist/types/widgets-v2/actions/relative-data/labels.d.ts +5 -0
  394. package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +39 -0
  395. package/dist/types/widgets-v2/actions/relative-data/style.d.ts +12 -0
  396. package/dist/types/widgets-v2/actions/relative-data/transforms.d.ts +30 -0
  397. package/dist/types/widgets-v2/actions/searcher/filter.d.ts +6 -0
  398. package/dist/types/widgets-v2/actions/searcher/index.d.ts +4 -0
  399. package/dist/types/widgets-v2/actions/searcher/labels.d.ts +7 -0
  400. package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +23 -0
  401. package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +11 -0
  402. package/dist/types/widgets-v2/actions/searcher/style.d.ts +16 -0
  403. package/dist/types/widgets-v2/actions/show-all/index.d.ts +2 -0
  404. package/dist/types/widgets-v2/actions/show-all/labels.d.ts +5 -0
  405. package/dist/types/widgets-v2/actions/show-all/show-all.d.ts +33 -0
  406. package/dist/types/widgets-v2/actions/show-all/style.d.ts +8 -0
  407. package/dist/types/widgets-v2/actions/stack-toggle/index.d.ts +3 -0
  408. package/dist/types/widgets-v2/actions/stack-toggle/labels.d.ts +5 -0
  409. package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +10 -0
  410. package/dist/types/widgets-v2/actions/stack-toggle/style.d.ts +12 -0
  411. package/dist/types/widgets-v2/actions/stack-toggle/transforms.d.ts +13 -0
  412. package/dist/types/widgets-v2/actions/zoom-toggle/index.d.ts +3 -0
  413. package/dist/types/widgets-v2/actions/zoom-toggle/labels.d.ts +5 -0
  414. package/dist/types/widgets-v2/actions/zoom-toggle/style.d.ts +12 -0
  415. package/dist/types/widgets-v2/actions/zoom-toggle/transforms.d.ts +51 -0
  416. package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +35 -0
  417. package/dist/types/widgets-v2/bar/download.d.ts +24 -0
  418. package/dist/types/widgets-v2/bar/index.d.ts +4 -0
  419. package/dist/types/widgets-v2/bar/options.d.ts +43 -0
  420. package/dist/types/widgets-v2/bar/skeleton.d.ts +6 -0
  421. package/dist/types/widgets-v2/bar/types.d.ts +46 -0
  422. package/dist/types/widgets-v2/category/category-ui.d.ts +88 -0
  423. package/dist/types/widgets-v2/category/category.d.ts +55 -0
  424. package/dist/types/widgets-v2/category/components/category-bar-stacked.d.ts +28 -0
  425. package/dist/types/widgets-v2/category/components/category-bar.d.ts +23 -0
  426. package/dist/types/widgets-v2/category/components/category-legend.d.ts +34 -0
  427. package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +31 -0
  428. package/dist/types/widgets-v2/category/components/category-row-other.d.ts +26 -0
  429. package/dist/types/widgets-v2/category/components/category-row-single.d.ts +28 -0
  430. package/dist/types/widgets-v2/category/components/category-row-stacked.d.ts +43 -0
  431. package/dist/types/widgets-v2/category/download.d.ts +16 -0
  432. package/dist/types/widgets-v2/category/index.d.ts +10 -0
  433. package/dist/types/widgets-v2/category/skeleton.d.ts +11 -0
  434. package/dist/types/widgets-v2/category/style.d.ts +193 -0
  435. package/dist/types/widgets-v2/category/types.d.ts +55 -0
  436. package/dist/types/widgets-v2/echart/echart-ui.d.ts +44 -0
  437. package/dist/types/widgets-v2/echart/echart.d.ts +75 -0
  438. package/dist/types/widgets-v2/echart/edge-label-clamp.d.ts +57 -0
  439. package/dist/types/widgets-v2/echart/index.d.ts +4 -0
  440. package/dist/types/widgets-v2/echart/shared-resize-observer.d.ts +5 -0
  441. package/dist/types/widgets-v2/echart/style.d.ts +6 -0
  442. package/dist/types/widgets-v2/echart/use-chart-selection.d.ts +57 -0
  443. package/dist/types/widgets-v2/formula/delta.d.ts +22 -0
  444. package/dist/types/widgets-v2/formula/download.d.ts +20 -0
  445. package/dist/types/widgets-v2/formula/formula-ui.d.ts +20 -0
  446. package/dist/types/widgets-v2/formula/formula.d.ts +8 -0
  447. package/dist/types/widgets-v2/formula/index.d.ts +11 -0
  448. package/dist/types/widgets-v2/formula/note.d.ts +11 -0
  449. package/dist/types/widgets-v2/formula/prefix.d.ts +12 -0
  450. package/dist/types/widgets-v2/formula/series.d.ts +16 -0
  451. package/dist/types/widgets-v2/formula/skeleton.d.ts +4 -0
  452. package/dist/types/widgets-v2/formula/style.d.ts +29 -0
  453. package/dist/types/widgets-v2/formula/suffix.d.ts +12 -0
  454. package/dist/types/widgets-v2/formula/types.d.ts +43 -0
  455. package/dist/types/widgets-v2/formula/value.d.ts +14 -0
  456. package/dist/types/widgets-v2/histogram/download.d.ts +17 -0
  457. package/dist/types/widgets-v2/histogram/index.d.ts +5 -0
  458. package/dist/types/widgets-v2/histogram/options.d.ts +42 -0
  459. package/dist/types/widgets-v2/histogram/skeleton.d.ts +9 -0
  460. package/dist/types/widgets-v2/histogram/transforms.d.ts +28 -0
  461. package/dist/types/widgets-v2/histogram/types.d.ts +60 -0
  462. package/dist/types/widgets-v2/index.d.ts +109 -0
  463. package/dist/types/widgets-v2/markdown/download.d.ts +16 -0
  464. package/dist/types/widgets-v2/markdown/index.d.ts +6 -0
  465. package/dist/types/widgets-v2/markdown/markdown-content.d.ts +40 -0
  466. package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +12 -0
  467. package/dist/types/widgets-v2/markdown/markdown.d.ts +6 -0
  468. package/dist/types/widgets-v2/markdown/skeleton.d.ts +4 -0
  469. package/dist/types/widgets-v2/markdown/style.d.ts +61 -0
  470. package/dist/types/widgets-v2/markdown/types.d.ts +4 -0
  471. package/dist/types/widgets-v2/note/labels.d.ts +5 -0
  472. package/dist/types/widgets-v2/note/style.d.ts +26 -0
  473. package/dist/types/widgets-v2/note/widget-note.d.ts +46 -0
  474. package/dist/types/widgets-v2/pie/download.d.ts +17 -0
  475. package/dist/types/widgets-v2/pie/index.d.ts +4 -0
  476. package/dist/types/widgets-v2/pie/options.d.ts +35 -0
  477. package/dist/types/widgets-v2/pie/skeleton.d.ts +13 -0
  478. package/dist/types/widgets-v2/pie/types.d.ts +57 -0
  479. package/dist/types/widgets-v2/provider/widget-provider.d.ts +32 -0
  480. package/dist/types/widgets-v2/range/index.d.ts +4 -0
  481. package/dist/types/widgets-v2/range/range-ui.d.ts +27 -0
  482. package/dist/types/widgets-v2/range/range.d.ts +24 -0
  483. package/dist/types/widgets-v2/range/skeleton.d.ts +9 -0
  484. package/dist/types/widgets-v2/range/style.d.ts +40 -0
  485. package/dist/types/widgets-v2/range/types.d.ts +37 -0
  486. package/dist/types/widgets-v2/scatterplot/download.d.ts +16 -0
  487. package/dist/types/widgets-v2/scatterplot/index.d.ts +5 -0
  488. package/dist/types/widgets-v2/scatterplot/options.d.ts +42 -0
  489. package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +12 -0
  490. package/dist/types/widgets-v2/scatterplot/transforms.d.ts +26 -0
  491. package/dist/types/widgets-v2/scatterplot/types.d.ts +54 -0
  492. package/dist/types/widgets-v2/selection-summary/labels.d.ts +11 -0
  493. package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +29 -0
  494. package/dist/types/widgets-v2/selection-summary/style.d.ts +38 -0
  495. package/dist/types/widgets-v2/spread/band.d.ts +37 -0
  496. package/dist/types/widgets-v2/spread/download.d.ts +15 -0
  497. package/dist/types/widgets-v2/spread/index.d.ts +7 -0
  498. package/dist/types/widgets-v2/spread/separator.d.ts +7 -0
  499. package/dist/types/widgets-v2/spread/skeleton.d.ts +9 -0
  500. package/dist/types/widgets-v2/spread/spread-ui.d.ts +18 -0
  501. package/dist/types/widgets-v2/spread/spread.d.ts +5 -0
  502. package/dist/types/widgets-v2/spread/types.d.ts +25 -0
  503. package/dist/types/widgets-v2/state/labels.d.ts +7 -0
  504. package/dist/types/widgets-v2/state/style.d.ts +19 -0
  505. package/dist/types/widgets-v2/state/widget-state.d.ts +19 -0
  506. package/dist/types/widgets-v2/stores/index.d.ts +8 -0
  507. package/dist/types/widgets-v2/stores/pipeline-middleware.d.ts +5 -0
  508. package/dist/types/widgets-v2/stores/transforms.d.ts +4 -0
  509. package/dist/types/widgets-v2/stores/types.d.ts +55 -0
  510. package/dist/types/widgets-v2/stores/use-echart-instance.d.ts +15 -0
  511. package/dist/types/widgets-v2/stores/use-transform-enabled.d.ts +17 -0
  512. package/dist/types/widgets-v2/stores/use-transform.d.ts +12 -0
  513. package/dist/types/widgets-v2/stores/widget-context.d.ts +2 -0
  514. package/dist/types/widgets-v2/stores/widget-store-registry.d.ts +74 -0
  515. package/dist/types/widgets-v2/subheader/style.d.ts +10 -0
  516. package/dist/types/widgets-v2/subheader/subheader.d.ts +11 -0
  517. package/dist/types/widgets-v2/table/download.d.ts +18 -0
  518. package/dist/types/widgets-v2/table/helpers.d.ts +32 -0
  519. package/dist/types/widgets-v2/table/index.d.ts +8 -0
  520. package/dist/types/widgets-v2/table/labels.d.ts +22 -0
  521. package/dist/types/widgets-v2/table/skeleton.d.ts +22 -0
  522. package/dist/types/widgets-v2/table/style.d.ts +40 -0
  523. package/dist/types/widgets-v2/table/table-ui.d.ts +44 -0
  524. package/dist/types/widgets-v2/table/table.d.ts +50 -0
  525. package/dist/types/widgets-v2/table/transforms.d.ts +15 -0
  526. package/dist/types/widgets-v2/table/types.d.ts +48 -0
  527. package/dist/types/widgets-v2/timeseries/download.d.ts +17 -0
  528. package/dist/types/widgets-v2/timeseries/index.d.ts +5 -0
  529. package/dist/types/widgets-v2/timeseries/options.d.ts +39 -0
  530. package/dist/types/widgets-v2/timeseries/skeleton.d.ts +8 -0
  531. package/dist/types/widgets-v2/timeseries/transforms.d.ts +10 -0
  532. package/dist/types/widgets-v2/timeseries/types.d.ts +60 -0
  533. package/dist/types/widgets-v2/toolbox/labels.d.ts +5 -0
  534. package/dist/types/widgets-v2/toolbox/style.d.ts +30 -0
  535. package/dist/types/widgets-v2/toolbox/toolbox.d.ts +49 -0
  536. package/dist/types/widgets-v2/types.d.ts +25 -0
  537. package/dist/types/widgets-v2/utils/data-zoom-layout.d.ts +11 -0
  538. package/dist/types/widgets-v2/utils/index.d.ts +3 -0
  539. package/dist/types/widgets-v2/utils/merge-options.d.ts +12 -0
  540. package/dist/types/widgets-v2/utils/resolve-theme-color.d.ts +18 -0
  541. package/dist/types/widgets-v2/wrapper/index.d.ts +4 -0
  542. package/dist/types/widgets-v2/wrapper/labels.d.ts +6 -0
  543. package/dist/types/widgets-v2/wrapper/style.d.ts +103 -0
  544. package/dist/types/widgets-v2/wrapper/widget-actions.d.ts +22 -0
  545. package/dist/types/widgets-v2/wrapper/widget-content.d.ts +12 -0
  546. package/dist/types/widgets-v2/wrapper/widget-wrapper.d.ts +56 -0
  547. package/dist/use-widget-selector-VSPhfhNm.js +12 -0
  548. package/dist/use-widget-selector-VSPhfhNm.js.map +1 -0
  549. package/dist/utils-Dr6gf3vD.js +58 -0
  550. package/dist/utils-Dr6gf3vD.js.map +1 -0
  551. package/dist/widget-store-BFPKYm4R.js +187 -0
  552. package/dist/widget-store-BFPKYm4R.js.map +1 -0
  553. package/dist/widgets/actions.js +2 -837
  554. package/dist/widgets/bar.js +183 -186
  555. package/dist/widgets/bar.js.map +1 -1
  556. package/dist/widgets/category.js +438 -455
  557. package/dist/widgets/category.js.map +1 -1
  558. package/dist/widgets/echart.js +3 -123
  559. package/dist/widgets/error.js +30 -5
  560. package/dist/widgets/error.js.map +1 -1
  561. package/dist/widgets/formula.js +3 -125
  562. package/dist/widgets/histogram.js +185 -167
  563. package/dist/widgets/histogram.js.map +1 -1
  564. package/dist/widgets/loader.js +66 -0
  565. package/dist/widgets/loader.js.map +1 -0
  566. package/dist/widgets/markdown.js +142 -121
  567. package/dist/widgets/markdown.js.map +1 -1
  568. package/dist/widgets/no-data.js +55 -5
  569. package/dist/widgets/no-data.js.map +1 -1
  570. package/dist/widgets/note.js +126 -4
  571. package/dist/widgets/note.js.map +1 -1
  572. package/dist/widgets/pie.js +244 -208
  573. package/dist/widgets/pie.js.map +1 -1
  574. package/dist/widgets/range.js +226 -210
  575. package/dist/widgets/range.js.map +1 -1
  576. package/dist/widgets/scatterplot.js +219 -216
  577. package/dist/widgets/scatterplot.js.map +1 -1
  578. package/dist/widgets/selection-summary.js +39 -38
  579. package/dist/widgets/selection-summary.js.map +1 -1
  580. package/dist/widgets/skeleton-loader.js +23 -23
  581. package/dist/widgets/skeleton-loader.js.map +1 -1
  582. package/dist/widgets/spread.js +150 -159
  583. package/dist/widgets/spread.js.map +1 -1
  584. package/dist/widgets/stores.js +3 -5
  585. package/dist/widgets/subheader.js +49 -50
  586. package/dist/widgets/subheader.js.map +1 -1
  587. package/dist/widgets/table.js +573 -653
  588. package/dist/widgets/table.js.map +1 -1
  589. package/dist/widgets/timeseries.js +175 -170
  590. package/dist/widgets/timeseries.js.map +1 -1
  591. package/dist/widgets/toolbar-actions.js +144 -6105
  592. package/dist/widgets/toolbar-actions.js.map +1 -1
  593. package/dist/widgets/utils.js +18 -0
  594. package/dist/widgets/utils.js.map +1 -0
  595. package/dist/widgets/wrapper.js +265 -287
  596. package/dist/widgets/wrapper.js.map +1 -1
  597. package/dist/widgets-v2/actions.js +4 -0
  598. package/dist/widgets-v2/bar.js +260 -0
  599. package/dist/widgets-v2/bar.js.map +1 -0
  600. package/dist/widgets-v2/category.js +2 -0
  601. package/dist/widgets-v2/echart.js +2 -0
  602. package/dist/widgets-v2/formula.js +2 -0
  603. package/dist/widgets-v2/histogram.js +297 -0
  604. package/dist/widgets-v2/histogram.js.map +1 -0
  605. package/dist/widgets-v2/markdown.js +3 -0
  606. package/dist/widgets-v2/pie.js +374 -0
  607. package/dist/widgets-v2/pie.js.map +1 -0
  608. package/dist/widgets-v2/range.js +2 -0
  609. package/dist/widgets-v2/scatterplot.js +330 -0
  610. package/dist/widgets-v2/scatterplot.js.map +1 -0
  611. package/dist/widgets-v2/spread.js +2 -0
  612. package/dist/widgets-v2/stores.js +2 -0
  613. package/dist/widgets-v2/table.js +2 -0
  614. package/dist/widgets-v2/timeseries.js +294 -0
  615. package/dist/widgets-v2/timeseries.js.map +1 -0
  616. package/dist/widgets-v2/utils.js +2 -0
  617. package/dist/widgets-v2.js +964 -0
  618. package/dist/widgets-v2.js.map +1 -0
  619. package/dist/zoom-toggle-IsF8BnAp.js +163 -0
  620. package/dist/zoom-toggle-IsF8BnAp.js.map +1 -0
  621. package/package.json +109 -17
  622. package/src/chat/bubbles/chat-agent-message-markdown.test.tsx +38 -0
  623. package/src/chat/bubbles/chat-agent-message-markdown.tsx +34 -0
  624. package/src/chat/bubbles/chat-agent-message.test.tsx +42 -0
  625. package/src/chat/bubbles/chat-agent-message.tsx +31 -0
  626. package/src/chat/bubbles/chat-error-message.test.tsx +40 -0
  627. package/src/chat/bubbles/chat-error-message.tsx +47 -0
  628. package/src/chat/bubbles/chat-suggestion-button.test.tsx +24 -0
  629. package/src/chat/bubbles/chat-suggestion-button.tsx +27 -0
  630. package/src/chat/bubbles/chat-user-message.test.tsx +27 -0
  631. package/src/chat/bubbles/chat-user-message.tsx +27 -0
  632. package/src/chat/bubbles/index.ts +5 -0
  633. package/src/chat/bubbles/styles.ts +171 -0
  634. package/src/chat/const.ts +4 -0
  635. package/src/chat/containers/chat-content.test.tsx +269 -0
  636. package/src/chat/containers/chat-content.tsx +145 -0
  637. package/src/chat/containers/chat-footer.test.tsx +93 -0
  638. package/src/chat/containers/chat-footer.tsx +166 -0
  639. package/src/chat/containers/chat-header.test.tsx +28 -0
  640. package/src/chat/containers/chat-header.tsx +29 -0
  641. package/src/chat/containers/chat-starter.test.tsx +32 -0
  642. package/src/chat/containers/chat-starter.tsx +75 -0
  643. package/src/chat/containers/index.ts +4 -0
  644. package/src/chat/containers/styles.ts +187 -0
  645. package/src/chat/feedback/chat-actions-container.test.tsx +64 -0
  646. package/src/chat/feedback/chat-actions-container.tsx +10 -0
  647. package/src/chat/feedback/chat-loader.test.tsx +10 -0
  648. package/src/chat/feedback/chat-loader.tsx +31 -0
  649. package/src/chat/feedback/chat-rating-action.tsx +43 -0
  650. package/src/chat/feedback/chat-thinking.test.tsx +15 -0
  651. package/src/chat/feedback/chat-thinking.tsx +23 -0
  652. package/src/chat/feedback/chat-tool-code-area.test.tsx +23 -0
  653. package/src/chat/feedback/chat-tool-code-area.tsx +71 -0
  654. package/src/chat/feedback/chat-tool-full-view-dialog.test.tsx +39 -0
  655. package/src/chat/feedback/chat-tool-full-view-dialog.tsx +121 -0
  656. package/src/chat/feedback/chat-tool-group.test.tsx +84 -0
  657. package/src/chat/feedback/chat-tool-group.tsx +156 -0
  658. package/src/chat/feedback/chat-tool-trace.test.tsx +81 -0
  659. package/src/chat/feedback/chat-tool-trace.tsx +192 -0
  660. package/src/chat/feedback/get-tool-label.test.tsx +91 -0
  661. package/src/chat/feedback/get-tool-label.ts +13 -0
  662. package/src/chat/feedback/index.ts +8 -0
  663. package/src/chat/feedback/styles.ts +239 -0
  664. package/src/chat/index.ts +62 -0
  665. package/src/chat/types.ts +247 -0
  666. package/src/chat/use-typewriter.test.tsx +38 -0
  667. package/src/chat/use-typewriter.ts +90 -0
  668. package/src/components/basemaps/basemaps.test.tsx +196 -0
  669. package/src/components/basemaps/basemaps.tsx +150 -0
  670. package/src/components/basemaps/const.ts +13 -0
  671. package/src/components/basemaps/group-wrapper.test.tsx +38 -0
  672. package/src/components/basemaps/group-wrapper.tsx +28 -0
  673. package/src/components/basemaps/group.test.tsx +52 -0
  674. package/src/components/basemaps/group.tsx +42 -0
  675. package/src/components/basemaps/header.test.tsx +54 -0
  676. package/src/components/basemaps/header.tsx +36 -0
  677. package/src/components/basemaps/styles.ts +76 -0
  678. package/src/components/basemaps/types.ts +30 -0
  679. package/src/components/common-types.ts +1 -0
  680. package/src/components/copy-button/copy-button.test.tsx +41 -0
  681. package/src/components/copy-button/copy-button.tsx +31 -0
  682. package/src/components/copy-button/types.ts +10 -0
  683. package/src/components/geolocation-controls/const.ts +6 -0
  684. package/src/components/geolocation-controls/geolocation-controls.test.tsx +148 -0
  685. package/src/components/geolocation-controls/geolocation-controls.tsx +126 -0
  686. package/src/components/geolocation-controls/types.ts +17 -0
  687. package/src/components/index.ts +163 -0
  688. package/src/components/lasso-tool/chip.test.tsx +257 -0
  689. package/src/components/lasso-tool/chip.tsx +66 -0
  690. package/src/components/lasso-tool/const.tsx +94 -0
  691. package/src/components/lasso-tool/edit-confirm-toolbar.test.tsx +67 -0
  692. package/src/components/lasso-tool/edit-confirm-toolbar.tsx +48 -0
  693. package/src/components/lasso-tool/geometry-toolbar.test.tsx +804 -0
  694. package/src/components/lasso-tool/geometry-toolbar.tsx +158 -0
  695. package/src/components/lasso-tool/icons.tsx +193 -0
  696. package/src/components/lasso-tool/lasso-tool-inline.test.tsx +759 -0
  697. package/src/components/lasso-tool/lasso-tool-inline.tsx +508 -0
  698. package/src/components/lasso-tool/lasso-tool.test.tsx +700 -0
  699. package/src/components/lasso-tool/lasso-tool.tsx +673 -0
  700. package/src/components/lasso-tool/layer-filters.test.tsx +103 -0
  701. package/src/components/lasso-tool/layer-filters.tsx +242 -0
  702. package/src/components/lasso-tool/message.tsx +36 -0
  703. package/src/components/lasso-tool/options-sections.test.tsx +101 -0
  704. package/src/components/lasso-tool/options-sections.tsx +104 -0
  705. package/src/components/lasso-tool/styles.test.ts +26 -0
  706. package/src/components/lasso-tool/styles.ts +190 -0
  707. package/src/components/lasso-tool/toolbar/actions/accept-action.tsx +34 -0
  708. package/src/components/lasso-tool/toolbar/actions/action-menu.tsx +103 -0
  709. package/src/components/lasso-tool/toolbar/actions/cancel-action.tsx +34 -0
  710. package/src/components/lasso-tool/toolbar/actions/color-action.tsx +201 -0
  711. package/src/components/lasso-tool/toolbar/actions/delete-action.tsx +31 -0
  712. package/src/components/lasso-tool/toolbar/actions/duplicate-action.tsx +30 -0
  713. package/src/components/lasso-tool/toolbar/actions/edit-geometry-action.tsx +44 -0
  714. package/src/components/lasso-tool/toolbar/actions/edit-properties-action.tsx +487 -0
  715. package/src/components/lasso-tool/toolbar/actions/fill-action.tsx +55 -0
  716. package/src/components/lasso-tool/toolbar/actions/intersect-action.tsx +33 -0
  717. package/src/components/lasso-tool/toolbar/actions/label-action.tsx +292 -0
  718. package/src/components/lasso-tool/toolbar/actions/lock-action.tsx +40 -0
  719. package/src/components/lasso-tool/toolbar/actions/redo-action.tsx +35 -0
  720. package/src/components/lasso-tool/toolbar/actions/split-action.tsx +33 -0
  721. package/src/components/lasso-tool/toolbar/actions/stroke-action.tsx +57 -0
  722. package/src/components/lasso-tool/toolbar/actions/style-actions.test.tsx +212 -0
  723. package/src/components/lasso-tool/toolbar/actions/subtract-action.tsx +33 -0
  724. package/src/components/lasso-tool/toolbar/actions/toggle-type-action.tsx +50 -0
  725. package/src/components/lasso-tool/toolbar/actions/undo-action.tsx +35 -0
  726. package/src/components/lasso-tool/toolbar/actions/union-action.tsx +40 -0
  727. package/src/components/lasso-tool/toolbar/button.tsx +62 -0
  728. package/src/components/lasso-tool/toolbar/connected.tsx +383 -0
  729. package/src/components/lasso-tool/toolbar/context.tsx +65 -0
  730. package/src/components/lasso-tool/toolbar/index.ts +70 -0
  731. package/src/components/lasso-tool/toolbar/styles.ts +42 -0
  732. package/src/components/lasso-tool/toolbar/toolbar.test.tsx +77 -0
  733. package/src/components/lasso-tool/toolbar/toolbar.tsx +50 -0
  734. package/src/components/lasso-tool/tools-context.tsx +47 -0
  735. package/src/components/lasso-tool/types.ts +384 -0
  736. package/src/components/lasso-tool/undo-redo.test.tsx +162 -0
  737. package/src/components/lasso-tool/undo-redo.tsx +55 -0
  738. package/src/components/list-data/list-data-skeleton.test.tsx +10 -0
  739. package/src/components/list-data/list-data-skeleton.tsx +40 -0
  740. package/src/components/list-data/list-data.test.tsx +167 -0
  741. package/src/components/list-data/list-data.tsx +124 -0
  742. package/src/components/list-data/styles.ts +37 -0
  743. package/src/components/list-data/types.ts +25 -0
  744. package/src/components/measurement-tools/const.tsx +108 -0
  745. package/src/components/measurement-tools/icons.tsx +54 -0
  746. package/src/components/measurement-tools/measurement-tools.test.tsx +165 -0
  747. package/src/components/measurement-tools/measurement-tools.tsx +467 -0
  748. package/src/components/measurement-tools/styles.ts +92 -0
  749. package/src/components/measurement-tools/types.ts +77 -0
  750. package/src/components/no-data-alert/no-data-alert.test.tsx +69 -0
  751. package/src/components/no-data-alert/no-data-alert.tsx +59 -0
  752. package/src/components/responsive-drawer/responsive-drawer.test.tsx +415 -0
  753. package/src/components/responsive-drawer/responsive-drawer.tsx +219 -0
  754. package/src/components/smart-tooltip/smart-tooltip.test.tsx +168 -0
  755. package/src/components/smart-tooltip/smart-tooltip.tsx +74 -0
  756. package/src/components/tooltip/tooltip.test.tsx +86 -0
  757. package/src/components/tooltip/tooltip.tsx +43 -0
  758. package/src/components/types.ts +1 -0
  759. package/src/components/zoom-controls/styles.ts +27 -0
  760. package/src/components/zoom-controls/types.ts +19 -0
  761. package/src/components/zoom-controls/zoom-controls.test.tsx +101 -0
  762. package/src/components/zoom-controls/zoom-controls.tsx +130 -0
  763. package/src/hooks/index.ts +1 -0
  764. package/src/hooks/use-skeleton.test.tsx +32 -0
  765. package/src/hooks/use-skeleton.ts +19 -0
  766. package/src/hooks/use-widget-ref.ts +34 -0
  767. package/src/legend/components/a11y.ts +14 -0
  768. package/src/legend/components/contexts.ts +57 -0
  769. package/src/legend/components/icons.tsx +22 -0
  770. package/src/legend/components/index.ts +38 -0
  771. package/src/legend/components/legend-actions/legend-actions.tsx +58 -0
  772. package/src/legend/components/legend-actions/styles.ts +9 -0
  773. package/src/legend/components/legend-category/legend-category-ui.tsx +91 -0
  774. package/src/legend/components/legend-category/styles.ts +61 -0
  775. package/src/legend/components/legend-config-select/legend-config-select.tsx +96 -0
  776. package/src/legend/components/legend-config-select/styles.ts +48 -0
  777. package/src/legend/components/legend-group/legend-group.test.tsx +297 -0
  778. package/src/legend/components/legend-group/legend-group.tsx +126 -0
  779. package/src/legend/components/legend-group/styles.ts +184 -0
  780. package/src/legend/components/legend-group-menu/legend-group-menu-items.tsx +132 -0
  781. package/src/legend/components/legend-group-menu/legend-group-menu.tsx +25 -0
  782. package/src/legend/components/legend-icon/legend-icon-ui.tsx +56 -0
  783. package/src/legend/components/legend-icon/styles.ts +56 -0
  784. package/src/legend/components/legend-item/legend-item-ui.test.tsx +362 -0
  785. package/src/legend/components/legend-item/legend-item-ui.tsx +43 -0
  786. package/src/legend/components/legend-item/legend-item.tsx +34 -0
  787. package/src/legend/components/legend-item/styles.ts +11 -0
  788. package/src/legend/components/legend-opacity/legend-opacity.tsx +152 -0
  789. package/src/legend/components/legend-opacity/styles.ts +33 -0
  790. package/src/legend/components/legend-overflow-menu/legend-overflow-menu.tsx +84 -0
  791. package/src/legend/components/legend-panel-menu/legend-panel-menu.tsx +23 -0
  792. package/src/legend/components/legend-proportion/legend-proportion-ui.tsx +122 -0
  793. package/src/legend/components/legend-proportion/styles.ts +43 -0
  794. package/src/legend/components/legend-ramp/legend-ramp-ui.tsx +160 -0
  795. package/src/legend/components/legend-ramp/styles.ts +62 -0
  796. package/src/legend/components/legend-row/legend-row.test.tsx +736 -0
  797. package/src/legend/components/legend-row/legend-row.tsx +170 -0
  798. package/src/legend/components/legend-row/styles.ts +219 -0
  799. package/src/legend/components/legend-row-menu/legend-row-menu-items.tsx +57 -0
  800. package/src/legend/components/legend-row-menu/legend-row-menu.tsx +30 -0
  801. package/src/legend/components/legend-row-menu/legend-zoom-to.tsx +43 -0
  802. package/src/legend/components/legend-sortable/contexts.ts +12 -0
  803. package/src/legend/components/legend-sortable/legend-sortable.test.tsx +144 -0
  804. package/src/legend/components/legend-sortable/legend-sortable.tsx +195 -0
  805. package/src/legend/components/legend-sortable/sortable-entity.tsx +91 -0
  806. package/src/legend/components/legend-sortable/sortable-ids.ts +17 -0
  807. package/src/legend/components/legend-sortable/styles.ts +65 -0
  808. package/src/legend/components/legend-swatch/legend-swatch.test.tsx +109 -0
  809. package/src/legend/components/legend-swatch/legend-swatch.tsx +237 -0
  810. package/src/legend/components/legend-visibility-toggle/legend-visibility-toggle.tsx +133 -0
  811. package/src/legend/components/legend-visible-layers/legend-visible-layers.test.tsx +86 -0
  812. package/src/legend/components/legend-visible-layers/legend-visible-layers.tsx +135 -0
  813. package/src/legend/components/legend-visible-layers/styles.ts +60 -0
  814. package/src/legend/components/run-async-menu-action.ts +20 -0
  815. package/src/legend/index.ts +176 -0
  816. package/src/legend/provider/index.ts +6 -0
  817. package/src/legend/provider/labels.ts +101 -0
  818. package/src/legend/provider/legend-config-context.ts +15 -0
  819. package/src/legend/provider/legend-provider.tsx +102 -0
  820. package/src/legend/stores/index.ts +50 -0
  821. package/src/legend/stores/legend-context.ts +17 -0
  822. package/src/legend/stores/legend-store-registry.ts +745 -0
  823. package/src/legend/stores/legend-store.test.ts +701 -0
  824. package/src/legend/stores/selectors.ts +127 -0
  825. package/src/legend/stores/types.ts +359 -0
  826. package/src/widgets/README.md +277 -0
  827. package/src/widgets/actions/brush-toggle/brush-overlay.test.tsx +465 -0
  828. package/src/widgets/actions/brush-toggle/brush-overlay.tsx +408 -0
  829. package/src/widgets/actions/brush-toggle/brush-toggle.test.tsx +208 -0
  830. package/src/widgets/actions/brush-toggle/brush-toggle.tsx +133 -0
  831. package/src/widgets/actions/brush-toggle/hit-test.test.ts +65 -0
  832. package/src/widgets/actions/brush-toggle/hit-test.ts +45 -0
  833. package/src/widgets/actions/brush-toggle/style.ts +46 -0
  834. package/src/widgets/actions/brush-toggle/types.ts +78 -0
  835. package/src/widgets/actions/change-column/change-column-dnd.test.tsx +193 -0
  836. package/src/widgets/actions/change-column/change-column-icon.tsx +10 -0
  837. package/src/widgets/actions/change-column/change-column.test.tsx +290 -0
  838. package/src/widgets/actions/change-column/change-column.tsx +218 -0
  839. package/src/widgets/actions/change-column/sortable-column-item.test.tsx +124 -0
  840. package/src/widgets/actions/change-column/sortable-column-item.tsx +51 -0
  841. package/src/widgets/actions/change-column/types.ts +20 -0
  842. package/src/widgets/actions/download/download.test.tsx +326 -0
  843. package/src/widgets/actions/download/download.tsx +132 -0
  844. package/src/widgets/actions/download/exports.test.tsx +288 -0
  845. package/src/widgets/actions/download/exports.tsx +118 -0
  846. package/src/widgets/actions/download/types.ts +21 -0
  847. package/src/widgets/actions/fullscreen/fullscreen.test.tsx +269 -0
  848. package/src/widgets/actions/fullscreen/fullscreen.tsx +98 -0
  849. package/src/widgets/actions/fullscreen/styles.ts +17 -0
  850. package/src/widgets/actions/fullscreen/types.ts +32 -0
  851. package/src/widgets/actions/index.ts +73 -0
  852. package/src/widgets/actions/lock-selection/lock-selection.test.tsx +198 -0
  853. package/src/widgets/actions/lock-selection/lock-selection.tsx +128 -0
  854. package/src/widgets/actions/lock-selection/types.ts +43 -0
  855. package/src/widgets/actions/relative-data/relative-data.test.tsx +542 -0
  856. package/src/widgets/actions/relative-data/relative-data.tsx +188 -0
  857. package/src/widgets/actions/relative-data/types.ts +33 -0
  858. package/src/widgets/actions/relative-data/utils.test.ts +223 -0
  859. package/src/widgets/actions/relative-data/utils.ts +58 -0
  860. package/src/widgets/actions/searcher/searcher-toggle.test.tsx +354 -0
  861. package/src/widgets/actions/searcher/searcher-toggle.tsx +72 -0
  862. package/src/widgets/actions/searcher/searcher.tsx +196 -0
  863. package/src/widgets/actions/searcher/types.ts +72 -0
  864. package/src/widgets/actions/shared/styles.ts +12 -0
  865. package/src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx +14 -0
  866. package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +414 -0
  867. package/src/widgets/actions/stack-toggle/stack-toggle.tsx +129 -0
  868. package/src/widgets/actions/stack-toggle/types.ts +29 -0
  869. package/src/widgets/actions/zoom-toggle/style.ts +14 -0
  870. package/src/widgets/actions/zoom-toggle/types.ts +44 -0
  871. package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +322 -0
  872. package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +218 -0
  873. package/src/widgets/bar/config.ts +140 -0
  874. package/src/widgets/bar/index.ts +9 -0
  875. package/src/widgets/bar/skeleton.tsx +60 -0
  876. package/src/widgets/bar/style.ts +33 -0
  877. package/src/widgets/bar/types.ts +16 -0
  878. package/src/widgets/category/category-ui.test.tsx +399 -0
  879. package/src/widgets/category/category-ui.tsx +166 -0
  880. package/src/widgets/category/components/category-bar.tsx +31 -0
  881. package/src/widgets/category/components/category-legend.tsx +33 -0
  882. package/src/widgets/category/components/category-row-multi.tsx +57 -0
  883. package/src/widgets/category/components/category-row-other.tsx +26 -0
  884. package/src/widgets/category/components/category-row-single.tsx +54 -0
  885. package/src/widgets/category/components/category-rows.test.tsx +213 -0
  886. package/src/widgets/category/config.ts +86 -0
  887. package/src/widgets/category/index.ts +29 -0
  888. package/src/widgets/category/skeleton.tsx +24 -0
  889. package/src/widgets/category/style.ts +134 -0
  890. package/src/widgets/category/types.ts +41 -0
  891. package/src/widgets/echart/const.ts +1 -0
  892. package/src/widgets/echart/echart-ui.test.tsx +526 -0
  893. package/src/widgets/echart/echart-ui.tsx +78 -0
  894. package/src/widgets/echart/echart.test.tsx +546 -0
  895. package/src/widgets/echart/echart.tsx +66 -0
  896. package/src/widgets/echart/index.ts +16 -0
  897. package/src/widgets/echart/options.ts +57 -0
  898. package/src/widgets/echart/shared-resize-observer.ts +45 -0
  899. package/src/widgets/echart/types.ts +45 -0
  900. package/src/widgets/echart/utils.test.ts +277 -0
  901. package/src/widgets/echart/utils.ts +244 -0
  902. package/src/widgets/error/error.test.tsx +331 -0
  903. package/src/widgets/error/error.tsx +51 -0
  904. package/src/widgets/error/index.ts +2 -0
  905. package/src/widgets/error/types.ts +24 -0
  906. package/src/widgets/formula/components/item.test.tsx +249 -0
  907. package/src/widgets/formula/components/item.tsx +21 -0
  908. package/src/widgets/formula/components/prefix.test.tsx +341 -0
  909. package/src/widgets/formula/components/prefix.tsx +19 -0
  910. package/src/widgets/formula/components/row.test.tsx +364 -0
  911. package/src/widgets/formula/components/row.tsx +24 -0
  912. package/src/widgets/formula/components/series.tsx +35 -0
  913. package/src/widgets/formula/components/suffix.test.tsx +383 -0
  914. package/src/widgets/formula/components/suffix.tsx +29 -0
  915. package/src/widgets/formula/components/value.test.tsx +329 -0
  916. package/src/widgets/formula/components/value.tsx +24 -0
  917. package/src/widgets/formula/config.test.ts +37 -0
  918. package/src/widgets/formula/config.ts +38 -0
  919. package/src/widgets/formula/formula-ui.test.tsx +399 -0
  920. package/src/widgets/formula/formula-ui.tsx +30 -0
  921. package/src/widgets/formula/index.ts +24 -0
  922. package/src/widgets/formula/serializer.test.tsx +144 -0
  923. package/src/widgets/formula/serializer.ts +28 -0
  924. package/src/widgets/formula/skeleton.tsx +10 -0
  925. package/src/widgets/formula/style.ts +23 -0
  926. package/src/widgets/formula/types.ts +50 -0
  927. package/src/widgets/histogram/config.ts +230 -0
  928. package/src/widgets/histogram/index.ts +13 -0
  929. package/src/widgets/histogram/skeleton.tsx +52 -0
  930. package/src/widgets/histogram/style.ts +8 -0
  931. package/src/widgets/histogram/types.ts +23 -0
  932. package/src/widgets/loader/index.ts +4 -0
  933. package/src/widgets/loader/loader.tsx +92 -0
  934. package/src/widgets/loader/types.ts +13 -0
  935. package/src/widgets/loader/utils.test.ts +112 -0
  936. package/src/widgets/loader/utils.ts +57 -0
  937. package/src/widgets/markdown/config.ts +28 -0
  938. package/src/widgets/markdown/index.ts +14 -0
  939. package/src/widgets/markdown/markdown-ui.test.tsx +341 -0
  940. package/src/widgets/markdown/markdown-ui.tsx +59 -0
  941. package/src/widgets/markdown/markdown.tsx +20 -0
  942. package/src/widgets/markdown/skeleton.tsx +12 -0
  943. package/src/widgets/markdown/style.ts +28 -0
  944. package/src/widgets/markdown/types.ts +28 -0
  945. package/src/widgets/no-data/index.ts +2 -0
  946. package/src/widgets/no-data/no-data.test.tsx +497 -0
  947. package/src/widgets/no-data/no-data.tsx +112 -0
  948. package/src/widgets/no-data/style.ts +18 -0
  949. package/src/widgets/no-data/types.ts +76 -0
  950. package/src/widgets/note/index.ts +2 -0
  951. package/src/widgets/note/note.test.tsx +391 -0
  952. package/src/widgets/note/note.tsx +124 -0
  953. package/src/widgets/note/style.ts +29 -0
  954. package/src/widgets/note/types.ts +9 -0
  955. package/src/widgets/pie/config.ts +245 -0
  956. package/src/widgets/pie/index.ts +8 -0
  957. package/src/widgets/pie/skeleton.tsx +70 -0
  958. package/src/widgets/pie/style.ts +8 -0
  959. package/src/widgets/pie/types.ts +16 -0
  960. package/src/widgets/range/components/range-item.test.tsx +243 -0
  961. package/src/widgets/range/components/range-item.tsx +214 -0
  962. package/src/widgets/range/config.ts +10 -0
  963. package/src/widgets/range/index.ts +16 -0
  964. package/src/widgets/range/range-ui.test.tsx +203 -0
  965. package/src/widgets/range/range-ui.tsx +14 -0
  966. package/src/widgets/range/serializer.test.ts +70 -0
  967. package/src/widgets/range/serializer.ts +27 -0
  968. package/src/widgets/range/skeleton.tsx +14 -0
  969. package/src/widgets/range/style.ts +37 -0
  970. package/src/widgets/range/types.ts +39 -0
  971. package/src/widgets/scatterplot/config.ts +136 -0
  972. package/src/widgets/scatterplot/index.ts +8 -0
  973. package/src/widgets/scatterplot/skeleton.tsx +59 -0
  974. package/src/widgets/scatterplot/style.ts +21 -0
  975. package/src/widgets/scatterplot/types.ts +17 -0
  976. package/src/widgets/selection-summary/index.ts +6 -0
  977. package/src/widgets/selection-summary/selection-summary.tsx +57 -0
  978. package/src/widgets/selection-summary/style.ts +10 -0
  979. package/src/widgets/selection-summary/types.ts +14 -0
  980. package/src/widgets/skeleton-loader/index.ts +2 -0
  981. package/src/widgets/skeleton-loader/skeleton-loader.test.tsx +139 -0
  982. package/src/widgets/skeleton-loader/skeleton-loader.tsx +35 -0
  983. package/src/widgets/skeleton-loader/types.ts +8 -0
  984. package/src/widgets/spread/components/max-value.tsx +29 -0
  985. package/src/widgets/spread/components/min-value.tsx +29 -0
  986. package/src/widgets/spread/components/separator.tsx +9 -0
  987. package/src/widgets/spread/config.ts +39 -0
  988. package/src/widgets/spread/index.ts +23 -0
  989. package/src/widgets/spread/skeleton.tsx +10 -0
  990. package/src/widgets/spread/spread-ui.test.tsx +368 -0
  991. package/src/widgets/spread/spread-ui.tsx +32 -0
  992. package/src/widgets/spread/style.ts +22 -0
  993. package/src/widgets/spread/types.ts +47 -0
  994. package/src/widgets/stores/index.ts +13 -0
  995. package/src/widgets/stores/types.ts +203 -0
  996. package/src/widgets/stores/use-widget-selector.ts +47 -0
  997. package/src/widgets/stores/widget-store-branches.test.ts +275 -0
  998. package/src/widgets/stores/widget-store-performance.test.ts +750 -0
  999. package/src/widgets/stores/widget-store.test.ts +942 -0
  1000. package/src/widgets/stores/widget-store.ts +484 -0
  1001. package/src/widgets/subheader/index.ts +3 -0
  1002. package/src/widgets/subheader/style.ts +20 -0
  1003. package/src/widgets/subheader/subheader.test.tsx +45 -0
  1004. package/src/widgets/subheader/subheader.tsx +35 -0
  1005. package/src/widgets/subheader/types.ts +11 -0
  1006. package/src/widgets/table/components/cell-header.tsx +58 -0
  1007. package/src/widgets/table/components/cell.tsx +82 -0
  1008. package/src/widgets/table/components/pagination-actions.tsx +67 -0
  1009. package/src/widgets/table/components/pagination.tsx +41 -0
  1010. package/src/widgets/table/components/row.tsx +65 -0
  1011. package/src/widgets/table/config.test.ts +65 -0
  1012. package/src/widgets/table/config.ts +75 -0
  1013. package/src/widgets/table/helpers.test.ts +244 -0
  1014. package/src/widgets/table/helpers.ts +107 -0
  1015. package/src/widgets/table/hooks/use-pagination.test.ts +294 -0
  1016. package/src/widgets/table/hooks/use-pagination.ts +148 -0
  1017. package/src/widgets/table/hooks/use-selection.test.ts +504 -0
  1018. package/src/widgets/table/hooks/use-selection.ts +194 -0
  1019. package/src/widgets/table/hooks/use-sort.test.ts +296 -0
  1020. package/src/widgets/table/hooks/use-sort.ts +131 -0
  1021. package/src/widgets/table/index.ts +55 -0
  1022. package/src/widgets/table/serializer.ts +54 -0
  1023. package/src/widgets/table/skeleton.tsx +48 -0
  1024. package/src/widgets/table/style.ts +34 -0
  1025. package/src/widgets/table/table-ui.tsx +64 -0
  1026. package/src/widgets/table/types.ts +223 -0
  1027. package/src/widgets/timeseries/config.ts +136 -0
  1028. package/src/widgets/timeseries/index.ts +8 -0
  1029. package/src/widgets/timeseries/skeleton.tsx +55 -0
  1030. package/src/widgets/timeseries/style.ts +36 -0
  1031. package/src/widgets/timeseries/types.ts +17 -0
  1032. package/src/widgets/toolbar-actions/index.ts +6 -0
  1033. package/src/widgets/toolbar-actions/styles.ts +38 -0
  1034. package/src/widgets/toolbar-actions/toolbar-actions.test.tsx +691 -0
  1035. package/src/widgets/toolbar-actions/toolbar-actions.tsx +145 -0
  1036. package/src/widgets/toolbar-actions/types.ts +60 -0
  1037. package/src/widgets/utils/chart-config/config-factory.ts +67 -0
  1038. package/src/widgets/utils/chart-config/csv-modifiers.ts +56 -0
  1039. package/src/widgets/utils/chart-config/download-config.ts +22 -0
  1040. package/src/widgets/utils/chart-config/index.ts +29 -0
  1041. package/src/widgets/utils/chart-config/option-builders.test.ts +366 -0
  1042. package/src/widgets/utils/chart-config/option-builders.ts +308 -0
  1043. package/src/widgets/utils/formatter.ts +2 -0
  1044. package/src/widgets/utils/index.ts +26 -0
  1045. package/{dist/types/widgets/_shared/skeleton/index.d.ts → src/widgets/utils/skeleton/index.ts} +2 -1
  1046. package/src/widgets/utils/skeleton/styles.ts +20 -0
  1047. package/src/widgets/wrapper/components/actions.test.tsx +105 -0
  1048. package/src/widgets/wrapper/components/actions.tsx +35 -0
  1049. package/src/widgets/wrapper/components/options.test.tsx +331 -0
  1050. package/src/widgets/wrapper/components/options.tsx +81 -0
  1051. package/src/widgets/wrapper/components/title.test.tsx +126 -0
  1052. package/src/widgets/wrapper/components/title.tsx +35 -0
  1053. package/src/widgets/wrapper/index.ts +16 -0
  1054. package/src/widgets/wrapper/styles.ts +98 -0
  1055. package/src/widgets/wrapper/types.ts +55 -0
  1056. package/src/widgets/wrapper/wrapper-ui.test.tsx +232 -0
  1057. package/src/widgets/wrapper/wrapper-ui.tsx +72 -0
  1058. package/src/widgets/wrapper/wrapper.test.tsx +365 -0
  1059. package/src/widgets/wrapper/wrapper.tsx +60 -0
  1060. package/src/widgets-v2/PERFORMANCE.md +189 -0
  1061. package/src/widgets-v2/actions/brush-toggle/brush-toggle.test.tsx +180 -0
  1062. package/src/widgets-v2/actions/brush-toggle/brush-toggle.tsx +154 -0
  1063. package/src/widgets-v2/actions/brush-toggle/index.ts +3 -0
  1064. package/src/widgets-v2/actions/brush-toggle/labels.ts +9 -0
  1065. package/src/widgets-v2/actions/brush-toggle/style.ts +11 -0
  1066. package/src/widgets-v2/actions/brush-toggle/transforms.test.ts +47 -0
  1067. package/src/widgets-v2/actions/brush-toggle/transforms.ts +31 -0
  1068. package/src/widgets-v2/actions/change-column/change-column-icon.tsx +14 -0
  1069. package/src/widgets-v2/actions/change-column/change-column.test.tsx +59 -0
  1070. package/src/widgets-v2/actions/change-column/change-column.tsx +189 -0
  1071. package/src/widgets-v2/actions/change-column/index.ts +7 -0
  1072. package/src/widgets-v2/actions/change-column/labels.ts +11 -0
  1073. package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +63 -0
  1074. package/src/widgets-v2/actions/change-column/style.ts +58 -0
  1075. package/src/widgets-v2/actions/change-column/types.ts +11 -0
  1076. package/src/widgets-v2/actions/download/constants.ts +14 -0
  1077. package/src/widgets-v2/actions/download/csv-item.test.tsx +77 -0
  1078. package/src/widgets-v2/actions/download/csv-item.tsx +71 -0
  1079. package/src/widgets-v2/actions/download/download.test.tsx +327 -0
  1080. package/src/widgets-v2/actions/download/download.tsx +144 -0
  1081. package/src/widgets-v2/actions/download/exports.test.tsx +198 -0
  1082. package/src/widgets-v2/actions/download/exports.ts +115 -0
  1083. package/src/widgets-v2/actions/download/icons.tsx +35 -0
  1084. package/src/widgets-v2/actions/download/index.ts +15 -0
  1085. package/src/widgets-v2/actions/download/labels.ts +16 -0
  1086. package/src/widgets-v2/actions/download/png-item.test.tsx +72 -0
  1087. package/src/widgets-v2/actions/download/png-item.tsx +53 -0
  1088. package/src/widgets-v2/actions/download/style.ts +3 -0
  1089. package/src/widgets-v2/actions/download/types.ts +32 -0
  1090. package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +150 -0
  1091. package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +230 -0
  1092. package/src/widgets-v2/actions/fullscreen/index.ts +7 -0
  1093. package/src/widgets-v2/actions/fullscreen/labels.ts +9 -0
  1094. package/src/widgets-v2/actions/fullscreen/style.ts +59 -0
  1095. package/src/widgets-v2/actions/fullscreen/types.ts +15 -0
  1096. package/src/widgets-v2/actions/index.ts +95 -0
  1097. package/src/widgets-v2/actions/lock-selection/index.ts +10 -0
  1098. package/src/widgets-v2/actions/lock-selection/labels.ts +11 -0
  1099. package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +301 -0
  1100. package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +188 -0
  1101. package/src/widgets-v2/actions/lock-selection/style.ts +11 -0
  1102. package/src/widgets-v2/actions/lock-selection/transforms.ts +27 -0
  1103. package/src/widgets-v2/actions/relative-data/index.ts +3 -0
  1104. package/src/widgets-v2/actions/relative-data/labels.ts +9 -0
  1105. package/src/widgets-v2/actions/relative-data/relative-data.test.tsx +71 -0
  1106. package/src/widgets-v2/actions/relative-data/relative-data.tsx +107 -0
  1107. package/src/widgets-v2/actions/relative-data/style.ts +11 -0
  1108. package/src/widgets-v2/actions/relative-data/transforms.test.ts +151 -0
  1109. package/src/widgets-v2/actions/relative-data/transforms.ts +70 -0
  1110. package/src/widgets-v2/actions/searcher/filter.ts +28 -0
  1111. package/src/widgets-v2/actions/searcher/index.ts +8 -0
  1112. package/src/widgets-v2/actions/searcher/labels.ts +13 -0
  1113. package/src/widgets-v2/actions/searcher/searcher-toggle.tsx +91 -0
  1114. package/src/widgets-v2/actions/searcher/searcher.test.tsx +92 -0
  1115. package/src/widgets-v2/actions/searcher/searcher.tsx +111 -0
  1116. package/src/widgets-v2/actions/searcher/style.ts +15 -0
  1117. package/src/widgets-v2/actions/show-all/index.ts +7 -0
  1118. package/src/widgets-v2/actions/show-all/labels.ts +8 -0
  1119. package/src/widgets-v2/actions/show-all/show-all.test.tsx +50 -0
  1120. package/src/widgets-v2/actions/show-all/show-all.tsx +72 -0
  1121. package/src/widgets-v2/actions/show-all/style.ts +8 -0
  1122. package/src/widgets-v2/actions/stack-toggle/index.ts +3 -0
  1123. package/src/widgets-v2/actions/stack-toggle/labels.ts +9 -0
  1124. package/src/widgets-v2/actions/stack-toggle/stack-toggle.test.tsx +61 -0
  1125. package/src/widgets-v2/actions/stack-toggle/stack-toggle.tsx +54 -0
  1126. package/src/widgets-v2/actions/stack-toggle/style.ts +11 -0
  1127. package/src/widgets-v2/actions/stack-toggle/transforms.test.ts +43 -0
  1128. package/src/widgets-v2/actions/stack-toggle/transforms.ts +25 -0
  1129. package/src/widgets-v2/actions/zoom-toggle/index.ts +9 -0
  1130. package/src/widgets-v2/actions/zoom-toggle/labels.ts +9 -0
  1131. package/src/widgets-v2/actions/zoom-toggle/style.ts +11 -0
  1132. package/src/widgets-v2/actions/zoom-toggle/transforms.test.ts +148 -0
  1133. package/src/widgets-v2/actions/zoom-toggle/transforms.ts +171 -0
  1134. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.test.tsx +107 -0
  1135. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx +106 -0
  1136. package/src/widgets-v2/bar/download.test.tsx +91 -0
  1137. package/src/widgets-v2/bar/download.tsx +60 -0
  1138. package/src/widgets-v2/bar/index.ts +10 -0
  1139. package/src/widgets-v2/bar/options.test.ts +361 -0
  1140. package/src/widgets-v2/bar/options.ts +333 -0
  1141. package/src/widgets-v2/bar/skeleton.test.tsx +19 -0
  1142. package/src/widgets-v2/bar/skeleton.tsx +69 -0
  1143. package/src/widgets-v2/bar/types.ts +51 -0
  1144. package/src/widgets-v2/category/category-ui.test.tsx +909 -0
  1145. package/src/widgets-v2/category/category-ui.tsx +479 -0
  1146. package/src/widgets-v2/category/category.relative-data.test.tsx +107 -0
  1147. package/src/widgets-v2/category/category.stack-toggle.test.tsx +85 -0
  1148. package/src/widgets-v2/category/category.test.tsx +305 -0
  1149. package/src/widgets-v2/category/category.tsx +130 -0
  1150. package/src/widgets-v2/category/components/category-bar-stacked.test.tsx +121 -0
  1151. package/src/widgets-v2/category/components/category-bar-stacked.tsx +73 -0
  1152. package/src/widgets-v2/category/components/category-bar.test.tsx +64 -0
  1153. package/src/widgets-v2/category/components/category-bar.tsx +49 -0
  1154. package/src/widgets-v2/category/components/category-legend.test.tsx +102 -0
  1155. package/src/widgets-v2/category/components/category-legend.tsx +82 -0
  1156. package/src/widgets-v2/category/components/category-row-multi.tsx +86 -0
  1157. package/src/widgets-v2/category/components/category-row-other.test.tsx +57 -0
  1158. package/src/widgets-v2/category/components/category-row-other.tsx +84 -0
  1159. package/src/widgets-v2/category/components/category-row-single.tsx +76 -0
  1160. package/src/widgets-v2/category/components/category-row-stacked.test.tsx +248 -0
  1161. package/src/widgets-v2/category/components/category-row-stacked.tsx +104 -0
  1162. package/src/widgets-v2/category/download.test.ts +80 -0
  1163. package/src/widgets-v2/category/download.ts +50 -0
  1164. package/src/widgets-v2/category/index.ts +32 -0
  1165. package/src/widgets-v2/category/skeleton.test.tsx +26 -0
  1166. package/src/widgets-v2/category/skeleton.tsx +74 -0
  1167. package/src/widgets-v2/category/style.ts +329 -0
  1168. package/src/widgets-v2/category/types.ts +61 -0
  1169. package/src/widgets-v2/echart/echart-ui.test.tsx +327 -0
  1170. package/src/widgets-v2/echart/echart-ui.tsx +232 -0
  1171. package/src/widgets-v2/echart/echart.test.tsx +229 -0
  1172. package/src/widgets-v2/echart/echart.tsx +199 -0
  1173. package/src/widgets-v2/echart/edge-label-clamp.test.ts +198 -0
  1174. package/src/widgets-v2/echart/edge-label-clamp.ts +217 -0
  1175. package/src/widgets-v2/echart/index.ts +22 -0
  1176. package/src/widgets-v2/echart/shared-resize-observer.test.ts +91 -0
  1177. package/src/widgets-v2/echart/shared-resize-observer.ts +56 -0
  1178. package/src/widgets-v2/echart/style.ts +8 -0
  1179. package/src/widgets-v2/echart/use-chart-selection.test.tsx +120 -0
  1180. package/src/widgets-v2/echart/use-chart-selection.ts +121 -0
  1181. package/src/widgets-v2/formula/delta.tsx +61 -0
  1182. package/src/widgets-v2/formula/download.test.tsx +65 -0
  1183. package/src/widgets-v2/formula/download.tsx +63 -0
  1184. package/src/widgets-v2/formula/formula-ui.test.tsx +91 -0
  1185. package/src/widgets-v2/formula/formula-ui.tsx +66 -0
  1186. package/src/widgets-v2/formula/formula.test.tsx +50 -0
  1187. package/src/widgets-v2/formula/formula.tsx +34 -0
  1188. package/src/widgets-v2/formula/index.ts +17 -0
  1189. package/src/widgets-v2/formula/note.tsx +25 -0
  1190. package/src/widgets-v2/formula/prefix.tsx +25 -0
  1191. package/src/widgets-v2/formula/series.tsx +67 -0
  1192. package/src/widgets-v2/formula/skeleton.test.tsx +21 -0
  1193. package/src/widgets-v2/formula/skeleton.tsx +27 -0
  1194. package/src/widgets-v2/formula/style.ts +31 -0
  1195. package/src/widgets-v2/formula/subcomponents.test.tsx +107 -0
  1196. package/src/widgets-v2/formula/suffix.tsx +25 -0
  1197. package/src/widgets-v2/formula/types.ts +48 -0
  1198. package/src/widgets-v2/formula/value.tsx +31 -0
  1199. package/src/widgets-v2/histogram/download.test.ts +94 -0
  1200. package/src/widgets-v2/histogram/download.ts +56 -0
  1201. package/src/widgets-v2/histogram/index.ts +13 -0
  1202. package/src/widgets-v2/histogram/options.test.ts +411 -0
  1203. package/src/widgets-v2/histogram/options.ts +390 -0
  1204. package/src/widgets-v2/histogram/skeleton.test.tsx +16 -0
  1205. package/src/widgets-v2/histogram/skeleton.tsx +70 -0
  1206. package/src/widgets-v2/histogram/transforms.test.ts +81 -0
  1207. package/src/widgets-v2/histogram/transforms.ts +53 -0
  1208. package/src/widgets-v2/histogram/types.ts +64 -0
  1209. package/src/widgets-v2/index.ts +212 -0
  1210. package/src/widgets-v2/markdown/download.test.ts +66 -0
  1211. package/src/widgets-v2/markdown/download.tsx +56 -0
  1212. package/src/widgets-v2/markdown/index.ts +6 -0
  1213. package/src/widgets-v2/markdown/markdown-content.test.tsx +165 -0
  1214. package/src/widgets-v2/markdown/markdown-content.tsx +81 -0
  1215. package/src/widgets-v2/markdown/markdown-ui.test.tsx +75 -0
  1216. package/src/widgets-v2/markdown/markdown-ui.tsx +55 -0
  1217. package/src/widgets-v2/markdown/markdown.test.tsx +39 -0
  1218. package/src/widgets-v2/markdown/markdown.tsx +17 -0
  1219. package/src/widgets-v2/markdown/skeleton.test.tsx +15 -0
  1220. package/src/widgets-v2/markdown/skeleton.tsx +32 -0
  1221. package/src/widgets-v2/markdown/style.ts +53 -0
  1222. package/src/widgets-v2/markdown/types.ts +4 -0
  1223. package/src/widgets-v2/note/labels.ts +9 -0
  1224. package/src/widgets-v2/note/style.ts +26 -0
  1225. package/src/widgets-v2/note/widget-note.test.tsx +158 -0
  1226. package/src/widgets-v2/note/widget-note.tsx +172 -0
  1227. package/src/widgets-v2/pie/download.test.ts +78 -0
  1228. package/src/widgets-v2/pie/download.ts +51 -0
  1229. package/src/widgets-v2/pie/index.ts +10 -0
  1230. package/src/widgets-v2/pie/options.test.ts +930 -0
  1231. package/src/widgets-v2/pie/options.ts +611 -0
  1232. package/src/widgets-v2/pie/skeleton.test.tsx +20 -0
  1233. package/src/widgets-v2/pie/skeleton.tsx +94 -0
  1234. package/src/widgets-v2/pie/types.ts +62 -0
  1235. package/src/widgets-v2/provider/widget-provider.test.tsx +119 -0
  1236. package/src/widgets-v2/provider/widget-provider.tsx +111 -0
  1237. package/src/widgets-v2/range/index.ts +4 -0
  1238. package/src/widgets-v2/range/range-ui.test.tsx +136 -0
  1239. package/src/widgets-v2/range/range-ui.tsx +278 -0
  1240. package/src/widgets-v2/range/range.test.tsx +68 -0
  1241. package/src/widgets-v2/range/range.tsx +52 -0
  1242. package/src/widgets-v2/range/skeleton.test.tsx +17 -0
  1243. package/src/widgets-v2/range/skeleton.tsx +47 -0
  1244. package/src/widgets-v2/range/style.ts +41 -0
  1245. package/src/widgets-v2/range/types.ts +37 -0
  1246. package/src/widgets-v2/scatterplot/download.test.ts +71 -0
  1247. package/src/widgets-v2/scatterplot/download.ts +50 -0
  1248. package/src/widgets-v2/scatterplot/index.ts +14 -0
  1249. package/src/widgets-v2/scatterplot/options.test.ts +411 -0
  1250. package/src/widgets-v2/scatterplot/options.ts +422 -0
  1251. package/src/widgets-v2/scatterplot/skeleton.test.tsx +17 -0
  1252. package/src/widgets-v2/scatterplot/skeleton.tsx +84 -0
  1253. package/src/widgets-v2/scatterplot/transforms.test.ts +134 -0
  1254. package/src/widgets-v2/scatterplot/transforms.ts +61 -0
  1255. package/src/widgets-v2/scatterplot/types.ts +59 -0
  1256. package/src/widgets-v2/selection-summary/labels.ts +15 -0
  1257. package/src/widgets-v2/selection-summary/selection-summary.test.tsx +59 -0
  1258. package/src/widgets-v2/selection-summary/selection-summary.tsx +82 -0
  1259. package/src/widgets-v2/selection-summary/style.ts +38 -0
  1260. package/src/widgets-v2/spread/band.test.ts +46 -0
  1261. package/src/widgets-v2/spread/band.ts +47 -0
  1262. package/src/widgets-v2/spread/download.test.ts +64 -0
  1263. package/src/widgets-v2/spread/download.ts +55 -0
  1264. package/src/widgets-v2/spread/index.ts +11 -0
  1265. package/src/widgets-v2/spread/separator.tsx +11 -0
  1266. package/src/widgets-v2/spread/skeleton.test.tsx +17 -0
  1267. package/src/widgets-v2/spread/skeleton.tsx +38 -0
  1268. package/src/widgets-v2/spread/spread-ui.test.tsx +108 -0
  1269. package/src/widgets-v2/spread/spread-ui.tsx +52 -0
  1270. package/src/widgets-v2/spread/spread.test.tsx +50 -0
  1271. package/src/widgets-v2/spread/spread.tsx +31 -0
  1272. package/src/widgets-v2/spread/types.ts +27 -0
  1273. package/src/widgets-v2/state/labels.test.ts +33 -0
  1274. package/src/widgets-v2/state/labels.ts +20 -0
  1275. package/src/widgets-v2/state/style.ts +25 -0
  1276. package/src/widgets-v2/state/widget-state.test.tsx +294 -0
  1277. package/src/widgets-v2/state/widget-state.tsx +184 -0
  1278. package/src/widgets-v2/stores/index.ts +49 -0
  1279. package/src/widgets-v2/stores/pipeline-middleware.test.ts +187 -0
  1280. package/src/widgets-v2/stores/pipeline-middleware.ts +91 -0
  1281. package/src/widgets-v2/stores/transforms.test.ts +162 -0
  1282. package/src/widgets-v2/stores/transforms.ts +70 -0
  1283. package/src/widgets-v2/stores/types.ts +64 -0
  1284. package/src/widgets-v2/stores/use-echart-instance.test.tsx +91 -0
  1285. package/src/widgets-v2/stores/use-echart-instance.ts +29 -0
  1286. package/src/widgets-v2/stores/use-transform-enabled.test.tsx +127 -0
  1287. package/src/widgets-v2/stores/use-transform-enabled.ts +25 -0
  1288. package/src/widgets-v2/stores/use-transform.test.tsx +262 -0
  1289. package/src/widgets-v2/stores/use-transform.ts +158 -0
  1290. package/src/widgets-v2/stores/widget-context.test.tsx +58 -0
  1291. package/src/widgets-v2/stores/widget-context.ts +15 -0
  1292. package/src/widgets-v2/stores/widget-store-registry.test.ts +292 -0
  1293. package/src/widgets-v2/stores/widget-store-registry.ts +239 -0
  1294. package/src/widgets-v2/subheader/style.ts +12 -0
  1295. package/src/widgets-v2/subheader/subheader.test.tsx +30 -0
  1296. package/src/widgets-v2/subheader/subheader.tsx +16 -0
  1297. package/src/widgets-v2/table/download.test.ts +85 -0
  1298. package/src/widgets-v2/table/download.ts +43 -0
  1299. package/src/widgets-v2/table/helpers.test.ts +233 -0
  1300. package/src/widgets-v2/table/helpers.ts +131 -0
  1301. package/src/widgets-v2/table/index.ts +24 -0
  1302. package/src/widgets-v2/table/labels.tsx +41 -0
  1303. package/src/widgets-v2/table/skeleton.test.tsx +26 -0
  1304. package/src/widgets-v2/table/skeleton.tsx +65 -0
  1305. package/src/widgets-v2/table/style.ts +43 -0
  1306. package/src/widgets-v2/table/table-ui.test.tsx +200 -0
  1307. package/src/widgets-v2/table/table-ui.tsx +364 -0
  1308. package/src/widgets-v2/table/table.test.tsx +119 -0
  1309. package/src/widgets-v2/table/table.tsx +179 -0
  1310. package/src/widgets-v2/table/transforms.test.ts +40 -0
  1311. package/src/widgets-v2/table/transforms.ts +28 -0
  1312. package/src/widgets-v2/table/types.ts +55 -0
  1313. package/src/widgets-v2/test-utils.ts +107 -0
  1314. package/src/widgets-v2/timeseries/download.test.ts +95 -0
  1315. package/src/widgets-v2/timeseries/download.ts +82 -0
  1316. package/src/widgets-v2/timeseries/index.ts +11 -0
  1317. package/src/widgets-v2/timeseries/options.test.ts +399 -0
  1318. package/src/widgets-v2/timeseries/options.ts +342 -0
  1319. package/src/widgets-v2/timeseries/skeleton.test.tsx +13 -0
  1320. package/src/widgets-v2/timeseries/skeleton.tsx +76 -0
  1321. package/src/widgets-v2/timeseries/transforms.test.ts +49 -0
  1322. package/src/widgets-v2/timeseries/transforms.ts +31 -0
  1323. package/src/widgets-v2/timeseries/types.ts +65 -0
  1324. package/src/widgets-v2/toolbox/labels.ts +9 -0
  1325. package/src/widgets-v2/toolbox/style.ts +33 -0
  1326. package/src/widgets-v2/toolbox/toolbox.test.tsx +200 -0
  1327. package/src/widgets-v2/toolbox/toolbox.tsx +309 -0
  1328. package/src/widgets-v2/types.ts +25 -0
  1329. package/src/widgets-v2/utils/data-zoom-layout.ts +26 -0
  1330. package/src/widgets-v2/utils/index.ts +3 -0
  1331. package/src/widgets-v2/utils/merge-options.test.ts +52 -0
  1332. package/src/widgets-v2/utils/merge-options.ts +50 -0
  1333. package/src/widgets-v2/utils/resolve-theme-color.test.ts +43 -0
  1334. package/src/widgets-v2/utils/resolve-theme-color.ts +34 -0
  1335. package/src/widgets-v2/wrapper/index.ts +14 -0
  1336. package/src/widgets-v2/wrapper/labels.ts +11 -0
  1337. package/src/widgets-v2/wrapper/style.ts +128 -0
  1338. package/src/widgets-v2/wrapper/widget-actions.test.tsx +52 -0
  1339. package/src/widgets-v2/wrapper/widget-actions.tsx +43 -0
  1340. package/src/widgets-v2/wrapper/widget-content.test.tsx +27 -0
  1341. package/src/widgets-v2/wrapper/widget-content.tsx +29 -0
  1342. package/src/widgets-v2/wrapper/widget-wrapper.test.tsx +255 -0
  1343. package/src/widgets-v2/wrapper/widget-wrapper.tsx +194 -0
  1344. package/dist/cjs-D9ro6BXv.js +0 -85
  1345. package/dist/cjs-D9ro6BXv.js.map +0 -1
  1346. package/dist/components.js.map +0 -1
  1347. package/dist/error-B2IJ9d2h.js +0 -38
  1348. package/dist/error-B2IJ9d2h.js.map +0 -1
  1349. package/dist/exports-Cr43OCul.js +0 -51
  1350. package/dist/exports-Cr43OCul.js.map +0 -1
  1351. package/dist/lasso-tool-CYn3ivf-.js +0 -534
  1352. package/dist/lasso-tool-CYn3ivf-.js.map +0 -1
  1353. package/dist/markdown-ui-CpNYUPqC.js +0 -68
  1354. package/dist/markdown-ui-CpNYUPqC.js.map +0 -1
  1355. package/dist/no-data-C54XJt13.js +0 -61
  1356. package/dist/no-data-C54XJt13.js.map +0 -1
  1357. package/dist/note-Clng2ej6.js +0 -124
  1358. package/dist/note-Clng2ej6.js.map +0 -1
  1359. package/dist/options-D9wflre6.js +0 -49
  1360. package/dist/options-D9wflre6.js.map +0 -1
  1361. package/dist/row-DLKZN5aF.js +0 -33
  1362. package/dist/row-DLKZN5aF.js.map +0 -1
  1363. package/dist/row-DrHwXNvF.js +0 -35
  1364. package/dist/row-DrHwXNvF.js.map +0 -1
  1365. package/dist/series-Cf1QPZHV.js +0 -83
  1366. package/dist/series-Cf1QPZHV.js.map +0 -1
  1367. package/dist/series-Do02NQUF.js +0 -91
  1368. package/dist/series-Do02NQUF.js.map +0 -1
  1369. package/dist/smart-tooltip-BEtBaIdz.js +0 -39
  1370. package/dist/smart-tooltip-BEtBaIdz.js.map +0 -1
  1371. package/dist/styles-CcC5L2cr.js +0 -77
  1372. package/dist/styles-CcC5L2cr.js.map +0 -1
  1373. package/dist/styles-dOu_pRNb.js +0 -77
  1374. package/dist/styles-dOu_pRNb.js.map +0 -1
  1375. package/dist/tooltip-BDnrRKrp.js +0 -25
  1376. package/dist/tooltip-BDnrRKrp.js.map +0 -1
  1377. package/dist/types/common/common.d.ts +0 -3
  1378. package/dist/types/common/index.d.ts +0 -26
  1379. package/dist/types/common/lasso-tools.d.ts +0 -36
  1380. package/dist/types/common/measurement-tools.d.ts +0 -65
  1381. package/dist/types/hooks/use-debounce.d.ts +0 -19
  1382. package/dist/types/widgets/_shared/chart-config/index.d.ts +0 -7
  1383. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +0 -34
  1384. package/dist/types/widgets/actions/relative-data/style.d.ts +0 -8
  1385. package/dist/types/widgets/actions/relative-data/utils.test.d.ts +0 -1
  1386. package/dist/types/widgets/actions/zoom-toggle/index.d.ts +0 -2
  1387. package/dist/types/widgets/category/components/index.d.ts +0 -10
  1388. package/dist/types/widgets/index.d.ts +0 -8
  1389. package/dist/types/widgets/range/serializer.test.d.ts +0 -1
  1390. package/dist/types/widgets/root/index.d.ts +0 -3
  1391. package/dist/types/widgets/root/root.d.ts +0 -2
  1392. package/dist/types/widgets/root/types.d.ts +0 -9
  1393. package/dist/types/widgets/root/utils.d.ts +0 -1
  1394. package/dist/types/widgets/stores/widget-store.test.d.ts +0 -1
  1395. package/dist/types/widgets/table/components/index.d.ts +0 -4
  1396. package/dist/types/widgets/table/helpers.test.d.ts +0 -1
  1397. package/dist/types/widgets/table/hooks/index.d.ts +0 -6
  1398. package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +0 -1
  1399. package/dist/types/widgets/table/hooks/use-selection.test.d.ts +0 -1
  1400. package/dist/types/widgets/table/hooks/use-sort.test.d.ts +0 -1
  1401. package/dist/utils-DNtU8q7E.js +0 -144
  1402. package/dist/utils-DNtU8q7E.js.map +0 -1
  1403. package/dist/utils-Dv5Z47UQ.js +0 -144
  1404. package/dist/utils-Dv5Z47UQ.js.map +0 -1
  1405. package/dist/widget-store-CB6Trp_0.js +0 -131
  1406. package/dist/widget-store-CB6Trp_0.js.map +0 -1
  1407. package/dist/widget-store-yDO2ul8g.js +0 -44
  1408. package/dist/widget-store-yDO2ul8g.js.map +0 -1
  1409. package/dist/widgets/actions.js.map +0 -1
  1410. package/dist/widgets/echart.js.map +0 -1
  1411. package/dist/widgets/formula.js.map +0 -1
  1412. package/dist/widgets/root.js +0 -68
  1413. package/dist/widgets/root.js.map +0 -1
  1414. package/dist/widgets/stores.js.map +0 -1
  1415. package/dist/widgets.js +0 -11
  1416. package/dist/widgets.js.map +0 -1
  1417. /package/dist/types/widgets/{_shared → utils}/chart-config/csv-modifiers.d.ts +0 -0
  1418. /package/dist/types/widgets/{_shared → utils}/skeleton/styles.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.js","sources":["../../src/widgets/actions/fullscreen/styles.ts","../../src/widgets/actions/fullscreen/fullscreen.tsx","../../src/widgets/actions/download/download.tsx","../../src/widgets/actions/shared/styles.ts","../../src/widgets/actions/relative-data/utils.ts","../../src/widgets/actions/relative-data/relative-data.tsx","../../src/widgets/actions/zoom-toggle/style.ts","../../src/widgets/actions/zoom-toggle/zoom-toggle.tsx","../../src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx","../../src/widgets/actions/stack-toggle/stack-toggle.tsx","../../src/widgets/actions/lock-selection/lock-selection.tsx","../../src/widgets/actions/searcher/searcher.tsx","../../src/widgets/actions/searcher/searcher-toggle.tsx","../../src/widgets/actions/change-column/change-column-icon.tsx","../../src/widgets/actions/change-column/sortable-column-item.tsx","../../src/widgets/actions/change-column/change-column.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n title: {\n container: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 1,\n },\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(1),\n },\n} satisfies Record<string, SxProps<Theme>>\n","import {\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n Typography,\n} from '@mui/material'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Close, FullscreenOutlined } from '@mui/icons-material'\nimport type {\n FullScreenConfig,\n FullScreenProps,\n FullScreenState,\n} from './types'\nimport { styles } from './styles'\nimport { useShallow } from 'zustand/shallow'\n\nexport function FullScreen({\n id,\n labels,\n children,\n Icon,\n IconButtonProps,\n DialogContentProps: { sx, ...DialogContentProps } = {},\n}: FullScreenProps) {\n const { isFullScreen, title } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<FullScreenState>(id)\n return {\n isFullScreen: widget?.isFullScreen,\n title: widget?.title,\n }\n }),\n )\n const setWidget = useWidgetStore((state) => state.setWidget)\n\n const updateFullScreenConfig = (updates: Partial<FullScreenConfig>) => {\n setWidget<FullScreenState>(id, {\n isFullScreen: updates.isFullScreen,\n })\n }\n\n return (\n <>\n <IconButton\n {...IconButtonProps}\n onClick={() => updateFullScreenConfig({ isFullScreen: true })}\n >\n {Icon ?? <FullscreenOutlined />}\n </IconButton>\n <Dialog\n maxWidth={false}\n open={!!isFullScreen}\n aria-labelledby={labels?.ariaLabel ?? `fullscreen-dialog-title-${id}`}\n onClose={() => updateFullScreenConfig({ isFullScreen: false })}\n >\n <DialogTitle\n id={`fullscreen-dialog-title-${id}`}\n sx={styles.title.container}\n >\n <Typography variant='subtitle1' component='span'>\n {title}\n </Typography>\n <IconButton\n onClick={() => updateFullScreenConfig({ isFullScreen: false })}\n >\n <Close />\n </IconButton>\n </DialogTitle>\n <DialogContent\n sx={{\n ...styles.content,\n ...sx,\n }}\n {...DialogContentProps}\n >\n {children}\n </DialogContent>\n </Dialog>\n </>\n )\n}\n","import {\n CircularProgress,\n IconButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n} from '@mui/material'\nimport type { DownloadItem, DownloadProps } from './types'\nimport { FileDownloadOutlined } from '@mui/icons-material'\nimport { useState, type MouseEvent } from 'react'\nimport { useWidgetStore } from '../../../widgets'\nimport { useShallow } from 'zustand/shallow'\n\nexport function Download({\n id,\n items,\n labels = {},\n Icon,\n IconButtonProps,\n}: DownloadProps) {\n const data = useWidgetStore(useShallow((state) => state.getWidget(id)?.data))\n\n const [isDownloading, setIsDownloading] = useState(false)\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n\n const handleToggle = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n setAnchorEl(event.currentTarget)\n }\n\n const handleDownload = (data: string, option: DownloadItem) => {\n const link = document.createElement('a')\n link.href = data\n link.download = option.filename ?? id\n link.style.display = 'none'\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n option.callback?.(link.href)\n }\n\n const handleClick = async (\n event: MouseEvent<HTMLElement>,\n option: DownloadItem,\n ) => {\n event.stopPropagation()\n\n setIsDownloading(true)\n setAnchorEl(null)\n\n const result = await option.modifier(data)\n\n if (!result) {\n setIsDownloading(false)\n return\n }\n\n handleDownload(result, option)\n setIsDownloading(false)\n }\n\n return (\n <>\n <IconButton\n size='small'\n aria-label={labels.ariaLabel ?? 'download options'}\n aria-controls='options-menu'\n aria-haspopup='true'\n onClick={handleToggle}\n {...IconButtonProps}\n disabled={isDownloading || items.length === 0}\n className={isDownloading || anchorEl ? 'active' : ''}\n >\n {isDownloading ? (\n <CircularProgress size={18} color='inherit' />\n ) : (\n (Icon ?? <FileDownloadOutlined />)\n )}\n </IconButton>\n <Menu\n variant='menu'\n elevation={8}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n anchorEl={anchorEl}\n open={Boolean(anchorEl)}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n sx: {\n paddingBottom: 0,\n },\n }}\n >\n {items.map((option) => (\n <MenuItem\n key={option.id}\n disabled={option.disabled}\n onClick={(e) => void handleClick(e, option)}\n >\n {option.icon && (\n <ListItemIcon sx={{ color: 'text.primary' }}>\n {option.icon}\n </ListItemIcon>\n )}\n <ListItemText>{option.label}</ListItemText>\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\n/**\n * Shared styles for widget action buttons\n */\nexport const actionButtonStyles = {\n trigger: {\n '&[data-active=\"true\"]': {\n background: (theme: Theme) => theme.palette.primary.relatedLight,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import type { EchartWidgetData } from '../../echart/types'\n\n/**\n * Calculates the sum of all numeric values in the data\n */\nexport function calculateTotal(data: EchartWidgetData): number {\n return data.reduce((total, series) => {\n return series.reduce((seriesTotal, item) => {\n return Object.values(item).reduce((itemTotal: number, value) => {\n return typeof value === 'number' ? itemTotal + value : itemTotal\n }, seriesTotal)\n }, total)\n }, 0)\n}\n\n/**\n * Transforms data to relative (percentage) values\n */\nexport function toRelativeData(\n data: EchartWidgetData,\n total: number,\n): EchartWidgetData {\n if (total === 0) return data\n\n return data.map((series) =>\n series.map((item) => {\n const transformed: Record<string, string | number> = {}\n\n for (const [key, value] of Object.entries(item)) {\n transformed[key] =\n typeof value === 'number' ? (value / total) * 100 : value\n }\n\n return transformed\n }),\n )\n}\n","import { IconButton } from '@mui/material'\nimport { PercentOutlined } from '@mui/icons-material'\nimport { useCallback, useEffect, useRef } from 'react'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport type { RelativeDataProps, RelativeDataState } from './types'\nimport { actionButtonStyles } from '../shared/styles'\nimport { Tooltip } from '../../../components'\nimport { calculateTotal, toRelativeData } from './utils'\nimport type { EchartWidgetData } from '../../../widgets/echart'\n\nexport const RELATIVE_DATA_TOOL_ID = 'relative-data'\n\n/**\n * Widget action to toggle between relative (percentage) and absolute data display.\n *\n * Registers a transformation tool in the widget pipeline when mounted.\n * When relative mode is active, transforms data to percentages via the pipeline.\n *\n * @example\n * ```tsx\n * <RelativeData\n * id=\"my-widget\"\n * order={20}\n * defaultIsRelative={false}\n * />\n * ```\n */\nexport function RelativeData({\n id,\n order = 10,\n defaultIsRelative = false,\n labels,\n Icon,\n IconButtonProps,\n}: RelativeDataProps) {\n const previousMaxValue = useRef<number | undefined>(undefined)\n const setWidget = useWidgetStore((state) => state.setWidget)\n const getWidget = useWidgetStore((state) => state.getWidget)\n const registerTool = useWidgetStore((state) => state.registerTool)\n const unregisterTool = useWidgetStore((state) => state.unregisterTool)\n const setToolEnabled = useWidgetStore((state) => state.setToolEnabled)\n\n const storeIsRelative = useWidgetStore(\n (state) => state.getWidget<RelativeDataState>(id)?.isRelative,\n )\n\n const isRelative = storeIsRelative ?? defaultIsRelative\n\n // Initialize store with default value on mount\n useEffect(() => {\n const currentValue = getWidget<RelativeDataState>(id)?.isRelative\n if (currentValue === undefined) {\n setWidget(id, { isRelative: defaultIsRelative })\n }\n }, [defaultIsRelative, getWidget, id, setWidget])\n\n // Register tool on mount\n useEffect(() => {\n registerTool(id, {\n id: RELATIVE_DATA_TOOL_ID,\n order,\n enabled: isRelative,\n fn: (data) => {\n const echartData = data as EchartWidgetData\n const total = calculateTotal(echartData)\n return toRelativeData(echartData, total)\n },\n })\n\n return () => unregisterTool(id, RELATIVE_DATA_TOOL_ID)\n }, [id, order, registerTool, unregisterTool, isRelative])\n\n // Update enabled flag when toggle changes\n useEffect(() => {\n setToolEnabled(id, RELATIVE_DATA_TOOL_ID, isRelative)\n }, [id, isRelative, setToolEnabled])\n\n const handleToggle = useCallback(() => {\n const newIsRelative = !isRelative\n let max = previousMaxValue.current\n\n if (newIsRelative) {\n // Save current max value before setting to 100\n const currentMax = (getWidget(id) as { max?: number })?.max\n previousMaxValue.current = currentMax\n max = 100\n }\n\n setWidget(id, {\n isRelative: newIsRelative,\n max,\n })\n }, [isRelative, setWidget, id, getWidget])\n\n const tooltipLabel = isRelative\n ? (labels?.absolute ?? 'Show absolute values')\n : (labels?.relative ?? 'Show relative values')\n\n return (\n <Tooltip title={tooltipLabel}>\n <IconButton\n size='small'\n aria-label={labels?.ariaLabel ?? tooltipLabel}\n onClick={handleToggle}\n sx={actionButtonStyles.trigger}\n data-active={isRelative}\n {...IconButtonProps}\n >\n {Icon ?? <PercentOutlined />}\n </IconButton>\n </Tooltip>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n container: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(0.25),\n },\n trigger: {\n '&[data-active=\"true\"]': {\n background: (theme: Theme) => theme.palette.primary.relatedLight,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, IconButton, useTheme } from '@mui/material'\nimport {\n SubdirectoryArrowLeftOutlined,\n ZoomInOutlined,\n} from '@mui/icons-material'\nimport { useEffect, useCallback } from 'react'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport type { ZoomToggleProps, ZoomState } from './types'\nimport { styles } from './style'\nimport { Tooltip } from '../../../components'\nimport { getEChartZoomConfig } from '../../echart/utils'\nimport type { EchartWidgetState } from '../../echart/types'\nimport { useShallow } from 'zustand/shallow'\n\n/**\n * Widget action to toggle EChart zoom functionality.\n *\n * When zoom is active, displays an inline reset button to disable zoom.\n * Only intended for use in fullscreen ToolbarActions for bar and histogram widgets.\n *\n * @example\n * ```tsx\n * <ZoomToggle\n * id=\"my-widget\"\n * defaultZoom={false}\n * zoomStart={0}\n * zoomEnd={100}\n * />\n * ```\n */\nexport function ZoomToggle({\n id,\n defaultZoom = false,\n defaultZoomStart = 0,\n defaultZoomEnd = 100,\n labels,\n Icon,\n ResetIcon,\n IconButtonProps,\n}: ZoomToggleProps) {\n const theme = useTheme()\n const setWidget = useWidgetStore((state) => state.setWidget)\n const getWidget = useWidgetStore((state) => state.getWidget)\n\n const zoom = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<ZoomState>(id)\n return widget?.zoom ?? false\n }),\n )\n\n const updateZoomOption = useCallback(\n (enabled: boolean, start: number, end: number) => {\n const zoomConfig = getEChartZoomConfig(\n enabled,\n { start, end },\n { inside: true, xSlider: true, ySlider: false },\n theme,\n )\n const currentOption = getWidget<EchartWidgetState>(id)?.option\n\n setWidget<EchartWidgetState & ZoomState>(id, {\n zoom: enabled,\n zoomStart: start,\n zoomEnd: end,\n option: {\n ...currentOption,\n ...zoomConfig,\n },\n })\n },\n [getWidget, id, setWidget, theme],\n )\n\n // Initialize zoom state from defaults only if not already set\n useEffect(() => {\n const existingState = getWidget<ZoomState>(id)\n\n if (existingState?.zoom) return\n\n // Apply initial zoom config\n updateZoomOption(\n existingState?.zoom ?? defaultZoom,\n existingState?.zoomStart ?? defaultZoomStart,\n existingState?.zoomEnd ?? defaultZoomEnd,\n )\n }, [\n defaultZoom,\n defaultZoomEnd,\n defaultZoomStart,\n getWidget,\n id,\n updateZoomOption,\n ])\n\n // Cleanup: reset zoom when component unmounts\n useEffect(() => {\n return () => {\n const existingState = getWidget<ZoomState>(id)\n updateZoomOption(\n false,\n existingState?.zoomStart ?? 0,\n existingState?.zoomEnd ?? 100,\n )\n }\n }, [getWidget, id, updateZoomOption])\n\n const handleToggle = () => {\n const newZoom = !zoom\n\n const existingState = getWidget<ZoomState>(id)\n\n updateZoomOption(\n newZoom,\n newZoom ? (existingState?.zoomStart ?? defaultZoomStart) : 0,\n newZoom ? (existingState?.zoomEnd ?? defaultZoomEnd) : 100,\n )\n }\n\n const handleReset = () => {\n updateZoomOption(true, defaultZoomStart, defaultZoomEnd)\n }\n\n // Handle dataZoom event to update zoom range in store\n const handleDataZoom = useCallback(\n (event: unknown) => {\n const zoomEvent = event as {\n start: number\n end: number\n }\n\n const start = zoomEvent.start\n const end = zoomEvent.end\n\n if (start !== undefined && end !== undefined) {\n updateZoomOption(true, start, end)\n }\n },\n [updateZoomOption],\n )\n\n // Register dataZoom event handler when zoom is enabled\n useEffect(() => {\n if (zoom) {\n setWidget<EchartWidgetState>(id, {\n onEvents: {\n dataZoom: handleDataZoom,\n },\n })\n }\n }, [id, zoom, handleDataZoom, setWidget])\n\n const enableLabel = labels?.enable ?? 'Enable zoom'\n const disableLabel = labels?.disable ?? 'Disable zoom'\n const resetLabel = labels?.reset ?? 'Reset zoom'\n const tooltipLabel = zoom ? disableLabel : enableLabel\n\n return (\n <Box sx={styles.container}>\n <Tooltip title={tooltipLabel}>\n <IconButton\n size='small'\n aria-label={labels?.ariaLabel ?? tooltipLabel}\n onClick={handleToggle}\n sx={styles.trigger}\n data-active={zoom}\n {...IconButtonProps}\n >\n {Icon ?? <ZoomInOutlined />}\n </IconButton>\n </Tooltip>\n {zoom && (\n <Tooltip title={resetLabel}>\n <IconButton\n size='small'\n aria-label={resetLabel}\n onClick={handleReset}\n {...IconButtonProps}\n >\n {ResetIcon ?? <SubdirectoryArrowLeftOutlined />}\n </IconButton>\n </Tooltip>\n )}\n </Box>\n )\n}\n","export const GroupedBarChartIcon = () => (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <path\n d='M4 20V8H8V20H4ZM9 20V13H13V20H9ZM16 20V4H20V20H16Z'\n fill='currentColor'\n />\n </svg>\n)\n","import { IconButton } from '@mui/material'\nimport { useCallback, useEffect, useMemo } from 'react'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport type { StackToggleProps, StackToggleState } from './types'\nimport { actionButtonStyles } from '../shared/styles'\nimport { Tooltip } from '../../../components'\nimport { GroupedBarChartIcon } from './grouped-bar-chart-icon'\nimport { getEChartStackConfig } from '../../echart/utils'\nimport { DEFAULT_STACK_GROUP } from '../../echart/const'\nimport type { EchartWidgetState } from '../../echart/types'\nimport { useShallow } from 'zustand/shallow'\n\n/**\n * Widget action to toggle stacking behavior in ECharts bar and histogram widgets.\n *\n * Stores the stack state in the widget store and updates the ECharts option\n * using getEChartStackConfig to apply stacking to all series.\n *\n * @example\n * ```tsx\n * <StackToggle\n * id=\"my-widget\"\n * defaultIsStacked={false}\n * />\n * ```\n */\nexport function StackToggle({\n id,\n defaultIsStacked = false,\n labels,\n Icon,\n IconButtonProps,\n}: StackToggleProps) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n const storeIsStacked = useWidgetStore(\n useShallow((state) => state.getWidget<StackToggleState>(id)?.isStacked),\n )\n\n const getWidget = useWidgetStore((state) => state.getWidget)\n\n /**\n * Checks if any series in the option has a stack property defined\n */\n const hasStackInSeries = useMemo(() => {\n const option = getWidget<EchartWidgetState>(id)?.option\n if (!option) return false\n\n const series = Array.isArray(option.series)\n ? option.series\n : [option.series]\n\n return series.some((s) => (s as { stack?: string })?.stack)\n }, [getWidget, id])\n\n // If series already has stack defined, default to stacked=true\n const effectiveDefaultIsStacked = hasStackInSeries || defaultIsStacked\n const isStacked = storeIsStacked ?? effectiveDefaultIsStacked\n\n /**\n * Updates the ECharts option with the stack configuration\n * Preserves existing stack group names from series, falling back to DEFAULT_STACK_GROUP\n */\n const updateOptions = useCallback(\n (stacked: boolean) => {\n const option = getWidget<EchartWidgetState>(id)?.option\n\n if (!option) return\n\n const series = Array.isArray(option.series)\n ? option.series\n : [option.series]\n\n const updatedSeries = series.map((s) => {\n // Extract existing stack group from series, fallback to default\n const existingStack = (s as { stack?: string })?.stack\n const stackGroup =\n typeof existingStack === 'string'\n ? existingStack\n : DEFAULT_STACK_GROUP\n\n return {\n ...s,\n ...getEChartStackConfig(stacked, stackGroup),\n }\n })\n\n setWidget(id, {\n option: {\n ...option,\n series: updatedSeries,\n },\n })\n },\n [getWidget, id, setWidget],\n )\n\n // Initialize store with default value only if not already configured\n useEffect(() => {\n setWidget(id, { isStacked: effectiveDefaultIsStacked })\n }, [effectiveDefaultIsStacked, id, setWidget])\n\n const handleToggle = useCallback(() => {\n const newIsStacked = !isStacked\n\n setWidget(id, { isStacked: newIsStacked })\n updateOptions(newIsStacked)\n }, [isStacked, id, setWidget, updateOptions])\n\n const tooltipLabel = isStacked\n ? (labels?.unstacked ?? 'Disable stacking')\n : (labels?.stacked ?? 'Enable stacking')\n\n return (\n <Tooltip title={tooltipLabel}>\n <IconButton\n size='small'\n aria-label={labels?.ariaLabel ?? tooltipLabel}\n onClick={handleToggle}\n sx={actionButtonStyles.trigger}\n data-active={isStacked}\n {...IconButtonProps}\n >\n {Icon ?? <GroupedBarChartIcon />}\n </IconButton>\n </Tooltip>\n )\n}\n","import { IconButton } from '@mui/material'\nimport { CheckBoxOutlined } from '@mui/icons-material'\nimport { useCallback, useEffect, useMemo } from 'react'\nimport type { LockSelectionProps, LockSelectionState } from './types'\nimport { actionButtonStyles } from '../shared/styles'\nimport { Tooltip } from '../../../components'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\nimport type { EchartWidgetData } from '../../echart/types'\n\nexport const LOCK_SELECTION_TOOL_ID = 'lock-selection'\n\n/**\n * Widget action button to lock the current selection.\n *\n * When locked, the widget data is filtered to only show the selected items.\n * The button is only visible when there are selected items.\n * Registers a transformation tool in the widget pipeline when mounted.\n *\n * @example\n * ```tsx\n * <LockSelection\n * id=\"my-widget\"\n * order={30}\n * selectedItems={selectedItems}\n * />\n * ```\n */\nexport function LockSelection({\n id,\n selectedItems,\n order = 30,\n labels,\n Icon,\n IconButtonProps,\n}: LockSelectionProps) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n const registerTool = useWidgetStore((state) => state.registerTool)\n const unregisterTool = useWidgetStore((state) => state.unregisterTool)\n const setToolEnabled = useWidgetStore((state) => state.setToolEnabled)\n const updateToolConfig = useWidgetStore((state) => state.updateToolConfig)\n\n const storeIsLocked = useWidgetStore(\n useShallow((state) => state.getWidget<LockSelectionState>(id)?.isLocked),\n )\n const storeLockedItems = useWidgetStore(\n useShallow((state) => state.getWidget<LockSelectionState>(id)?.lockedItems),\n )\n\n const isLocked = storeIsLocked ?? false\n const lockedItems = useMemo(() => storeLockedItems ?? [], [storeLockedItems])\n\n // Register tool on mount\n useEffect(() => {\n registerTool(id, {\n id: LOCK_SELECTION_TOOL_ID,\n order,\n enabled: isLocked,\n fn: (data, config) => {\n const items = (config?.lockedItems as string[]) || []\n if (items.length === 0) return data\n\n return filterDataByLockedItems(data as EchartWidgetData, items)\n },\n config: { lockedItems },\n })\n\n return () => unregisterTool(id, LOCK_SELECTION_TOOL_ID)\n }, [id, order, registerTool, unregisterTool, isLocked, lockedItems])\n\n // Update enabled flag and config when they change\n useEffect(() => {\n setToolEnabled(id, LOCK_SELECTION_TOOL_ID, isLocked)\n updateToolConfig(id, LOCK_SELECTION_TOOL_ID, { lockedItems })\n }, [id, isLocked, lockedItems, setToolEnabled, updateToolConfig])\n\n const handleToggle = useCallback(() => {\n if (isLocked) {\n // Unlock: clear locked items and disable tool\n setWidget(id, {\n isLocked: false,\n lockedItems: [],\n })\n } else {\n // Lock: save selected items and enable tool\n setWidget(id, {\n isLocked: true,\n lockedItems: selectedItems,\n })\n }\n }, [id, isLocked, selectedItems, setWidget])\n\n // Don't render if no selections\n if (selectedItems.length === 0) {\n return null\n }\n\n const tooltipLabel = isLocked\n ? (labels?.unlock ?? 'Unlock selection')\n : (labels?.lock ?? 'Lock selection')\n\n const ariaLabel = labels?.ariaLabel ?? tooltipLabel\n\n return (\n <Tooltip title={tooltipLabel}>\n <IconButton\n size='small'\n aria-label={ariaLabel}\n onClick={handleToggle}\n sx={actionButtonStyles.trigger}\n data-active={isLocked}\n {...IconButtonProps}\n >\n {Icon ?? <CheckBoxOutlined fontSize='small' />}\n </IconButton>\n </Tooltip>\n )\n}\n\n/**\n * Filters widget data to only include items with names matching the locked items.\n */\nfunction filterDataByLockedItems(\n data: EchartWidgetData,\n lockedItems: string[],\n): EchartWidgetData {\n return data.map((series) =>\n series.filter((item) => {\n const name = item.name\n return typeof name === 'string' && lockedItems.includes(name)\n }),\n )\n}\n","import { TextField, InputAdornment, IconButton } from '@mui/material'\nimport { ClearOutlined, SearchOutlined } from '@mui/icons-material'\nimport { useEffect, useRef, useCallback } from 'react'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport type { SearcherProps, SearcherFilterFn, SearcherState } from './types'\nimport type { EchartWidgetData } from '../../echart/types'\nimport { LOCK_SELECTION_TOOL_ID } from '../lock-selection/lock-selection'\n\nexport const SEARCHER_TOOL_ID = 'searcher'\n\nconst DEBOUNCE_DELAY = 300\n\n/**\n * Search input component that works with SearcherToggle.\n *\n * Registers a transformation tool in the widget pipeline when mounted.\n * Reads the enabled state from the widget store using the provided id.\n * Uses a debounced search to filter data via the transformation pipeline.\n * Auto-focuses when enabled becomes true.\n *\n * @example\n * ```tsx\n * <SearcherToggle id=\"my-widget\" />\n * <Searcher\n * id=\"my-widget\"\n * order={10}\n * labels={{ placeholder: 'Search categories...' }}\n * />\n * ```\n */\nexport function Searcher({\n id,\n filterFn,\n order = 20,\n labels,\n TextFieldProps,\n ClearIcon,\n debounceDelay = DEBOUNCE_DELAY,\n}: SearcherProps) {\n const inputRef = useRef<HTMLInputElement>(null)\n const debounceTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n // Read enabled state and search text from widget store\n const widgetState = useWidgetStore((state) =>\n state.getWidget<SearcherState>(id),\n )\n const enabled = widgetState?.isSearchEnabled ?? false\n const searchText = widgetState?.searchText ?? ''\n const prevEnabledRef = useRef(enabled)\n\n const filter = filterFn ?? defaultFilterFn\n\n const setWidget = useWidgetStore((state) => state.setWidget)\n const registerTool = useWidgetStore((state) => state.registerTool)\n const unregisterTool = useWidgetStore((state) => state.unregisterTool)\n const setToolEnabled = useWidgetStore((state) => state.setToolEnabled)\n const updateToolConfig = useWidgetStore((state) => state.updateToolConfig)\n\n const setSearchText = useCallback(\n (text: string) => {\n setWidget(id, { searchText: text })\n },\n [id, setWidget],\n )\n\n // Register tool on mount\n useEffect(() => {\n registerTool(id, {\n id: SEARCHER_TOOL_ID,\n order,\n enabled,\n fn: async (data, config) => {\n const searchTextFromConfig = (config?.searchText as string) || ''\n\n // Execute filter (can be sync or async)\n const result = filter(data as EchartWidgetData, searchTextFromConfig)\n\n // Return result directly (pipeline will handle Promise)\n return result\n },\n config: { searchText },\n disables: [LOCK_SELECTION_TOOL_ID],\n })\n\n return () => unregisterTool(id, SEARCHER_TOOL_ID)\n }, [id, order, filter, registerTool, unregisterTool, enabled, searchText])\n\n // Update enabled flag when it changes\n useEffect(() => {\n setToolEnabled(id, SEARCHER_TOOL_ID, enabled)\n }, [id, enabled, setToolEnabled])\n\n // Update config when search text changes (debounced)\n const debouncedUpdateConfig = useCallback(\n (text: string) => {\n if (debounceTimeoutRef.current) {\n clearTimeout(debounceTimeoutRef.current)\n }\n debounceTimeoutRef.current = setTimeout(() => {\n updateToolConfig(id, SEARCHER_TOOL_ID, { searchText: text })\n }, debounceDelay)\n },\n [id, updateToolConfig, debounceDelay],\n )\n\n // Auto-focus when enabled becomes true\n useEffect(() => {\n // Transition from disabled to enabled - focus input\n if (enabled && !prevEnabledRef.current && inputRef.current) {\n inputRef.current.focus()\n }\n\n prevEnabledRef.current = enabled\n }, [enabled])\n\n // Cleanup debounce timeout on unmount\n useEffect(() => {\n return () => {\n if (debounceTimeoutRef.current) {\n clearTimeout(debounceTimeoutRef.current)\n }\n }\n }, [])\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value\n setSearchText(newValue)\n debouncedUpdateConfig(newValue)\n },\n [debouncedUpdateConfig, setSearchText],\n )\n\n const handleClear = useCallback(() => {\n setSearchText('')\n updateToolConfig(id, SEARCHER_TOOL_ID, { searchText: '' })\n if (inputRef.current) {\n inputRef.current.focus()\n }\n }, [id, setSearchText, updateToolConfig])\n\n if (!enabled) {\n return null\n }\n\n const placeholder = labels?.placeholder ?? 'Search...'\n const clearAriaLabel = labels?.clearAriaLabel ?? 'Clear search'\n\n return (\n <TextField\n inputRef={inputRef}\n size='small'\n fullWidth\n variant='filled'\n placeholder={placeholder}\n value={searchText}\n onChange={handleChange}\n InputProps={{\n startAdornment: (\n <InputAdornment position='start'>\n <SearchOutlined />\n </InputAdornment>\n ),\n endAdornment: searchText ? (\n <InputAdornment position='end'>\n <IconButton\n size='small'\n aria-label={clearAriaLabel}\n onClick={handleClear}\n edge='end'\n >\n {ClearIcon ?? <ClearOutlined fontSize='small' />}\n </IconButton>\n </InputAdornment>\n ) : null,\n }}\n {...TextFieldProps}\n />\n )\n}\n\n/**\n * Default filter function that searches all string fields case-insensitively.\n * Note: Should be synchronous for the new pipeline architecture.\n */\nconst defaultFilterFn: SearcherFilterFn = (\n data: EchartWidgetData,\n searchText: string,\n) => {\n if (!searchText.trim()) return Promise.resolve(data)\n\n const lowerSearch = searchText.toLowerCase()\n\n return Promise.resolve(\n data.map((series) =>\n series.filter((item) =>\n Object.values(item).some(\n (value) =>\n typeof value === 'string' &&\n value.toLowerCase().includes(lowerSearch),\n ),\n ),\n ),\n )\n}\n","import { IconButton } from '@mui/material'\nimport { SearchOutlined } from '@mui/icons-material'\nimport { useCallback, useEffect } from 'react'\nimport type { SearcherToggleProps, SearcherState } from './types'\nimport { actionButtonStyles } from '../shared/styles'\nimport { Tooltip } from '../../../components'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\n\n/**\n * Widget action button to toggle search functionality.\n *\n * Stores the enabled state in the widget store using the provided id.\n * When search is active, the button shows an active state with a light background.\n * Use in conjunction with the Searcher component to display the search input.\n *\n * @example\n * ```tsx\n * <SearcherToggle id=\"my-widget\" />\n * <Searcher\n * id=\"my-widget\"\n * data={widgetData}\n * />\n * ```\n */\nexport function SearcherToggle({\n id,\n defaultEnabled = false,\n labels,\n Icon,\n IconButtonProps,\n}: SearcherToggleProps) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n const getWidget = useWidgetStore((state) => state.getWidget)\n const storeIsEnabled = useWidgetStore(\n useShallow((state) => state.getWidget<SearcherState>(id)?.isSearchEnabled),\n )\n\n const isEnabled = storeIsEnabled ?? defaultEnabled\n\n // Initialize store with default value on mount\n useEffect(() => {\n const currentValue = getWidget<SearcherState>(id)?.isSearchEnabled\n if (currentValue === undefined) {\n setWidget(id, { isSearchEnabled: defaultEnabled })\n }\n }, [defaultEnabled, getWidget, id, setWidget])\n\n const handleToggle = useCallback(() => {\n setWidget(id, { isSearchEnabled: !isEnabled })\n }, [id, isEnabled, setWidget])\n\n const tooltipLabel = isEnabled\n ? (labels?.disable ?? 'Disable search')\n : (labels?.enable ?? 'Enable search')\n\n const ariaLabel = labels?.ariaLabel ?? tooltipLabel\n\n return (\n <Tooltip title={tooltipLabel}>\n <IconButton\n size='small'\n aria-label={ariaLabel}\n onClick={handleToggle}\n sx={actionButtonStyles.trigger}\n data-active={isEnabled}\n {...IconButtonProps}\n >\n {Icon ?? <SearchOutlined fontSize='small' />}\n </IconButton>\n </Tooltip>\n )\n}\n","export const ChangeColumnIcon = () => (\n <svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 18 18'>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M14.25 2.25H3.75c-.825 0-1.5.675-1.5 1.5v10.5c0 .825.675 1.5 1.5 1.5h10.5c.825 0 1.5-.675 1.5-1.5V3.75c0-.825-.675-1.5-1.5-1.5m-3.75 12h-3V3.75h3zM3.75 3.75H6v10.5H3.75zM12 14.25V3.75h2.25v10.5z'\n clipRule='evenodd'\n />\n </svg>\n)\n","import { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport { ListItemText, MenuItem } from '@mui/material'\nimport type { TableColumn } from '../../table/types'\n\nexport interface SortableColumnItemProps {\n column: TableColumn\n}\n\n/**\n * A draggable menu item for column reordering.\n * Uses @dnd-kit/sortable for drag-and-drop functionality.\n */\nexport function SortableColumnItem({ column }: SortableColumnItemProps) {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id: column.id })\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isDragging ? 0.5 : 1,\n cursor: isDragging ? 'grabbing' : 'grab',\n }\n\n return (\n <MenuItem\n ref={setNodeRef}\n style={style}\n {...attributes}\n {...listeners}\n role='menuitem'\n tabIndex={0}\n sx={{\n '&:focus-visible': {\n outline: (theme) => `2px solid ${theme.palette.primary.main}`,\n outlineOffset: -2,\n },\n }}\n >\n <ListItemText>{column.label}</ListItemText>\n </MenuItem>\n )\n}\n","import {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n type DragEndEvent,\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\nimport { IconButton, Menu, SvgIcon } from '@mui/material'\nimport { useCallback, useMemo, useState, type MouseEvent } from 'react'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport type { ChangeColumnProps } from './types'\nimport { actionButtonStyles } from '../shared/styles'\nimport { Tooltip } from '../../../components'\nimport type { TableWidgetState } from '../../table/types'\nimport { ChangeColumnIcon } from './change-column-icon'\nimport { SortableColumnItem } from './sortable-column-item'\nimport { useShallow } from 'zustand/shallow'\n\n/**\n * Widget action to reorder columns in a table widget via drag-and-drop.\n *\n * This action reads the columns from the widget store and allows users to\n * drag and drop columns to reorder them. All columns are displayed and\n * can be reordered.\n *\n * Returns null if there are fewer than 2 columns.\n *\n * @example\n * ```tsx\n * <ChangeColumn id=\"my-table-widget\" />\n * ```\n */\nexport function ChangeColumn({\n id,\n labels,\n Icon,\n IconButtonProps,\n MenuProps,\n}: ChangeColumnProps) {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\n const setWidget = useWidgetStore((state) => state.setWidget)\n const columns = useWidgetStore(\n useShallow((state) => state.getWidget<TableWidgetState>(id)?.columns),\n )\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const columnIds = useMemo(\n () => columns?.map((col) => col.id) ?? [],\n [columns],\n )\n\n const handleToggle = useCallback((event: MouseEvent<HTMLElement>) => {\n event.stopPropagation()\n setAnchorEl(event.currentTarget)\n }, [])\n\n const handleClose = useCallback(() => {\n setAnchorEl(null)\n }, [])\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n if (!over || active.id === over.id || !columns) return\n const oldIndex = columns.findIndex((col) => col.id === active.id)\n const newIndex = columns.findIndex((col) => col.id === over.id)\n if (oldIndex !== -1 && newIndex !== -1) {\n const newColumns = arrayMove(columns, oldIndex, newIndex)\n setWidget(id, { columns: newColumns })\n }\n }\n\n // Return null if there are fewer than 2 columns\n if (!columns || columns.length < 2) {\n return null\n }\n\n const tooltipLabel = labels?.tooltip ?? 'Change column'\n const isOpen = Boolean(anchorEl)\n\n return (\n <>\n <Tooltip title={tooltipLabel}>\n <IconButton\n size='small'\n aria-label={labels?.ariaLabel ?? tooltipLabel}\n aria-controls={isOpen ? 'change-column-menu' : undefined}\n aria-haspopup='true'\n aria-expanded={isOpen ? 'true' : undefined}\n onClick={handleToggle}\n data-active={isOpen}\n sx={actionButtonStyles.trigger}\n {...IconButtonProps}\n >\n {Icon ?? (\n <SvgIcon>\n <ChangeColumnIcon />\n </SvgIcon>\n )}\n </IconButton>\n </Tooltip>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <Menu\n id='change-column-menu'\n anchorEl={anchorEl}\n open={isOpen}\n onClose={handleClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n {...MenuProps}\n >\n <SortableContext\n items={columnIds}\n strategy={verticalListSortingStrategy}\n >\n {columns.map((column) => (\n <SortableColumnItem key={column.id} column={column} />\n ))}\n </SortableContext>\n </Menu>\n </DndContext>\n </>\n )\n}\n"],"names":["styles","title","container","display","alignItems","justifyContent","gap","content","flexDirection","spacing","FullScreen","t0","$","_c","id","labels","children","Icon","IconButtonProps","DialogContentProps","t1","t2","undefined","sx","t3","state","widget","getWidget","isFullScreen","useWidgetStore","useShallow","setWidget","_temp","t4","updates","updateFullScreenConfig","t5","t6","FullscreenOutlined","t7","IconButton","t8","t9","ariaLabel","t10","t11","t12","Typography","t13","t14","Symbol","for","Close","t15","jsx","t16","DialogTitle","t17","t18","DialogContent","t19","jsxs","Dialog","t20","state_0","Download","items","data","isDownloading","setIsDownloading","useState","anchorEl","setAnchorEl","event","stopPropagation","currentTarget","handleToggle","data_0","option","link","document","createElement","href","download","filename","style","body","appendChild","click","removeChild","callback","handleDownload","event_0","option_0","result","modifier","handleClick","length","CircularProgress","FileDownloadOutlined","vertical","horizontal","Boolean","paddingBottom","option_1","MenuItem","disabled","e","icon","ListItemIcon","color","ListItemText","label","map","Menu","actionButtonStyles","trigger","background","theme","palette","primary","relatedLight","calculateTotal","reduce","total","series","seriesTotal","item","Object","values","itemTotal","value","toRelativeData","transformed","key","entries","RELATIVE_DATA_TOOL_ID","RelativeData","order","defaultIsRelative","previousMaxValue","useRef","_temp2","registerTool","_temp3","unregisterTool","_temp4","setToolEnabled","_temp5","state_4","isRelative","useEffect","enabled","fn","_temp6","newIsRelative","max","current","currentMax","tooltipLabel","absolute","relative","PercentOutlined","Tooltip","echartData","state_3","state_2","state_1","ZoomToggle","defaultZoom","defaultZoomStart","defaultZoomEnd","ResetIcon","useTheme","zoom","start","end","zoomConfig","getEChartZoomConfig","inside","xSlider","ySlider","currentOption","zoomStart","zoomEnd","updateZoomOption","existingState","existingState_0","newZoom","existingState_1","handleReset","zoomEvent","start_0","end_0","handleDataZoom","onEvents","dataZoom","enableLabel","enable","disableLabel","disable","resetLabel","reset","ZoomInOutlined","SubdirectoryArrowLeftOutlined","Box","GroupedBarChartIcon","StackToggle","defaultIsStacked","isStacked","storeIsStacked","bb0","Array","isArray","some","effectiveDefaultIsStacked","stacked","updatedSeries","s_0","existingStack","s","stack","getEChartStackConfig","DEFAULT_STACK_GROUP","updateOptions","newIsStacked","unstacked","LOCK_SELECTION_TOOL_ID","LockSelection","selectedItems","updateToolConfig","isLocked","storeIsLocked","state_5","lockedItems","storeLockedItems","config","unlock","lock","CheckBoxOutlined","filterDataByLockedItems","filter","name","includes","SEARCHER_TOOL_ID","DEBOUNCE_DELAY","Searcher","filterFn","TextFieldProps","ClearIcon","debounceDelay","inputRef","debounceTimeoutRef","widgetState","isSearchEnabled","searchText","prevEnabledRef","defaultFilterFn","text","setSearchText","searchTextFromConfig","disables","text_0","clearTimeout","setTimeout","debouncedUpdateConfig","focus","newValue","target","handleChange","handleClear","placeholder","clearAriaLabel","InputAdornment","SearchOutlined","ClearOutlined","startAdornment","endAdornment","TextField","trim","Promise","resolve","lowerSearch","toLowerCase","SearcherToggle","defaultEnabled","isEnabled","ChangeColumnIcon","SortableColumnItem","column","attributes","listeners","setNodeRef","transform","transition","isDragging","useSortable","CSS","Transform","toString","opacity","cursor","outline","outlineOffset","main","ChangeColumn","MenuProps","columns","coordinateGetter","sortableKeyboardCoordinates","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","columnIds","handleClose","active","over","oldIndex","findIndex","col_0","col","newIndex","col_1","newColumns","arrayMove","handleDragEnd","tooltip","isOpen","SvgIcon","SortableContext","verticalListSortingStrategy","DndContext","closestCenter"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"echart.js","sources":["../../src/widgets/echart/echart-ui.tsx","../../src/widgets/echart/echart.tsx"],"sourcesContent":["import { useEffect, useRef, useImperativeHandle } from 'react'\nimport * as echarts from 'echarts'\nimport type { EchartUIProps } from './types'\nimport { useWidgetStore } from '../stores/widget-store'\n\nexport function EchartUI({\n id,\n ref,\n init,\n option,\n className,\n style,\n onEvents,\n}: EchartUIProps) {\n const chartRef = useRef<HTMLDivElement>(null)\n const chartInstance = useRef<echarts.ECharts>(null)\n const resizeObserverRef = useRef<ResizeObserver | null>(null)\n\n const setWidget = useWidgetStore((state) => state.setWidget)\n\n // Register chart instance in the widget store\n useEffect(() => {\n setWidget(id, { refUI: chartRef })\n }, [id, setWidget])\n\n useImperativeHandle(ref, () => chartInstance.current!, [])\n\n useEffect(() => {\n if (!chartRef.current) return\n\n chartInstance.current = echarts.init(chartRef.current, null, {\n renderer: 'svg',\n height: 304,\n ...init,\n })\n // Cleanup function\n return () => {\n chartInstance.current?.dispose()\n chartInstance.current = null\n }\n }, [init])\n\n // Update chart when options change\n useEffect(() => {\n chartInstance.current?.setOption(option, {\n lazyUpdate: true,\n // notMerge: true,\n })\n }, [option])\n\n // Handle resize using ResizeObserver\n useEffect(() => {\n const handleResize = () => {\n chartInstance.current?.resize()\n }\n\n resizeObserverRef.current = new ResizeObserver(handleResize)\n resizeObserverRef.current.observe(chartRef.current!)\n\n return () => {\n resizeObserverRef.current?.disconnect()\n resizeObserverRef.current = null\n }\n }, [])\n\n useEffect(() => {\n const _onEvents = { ...(onEvents ?? {}) }\n if (!_onEvents.click) {\n _onEvents.mousemove = () => {\n chartInstance.current?.getZr().setCursorStyle('default')\n }\n }\n\n // Attach event listeners\n Object.entries(_onEvents).forEach(([event, handler]) => {\n chartInstance.current?.on(event, handler)\n })\n // Cleanup function to remove event listeners\n return () => {\n Object.entries(_onEvents).forEach(([event]) => {\n chartInstance.current?.off(event)\n })\n }\n }, [onEvents])\n\n return <div id={id} ref={chartRef} style={style} className={className} />\n}\n","import type {\n EchartProps,\n EchartWidgetState,\n EchartWidgetData,\n EchartOptionsProps,\n} from './types'\nimport { EchartUI } from './echart-ui'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\nimport { useMemo } from 'react'\n\nexport function Echart(props: EchartProps) {\n const widget = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<EchartWidgetState>(props.id)\n return {\n id: widget?.id,\n data: widget?.data as EchartWidgetData | undefined,\n option: widget?.option,\n onEvents: widget?.onEvents,\n init: widget?.init,\n }\n }),\n )\n\n // Memoize dataset transformation to avoid re-computing on every render\n const dataset = useMemo(() => buildDataset(widget.data), [widget.data])\n\n if (!widget.id) {\n return null\n }\n const option: EchartOptionsProps = {\n ...widget.option,\n ...(dataset && { dataset }),\n }\n\n const onEvents = widget.onEvents\n const init = widget.init\n\n return (\n <EchartUI id={props.id} option={option} onEvents={onEvents} init={init} />\n )\n}\n\n/**\n * Builds the dataset configuration from widget data\n * @param data - The widget data array\n * @returns The dataset configuration for ECharts\n */\nfunction buildDataset(\n data: EchartWidgetData | undefined,\n): EchartOptionsProps['dataset'] {\n if (!data || data.length === 0) {\n return undefined\n }\n\n return data.map((d) => ({\n source: d,\n }))\n}\n"],"names":["EchartUI","t0","$","_c","id","ref","init","option","className","style","onEvents","chartRef","useRef","chartInstance","resizeObserverRef","setWidget","useWidgetStore","_temp","t1","t2","refUI","useEffect","t3","t4","Symbol","for","current","useImperativeHandle","t5","t6","echarts","renderer","height","dispose","t7","t8","setOption","lazyUpdate","t10","t9","handleResize","resize","ResizeObserver","observe","disconnect","t11","t12","_onEvents","click","mousemove","getZr","setCursorStyle","Object","entries","forEach","t13","event","handler","on","t14","event_0","off","state","Echart","props","widget","getWidget","data","widget_0","useShallow","buildDataset","dataset","length","map","d","source"],"mappings":";;;;;;;;AAKO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAkB;AAAA,IAAAC,IAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAT,GASvBU,IAAiBC,EAAuB,IAAI,GAC5CC,IAAsBD,EAAwB,IAAI,GAClDE,IAA0BF,EAA8B,IAAI,GAE5DG,IAAkBC,EAAeC,CAA0B;AAAC,MAAAC,GAAAC;AAAA,EAAAjB,EAAA,CAAA,MAAAE,KAAAF,SAAAa,KAGlDG,IAAAA,MAAA;AACRH,IAAAA,EAAUX,GAAI;AAAA,MAAAgB,OAAST;AAAAA,IAAAA,CAAU;AAAA,EAAC,GACjCQ,IAAA,CAACf,GAAIW,CAAS,GAACb,OAAAE,GAAAF,OAAAa,GAAAb,OAAAgB,GAAAhB,OAAAiB,MAAAD,IAAAhB,EAAA,CAAA,GAAAiB,IAAAjB,EAAA,CAAA,IAFlBmB,EAAUH,GAEPC,CAAe;AAAC,MAAAG,GAAAC;AAAA,EAAArB,EAAA,CAAA,MAAAsB,OAAAC,IAAA,2BAAA,KAEMH,IAAAA,MAAMT,EAAaa,SAAWH,IAAA,CAAA,GAAErB,OAAAoB,GAAApB,OAAAqB,MAAAD,IAAApB,EAAA,CAAA,GAAAqB,IAAArB,EAAA,CAAA,IAAzDyB,EAAoBtB,GAAKiB,GAA8BC,CAAE;AAAC,MAAAK,GAAAC;AAAA,EAAA3B,SAAAI,KAEhDsB,IAAAA,MAAA;AACR,QAAKjB,EAAQe;AAEbb,aAAAA,EAAaa,UAAWI,EAAOxB,KAAMK,EAAQe,SAAU,MAAM;AAAA,QAAAK,UACjD;AAAA,QAAKC,QACP;AAAA,QAAG,GACR1B;AAAAA,MAAAA,CACJ,GAEM,MAAA;AACLO,QAAAA,EAAaa,SAAiBO,QAAAA,GAC9BpB,EAAaa,UAAW;AAAA,MAAH;AAAA,EACtB,GACAG,IAAA,CAACvB,CAAI,GAACJ,OAAAI,GAAAJ,OAAA0B,GAAA1B,OAAA2B,MAAAD,IAAA1B,EAAA,CAAA,GAAA2B,IAAA3B,EAAA,CAAA,IAbTmB,EAAUO,GAaPC,CAAM;AAAC,MAAAK,GAAAC;AAAA,EAAAjC,SAAAK,KAGA2B,IAAAA,MAAA;AACRrB,IAAAA,EAAaa,SAAmBU,UAAC7B,GAAQ;AAAA,MAAA8B,YAC3B;AAAA,IAAA,CAEb;AAAA,EAAC,GACDF,IAAA,CAAC5B,CAAM,GAACL,OAAAK,GAAAL,QAAAgC,GAAAhC,QAAAiC,MAAAD,IAAAhC,EAAA,EAAA,GAAAiC,IAAAjC,EAAA,EAAA,IALXmB,EAAUa,GAKPC,CAAQ;AAAC,MAAAG,GAAAC;AAAA,EAAArC,EAAA,EAAA,MAAAsB,OAAAC,IAAA,2BAAA,KAGFc,IAAAA,MAAA;AACR,UAAAC,IAAqBA,MAAA;AACnB3B,MAAAA,EAAaa,SAAgBe,OAAAA;AAAAA,IAAE;AAGjC3B,WAAAA,EAAiBY,UAAW,IAAIgB,eAAeF,CAAY,GAC3D1B,EAAiBY,QAAQiB,QAAShC,EAAQe,OAAS,GAE5C,MAAA;AACLZ,MAAAA,EAAiBY,SAAoBkB,WAAAA,GACrC9B,EAAiBY,UAAW;AAAA,IAAH;AAAA,EAC1B,GACAY,IAAA,CAAA,GAAEpC,QAAAoC,GAAApC,QAAAqC,MAAAD,IAAApC,EAAA,EAAA,GAAAqC,IAAArC,EAAA,EAAA,IAZLmB,EAAUkB,GAYPD,CAAE;AAAC,MAAAO,GAAAC;AAAA,EAAA5C,UAAAQ,KAEImC,IAAAA,MAAA;AACR,UAAAE,IAAkB;AAAA,MAAA,GAAMrC,KAAA,CAAA;AAAA,IAAa;AACrC,WAAKqC,EAASC,UACZD,EAASE,YAAa,MAAA;AACpBpC,MAAAA,EAAaa,SAAewB,QAAiBC,eAAC,SAAS;AAAA,IAAC,IAK5DC,OAAMC,QAASN,CAAS,EAACO,QAASC,CAAAA,MAAA;AAAC,YAAA,CAAAC,GAAAC,CAAA,IAAAF;AACjC1C,MAAAA,EAAaa,SAAYgC,GAACF,GAAOC,CAAO;AAAA,IAAC,CAC1C,GAEM,MAAA;AACLL,aAAMC,QAASN,CAAS,EAACO,QAASK,CAAAA,MAAA;AAAC,cAAA,CAAAC,CAAA,IAAAD;AACjC9C,QAAAA,EAAaa,SAAamC,IAACL,CAAK;AAAA,MAAC,CAClC;AAAA,IAAC;AAAA,EACH,GACAV,IAAA,CAACpC,CAAQ,GAACR,QAAAQ,GAAAR,QAAA2C,GAAA3C,QAAA4C,MAAAD,IAAA3C,EAAA,EAAA,GAAA4C,IAAA5C,EAAA,EAAA,IAlBbmB,EAAUwB,GAkBPC,CAAU;AAAC,MAAAS;AAAA,SAAArD,EAAA,EAAA,MAAAM,KAAAN,UAAAE,KAAAF,EAAA,EAAA,MAAAO,KAEP8C,sBAAA,OAAA,EAASnD,IAAAA,GAASO,KAAAA,GAAiBF,OAAAA,GAAkBD,WAAAA,GAAS,GAAIN,QAAAM,GAAAN,QAAAE,GAAAF,QAAAO,GAAAP,QAAAqD,KAAAA,IAAArD,EAAA,EAAA,GAAlEqD;AAAkE;AAhFpE,SAAAtC,EAAA6C,GAAA;AAAA,SAauCA,EAAK/C;AAAU;ACPtD,SAAAgD,EAAAC,GAAA;AAAA,QAAA9D,IAAAC,EAAA,EAAA;AAAA,MAAAF;AAAA,EAAAC,EAAA,CAAA,MAAA8D,EAAA5D,MAEQH,IAAA6D,CAAAA,MAAA;AACT,UAAAG,IAAeH,EAAKI,UAA8BF,EAAK5D,EAAG;AAAC,WACpD;AAAA,MAAAA,IACD6D,GAAM7D;AAAAA,MAAI+D,MACRF,GAAME;AAAAA,MAAsC5D,QAC1C0D,GAAM1D;AAAAA,MAAQG,UACZuD,GAAMvD;AAAAA,MAAUJ,MACpB2D,GAAM3D;AAAAA,IAAAA;AAAAA,EACb,GACFJ,EAAA,CAAA,IAAA8D,EAAA5D,IAAAF,OAAAD,KAAAA,IAAAC,EAAA,CAAA;AAVH,QAAAkE,IAAepD,EACbqD,EAAWpE,CASV,CACH;AAAC,MAAAiB;AAAA,EAAAhB,EAAA,CAAA,MAAAkE,EAAAD,QAG6BjD,IAAAoD,EAAaL,EAAME,IAAK,GAACjE,EAAA,CAAA,IAAAkE,EAAAD,MAAAjE,OAAAgB,KAAAA,IAAAhB,EAAA,CAAA;AAAvD,QAAAqE,IAA8BrD;AAE9B,MAAI,CAAC+C,EAAM7D;AAAG,WACL;AACR,MAAAe;AAAA,EAAAjB,SAAAqE,KAGKpD,IAAAoD,KAAA;AAAA,IAAAA,SAAAA;AAAAA,EAAAA,GAAsBrE,OAAAqE,GAAArE,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AAAA,MAAAoB;AAAA,EAAApB,SAAAiB,KAAAjB,EAAA,CAAA,MAAAkE,EAAA7D,UAFOe,IAAA;AAAA,IAAA,GAC9B2C,EAAM1D;AAAAA,IAAO,GACZY;AAAAA,EAAAA,GACLjB,OAAAiB,GAAAjB,EAAA,CAAA,IAAAkE,EAAA7D,QAAAL,OAAAoB,KAAAA,IAAApB,EAAA,CAAA;AAHD,QAAAK,IAAmCe,GAKnCZ,IAAiBuD,EAAMvD,UACvBJ,IAAa2D,EAAM3D;AAAK,MAAAiB;AAAA,SAAArB,EAAA,CAAA,MAAAI,KAAAJ,UAAAQ,KAAAR,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAA8D,EAAA5D,MAGtBmB,sBAACvB,GAAA,EAAa,IAAAgE,EAAK5D,IAAaG,QAAAA,GAAkBG,UAAAA,GAAgBJ,MAAAA,GAAI,GAAIJ,OAAAI,GAAAJ,QAAAQ,GAAAR,QAAAK,GAAAL,EAAA,EAAA,IAAA8D,EAAA5D,IAAAF,QAAAqB,KAAAA,IAAArB,EAAA,EAAA,GAA1EqB;AAA0E;AAS9E,SAAS+C,EACPH,GAC+B;AAC/B,MAAI,GAACA,KAAQA,EAAKK,WAAW;AAI7B,WAAOL,EAAKM,IAAKC,CAAAA,OAAO;AAAA,MACtBC,QAAQD;AAAAA,IAAAA,EACR;AACJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"formula.js","sources":["../../src/widgets/formula/components/value.tsx","../../src/widgets/formula/config.ts","../../src/widgets/formula/formula-ui.tsx","../../src/widgets/formula/skeleton.tsx","../../src/widgets/formula/serializer.ts"],"sourcesContent":["import { type FormulaWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from './item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function Value({ id, index = 0, ...props }: ValueProps) {\n const {\n value,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<FormulaWidgetState>(id)\n return {\n value: widget?.data?.[index]?.value,\n color: widget?.data?.[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(value ?? 0)}\n </Item>\n )\n}\n","import { downloadToCSV, downloadToPNG } from '../actions'\nimport type { ConfigProps } from '../root/types'\nimport type { FormulaDownloadConfig, FormulaWidgetConfig } from './types'\n\nexport function formulaDownloadConfig({\n refUI,\n}: ConfigProps): FormulaDownloadConfig {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const formulaData = [data?.map((item) => item.value) ?? []]\n return downloadToCSV.modifier(formulaData)\n },\n },\n ]\n}\n\nexport function formulaConfig(): FormulaWidgetConfig {\n return {\n series: [],\n }\n}\n","import type { FormulaUIProps } from './types'\nimport { Row } from './components/row'\nimport { Value } from './components/value'\nimport { Prefix } from './components/prefix'\nimport { Suffix } from './components/suffix'\nimport { Series } from './components/series'\nimport { useRef, useEffect } from 'react'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { Box } from '@mui/material'\n\nexport function FormulaUI(props: FormulaUIProps) {\n const ref = useRef<HTMLElement | null>(null)\n const setWidget = useWidgetStore((store) => store.setWidget)\n\n useEffect(() => {\n if (ref.current) {\n setWidget(props.id, { refUI: ref })\n }\n }, [props.id, setWidget])\n\n return (\n <Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <Value id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>\n )\n}\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function FormulaSkeleton() {\n return (\n <Box sx={styles.row} aria-label='Formula skeleton'>\n <Skeleton width={120} height={32} />\n </Box>\n )\n}\n","import type { DataItem } from './types'\n\n/**\n * Sanitizes DataItem by converting ReactNode prefix/suffix values to undefined.\n * This ensures only string values are stored in the widget state.\n *\n * @param item - The DataItem to sanitize\n * @returns A new DataItem with ReactNode prefix/suffix values converted to undefined\n */\nexport function sanitizeDataItem(item: DataItem): DataItem {\n return {\n ...item,\n prefix: typeof item.prefix === 'string' ? item.prefix : undefined,\n suffix: typeof item.suffix === 'string' ? item.suffix : undefined,\n }\n}\n\n/**\n * Sanitizes an array of DataItems by converting ReactNode prefix/suffix values to undefined.\n *\n * @param items - Array of DataItems to sanitize\n * @returns A new array with sanitized DataItems\n */\nexport function sanitizeDataItems(\n items: DataItem[] | undefined,\n): DataItem[] | undefined {\n return items?.map(sanitizeDataItem)\n}\n"],"names":["defaultFormatter","value","toString","Value","t0","$","_c","id","props","t1","index","undefined","t2","state","widget","getWidget","data","color","formatter","t3","useWidgetStore","useShallow","t4","t5","t6","t7","Item","formulaDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","formulaData","map","item","formulaConfig","series","FormulaUI","ref","useRef","setWidget","_temp","current","useEffect","jsxs","Fragment","jsx","Series","Prefix","Suffix","Box","Row","store","FormulaSkeleton","Symbol","for","styles","row","Skeleton","sanitizeDataItem","prefix","suffix","sanitizeDataItems","items"],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- import { jsx as L } from "react/jsx-runtime";
2
- import { c as W } from "react/compiler-runtime";
3
- import { Box as _ } from "@mui/material";
4
- import { useEffect as n } from "react";
5
- import { u as b } from "../widget-store-CB6Trp_0.js";
6
- import { d as w } from "../cjs-D9ro6BXv.js";
7
- const P = {
8
- root: {
9
- display: "flex",
10
- flexDirection: "column",
11
- gap: (e) => e.spacing(2)
12
- }
13
- };
14
- function $(e) {
15
- const i = W(29), t = b(j), d = b(S);
16
- let l, c;
17
- i[0] !== e.id || i[1] !== e.type || i[2] !== t ? (l = () => {
18
- t(e.id, {
19
- type: e.type
20
- });
21
- }, c = [e.id, e.type, t], i[0] = e.id, i[1] = e.type, i[2] = t, i[3] = l, i[4] = c) : (l = i[3], c = i[4]), n(l, c);
22
- let a, g;
23
- i[5] !== e.error || i[6] !== e.id || i[7] !== e.isFetching || i[8] !== e.isLoading || i[9] !== t ? (a = () => {
24
- t(e.id, {
25
- isLoading: e.isLoading ?? !1,
26
- isFetching: e.isFetching ?? !1,
27
- error: e.error
28
- });
29
- }, g = [e.id, e.isLoading, e.isFetching, e.error, t], i[5] = e.error, i[6] = e.id, i[7] = e.isFetching, i[8] = e.isLoading, i[9] = t, i[10] = a, i[11] = g) : (a = i[10], g = i[11]), n(a, g);
30
- let f, u;
31
- i[12] !== e.config || i[13] !== e.id || i[14] !== t ? (f = () => {
32
- e.config && t(e.id, {
33
- ...e.config
34
- });
35
- }, u = [e.id, e.config, t], i[12] = e.config, i[13] = e.id, i[14] = t, i[15] = f, i[16] = u) : (f = i[15], u = i[16]), n(f, u);
36
- let m, r;
37
- i[17] !== d || i[18] !== e.data || i[19] !== e.id ? (m = () => {
38
- d(e.id, e.data);
39
- }, r = [e.id, e.data, d], i[17] = d, i[18] = e.data, i[19] = e.id, i[20] = m, i[21] = r) : (m = i[20], r = i[21]), n(m, r);
40
- let h, x;
41
- i[22] !== d || i[23] !== e.data || i[24] !== e.id ? (h = () => {
42
- let o = b.getState().widgets[e.id]?.registeredTools;
43
- return b.subscribe((F) => {
44
- const T = F.widgets[e.id]?.registeredTools;
45
- T !== o && (o = T, d(e.id, e.data));
46
- });
47
- }, x = [e.id, e.data, d], i[22] = d, i[23] = e.data, i[24] = e.id, i[25] = h, i[26] = x) : (h = i[25], x = i[26]), n(h, x);
48
- let y;
49
- return i[27] !== e.children ? (y = /* @__PURE__ */ L(_, { sx: P.root, children: e.children }), i[27] = e.children, i[28] = y) : y = i[28], y;
50
- }
51
- function S(e) {
52
- return e.executeToolPipeline;
53
- }
54
- function j(e) {
55
- return e.setWidget;
56
- }
57
- function k(...e) {
58
- return w(e[0] ?? {}, e[1] ?? {}, {
59
- arrayMerge(i, t) {
60
- return t;
61
- }
62
- });
63
- }
64
- export {
65
- $ as WidgetRoot,
66
- k as mergeWidgetConfig
67
- };
68
- //# sourceMappingURL=root.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root.js","sources":["../../src/widgets/root/style.ts","../../src/widgets/root/root.tsx","../../src/widgets/root/utils.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} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from './style'\nimport { useEffect } from 'react'\nimport type { WidgetRootProps } from './types'\nimport { useWidgetStore } from '../stores/widget-store'\nimport type { WrapperState } from '../wrapper'\n\nexport function WidgetRoot<T>(props: WidgetRootProps<T>) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n const executeToolPipeline = useWidgetStore(\n (state) => state.executeToolPipeline,\n )\n\n // Split into 3 effects for metadata and 1 for data pipeline:\n // Each property that can be modified independently gets its own effect to avoid\n // accidentally resetting other properties.\n //\n // - Effect 1: Type (can be modified by tools that change visualization type)\n // - Effect 2: Loading/Error states (change during fetch lifecycle)\n // - Effect 3: Config (can be modified by tools that change widget configuration)\n // - Effect 4: Data pipeline execution (transforms data through registered tools)\n // - Effect 5: Re-execute pipeline when tool state changes\n\n // Effect 1: Type updates\n useEffect(() => {\n setWidget<WrapperState>(props.id, {\n type: props.type,\n })\n }, [props.id, props.type, setWidget])\n\n // Effect 2: Loading and error states\n useEffect(() => {\n setWidget<WrapperState>(props.id, {\n isLoading: props.isLoading ?? false,\n isFetching: props.isFetching ?? false,\n error: props.error,\n })\n }, [props.id, props.isLoading, props.isFetching, props.error, setWidget])\n\n // Effect 3: Config updates\n useEffect(() => {\n if (props.config) {\n setWidget<WrapperState>(props.id, {\n ...props.config,\n })\n }\n }, [props.id, props.config, setWidget])\n\n // Effect 4: Execute tool pipeline when props.data changes\n useEffect(() => {\n void executeToolPipeline(props.id, props.data)\n }, [props.id, props.data, executeToolPipeline])\n\n // Effect 5: Re-execute pipeline when tool state changes (enabled/config)\n useEffect(() => {\n let prevTools = useWidgetStore.getState().widgets[props.id]?.registeredTools\n\n const unsubscribe = useWidgetStore.subscribe((state) => {\n const currentTools = state.widgets[props.id]?.registeredTools\n\n // Only re-execute if tools array changed\n if (currentTools !== prevTools) {\n prevTools = currentTools\n void executeToolPipeline(props.id, props.data)\n }\n })\n\n return unsubscribe\n }, [props.id, props.data, executeToolPipeline])\n\n return <Box sx={styles.root}>{props.children}</Box>\n}\n","import deepmerge from 'deepmerge'\n\nexport function mergeWidgetConfig<T>(\n ...options: [Partial<T> | undefined, Partial<T> | undefined]\n): T {\n return deepmerge(options[0] ?? {}, options[1] ?? {}, {\n arrayMerge(_, source) {\n return source as T[keyof T][]\n },\n })\n}\n"],"names":["styles","root","display","flexDirection","gap","theme","spacing","WidgetRoot","props","$","_c","setWidget","useWidgetStore","_temp","executeToolPipeline","_temp2","t0","t1","id","type","useEffect","t2","t3","error","isFetching","isLoading","t4","t5","config","t6","t7","data","t8","t9","prevTools","getState","widgets","registeredTools","subscribe","state_1","currentTools","state","t10","children","Box","state_0","mergeWidgetConfig","options","deepmerge","arrayMerge","_","source"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stores.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/widgets.js DELETED
@@ -1,11 +0,0 @@
1
- import { u as e } from "./widget-store-CB6Trp_0.js";
2
- import { W } from "./no-data-C54XJt13.js";
3
- import { W as s } from "./error-B2IJ9d2h.js";
4
- import { W as f } from "./note-Clng2ej6.js";
5
- export {
6
- s as WidgetError,
7
- W as WidgetNoData,
8
- f as WidgetNote,
9
- e as useWidgetStore
10
- };
11
- //# sourceMappingURL=widgets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgets.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}