@carto/ps-react-ui 5.1.0 → 6.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 (1136) hide show
  1. package/dist/{actions-BjPfCLG9.js → actions-KsX1xdDM.js} +28 -28
  2. package/dist/actions-KsX1xdDM.js.map +1 -0
  3. package/dist/category-CsdDqDzo.js +833 -0
  4. package/dist/category-CsdDqDzo.js.map +1 -0
  5. package/dist/chat.js +548 -526
  6. package/dist/chat.js.map +1 -1
  7. package/dist/{components-FED-ArwH.js → components-CTUpdQuj.js} +1526 -1782
  8. package/dist/components-CTUpdQuj.js.map +1 -0
  9. package/dist/components.js +4 -5
  10. package/dist/{download-DdaK3qgC.js → download-Vlzn2jzb.js} +12 -12
  11. package/dist/download-Vlzn2jzb.js.map +1 -0
  12. package/dist/{echart-CRihbmRv.js → echart-DjcbtKgi.js} +7 -7
  13. package/dist/echart-DjcbtKgi.js.map +1 -0
  14. package/dist/formula-CdHWtepq.js +282 -0
  15. package/dist/formula-CdHWtepq.js.map +1 -0
  16. package/dist/legend.js +261 -256
  17. package/dist/legend.js.map +1 -1
  18. package/dist/{markdown-2dfL6Cmb.js → markdown-CY-67NRE.js} +8 -8
  19. package/dist/markdown-CY-67NRE.js.map +1 -0
  20. package/dist/{markdown-content-BWUqwx9F.js → markdown-content-kYNLOX0T.js} +2 -2
  21. package/dist/markdown-content-kYNLOX0T.js.map +1 -0
  22. package/dist/{chart-config-B_fdIcD3.js → option-builders-DQivvvbb.js} +10 -56
  23. package/dist/option-builders-DQivvvbb.js.map +1 -0
  24. package/dist/{range-BCMAl5xf.js → range-DHQSsl2_.js} +8 -8
  25. package/dist/range-DHQSsl2_.js.map +1 -0
  26. package/dist/smart-tooltip-Dc_rHhyI.js +51 -0
  27. package/dist/smart-tooltip-Dc_rHhyI.js.map +1 -0
  28. package/dist/{spread-Ccpg9fi0.js → spread-DuM5oTI1.js} +10 -10
  29. package/dist/spread-DuM5oTI1.js.map +1 -0
  30. package/dist/{stores-tiFePP0A.js → stores-B8CHbgw-.js} +11 -11
  31. package/dist/stores-B8CHbgw-.js.map +1 -0
  32. package/dist/stores-mad-9yFn.js.map +1 -1
  33. package/dist/styles-BCEBm7xh.js +146 -0
  34. package/dist/styles-BCEBm7xh.js.map +1 -0
  35. package/dist/{table-Bx9Uj3U0.js → table-BE4uO9pp.js} +14 -14
  36. package/dist/table-BE4uO9pp.js.map +1 -0
  37. package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +1 -1
  38. package/dist/types/chat/types.d.ts +5 -2
  39. package/dist/types/components/index.d.ts +1 -3
  40. package/dist/types/components/lasso-tool/geometry-toolbar.d.ts +1 -1
  41. package/dist/types/components/lasso-tool/toolbar/context.d.ts +1 -1
  42. package/dist/types/components/types.d.ts +15 -0
  43. package/dist/types/legend/components/legend-actions/legend-actions.d.ts +2 -2
  44. package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +2 -1
  45. package/dist/types/legend/index.d.ts +1 -1
  46. package/dist/types/legend/provider/legend-provider.d.ts +2 -2
  47. package/dist/types/migration/v4/classes.d.ts +16 -0
  48. package/dist/types/migration/v4/icons.d.ts +31 -0
  49. package/dist/types/migration/v4/index.d.ts +17 -0
  50. package/dist/types/migration/v4/rules.d.ts +42 -0
  51. package/dist/types/migration/v4/transform.d.ts +4 -0
  52. package/dist/types/migration/v4/transforms/helpers.d.ts +97 -0
  53. package/dist/types/migration/v4/transforms/meridian-5.d.ts +22 -0
  54. package/dist/types/migration/v4/transforms/ps-react-ui.d.ts +20 -0
  55. package/dist/types/migration/v4/transforms/v5-v6.d.ts +27 -0
  56. package/dist/types/migration/v4/transforms/v6-v7.d.ts +54 -0
  57. package/dist/types/migration/v4/transforms/v7-v9-dom.d.ts +63 -0
  58. package/dist/types/migration/v4/transforms/v7-v9-props.d.ts +64 -0
  59. package/dist/types/migration/v4/widgets-v1.d.ts +12 -0
  60. package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +51 -24
  61. package/dist/types/widgets/actions/brush-toggle/style.d.ts +7 -16
  62. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +2 -1
  63. package/dist/types/widgets/actions/change-column/change-column.d.ts +26 -17
  64. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +10 -5
  65. package/dist/types/widgets/actions/change-column/types.d.ts +9 -18
  66. package/dist/types/widgets/actions/download/download.d.ts +18 -13
  67. package/dist/types/widgets/actions/download/exports.d.ts +33 -17
  68. package/dist/types/{widgets-v2 → widgets}/actions/download/png-item.d.ts +1 -1
  69. package/dist/types/widgets/actions/download/types.d.ts +30 -16
  70. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +73 -10
  71. package/dist/types/widgets/actions/fullscreen/types.d.ts +13 -20
  72. package/dist/types/widgets/actions/index.d.ts +10 -20
  73. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +54 -16
  74. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +36 -21
  75. package/dist/types/{widgets-v2 → widgets}/actions/relative-data/transforms.d.ts +2 -2
  76. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +21 -16
  77. package/dist/types/widgets/actions/searcher/searcher.d.ts +9 -19
  78. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +10 -17
  79. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +7 -8
  80. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +31 -22
  81. package/dist/types/widgets/bar/index.d.ts +3 -2
  82. package/dist/types/widgets/bar/skeleton.d.ts +5 -0
  83. package/dist/types/widgets/bar/types.d.ts +46 -9
  84. package/dist/types/widgets/category/category-ui.d.ts +86 -3
  85. package/dist/types/{widgets-v2 → widgets}/category/components/category-bar-stacked.d.ts +2 -1
  86. package/dist/types/widgets/category/components/category-bar.d.ts +18 -4
  87. package/dist/types/widgets/category/components/category-legend.d.ts +30 -4
  88. package/dist/types/widgets/category/components/category-row-multi.d.ts +27 -10
  89. package/dist/types/widgets/category/components/category-row-other.d.ts +19 -2
  90. package/dist/types/widgets/category/components/category-row-single.d.ts +23 -9
  91. package/dist/types/{widgets-v2 → widgets}/category/components/category-row-stacked.d.ts +2 -1
  92. package/dist/types/widgets/category/index.d.ts +10 -14
  93. package/dist/types/widgets/category/skeleton.d.ts +11 -1
  94. package/dist/types/widgets/category/style.d.ts +155 -83
  95. package/dist/types/widgets/category/types.d.ts +49 -29
  96. package/dist/types/widgets/echart/echart-ui.d.ts +44 -9
  97. package/dist/types/widgets/echart/echart.d.ts +80 -5
  98. package/dist/types/widgets/echart/index.d.ts +4 -5
  99. package/dist/types/widgets/echart/shared-resize-observer.d.ts +2 -9
  100. package/dist/types/widgets/formula/formula-ui.d.ts +18 -3
  101. package/dist/types/widgets/formula/index.d.ts +11 -11
  102. package/dist/types/{widgets-v2 → widgets}/formula/series.d.ts +2 -1
  103. package/dist/types/widgets/formula/skeleton.d.ts +4 -1
  104. package/dist/types/widgets/formula/style.d.ts +20 -12
  105. package/dist/types/widgets/formula/types.d.ts +41 -39
  106. package/dist/types/{widgets-v2 → widgets}/formula/value.d.ts +2 -1
  107. package/dist/types/widgets/histogram/index.d.ts +5 -4
  108. package/dist/types/widgets/histogram/skeleton.d.ts +9 -1
  109. package/dist/types/widgets/histogram/types.d.ts +60 -12
  110. package/dist/types/{widgets-v2 → widgets}/index.d.ts +2 -2
  111. package/dist/types/widgets/markdown/index.d.ts +5 -4
  112. package/dist/types/widgets/markdown/markdown-ui.d.ts +10 -7
  113. package/dist/types/widgets/markdown/markdown.d.ts +4 -3
  114. package/dist/types/widgets/markdown/skeleton.d.ts +4 -1
  115. package/dist/types/widgets/markdown/style.d.ts +61 -2
  116. package/dist/types/widgets/markdown/types.d.ts +2 -16
  117. package/dist/types/widgets/note/style.d.ts +14 -16
  118. package/dist/types/widgets/pie/index.d.ts +4 -3
  119. package/dist/types/widgets/pie/skeleton.d.ts +13 -1
  120. package/dist/types/widgets/pie/types.d.ts +57 -9
  121. package/dist/types/widgets/range/index.d.ts +4 -6
  122. package/dist/types/widgets/range/range-ui.d.ts +25 -3
  123. package/dist/types/widgets/range/skeleton.d.ts +9 -1
  124. package/dist/types/widgets/range/style.d.ts +40 -2
  125. package/dist/types/widgets/range/types.d.ts +26 -22
  126. package/dist/types/widgets/scatterplot/index.d.ts +5 -3
  127. package/dist/types/widgets/scatterplot/skeleton.d.ts +12 -1
  128. package/dist/types/widgets/scatterplot/types.d.ts +54 -9
  129. package/dist/types/widgets/selection-summary/selection-summary.d.ts +26 -10
  130. package/dist/types/widgets/selection-summary/style.d.ts +32 -3
  131. package/dist/types/widgets/spread/index.d.ts +7 -9
  132. package/dist/types/widgets/spread/skeleton.d.ts +9 -1
  133. package/dist/types/widgets/spread/spread-ui.d.ts +16 -3
  134. package/dist/types/widgets/spread/types.d.ts +20 -35
  135. package/dist/types/widgets/stores/index.d.ts +8 -3
  136. package/dist/types/widgets/stores/types.d.ts +45 -172
  137. package/dist/types/widgets/subheader/style.d.ts +5 -14
  138. package/dist/types/widgets/subheader/subheader.d.ts +9 -11
  139. package/dist/types/widgets/table/helpers.d.ts +28 -34
  140. package/dist/types/widgets/table/index.d.ts +8 -17
  141. package/dist/types/widgets/table/skeleton.d.ts +17 -5
  142. package/dist/types/widgets/table/style.d.ts +21 -14
  143. package/dist/types/widgets/table/table-ui.d.ts +41 -29
  144. package/dist/types/widgets/table/types.d.ts +34 -182
  145. package/dist/types/widgets/timeseries/index.d.ts +4 -2
  146. package/dist/types/widgets/timeseries/skeleton.d.ts +7 -0
  147. package/dist/types/widgets/timeseries/types.d.ts +60 -9
  148. package/dist/types/{widgets-v2 → widgets}/types.d.ts +7 -6
  149. package/dist/types/widgets/utils/index.d.ts +3 -7
  150. package/dist/types/widgets/wrapper/index.d.ts +4 -6
  151. package/dist/{utils-Dr6gf3vD.js → utils-BStJWhZN.js} +5 -5
  152. package/dist/utils-BStJWhZN.js.map +1 -0
  153. package/dist/widgets/actions.js +4 -2
  154. package/dist/widgets/bar.js +202 -132
  155. package/dist/widgets/bar.js.map +1 -1
  156. package/dist/widgets/category.js +2 -450
  157. package/dist/widgets/echart.js +2 -3
  158. package/dist/widgets/formula.js +2 -3
  159. package/dist/widgets/histogram.js +263 -160
  160. package/dist/widgets/histogram.js.map +1 -1
  161. package/dist/widgets/markdown.js +3 -148
  162. package/dist/widgets/pie.js +317 -197
  163. package/dist/widgets/pie.js.map +1 -1
  164. package/dist/widgets/range.js +2 -233
  165. package/dist/widgets/scatterplot.js +300 -196
  166. package/dist/widgets/scatterplot.js.map +1 -1
  167. package/dist/widgets/spread.js +2 -158
  168. package/dist/widgets/stores.js +2 -3
  169. package/dist/widgets/table.js +2 -599
  170. package/dist/widgets/timeseries.js +250 -136
  171. package/dist/widgets/timeseries.js.map +1 -1
  172. package/dist/widgets/utils.js +2 -18
  173. package/dist/{widgets-v2.js → widgets.js} +63 -57
  174. package/dist/widgets.js.map +1 -0
  175. package/dist/{zoom-toggle-IsF8BnAp.js → zoom-toggle-D_VuA01l.js} +5 -5
  176. package/dist/zoom-toggle-D_VuA01l.js.map +1 -0
  177. package/package.json +45 -131
  178. package/src/chat/bubbles/chat-agent-message-markdown.tsx +1 -1
  179. package/src/chat/bubbles/chat-error-message.tsx +9 -3
  180. package/src/chat/bubbles/chat-suggestion-button.tsx +8 -3
  181. package/src/chat/containers/chat-footer.tsx +6 -2
  182. package/src/chat/containers/chat-starter.tsx +6 -4
  183. package/src/chat/feedback/chat-tool-full-view-dialog.tsx +3 -1
  184. package/src/chat/feedback/chat-tool-group.test.tsx +1 -1
  185. package/src/chat/feedback/chat-tool-group.tsx +40 -9
  186. package/src/chat/feedback/chat-tool-trace.tsx +55 -19
  187. package/src/chat/types.ts +5 -2
  188. package/src/components/basemaps/header.tsx +6 -1
  189. package/src/components/index.ts +2 -3
  190. package/src/components/lasso-tool/geometry-toolbar.tsx +1 -1
  191. package/src/components/lasso-tool/lasso-tool-inline.tsx +12 -4
  192. package/src/components/lasso-tool/lasso-tool.tsx +26 -15
  193. package/src/components/lasso-tool/layer-filters.tsx +36 -11
  194. package/src/components/lasso-tool/options-sections.test.tsx +13 -2
  195. package/src/components/lasso-tool/options-sections.tsx +17 -7
  196. package/src/components/lasso-tool/toolbar/connected.tsx +1 -1
  197. package/src/components/lasso-tool/toolbar/context.tsx +1 -1
  198. package/src/components/measurement-tools/measurement-tools.tsx +28 -13
  199. package/src/components/no-data-alert/no-data-alert.tsx +12 -2
  200. package/src/components/responsive-drawer/responsive-drawer.tsx +0 -1
  201. package/src/components/types.ts +17 -0
  202. package/src/components/zoom-controls/zoom-controls.tsx +3 -1
  203. package/src/legend/components/legend-actions/legend-actions.tsx +2 -2
  204. package/src/legend/components/legend-category/legend-category-ui.tsx +7 -3
  205. package/src/legend/components/legend-config-select/legend-config-select.tsx +6 -2
  206. package/src/legend/components/legend-group/legend-group.tsx +6 -2
  207. package/src/legend/components/legend-group/styles.ts +1 -1
  208. package/src/legend/components/legend-icon/legend-icon-ui.tsx +7 -3
  209. package/src/legend/components/legend-opacity/legend-opacity.tsx +9 -3
  210. package/src/legend/components/legend-proportion/legend-proportion-ui.tsx +19 -3
  211. package/src/legend/components/legend-ramp/legend-ramp-ui.tsx +31 -7
  212. package/src/legend/components/legend-row/legend-row.tsx +2 -2
  213. package/src/legend/components/legend-row/styles.ts +1 -1
  214. package/src/legend/components/legend-sortable/legend-sortable.tsx +7 -3
  215. package/src/legend/components/legend-swatch/legend-swatch.tsx +2 -1
  216. package/src/legend/components/legend-visible-layers/legend-visible-layers.tsx +18 -9
  217. package/src/legend/index.ts +1 -1
  218. package/src/legend/provider/legend-provider.tsx +2 -2
  219. package/src/legend/stores/legend-store-registry.ts +1 -1
  220. package/src/migration/v4/classes.ts +56 -0
  221. package/src/migration/v4/icons.ts +56 -0
  222. package/src/migration/v4/index.ts +17 -0
  223. package/src/migration/v4/migration.test.ts +772 -0
  224. package/src/migration/v4/rules.ts +444 -0
  225. package/src/migration/v4/transform.ts +92 -0
  226. package/src/migration/v4/transforms/helpers.ts +369 -0
  227. package/src/migration/v4/transforms/meridian-5.ts +163 -0
  228. package/src/migration/v4/transforms/ps-react-ui.ts +99 -0
  229. package/src/migration/v4/transforms/v5-v6.ts +161 -0
  230. package/src/migration/v4/transforms/v6-v7.ts +342 -0
  231. package/src/migration/v4/transforms/v7-v9-dom.ts +403 -0
  232. package/src/migration/v4/transforms/v7-v9-props.ts +529 -0
  233. package/src/migration/v4/widgets-v1.ts +199 -0
  234. package/src/{widgets-v2 → widgets}/PERFORMANCE.md +5 -5
  235. package/src/widgets/actions/brush-toggle/brush-toggle.test.tsx +144 -172
  236. package/src/widgets/actions/brush-toggle/brush-toggle.tsx +129 -108
  237. package/src/widgets/actions/brush-toggle/style.ts +5 -40
  238. package/src/widgets/actions/change-column/change-column-icon.tsx +14 -10
  239. package/src/widgets/actions/change-column/change-column.test.tsx +57 -288
  240. package/src/widgets/actions/change-column/change-column.tsx +116 -145
  241. package/src/widgets/actions/change-column/sortable-column-item.tsx +29 -17
  242. package/src/widgets/actions/change-column/types.ts +9 -18
  243. package/src/widgets/actions/download/download.test.tsx +290 -289
  244. package/src/widgets/actions/download/download.tsx +101 -89
  245. package/src/widgets/actions/download/exports.test.tsx +157 -247
  246. package/src/{widgets-v2 → widgets}/actions/download/exports.ts +1 -1
  247. package/src/{widgets-v2 → widgets}/actions/download/png-item.tsx +2 -2
  248. package/src/widgets/actions/download/types.ts +26 -15
  249. package/src/widgets/actions/fullscreen/fullscreen.test.tsx +164 -221
  250. package/src/widgets/actions/fullscreen/fullscreen.tsx +277 -72
  251. package/src/widgets/actions/fullscreen/types.ts +14 -31
  252. package/src/widgets/actions/index.ts +90 -68
  253. package/src/widgets/actions/lock-selection/lock-selection.test.tsx +259 -156
  254. package/src/widgets/actions/lock-selection/lock-selection.tsx +162 -102
  255. package/src/widgets/actions/relative-data/relative-data.test.tsx +65 -536
  256. package/src/widgets/actions/relative-data/relative-data.tsx +82 -163
  257. package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.ts +2 -2
  258. package/src/widgets/actions/searcher/searcher-toggle.tsx +75 -56
  259. package/src/widgets/actions/searcher/searcher.tsx +85 -168
  260. package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +49 -402
  261. package/src/widgets/actions/stack-toggle/stack-toggle.tsx +39 -114
  262. package/src/widgets/actions/zoom-toggle/style.ts +5 -8
  263. package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +88 -303
  264. package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +87 -199
  265. package/src/widgets/bar/index.ts +6 -5
  266. package/src/{widgets-v2 → widgets}/bar/options.ts +1 -1
  267. package/src/widgets/bar/skeleton.tsx +61 -52
  268. package/src/widgets/bar/types.ts +46 -11
  269. package/src/widgets/category/category-ui.test.tsx +846 -317
  270. package/src/widgets/category/category-ui.tsx +444 -127
  271. package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.tsx +2 -1
  272. package/src/widgets/category/components/category-bar.tsx +31 -12
  273. package/src/{widgets-v2 → widgets}/category/components/category-legend.test.tsx +7 -3
  274. package/src/widgets/category/components/category-legend.tsx +68 -18
  275. package/src/widgets/category/components/category-row-multi.tsx +66 -36
  276. package/src/widgets/category/components/category-row-other.tsx +63 -5
  277. package/src/widgets/category/components/category-row-single.tsx +48 -25
  278. package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.tsx +2 -1
  279. package/src/widgets/category/index.ts +25 -22
  280. package/src/widgets/category/skeleton.tsx +60 -10
  281. package/src/widgets/category/style.ts +267 -72
  282. package/src/widgets/category/types.ts +52 -32
  283. package/src/widgets/echart/echart-ui.test.tsx +250 -446
  284. package/src/widgets/echart/echart-ui.tsx +210 -52
  285. package/src/widgets/echart/echart.test.tsx +203 -518
  286. package/src/widgets/echart/echart.tsx +195 -52
  287. package/src/widgets/echart/index.ts +21 -15
  288. package/src/widgets/echart/shared-resize-observer.ts +30 -19
  289. package/src/widgets/formula/formula-ui.test.tsx +68 -376
  290. package/src/widgets/formula/formula-ui.tsx +58 -22
  291. package/src/widgets/formula/index.ts +14 -21
  292. package/src/{widgets-v2 → widgets}/formula/note.tsx +8 -2
  293. package/src/{widgets-v2 → widgets}/formula/series.tsx +8 -25
  294. package/src/widgets/formula/skeleton.tsx +21 -4
  295. package/src/widgets/formula/style.ts +20 -12
  296. package/src/widgets/formula/types.ts +44 -45
  297. package/src/{widgets-v2 → widgets}/formula/value.tsx +2 -1
  298. package/src/widgets/histogram/index.ts +10 -10
  299. package/src/{widgets-v2 → widgets}/histogram/options.ts +1 -1
  300. package/src/widgets/histogram/skeleton.tsx +63 -45
  301. package/src/widgets/histogram/types.ts +59 -18
  302. package/src/{widgets-v2 → widgets}/index.ts +3 -3
  303. package/src/widgets/markdown/index.ts +5 -13
  304. package/src/widgets/markdown/markdown-ui.test.tsx +53 -319
  305. package/src/widgets/markdown/markdown-ui.tsx +43 -47
  306. package/src/widgets/markdown/markdown.tsx +12 -15
  307. package/src/widgets/markdown/skeleton.tsx +26 -6
  308. package/src/widgets/markdown/style.ts +48 -23
  309. package/src/widgets/markdown/types.ts +2 -26
  310. package/src/widgets/note/style.ts +14 -17
  311. package/src/{widgets-v2 → widgets}/note/widget-note.tsx +15 -2
  312. package/src/widgets/pie/index.ts +7 -5
  313. package/src/{widgets-v2 → widgets}/pie/options.ts +1 -1
  314. package/src/widgets/pie/skeleton.tsx +84 -60
  315. package/src/widgets/pie/types.ts +57 -11
  316. package/src/widgets/range/index.ts +4 -16
  317. package/src/widgets/range/range-ui.test.tsx +115 -182
  318. package/src/widgets/range/range-ui.tsx +274 -8
  319. package/src/widgets/range/skeleton.tsx +41 -8
  320. package/src/widgets/range/style.ts +16 -12
  321. package/src/widgets/range/types.ts +26 -28
  322. package/src/widgets/scatterplot/index.ts +11 -5
  323. package/src/{widgets-v2 → widgets}/scatterplot/options.ts +1 -1
  324. package/src/widgets/scatterplot/skeleton.tsx +76 -51
  325. package/src/widgets/scatterplot/types.ts +54 -12
  326. package/src/widgets/selection-summary/selection-summary.tsx +64 -39
  327. package/src/widgets/selection-summary/style.ts +30 -2
  328. package/src/widgets/spread/index.ts +11 -23
  329. package/src/widgets/spread/skeleton.tsx +32 -4
  330. package/src/widgets/spread/spread-ui.test.tsx +98 -358
  331. package/src/widgets/spread/spread-ui.tsx +44 -24
  332. package/src/widgets/spread/types.ts +21 -41
  333. package/src/{widgets-v2 → widgets}/state/widget-state.tsx +13 -3
  334. package/src/widgets/stores/index.ts +46 -10
  335. package/src/{widgets-v2 → widgets}/stores/transforms.ts +1 -1
  336. package/src/widgets/stores/types.ts +42 -181
  337. package/src/{widgets-v2 → widgets}/stores/use-transform.ts +1 -1
  338. package/src/{widgets-v2 → widgets}/stores/widget-store-registry.ts +2 -2
  339. package/src/widgets/subheader/style.ts +5 -13
  340. package/src/widgets/subheader/subheader.test.tsx +22 -37
  341. package/src/widgets/subheader/subheader.tsx +11 -30
  342. package/src/widgets/table/helpers.test.ts +197 -208
  343. package/src/widgets/table/helpers.ts +108 -84
  344. package/src/widgets/table/index.ts +23 -54
  345. package/src/widgets/table/skeleton.tsx +38 -21
  346. package/src/widgets/table/style.ts +23 -14
  347. package/src/widgets/table/table-ui.tsx +348 -44
  348. package/src/widgets/table/types.ts +37 -205
  349. package/src/{widgets-v2 → widgets}/test-utils.ts +1 -1
  350. package/src/widgets/timeseries/index.ts +8 -5
  351. package/src/{widgets-v2 → widgets}/timeseries/options.ts +1 -1
  352. package/src/widgets/timeseries/skeleton.tsx +67 -46
  353. package/src/widgets/timeseries/types.ts +60 -12
  354. package/src/{widgets-v2 → widgets}/types.ts +8 -6
  355. package/src/widgets/utils/index.ts +3 -26
  356. package/src/widgets/wrapper/index.ts +14 -16
  357. package/src/{widgets-v2 → widgets}/wrapper/widget-wrapper.tsx +6 -2
  358. package/dist/actions-BjPfCLG9.js.map +0 -1
  359. package/dist/actions-CGJD6q0t.js +0 -1318
  360. package/dist/actions-CGJD6q0t.js.map +0 -1
  361. package/dist/category-DGUDabsi.js +0 -829
  362. package/dist/category-DGUDabsi.js.map +0 -1
  363. package/dist/chart-config-B_fdIcD3.js.map +0 -1
  364. package/dist/cjs-CBrZjPCj.js +0 -75
  365. package/dist/cjs-CBrZjPCj.js.map +0 -1
  366. package/dist/components-FED-ArwH.js.map +0 -1
  367. package/dist/copy-button-TTlZONkX.js +0 -34
  368. package/dist/copy-button-TTlZONkX.js.map +0 -1
  369. package/dist/csv-modifiers-D6HGC24b.js +0 -26
  370. package/dist/csv-modifiers-D6HGC24b.js.map +0 -1
  371. package/dist/download-DdaK3qgC.js.map +0 -1
  372. package/dist/echart-BkaV3V5G.js +0 -133
  373. package/dist/echart-BkaV3V5G.js.map +0 -1
  374. package/dist/echart-CRihbmRv.js.map +0 -1
  375. package/dist/formatter-wVO81tYk.js +0 -6
  376. package/dist/formatter-wVO81tYk.js.map +0 -1
  377. package/dist/formula-YfZmmuYX.js +0 -190
  378. package/dist/formula-YfZmmuYX.js.map +0 -1
  379. package/dist/formula-noJzQwKo.js +0 -285
  380. package/dist/formula-noJzQwKo.js.map +0 -1
  381. package/dist/hooks-zf5gKZYq.js +0 -22
  382. package/dist/hooks-zf5gKZYq.js.map +0 -1
  383. package/dist/markdown-2dfL6Cmb.js.map +0 -1
  384. package/dist/markdown-content-BWUqwx9F.js.map +0 -1
  385. package/dist/range-BCMAl5xf.js.map +0 -1
  386. package/dist/row-CvVGBuy_.js +0 -35
  387. package/dist/row-CvVGBuy_.js.map +0 -1
  388. package/dist/shared-resize-observer-BEiP2rQt.js +0 -157
  389. package/dist/shared-resize-observer-BEiP2rQt.js.map +0 -1
  390. package/dist/smart-tooltip-CwGHCqab.js +0 -34
  391. package/dist/smart-tooltip-CwGHCqab.js.map +0 -1
  392. package/dist/spread-Ccpg9fi0.js.map +0 -1
  393. package/dist/stores-tiFePP0A.js.map +0 -1
  394. package/dist/styles-Y-qGBELO.js +0 -13
  395. package/dist/styles-Y-qGBELO.js.map +0 -1
  396. package/dist/table-Bx9Uj3U0.js.map +0 -1
  397. package/dist/tooltip-DJUGNZxY.js +0 -23
  398. package/dist/tooltip-DJUGNZxY.js.map +0 -1
  399. package/dist/types/components/list-data/list-data-skeleton.d.ts +0 -5
  400. package/dist/types/components/list-data/list-data.d.ts +0 -19
  401. package/dist/types/components/list-data/styles.d.ts +0 -34
  402. package/dist/types/components/list-data/types.d.ts +0 -23
  403. package/dist/types/hooks/index.d.ts +0 -1
  404. package/dist/types/hooks/use-skeleton.d.ts +0 -1
  405. package/dist/types/hooks/use-widget-ref.d.ts +0 -21
  406. package/dist/types/widgets/actions/brush-toggle/brush-overlay.d.ts +0 -24
  407. package/dist/types/widgets/actions/brush-toggle/hit-test.d.ts +0 -19
  408. package/dist/types/widgets/actions/brush-toggle/types.d.ts +0 -73
  409. package/dist/types/widgets/actions/fullscreen/styles.d.ts +0 -16
  410. package/dist/types/widgets/actions/lock-selection/types.d.ts +0 -38
  411. package/dist/types/widgets/actions/relative-data/types.d.ts +0 -29
  412. package/dist/types/widgets/actions/relative-data/utils.d.ts +0 -9
  413. package/dist/types/widgets/actions/searcher/types.d.ts +0 -64
  414. package/dist/types/widgets/actions/shared/styles.d.ts +0 -11
  415. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +0 -1
  416. package/dist/types/widgets/actions/stack-toggle/types.d.ts +0 -25
  417. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +0 -41
  418. package/dist/types/widgets/bar/config.d.ts +0 -9
  419. package/dist/types/widgets/bar/style.d.ts +0 -37
  420. package/dist/types/widgets/category/config.d.ts +0 -20
  421. package/dist/types/widgets/echart/const.d.ts +0 -1
  422. package/dist/types/widgets/echart/options.d.ts +0 -9
  423. package/dist/types/widgets/echart/types.d.ts +0 -38
  424. package/dist/types/widgets/echart/utils.d.ts +0 -128
  425. package/dist/types/widgets/error/error.d.ts +0 -12
  426. package/dist/types/widgets/error/index.d.ts +0 -2
  427. package/dist/types/widgets/error/types.d.ts +0 -20
  428. package/dist/types/widgets/formula/components/item.d.ts +0 -5
  429. package/dist/types/widgets/formula/components/prefix.d.ts +0 -5
  430. package/dist/types/widgets/formula/components/row.d.ts +0 -5
  431. package/dist/types/widgets/formula/components/series.d.ts +0 -5
  432. package/dist/types/widgets/formula/components/suffix.d.ts +0 -5
  433. package/dist/types/widgets/formula/components/value.d.ts +0 -5
  434. package/dist/types/widgets/formula/config.d.ts +0 -15
  435. package/dist/types/widgets/formula/serializer.d.ts +0 -16
  436. package/dist/types/widgets/histogram/config.d.ts +0 -21
  437. package/dist/types/widgets/histogram/style.d.ts +0 -15
  438. package/dist/types/widgets/loader/index.d.ts +0 -3
  439. package/dist/types/widgets/loader/loader.d.ts +0 -24
  440. package/dist/types/widgets/loader/types.d.ts +0 -9
  441. package/dist/types/widgets/loader/utils.d.ts +0 -35
  442. package/dist/types/widgets/markdown/config.d.ts +0 -14
  443. package/dist/types/widgets/no-data/index.d.ts +0 -2
  444. package/dist/types/widgets/no-data/no-data.d.ts +0 -36
  445. package/dist/types/widgets/no-data/style.d.ts +0 -6
  446. package/dist/types/widgets/no-data/types.d.ts +0 -71
  447. package/dist/types/widgets/note/index.d.ts +0 -2
  448. package/dist/types/widgets/note/note.d.ts +0 -12
  449. package/dist/types/widgets/note/types.d.ts +0 -8
  450. package/dist/types/widgets/pie/config.d.ts +0 -9
  451. package/dist/types/widgets/pie/style.d.ts +0 -15
  452. package/dist/types/widgets/range/components/range-item.d.ts +0 -5
  453. package/dist/types/widgets/range/config.d.ts +0 -7
  454. package/dist/types/widgets/range/serializer.d.ts +0 -16
  455. package/dist/types/widgets/scatterplot/config.d.ts +0 -9
  456. package/dist/types/widgets/scatterplot/style.d.ts +0 -24
  457. package/dist/types/widgets/selection-summary/index.d.ts +0 -2
  458. package/dist/types/widgets/selection-summary/types.d.ts +0 -13
  459. package/dist/types/widgets/skeleton-loader/index.d.ts +0 -2
  460. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +0 -12
  461. package/dist/types/widgets/skeleton-loader/types.d.ts +0 -7
  462. package/dist/types/widgets/spread/components/max-value.d.ts +0 -5
  463. package/dist/types/widgets/spread/components/min-value.d.ts +0 -5
  464. package/dist/types/widgets/spread/components/separator.d.ts +0 -5
  465. package/dist/types/widgets/spread/config.d.ts +0 -16
  466. package/dist/types/widgets/spread/style.d.ts +0 -21
  467. package/dist/types/widgets/stores/use-widget-selector.d.ts +0 -35
  468. package/dist/types/widgets/stores/widget-store.d.ts +0 -60
  469. package/dist/types/widgets/subheader/index.d.ts +0 -2
  470. package/dist/types/widgets/subheader/types.d.ts +0 -10
  471. package/dist/types/widgets/table/components/cell-header.d.ts +0 -5
  472. package/dist/types/widgets/table/components/cell.d.ts +0 -18
  473. package/dist/types/widgets/table/components/pagination-actions.d.ts +0 -5
  474. package/dist/types/widgets/table/components/pagination.d.ts +0 -5
  475. package/dist/types/widgets/table/components/row.d.ts +0 -5
  476. package/dist/types/widgets/table/config.d.ts +0 -21
  477. package/dist/types/widgets/table/hooks/use-pagination.d.ts +0 -41
  478. package/dist/types/widgets/table/hooks/use-selection.d.ts +0 -39
  479. package/dist/types/widgets/table/hooks/use-sort.d.ts +0 -30
  480. package/dist/types/widgets/table/serializer.d.ts +0 -16
  481. package/dist/types/widgets/timeseries/config.d.ts +0 -9
  482. package/dist/types/widgets/timeseries/style.d.ts +0 -38
  483. package/dist/types/widgets/toolbar-actions/index.d.ts +0 -2
  484. package/dist/types/widgets/toolbar-actions/styles.d.ts +0 -37
  485. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +0 -17
  486. package/dist/types/widgets/toolbar-actions/types.d.ts +0 -52
  487. package/dist/types/widgets/utils/chart-config/config-factory.d.ts +0 -38
  488. package/dist/types/widgets/utils/chart-config/csv-modifiers.d.ts +0 -19
  489. package/dist/types/widgets/utils/chart-config/download-config.d.ts +0 -3
  490. package/dist/types/widgets/utils/chart-config/index.d.ts +0 -9
  491. package/dist/types/widgets/utils/formatter.d.ts +0 -2
  492. package/dist/types/widgets/utils/skeleton/index.d.ts +0 -4
  493. package/dist/types/widgets/utils/skeleton/styles.d.ts +0 -19
  494. package/dist/types/widgets/wrapper/components/actions.d.ts +0 -5
  495. package/dist/types/widgets/wrapper/components/options.d.ts +0 -5
  496. package/dist/types/widgets/wrapper/components/title.d.ts +0 -9
  497. package/dist/types/widgets/wrapper/styles.d.ts +0 -89
  498. package/dist/types/widgets/wrapper/types.d.ts +0 -37
  499. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +0 -16
  500. package/dist/types/widgets/wrapper/wrapper.d.ts +0 -16
  501. package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +0 -56
  502. package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +0 -2
  503. package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +0 -29
  504. package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +0 -14
  505. package/dist/types/widgets-v2/actions/change-column/types.d.ts +0 -10
  506. package/dist/types/widgets-v2/actions/download/download.d.ts +0 -18
  507. package/dist/types/widgets-v2/actions/download/exports.d.ts +0 -37
  508. package/dist/types/widgets-v2/actions/download/types.d.ts +0 -35
  509. package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +0 -78
  510. package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +0 -14
  511. package/dist/types/widgets-v2/actions/index.d.ts +0 -10
  512. package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +0 -57
  513. package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +0 -39
  514. package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +0 -23
  515. package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +0 -11
  516. package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +0 -10
  517. package/dist/types/widgets-v2/actions/stack-toggle/style.d.ts +0 -12
  518. package/dist/types/widgets-v2/actions/zoom-toggle/style.d.ts +0 -12
  519. package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +0 -35
  520. package/dist/types/widgets-v2/bar/index.d.ts +0 -4
  521. package/dist/types/widgets-v2/bar/skeleton.d.ts +0 -6
  522. package/dist/types/widgets-v2/bar/types.d.ts +0 -46
  523. package/dist/types/widgets-v2/category/category-ui.d.ts +0 -88
  524. package/dist/types/widgets-v2/category/components/category-bar.d.ts +0 -23
  525. package/dist/types/widgets-v2/category/components/category-legend.d.ts +0 -34
  526. package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +0 -31
  527. package/dist/types/widgets-v2/category/components/category-row-other.d.ts +0 -26
  528. package/dist/types/widgets-v2/category/components/category-row-single.d.ts +0 -28
  529. package/dist/types/widgets-v2/category/index.d.ts +0 -10
  530. package/dist/types/widgets-v2/category/skeleton.d.ts +0 -11
  531. package/dist/types/widgets-v2/category/style.d.ts +0 -193
  532. package/dist/types/widgets-v2/category/types.d.ts +0 -55
  533. package/dist/types/widgets-v2/echart/echart-ui.d.ts +0 -44
  534. package/dist/types/widgets-v2/echart/echart.d.ts +0 -83
  535. package/dist/types/widgets-v2/echart/index.d.ts +0 -4
  536. package/dist/types/widgets-v2/echart/shared-resize-observer.d.ts +0 -5
  537. package/dist/types/widgets-v2/formula/formula-ui.d.ts +0 -20
  538. package/dist/types/widgets-v2/formula/index.d.ts +0 -11
  539. package/dist/types/widgets-v2/formula/skeleton.d.ts +0 -4
  540. package/dist/types/widgets-v2/formula/style.d.ts +0 -29
  541. package/dist/types/widgets-v2/formula/types.d.ts +0 -43
  542. package/dist/types/widgets-v2/histogram/index.d.ts +0 -5
  543. package/dist/types/widgets-v2/histogram/skeleton.d.ts +0 -9
  544. package/dist/types/widgets-v2/histogram/types.d.ts +0 -60
  545. package/dist/types/widgets-v2/markdown/index.d.ts +0 -6
  546. package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +0 -12
  547. package/dist/types/widgets-v2/markdown/markdown.d.ts +0 -6
  548. package/dist/types/widgets-v2/markdown/skeleton.d.ts +0 -4
  549. package/dist/types/widgets-v2/markdown/style.d.ts +0 -61
  550. package/dist/types/widgets-v2/markdown/types.d.ts +0 -4
  551. package/dist/types/widgets-v2/note/style.d.ts +0 -26
  552. package/dist/types/widgets-v2/pie/index.d.ts +0 -4
  553. package/dist/types/widgets-v2/pie/skeleton.d.ts +0 -13
  554. package/dist/types/widgets-v2/pie/types.d.ts +0 -57
  555. package/dist/types/widgets-v2/range/index.d.ts +0 -4
  556. package/dist/types/widgets-v2/range/range-ui.d.ts +0 -27
  557. package/dist/types/widgets-v2/range/skeleton.d.ts +0 -9
  558. package/dist/types/widgets-v2/range/style.d.ts +0 -40
  559. package/dist/types/widgets-v2/range/types.d.ts +0 -37
  560. package/dist/types/widgets-v2/scatterplot/index.d.ts +0 -5
  561. package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +0 -12
  562. package/dist/types/widgets-v2/scatterplot/types.d.ts +0 -54
  563. package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +0 -29
  564. package/dist/types/widgets-v2/selection-summary/style.d.ts +0 -38
  565. package/dist/types/widgets-v2/spread/index.d.ts +0 -7
  566. package/dist/types/widgets-v2/spread/skeleton.d.ts +0 -9
  567. package/dist/types/widgets-v2/spread/spread-ui.d.ts +0 -18
  568. package/dist/types/widgets-v2/spread/types.d.ts +0 -25
  569. package/dist/types/widgets-v2/stores/index.d.ts +0 -8
  570. package/dist/types/widgets-v2/stores/types.d.ts +0 -55
  571. package/dist/types/widgets-v2/subheader/style.d.ts +0 -10
  572. package/dist/types/widgets-v2/subheader/subheader.d.ts +0 -11
  573. package/dist/types/widgets-v2/table/helpers.d.ts +0 -32
  574. package/dist/types/widgets-v2/table/index.d.ts +0 -8
  575. package/dist/types/widgets-v2/table/skeleton.d.ts +0 -22
  576. package/dist/types/widgets-v2/table/style.d.ts +0 -40
  577. package/dist/types/widgets-v2/table/table-ui.d.ts +0 -44
  578. package/dist/types/widgets-v2/table/types.d.ts +0 -48
  579. package/dist/types/widgets-v2/timeseries/index.d.ts +0 -5
  580. package/dist/types/widgets-v2/timeseries/skeleton.d.ts +0 -8
  581. package/dist/types/widgets-v2/timeseries/types.d.ts +0 -60
  582. package/dist/types/widgets-v2/utils/index.d.ts +0 -3
  583. package/dist/types/widgets-v2/wrapper/index.d.ts +0 -4
  584. package/dist/use-widget-selector-VSPhfhNm.js +0 -12
  585. package/dist/use-widget-selector-VSPhfhNm.js.map +0 -1
  586. package/dist/utils-Dr6gf3vD.js.map +0 -1
  587. package/dist/widget-store-BFPKYm4R.js +0 -187
  588. package/dist/widget-store-BFPKYm4R.js.map +0 -1
  589. package/dist/widgets/category.js.map +0 -1
  590. package/dist/widgets/error.js +0 -30
  591. package/dist/widgets/error.js.map +0 -1
  592. package/dist/widgets/loader.js +0 -66
  593. package/dist/widgets/loader.js.map +0 -1
  594. package/dist/widgets/markdown.js.map +0 -1
  595. package/dist/widgets/no-data.js +0 -55
  596. package/dist/widgets/no-data.js.map +0 -1
  597. package/dist/widgets/note.js +0 -127
  598. package/dist/widgets/note.js.map +0 -1
  599. package/dist/widgets/range.js.map +0 -1
  600. package/dist/widgets/selection-summary.js +0 -41
  601. package/dist/widgets/selection-summary.js.map +0 -1
  602. package/dist/widgets/skeleton-loader.js +0 -24
  603. package/dist/widgets/skeleton-loader.js.map +0 -1
  604. package/dist/widgets/spread.js.map +0 -1
  605. package/dist/widgets/subheader.js +0 -51
  606. package/dist/widgets/subheader.js.map +0 -1
  607. package/dist/widgets/table.js.map +0 -1
  608. package/dist/widgets/toolbar-actions.js +0 -145
  609. package/dist/widgets/toolbar-actions.js.map +0 -1
  610. package/dist/widgets/utils.js.map +0 -1
  611. package/dist/widgets/wrapper.js +0 -273
  612. package/dist/widgets/wrapper.js.map +0 -1
  613. package/dist/widgets-v2/actions.js +0 -4
  614. package/dist/widgets-v2/bar.js +0 -260
  615. package/dist/widgets-v2/bar.js.map +0 -1
  616. package/dist/widgets-v2/category.js +0 -2
  617. package/dist/widgets-v2/echart.js +0 -2
  618. package/dist/widgets-v2/formula.js +0 -2
  619. package/dist/widgets-v2/histogram.js +0 -297
  620. package/dist/widgets-v2/histogram.js.map +0 -1
  621. package/dist/widgets-v2/markdown.js +0 -3
  622. package/dist/widgets-v2/pie.js +0 -373
  623. package/dist/widgets-v2/pie.js.map +0 -1
  624. package/dist/widgets-v2/range.js +0 -2
  625. package/dist/widgets-v2/scatterplot.js +0 -330
  626. package/dist/widgets-v2/scatterplot.js.map +0 -1
  627. package/dist/widgets-v2/spread.js +0 -2
  628. package/dist/widgets-v2/stores.js +0 -2
  629. package/dist/widgets-v2/table.js +0 -2
  630. package/dist/widgets-v2/timeseries.js +0 -294
  631. package/dist/widgets-v2/timeseries.js.map +0 -1
  632. package/dist/widgets-v2/utils.js +0 -2
  633. package/dist/widgets-v2.js.map +0 -1
  634. package/dist/zoom-toggle-IsF8BnAp.js.map +0 -1
  635. package/src/components/list-data/list-data-skeleton.test.tsx +0 -10
  636. package/src/components/list-data/list-data-skeleton.tsx +0 -40
  637. package/src/components/list-data/list-data.test.tsx +0 -167
  638. package/src/components/list-data/list-data.tsx +0 -124
  639. package/src/components/list-data/styles.ts +0 -37
  640. package/src/components/list-data/types.ts +0 -25
  641. package/src/hooks/index.ts +0 -1
  642. package/src/hooks/use-skeleton.test.tsx +0 -32
  643. package/src/hooks/use-skeleton.ts +0 -19
  644. package/src/hooks/use-widget-ref.ts +0 -34
  645. package/src/widgets/README.md +0 -277
  646. package/src/widgets/actions/brush-toggle/brush-overlay.test.tsx +0 -465
  647. package/src/widgets/actions/brush-toggle/brush-overlay.tsx +0 -408
  648. package/src/widgets/actions/brush-toggle/hit-test.test.ts +0 -65
  649. package/src/widgets/actions/brush-toggle/hit-test.ts +0 -45
  650. package/src/widgets/actions/brush-toggle/types.ts +0 -78
  651. package/src/widgets/actions/change-column/change-column-dnd.test.tsx +0 -193
  652. package/src/widgets/actions/change-column/sortable-column-item.test.tsx +0 -124
  653. package/src/widgets/actions/download/exports.tsx +0 -118
  654. package/src/widgets/actions/fullscreen/styles.ts +0 -17
  655. package/src/widgets/actions/lock-selection/types.ts +0 -43
  656. package/src/widgets/actions/relative-data/types.ts +0 -33
  657. package/src/widgets/actions/relative-data/utils.test.ts +0 -223
  658. package/src/widgets/actions/relative-data/utils.ts +0 -58
  659. package/src/widgets/actions/searcher/searcher-toggle.test.tsx +0 -354
  660. package/src/widgets/actions/searcher/types.ts +0 -72
  661. package/src/widgets/actions/shared/styles.ts +0 -12
  662. package/src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx +0 -14
  663. package/src/widgets/actions/stack-toggle/types.ts +0 -29
  664. package/src/widgets/actions/zoom-toggle/types.ts +0 -44
  665. package/src/widgets/bar/config.ts +0 -140
  666. package/src/widgets/bar/style.ts +0 -33
  667. package/src/widgets/category/components/category-rows.test.tsx +0 -213
  668. package/src/widgets/category/config.ts +0 -86
  669. package/src/widgets/echart/const.ts +0 -1
  670. package/src/widgets/echart/options.ts +0 -57
  671. package/src/widgets/echart/types.ts +0 -45
  672. package/src/widgets/echart/utils.test.ts +0 -277
  673. package/src/widgets/echart/utils.ts +0 -244
  674. package/src/widgets/error/error.test.tsx +0 -331
  675. package/src/widgets/error/error.tsx +0 -51
  676. package/src/widgets/error/index.ts +0 -2
  677. package/src/widgets/error/types.ts +0 -24
  678. package/src/widgets/formula/components/item.test.tsx +0 -249
  679. package/src/widgets/formula/components/item.tsx +0 -21
  680. package/src/widgets/formula/components/prefix.test.tsx +0 -341
  681. package/src/widgets/formula/components/prefix.tsx +0 -19
  682. package/src/widgets/formula/components/row.test.tsx +0 -364
  683. package/src/widgets/formula/components/row.tsx +0 -24
  684. package/src/widgets/formula/components/series.tsx +0 -35
  685. package/src/widgets/formula/components/suffix.test.tsx +0 -383
  686. package/src/widgets/formula/components/suffix.tsx +0 -29
  687. package/src/widgets/formula/components/value.test.tsx +0 -329
  688. package/src/widgets/formula/components/value.tsx +0 -24
  689. package/src/widgets/formula/config.test.ts +0 -37
  690. package/src/widgets/formula/config.ts +0 -38
  691. package/src/widgets/formula/serializer.test.tsx +0 -144
  692. package/src/widgets/formula/serializer.ts +0 -28
  693. package/src/widgets/histogram/config.ts +0 -230
  694. package/src/widgets/histogram/style.ts +0 -8
  695. package/src/widgets/loader/index.ts +0 -4
  696. package/src/widgets/loader/loader.tsx +0 -92
  697. package/src/widgets/loader/types.ts +0 -13
  698. package/src/widgets/loader/utils.test.ts +0 -112
  699. package/src/widgets/loader/utils.ts +0 -57
  700. package/src/widgets/markdown/config.ts +0 -28
  701. package/src/widgets/no-data/index.ts +0 -2
  702. package/src/widgets/no-data/no-data.test.tsx +0 -497
  703. package/src/widgets/no-data/no-data.tsx +0 -112
  704. package/src/widgets/no-data/style.ts +0 -18
  705. package/src/widgets/no-data/types.ts +0 -76
  706. package/src/widgets/note/index.ts +0 -2
  707. package/src/widgets/note/note.test.tsx +0 -391
  708. package/src/widgets/note/note.tsx +0 -124
  709. package/src/widgets/note/types.ts +0 -9
  710. package/src/widgets/pie/config.ts +0 -245
  711. package/src/widgets/pie/style.ts +0 -8
  712. package/src/widgets/range/components/range-item.test.tsx +0 -243
  713. package/src/widgets/range/components/range-item.tsx +0 -214
  714. package/src/widgets/range/config.ts +0 -10
  715. package/src/widgets/range/serializer.test.ts +0 -70
  716. package/src/widgets/range/serializer.ts +0 -27
  717. package/src/widgets/scatterplot/config.ts +0 -136
  718. package/src/widgets/scatterplot/style.ts +0 -21
  719. package/src/widgets/selection-summary/index.ts +0 -6
  720. package/src/widgets/selection-summary/types.ts +0 -14
  721. package/src/widgets/skeleton-loader/index.ts +0 -2
  722. package/src/widgets/skeleton-loader/skeleton-loader.test.tsx +0 -139
  723. package/src/widgets/skeleton-loader/skeleton-loader.tsx +0 -35
  724. package/src/widgets/skeleton-loader/types.ts +0 -8
  725. package/src/widgets/spread/components/max-value.tsx +0 -29
  726. package/src/widgets/spread/components/min-value.tsx +0 -29
  727. package/src/widgets/spread/components/separator.tsx +0 -9
  728. package/src/widgets/spread/config.ts +0 -39
  729. package/src/widgets/spread/style.ts +0 -22
  730. package/src/widgets/stores/use-widget-selector.ts +0 -47
  731. package/src/widgets/stores/widget-store-branches.test.ts +0 -275
  732. package/src/widgets/stores/widget-store-performance.test.ts +0 -750
  733. package/src/widgets/stores/widget-store.test.ts +0 -942
  734. package/src/widgets/stores/widget-store.ts +0 -484
  735. package/src/widgets/subheader/index.ts +0 -3
  736. package/src/widgets/subheader/types.ts +0 -11
  737. package/src/widgets/table/components/cell-header.tsx +0 -58
  738. package/src/widgets/table/components/cell.tsx +0 -82
  739. package/src/widgets/table/components/pagination-actions.tsx +0 -67
  740. package/src/widgets/table/components/pagination.tsx +0 -41
  741. package/src/widgets/table/components/row.tsx +0 -65
  742. package/src/widgets/table/config.test.ts +0 -65
  743. package/src/widgets/table/config.ts +0 -75
  744. package/src/widgets/table/hooks/use-pagination.test.ts +0 -294
  745. package/src/widgets/table/hooks/use-pagination.ts +0 -148
  746. package/src/widgets/table/hooks/use-selection.test.ts +0 -504
  747. package/src/widgets/table/hooks/use-selection.ts +0 -194
  748. package/src/widgets/table/hooks/use-sort.test.ts +0 -296
  749. package/src/widgets/table/hooks/use-sort.ts +0 -131
  750. package/src/widgets/table/serializer.ts +0 -54
  751. package/src/widgets/timeseries/config.ts +0 -136
  752. package/src/widgets/timeseries/style.ts +0 -36
  753. package/src/widgets/toolbar-actions/index.ts +0 -6
  754. package/src/widgets/toolbar-actions/styles.ts +0 -38
  755. package/src/widgets/toolbar-actions/toolbar-actions.test.tsx +0 -691
  756. package/src/widgets/toolbar-actions/toolbar-actions.tsx +0 -145
  757. package/src/widgets/toolbar-actions/types.ts +0 -60
  758. package/src/widgets/utils/chart-config/config-factory.ts +0 -67
  759. package/src/widgets/utils/chart-config/csv-modifiers.ts +0 -56
  760. package/src/widgets/utils/chart-config/download-config.ts +0 -22
  761. package/src/widgets/utils/chart-config/index.ts +0 -29
  762. package/src/widgets/utils/formatter.ts +0 -2
  763. package/src/widgets/utils/skeleton/index.ts +0 -5
  764. package/src/widgets/utils/skeleton/styles.ts +0 -20
  765. package/src/widgets/wrapper/components/actions.test.tsx +0 -105
  766. package/src/widgets/wrapper/components/actions.tsx +0 -35
  767. package/src/widgets/wrapper/components/options.test.tsx +0 -331
  768. package/src/widgets/wrapper/components/options.tsx +0 -81
  769. package/src/widgets/wrapper/components/title.test.tsx +0 -126
  770. package/src/widgets/wrapper/components/title.tsx +0 -35
  771. package/src/widgets/wrapper/styles.ts +0 -98
  772. package/src/widgets/wrapper/types.ts +0 -55
  773. package/src/widgets/wrapper/wrapper-ui.test.tsx +0 -232
  774. package/src/widgets/wrapper/wrapper-ui.tsx +0 -72
  775. package/src/widgets/wrapper/wrapper.test.tsx +0 -365
  776. package/src/widgets/wrapper/wrapper.tsx +0 -60
  777. package/src/widgets-v2/actions/brush-toggle/brush-toggle.test.tsx +0 -180
  778. package/src/widgets-v2/actions/brush-toggle/brush-toggle.tsx +0 -154
  779. package/src/widgets-v2/actions/change-column/change-column-icon.tsx +0 -14
  780. package/src/widgets-v2/actions/change-column/change-column.test.tsx +0 -59
  781. package/src/widgets-v2/actions/change-column/change-column.tsx +0 -189
  782. package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +0 -63
  783. package/src/widgets-v2/actions/change-column/types.ts +0 -11
  784. package/src/widgets-v2/actions/download/download.test.tsx +0 -327
  785. package/src/widgets-v2/actions/download/download.tsx +0 -144
  786. package/src/widgets-v2/actions/download/exports.test.tsx +0 -198
  787. package/src/widgets-v2/actions/download/types.ts +0 -32
  788. package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +0 -212
  789. package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +0 -301
  790. package/src/widgets-v2/actions/fullscreen/types.ts +0 -15
  791. package/src/widgets-v2/actions/index.ts +0 -95
  792. package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +0 -301
  793. package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +0 -188
  794. package/src/widgets-v2/actions/relative-data/relative-data.test.tsx +0 -71
  795. package/src/widgets-v2/actions/relative-data/relative-data.tsx +0 -107
  796. package/src/widgets-v2/actions/searcher/searcher-toggle.tsx +0 -91
  797. package/src/widgets-v2/actions/searcher/searcher.tsx +0 -111
  798. package/src/widgets-v2/actions/stack-toggle/stack-toggle.test.tsx +0 -61
  799. package/src/widgets-v2/actions/stack-toggle/stack-toggle.tsx +0 -54
  800. package/src/widgets-v2/actions/stack-toggle/style.ts +0 -11
  801. package/src/widgets-v2/actions/zoom-toggle/style.ts +0 -11
  802. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.test.tsx +0 -107
  803. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx +0 -106
  804. package/src/widgets-v2/bar/index.ts +0 -10
  805. package/src/widgets-v2/bar/skeleton.tsx +0 -69
  806. package/src/widgets-v2/bar/types.ts +0 -51
  807. package/src/widgets-v2/category/category-ui.test.tsx +0 -909
  808. package/src/widgets-v2/category/category-ui.tsx +0 -479
  809. package/src/widgets-v2/category/components/category-bar.tsx +0 -49
  810. package/src/widgets-v2/category/components/category-legend.tsx +0 -82
  811. package/src/widgets-v2/category/components/category-row-multi.tsx +0 -86
  812. package/src/widgets-v2/category/components/category-row-other.tsx +0 -84
  813. package/src/widgets-v2/category/components/category-row-single.tsx +0 -76
  814. package/src/widgets-v2/category/index.ts +0 -32
  815. package/src/widgets-v2/category/skeleton.tsx +0 -74
  816. package/src/widgets-v2/category/style.ts +0 -329
  817. package/src/widgets-v2/category/types.ts +0 -61
  818. package/src/widgets-v2/echart/echart-ui.test.tsx +0 -330
  819. package/src/widgets-v2/echart/echart-ui.tsx +0 -236
  820. package/src/widgets-v2/echart/echart.test.tsx +0 -229
  821. package/src/widgets-v2/echart/echart.tsx +0 -209
  822. package/src/widgets-v2/echart/index.ts +0 -22
  823. package/src/widgets-v2/echart/shared-resize-observer.ts +0 -56
  824. package/src/widgets-v2/formula/formula-ui.test.tsx +0 -91
  825. package/src/widgets-v2/formula/formula-ui.tsx +0 -66
  826. package/src/widgets-v2/formula/index.ts +0 -17
  827. package/src/widgets-v2/formula/skeleton.tsx +0 -27
  828. package/src/widgets-v2/formula/style.ts +0 -31
  829. package/src/widgets-v2/formula/types.ts +0 -48
  830. package/src/widgets-v2/histogram/index.ts +0 -13
  831. package/src/widgets-v2/histogram/skeleton.tsx +0 -70
  832. package/src/widgets-v2/histogram/types.ts +0 -64
  833. package/src/widgets-v2/markdown/index.ts +0 -6
  834. package/src/widgets-v2/markdown/markdown-ui.test.tsx +0 -75
  835. package/src/widgets-v2/markdown/markdown-ui.tsx +0 -55
  836. package/src/widgets-v2/markdown/markdown.tsx +0 -17
  837. package/src/widgets-v2/markdown/skeleton.tsx +0 -32
  838. package/src/widgets-v2/markdown/style.ts +0 -53
  839. package/src/widgets-v2/markdown/types.ts +0 -4
  840. package/src/widgets-v2/note/style.ts +0 -26
  841. package/src/widgets-v2/pie/index.ts +0 -10
  842. package/src/widgets-v2/pie/skeleton.tsx +0 -94
  843. package/src/widgets-v2/pie/types.ts +0 -62
  844. package/src/widgets-v2/range/index.ts +0 -4
  845. package/src/widgets-v2/range/range-ui.test.tsx +0 -136
  846. package/src/widgets-v2/range/range-ui.tsx +0 -278
  847. package/src/widgets-v2/range/skeleton.tsx +0 -47
  848. package/src/widgets-v2/range/style.ts +0 -41
  849. package/src/widgets-v2/range/types.ts +0 -37
  850. package/src/widgets-v2/scatterplot/index.ts +0 -14
  851. package/src/widgets-v2/scatterplot/skeleton.tsx +0 -84
  852. package/src/widgets-v2/scatterplot/types.ts +0 -59
  853. package/src/widgets-v2/selection-summary/selection-summary.tsx +0 -82
  854. package/src/widgets-v2/selection-summary/style.ts +0 -38
  855. package/src/widgets-v2/spread/index.ts +0 -11
  856. package/src/widgets-v2/spread/skeleton.tsx +0 -38
  857. package/src/widgets-v2/spread/spread-ui.test.tsx +0 -108
  858. package/src/widgets-v2/spread/spread-ui.tsx +0 -52
  859. package/src/widgets-v2/spread/types.ts +0 -27
  860. package/src/widgets-v2/stores/index.ts +0 -49
  861. package/src/widgets-v2/stores/types.ts +0 -64
  862. package/src/widgets-v2/subheader/style.ts +0 -12
  863. package/src/widgets-v2/subheader/subheader.test.tsx +0 -30
  864. package/src/widgets-v2/subheader/subheader.tsx +0 -16
  865. package/src/widgets-v2/table/helpers.test.ts +0 -233
  866. package/src/widgets-v2/table/helpers.ts +0 -131
  867. package/src/widgets-v2/table/index.ts +0 -24
  868. package/src/widgets-v2/table/skeleton.tsx +0 -65
  869. package/src/widgets-v2/table/style.ts +0 -43
  870. package/src/widgets-v2/table/table-ui.tsx +0 -364
  871. package/src/widgets-v2/table/types.ts +0 -55
  872. package/src/widgets-v2/timeseries/index.ts +0 -11
  873. package/src/widgets-v2/timeseries/skeleton.tsx +0 -76
  874. package/src/widgets-v2/timeseries/types.ts +0 -65
  875. package/src/widgets-v2/utils/index.ts +0 -3
  876. package/src/widgets-v2/wrapper/index.ts +0 -14
  877. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/index.d.ts +0 -0
  878. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/labels.d.ts +0 -0
  879. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/transforms.d.ts +0 -0
  880. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/index.d.ts +0 -0
  881. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/labels.d.ts +0 -0
  882. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/style.d.ts +0 -0
  883. /package/dist/types/{widgets-v2 → widgets}/actions/download/constants.d.ts +0 -0
  884. /package/dist/types/{widgets-v2 → widgets}/actions/download/csv-item.d.ts +0 -0
  885. /package/dist/types/{widgets-v2 → widgets}/actions/download/icons.d.ts +0 -0
  886. /package/dist/types/{widgets-v2 → widgets}/actions/download/index.d.ts +0 -0
  887. /package/dist/types/{widgets-v2 → widgets}/actions/download/labels.d.ts +0 -0
  888. /package/dist/types/{widgets-v2 → widgets}/actions/download/style.d.ts +0 -0
  889. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/index.d.ts +0 -0
  890. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/labels.d.ts +0 -0
  891. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/style.d.ts +0 -0
  892. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/index.d.ts +0 -0
  893. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/labels.d.ts +0 -0
  894. /package/dist/types/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.d.ts +0 -0
  895. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/transforms.d.ts +0 -0
  896. /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/index.d.ts +0 -0
  897. /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/labels.d.ts +0 -0
  898. /package/dist/types/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.d.ts +0 -0
  899. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/filter.d.ts +0 -0
  900. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/index.d.ts +0 -0
  901. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/labels.d.ts +0 -0
  902. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/style.d.ts +0 -0
  903. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/index.d.ts +0 -0
  904. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/labels.d.ts +0 -0
  905. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/show-all.d.ts +0 -0
  906. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/style.d.ts +0 -0
  907. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/index.d.ts +0 -0
  908. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/labels.d.ts +0 -0
  909. /package/dist/types/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.d.ts +0 -0
  910. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/transforms.d.ts +0 -0
  911. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/index.d.ts +0 -0
  912. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/labels.d.ts +0 -0
  913. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.d.ts +0 -0
  914. /package/dist/types/{widgets-v2 → widgets}/bar/download.d.ts +0 -0
  915. /package/dist/types/{widgets-v2 → widgets}/bar/options.d.ts +0 -0
  916. /package/dist/types/{widgets-v2 → widgets}/category/category.d.ts +0 -0
  917. /package/dist/types/{widgets-v2 → widgets}/category/download.d.ts +0 -0
  918. /package/dist/types/{widgets-v2 → widgets}/echart/edge-label-clamp.d.ts +0 -0
  919. /package/dist/types/{widgets-v2 → widgets}/echart/style.d.ts +0 -0
  920. /package/dist/types/{widgets-v2 → widgets}/echart/use-chart-selection.d.ts +0 -0
  921. /package/dist/types/{widgets-v2 → widgets}/formula/delta.d.ts +0 -0
  922. /package/dist/types/{widgets-v2 → widgets}/formula/download.d.ts +0 -0
  923. /package/dist/types/{widgets-v2 → widgets}/formula/formula.d.ts +0 -0
  924. /package/dist/types/{widgets-v2 → widgets}/formula/note.d.ts +0 -0
  925. /package/dist/types/{widgets-v2 → widgets}/formula/prefix.d.ts +0 -0
  926. /package/dist/types/{widgets-v2 → widgets}/formula/suffix.d.ts +0 -0
  927. /package/dist/types/{widgets-v2 → widgets}/histogram/download.d.ts +0 -0
  928. /package/dist/types/{widgets-v2 → widgets}/histogram/options.d.ts +0 -0
  929. /package/dist/types/{widgets-v2 → widgets}/histogram/transforms.d.ts +0 -0
  930. /package/dist/types/{widgets-v2 → widgets}/markdown/download.d.ts +0 -0
  931. /package/dist/types/{widgets-v2 → widgets}/markdown/markdown-content.d.ts +0 -0
  932. /package/dist/types/{widgets-v2 → widgets}/note/labels.d.ts +0 -0
  933. /package/dist/types/{widgets-v2 → widgets}/note/widget-note.d.ts +0 -0
  934. /package/dist/types/{widgets-v2 → widgets}/pie/download.d.ts +0 -0
  935. /package/dist/types/{widgets-v2 → widgets}/pie/options.d.ts +0 -0
  936. /package/dist/types/{widgets-v2 → widgets}/provider/widget-provider.d.ts +0 -0
  937. /package/dist/types/{widgets-v2 → widgets}/range/range.d.ts +0 -0
  938. /package/dist/types/{widgets-v2 → widgets}/scatterplot/download.d.ts +0 -0
  939. /package/dist/types/{widgets-v2 → widgets}/scatterplot/options.d.ts +0 -0
  940. /package/dist/types/{widgets-v2 → widgets}/scatterplot/transforms.d.ts +0 -0
  941. /package/dist/types/{widgets-v2 → widgets}/selection-summary/labels.d.ts +0 -0
  942. /package/dist/types/{widgets-v2 → widgets}/spread/band.d.ts +0 -0
  943. /package/dist/types/{widgets-v2 → widgets}/spread/download.d.ts +0 -0
  944. /package/dist/types/{widgets-v2 → widgets}/spread/separator.d.ts +0 -0
  945. /package/dist/types/{widgets-v2 → widgets}/spread/spread.d.ts +0 -0
  946. /package/dist/types/{widgets-v2 → widgets}/state/labels.d.ts +0 -0
  947. /package/dist/types/{widgets-v2 → widgets}/state/style.d.ts +0 -0
  948. /package/dist/types/{widgets-v2 → widgets}/state/widget-state.d.ts +0 -0
  949. /package/dist/types/{widgets-v2 → widgets}/stores/pipeline-middleware.d.ts +0 -0
  950. /package/dist/types/{widgets-v2 → widgets}/stores/transforms.d.ts +0 -0
  951. /package/dist/types/{widgets-v2 → widgets}/stores/use-echart-instance.d.ts +0 -0
  952. /package/dist/types/{widgets-v2 → widgets}/stores/use-transform-enabled.d.ts +0 -0
  953. /package/dist/types/{widgets-v2 → widgets}/stores/use-transform.d.ts +0 -0
  954. /package/dist/types/{widgets-v2 → widgets}/stores/widget-context.d.ts +0 -0
  955. /package/dist/types/{widgets-v2 → widgets}/stores/widget-store-registry.d.ts +0 -0
  956. /package/dist/types/{widgets-v2 → widgets}/table/download.d.ts +0 -0
  957. /package/dist/types/{widgets-v2 → widgets}/table/labels.d.ts +0 -0
  958. /package/dist/types/{widgets-v2 → widgets}/table/table.d.ts +0 -0
  959. /package/dist/types/{widgets-v2 → widgets}/table/transforms.d.ts +0 -0
  960. /package/dist/types/{widgets-v2 → widgets}/timeseries/download.d.ts +0 -0
  961. /package/dist/types/{widgets-v2 → widgets}/timeseries/options.d.ts +0 -0
  962. /package/dist/types/{widgets-v2 → widgets}/timeseries/transforms.d.ts +0 -0
  963. /package/dist/types/{widgets-v2 → widgets}/toolbox/labels.d.ts +0 -0
  964. /package/dist/types/{widgets-v2 → widgets}/toolbox/style.d.ts +0 -0
  965. /package/dist/types/{widgets-v2 → widgets}/toolbox/toolbox.d.ts +0 -0
  966. /package/dist/types/{widgets-v2 → widgets}/utils/data-zoom-layout.d.ts +0 -0
  967. /package/dist/types/{widgets-v2 → widgets}/utils/merge-options.d.ts +0 -0
  968. /package/dist/types/widgets/utils/{chart-config/option-builders.d.ts → option-builders.d.ts} +0 -0
  969. /package/dist/types/{widgets-v2 → widgets}/utils/resolve-theme-color.d.ts +0 -0
  970. /package/dist/types/{widgets-v2 → widgets}/wrapper/labels.d.ts +0 -0
  971. /package/dist/types/{widgets-v2 → widgets}/wrapper/style.d.ts +0 -0
  972. /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-actions.d.ts +0 -0
  973. /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-content.d.ts +0 -0
  974. /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-wrapper.d.ts +0 -0
  975. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/index.ts +0 -0
  976. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/labels.ts +0 -0
  977. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.test.ts +0 -0
  978. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.ts +0 -0
  979. /package/src/{widgets-v2 → widgets}/actions/change-column/index.ts +0 -0
  980. /package/src/{widgets-v2 → widgets}/actions/change-column/labels.ts +0 -0
  981. /package/src/{widgets-v2 → widgets}/actions/change-column/style.ts +0 -0
  982. /package/src/{widgets-v2 → widgets}/actions/download/constants.ts +0 -0
  983. /package/src/{widgets-v2 → widgets}/actions/download/csv-item.test.tsx +0 -0
  984. /package/src/{widgets-v2 → widgets}/actions/download/csv-item.tsx +0 -0
  985. /package/src/{widgets-v2 → widgets}/actions/download/icons.tsx +0 -0
  986. /package/src/{widgets-v2 → widgets}/actions/download/index.ts +0 -0
  987. /package/src/{widgets-v2 → widgets}/actions/download/labels.ts +0 -0
  988. /package/src/{widgets-v2 → widgets}/actions/download/png-item.test.tsx +0 -0
  989. /package/src/{widgets-v2 → widgets}/actions/download/style.ts +0 -0
  990. /package/src/{widgets-v2 → widgets}/actions/fullscreen/index.ts +0 -0
  991. /package/src/{widgets-v2 → widgets}/actions/fullscreen/labels.ts +0 -0
  992. /package/src/{widgets-v2 → widgets}/actions/fullscreen/style.ts +0 -0
  993. /package/src/{widgets-v2 → widgets}/actions/lock-selection/index.ts +0 -0
  994. /package/src/{widgets-v2 → widgets}/actions/lock-selection/labels.ts +0 -0
  995. /package/src/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.ts +0 -0
  996. /package/src/{widgets-v2 → widgets}/actions/lock-selection/transforms.ts +0 -0
  997. /package/src/{widgets-v2 → widgets}/actions/relative-data/index.ts +0 -0
  998. /package/src/{widgets-v2 → widgets}/actions/relative-data/labels.ts +0 -0
  999. /package/src/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.ts +0 -0
  1000. /package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.test.ts +0 -0
  1001. /package/src/{widgets-v2 → widgets}/actions/searcher/filter.ts +0 -0
  1002. /package/src/{widgets-v2 → widgets}/actions/searcher/index.ts +0 -0
  1003. /package/src/{widgets-v2 → widgets}/actions/searcher/labels.ts +0 -0
  1004. /package/src/{widgets-v2 → widgets}/actions/searcher/searcher.test.tsx +0 -0
  1005. /package/src/{widgets-v2 → widgets}/actions/searcher/style.ts +0 -0
  1006. /package/src/{widgets-v2 → widgets}/actions/show-all/index.ts +0 -0
  1007. /package/src/{widgets-v2 → widgets}/actions/show-all/labels.ts +0 -0
  1008. /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.test.tsx +0 -0
  1009. /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.tsx +0 -0
  1010. /package/src/{widgets-v2 → widgets}/actions/show-all/style.ts +0 -0
  1011. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/index.ts +0 -0
  1012. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/labels.ts +0 -0
  1013. /package/src/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.ts +0 -0
  1014. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.test.ts +0 -0
  1015. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.ts +0 -0
  1016. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/index.ts +0 -0
  1017. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/labels.ts +0 -0
  1018. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.test.ts +0 -0
  1019. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.ts +0 -0
  1020. /package/src/{widgets-v2 → widgets}/bar/download.test.tsx +0 -0
  1021. /package/src/{widgets-v2 → widgets}/bar/download.tsx +0 -0
  1022. /package/src/{widgets-v2 → widgets}/bar/options.test.ts +0 -0
  1023. /package/src/{widgets-v2 → widgets}/bar/skeleton.test.tsx +0 -0
  1024. /package/src/{widgets-v2 → widgets}/category/category.relative-data.test.tsx +0 -0
  1025. /package/src/{widgets-v2 → widgets}/category/category.stack-toggle.test.tsx +0 -0
  1026. /package/src/{widgets-v2 → widgets}/category/category.test.tsx +0 -0
  1027. /package/src/{widgets-v2 → widgets}/category/category.tsx +0 -0
  1028. /package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.test.tsx +0 -0
  1029. /package/src/{widgets-v2 → widgets}/category/components/category-bar.test.tsx +0 -0
  1030. /package/src/{widgets-v2 → widgets}/category/components/category-row-other.test.tsx +0 -0
  1031. /package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.test.tsx +0 -0
  1032. /package/src/{widgets-v2 → widgets}/category/download.test.ts +0 -0
  1033. /package/src/{widgets-v2 → widgets}/category/download.ts +0 -0
  1034. /package/src/{widgets-v2 → widgets}/category/skeleton.test.tsx +0 -0
  1035. /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.test.ts +0 -0
  1036. /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.ts +0 -0
  1037. /package/src/{widgets-v2 → widgets}/echart/shared-resize-observer.test.ts +0 -0
  1038. /package/src/{widgets-v2 → widgets}/echart/style.ts +0 -0
  1039. /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.test.tsx +0 -0
  1040. /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.ts +0 -0
  1041. /package/src/{widgets-v2 → widgets}/formula/delta.tsx +0 -0
  1042. /package/src/{widgets-v2 → widgets}/formula/download.test.tsx +0 -0
  1043. /package/src/{widgets-v2 → widgets}/formula/download.tsx +0 -0
  1044. /package/src/{widgets-v2 → widgets}/formula/formula.test.tsx +0 -0
  1045. /package/src/{widgets-v2 → widgets}/formula/formula.tsx +0 -0
  1046. /package/src/{widgets-v2 → widgets}/formula/prefix.tsx +0 -0
  1047. /package/src/{widgets-v2 → widgets}/formula/skeleton.test.tsx +0 -0
  1048. /package/src/{widgets-v2 → widgets}/formula/subcomponents.test.tsx +0 -0
  1049. /package/src/{widgets-v2 → widgets}/formula/suffix.tsx +0 -0
  1050. /package/src/{widgets-v2 → widgets}/histogram/download.test.ts +0 -0
  1051. /package/src/{widgets-v2 → widgets}/histogram/download.ts +0 -0
  1052. /package/src/{widgets-v2 → widgets}/histogram/options.test.ts +0 -0
  1053. /package/src/{widgets-v2 → widgets}/histogram/skeleton.test.tsx +0 -0
  1054. /package/src/{widgets-v2 → widgets}/histogram/transforms.test.ts +0 -0
  1055. /package/src/{widgets-v2 → widgets}/histogram/transforms.ts +0 -0
  1056. /package/src/{widgets-v2 → widgets}/markdown/download.test.ts +0 -0
  1057. /package/src/{widgets-v2 → widgets}/markdown/download.tsx +0 -0
  1058. /package/src/{widgets-v2 → widgets}/markdown/markdown-content.test.tsx +0 -0
  1059. /package/src/{widgets-v2 → widgets}/markdown/markdown-content.tsx +0 -0
  1060. /package/src/{widgets-v2 → widgets}/markdown/markdown.test.tsx +0 -0
  1061. /package/src/{widgets-v2 → widgets}/markdown/skeleton.test.tsx +0 -0
  1062. /package/src/{widgets-v2 → widgets}/note/labels.ts +0 -0
  1063. /package/src/{widgets-v2 → widgets}/note/widget-note.test.tsx +0 -0
  1064. /package/src/{widgets-v2 → widgets}/pie/download.test.ts +0 -0
  1065. /package/src/{widgets-v2 → widgets}/pie/download.ts +0 -0
  1066. /package/src/{widgets-v2 → widgets}/pie/options.test.ts +0 -0
  1067. /package/src/{widgets-v2 → widgets}/pie/skeleton.test.tsx +0 -0
  1068. /package/src/{widgets-v2 → widgets}/provider/widget-provider.test.tsx +0 -0
  1069. /package/src/{widgets-v2 → widgets}/provider/widget-provider.tsx +0 -0
  1070. /package/src/{widgets-v2 → widgets}/range/range.test.tsx +0 -0
  1071. /package/src/{widgets-v2 → widgets}/range/range.tsx +0 -0
  1072. /package/src/{widgets-v2 → widgets}/range/skeleton.test.tsx +0 -0
  1073. /package/src/{widgets-v2 → widgets}/scatterplot/download.test.ts +0 -0
  1074. /package/src/{widgets-v2 → widgets}/scatterplot/download.ts +0 -0
  1075. /package/src/{widgets-v2 → widgets}/scatterplot/options.test.ts +0 -0
  1076. /package/src/{widgets-v2 → widgets}/scatterplot/skeleton.test.tsx +0 -0
  1077. /package/src/{widgets-v2 → widgets}/scatterplot/transforms.test.ts +0 -0
  1078. /package/src/{widgets-v2 → widgets}/scatterplot/transforms.ts +0 -0
  1079. /package/src/{widgets-v2 → widgets}/selection-summary/labels.ts +0 -0
  1080. /package/src/{widgets-v2 → widgets}/selection-summary/selection-summary.test.tsx +0 -0
  1081. /package/src/{widgets-v2 → widgets}/spread/band.test.ts +0 -0
  1082. /package/src/{widgets-v2 → widgets}/spread/band.ts +0 -0
  1083. /package/src/{widgets-v2 → widgets}/spread/download.test.ts +0 -0
  1084. /package/src/{widgets-v2 → widgets}/spread/download.ts +0 -0
  1085. /package/src/{widgets-v2 → widgets}/spread/separator.tsx +0 -0
  1086. /package/src/{widgets-v2 → widgets}/spread/skeleton.test.tsx +0 -0
  1087. /package/src/{widgets-v2 → widgets}/spread/spread.test.tsx +0 -0
  1088. /package/src/{widgets-v2 → widgets}/spread/spread.tsx +0 -0
  1089. /package/src/{widgets-v2 → widgets}/state/labels.test.ts +0 -0
  1090. /package/src/{widgets-v2 → widgets}/state/labels.ts +0 -0
  1091. /package/src/{widgets-v2 → widgets}/state/style.ts +0 -0
  1092. /package/src/{widgets-v2 → widgets}/state/widget-state.test.tsx +0 -0
  1093. /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.test.ts +0 -0
  1094. /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.ts +0 -0
  1095. /package/src/{widgets-v2 → widgets}/stores/transforms.test.ts +0 -0
  1096. /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.test.tsx +0 -0
  1097. /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.ts +0 -0
  1098. /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.test.tsx +0 -0
  1099. /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.ts +0 -0
  1100. /package/src/{widgets-v2 → widgets}/stores/use-transform.test.tsx +0 -0
  1101. /package/src/{widgets-v2 → widgets}/stores/widget-context.test.tsx +0 -0
  1102. /package/src/{widgets-v2 → widgets}/stores/widget-context.ts +0 -0
  1103. /package/src/{widgets-v2 → widgets}/stores/widget-store-registry.test.ts +0 -0
  1104. /package/src/{widgets-v2 → widgets}/table/download.test.ts +0 -0
  1105. /package/src/{widgets-v2 → widgets}/table/download.ts +0 -0
  1106. /package/src/{widgets-v2 → widgets}/table/labels.tsx +0 -0
  1107. /package/src/{widgets-v2 → widgets}/table/skeleton.test.tsx +0 -0
  1108. /package/src/{widgets-v2 → widgets}/table/table-ui.test.tsx +0 -0
  1109. /package/src/{widgets-v2 → widgets}/table/table.test.tsx +0 -0
  1110. /package/src/{widgets-v2 → widgets}/table/table.tsx +0 -0
  1111. /package/src/{widgets-v2 → widgets}/table/transforms.test.ts +0 -0
  1112. /package/src/{widgets-v2 → widgets}/table/transforms.ts +0 -0
  1113. /package/src/{widgets-v2 → widgets}/timeseries/download.test.ts +0 -0
  1114. /package/src/{widgets-v2 → widgets}/timeseries/download.ts +0 -0
  1115. /package/src/{widgets-v2 → widgets}/timeseries/options.test.ts +0 -0
  1116. /package/src/{widgets-v2 → widgets}/timeseries/skeleton.test.tsx +0 -0
  1117. /package/src/{widgets-v2 → widgets}/timeseries/transforms.test.ts +0 -0
  1118. /package/src/{widgets-v2 → widgets}/timeseries/transforms.ts +0 -0
  1119. /package/src/{widgets-v2 → widgets}/toolbox/labels.ts +0 -0
  1120. /package/src/{widgets-v2 → widgets}/toolbox/style.ts +0 -0
  1121. /package/src/{widgets-v2 → widgets}/toolbox/toolbox.test.tsx +0 -0
  1122. /package/src/{widgets-v2 → widgets}/toolbox/toolbox.tsx +0 -0
  1123. /package/src/{widgets-v2 → widgets}/utils/data-zoom-layout.ts +0 -0
  1124. /package/src/{widgets-v2 → widgets}/utils/merge-options.test.ts +0 -0
  1125. /package/src/{widgets-v2 → widgets}/utils/merge-options.ts +0 -0
  1126. /package/src/widgets/utils/{chart-config/option-builders.test.ts → option-builders.test.ts} +0 -0
  1127. /package/src/widgets/utils/{chart-config/option-builders.ts → option-builders.ts} +0 -0
  1128. /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.test.ts +0 -0
  1129. /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.ts +0 -0
  1130. /package/src/{widgets-v2 → widgets}/wrapper/labels.ts +0 -0
  1131. /package/src/{widgets-v2 → widgets}/wrapper/style.ts +0 -0
  1132. /package/src/{widgets-v2 → widgets}/wrapper/widget-actions.test.tsx +0 -0
  1133. /package/src/{widgets-v2 → widgets}/wrapper/widget-actions.tsx +0 -0
  1134. /package/src/{widgets-v2 → widgets}/wrapper/widget-content.test.tsx +0 -0
  1135. /package/src/{widgets-v2 → widgets}/wrapper/widget-content.tsx +0 -0
  1136. /package/src/{widgets-v2 → widgets}/wrapper/widget-wrapper.test.tsx +0 -0
@@ -1,18 +1,17 @@
1
- import "./components-FED-ArwH.js";
2
- import { t as e } from "./tooltip-DJUGNZxY.js";
3
- import { t } from "./smart-tooltip-CwGHCqab.js";
4
- import { C as n, S as r, T as i, _ as a, h as o, l as s, m as c, p as l, w as u, x as d, y as f } from "./stores-tiFePP0A.js";
5
- import { i as p, n as m, o as h, r as g } from "./echart-CRihbmRv.js";
6
- import { t as _ } from "./markdown-content-BWUqwx9F.js";
7
- import { C as v, S as y, c as b, f as x, g as S, o as C, r as w, t as T, y as E } from "./actions-BjPfCLG9.js";
8
- import { t as D } from "./zoom-toggle-IsF8BnAp.js";
9
- import { s as O } from "./download-DdaK3qgC.js";
10
- import { i as k, r as A } from "./formula-noJzQwKo.js";
11
- import { i as j, r as M } from "./markdown-2dfL6Cmb.js";
12
- import { a as N, i as P } from "./spread-Ccpg9fi0.js";
13
- import { n as F, r as I } from "./range-BCMAl5xf.js";
14
- import { i as L, r as R } from "./category-DGUDabsi.js";
15
- import { d as z, i as B } from "./table-Bx9Uj3U0.js";
1
+ import "./components-CTUpdQuj.js";
2
+ import { n as e, t } from "./smart-tooltip-Dc_rHhyI.js";
3
+ import { C as n, S as r, T as i, _ as a, h as o, l as s, m as c, p as l, w as u, x as d, y as f } from "./stores-B8CHbgw-.js";
4
+ import { i as p, n as m, o as h, r as g } from "./echart-DjcbtKgi.js";
5
+ import { t as _ } from "./markdown-content-kYNLOX0T.js";
6
+ import { C as v, S as y, c as b, f as x, g as S, o as C, r as w, t as T, y as E } from "./actions-KsX1xdDM.js";
7
+ import { t as D } from "./zoom-toggle-D_VuA01l.js";
8
+ import { s as O } from "./download-Vlzn2jzb.js";
9
+ import { i as k, r as A } from "./formula-CdHWtepq.js";
10
+ import { i as j, r as M } from "./markdown-CY-67NRE.js";
11
+ import { a as N, i as P } from "./spread-DuM5oTI1.js";
12
+ import { n as F, r as I } from "./range-DHQSsl2_.js";
13
+ import { i as L, r as R } from "./category-CsdDqDzo.js";
14
+ import { d as z, i as B } from "./table-BE4uO9pp.js";
16
15
  import { c as V } from "react/compiler-runtime";
17
16
  import { Children as H, Component as U, isValidElement as W, useEffect as G, useLayoutEffect as K, useRef as q, useState as J } from "react";
18
17
  import { Accordion as ee, AccordionDetails as te, AccordionSummary as ne, Alert as re, AlertTitle as ie, Box as Y, Button as ae, Divider as oe, Grow as se, IconButton as ce, LinearProgress as le, Link as ue, Paper as de, Popper as fe, Typography as X } from "@mui/material";
@@ -20,7 +19,7 @@ import { Fragment as pe, jsx as Z, jsxs as Q } from "react/jsx-runtime";
20
19
  import { Close as me, ExpandMore as he } from "@mui/icons-material";
21
20
  import { WidgetOptions as ge } from "@carto/meridian-ds/custom-icons";
22
21
  import { createPortal as _e } from "react-dom";
23
- //#region src/widgets-v2/provider/widget-provider.tsx
22
+ //#region src/widgets/provider/widget-provider.tsx
24
23
  function ve(e) {
25
24
  let t = V(31), { id: n, data: r, isLoading: i, isFetching: a, error: p, formatter: m, labelFormatter: h, keepAlive: g, children: _ } = e, v = g !== void 0 && g, y;
26
25
  t[0] !== r || t[1] !== p || t[2] !== m || t[3] !== n || t[4] !== a || t[5] !== i || t[6] !== h ? (y = () => {
@@ -79,7 +78,7 @@ function ve(e) {
79
78
  }), t[28] = _, t[29] = n, t[30] = k) : k = t[30], k;
80
79
  }
81
80
  //#endregion
82
- //#region src/widgets-v2/wrapper/style.ts
81
+ //#region src/widgets/wrapper/style.ts
83
82
  var $ = {
84
83
  root: {
85
84
  position: "relative",
@@ -168,7 +167,7 @@ var $ = {
168
167
  footer: { pt: 1 }
169
168
  };
170
169
  //#endregion
171
- //#region src/widgets-v2/wrapper/widget-actions.tsx
170
+ //#region src/widgets/wrapper/widget-actions.tsx
172
171
  function ye(e) {
173
172
  let t = V(5), { sx: n, children: r } = e, i;
174
173
  t[0] === n ? i = t[1] : (i = {
@@ -203,14 +202,14 @@ function Se(e) {
203
202
  return e.stopPropagation();
204
203
  }
205
204
  //#endregion
206
- //#region src/widgets-v2/wrapper/labels.ts
205
+ //#region src/widgets/wrapper/labels.ts
207
206
  var Ce = {
208
207
  collapse: "Collapse",
209
208
  expand: "Expand",
210
209
  errorFallbackTitle: "Widget failed to render"
211
210
  };
212
211
  //#endregion
213
- //#region src/widgets-v2/wrapper/widget-wrapper.tsx
212
+ //#region src/widgets/wrapper/widget-wrapper.tsx
214
213
  function we(e) {
215
214
  let n = V(40), { title: a, collapsed: o, onCollapseChange: s, defaultCollapsed: c, disabled: l, variant: u, labels: d, expandIcon: f, iconProps: p, sx: m, children: h } = e, g = c !== void 0 && c, _ = l !== void 0 && l, v = u === void 0 ? "elevation" : u, y = f === void 0 ? he : f, b = i(), x = r(b, Te), S = o !== void 0, [C, w] = J(g), T = S ? o : C, E;
216
215
  n[0] !== _ || n[1] !== s ? (E = (e, t) => {
@@ -253,8 +252,7 @@ function we(e) {
253
252
  children: /* @__PURE__ */ Z(X, {
254
253
  ref: t,
255
254
  variant: "subtitle1",
256
- sx: $.titleText,
257
- textTransform: "none",
255
+ sx: [{ textTransform: "none" }, $.titleText],
258
256
  children: a
259
257
  })
260
258
  });
@@ -309,7 +307,7 @@ function De(e, t) {
309
307
  return W(e) && e.type === t;
310
308
  }
311
309
  //#endregion
312
- //#region src/widgets-v2/wrapper/widget-content.tsx
310
+ //#region src/widgets/wrapper/widget-content.tsx
313
311
  function Oe(e) {
314
312
  let t = V(5), { sx: n, children: r } = e, i;
315
313
  t[0] === n ? i = t[1] : (i = {
@@ -337,7 +335,7 @@ function ke(e) {
337
335
  }), t[2] = r, t[3] = i, t[4] = a) : a = t[4], a;
338
336
  }
339
337
  //#endregion
340
- //#region src/widgets-v2/subheader/style.ts
338
+ //#region src/widgets/subheader/style.ts
341
339
  var Ae = { root: {
342
340
  display: "grid",
343
341
  gridTemplateColumns: "1fr auto",
@@ -347,7 +345,7 @@ var Ae = { root: {
347
345
  pb: 1
348
346
  } };
349
347
  //#endregion
350
- //#region src/widgets-v2/subheader/subheader.tsx
348
+ //#region src/widgets/subheader/subheader.tsx
351
349
  function je(e) {
352
350
  let t = V(5), { sx: n, children: r } = e, i;
353
351
  t[0] === n ? i = t[1] : (i = {
@@ -361,7 +359,7 @@ function je(e) {
361
359
  }), t[2] = r, t[3] = i, t[4] = a) : a = t[4], a;
362
360
  }
363
361
  //#endregion
364
- //#region src/widgets-v2/state/style.ts
362
+ //#region src/widgets/state/style.ts
365
363
  var Me = {
366
364
  emptyRoot: {
367
365
  display: "flex",
@@ -451,23 +449,27 @@ function Le(e) {
451
449
  }), t[5] = i, t[6] = a, t[7] = o) : o = t[7], o;
452
450
  }
453
451
  function Re(e) {
454
- let t = V(7), { labels: n } = e, r;
455
- t[0] === n.emptyTitle ? r = t[1] : (r = /* @__PURE__ */ Z(X, {
452
+ let t = V(9), { labels: n } = e, r;
453
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (r = { color: "text.primary" }, t[0] = r) : r = t[0];
454
+ let i;
455
+ t[1] === n.emptyTitle ? i = t[2] : (i = /* @__PURE__ */ Z(X, {
456
456
  variant: "body2",
457
- color: "text.primary",
457
+ sx: r,
458
458
  children: n.emptyTitle
459
- }), t[0] = n.emptyTitle, t[1] = r);
460
- let i;
461
- t[2] === n.emptyDescription ? i = t[3] : (i = /* @__PURE__ */ Z(X, {
459
+ }), t[1] = n.emptyTitle, t[2] = i);
460
+ let a;
461
+ t[3] === Symbol.for("react.memo_cache_sentinel") ? (a = { color: "text.secondary" }, t[3] = a) : a = t[3];
462
+ let o;
463
+ t[4] === n.emptyDescription ? o = t[5] : (o = /* @__PURE__ */ Z(X, {
462
464
  variant: "caption",
463
- color: "text.secondary",
465
+ sx: a,
464
466
  children: n.emptyDescription
465
- }), t[2] = n.emptyDescription, t[3] = i);
466
- let a;
467
- return t[4] !== r || t[5] !== i ? (a = /* @__PURE__ */ Q(Y, {
467
+ }), t[4] = n.emptyDescription, t[5] = o);
468
+ let s;
469
+ return t[6] !== i || t[7] !== o ? (s = /* @__PURE__ */ Q(Y, {
468
470
  sx: Me.emptyRoot,
469
- children: [r, i]
470
- }), t[4] = r, t[5] = i, t[6] = a) : a = t[6], a;
471
+ children: [i, o]
472
+ }), t[6] = i, t[7] = o, t[8] = s) : s = t[8], s;
471
473
  }
472
474
  var ze = class extends U {
473
475
  state = { error: null };
@@ -475,7 +477,7 @@ var ze = class extends U {
475
477
  return { error: e };
476
478
  }
477
479
  componentDidCatch(e) {
478
- console.error("[widgets-v2] Render error in <Widget.State> child:", e);
480
+ console.error("[widgets] Render error in <Widget.State> child:", e);
479
481
  }
480
482
  render() {
481
483
  let { error: e } = this.state;
@@ -496,7 +498,7 @@ function Ve(e) {
496
498
  return e instanceof Error ? e : typeof e == "string" ? Error(e) : e && typeof e == "object" && "message" in e ? Error(String(e.message)) : /* @__PURE__ */ Error("Unknown error");
497
499
  }
498
500
  //#endregion
499
- //#region src/widgets-v2/selection-summary/labels.ts
501
+ //#region src/widgets/selection-summary/labels.ts
500
502
  var He = { clear: "Clear" }, Ue = {
501
503
  root: {
502
504
  display: "flex",
@@ -528,7 +530,7 @@ var He = { clear: "Clear" }, Ue = {
528
530
  }
529
531
  };
530
532
  //#endregion
531
- //#region src/widgets-v2/selection-summary/selection-summary.tsx
533
+ //#region src/widgets/selection-summary/selection-summary.tsx
532
534
  function We(e) {
533
535
  let t = V(33), { count: n, total: r, onClear: i, labels: a, icon: o, iconProps: s } = e;
534
536
  if (!r) return null;
@@ -588,7 +590,7 @@ function We(e) {
588
590
  }), t[27] = l, t[28] = h, t[29] = g, t[30] = _, t[31] = v, t[32] = y) : y = t[32], y;
589
591
  }
590
592
  //#endregion
591
- //#region src/widgets-v2/toolbox/labels.ts
593
+ //#region src/widgets/toolbox/labels.ts
592
594
  var Ge = {
593
595
  trigger: "More actions",
594
596
  close: "Close"
@@ -621,7 +623,7 @@ var Ge = {
621
623
  }
622
624
  };
623
625
  //#endregion
624
- //#region src/widgets-v2/toolbox/toolbox.tsx
626
+ //#region src/widgets/toolbox/toolbox.tsx
625
627
  function qe(t) {
626
628
  let n = V(44), { visibleCount: r, labels: i, icon: a, iconProps: o, direction: s, sx: c, children: l } = t, u = a === void 0 ? ge : a, d = s === void 0 ? "right" : s, f;
627
629
  n[0] === i ? f = n[1] : (f = {
@@ -767,7 +769,7 @@ function $e(e, t) {
767
769
  return new Set(n);
768
770
  }
769
771
  //#endregion
770
- //#region src/widgets-v2/note/labels.ts
772
+ //#region src/widgets/note/labels.ts
771
773
  var et = {
772
774
  showMore: "Show more",
773
775
  showLess: "Show less"
@@ -796,15 +798,17 @@ var et = {
796
798
  }
797
799
  };
798
800
  //#endregion
799
- //#region src/widgets-v2/note/widget-note.tsx
801
+ //#region src/widgets/note/widget-note.tsx
800
802
  function nt(e) {
801
803
  let t = V(3), { children: n } = e, r;
802
- t[0] === Symbol.for("react.memo_cache_sentinel") ? (r = { m: 0 }, t[0] = r) : r = t[0];
804
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (r = {
805
+ color: "inherit",
806
+ m: 0
807
+ }, t[0] = r) : r = t[0];
803
808
  let i;
804
809
  return t[1] === n ? i = t[2] : (i = /* @__PURE__ */ Z(X, {
805
810
  variant: "caption",
806
811
  component: "p",
807
- color: "inherit",
808
812
  sx: r,
809
813
  children: n
810
814
  }), t[1] = n, t[2] = i), i;
@@ -827,20 +831,22 @@ var rt = {
827
831
  })
828
832
  };
829
833
  function it(e) {
830
- let t = V(7), { lineClamp: n, labels: r, children: i } = e, a = n === void 0 ? 3 : n, o;
831
- t[0] === i ? o = t[1] : (o = /* @__PURE__ */ Z(X, {
834
+ let t = V(8), { lineClamp: n, labels: r, children: i } = e, a = n === void 0 ? 3 : n, o;
835
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (o = { color: "inherit" }, t[0] = o) : o = t[0];
836
+ let s;
837
+ t[1] === i ? s = t[2] : (s = /* @__PURE__ */ Z(X, {
832
838
  variant: "caption",
833
839
  component: "div",
834
- color: "inherit",
840
+ sx: o,
835
841
  children: i
836
- }), t[0] = i, t[1] = o);
837
- let s;
838
- return t[2] !== i || t[3] !== r || t[4] !== a || t[5] !== o ? (s = /* @__PURE__ */ Z(st, {
842
+ }), t[1] = i, t[2] = s);
843
+ let c;
844
+ return t[3] !== i || t[4] !== r || t[5] !== a || t[6] !== s ? (c = /* @__PURE__ */ Z(st, {
839
845
  lineClamp: a,
840
846
  labels: r,
841
847
  dependency: i,
842
- children: o
843
- }), t[2] = i, t[3] = r, t[4] = a, t[5] = o, t[6] = s) : s = t[6], s;
848
+ children: s
849
+ }), t[3] = i, t[4] = r, t[5] = a, t[6] = s, t[7] = c) : c = t[7], c;
844
850
  }
845
851
  function at(e) {
846
852
  let t = V(7), { content: n, lineClamp: r, labels: i } = e, a = r === void 0 ? 3 : r, o;
@@ -919,7 +925,7 @@ function ct(e) {
919
925
  return !e;
920
926
  }
921
927
  //#endregion
922
- //#region src/widgets-v2/index.ts
928
+ //#region src/widgets/index.ts
923
929
  var lt = {
924
930
  Provider: ve,
925
931
  Wrapper: we,
@@ -961,4 +967,4 @@ var lt = {
961
967
  //#endregion
962
968
  export { g as DEFAULT_INIT_OPTS, et as DEFAULT_NOTE_LABELS, He as DEFAULT_SELECTION_SUMMARY_LABELS, Ne as DEFAULT_STATE_LABELS, Ge as DEFAULT_TOOLBOX_LABELS, Ce as DEFAULT_WRAPPER_LABELS, lt as Widget };
963
969
 
964
- //# sourceMappingURL=widgets-v2.js.map
970
+ //# sourceMappingURL=widgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.js","names":["{\n id,\n data,\n isLoading,\n isFetching,\n error,\n formatter,\n labelFormatter,\n keepAlive = false,\n children,\n}: ProviderProps","keepAlive = false","() => {\n if (hasWidgetStore(id)) return getWidgetStore(id)\n const created = createWidgetStore(id, {\n data,\n isLoading,\n isFetching,\n error,\n formatter,\n labelFormatter,\n })\n setWidgetStoreEntry(id, created)\n return created\n }","() => {\n registerWidgetStore(id, store)\n return () => {\n unregisterWidgetStore(id, { keepAlive })\n }\n }","[id, store, keepAlive]","() => {\n store.setState({ rawData: data })\n }","[store, data]","() => {\n store.setState({\n isLoading: isLoading ?? false,\n isFetching: isFetching ?? false,\n error,\n })\n }","[store, isLoading, isFetching, error]","[store, formatter, labelFormatter]","() => {\n store.setState({\n rawFormatter: formatter,\n formatter,\n labelFormatter,\n })\n }","<WidgetContext.Provider value={id}>{children}</WidgetContext.Provider>","WidgetContext.Provider","{ sx, children }: ActionsProps","{ ...styles.actions, ...sx }","<Box\n className='widget-wrapper-actions'\n onClick={(e) => e.stopPropagation()}\n sx={{ ...styles.actions, ...sx }}\n >\n {children}\n </Box>","(e) => e.stopPropagation()","{ sx, children }: OptionsProps","{ ...styles.options, ...sx }","<Box onClick={(e) => e.stopPropagation()} sx={{ ...styles.options, ...sx }}>\n {children}\n </Box>","ExpandIcon = ExpandMoreIcon","{\n title,\n collapsed,\n onCollapseChange,\n defaultCollapsed = false,\n disabled = false,\n variant = 'elevation',\n labels,\n expandIcon: ExpandIcon = ExpandMoreIcon,\n iconProps,\n sx,\n children,\n}: WrapperProps","defaultCollapsed = false","disabled = false","variant = 'elevation'","(s) => s.isFetching","(_: unknown, expanded: boolean) => {\n if (disabled) return\n const next = !expanded\n onCollapseChange?.(next)\n setInternalCollapsed(next)\n }","useCallback(\n (_: unknown, expanded: boolean) => {\n if (disabled) return\n const next = !expanded\n onCollapseChange?.(next)\n setInternalCollapsed(next)\n },\n [disabled, onCollapseChange],\n )","{ ...DEFAULT_WRAPPER_LABELS, ...labels }","partitionChildren(children)","{\n ...styles.root,\n ...sx,\n }","isFetching ? (\n <LinearProgress sx={styles.loading} color='primary' />\n ) : null","disabled ? null : <ExpandIcon fontSize='small' {...iconProps} />","{\n ...styles.summary,\n ...(disabled ? styles.summaryDisabled : null),\n }","disabled ? styles.summaryDisabled : null","({ ref }) => (\n <Box sx={styles.titleCell}>\n <Typography\n ref={ref}\n variant='subtitle1'\n sx={[\n {\n textTransform: 'none',\n },\n styles.titleText,\n ]}\n >\n {title}\n </Typography>\n </Box>\n )","{ ref }","<SmartTooltip title={title}>\n {({ ref }) => (\n <Box sx={styles.titleCell}>\n <Typography\n ref={ref}\n variant='subtitle1'\n sx={[\n {\n textTransform: 'none',\n },\n styles.titleText,\n ]}\n >\n {title}\n </Typography>\n </Box>\n )}\n </SmartTooltip>","<AccordionSummary\n expandIcon={\n disabled ? null : <ExpandIcon fontSize='small' {...iconProps} />\n }\n aria-label={ariaLabel}\n aria-disabled={disabled || undefined}\n sx={{\n ...styles.summary,\n ...(disabled ? styles.summaryDisabled : null),\n }}\n >\n <SmartTooltip title={title}>\n {({ ref }) => (\n <Box sx={styles.titleCell}>\n <Typography\n ref={ref}\n variant='subtitle1'\n sx={[\n {\n textTransform: 'none',\n },\n styles.titleText,\n ]}\n >\n {title}\n </Typography>\n </Box>\n )}\n </SmartTooltip>\n {summarySlots}\n </AccordionSummary>","disabled || undefined","<AccordionDetails sx={styles.detail}>{detailsSlots}</AccordionDetails>","<Accordion\n data-collapsed={effectiveCollapsed ? 'true' : undefined}\n expanded={!effectiveCollapsed}\n onChange={handleAccordionToggle}\n disableGutters\n elevation={0}\n variant={variant}\n square\n sx={{\n ...styles.root,\n ...sx,\n }}\n >\n {isFetching ? (\n <LinearProgress sx={styles.loading} color='primary' />\n ) : null}\n\n <AccordionSummary\n expandIcon={\n disabled ? null : <ExpandIcon fontSize='small' {...iconProps} />\n }\n aria-label={ariaLabel}\n aria-disabled={disabled || undefined}\n sx={{\n ...styles.summary,\n ...(disabled ? styles.summaryDisabled : null),\n }}\n >\n <SmartTooltip title={title}>\n {({ ref }) => (\n <Box sx={styles.titleCell}>\n <Typography\n ref={ref}\n variant='subtitle1'\n sx={[\n {\n textTransform: 'none',\n },\n styles.titleText,\n ]}\n >\n {title}\n </Typography>\n </Box>\n )}\n </SmartTooltip>\n {summarySlots}\n </AccordionSummary>\n <AccordionDetails sx={styles.detail}>{detailsSlots}</AccordionDetails>\n </Accordion>","effectiveCollapsed ? 'true' : undefined","!effectiveCollapsed","{ sx, children }: ContentProps","{ ...styles.content, ...sx }","<Box data-slot='content' sx={{ ...styles.content, ...sx }}>\n {children}\n </Box>","{ sx, children }: FooterProps","{ ...styles.footer, ...sx }","<Box data-slot='footer' sx={{ ...styles.footer, ...sx }}>\n {children}\n </Box>","{ sx, children }: SubheaderProps","{ ...styles.root, ...sx }","<Box sx={{ ...styles.root, ...sx }}>{children}</Box>","{\n skeleton,\n children,\n isEmpty = defaultIsEmpty,\n fallback,\n labels,\n}: StateProps","isEmpty = defaultIsEmpty","{ ...DEFAULT_STATE_LABELS, ...labels }","<>{skeleton}</>","fallback ? (\n <>{fallback(err)}</>\n ) : (\n <ErrorView error={err} labels={_labels} />\n )","error","<EmptyView labels={_labels} />","<CaptureBox id={id}>{children}</CaptureBox>","<RenderErrorBoundary fallback={fallback} labels={_labels}>\n <CaptureBox id={id}>{children}</CaptureBox>\n </RenderErrorBoundary>","{ id, children }: { id: string; children: ReactNode }","(el: HTMLDivElement | null) => setCaptureEl(id, el)","useCallback(\n (el: HTMLDivElement | null) => setCaptureEl(id, el),\n [id],\n )","<Box ref={setRef} sx={styles.captureBox}>\n {children}\n </Box>","{ error, labels }: { error: Error; labels: StateLabels }","<AlertTitle>{labels.errorTitle}</AlertTitle>","errorTitle","labels.errorMessage(error)","<Alert severity='error'>\n <AlertTitle>{labels.errorTitle}</AlertTitle>\n {labels.errorMessage(error)}\n </Alert>","{ labels }: { labels: StateLabels }","{\n color: 'text.primary',\n }","<Typography\n variant='body2'\n sx={{\n color: 'text.primary',\n }}\n >\n {labels.emptyTitle}\n </Typography>","emptyTitle","{\n color: 'text.secondary',\n }","<Typography\n variant='caption'\n sx={{\n color: 'text.secondary',\n }}\n >\n {labels.emptyDescription}\n </Typography>","emptyDescription","<Box sx={styles.emptyRoot}>\n <Typography\n variant='body2'\n sx={{\n color: 'text.primary',\n }}\n >\n {labels.emptyTitle}\n </Typography>\n <Typography\n variant='caption'\n sx={{\n color: 'text.secondary',\n }}\n >\n {labels.emptyDescription}\n </Typography>\n </Box>","{\n count,\n total,\n onClear,\n labels,\n icon: Icon,\n iconProps,\n}: SelectionSummaryProps","Box","'span'","styles.count","`${shown} / ${total}`","_labels.summary ? (\n _labels.summary(shown, total)\n ) : (\n <>\n <Typography component='span' variant='caption' sx={styles.selected}>\n {shown}\n </Typography>\n <Typography\n component='span'\n variant='caption'\n sx={styles.separator}\n >\n /\n </Typography>\n <Typography component='span' variant='caption' sx={styles.total}>\n {total}\n </Typography>\n </>\n )","styles.root","Icon ? <Icon fontSize='small' {...iconProps} /> : null","<Box\n component='span'\n sx={styles.count}\n aria-label={`${shown} / ${total}`}\n >\n {_labels.summary ? (\n _labels.summary(shown, total)\n ) : (\n <>\n <Typography component='span' variant='caption' sx={styles.selected}>\n {shown}\n </Typography>\n <Typography\n component='span'\n variant='caption'\n sx={styles.separator}\n >\n /\n </Typography>\n <Typography component='span' variant='caption' sx={styles.total}>\n {total}\n </Typography>\n </>\n )}\n </Box>","count > 0 && onClear && (\n <Button size='small' variant='text' onClick={onClear}>\n {_labels.clear}\n </Button>\n )","_labels.clear","<Box sx={styles.root}>\n {Icon ? <Icon fontSize='small' {...iconProps} /> : null}\n <Box\n component='span'\n sx={styles.count}\n aria-label={`${shown} / ${total}`}\n >\n {_labels.summary ? (\n _labels.summary(shown, total)\n ) : (\n <>\n <Typography component='span' variant='caption' sx={styles.selected}>\n {shown}\n </Typography>\n <Typography\n component='span'\n variant='caption'\n sx={styles.separator}\n >\n /\n </Typography>\n <Typography component='span' variant='caption' sx={styles.total}>\n {total}\n </Typography>\n </>\n )}\n </Box>\n {count > 0 && onClear && (\n <Button size='small' variant='text' onClick={onClear}>\n {_labels.clear}\n </Button>\n )}\n </Box>","Icon = WidgetOptions","{\n visibleCount,\n labels,\n icon: Icon = WidgetOptions,\n iconProps,\n direction = 'right',\n sx,\n children,\n}: ToolboxProps","direction = 'right'","{ ...DEFAULT_TOOLBOX_LABELS, ...labels }","() => setOpen((v) => !v)","(v) => !v","useCallback(() => setOpen((v) => !v), [])","(node: HTMLButtonElement | null) => {\n setAnchorEl(node)\n }","useCallback((node: HTMLButtonElement | null) => {\n setAnchorEl(node)\n }, [])","() => {\n if (!open) return undefined\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') setOpen(false)\n }\n document.addEventListener('keydown', onKey)\n return () => document.removeEventListener('keydown', onKey)\n }","[open]","() => {\n if (typeof document === 'undefined') return null\n const div = document.createElement('div')\n div.style.display = 'contents'\n return div\n }","items.reduce(\n (n, c) => n + (isToolbarHidden(c) ? 0 : 1),\n 0,\n )","(c): c is ReactElement =>\n isValidElement(c)","(n, c) => n + (isToolbarHidden(c) ? 0 : 1)","useMemo<Set<number> | null>(() => {\n if (!showOverflow || visibleCount === undefined) return null\n return computeInlineVisibleIndices(items, visibleCount)\n }, [items, visibleCount, showOverflow])","computeInlineVisibleIndices(items, visibleCount)","() => {\n const target = open && paperEl ? paperEl : inlineEl\n if (host && target && host.parentNode !== target) {\n target.appendChild(host)\n }\n }","[open, inlineEl, paperEl, host]","{ ...styles.root, flexDirection, ...sx }","showOverflow && (\n <>\n <Tooltip title={tooltipLabel}>\n <IconButton\n ref={handleTriggerRef}\n size='small'\n aria-label={tooltipLabel}\n aria-pressed={open}\n onClick={handleToggle}\n className={open ? 'active' : undefined}\n sx={{ ...(open && styles.triggerActive) }}\n >\n {open ? (\n <CloseIcon fontSize='small' />\n ) : (\n <Icon fontSize='small' {...iconProps} />\n )}\n </IconButton>\n </Tooltip>\n <Divider orientation='vertical' flexItem sx={{ mx: 0.5 }} />\n </>\n )","<Box ref={setInlineEl} sx={styles.preview} />","showOverflow && (\n <Popper\n open={open}\n anchorEl={anchorEl}\n placement={direction === 'left' ? 'left' : 'right'}\n transition\n // Disable flipping so the Paper stays on the configured side\n // even when the trigger sits near a viewport edge — wrapper\n // consumers expect a stable layout.\n modifiers={[{ name: 'flip', enabled: false }]}\n // Slot the popper *above* most modal stacking, but below MUI's\n // own modal layer.\n sx={{ zIndex: 'tooltip', mt: 0 }}\n >\n {({ TransitionProps }) => (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin:\n direction === 'left' ? 'right center' : 'left center',\n }}\n >\n <Paper ref={setPaperEl} sx={styles.paper} />\n </Grow>\n )}\n </Popper>\n )","{ TransitionProps }","host\n ? createPortal(\n items.map((item, i) => {\n const visible =\n open || !inlineVisibleIndices || inlineVisibleIndices.has(i)\n const key = item.key ?? i\n return (\n <div\n key={key}\n data-toolbox-item-visible={visible ? 'true' : 'false'}\n style={{ display: visible ? 'contents' : 'none' }}\n >\n {item}\n </div>\n )\n }),\n host,\n )\n : null","<Box sx={{ ...styles.root, flexDirection, ...sx }}>\n {showOverflow && (\n <>\n <Tooltip title={tooltipLabel}>\n <IconButton\n ref={handleTriggerRef}\n size='small'\n aria-label={tooltipLabel}\n aria-pressed={open}\n onClick={handleToggle}\n className={open ? 'active' : undefined}\n sx={{ ...(open && styles.triggerActive) }}\n >\n {open ? (\n <CloseIcon fontSize='small' />\n ) : (\n <Icon fontSize='small' {...iconProps} />\n )}\n </IconButton>\n </Tooltip>\n <Divider orientation='vertical' flexItem sx={{ mx: 0.5 }} />\n </>\n )}\n\n {/* Inline shell: when closed (or when there's no overflow) the host\n lives here so first-N items appear inline beside the trigger. */}\n <Box ref={setInlineEl} sx={styles.preview} />\n\n {showOverflow && (\n <Popper\n open={open}\n anchorEl={anchorEl}\n placement={direction === 'left' ? 'left' : 'right'}\n transition\n // Disable flipping so the Paper stays on the configured side\n // even when the trigger sits near a viewport edge — wrapper\n // consumers expect a stable layout.\n modifiers={[{ name: 'flip', enabled: false }]}\n // Slot the popper *above* most modal stacking, but below MUI's\n // own modal layer.\n sx={{ zIndex: 'tooltip', mt: 0 }}\n >\n {({ TransitionProps }) => (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin:\n direction === 'left' ? 'right center' : 'left center',\n }}\n >\n <Paper ref={setPaperEl} sx={styles.paper} />\n </Grow>\n )}\n </Popper>\n )}\n\n {/* Items render once into the stable host. The host's parent is\n whichever shell is currently active (inline or popper). When\n closed-with-overflow, items beyond the budget get `display: none`\n so they're mounted but invisible. The wrapper uses an inline\n `style` (not `sx`) so the visibility decision lands on the\n element itself — tests can inspect it without traversing\n generated MUI class names. */}\n {host\n ? createPortal(\n items.map((item, i) => {\n const visible =\n open || !inlineVisibleIndices || inlineVisibleIndices.has(i)\n const key = item.key ?? i\n return (\n <div\n key={key}\n data-toolbox-item-visible={visible ? 'true' : 'false'}\n style={{ display: visible ? 'contents' : 'none' }}\n >\n {item}\n </div>\n )\n }),\n host,\n )\n : null}\n </Box>","c","{ children }: { children?: ReactNode }","{\n color: 'inherit',\n m: 0,\n }","<Typography\n variant='caption'\n component='p'\n sx={{\n color: 'inherit',\n m: 0,\n }}\n >\n {children}\n </Typography>","{ lineClamp = 3, labels, children }: NoteProps","lineClamp = 3","{\n color: 'inherit',\n }","<Typography\n variant='caption'\n component='div'\n sx={{\n color: 'inherit',\n }}\n >\n {children}\n </Typography>","<NoteShell lineClamp={lineClamp} labels={labels} dependency={children}>\n <Typography\n variant='caption'\n component='div'\n sx={{\n color: 'inherit',\n }}\n >\n {children}\n </Typography>\n </NoteShell>","{ content, lineClamp = 3, labels }: NoteMarkdownProps","<MarkdownContent content={content} components={NOTE_COMPONENTS} />","<NoteShell lineClamp={lineClamp} labels={labels} dependency={content}>\n <MarkdownContent content={content} components={NOTE_COMPONENTS} />\n </NoteShell>","{\n lineClamp,\n labels,\n dependency,\n children,\n}: NoteShellProps","{ ...DEFAULT_NOTE_LABELS, ...labels }","() => {\n const node = textRef.current\n if (!node) return\n setIsOverflowing(node.scrollHeight > node.clientHeight + 1)\n }","useCallback(() => {\n const node = textRef.current\n if (!node) return\n setIsOverflowing(node.scrollHeight > node.clientHeight + 1)\n }, [])","() => {\n if (clampingDisabled) return undefined\n const node = textRef.current\n if (!node) return undefined\n measure()\n return observeResize(node, measure)\n }","node","[measure, dependency, clampingDisabled]","() => setExpanded((v) => !v)","(v) => !v","useCallback(() => setExpanded((v) => !v), [])","clamped\n ? { ...styles.clamped, WebkitLineClamp: lineClamp }\n : null","lineClampSx ?? {}","{ ...styles.text, ...(lineClampSx ?? {}) }","<Box ref={textRef} sx={{ ...styles.text, ...(lineClampSx ?? {}) }}>\n {children}\n </Box>","!clampingDisabled && (isOverflowing || expanded) && (\n <Link\n component='button'\n variant='caption'\n underline='none'\n onClick={toggle}\n sx={styles.toggle}\n >\n {expanded ? _labels.showLess : _labels.showMore}\n </Link>\n )","_labels.showLess","<Box sx={styles.root}>\n <Box ref={textRef} sx={{ ...styles.text, ...(lineClampSx ?? {}) }}>\n {children}\n </Box>\n {/* Stay visible while the user is in the expanded state so they always\n have a way back. Without `|| expanded` the toggle would vanish the\n moment content unclamps (scrollHeight === clientHeight). Matches v1. */}\n {!clampingDisabled && (isOverflowing || expanded) && (\n <Link\n component='button'\n variant='caption'\n underline='none'\n onClick={toggle}\n sx={styles.toggle}\n >\n {expanded ? _labels.showLess : _labels.showMore}\n </Link>\n )}\n </Box>"],"sources":["../src/widgets/provider/widget-provider.tsx","../src/widgets/wrapper/style.ts","../src/widgets/wrapper/widget-actions.tsx","../src/widgets/wrapper/labels.ts","../src/widgets/wrapper/widget-wrapper.tsx","../src/widgets/wrapper/widget-content.tsx","../src/widgets/subheader/style.ts","../src/widgets/subheader/subheader.tsx","../src/widgets/state/style.ts","../src/widgets/state/labels.ts","../src/widgets/state/widget-state.tsx","../src/widgets/selection-summary/labels.ts","../src/widgets/selection-summary/style.ts","../src/widgets/selection-summary/selection-summary.tsx","../src/widgets/toolbox/labels.ts","../src/widgets/toolbox/style.ts","../src/widgets/toolbox/toolbox.tsx","../src/widgets/note/labels.ts","../src/widgets/note/style.ts","../src/widgets/note/widget-note.tsx","../src/widgets/index.ts"],"sourcesContent":["import { useLayoutEffect, useState, type ReactNode } from 'react'\nimport {\n WidgetContext,\n createWidgetStore,\n hasWidgetStore,\n getWidgetStore,\n registerWidgetStore,\n setWidgetStoreEntry,\n unregisterWidgetStore,\n} from '../stores'\nimport type { WidgetStoreApi } from '../stores'\n\nexport interface ProviderProps {\n id: string\n data: unknown\n isLoading?: boolean\n isFetching?: boolean\n error?: unknown\n formatter?: (value: number) => string\n labelFormatter?: (value: string | number) => string | number\n /**\n * When `true`, the per-widget store survives unmount so transformStates,\n * search text, fullscreen state, etc. are preserved across remounts.\n * Consumers using keepAlive must call `deleteWidgetStore(id)` themselves\n * when the widget is permanently removed — there is no automatic GC.\n */\n keepAlive?: boolean\n children: ReactNode\n}\n\n/**\n * Renderer-agnostic widget shell. Creates a per-widget Zustand store\n * keyed by `id`, syncs the consumer props (`data`, `isLoading`, `error`,\n * `formatter`, …) onto it, and exposes the `id` via `WidgetContext` so\n * descendants can resolve their store with `useWidgetId()`.\n *\n * The Provider deliberately doesn't know about ECharts — there's no\n * `optionFactory` prop here. ECharts-backed widgets pass their factory\n * to `<Widget.Echart optionFactory={…}>`, which owns the structural\n * seed + the data-fusion render step entirely. Non-Echart widgets\n * (Formula, Spread, Range, Table, Category, Markdown) just don't pass\n * anything ECharts-shaped.\n */\nexport function Provider({\n id,\n data,\n isLoading,\n isFetching,\n error,\n formatter,\n labelFormatter,\n keepAlive = false,\n children,\n}: ProviderProps) {\n // Lazy init — reuse an existing keepAlive store, otherwise create one and\n // synchronously place it in the registry so descendants can call\n // useWidget(id, ...) on first render. Refcounting + dup-id detection happen\n // in the mount layout-effect below.\n const [store] = useState<WidgetStoreApi>(() => {\n if (hasWidgetStore(id)) return getWidgetStore(id)\n const created = createWidgetStore(id, {\n data,\n isLoading,\n isFetching,\n error,\n formatter,\n labelFormatter,\n })\n setWidgetStoreEntry(id, created)\n return created\n })\n\n // Registration: refcount the mount for dup-id detection; unregister on\n // unmount or when the id/store/keepAlive triple changes.\n useLayoutEffect(() => {\n registerWidgetStore(id, store)\n return () => {\n unregisterWidgetStore(id, { keepAlive })\n }\n }, [id, store, keepAlive])\n\n // Per-prop sync. `useLayoutEffect` so kept-alive remounts apply incoming\n // props before paint (no flash of stale data when reusing a store).\n // The pipeline middleware bypasses unchanged fields, so unchanged props\n // are a no-op even though setState is called every effect run.\n useLayoutEffect(() => {\n store.setState({ rawData: data })\n }, [store, data])\n\n useLayoutEffect(() => {\n store.setState({\n isLoading: isLoading ?? false,\n isFetching: isFetching ?? false,\n error,\n })\n }, [store, isLoading, isFetching, error])\n\n // Sync the consumer's formatter prop to BOTH `rawFormatter` (kept canonical\n // for actions that need to restore the absolute view) and `formatter` (the\n // active value). Actions like RelativeData re-apply their override after\n // `rawFormatter` changes.\n useLayoutEffect(() => {\n store.setState({\n rawFormatter: formatter,\n formatter,\n labelFormatter,\n })\n }, [store, formatter, labelFormatter])\n\n return <WidgetContext.Provider value={id}>{children}</WidgetContext.Provider>\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n position: 'relative',\n width: '100%',\n minWidth: 0,\n bgcolor: 'background.paper',\n borderRadius: 1,\n overflow: 'hidden',\n boxShadow: 'none',\n // MUI Accordion ships its own collapsed-state divider rules; clear them\n // so they don't fight our card border.\n '&::before': { display: 'none' },\n\n // Hover-fade actions (v1 parity). Direct children of\n // `.widget-wrapper-actions` are dimmed by default on fine-pointer devices\n // and fade in on hover; an action carrying the `.active` class stays\n // full-opacity even outside hover. Coarse-pointer devices show actions\n // always.\n //\n // The class must sit on the action element itself\n // (`<IconButton className='active'>`). v2 does NOT wrap each action in\n // an extra container the way v1 does, so the `> *` selector lands on the\n // action button directly — `&:has(.active)` would only match if the\n // class were on a descendant, which is never the case here.\n '& .widget-wrapper-actions > *': {\n opacity: 1,\n transition: ({ transitions }: Theme) =>\n transitions.create('opacity', {\n duration: transitions.duration.standard,\n easing: transitions.easing.easeInOut,\n }),\n '@media (hover: hover)': {\n opacity: 0,\n },\n '&.active': {\n opacity: 1,\n },\n },\n '&:hover .widget-wrapper-actions > *': {\n opacity: 1,\n },\n '&[data-collapsed=\"true\"] .widget-wrapper-actions > *': {\n opacity: 0,\n pointerEvents: 'none',\n '&.active': {\n opacity: 1,\n },\n },\n },\n loading: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: ({ spacing }: Theme) => spacing(0.35),\n zIndex: 1,\n },\n summary: {\n minHeight: ({ spacing }: Theme) => spacing(7),\n '& .MuiAccordionSummary-content': {\n gap: ({ spacing }: Theme) => spacing(0.5),\n paddingInlineEnd: ({ spacing }: Theme) => spacing(0.75),\n alignItems: 'center',\n },\n },\n // Disabled state — only the collapse toggle is inert (enforced by the\n // guarded `onChange` handler, not `pointer-events`). Actions and Options in\n // the summary row, and the details panel, all keep their events. We just\n // drop the toggle affordance: hide the chevron (handled in the component)\n // and clear the pointer cursor. MUI's AccordionSummary sets\n // `cursor: pointer` via `&:hover:not(.Mui-disabled)` — a two-class selector\n // that outranks a plain `cursor` rule — so we override at matching\n // specificity. Action/Option buttons restore their own pointer cursor.\n summaryDisabled: {\n '&, &:hover:not(.Mui-disabled)': {\n cursor: 'default',\n },\n },\n titleCell: {\n flexGrow: 1,\n flexShrink: 1,\n minWidth: 0,\n display: 'flex',\n alignItems: 'center',\n minHeight: ({ spacing }: Theme) => spacing(3),\n },\n titleText: {\n minWidth: 0,\n wordBreak: 'break-word',\n overflow: 'hidden',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n },\n actions: {\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n justifyContent: 'flex-end',\n flexShrink: 0,\n '& > *': {\n pointerEvents: 'auto',\n },\n },\n options: {\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n flexShrink: 0,\n },\n detail: {\n display: 'flex',\n flexDirection: 'column',\n gap: ({ spacing }: Theme) => spacing(1),\n paddingTop: ({ spacing }: Theme) => spacing(0.5),\n },\n content: {\n minWidth: 0,\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n },\n footer: {\n pt: 1,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, type SxProps, type Theme } from '@mui/material'\nimport type { ReactNode } from 'react'\nimport { styles } from './style'\n\nexport interface ActionsProps {\n sx?: SxProps<Theme>\n children: ReactNode\n}\n\n/**\n * Slot for the wrapper header's right-side action buttons. The\n * `widget-wrapper-actions` className activates the hover-fade CSS rule on\n * `<Wrapper>`: action children fade in on hover (always visible on coarse-\n * pointer devices), and stay full-opacity when a descendant is marked with\n * `.active` — typically applied by toggled actions.\n *\n * The container also stops click propagation so interacting with an action\n * doesn't toggle the wrapper's collapse.\n */\nexport function Actions({ sx, children }: ActionsProps) {\n return (\n <Box\n className='widget-wrapper-actions'\n onClick={(e) => e.stopPropagation()}\n sx={{ ...styles.actions, ...sx }}\n >\n {children}\n </Box>\n )\n}\n\nexport interface OptionsProps {\n sx?: SxProps<Theme>\n children: ReactNode\n}\n\nexport function Options({ sx, children }: OptionsProps) {\n return (\n <Box onClick={(e) => e.stopPropagation()} sx={{ ...styles.options, ...sx }}>\n {children}\n </Box>\n )\n}\n","export interface WrapperLabels {\n collapse: string\n expand: string\n errorFallbackTitle: string\n}\n\nexport const DEFAULT_WRAPPER_LABELS: WrapperLabels = {\n collapse: 'Collapse',\n expand: 'Expand',\n errorFallbackTitle: 'Widget failed to render',\n}\n","import {\n Children,\n isValidElement,\n useCallback,\n useState,\n type ComponentType,\n type ReactElement,\n type ReactNode,\n} from 'react'\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Box,\n LinearProgress,\n Typography,\n type SvgIconProps,\n type SxProps,\n type Theme,\n} from '@mui/material'\nimport { ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { SmartTooltip } from '../../components/smart-tooltip/smart-tooltip'\nimport { useWidget, useWidgetId } from '../stores'\nimport { Actions, Options } from './widget-actions'\nimport { styles } from './style'\nimport { DEFAULT_WRAPPER_LABELS, type WrapperLabels } from './labels'\n\nexport interface WrapperProps {\n title: string\n /**\n * Controlled collapsed state. When supplied, the wrapper is fully\n * controlled — the consumer is responsible for updating it via\n * `onCollapseChange`. Leave undefined to use the uncontrolled mode,\n * which seeds internal state from `defaultCollapsed`.\n */\n collapsed?: boolean\n /**\n * Fires whenever the user interacts to toggle the wrapper, with the\n * NEXT collapsed value. Called for both controlled and uncontrolled\n * usage — consumers can subscribe to user-driven toggles even when\n * letting the wrapper manage its own state.\n */\n onCollapseChange?: (collapsed: boolean) => void\n /**\n * Initial collapsed state when the wrapper is uncontrolled (i.e.\n * `collapsed` is undefined). Ignored when `collapsed` is supplied.\n */\n defaultCollapsed?: boolean\n disabled?: boolean\n /**\n * Visual variant. `'elevation'` (default) renders a borderless shell;\n * `'outlined'` adds a 1px divider border around the card.\n */\n variant?: 'outlined' | 'elevation'\n labels?: Partial<WrapperLabels>\n /**\n * Icon shown at the right edge of the summary row. Accordion rotates it\n * 180° automatically when the wrapper expands. Default: `ExpandMoreIcon`.\n */\n expandIcon?: ComponentType<SvgIconProps>\n iconProps?: SvgIconProps\n sx?: SxProps<Theme>\n children: ReactNode\n}\n\n/**\n * Widget shell — title + collapsible body, built on MUI `<Accordion>` for\n * native click-to-toggle on the summary header and a smooth open/close\n * transition. UX matches v1 `<WrapperUI>`:\n *\n * • hover-fade action buttons (always visible on coarse-pointer devices)\n * • multi-line title clamp (`WebkitLineClamp: 2`, word-break) + SmartTooltip\n * when the text overflows\n * • top-edge `<LinearProgress>` driven by the widget store's `isFetching`\n * • chevron at the right end (rotated by Accordion based on expanded state)\n *\n * Children are partitioned by component identity: `<Actions>` and `<Options>`\n * render inside the summary row; everything else (`<Content>`, `<Footer>`,\n * loose nodes) renders inside the details panel.\n */\nexport function Wrapper({\n title,\n collapsed,\n onCollapseChange,\n defaultCollapsed = false,\n disabled = false,\n variant = 'elevation',\n labels,\n expandIcon: ExpandIcon = ExpandMoreIcon,\n iconProps,\n sx,\n children,\n}: WrapperProps) {\n const id = useWidgetId()\n const isFetching = useWidget(id, (s) => s.isFetching)\n // Controlled vs uncontrolled: when the consumer passes `collapsed`, they\n // own the state; otherwise we keep an internal copy seeded from\n // `defaultCollapsed`. `internalCollapsed` is still tracked in controlled\n // mode so a consumer can drop the controlled prop later without losing\n // the last-known position.\n const isControlled = collapsed !== undefined\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed)\n const effectiveCollapsed = isControlled ? collapsed : internalCollapsed\n const handleAccordionToggle = useCallback(\n (_: unknown, expanded: boolean) => {\n if (disabled) return\n const next = !expanded\n onCollapseChange?.(next)\n setInternalCollapsed(next)\n },\n [disabled, onCollapseChange],\n )\n const _labels = { ...DEFAULT_WRAPPER_LABELS, ...labels }\n\n const { summary: summarySlots, details: detailsSlots } =\n partitionChildren(children)\n\n const ariaLabel = effectiveCollapsed ? _labels.expand : _labels.collapse\n\n return (\n <Accordion\n data-collapsed={effectiveCollapsed ? 'true' : undefined}\n expanded={!effectiveCollapsed}\n onChange={handleAccordionToggle}\n disableGutters\n elevation={0}\n variant={variant}\n square\n sx={{\n ...styles.root,\n ...sx,\n }}\n >\n {isFetching ? (\n <LinearProgress sx={styles.loading} color='primary' />\n ) : null}\n\n <AccordionSummary\n expandIcon={\n disabled ? null : <ExpandIcon fontSize='small' {...iconProps} />\n }\n aria-label={ariaLabel}\n aria-disabled={disabled || undefined}\n sx={{\n ...styles.summary,\n ...(disabled ? styles.summaryDisabled : null),\n }}\n >\n <SmartTooltip title={title}>\n {({ ref }) => (\n <Box sx={styles.titleCell}>\n <Typography\n ref={ref}\n variant='subtitle1'\n sx={[\n {\n textTransform: 'none',\n },\n styles.titleText,\n ]}\n >\n {title}\n </Typography>\n </Box>\n )}\n </SmartTooltip>\n {summarySlots}\n </AccordionSummary>\n <AccordionDetails sx={styles.detail}>{detailsSlots}</AccordionDetails>\n </Accordion>\n )\n}\n\n/**\n * Splits children by component identity: `<Actions>` and `<Options>` belong\n * in the summary row, everything else in the details panel. Identity\n * comparison works because both slot components are imported from the same\n * module that consumers use.\n */\nfunction partitionChildren(children: ReactNode): {\n summary: ReactNode[]\n details: ReactNode[]\n} {\n const summary: ReactNode[] = []\n const details: ReactNode[] = []\n for (const child of Children.toArray(children)) {\n if (isSlot(child, Actions) || isSlot(child, Options)) {\n summary.push(child)\n } else {\n details.push(child)\n }\n }\n return { summary, details }\n}\n\nfunction isSlot(node: ReactNode, type: unknown): node is ReactElement {\n return isValidElement(node) && node.type === type\n}\n","import { Box, type SxProps, type Theme } from '@mui/material'\nimport type { ReactNode } from 'react'\nimport { styles } from './style'\n\nexport interface ContentProps {\n sx?: SxProps<Theme>\n children: ReactNode\n}\n\nexport function Content({ sx, children }: ContentProps) {\n return (\n <Box data-slot='content' sx={{ ...styles.content, ...sx }}>\n {children}\n </Box>\n )\n}\n\nexport interface FooterProps {\n sx?: SxProps<Theme>\n children: ReactNode\n}\n\nexport function Footer({ sx, children }: FooterProps) {\n return (\n <Box data-slot='footer' sx={{ ...styles.footer, ...sx }}>\n {children}\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n alignItems: 'center',\n gap: 1,\n minHeight: 32,\n pb: 1,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, type SxProps, type Theme } from '@mui/material'\nimport type { ReactNode } from 'react'\nimport { styles } from './style'\n\nexport interface SubheaderProps {\n sx?: SxProps<Theme>\n children: ReactNode\n}\n\n/**\n * Stateless layout: CSS grid `1fr auto`. Children self-place — typically\n * `<Widget.SelectionSummary />` (left) and `<Widget.Toolbox>` (right).\n */\nexport function Subheader({ sx, children }: SubheaderProps) {\n return <Box sx={{ ...styles.root, ...sx }}>{children}</Box>\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n emptyRoot: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n paddingTop: 1,\n paddingBottom: 2,\n paddingX: 2,\n width: '100%',\n minHeight: '100%',\n },\n // Stable wrapper around the success-path children. Real layout (flex\n // column) so html2canvas has a non-zero bounding rect to rasterise.\n // `flex: 1; min-height: 0` lets nested scroll regions / fixed-height\n // chart canvases size correctly inside Widget.Content's flex column.\n captureBox: {\n width: '100%',\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n },\n} satisfies Record<string, SxProps<Theme>>\n","export interface StateLabels {\n errorTitle: string\n errorMessage: (error: unknown) => string\n emptyTitle: string\n emptyDescription: string\n}\n\nexport const DEFAULT_STATE_LABELS: StateLabels = {\n errorTitle: 'Something went wrong',\n errorMessage: (error: unknown): string => {\n if (error instanceof Error) return error.message\n if (typeof error === 'string') return error\n if (error && typeof error === 'object' && 'message' in error) {\n return String((error as { message: unknown }).message)\n }\n return 'Unknown error'\n },\n emptyTitle: 'No data',\n emptyDescription: 'Try adjusting filters or wait for data to load.',\n}\n","import { Component, useCallback, type ReactNode } from 'react'\nimport { Alert, AlertTitle, Box, Typography } from '@mui/material'\nimport { setCaptureEl, useWidgetId, useWidgetShallow } from '../stores'\nimport { styles } from './style'\nimport { DEFAULT_STATE_LABELS, type StateLabels } from './labels'\n\nexport interface StateProps {\n skeleton: ReactNode\n children: ReactNode\n /** Override the empty-state predicate. Receives `rawData` (pre-pipeline). */\n isEmpty?: (rawData: unknown) => boolean\n /** Render an alternative error UI. When omitted, the default ErrorView is used. */\n fallback?: (error: Error) => ReactNode\n labels?: Partial<StateLabels>\n}\n\ninterface StateSlice {\n isLoading: boolean\n isFetching: boolean\n error: unknown\n rawData: unknown\n}\n\nconst sliceSelector = (s: {\n isLoading: boolean\n isFetching: boolean\n error: unknown\n rawData: unknown\n}): StateSlice => ({\n isLoading: s.isLoading,\n isFetching: s.isFetching,\n error: s.error,\n rawData: s.rawData,\n})\n\n/**\n * Priority chain: loading → error → empty → content. Both consumer-supplied\n * errors (set via Provider's `error` prop) and transform-throw errors (set by\n * the pipeline middleware) flow through the same `error` field. Render-time\n * errors thrown by `children` are caught by the inlined error boundary and\n * routed through the same path.\n */\nexport function State({\n skeleton,\n children,\n isEmpty = defaultIsEmpty,\n fallback,\n labels,\n}: StateProps) {\n const id = useWidgetId()\n const slice = useWidgetShallow(id, sliceSelector)\n const _labels = { ...DEFAULT_STATE_LABELS, ...labels }\n\n // Loading wins over everything else (matches v1 — hides errors during fetch).\n if (slice.isLoading) return <>{skeleton}</>\n\n // Store-side error (consumer-supplied or transform-throw via middleware).\n if (slice.error !== undefined && slice.error !== null) {\n const err = toError(slice.error)\n return fallback ? (\n <>{fallback(err)}</>\n ) : (\n <ErrorView error={err} labels={_labels} />\n )\n }\n\n // Empty (uses pre-pipeline rawData so a transform that filters everything\n // doesn't get misclassified as \"no data from upstream\").\n if (isEmpty(slice.rawData)) {\n return <EmptyView labels={_labels} />\n }\n\n return (\n <RenderErrorBoundary fallback={fallback} labels={_labels}>\n <CaptureBox id={id}>{children}</CaptureBox>\n </RenderErrorBoundary>\n )\n}\n\n/**\n * Wraps the success-path children in a stable flex column whose DOM ref is\n * registered with the per-widget capture map. Per-widget download configs\n * feed the wrapper element to `html2canvas` for PNG export. The callback\n * ref auto-clears (React calls it with `null`) when Widget.State leaves\n * the success branch or unmounts, so loading / error / empty states\n * correctly report \"no capture target\" via `getCaptureEl`.\n *\n * Composition convention: render interactive controls that should *not*\n * appear in the PNG (e.g. `<Widget.Searcher />`) as siblings of\n * `<Widget.State>` rather than children, so they sit outside this box.\n */\nfunction CaptureBox({ id, children }: { id: string; children: ReactNode }) {\n const setRef = useCallback(\n (el: HTMLDivElement | null) => setCaptureEl(id, el),\n [id],\n )\n return (\n <Box ref={setRef} sx={styles.captureBox}>\n {children}\n </Box>\n )\n}\n\nfunction ErrorView({ error, labels }: { error: Error; labels: StateLabels }) {\n return (\n <Alert severity='error'>\n <AlertTitle>{labels.errorTitle}</AlertTitle>\n {labels.errorMessage(error)}\n </Alert>\n )\n}\n\nfunction EmptyView({ labels }: { labels: StateLabels }) {\n return (\n <Box sx={styles.emptyRoot}>\n <Typography\n variant='body2'\n sx={{\n color: 'text.primary',\n }}\n >\n {labels.emptyTitle}\n </Typography>\n <Typography\n variant='caption'\n sx={{\n color: 'text.secondary',\n }}\n >\n {labels.emptyDescription}\n </Typography>\n </Box>\n )\n}\n\ninterface BoundaryProps {\n fallback?: (error: Error) => ReactNode\n labels: StateLabels\n children: ReactNode\n}\n\ninterface BoundaryState {\n error: Error | null\n}\n\nclass RenderErrorBoundary extends Component<BoundaryProps, BoundaryState> {\n override state: BoundaryState = { error: null }\n\n static getDerivedStateFromError(error: Error): BoundaryState {\n return { error }\n }\n\n override componentDidCatch(error: Error): void {\n // eslint-disable-next-line no-console\n console.error('[widgets] Render error in <Widget.State> child:', error)\n }\n\n override render(): ReactNode {\n const { error } = this.state\n if (error !== null) {\n const { fallback, labels } = this.props\n return fallback ? (\n fallback(error)\n ) : (\n <ErrorView error={error} labels={labels} />\n )\n }\n return this.props.children\n }\n}\n\nfunction defaultIsEmpty(rawData: unknown): boolean {\n if (rawData == null) return true\n if (Array.isArray(rawData)) {\n if (rawData.length === 0) return true\n if (rawData.every((item) => Array.isArray(item) && item.length === 0)) {\n return true\n }\n return false\n }\n if (typeof rawData === 'object' && Object.keys(rawData).length === 0) {\n return true\n }\n return false\n}\n\nfunction toError(value: unknown): Error {\n if (value instanceof Error) return value\n if (typeof value === 'string') return new Error(value)\n if (value && typeof value === 'object' && 'message' in value) {\n return new Error(String((value as { message: unknown }).message))\n }\n return new Error('Unknown error')\n}\n","import type { ReactNode } from 'react'\n\nexport interface SelectionSummaryLabels {\n /**\n * Optional custom renderer for the count. Defaults to the built-in two-tone\n * `selected / total` rendering. Receives the already-resolved displayed\n * number (which equals `total` when nothing is selected).\n */\n summary?: (selected: number, total: number) => ReactNode\n clear: string\n}\n\nexport const DEFAULT_SELECTION_SUMMARY_LABELS: SelectionSummaryLabels = {\n clear: 'Clear',\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n minHeight: 24,\n },\n label: {\n color: 'text.secondary',\n },\n count: {\n display: 'inline-flex',\n alignItems: 'baseline',\n gap: 0.5,\n },\n selected: {\n color: 'text.primary',\n fontWeight: 600,\n },\n separator: {\n color: 'text.secondary',\n },\n total: {\n color: 'text.secondary',\n },\n clear: {\n color: 'primary.main',\n cursor: 'pointer',\n fontWeight: 500,\n '&:hover': { textDecoration: 'underline' },\n },\n icon: {\n fontSize: 16,\n color: 'text.secondary',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Button, Typography, type SvgIconProps } from '@mui/material'\nimport type { ComponentType } from 'react'\nimport {\n DEFAULT_SELECTION_SUMMARY_LABELS,\n type SelectionSummaryLabels,\n} from './labels'\nimport { styles } from './style'\n\nexport interface SelectionSummaryProps {\n /** Number of currently selected items. */\n count: number\n /** Optional total — when `undefined` or `0` the component renders nothing (no data). */\n total?: number\n /** Clear callback. The Clear control is shown only when `count > 0` and `onClear` is provided. */\n onClear?: () => void\n labels?: Partial<SelectionSummaryLabels>\n icon?: ComponentType<SvgIconProps>\n iconProps?: SvgIconProps\n}\n\n/**\n * Renders a `selected / total` count.\n *\n * Render rules:\n * - `!total` (undefined or 0) → render nothing (no data to summarize).\n * - `count === 0` → display `total / total` (everything is implicitly in\n * scope); no Clear button.\n * - `count > 0` → display `count / total` + Clear (when `onClear` is given).\n *\n * The count is two-tone by default (selected number bold/`text.primary`,\n * ` / total` in `text.secondary`). Pass `labels.summary` to render a custom\n * node instead — it receives the already-resolved displayed number (which\n * equals `total` when nothing is selected).\n */\nexport function SelectionSummary({\n count,\n total,\n onClear,\n labels,\n icon: Icon,\n iconProps,\n}: SelectionSummaryProps) {\n if (!total) return null\n const _labels = { ...DEFAULT_SELECTION_SUMMARY_LABELS, ...labels }\n const shown = count === 0 ? total : count\n\n return (\n <Box sx={styles.root}>\n {Icon ? <Icon fontSize='small' {...iconProps} /> : null}\n <Box\n component='span'\n sx={styles.count}\n aria-label={`${shown} / ${total}`}\n >\n {_labels.summary ? (\n _labels.summary(shown, total)\n ) : (\n <>\n <Typography component='span' variant='caption' sx={styles.selected}>\n {shown}\n </Typography>\n <Typography\n component='span'\n variant='caption'\n sx={styles.separator}\n >\n /\n </Typography>\n <Typography component='span' variant='caption' sx={styles.total}>\n {total}\n </Typography>\n </>\n )}\n </Box>\n {count > 0 && onClear && (\n <Button size='small' variant='text' onClick={onClear}>\n {_labels.clear}\n </Button>\n )}\n </Box>\n )\n}\n","export interface ToolboxLabels {\n trigger: string\n close: string\n}\n\nexport const DEFAULT_TOOLBOX_LABELS: ToolboxLabels = {\n trigger: 'More actions',\n close: 'Close',\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: 0.25,\n width: 'fit-content',\n borderRadius: 0.5,\n gridColumn: 2,\n height: 'fit-content',\n },\n preview: {\n display: 'flex',\n alignItems: 'center',\n gap: 0.25,\n },\n triggerActive: {\n bgcolor: 'primary.relatedLight',\n },\n paper: {\n // Positioning is handled by Popper; only visual styles here.\n display: 'flex',\n alignItems: 'center',\n gap: 0.25,\n px: 0.25,\n py: 0.25,\n mx: 0.25,\n mt: `0 !important`, // Popper's placement adds a margin-top to offset from the trigger; we want to override that.\n bgcolor: 'background.paper',\n borderRadius: 0.5,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import {\n Children,\n isValidElement,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useState,\n type ComponentType,\n type ReactElement,\n type ReactNode,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport {\n Box,\n Divider,\n Grow,\n IconButton,\n Paper,\n Popper,\n type SvgIconProps,\n type SxProps,\n type Theme,\n} from '@mui/material'\nimport { Close as CloseIcon } from '@mui/icons-material'\nimport { WidgetOptions } from '@carto/meridian-ds/custom-icons'\nimport { Tooltip } from '../../components'\nimport { DEFAULT_TOOLBOX_LABELS, type ToolboxLabels } from './labels'\nimport { styles } from './style'\n\nexport interface ToolboxProps {\n /**\n * Maximum number of (non-`data-toolbar-hidden`) children rendered inline\n * when collapsed. Excess children are revealed via the overflow trigger\n * inside a floating Paper. When omitted, all children render inline.\n */\n visibleCount?: number\n labels?: Partial<ToolboxLabels>\n /**\n * Glyph used for the closed-state trigger. Defaults to the meridian-ds\n * `WidgetOptions` icon (matches v1's `ToolbarActions`).\n */\n icon?: ComponentType<SvgIconProps>\n iconProps?: SvgIconProps\n /**\n * Side the overflow Paper opens toward. `'right'` (default) places the\n * trigger on the left and the Paper covers the row to the right;\n * `'left'` is the mirror.\n */\n direction?: 'left' | 'right'\n sx?: SxProps<Theme>\n children: ReactNode\n}\n\n/**\n * Smart overflow toolbar with **single-mount** items. Children mount once\n * into a stable, hidden host element and are *physically reparented* via\n * `appendChild` between the inline preview area and the overflow `<Paper>`\n * as the popper opens / closes — same pattern as `Widget.FullScreen.Slot`.\n * Items with no inline space when closed are kept mounted but visually\n * hidden via `display: none`.\n *\n * Why this matters: every toggle's `useTransform` registers a config /\n * data transform on mount and removes it on unmount. If items remounted\n * on each open / close, the brief setup → cleanup window would re-emit\n * the pipeline (transform missing → transform present), causing a visible\n * flicker on state-bearing transforms (Stack, Zoom, RelativeData). With\n * stable mounts the transform stays registered across the whole popover\n * lifecycle.\n *\n * Children flagged with `data-toolbar-hidden` (e.g. dividers) skip the\n * visibility budget but still render in their natural position. Trailing\n * hidden items past the budget are excluded from the inline preview so\n * they don't appear as orphan separators in the inline row; they're still\n * there in the popover.\n */\nexport function Toolbox({\n visibleCount,\n labels,\n icon: Icon = WidgetOptions,\n iconProps,\n direction = 'right',\n sx,\n children,\n}: ToolboxProps) {\n const _labels = { ...DEFAULT_TOOLBOX_LABELS, ...labels }\n // Each useState below is independent UI state — not \"related state\" that\n // `useReducer` would clean up. Justifications:\n // - `open`: toggles the overflow popover, drives JSX rendering.\n // - `anchorEl`: feeds `<Popper anchorEl>`; the Popper must re-render\n // when the trigger element first attaches.\n // - `inlineEl` / `paperEl`: read by the layout-effect dep array below\n // to reparent the stable host between shells; useRef wouldn't fire\n // the effect when the elements attach.\n // - `host` (further down): see its own comment — kept in state to make\n // the React Compiler happy reading it during render.\n const [open, setOpen] = useState(false)\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null)\n const [inlineEl, setInlineEl] = useState<HTMLElement | null>(null)\n const [paperEl, setPaperEl] = useState<HTMLElement | null>(null)\n\n const handleToggle = useCallback(() => setOpen((v) => !v), [])\n const handleTriggerRef = useCallback((node: HTMLButtonElement | null) => {\n setAnchorEl(node)\n }, [])\n\n // Esc closes the overflow paper. Outside-click is intentionally NOT wired:\n // an action inside the Paper (e.g. RelativeData toggling, a Brush menu)\n // can update widget state which momentarily reflows the page; if that's\n // treated as a click-outside, the Paper would dismiss itself mid-action.\n // Users explicitly close via the trigger or Escape.\n useEffect(() => {\n if (!open) return undefined\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') setOpen(false)\n }\n document.addEventListener('keydown', onKey)\n return () => document.removeEventListener('keydown', onKey)\n }, [open])\n\n // Stable host element shared by every toolbox cycle. `display: contents`\n // keeps it transparent in flow so items inherit layout (flex row + gap)\n // from whichever shell currently parents the host (the inline preview\n // Box or the popover Paper). Held in state — not a ref — so the React\n // Compiler is happy reading it during render.\n const [host] = useState<HTMLDivElement | null>(() => {\n if (typeof document === 'undefined') return null\n const div = document.createElement('div')\n div.style.display = 'contents'\n return div\n })\n\n const items = Children.toArray(children).filter((c): c is ReactElement =>\n isValidElement(c),\n )\n\n const visibleCountActual = items.reduce(\n (n, c) => n + (isToolbarHidden(c) ? 0 : 1),\n 0,\n )\n const showOverflow =\n visibleCount !== undefined && visibleCountActual > visibleCount\n\n // Indices that are visible inline when the popper is closed. When the\n // popper is open, every item is visible (in the popover). `null` means\n // \"no overflow — all items visible inline\".\n const inlineVisibleIndices = useMemo<Set<number> | null>(() => {\n if (!showOverflow || visibleCount === undefined) return null\n return computeInlineVisibleIndices(items, visibleCount)\n }, [items, visibleCount, showOverflow])\n\n // Auto-close the popper when overflow disappears (e.g. `visibleCount`\n // flips from a number to `undefined` because the consumer entered\n // fullscreen and wants every action visible inline). Without this the\n // popper component unmounts under us, `paperEl` goes null, and the host\n // would be stranded in a detached node — the toolbox visibly disappears.\n //\n // Uses React's documented \"store information from previous renders\"\n // pattern: a guarded inline `setOpen(false)` during render. The guard\n // fires at most once per transition (`open` flips false the same render\n // and the next render's predicate is false). React rebases the in-flight\n // render before commit, so the layout effect below sees `open=false`\n // immediately. See\n // https://react.dev/reference/react/useState#storing-information-from-previous-renders\n if (!showOverflow && open) {\n setOpen(false)\n }\n\n // Reparent the host into the active shell whenever `open` (or either\n // shell) changes. `useLayoutEffect` runs synchronously after commit\n // (after refs have been written), so the popover Paper ref is already\n // live when we read it. Falling back to `inlineEl` whenever `paperEl`\n // is missing handles cases where the popper has unmounted (showOverflow\n // flipped false) — the host always has a valid destination.\n useLayoutEffect(() => {\n const target = open && paperEl ? paperEl : inlineEl\n if (host && target && host.parentNode !== target) {\n target.appendChild(host)\n }\n }, [open, inlineEl, paperEl, host])\n\n if (items.length === 0) return null\n\n const tooltipLabel = open ? _labels.close : _labels.trigger\n const flexDirection = direction === 'left' ? 'row-reverse' : 'row'\n\n return (\n <Box sx={{ ...styles.root, flexDirection, ...sx }}>\n {showOverflow && (\n <>\n <Tooltip title={tooltipLabel}>\n <IconButton\n ref={handleTriggerRef}\n size='small'\n aria-label={tooltipLabel}\n aria-pressed={open}\n onClick={handleToggle}\n className={open ? 'active' : undefined}\n sx={{ ...(open && styles.triggerActive) }}\n >\n {open ? (\n <CloseIcon fontSize='small' />\n ) : (\n <Icon fontSize='small' {...iconProps} />\n )}\n </IconButton>\n </Tooltip>\n <Divider orientation='vertical' flexItem sx={{ mx: 0.5 }} />\n </>\n )}\n\n {/* Inline shell: when closed (or when there's no overflow) the host\n lives here so first-N items appear inline beside the trigger. */}\n <Box ref={setInlineEl} sx={styles.preview} />\n\n {showOverflow && (\n <Popper\n open={open}\n anchorEl={anchorEl}\n placement={direction === 'left' ? 'left' : 'right'}\n transition\n // Disable flipping so the Paper stays on the configured side\n // even when the trigger sits near a viewport edge — wrapper\n // consumers expect a stable layout.\n modifiers={[{ name: 'flip', enabled: false }]}\n // Slot the popper *above* most modal stacking, but below MUI's\n // own modal layer.\n sx={{ zIndex: 'tooltip', mt: 0 }}\n >\n {({ TransitionProps }) => (\n <Grow\n {...TransitionProps}\n style={{\n transformOrigin:\n direction === 'left' ? 'right center' : 'left center',\n }}\n >\n <Paper ref={setPaperEl} sx={styles.paper} />\n </Grow>\n )}\n </Popper>\n )}\n\n {/* Items render once into the stable host. The host's parent is\n whichever shell is currently active (inline or popper). When\n closed-with-overflow, items beyond the budget get `display: none`\n so they're mounted but invisible. The wrapper uses an inline\n `style` (not `sx`) so the visibility decision lands on the\n element itself — tests can inspect it without traversing\n generated MUI class names. */}\n {host\n ? createPortal(\n items.map((item, i) => {\n const visible =\n open || !inlineVisibleIndices || inlineVisibleIndices.has(i)\n const key = item.key ?? i\n return (\n <div\n key={key}\n data-toolbox-item-visible={visible ? 'true' : 'false'}\n style={{ display: visible ? 'contents' : 'none' }}\n >\n {item}\n </div>\n )\n }),\n host,\n )\n : null}\n </Box>\n )\n}\n\nfunction isToolbarHidden(child: ReactElement): boolean {\n // Opt-in flag callers set on slot children (e.g. dividers between groups)\n // so they don't count toward the inline visibility budget.\n const props = (\n child as unknown as { props: { 'data-toolbar-hidden'?: unknown } }\n ).props\n return props['data-toolbar-hidden'] === true\n}\n\n/**\n * Compute the set of item indices visible inline when the popper is closed.\n * Walk the items in order, accept each one until the visible budget is\n * exhausted; hidden items (dividers, etc.) accept without bumping the\n * counter. Strip trailing hidden items from the visible set so the inline\n * row doesn't end with an orphan separator.\n */\nfunction computeInlineVisibleIndices(\n items: readonly ReactElement[],\n visibleCount: number,\n): Set<number> {\n const indices: number[] = []\n let count = 0\n for (let i = 0; i < items.length; i++) {\n if (count >= visibleCount) break\n indices.push(i)\n if (!isToolbarHidden(items[i]!)) count++\n }\n // Strip trailing hidden items.\n while (\n indices.length > 0 &&\n isToolbarHidden(items[indices[indices.length - 1]!]!)\n ) {\n indices.pop()\n }\n return new Set(indices)\n}\n","export interface NoteLabels {\n showMore: string\n showLess: string\n}\n\nexport const DEFAULT_NOTE_LABELS: NoteLabels = {\n showMore: 'Show more',\n showLess: 'Show less',\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 0.5,\n },\n text: {\n color: 'text.secondary',\n overflow: 'hidden',\n overflowWrap: 'anywhere',\n },\n clamped: {\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 3,\n },\n toggle: {\n alignSelf: 'flex-start',\n color: 'primary.main',\n fontWeight: 500,\n cursor: 'pointer',\n '&:hover': { textDecoration: 'underline' },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useCallback, useEffect, useRef, useState, type ReactNode } from 'react'\nimport { Box, Link, Typography } from '@mui/material'\nimport type { Components } from 'react-markdown'\nimport { MarkdownContent } from '../markdown/markdown-content'\nimport { observeResize } from '../echart/shared-resize-observer'\nimport { DEFAULT_NOTE_LABELS, type NoteLabels } from './labels'\nimport { styles } from './style'\n\nexport interface NoteProps {\n /**\n * Maximum visible lines before clamping. Defaults to 3. Set to `0` to\n * disable clamping entirely — full content renders and the Show More/Less\n * toggle is never shown.\n */\n lineClamp?: number\n labels?: Partial<NoteLabels>\n /**\n * Renders verbatim inside the caption shell. For markdown source (a\n * string with `**bold**`, lists, links, etc.) reach for the\n * `<Note.Markdown>` subcomponent instead — it pipes the string through\n * the shared {@link MarkdownContent} engine with caption-safe element\n * mapping.\n */\n children: ReactNode\n}\n\nexport interface NoteMarkdownProps {\n /** Markdown source. Rendered with caption typography via {@link MarkdownContent}. */\n content: string\n /** Maximum visible lines before clamping. Defaults to 3. */\n lineClamp?: number\n labels?: Partial<NoteLabels>\n}\n\n/** Block element used for every Markdown paragraph and demoted heading so\n * Notes share a single caption look and never inject heading levels into\n * the document outline. */\nfunction CaptionBlock({ children }: { children?: ReactNode }) {\n return (\n <Typography\n variant='caption'\n component='p'\n sx={{\n color: 'inherit',\n m: 0,\n }}\n >\n {children}\n </Typography>\n )\n}\n\nconst NOTE_COMPONENTS: Components = {\n // Headings demoted to caption typography — a Note can't introduce a\n // heading into the page outline.\n h1: CaptionBlock,\n h2: CaptionBlock,\n h3: CaptionBlock,\n h4: CaptionBlock,\n h5: CaptionBlock,\n h6: CaptionBlock,\n p: CaptionBlock,\n // External-safe link defaults; inherit colour from the muted caption.\n a: ({ children, href }) => (\n <Link\n href={href}\n target='_blank'\n rel='noopener noreferrer'\n color='inherit'\n underline='always'\n >\n {children}\n </Link>\n ),\n}\n\n/**\n * Auxiliary slot for an optional explanatory note below a widget. Clamps to\n * `lineClamp` lines (default 3) and reveals a Show More/Less toggle when the\n * content overflows. Overflow detection re-runs on container resize via the\n * shared singleton ResizeObserver.\n *\n * Renders `children` verbatim through caption typography. For markdown\n * source, use the {@link NoteMarkdown} (`Note.Markdown`) subcomponent.\n */\nfunction NoteBase({ lineClamp = 3, labels, children }: NoteProps) {\n return (\n <NoteShell lineClamp={lineClamp} labels={labels} dependency={children}>\n <Typography\n variant='caption'\n component='div'\n sx={{\n color: 'inherit',\n }}\n >\n {children}\n </Typography>\n </NoteShell>\n )\n}\n\n/**\n * Markdown variant of {@link Note}. Pipes the `content` string through the\n * shared {@link MarkdownContent} engine with caption-safe element mapping\n * (headings demoted, links open in new tabs, images/HTML stripped).\n */\nfunction NoteMarkdown({ content, lineClamp = 3, labels }: NoteMarkdownProps) {\n return (\n <NoteShell lineClamp={lineClamp} labels={labels} dependency={content}>\n <MarkdownContent content={content} components={NOTE_COMPONENTS} />\n </NoteShell>\n )\n}\n\n// Public namespace export. Consumers reach the markdown variant via\n// `<Widget.Note.Markdown>{content}</Widget.Note.Markdown>`.\nexport const Note = Object.assign(NoteBase, { Markdown: NoteMarkdown })\n\ninterface NoteShellProps {\n lineClamp: number\n labels: Partial<NoteLabels> | undefined\n /** Used to re-measure overflow when the underlying content changes. */\n dependency: unknown\n children: ReactNode\n}\n\n/**\n * Shared shell: caption box + clamping + Show More/Less toggle. Both the\n * verbatim `Note` and the markdown `Note.Markdown` reach for this so the\n * overflow + measurement behaviour stays identical across variants.\n */\nfunction NoteShell({\n lineClamp,\n labels,\n dependency,\n children,\n}: NoteShellProps) {\n const _labels = { ...DEFAULT_NOTE_LABELS, ...labels }\n const textRef = useRef<HTMLDivElement | null>(null)\n const [isOverflowing, setIsOverflowing] = useState(false)\n const [expanded, setExpanded] = useState(false)\n const clampingDisabled = lineClamp <= 0\n\n const measure = useCallback(() => {\n const node = textRef.current\n if (!node) return\n setIsOverflowing(node.scrollHeight > node.clientHeight + 1)\n }, [])\n\n useEffect(() => {\n if (clampingDisabled) return undefined\n const node = textRef.current\n if (!node) return undefined\n measure()\n return observeResize(node, measure)\n }, [measure, dependency, clampingDisabled])\n\n const toggle = useCallback(() => setExpanded((v) => !v), [])\n const clamped = !expanded && !clampingDisabled\n const lineClampSx = clamped\n ? { ...styles.clamped, WebkitLineClamp: lineClamp }\n : null\n\n return (\n <Box sx={styles.root}>\n <Box ref={textRef} sx={{ ...styles.text, ...(lineClampSx ?? {}) }}>\n {children}\n </Box>\n {/* Stay visible while the user is in the expanded state so they always\n have a way back. Without `|| expanded` the toggle would vanish the\n moment content unclamps (scrollHeight === clientHeight). Matches v1. */}\n {!clampingDisabled && (isOverflowing || expanded) && (\n <Link\n component='button'\n variant='caption'\n underline='none'\n onClick={toggle}\n sx={styles.toggle}\n >\n {expanded ? _labels.showLess : _labels.showMore}\n </Link>\n )}\n </Box>\n )\n}\n","// ─── Internal imports (used to assemble the curated `Widget` const) ─────────\nimport { Provider } from './provider/widget-provider'\nimport {\n Wrapper,\n Actions,\n Options,\n Content,\n Footer,\n DEFAULT_WRAPPER_LABELS,\n} from './wrapper'\nimport { Subheader } from './subheader/subheader'\nimport { State } from './state/widget-state'\nimport { DEFAULT_STATE_LABELS } from './state/labels'\nimport { SelectionSummary } from './selection-summary/selection-summary'\nimport { DEFAULT_SELECTION_SUMMARY_LABELS } from './selection-summary/labels'\nimport { Toolbox } from './toolbox/toolbox'\nimport { DEFAULT_TOOLBOX_LABELS } from './toolbox/labels'\nimport { Echart, EchartUI, DEFAULT_INIT_OPTS } from './echart'\nimport { Note } from './note/widget-note'\nimport { DEFAULT_NOTE_LABELS } from './note/labels'\nimport {\n Searcher,\n SearcherToggle,\n StackToggle,\n ShowAllToggle,\n ZoomToggle,\n BrushToggle,\n RelativeData,\n Download,\n FullScreen,\n LockSelection,\n ChangeColumn,\n} from './actions'\nimport { Formula, FormulaUI } from './formula'\nimport { Markdown, MarkdownUI } from './markdown'\nimport { Spread, SpreadUI } from './spread'\nimport { Range, RangeUI } from './range'\nimport { Category, CategoryUI } from './category'\nimport { Table, TableUI } from './table'\n\n/**\n * Curated namespace export — the only way to reach v2 widget components.\n * Consumers import the const and access components via property access:\n *\n * ```tsx\n * import { Widget } from '@carto/ps-react-ui/widgets'\n *\n * <Widget.Provider id={id} data={data}>\n * <Widget.Wrapper title='Sales'>\n * <Widget.Content>\n * <Widget.State skeleton={<BarSkeleton />}>\n * <Widget.Echart optionFactory={optionFactory} />\n * </Widget.State>\n * </Widget.Content>\n * </Widget.Wrapper>\n * </Widget.Provider>\n * ```\n *\n * Component identifiers are not surfaced as separate named exports — Types\n * (props, data shapes, label types, default-label consts) and per-widget\n * subpath entries (`@carto/ps-react-ui/widgets/bar`, `…/category`,\n * `…/table`, `…/actions`, `…/stores`, `…/utils`, etc.) remain available for\n * direct import where needed.\n */\nexport const Widget = {\n // Composition shell\n Provider,\n Wrapper,\n Actions,\n Options,\n Content,\n Footer,\n Subheader,\n State,\n SelectionSummary,\n Toolbox,\n Note,\n\n // ECharts bridge\n Echart,\n EchartUI,\n\n // Actions\n Searcher,\n SearcherToggle,\n StackToggle,\n ShowAllToggle,\n ZoomToggle,\n BrushToggle,\n RelativeData,\n Download,\n FullScreen,\n LockSelection,\n ChangeColumn,\n\n // Widget primitives (renderer bridges + pure UI). Pre-composed widget\n // modules (Bar, FormulaWidget, TableWidget, etc.) are application-level\n // compositions of these primitives and live outside the library —\n // see `apps/storybook/stories/modules/widgets/` for canonical examples.\n Formula,\n FormulaUI,\n Markdown,\n MarkdownUI,\n Spread,\n SpreadUI,\n Range,\n RangeUI,\n Category,\n CategoryUI,\n Table,\n TableUI,\n} as const\n\n// ─── Default-label consts ──────────────────────────────────────────────────\n// Exported separately so consumers can build customized label sets via spread.\nexport {\n DEFAULT_WRAPPER_LABELS,\n DEFAULT_STATE_LABELS,\n DEFAULT_SELECTION_SUMMARY_LABELS,\n DEFAULT_TOOLBOX_LABELS,\n DEFAULT_NOTE_LABELS,\n DEFAULT_INIT_OPTS,\n}\n\n// ─── Types ─────────────────────────────────────────────────────────────────\n// Types are erased at runtime so they can't live on the `Widget` const.\n// They are re-exported here for direct import by consumers.\n\nexport type { ProviderProps } from './provider/widget-provider'\nexport type {\n WrapperProps,\n ActionsProps,\n OptionsProps,\n ContentProps,\n FooterProps,\n WrapperLabels,\n} from './wrapper'\nexport type { SubheaderProps } from './subheader/subheader'\nexport type { StateProps } from './state/widget-state'\nexport type { StateLabels } from './state/labels'\nexport type { SelectionSummaryProps } from './selection-summary/selection-summary'\nexport type { SelectionSummaryLabels } from './selection-summary/labels'\nexport type { ToolboxProps } from './toolbox/toolbox'\nexport type { ToolboxLabels } from './toolbox/labels'\nexport type { EchartProps, EchartUIProps, EchartsEventHandler } from './echart'\nexport type { NoteProps, NoteMarkdownProps } from './note/widget-note'\nexport type { NoteLabels } from './note/labels'\n\n// Action types\nexport type {\n SearcherProps,\n SearcherToggleProps,\n StackToggleProps,\n ShowAllToggleProps,\n ZoomToggleProps,\n BrushToggleProps,\n RelativeDataProps,\n DownloadProps,\n DownloadItem,\n FullScreenTriggerProps,\n FullScreenSlotProps,\n LockSelectionProps,\n LockSelectionKey,\n ChangeColumnProps,\n ChangeColumnItem,\n} from './actions'\n\n// Widget primitive types\nexport type {\n FormulaUIProps,\n FormulaDataItem,\n FormulaWidgetData,\n} from './formula'\nexport type { MarkdownUIProps, MarkdownWidgetData } from './markdown'\nexport type { PieDatum, PieWidgetData } from './pie'\nexport type { TimeseriesDatum, TimeseriesWidgetData } from './timeseries'\nexport type { ScatterplotDatum, ScatterplotWidgetData } from './scatterplot'\nexport type {\n SpreadUIProps,\n SpreadDataItem,\n SpreadWidgetData,\n SpreadVariant,\n} from './spread'\nexport type {\n RangeProps,\n RangeUIProps,\n RangeDataItem,\n RangeWidgetData,\n RangeItemValue,\n} from './range'\nexport type {\n CategoryProps,\n CategoryUIProps,\n CategoryDataItem,\n CategoryWidgetData,\n CategoryKey,\n CategorySeriesConfig,\n CategoryLabels,\n} from './category'\nexport type {\n TableProps,\n TableUIProps,\n TableColumn,\n TableRow,\n TableWidgetData,\n TableWidgetState,\n TableSortDirection,\n TableSortState,\n} from './table'\n\n// Canonical cross-widget series shape — see `widgets/types.ts`.\nexport type { WidgetSeries } from './types'\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import "./components-FED-ArwH.js";
2
- import { t as e } from "./tooltip-DJUGNZxY.js";
3
- import { T as t, f as n, n as r } from "./stores-tiFePP0A.js";
1
+ import "./components-CTUpdQuj.js";
2
+ import { n as e } from "./smart-tooltip-Dc_rHhyI.js";
3
+ import { T as t, f as n, n as r } from "./stores-B8CHbgw-.js";
4
4
  import { c as i } from "react/compiler-runtime";
5
5
  import { IconButton as a, useTheme as o } from "@mui/material";
6
6
  import { jsx as s } from "react/jsx-runtime";
7
7
  import { ZoomIn as c } from "@mui/icons-material";
8
- //#region src/widgets-v2/actions/zoom-toggle/transforms.ts
8
+ //#region src/widgets/actions/zoom-toggle/transforms.ts
9
9
  var l = "image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4=", u = 32, d = 0;
10
10
  function f(e, t = {}) {
11
11
  let n = t.axes ?? ["x"], r = n.includes("x"), i = n.includes("y"), a = {
@@ -160,4 +160,4 @@ function y(l) {
160
160
  //#endregion
161
161
  export { f as a, p as i, g as n, h as r, y as t };
162
162
 
163
- //# sourceMappingURL=zoom-toggle-IsF8BnAp.js.map
163
+ //# sourceMappingURL=zoom-toggle-D_VuA01l.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-toggle-D_VuA01l.js","names":["Icon = ZoomInIcon","{\n initialEnabled = false,\n labels,\n icon: Icon = ZoomInIcon,\n iconProps,\n axes,\n}: ZoomToggleProps","initialEnabled = false","{ ...DEFAULT_ZOOM_TOGGLE_LABELS, ...labels }","axes ? axes.includes('x') : true","axes ? axes.includes('y') : false","createAddZoom(theme, { axes: resolved })","useMemo(() => {\n const resolved: ZoomAxis[] = []\n if (includeX) resolved.push('x')\n if (includeY) resolved.push('y')\n return createAddZoom(theme, { axes: resolved })\n }, [theme, includeX, includeY])","{ initialEnabled }","() => {\n if (enabled) {\n // About to disable — clear the dataZoom component on the live\n // instance so the slider disappears immediately.\n getEchartInstance(id)?.setOption({}, { replaceMerge: ['dataZoom'] })\n }\n toggle()\n }","useCallback(() => {\n if (enabled) {\n // About to disable — clear the dataZoom component on the live\n // instance so the slider disappears immediately.\n getEchartInstance(id)?.setOption({}, { replaceMerge: ['dataZoom'] })\n }\n toggle()\n }, [enabled, toggle, id])","{ ...styles.toggle, ...(enabled && styles.toggleActive) }","enabled && styles.toggleActive","<Icon fontSize='small' {...iconProps} />","<IconButton\n size='small'\n aria-label={tooltip}\n aria-pressed={enabled}\n onClick={handleToggle}\n className={enabled ? 'active' : undefined}\n sx={{ ...styles.toggle, ...(enabled && styles.toggleActive) }}\n >\n <Icon fontSize='small' {...iconProps} />\n </IconButton>","enabled ? 'active' : undefined","<Tooltip title={tooltip}>\n <IconButton\n size='small'\n aria-label={tooltip}\n aria-pressed={enabled}\n onClick={handleToggle}\n className={enabled ? 'active' : undefined}\n sx={{ ...styles.toggle, ...(enabled && styles.toggleActive) }}\n >\n <Icon fontSize='small' {...iconProps} />\n </IconButton>\n </Tooltip>"],"sources":["../src/widgets/actions/zoom-toggle/transforms.ts","../src/widgets/actions/zoom-toggle/labels.ts","../src/widgets/actions/zoom-toggle/style.ts","../src/widgets/actions/zoom-toggle/zoom-toggle.tsx"],"sourcesContent":["import type { Theme } from '@mui/material'\n\n/**\n * v1's slider handle — 9×36 SVG with a white pill body, secondary-colored\n * stroke, and three grip lines. Inlined as a data URL so the chart can\n * render it without a network fetch.\n */\nconst SLIDER_HANDLE_ICON =\n 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4='\n\nconst SLIDER_HEIGHT = 32\nconst SLIDER_BOTTOM = 0\n\n/** Which chart axis (or axes) zoom applies to. */\nexport type ZoomAxis = 'x' | 'y'\n\nexport interface CreateAddZoomOptions {\n /**\n * Axes to enable zoom on. Default `['x']` (matches bar / histogram /\n * timeseries — horizontal pan/zoom on the category axis). Pass\n * `['x', 'y']` for a scatterplot-style 2D zoom (mouse-wheel scales both\n * axes; a horizontal slider sits at the bottom for x-range and a\n * vertical slider sits on the right for y-range).\n */\n axes?: readonly ZoomAxis[]\n}\n\n/**\n * Theme-bound zoom config transform: adds one inside `dataZoom`\n * (mouse-wheel + drag) per axis plus a styled slider per axis with the\n * v1 chrome (blue-tinted filler, secondary-color data preview, white\n * pill handles, CARTO typography). The x-slider is horizontal at the\n * bottom; the y-slider is vertical on the right.\n *\n * Returned function has stable identity for a given theme + axes\n * combination; pair with `useMemo` at the call site.\n *\n * **No `start` / `end`** are emitted: ECharts defaults to `0–100` on the\n * first `setOption` and then keeps the runtime slider state across\n * subsequent merges (no `replaceMerge` for `dataZoom`). Re-running the\n * transform on data/formatter/RelativeData updates therefore preserves the\n * user's dragged range instead of snapping it back.\n */\nexport function createAddZoom(\n theme: Theme,\n options: CreateAddZoomOptions = {},\n): (option: unknown) => unknown {\n const axes = options.axes ?? ['x']\n const includeX = axes.includes('x')\n const includeY = axes.includes('y')\n const sliderStyles = getZoomSliderStyles(theme)\n const baseSliderProps = {\n throttle: 0,\n showDetail: false,\n brushSelect: false,\n moveHandleSize: 8,\n handleSize: '100%',\n ...sliderStyles,\n }\n return (option: unknown): unknown => {\n if (option == null || typeof option !== 'object') return option\n const cfg = option as Record<string, unknown>\n const dataZoom: object[] = []\n if (includeX) {\n dataZoom.push({ type: 'inside', xAxisIndex: [0], throttle: 0 })\n }\n if (includeY) {\n dataZoom.push({ type: 'inside', yAxisIndex: [0], throttle: 0 })\n }\n if (includeX) {\n dataZoom.push({\n type: 'slider',\n xAxisIndex: [0],\n height: SLIDER_HEIGHT,\n bottom: SLIDER_BOTTOM,\n handleIcon: SLIDER_HANDLE_ICON,\n ...baseSliderProps,\n })\n }\n if (includeY) {\n // Vertical slider — `width` is its thickness, `right` pins it to\n // the right edge. We omit `handleIcon` so ECharts renders its\n // default vertical handle (the inline SVG is shaped for a\n // horizontal slider and looks wrong when rotated).\n dataZoom.push({\n type: 'slider',\n yAxisIndex: [0],\n width: SLIDER_HEIGHT,\n right: SLIDER_BOTTOM,\n ...baseSliderProps,\n })\n }\n return { ...cfg, dataZoom }\n }\n}\n\n/**\n * Back-compat untyped transform — produces the bare `dataZoom` config from\n * the original v2 implementation. Use {@link createAddZoom} when a theme is\n * available so the slider matches the v1 styling.\n *\n * `start` / `end` are intentionally omitted so ECharts preserves the user's\n * runtime range across subsequent `setOption` merges (see {@link createAddZoom}).\n */\nexport const addZoom = (option: unknown): unknown => {\n if (option == null || typeof option !== 'object') return option\n const cfg = option as Record<string, unknown>\n return {\n ...cfg,\n dataZoom: [\n { type: 'inside' },\n {\n type: 'slider',\n height: SLIDER_HEIGHT,\n bottom: SLIDER_BOTTOM,\n },\n ],\n }\n}\n\n/** Style block matching v1's `getEChartZoomSliderStyles`. */\nfunction getZoomSliderStyles(theme: Theme) {\n const secondary = theme.palette.secondary?.main ?? '#358BE7'\n return {\n fillerColor: 'rgba(53, 139, 231, 0.25)',\n borderColor: 'rgba(53, 139, 231, 0.3)',\n borderWidth: 0.5,\n backgroundColor: 'transparent',\n borderRadius: 4,\n dataBackground: {\n lineStyle: { opacity: 0 },\n areaStyle: { opacity: 1, color: secondary },\n },\n selectedDataBackground: {\n lineStyle: { opacity: 0 },\n areaStyle: { opacity: 1, color: secondary },\n },\n handleStyle: {\n color: theme.palette.common?.white ?? '#fff',\n borderColor: 'rgba(3, 111, 226, 0.08)',\n borderWidth: 1,\n shadowBlur: 3,\n shadowColor: 'rgba(0, 0, 0, 0.1)',\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n },\n textStyle: {\n color: theme.palette.black?.[60] ?? theme.palette.text?.primary,\n fontSize: parseInt(\n (theme.typography.overlineDelicate?.fontSize as string | undefined) ??\n '11',\n ),\n fontFamily:\n theme.typography.overlineDelicate?.fontFamily ??\n theme.typography.caption?.fontFamily,\n },\n }\n}\n\n/**\n * Visual layout constants used by the data-fusion mergers (bar, histogram,\n * timeseries) when laying out the slider against the legend / grid.\n */\nexport const ZOOM_LAYOUT = {\n /** Slider height in px (matches `createAddZoom` output). */\n sliderHeight: SLIDER_HEIGHT,\n /** Vertical gap between chart grid and the slider. */\n sliderGap: 8,\n /** Slider `bottom` when a legend is shown — sits above the legend row. */\n sliderBottomWithLegend: 28,\n} as const\n","export interface ZoomToggleLabels {\n on: string\n off: string\n}\n\nexport const DEFAULT_ZOOM_TOGGLE_LABELS: ZoomToggleLabels = {\n on: 'Disable zoom',\n off: 'Enable zoom',\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n toggle: {\n p: 0.5,\n '& .MuiSvgIcon-root': { fontSize: 20 },\n },\n toggleActive: {\n background: (theme: Theme) => theme.palette.primary.relatedLight,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useCallback, useMemo, type ComponentType } from 'react'\nimport { IconButton, useTheme, type SvgIconProps } from '@mui/material'\nimport { ZoomIn as ZoomInIcon } from '@mui/icons-material'\nimport { Tooltip } from '../../../components'\nimport {\n getEchartInstance,\n useSingleTransform,\n useWidgetId,\n} from '../../stores'\nimport { createAddZoom, type ZoomAxis } from './transforms'\nimport { DEFAULT_ZOOM_TOGGLE_LABELS, type ZoomToggleLabels } from './labels'\nimport { styles } from './style'\n\nconst ZOOM_DESCRIPTOR = {\n id: 'zoom-toggle',\n type: 'config' as const,\n order: 20,\n}\n\nexport interface ZoomToggleProps {\n initialEnabled?: boolean\n labels?: Partial<ZoomToggleLabels>\n icon?: ComponentType<SvgIconProps>\n iconProps?: SvgIconProps\n /**\n * Which axes the zoom controls. Default `['x']` — matches bar /\n * histogram / timeseries (horizontal pan on the category axis). Pass\n * `['x', 'y']` for 2D zoom on a scatterplot-style chart (mouse-wheel\n * scales both axes; horizontal slider at bottom + vertical slider on\n * the right).\n */\n axes?: readonly ZoomAxis[]\n}\n\n/**\n * Toggle a `dataZoom` slider + wheel-zoom on the chart. The transform is\n * theme-bound so the slider gets v1's CARTO chrome (blue-tinted filler,\n * secondary-color preview, white pill handles).\n *\n * `dataZoom` is intentionally NOT in `replaceMergeKeys` — ECharts merges\n * subsequent `setOption` calls so the user's dragged range survives\n * unrelated re-renders (data updates, formatter swaps, RelativeData toggles).\n *\n * On disable the transform is unregistered, but ECharts' merge semantics\n * would otherwise *keep* the live `dataZoom` component visible. To remove\n * the slider immediately we issue a one-shot\n * `setOption({}, { replaceMerge: ['dataZoom'] })` against the live chart\n * instance via {@link getEchartInstance} — this bypasses the pipeline so\n * unrelated transforms aren't disturbed.\n */\nexport function ZoomToggle({\n initialEnabled = false,\n labels,\n icon: Icon = ZoomInIcon,\n iconProps,\n axes,\n}: ZoomToggleProps) {\n const id = useWidgetId()\n const theme = useTheme()\n const _labels = { ...DEFAULT_ZOOM_TOGGLE_LABELS, ...labels }\n // Reduce `axes` to two structural booleans before memoizing so the memo\n // depends on stable primitive values, not an array reference (callers\n // typically pass an inline `axes={['x', 'y']}` literal that changes\n // identity each render). Default — no `axes` prop — is x-axis only,\n // matching `createAddZoom`'s default.\n const includeX = axes ? axes.includes('x') : true\n const includeY = axes ? axes.includes('y') : false\n const transform = useMemo(() => {\n const resolved: ZoomAxis[] = []\n if (includeX) resolved.push('x')\n if (includeY) resolved.push('y')\n return createAddZoom(theme, { axes: resolved })\n }, [theme, includeX, includeY])\n const { enabled, toggle } = useSingleTransform(\n id,\n ZOOM_DESCRIPTOR,\n transform,\n { initialEnabled },\n )\n\n const handleToggle = useCallback(() => {\n if (enabled) {\n // About to disable — clear the dataZoom component on the live\n // instance so the slider disappears immediately.\n getEchartInstance(id)?.setOption({}, { replaceMerge: ['dataZoom'] })\n }\n toggle()\n }, [enabled, toggle, id])\n\n const tooltip = enabled ? _labels.on : _labels.off\n\n return (\n <Tooltip title={tooltip}>\n <IconButton\n size='small'\n aria-label={tooltip}\n aria-pressed={enabled}\n onClick={handleToggle}\n className={enabled ? 'active' : undefined}\n sx={{ ...styles.toggle, ...(enabled && styles.toggleActive) }}\n >\n <Icon fontSize='small' {...iconProps} />\n </IconButton>\n </Tooltip>\n )\n}\n"],"mappings":"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"}