@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,166 +1,483 @@
1
+ import { useCallback, useMemo, useRef, useState } from 'react'
1
2
  import { Box, useTheme } from '@mui/material'
2
- import { useWidgetSelector } from '../stores/use-widget-selector'
3
- import { styles } from './style'
4
- import type { CategoryUIProps, CategoryWidgetState } from './types'
5
3
  import { CategoryRowSingle } from './components/category-row-single'
6
4
  import { CategoryRowMulti } from './components/category-row-multi'
5
+ import { CategoryRowStacked } from './components/category-row-stacked'
7
6
  import { CategoryRowOther } from './components/category-row-other'
8
7
  import { CategoryLegend } from './components/category-legend'
9
- import { useState } from 'react'
10
- import { defaultFormatter, defaultLabelFormatter } from '../utils/formatter'
11
- import { useWidgetRef } from '../../hooks'
8
+ import type {
9
+ CategoryKey,
10
+ CategoryLabels,
11
+ CategorySeriesConfig,
12
+ CategorySize,
13
+ CategoryWidgetData,
14
+ } from './types'
15
+ import { styles } from './style'
16
+ import { resolveThemeColor } from '../utils'
17
+
18
+ const DEFAULT_MAX_ITEMS = 20
19
+
20
+ // Fallback viewport height used in scroll mode ONLY when no natural
21
+ // measurement is available yet — i.e., the consumer mounts directly into
22
+ // `maxItems === 0` (e.g., SearcherToggle pre-enabled), so the list has
23
+ // never rendered in capped form for us to measure.
24
+ //
25
+ // small: label(~20) + gap(4) + bar(4) + list-gap(8) ≈ 36
26
+ // medium: label(~20) + gap(4) + bar(12) + list-gap(8) ≈ 44
27
+ const ROW_HEIGHT_PX: Record<CategorySize, number> = { small: 36, medium: 44 }
28
+ const SCROLL_VIEWPORT_FALLBACK_ROWS = 8
29
+
30
+ export interface CategoryUIProps {
31
+ data: CategoryWidgetData
32
+ /** Currently-selected category names (destination-owned). */
33
+ selection?: readonly CategoryKey[]
34
+ /** Fires with the next selection set when a row is clicked. */
35
+ onSelectionChange?: (next: readonly CategoryKey[]) => void
36
+ /** Number formatter applied to each row's value. */
37
+ formatter?: (value: number) => string
38
+ /**
39
+ * Display-only transform for category names. Selection callbacks always
40
+ * receive the raw `item.name` regardless of this formatter.
41
+ */
42
+ labelFormatter?: (value: string | number) => string | number
43
+ /**
44
+ * Per-series metadata. Enables the legend (for multi-series) and
45
+ * overrides palette colors per series index. Length need not match
46
+ * `data.length`; mismatches degrade gracefully (extras ignored, gaps
47
+ * fall back to palette).
48
+ */
49
+ series?: readonly CategorySeriesConfig[]
50
+ /**
51
+ * Caps the number of visible category rows.
52
+ *
53
+ * - `undefined` (omitted) — caps at {@link DEFAULT_MAX_ITEMS} (20).
54
+ * Surplus rows fold into a single "Others <count>" footer row.
55
+ * `undefined` cannot mean "no cap" because it's consumed by the
56
+ * default-parameter syntax — pass `null` instead.
57
+ * - positive finite N — same as the default but with a custom cap.
58
+ * - `0` — **no cap WITH scroll**: every row renders inside a
59
+ * fixed-height viewport that scrolls internally. The viewport's
60
+ * max-height is the list's natural `clientHeight` measured on the
61
+ * first render where the list was NOT in scroll mode (i.e., the
62
+ * capped view) — frozen for the component's lifetime. If the
63
+ * consumer mounts directly into scroll mode and we never see a
64
+ * capped render, the viewport falls back to `8 × ROW_HEIGHT_PX`.
65
+ * Composers flip into this mode while the user is searching
66
+ * (`maxItems = searcherOpen ? 0 : userMaxItems`) so the widget
67
+ * card height stays stable.
68
+ * - `null` / `Infinity` / negative — **no cap, no scroll**: render
69
+ * every row; the list grows with content. Matches v1's "undefined"
70
+ * behavior. Use `null` as the canonical explicit form.
71
+ */
72
+ maxItems?: number | null
73
+ /** Labels for the "Other" overflow row. `{count}` placeholder is replaced. */
74
+ labels?: CategoryLabels
75
+ /**
76
+ * When provided, the "Other" overflow row becomes a button — clicking it
77
+ * fires `onShowAll`, which a composer typically wires to expand the widget
78
+ * (drop the row cap) so every category becomes reachable. When omitted the
79
+ * overflow row stays a static summary.
80
+ */
81
+ onShowAll?: () => void
82
+ /** Manual override for the bar-width denominator. */
83
+ maxOverride?: number
84
+ /**
85
+ * Visual density of the bar primitive. `'small'` (default) keeps the
86
+ * historical 4px-tall pill; `'medium'` switches to a 12px-tall track
87
+ * with a 2px corner radius. Only the bar track + fill change.
88
+ */
89
+ size?: CategorySize
90
+ /**
91
+ * Multi-series stacked mode. When `true` and `data.length > 1`, each
92
+ * category renders as a single segmented bar (one segment per series)
93
+ * with a `formatter(sum)` total in the header and a per-series
94
+ * breakdown line below. Composers typically thread this from
95
+ * `useTransformEnabled(id, 'stack-toggle')`.
96
+ *
97
+ * No-op for single-series data — same convention as the legend.
98
+ */
99
+ stacked?: boolean
100
+ }
101
+
102
+ interface GroupedRow {
103
+ name: CategoryKey
104
+ values: number[]
105
+ /** Per-series per-row color override (first non-undefined wins). */
106
+ rowColors: (string | undefined)[]
107
+ }
12
108
 
13
109
  /**
14
- * Renders a category widget displaying horizontal bars for categorical data with support for single and multi-series layouts, selection, and overflow grouping.
110
+ * The hidden set as the chart applies it: indices past the current series
111
+ * count are ignored, and an all-hidden result falls back to all visible.
112
+ * The stored set is never rewritten from here, so hidden indices survive a
113
+ * data shrink and come back if the data regrows.
15
114
  */
16
- export function CategoryUI({ id }: CategoryUIProps) {
17
- const { ref } = useWidgetRef<HTMLDivElement>(id)
18
- const theme = useTheme()
115
+ function effectiveHidden(
116
+ hidden: ReadonlySet<number>,
117
+ seriesCount: number,
118
+ ): Set<number> {
119
+ const clamped = new Set([...hidden].filter((i) => i < seriesCount))
120
+ return clamped.size >= seriesCount ? new Set<number>() : clamped
121
+ }
19
122
 
20
- // Single consolidated subscription instead of 9 separate ones.
21
- const {
22
- _formatter,
23
- _labelFormatter,
24
- _series,
25
- data,
26
- maxItems,
27
- labels,
28
- onRowClick,
29
- selected,
30
- max,
31
- } = useWidgetSelector(id, (w) => {
32
- const cw = w as CategoryWidgetState | undefined
33
- return {
34
- _formatter: cw?.formatter,
35
- _labelFormatter: cw?.labelFormatter,
36
- _series: cw?.series,
37
- data: cw?.data,
38
- maxItems: cw?.maxItems,
39
- labels: cw?.labels,
40
- onRowClick: cw?.onRowClick,
41
- selected: cw?.selected,
42
- max: cw?.max,
123
+ /**
124
+ * Group items by `name` across series so each unique name produces one
125
+ * row containing N values (zero-filled where a series has no entry for
126
+ * that name). First-seen order across series is preserved.
127
+ *
128
+ * Ported from v1
129
+ * (`packages/react-ui/src/widgets/category/category-ui.tsx:137-166`)
130
+ * with readonly typing + per-row color capture.
131
+ */
132
+ function generateGroupedData(data: CategoryWidgetData): GroupedRow[] {
133
+ if (!data || data.length === 0) return []
134
+ const seriesCount = Math.max(data.length, 1)
135
+ const grouped = new Map<CategoryKey, GroupedRow>()
136
+ const order: CategoryKey[] = []
137
+ for (let s = 0; s < data.length; s++) {
138
+ const series = data[s] ?? []
139
+ for (const item of series) {
140
+ let row = grouped.get(item.name)
141
+ if (!row) {
142
+ row = {
143
+ name: item.name,
144
+ values: new Array<number>(seriesCount).fill(0),
145
+ rowColors: new Array<string | undefined>(seriesCount).fill(undefined),
146
+ }
147
+ grouped.set(item.name, row)
148
+ order.push(item.name)
149
+ }
150
+ row.values[s] = item.value
151
+ row.rowColors[s] = item.color
43
152
  }
44
- })
153
+ }
154
+ return order.map((k) => grouped.get(k)!)
155
+ }
156
+
157
+ /**
158
+ * Pure presentational component for the Category widget. Renders
159
+ * single-series rows (`data.length === 1`) as a compact grid or
160
+ * multi-series rows (`data.length > 1`) as stacked-bar groups, capped at
161
+ * `maxItems` with an overflow summary, and an optional sticky color
162
+ * legend when `series` metadata is supplied.
163
+ *
164
+ * Selection is destination-owned: clicking a row fires
165
+ * `onSelectionChange(next)` with the toggled set; the consumer keeps the
166
+ * list in their own store. `aria-pressed` + Enter/Space keyboard
167
+ * activation give full a11y parity with the mouse path.
168
+ *
169
+ * Returns `null` when there's nothing to render — `Widget.State` is the
170
+ * empty-state authority in the canonical compositor.
171
+ */
172
+ export function CategoryUI({
173
+ data,
174
+ selection,
175
+ onSelectionChange,
176
+ formatter,
177
+ labelFormatter,
178
+ series,
179
+ maxItems = DEFAULT_MAX_ITEMS,
180
+ labels,
181
+ onShowAll,
182
+ maxOverride,
183
+ size = 'small',
184
+ stacked = false,
185
+ }: CategoryUIProps) {
186
+ const theme = useTheme()
187
+ const fmt = formatter ?? ((n: number) => String(n))
45
188
 
46
- const formatter = _formatter ?? defaultFormatter
47
- const labelFormatter = _labelFormatter ?? defaultLabelFormatter
48
- const series = _series ?? []
189
+ const hasSelection = !!selection && selection.length > 0
190
+ const selectionSet = useMemo(
191
+ () => new Set<CategoryKey>(selection ?? []),
192
+ [selection],
193
+ )
49
194
 
50
- const [maxHeight] = useState<string | number | undefined>(
51
- maxItems ? 40 * (series.length || 1) * maxItems : undefined,
195
+ const toggle = useCallback(
196
+ (name: CategoryKey) => {
197
+ if (!onSelectionChange) return
198
+ const cur = selection ?? []
199
+ const next = cur.includes(name)
200
+ ? cur.filter((n) => n !== name)
201
+ : [...cur, name]
202
+ onSelectionChange(next)
203
+ },
204
+ [onSelectionChange, selection],
52
205
  )
53
206
 
54
- const qualitativeColors = Object.values(theme.palette.qualitative.bold)
207
+ // Palette: same convention as Bar/Pie/Histogram/Scatterplot/Timeseries v2.
208
+ const paletteColors = useMemo<readonly string[]>(
209
+ () => [
210
+ theme.palette.secondary.main,
211
+ ...Object.values(
212
+ (theme.palette as { qualitative?: { bold?: Record<string, string> } })
213
+ .qualitative?.bold ?? {},
214
+ ),
215
+ ],
216
+ [theme],
217
+ )
55
218
 
56
- const colors =
57
- series.length > 0
58
- ? series.map(
59
- (s, index: number) =>
60
- s.color ??
61
- qualitativeColors[index % qualitativeColors.length] ??
62
- theme.palette.secondary.main,
63
- )
64
- : [theme.palette.secondary.main]
219
+ // Resolved here, not at the paint site: the bars and the legend dot use
220
+ // inline `style` to keep emotion from minting a class per value/colour
221
+ // pair, and inline style has no theme resolver behind it — a caller's
222
+ // `'primary.main'` would reach the DOM verbatim and paint nothing.
223
+ const colorAt = useCallback(
224
+ (seriesIndex: number, rowColor?: string): string => {
225
+ const override = rowColor ?? series?.[seriesIndex]?.color
226
+ if (override) return resolveThemeColor(theme, override) ?? override
227
+ return (
228
+ paletteColors[seriesIndex % paletteColors.length] ??
229
+ theme.palette.secondary.main
230
+ )
231
+ },
232
+ [series, paletteColors, theme],
233
+ )
65
234
 
66
- // Group data items by name to support multi-series display
67
- // data is CategoryDataItem[][] where data[seriesIndex] contains items for that series
68
- const groupedData = generateGroupedData({ data })
235
+ // Dim color for non-selected rows when a selection exists. Swapped in
236
+ // at the bar-fill level only — text + track stay at their real colors.
237
+ // Theme-driven so it survives palette swaps.
238
+ const dimColor = theme.palette.action.disabled
69
239
 
70
- if (groupedData.length === 0) {
71
- return null
240
+ const grouped = useMemo(() => generateGroupedData(data), [data])
241
+
242
+ const maxValue = useMemo(() => {
243
+ if (typeof maxOverride === 'number' && maxOverride > 0) return maxOverride
244
+ let m = 0
245
+ for (const row of grouped) {
246
+ for (const v of row.values) if (v > m) m = v
247
+ }
248
+ return m
249
+ }, [grouped, maxOverride])
250
+
251
+ // Three modes:
252
+ // * positive finite N (default `DEFAULT_MAX_ITEMS = 20` when prop
253
+ // omitted): cap at N rows; surplus folds into "Others <count>".
254
+ // * `0`: no cap WITH scroll — every row renders, the list locks to a
255
+ // fixed viewport and scrolls internally. Composers use this to
256
+ // bypass pagination while the user is searching:
257
+ // `maxItems = searcherOpen ? 0 : userMaxItems`
258
+ // * `null` / `Infinity` / negative: no cap, no scroll — every row
259
+ // renders and the list grows with content. `null` is the canonical
260
+ // explicit form (`undefined` is consumed by the default param above).
261
+ const scrollMode = maxItems === 0
262
+
263
+ // Natural-height measurement. In scroll mode (`maxItems === 0`,
264
+ // set by the composer when the SearcherToggle is open) every row
265
+ // renders inside a scrollable viewport. The viewport's max-height
266
+ // must match the pre-overflow content area — i.e., whatever the
267
+ // list was rendering BEFORE the composer dropped the cap.
268
+ //
269
+ // We measure the list's `clientHeight` exactly once, the first time
270
+ // it attaches while NOT in scroll mode (otherwise we'd capture the
271
+ // wrong layout). Once set, `naturalHeight` is the lock anchor
272
+ // forever — matches v1's frozen-at-mount semantics, just with a
273
+ // real DOM measurement instead of a hard-coded constant.
274
+ //
275
+ // Implemented via a callback ref instead of `useLayoutEffect` so
276
+ // setState fires during commit, not inside an effect — satisfies
277
+ // the `react-hooks/set-state-in-effect` rule. React invokes
278
+ // callback refs on attach (and re-invokes them when the callback
279
+ // identity changes, which it does when `scrollMode` flips), so
280
+ // toggling the searcher off after a scroll-mode mount triggers the
281
+ // first measurement at that point.
282
+ //
283
+ // Fallback: if the consumer never lands a non-scroll render
284
+ // (e.g., searcher pre-enabled and never closed), `naturalHeight`
285
+ // stays `null` → viewport falls back to `8 × ROW_HEIGHT_PX`.
286
+ const measuredRef = useRef(false)
287
+ const [naturalHeight, setNaturalHeight] = useState<number | null>(null)
288
+ const listRefCallback = useCallback(
289
+ (node: HTMLDivElement | null) => {
290
+ if (!node) return
291
+ if (measuredRef.current) return
292
+ if (scrollMode) return
293
+ const h = node.clientHeight
294
+ if (h > 0) {
295
+ measuredRef.current = true
296
+ setNaturalHeight(h)
297
+ }
298
+ },
299
+ [scrollMode],
300
+ )
301
+
302
+ // Which series are hidden via a legend click. Local UI-only state — not
303
+ // synced to `selection`/`onSelectionChange` (that's row-level filter
304
+ // selection, unrelated). Never allowed to reach "every series hidden":
305
+ // toggling the last visible one instead resets to "all visible" rather
306
+ // than leaving the widget blank.
307
+ const [hiddenSeries, setHiddenSeries] = useState<ReadonlySet<number>>(
308
+ () => new Set(),
309
+ )
310
+ // A reload with a different series breakdown invalidates hidden indices —
311
+ // index 2 may now point at an entirely different series. Reset rather
312
+ // than keep hiding whatever now occupies a stale index. Adjusted directly
313
+ // during render (React's documented "adjusting state when a prop changes"
314
+ // pattern) instead of in a `useEffect`, which would commit the stale
315
+ // hidden-set for one extra frame before the effect fires. Compared by a
316
+ // content-derived key, not the raw `series` reference — an inline
317
+ // `series={[...]}` literal (no useMemo) gets a new reference on every
318
+ // unrelated parent re-render, which would otherwise reset hiddenSeries
319
+ // right after the user hides one.
320
+ const seriesKey = JSON.stringify(series?.map((s) => s.name) ?? [])
321
+ const [prevSeriesKey, setPrevSeriesKey] = useState(seriesKey)
322
+ if (seriesKey !== prevSeriesKey) {
323
+ setPrevSeriesKey(seriesKey)
324
+ setHiddenSeries(new Set())
72
325
  }
326
+ // Real number of data series — NOT `series?.length`, which is legend
327
+ // metadata and may legitimately be shorter than the actual series count
328
+ // (unnamed trailing series fall back to `Series N`). Using the metadata
329
+ // length here would trip the "never fully hidden" guard early whenever
330
+ // `series` is shorter than `data`.
331
+ const seriesCount = Math.max(data.length, 1)
332
+ const toggleSeries = useCallback(
333
+ (index: number) => {
334
+ setHiddenSeries((prev) => {
335
+ // Start from what the user sees, not the stored set: `data` can
336
+ // shrink while the `series` names hold (the reset only watches the
337
+ // names), and a stale index would otherwise count toward the guard
338
+ // below — or make unchecking one series hide a different one.
339
+ const next = effectiveHidden(prev, seriesCount)
340
+ if (next.has(index)) next.delete(index)
341
+ else next.add(index)
342
+ return next.size >= seriesCount ? new Set() : next
343
+ })
344
+ },
345
+ [seriesCount],
346
+ )
347
+
348
+ if (grouped.length === 0) return null
73
349
 
74
- const maxValue =
75
- max ?? Math.max(...groupedData.flatMap((item) => item.values))
350
+ const hasCap =
351
+ typeof maxItems === 'number' && Number.isFinite(maxItems) && maxItems > 0
352
+ const visible = hasCap ? grouped.slice(0, maxItems) : grouped
353
+ const hiddenCount = hasCap ? grouped.length - visible.length : 0
76
354
 
77
- // Slice data to maxItems and compute hidden count
78
- const visibleData =
79
- maxItems !== undefined && maxItems >= 0
80
- ? groupedData.slice(0, maxItems)
81
- : groupedData
355
+ const isMulti = data.length > 1
356
+ const hasLegend = isMulti && !!series && series.length > 0
357
+ // Invariant across every row in this render — only depends on
358
+ // `hiddenSeries`/`seriesCount`, not on any particular row's data — so
359
+ // it's computed once here instead of per row inside the render loop.
360
+ const activeHidden = effectiveHidden(hiddenSeries, seriesCount)
361
+ const visibleIdx = Array.from({ length: seriesCount }, (_, i) => i).filter(
362
+ (i) => !activeHidden.has(i),
363
+ )
82
364
 
83
- const hiddenCount = groupedData.length - visibleData.length
84
- const isMulti = series.length > 1
365
+ // Fallback viewport height matches the documented "8 × ROW_HEIGHT_PX"
366
+ // (see the constants at the top of the file). Earlier code multiplied
367
+ // this by `seriesCount`, making a 3-series widget render 3× the
368
+ // intended viewport on the first frame before `naturalHeight` was
369
+ // measured — a visible layout jump.
370
+ const scrollMaxHeight = scrollMode
371
+ ? (naturalHeight ?? ROW_HEIGHT_PX[size] * SCROLL_VIEWPORT_FALLBACK_ROWS)
372
+ : undefined
85
373
 
86
374
  return (
87
- <Box
88
- ref={ref}
89
- sx={{
90
- ...styles.root,
91
- }}
92
- >
375
+ <Box sx={styles.root}>
93
376
  <Box
94
- sx={styles.list}
95
- style={{ maxHeight, overflow: hiddenCount === 0 ? 'auto' : 'hidden' }}
377
+ ref={listRefCallback}
378
+ sx={scrollMode ? { ...styles.list, ...styles.listScroll } : styles.list}
379
+ style={
380
+ scrollMaxHeight !== undefined
381
+ ? { maxHeight: scrollMaxHeight, overflowY: 'auto' }
382
+ : undefined
383
+ }
96
384
  >
97
- {isMulti
98
- ? visibleData.map((item) => (
385
+ {visible.map((row) => {
386
+ const selected = selectionSet.has(row.name)
387
+ const dimmed = hasSelection && !selected
388
+ const displayName = labelFormatter
389
+ ? labelFormatter(row.name)
390
+ : undefined
391
+ // When the row is dimmed, every series' bar fill is replaced
392
+ // with `dimColor`. Text + track are untouched. This is the
393
+ // ONLY visual difference between selected and non-selected
394
+ // rows — no row-level opacity, no `rowSelected` bg tint.
395
+ const fill = (i: number): string =>
396
+ dimmed ? dimColor : colorAt(i, row.rowColors[i])
397
+ // Series hidden via the legend are dropped before reaching the
398
+ // row components — they render whatever arrays they're given
399
+ // with no notion of "hidden" themselves. `visibleIdx` is hoisted
400
+ // above this loop (same for every row).
401
+ if (isMulti) {
402
+ if (stacked) {
403
+ // Stacked-mode branch: one segmented bar per row. Toggling
404
+ // `stacked` after the natural-height measurement does NOT
405
+ // re-trigger measurement (see the `naturalHeight` comment
406
+ // above) — accepted trade-off: stacked rows have a slightly
407
+ // different height, so the scroll viewport may show extra
408
+ // whitespace after the toggle. Visual only, not functional.
409
+ // Stacked rows are per-row normalized — they don't take
410
+ // the global `maxValue`. Each row's bar fills 100% of the
411
+ // track and the segments split it by `value_i / sum`. The
412
+ // numeric total in the header preserves the per-row
413
+ // magnitude information.
414
+ return (
415
+ <CategoryRowStacked
416
+ key={String(row.name)}
417
+ name={row.name}
418
+ displayName={displayName}
419
+ values={visibleIdx.map((i) => row.values[i]!)}
420
+ colors={visibleIdx.map((i) => fill(i))}
421
+ seriesNames={visibleIdx.map(
422
+ (i) => series?.[i]?.name ?? `Series ${i + 1}`,
423
+ )}
424
+ formatter={fmt}
425
+ selected={selected}
426
+ onToggle={toggle}
427
+ size={size}
428
+ />
429
+ )
430
+ }
431
+ return (
99
432
  <CategoryRowMulti
100
- key={item.name}
101
- name={item.name}
102
- values={item.values}
433
+ key={String(row.name)}
434
+ name={row.name}
435
+ displayName={displayName}
436
+ values={visibleIdx.map((i) => row.values[i]!)}
437
+ colors={visibleIdx.map((i) => fill(i))}
103
438
  maxValue={maxValue}
104
- colors={colors}
105
- formatter={formatter}
106
- labelFormatter={labelFormatter}
107
- onClick={onRowClick}
108
- selected={selected?.(item.name) ?? true}
439
+ formatter={fmt}
440
+ selected={selected}
441
+ onToggle={toggle}
442
+ size={size}
109
443
  />
110
- ))
111
- : visibleData.map((item) => (
112
- <CategoryRowSingle
113
- key={item.name}
114
- name={item.name}
115
- value={item.values[0] ?? 0}
116
- selected={selected?.(item.name) ?? true}
117
- maxValue={maxValue}
118
- color={colors[0]!}
119
- formatter={formatter}
120
- labelFormatter={labelFormatter}
121
- onClick={onRowClick}
122
- />
123
- ))}
444
+ )
445
+ }
446
+ return (
447
+ <CategoryRowSingle
448
+ key={String(row.name)}
449
+ name={row.name}
450
+ displayName={displayName}
451
+ value={row.values[0] ?? 0}
452
+ maxValue={maxValue}
453
+ color={fill(0)}
454
+ formatter={fmt}
455
+ selected={selected}
456
+ onToggle={toggle}
457
+ size={size}
458
+ />
459
+ )
460
+ })}
124
461
  {hiddenCount > 0 && (
125
462
  <CategoryRowOther
126
463
  hiddenCount={hiddenCount}
127
464
  otherLabel={labels?.other}
128
465
  otherCountLabel={labels?.otherCount}
466
+ showAllLabel={labels?.showAll}
467
+ onShowAll={onShowAll}
129
468
  />
130
469
  )}
131
470
  </Box>
132
- {series.length > 0 && <CategoryLegend series={series} colors={colors} />}
471
+ {hasLegend && series && (
472
+ <CategoryLegend
473
+ // Trimmed: `series` is caller metadata and may outrun `data`,
474
+ // and an entry with no data behind it has nothing to hide.
475
+ series={series.slice(0, seriesCount)}
476
+ colorAt={(i) => colorAt(i)}
477
+ hiddenSeries={activeHidden}
478
+ onToggle={toggleSeries}
479
+ />
480
+ )}
133
481
  </Box>
134
482
  )
135
483
  }
136
-
137
- function generateGroupedData({
138
- data,
139
- }: {
140
- data: { name: string; value: number }[][] | undefined
141
- }) {
142
- if (!data || data.length === 0) return []
143
-
144
- const seriesCount = Math.max(data.length, 1)
145
- const grouped = new Map<string, number[]>()
146
- const nameOrder: string[] = []
147
-
148
- // Iterate over each series (outer array)
149
- for (let seriesIndex = 0; seriesIndex < data.length; seriesIndex++) {
150
- const seriesData = data[seriesIndex]!
151
- for (const item of seriesData) {
152
- let values = grouped.get(item.name)
153
- if (!values) {
154
- values = new Array<number>(seriesCount).fill(0)
155
- grouped.set(item.name, values)
156
- nameOrder.push(item.name)
157
- }
158
- values[seriesIndex] = item.value
159
- }
160
- }
161
-
162
- return nameOrder.map((name) => ({
163
- name,
164
- values: grouped.get(name)!,
165
- }))
166
- }
@@ -1,3 +1,4 @@
1
+ import type { CssColor } from '../../../components/types'
1
2
  import { Box } from '@mui/material'
2
3
  import type { CategorySize } from '../types'
3
4
  import { styles } from '../style'
@@ -6,7 +7,7 @@ export interface CategoryBarStackedProps {
6
7
  /** One value per series. Zero values render no segment (visually + in the DOM). */
7
8
  values: readonly number[]
8
9
  /** One color per series. Resolved upstream by `CategoryUI.colorAt`. */
9
- colors: readonly string[]
10
+ colors: readonly CssColor[]
10
11
  /**
11
12
  * Shared denominator across all rows + series (or `maxOverride`). Same
12
13
  * value `CategoryBar` uses — segments scale identically to single-bar rows