@carto/ps-react-ui 5.0.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 (1137) hide show
  1. package/dist/{actions-yPZwFxSZ.js → actions-KsX1xdDM.js} +388 -368
  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-DeBgdOtX.js → echart-DjcbtKgi.js} +34 -35
  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-v2 → widgets}/actions/fullscreen/style.d.ts +9 -0
  72. package/dist/types/widgets/actions/fullscreen/types.d.ts +13 -20
  73. package/dist/types/widgets/actions/index.d.ts +10 -20
  74. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +54 -16
  75. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +36 -21
  76. package/dist/types/{widgets-v2 → widgets}/actions/relative-data/transforms.d.ts +2 -2
  77. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +21 -16
  78. package/dist/types/widgets/actions/searcher/searcher.d.ts +9 -19
  79. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +10 -17
  80. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +7 -8
  81. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +31 -22
  82. package/dist/types/widgets/bar/index.d.ts +3 -2
  83. package/dist/types/widgets/bar/skeleton.d.ts +5 -0
  84. package/dist/types/widgets/bar/types.d.ts +46 -9
  85. package/dist/types/widgets/category/category-ui.d.ts +86 -3
  86. package/dist/types/{widgets-v2 → widgets}/category/components/category-bar-stacked.d.ts +2 -1
  87. package/dist/types/widgets/category/components/category-bar.d.ts +18 -4
  88. package/dist/types/widgets/category/components/category-legend.d.ts +30 -4
  89. package/dist/types/widgets/category/components/category-row-multi.d.ts +27 -10
  90. package/dist/types/widgets/category/components/category-row-other.d.ts +19 -2
  91. package/dist/types/widgets/category/components/category-row-single.d.ts +23 -9
  92. package/dist/types/{widgets-v2 → widgets}/category/components/category-row-stacked.d.ts +2 -1
  93. package/dist/types/widgets/category/index.d.ts +10 -14
  94. package/dist/types/widgets/category/skeleton.d.ts +11 -1
  95. package/dist/types/widgets/category/style.d.ts +155 -83
  96. package/dist/types/widgets/category/types.d.ts +49 -29
  97. package/dist/types/widgets/echart/echart-ui.d.ts +44 -9
  98. package/dist/types/widgets/echart/echart.d.ts +80 -5
  99. package/dist/types/widgets/echart/index.d.ts +4 -5
  100. package/dist/types/widgets/echart/shared-resize-observer.d.ts +2 -9
  101. package/dist/types/{widgets-v2 → widgets}/echart/style.d.ts +1 -0
  102. package/dist/types/widgets/formula/formula-ui.d.ts +18 -3
  103. package/dist/types/widgets/formula/index.d.ts +11 -11
  104. package/dist/types/{widgets-v2 → widgets}/formula/series.d.ts +2 -1
  105. package/dist/types/widgets/formula/skeleton.d.ts +4 -1
  106. package/dist/types/widgets/formula/style.d.ts +20 -12
  107. package/dist/types/widgets/formula/types.d.ts +41 -39
  108. package/dist/types/{widgets-v2 → widgets}/formula/value.d.ts +2 -1
  109. package/dist/types/widgets/histogram/index.d.ts +5 -4
  110. package/dist/types/widgets/histogram/skeleton.d.ts +9 -1
  111. package/dist/types/widgets/histogram/types.d.ts +60 -12
  112. package/dist/types/{widgets-v2 → widgets}/index.d.ts +3 -3
  113. package/dist/types/widgets/markdown/index.d.ts +5 -4
  114. package/dist/types/widgets/markdown/markdown-ui.d.ts +10 -7
  115. package/dist/types/widgets/markdown/markdown.d.ts +4 -3
  116. package/dist/types/widgets/markdown/skeleton.d.ts +4 -1
  117. package/dist/types/widgets/markdown/style.d.ts +61 -2
  118. package/dist/types/widgets/markdown/types.d.ts +2 -16
  119. package/dist/types/widgets/note/style.d.ts +14 -16
  120. package/dist/types/widgets/pie/index.d.ts +4 -3
  121. package/dist/types/widgets/pie/skeleton.d.ts +13 -1
  122. package/dist/types/widgets/pie/types.d.ts +57 -9
  123. package/dist/types/widgets/range/index.d.ts +4 -6
  124. package/dist/types/widgets/range/range-ui.d.ts +25 -3
  125. package/dist/types/widgets/range/skeleton.d.ts +9 -1
  126. package/dist/types/widgets/range/style.d.ts +40 -2
  127. package/dist/types/widgets/range/types.d.ts +26 -22
  128. package/dist/types/widgets/scatterplot/index.d.ts +5 -3
  129. package/dist/types/widgets/scatterplot/skeleton.d.ts +12 -1
  130. package/dist/types/widgets/scatterplot/types.d.ts +54 -9
  131. package/dist/types/widgets/selection-summary/selection-summary.d.ts +26 -10
  132. package/dist/types/widgets/selection-summary/style.d.ts +32 -3
  133. package/dist/types/widgets/spread/index.d.ts +7 -9
  134. package/dist/types/widgets/spread/skeleton.d.ts +9 -1
  135. package/dist/types/widgets/spread/spread-ui.d.ts +16 -3
  136. package/dist/types/widgets/spread/types.d.ts +20 -35
  137. package/dist/types/widgets/stores/index.d.ts +8 -3
  138. package/dist/types/widgets/stores/types.d.ts +45 -172
  139. package/dist/types/widgets/subheader/style.d.ts +5 -14
  140. package/dist/types/widgets/subheader/subheader.d.ts +9 -11
  141. package/dist/types/widgets/table/helpers.d.ts +28 -34
  142. package/dist/types/widgets/table/index.d.ts +8 -17
  143. package/dist/types/widgets/table/skeleton.d.ts +17 -5
  144. package/dist/types/widgets/table/style.d.ts +21 -14
  145. package/dist/types/widgets/table/table-ui.d.ts +41 -29
  146. package/dist/types/widgets/table/types.d.ts +34 -182
  147. package/dist/types/widgets/timeseries/index.d.ts +4 -2
  148. package/dist/types/widgets/timeseries/skeleton.d.ts +7 -0
  149. package/dist/types/widgets/timeseries/types.d.ts +60 -9
  150. package/dist/types/{widgets-v2 → widgets}/types.d.ts +7 -6
  151. package/dist/types/widgets/utils/index.d.ts +3 -7
  152. package/dist/types/widgets/wrapper/index.d.ts +4 -6
  153. package/dist/{utils-Dr6gf3vD.js → utils-BStJWhZN.js} +5 -5
  154. package/dist/utils-BStJWhZN.js.map +1 -0
  155. package/dist/widgets/actions.js +4 -2
  156. package/dist/widgets/bar.js +202 -132
  157. package/dist/widgets/bar.js.map +1 -1
  158. package/dist/widgets/category.js +2 -450
  159. package/dist/widgets/echart.js +2 -3
  160. package/dist/widgets/formula.js +2 -3
  161. package/dist/widgets/histogram.js +263 -160
  162. package/dist/widgets/histogram.js.map +1 -1
  163. package/dist/widgets/markdown.js +3 -148
  164. package/dist/widgets/pie.js +317 -197
  165. package/dist/widgets/pie.js.map +1 -1
  166. package/dist/widgets/range.js +2 -233
  167. package/dist/widgets/scatterplot.js +300 -196
  168. package/dist/widgets/scatterplot.js.map +1 -1
  169. package/dist/widgets/spread.js +2 -158
  170. package/dist/widgets/stores.js +2 -3
  171. package/dist/widgets/table.js +2 -599
  172. package/dist/widgets/timeseries.js +250 -136
  173. package/dist/widgets/timeseries.js.map +1 -1
  174. package/dist/widgets/utils.js +2 -18
  175. package/dist/{widgets-v2.js → widgets.js} +63 -57
  176. package/dist/widgets.js.map +1 -0
  177. package/dist/{zoom-toggle-IsF8BnAp.js → zoom-toggle-D_VuA01l.js} +5 -5
  178. package/dist/zoom-toggle-D_VuA01l.js.map +1 -0
  179. package/package.json +43 -129
  180. package/src/chat/bubbles/chat-agent-message-markdown.tsx +1 -1
  181. package/src/chat/bubbles/chat-error-message.tsx +9 -3
  182. package/src/chat/bubbles/chat-suggestion-button.tsx +8 -3
  183. package/src/chat/containers/chat-footer.tsx +6 -2
  184. package/src/chat/containers/chat-starter.tsx +6 -4
  185. package/src/chat/feedback/chat-tool-full-view-dialog.tsx +3 -1
  186. package/src/chat/feedback/chat-tool-group.test.tsx +1 -1
  187. package/src/chat/feedback/chat-tool-group.tsx +40 -9
  188. package/src/chat/feedback/chat-tool-trace.tsx +55 -19
  189. package/src/chat/types.ts +5 -2
  190. package/src/components/basemaps/header.tsx +6 -1
  191. package/src/components/index.ts +2 -3
  192. package/src/components/lasso-tool/geometry-toolbar.tsx +1 -1
  193. package/src/components/lasso-tool/lasso-tool-inline.tsx +12 -4
  194. package/src/components/lasso-tool/lasso-tool.tsx +26 -15
  195. package/src/components/lasso-tool/layer-filters.tsx +36 -11
  196. package/src/components/lasso-tool/options-sections.test.tsx +13 -2
  197. package/src/components/lasso-tool/options-sections.tsx +17 -7
  198. package/src/components/lasso-tool/toolbar/connected.tsx +1 -1
  199. package/src/components/lasso-tool/toolbar/context.tsx +1 -1
  200. package/src/components/measurement-tools/measurement-tools.tsx +28 -13
  201. package/src/components/no-data-alert/no-data-alert.tsx +12 -2
  202. package/src/components/responsive-drawer/responsive-drawer.tsx +0 -1
  203. package/src/components/types.ts +17 -0
  204. package/src/components/zoom-controls/zoom-controls.tsx +3 -1
  205. package/src/legend/components/legend-actions/legend-actions.tsx +2 -2
  206. package/src/legend/components/legend-category/legend-category-ui.tsx +7 -3
  207. package/src/legend/components/legend-config-select/legend-config-select.tsx +6 -2
  208. package/src/legend/components/legend-group/legend-group.tsx +6 -2
  209. package/src/legend/components/legend-group/styles.ts +1 -1
  210. package/src/legend/components/legend-icon/legend-icon-ui.tsx +7 -3
  211. package/src/legend/components/legend-opacity/legend-opacity.tsx +9 -3
  212. package/src/legend/components/legend-proportion/legend-proportion-ui.tsx +19 -3
  213. package/src/legend/components/legend-ramp/legend-ramp-ui.tsx +31 -7
  214. package/src/legend/components/legend-row/legend-row.tsx +2 -2
  215. package/src/legend/components/legend-row/styles.ts +1 -1
  216. package/src/legend/components/legend-sortable/legend-sortable.tsx +7 -3
  217. package/src/legend/components/legend-swatch/legend-swatch.tsx +2 -1
  218. package/src/legend/components/legend-visible-layers/legend-visible-layers.tsx +18 -9
  219. package/src/legend/index.ts +1 -1
  220. package/src/legend/provider/legend-provider.tsx +2 -2
  221. package/src/legend/stores/legend-store-registry.ts +1 -1
  222. package/src/migration/v4/classes.ts +56 -0
  223. package/src/migration/v4/icons.ts +56 -0
  224. package/src/migration/v4/index.ts +17 -0
  225. package/src/migration/v4/migration.test.ts +772 -0
  226. package/src/migration/v4/rules.ts +444 -0
  227. package/src/migration/v4/transform.ts +92 -0
  228. package/src/migration/v4/transforms/helpers.ts +369 -0
  229. package/src/migration/v4/transforms/meridian-5.ts +163 -0
  230. package/src/migration/v4/transforms/ps-react-ui.ts +99 -0
  231. package/src/migration/v4/transforms/v5-v6.ts +161 -0
  232. package/src/migration/v4/transforms/v6-v7.ts +342 -0
  233. package/src/migration/v4/transforms/v7-v9-dom.ts +403 -0
  234. package/src/migration/v4/transforms/v7-v9-props.ts +529 -0
  235. package/src/migration/v4/widgets-v1.ts +199 -0
  236. package/src/{widgets-v2 → widgets}/PERFORMANCE.md +5 -5
  237. package/src/widgets/actions/brush-toggle/brush-toggle.test.tsx +144 -172
  238. package/src/widgets/actions/brush-toggle/brush-toggle.tsx +129 -108
  239. package/src/widgets/actions/brush-toggle/style.ts +5 -40
  240. package/src/widgets/actions/change-column/change-column-icon.tsx +14 -10
  241. package/src/widgets/actions/change-column/change-column.test.tsx +57 -288
  242. package/src/widgets/actions/change-column/change-column.tsx +116 -145
  243. package/src/widgets/actions/change-column/sortable-column-item.tsx +29 -17
  244. package/src/widgets/actions/change-column/types.ts +9 -18
  245. package/src/widgets/actions/download/download.test.tsx +290 -289
  246. package/src/widgets/actions/download/download.tsx +101 -89
  247. package/src/widgets/actions/download/exports.test.tsx +157 -247
  248. package/src/{widgets-v2 → widgets}/actions/download/exports.ts +1 -1
  249. package/src/{widgets-v2 → widgets}/actions/download/png-item.tsx +2 -2
  250. package/src/widgets/actions/download/types.ts +26 -15
  251. package/src/widgets/actions/fullscreen/fullscreen.test.tsx +164 -221
  252. package/src/widgets/actions/fullscreen/fullscreen.tsx +277 -72
  253. package/src/{widgets-v2 → widgets}/actions/fullscreen/style.ts +31 -4
  254. package/src/widgets/actions/fullscreen/types.ts +14 -31
  255. package/src/widgets/actions/index.ts +90 -68
  256. package/src/widgets/actions/lock-selection/lock-selection.test.tsx +259 -156
  257. package/src/widgets/actions/lock-selection/lock-selection.tsx +162 -102
  258. package/src/widgets/actions/relative-data/relative-data.test.tsx +65 -536
  259. package/src/widgets/actions/relative-data/relative-data.tsx +82 -163
  260. package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.ts +2 -2
  261. package/src/widgets/actions/searcher/searcher-toggle.tsx +75 -56
  262. package/src/widgets/actions/searcher/searcher.tsx +85 -168
  263. package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +49 -402
  264. package/src/widgets/actions/stack-toggle/stack-toggle.tsx +39 -114
  265. package/src/widgets/actions/zoom-toggle/style.ts +5 -8
  266. package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +88 -303
  267. package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +87 -199
  268. package/src/widgets/bar/index.ts +6 -5
  269. package/src/{widgets-v2 → widgets}/bar/options.ts +1 -1
  270. package/src/widgets/bar/skeleton.tsx +61 -52
  271. package/src/widgets/bar/types.ts +46 -11
  272. package/src/widgets/category/category-ui.test.tsx +846 -317
  273. package/src/widgets/category/category-ui.tsx +444 -127
  274. package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.tsx +2 -1
  275. package/src/widgets/category/components/category-bar.tsx +31 -12
  276. package/src/{widgets-v2 → widgets}/category/components/category-legend.test.tsx +7 -3
  277. package/src/widgets/category/components/category-legend.tsx +68 -18
  278. package/src/widgets/category/components/category-row-multi.tsx +66 -36
  279. package/src/widgets/category/components/category-row-other.tsx +63 -5
  280. package/src/widgets/category/components/category-row-single.tsx +48 -25
  281. package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.tsx +2 -1
  282. package/src/widgets/category/index.ts +25 -22
  283. package/src/widgets/category/skeleton.tsx +60 -10
  284. package/src/widgets/category/style.ts +267 -72
  285. package/src/widgets/category/types.ts +52 -32
  286. package/src/widgets/echart/echart-ui.test.tsx +250 -446
  287. package/src/widgets/echart/echart-ui.tsx +210 -52
  288. package/src/widgets/echart/echart.test.tsx +203 -518
  289. package/src/widgets/echart/echart.tsx +195 -52
  290. package/src/widgets/echart/index.ts +21 -15
  291. package/src/widgets/echart/shared-resize-observer.ts +30 -19
  292. package/src/widgets/echart/style.ts +17 -0
  293. package/src/widgets/formula/formula-ui.test.tsx +68 -376
  294. package/src/widgets/formula/formula-ui.tsx +58 -22
  295. package/src/widgets/formula/index.ts +14 -21
  296. package/src/{widgets-v2 → widgets}/formula/note.tsx +8 -2
  297. package/src/{widgets-v2 → widgets}/formula/series.tsx +8 -25
  298. package/src/widgets/formula/skeleton.tsx +21 -4
  299. package/src/widgets/formula/style.ts +20 -12
  300. package/src/widgets/formula/types.ts +44 -45
  301. package/src/{widgets-v2 → widgets}/formula/value.tsx +2 -1
  302. package/src/widgets/histogram/index.ts +10 -10
  303. package/src/{widgets-v2 → widgets}/histogram/options.ts +1 -1
  304. package/src/widgets/histogram/skeleton.tsx +63 -45
  305. package/src/widgets/histogram/types.ts +59 -18
  306. package/src/{widgets-v2 → widgets}/index.ts +3 -3
  307. package/src/widgets/markdown/index.ts +5 -13
  308. package/src/widgets/markdown/markdown-ui.test.tsx +53 -319
  309. package/src/widgets/markdown/markdown-ui.tsx +43 -47
  310. package/src/widgets/markdown/markdown.tsx +12 -15
  311. package/src/widgets/markdown/skeleton.tsx +26 -6
  312. package/src/widgets/markdown/style.ts +48 -23
  313. package/src/widgets/markdown/types.ts +2 -26
  314. package/src/widgets/note/style.ts +14 -17
  315. package/src/{widgets-v2 → widgets}/note/widget-note.tsx +15 -2
  316. package/src/widgets/pie/index.ts +7 -5
  317. package/src/{widgets-v2 → widgets}/pie/options.test.ts +8 -0
  318. package/src/{widgets-v2 → widgets}/pie/options.ts +4 -9
  319. package/src/widgets/pie/skeleton.tsx +84 -60
  320. package/src/widgets/pie/types.ts +57 -11
  321. package/src/widgets/range/index.ts +4 -16
  322. package/src/widgets/range/range-ui.test.tsx +115 -182
  323. package/src/widgets/range/range-ui.tsx +274 -8
  324. package/src/widgets/range/skeleton.tsx +41 -8
  325. package/src/widgets/range/style.ts +16 -12
  326. package/src/widgets/range/types.ts +26 -28
  327. package/src/widgets/scatterplot/index.ts +11 -5
  328. package/src/{widgets-v2 → widgets}/scatterplot/options.ts +1 -1
  329. package/src/widgets/scatterplot/skeleton.tsx +76 -51
  330. package/src/widgets/scatterplot/types.ts +54 -12
  331. package/src/widgets/selection-summary/selection-summary.tsx +64 -39
  332. package/src/widgets/selection-summary/style.ts +30 -2
  333. package/src/widgets/spread/index.ts +11 -23
  334. package/src/widgets/spread/skeleton.tsx +32 -4
  335. package/src/widgets/spread/spread-ui.test.tsx +98 -358
  336. package/src/widgets/spread/spread-ui.tsx +44 -24
  337. package/src/widgets/spread/types.ts +21 -41
  338. package/src/{widgets-v2 → widgets}/state/widget-state.tsx +13 -3
  339. package/src/widgets/stores/index.ts +46 -10
  340. package/src/{widgets-v2 → widgets}/stores/transforms.ts +1 -1
  341. package/src/widgets/stores/types.ts +42 -181
  342. package/src/{widgets-v2 → widgets}/stores/use-transform.ts +1 -1
  343. package/src/{widgets-v2 → widgets}/stores/widget-store-registry.ts +2 -2
  344. package/src/widgets/subheader/style.ts +5 -13
  345. package/src/widgets/subheader/subheader.test.tsx +22 -37
  346. package/src/widgets/subheader/subheader.tsx +11 -30
  347. package/src/widgets/table/helpers.test.ts +197 -208
  348. package/src/widgets/table/helpers.ts +108 -84
  349. package/src/widgets/table/index.ts +23 -54
  350. package/src/widgets/table/skeleton.tsx +38 -21
  351. package/src/widgets/table/style.ts +23 -14
  352. package/src/widgets/table/table-ui.tsx +348 -44
  353. package/src/widgets/table/types.ts +37 -205
  354. package/src/{widgets-v2 → widgets}/test-utils.ts +1 -1
  355. package/src/widgets/timeseries/index.ts +8 -5
  356. package/src/{widgets-v2 → widgets}/timeseries/options.ts +1 -1
  357. package/src/widgets/timeseries/skeleton.tsx +67 -46
  358. package/src/widgets/timeseries/types.ts +60 -12
  359. package/src/{widgets-v2 → widgets}/types.ts +8 -6
  360. package/src/widgets/utils/index.ts +3 -26
  361. package/src/widgets/wrapper/index.ts +14 -16
  362. package/src/{widgets-v2 → widgets}/wrapper/widget-wrapper.tsx +6 -2
  363. package/dist/actions-CGJD6q0t.js +0 -1318
  364. package/dist/actions-CGJD6q0t.js.map +0 -1
  365. package/dist/actions-yPZwFxSZ.js.map +0 -1
  366. package/dist/category-DGUDabsi.js +0 -829
  367. package/dist/category-DGUDabsi.js.map +0 -1
  368. package/dist/chart-config-B_fdIcD3.js.map +0 -1
  369. package/dist/cjs-CBrZjPCj.js +0 -75
  370. package/dist/cjs-CBrZjPCj.js.map +0 -1
  371. package/dist/components-FED-ArwH.js.map +0 -1
  372. package/dist/copy-button-TTlZONkX.js +0 -34
  373. package/dist/copy-button-TTlZONkX.js.map +0 -1
  374. package/dist/csv-modifiers-D6HGC24b.js +0 -26
  375. package/dist/csv-modifiers-D6HGC24b.js.map +0 -1
  376. package/dist/download-DdaK3qgC.js.map +0 -1
  377. package/dist/echart-BkaV3V5G.js +0 -133
  378. package/dist/echart-BkaV3V5G.js.map +0 -1
  379. package/dist/echart-DeBgdOtX.js.map +0 -1
  380. package/dist/formatter-wVO81tYk.js +0 -6
  381. package/dist/formatter-wVO81tYk.js.map +0 -1
  382. package/dist/formula-YfZmmuYX.js +0 -190
  383. package/dist/formula-YfZmmuYX.js.map +0 -1
  384. package/dist/formula-noJzQwKo.js +0 -285
  385. package/dist/formula-noJzQwKo.js.map +0 -1
  386. package/dist/hooks-zf5gKZYq.js +0 -22
  387. package/dist/hooks-zf5gKZYq.js.map +0 -1
  388. package/dist/markdown-2dfL6Cmb.js.map +0 -1
  389. package/dist/markdown-content-BWUqwx9F.js.map +0 -1
  390. package/dist/range-BCMAl5xf.js.map +0 -1
  391. package/dist/row-CvVGBuy_.js +0 -35
  392. package/dist/row-CvVGBuy_.js.map +0 -1
  393. package/dist/shared-resize-observer-BEiP2rQt.js +0 -157
  394. package/dist/shared-resize-observer-BEiP2rQt.js.map +0 -1
  395. package/dist/smart-tooltip-CwGHCqab.js +0 -34
  396. package/dist/smart-tooltip-CwGHCqab.js.map +0 -1
  397. package/dist/spread-Ccpg9fi0.js.map +0 -1
  398. package/dist/stores-tiFePP0A.js.map +0 -1
  399. package/dist/styles-Y-qGBELO.js +0 -13
  400. package/dist/styles-Y-qGBELO.js.map +0 -1
  401. package/dist/table-Bx9Uj3U0.js.map +0 -1
  402. package/dist/tooltip-DJUGNZxY.js +0 -23
  403. package/dist/tooltip-DJUGNZxY.js.map +0 -1
  404. package/dist/types/components/list-data/list-data-skeleton.d.ts +0 -5
  405. package/dist/types/components/list-data/list-data.d.ts +0 -19
  406. package/dist/types/components/list-data/styles.d.ts +0 -34
  407. package/dist/types/components/list-data/types.d.ts +0 -23
  408. package/dist/types/hooks/index.d.ts +0 -1
  409. package/dist/types/hooks/use-skeleton.d.ts +0 -1
  410. package/dist/types/hooks/use-widget-ref.d.ts +0 -21
  411. package/dist/types/widgets/actions/brush-toggle/brush-overlay.d.ts +0 -24
  412. package/dist/types/widgets/actions/brush-toggle/hit-test.d.ts +0 -19
  413. package/dist/types/widgets/actions/brush-toggle/types.d.ts +0 -73
  414. package/dist/types/widgets/actions/fullscreen/styles.d.ts +0 -16
  415. package/dist/types/widgets/actions/lock-selection/types.d.ts +0 -38
  416. package/dist/types/widgets/actions/relative-data/types.d.ts +0 -29
  417. package/dist/types/widgets/actions/relative-data/utils.d.ts +0 -9
  418. package/dist/types/widgets/actions/searcher/types.d.ts +0 -64
  419. package/dist/types/widgets/actions/shared/styles.d.ts +0 -11
  420. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +0 -1
  421. package/dist/types/widgets/actions/stack-toggle/types.d.ts +0 -25
  422. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +0 -41
  423. package/dist/types/widgets/bar/config.d.ts +0 -9
  424. package/dist/types/widgets/bar/style.d.ts +0 -37
  425. package/dist/types/widgets/category/config.d.ts +0 -20
  426. package/dist/types/widgets/echart/const.d.ts +0 -1
  427. package/dist/types/widgets/echart/options.d.ts +0 -9
  428. package/dist/types/widgets/echart/types.d.ts +0 -38
  429. package/dist/types/widgets/echart/utils.d.ts +0 -128
  430. package/dist/types/widgets/error/error.d.ts +0 -12
  431. package/dist/types/widgets/error/index.d.ts +0 -2
  432. package/dist/types/widgets/error/types.d.ts +0 -20
  433. package/dist/types/widgets/formula/components/item.d.ts +0 -5
  434. package/dist/types/widgets/formula/components/prefix.d.ts +0 -5
  435. package/dist/types/widgets/formula/components/row.d.ts +0 -5
  436. package/dist/types/widgets/formula/components/series.d.ts +0 -5
  437. package/dist/types/widgets/formula/components/suffix.d.ts +0 -5
  438. package/dist/types/widgets/formula/components/value.d.ts +0 -5
  439. package/dist/types/widgets/formula/config.d.ts +0 -15
  440. package/dist/types/widgets/formula/serializer.d.ts +0 -16
  441. package/dist/types/widgets/histogram/config.d.ts +0 -21
  442. package/dist/types/widgets/histogram/style.d.ts +0 -15
  443. package/dist/types/widgets/loader/index.d.ts +0 -3
  444. package/dist/types/widgets/loader/loader.d.ts +0 -24
  445. package/dist/types/widgets/loader/types.d.ts +0 -9
  446. package/dist/types/widgets/loader/utils.d.ts +0 -35
  447. package/dist/types/widgets/markdown/config.d.ts +0 -14
  448. package/dist/types/widgets/no-data/index.d.ts +0 -2
  449. package/dist/types/widgets/no-data/no-data.d.ts +0 -36
  450. package/dist/types/widgets/no-data/style.d.ts +0 -6
  451. package/dist/types/widgets/no-data/types.d.ts +0 -71
  452. package/dist/types/widgets/note/index.d.ts +0 -2
  453. package/dist/types/widgets/note/note.d.ts +0 -12
  454. package/dist/types/widgets/note/types.d.ts +0 -8
  455. package/dist/types/widgets/pie/config.d.ts +0 -9
  456. package/dist/types/widgets/pie/style.d.ts +0 -15
  457. package/dist/types/widgets/range/components/range-item.d.ts +0 -5
  458. package/dist/types/widgets/range/config.d.ts +0 -7
  459. package/dist/types/widgets/range/serializer.d.ts +0 -16
  460. package/dist/types/widgets/scatterplot/config.d.ts +0 -9
  461. package/dist/types/widgets/scatterplot/style.d.ts +0 -24
  462. package/dist/types/widgets/selection-summary/index.d.ts +0 -2
  463. package/dist/types/widgets/selection-summary/types.d.ts +0 -13
  464. package/dist/types/widgets/skeleton-loader/index.d.ts +0 -2
  465. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +0 -12
  466. package/dist/types/widgets/skeleton-loader/types.d.ts +0 -7
  467. package/dist/types/widgets/spread/components/max-value.d.ts +0 -5
  468. package/dist/types/widgets/spread/components/min-value.d.ts +0 -5
  469. package/dist/types/widgets/spread/components/separator.d.ts +0 -5
  470. package/dist/types/widgets/spread/config.d.ts +0 -16
  471. package/dist/types/widgets/spread/style.d.ts +0 -21
  472. package/dist/types/widgets/stores/use-widget-selector.d.ts +0 -35
  473. package/dist/types/widgets/stores/widget-store.d.ts +0 -60
  474. package/dist/types/widgets/subheader/index.d.ts +0 -2
  475. package/dist/types/widgets/subheader/types.d.ts +0 -10
  476. package/dist/types/widgets/table/components/cell-header.d.ts +0 -5
  477. package/dist/types/widgets/table/components/cell.d.ts +0 -18
  478. package/dist/types/widgets/table/components/pagination-actions.d.ts +0 -5
  479. package/dist/types/widgets/table/components/pagination.d.ts +0 -5
  480. package/dist/types/widgets/table/components/row.d.ts +0 -5
  481. package/dist/types/widgets/table/config.d.ts +0 -21
  482. package/dist/types/widgets/table/hooks/use-pagination.d.ts +0 -41
  483. package/dist/types/widgets/table/hooks/use-selection.d.ts +0 -39
  484. package/dist/types/widgets/table/hooks/use-sort.d.ts +0 -30
  485. package/dist/types/widgets/table/serializer.d.ts +0 -16
  486. package/dist/types/widgets/timeseries/config.d.ts +0 -9
  487. package/dist/types/widgets/timeseries/style.d.ts +0 -38
  488. package/dist/types/widgets/toolbar-actions/index.d.ts +0 -2
  489. package/dist/types/widgets/toolbar-actions/styles.d.ts +0 -37
  490. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +0 -17
  491. package/dist/types/widgets/toolbar-actions/types.d.ts +0 -52
  492. package/dist/types/widgets/utils/chart-config/config-factory.d.ts +0 -38
  493. package/dist/types/widgets/utils/chart-config/csv-modifiers.d.ts +0 -19
  494. package/dist/types/widgets/utils/chart-config/download-config.d.ts +0 -3
  495. package/dist/types/widgets/utils/chart-config/index.d.ts +0 -9
  496. package/dist/types/widgets/utils/formatter.d.ts +0 -2
  497. package/dist/types/widgets/utils/skeleton/index.d.ts +0 -4
  498. package/dist/types/widgets/utils/skeleton/styles.d.ts +0 -19
  499. package/dist/types/widgets/wrapper/components/actions.d.ts +0 -5
  500. package/dist/types/widgets/wrapper/components/options.d.ts +0 -5
  501. package/dist/types/widgets/wrapper/components/title.d.ts +0 -9
  502. package/dist/types/widgets/wrapper/styles.d.ts +0 -89
  503. package/dist/types/widgets/wrapper/types.d.ts +0 -37
  504. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +0 -16
  505. package/dist/types/widgets/wrapper/wrapper.d.ts +0 -16
  506. package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +0 -56
  507. package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +0 -2
  508. package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +0 -29
  509. package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +0 -14
  510. package/dist/types/widgets-v2/actions/change-column/types.d.ts +0 -10
  511. package/dist/types/widgets-v2/actions/download/download.d.ts +0 -18
  512. package/dist/types/widgets-v2/actions/download/exports.d.ts +0 -37
  513. package/dist/types/widgets-v2/actions/download/types.d.ts +0 -35
  514. package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +0 -59
  515. package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +0 -14
  516. package/dist/types/widgets-v2/actions/index.d.ts +0 -10
  517. package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +0 -57
  518. package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +0 -39
  519. package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +0 -23
  520. package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +0 -11
  521. package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +0 -10
  522. package/dist/types/widgets-v2/actions/stack-toggle/style.d.ts +0 -12
  523. package/dist/types/widgets-v2/actions/zoom-toggle/style.d.ts +0 -12
  524. package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +0 -35
  525. package/dist/types/widgets-v2/bar/index.d.ts +0 -4
  526. package/dist/types/widgets-v2/bar/skeleton.d.ts +0 -6
  527. package/dist/types/widgets-v2/bar/types.d.ts +0 -46
  528. package/dist/types/widgets-v2/category/category-ui.d.ts +0 -88
  529. package/dist/types/widgets-v2/category/components/category-bar.d.ts +0 -23
  530. package/dist/types/widgets-v2/category/components/category-legend.d.ts +0 -34
  531. package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +0 -31
  532. package/dist/types/widgets-v2/category/components/category-row-other.d.ts +0 -26
  533. package/dist/types/widgets-v2/category/components/category-row-single.d.ts +0 -28
  534. package/dist/types/widgets-v2/category/index.d.ts +0 -10
  535. package/dist/types/widgets-v2/category/skeleton.d.ts +0 -11
  536. package/dist/types/widgets-v2/category/style.d.ts +0 -193
  537. package/dist/types/widgets-v2/category/types.d.ts +0 -55
  538. package/dist/types/widgets-v2/echart/echart-ui.d.ts +0 -44
  539. package/dist/types/widgets-v2/echart/echart.d.ts +0 -75
  540. package/dist/types/widgets-v2/echart/index.d.ts +0 -4
  541. package/dist/types/widgets-v2/echart/shared-resize-observer.d.ts +0 -5
  542. package/dist/types/widgets-v2/formula/formula-ui.d.ts +0 -20
  543. package/dist/types/widgets-v2/formula/index.d.ts +0 -11
  544. package/dist/types/widgets-v2/formula/skeleton.d.ts +0 -4
  545. package/dist/types/widgets-v2/formula/style.d.ts +0 -29
  546. package/dist/types/widgets-v2/formula/types.d.ts +0 -43
  547. package/dist/types/widgets-v2/histogram/index.d.ts +0 -5
  548. package/dist/types/widgets-v2/histogram/skeleton.d.ts +0 -9
  549. package/dist/types/widgets-v2/histogram/types.d.ts +0 -60
  550. package/dist/types/widgets-v2/markdown/index.d.ts +0 -6
  551. package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +0 -12
  552. package/dist/types/widgets-v2/markdown/markdown.d.ts +0 -6
  553. package/dist/types/widgets-v2/markdown/skeleton.d.ts +0 -4
  554. package/dist/types/widgets-v2/markdown/style.d.ts +0 -61
  555. package/dist/types/widgets-v2/markdown/types.d.ts +0 -4
  556. package/dist/types/widgets-v2/note/style.d.ts +0 -26
  557. package/dist/types/widgets-v2/pie/index.d.ts +0 -4
  558. package/dist/types/widgets-v2/pie/skeleton.d.ts +0 -13
  559. package/dist/types/widgets-v2/pie/types.d.ts +0 -57
  560. package/dist/types/widgets-v2/range/index.d.ts +0 -4
  561. package/dist/types/widgets-v2/range/range-ui.d.ts +0 -27
  562. package/dist/types/widgets-v2/range/skeleton.d.ts +0 -9
  563. package/dist/types/widgets-v2/range/style.d.ts +0 -40
  564. package/dist/types/widgets-v2/range/types.d.ts +0 -37
  565. package/dist/types/widgets-v2/scatterplot/index.d.ts +0 -5
  566. package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +0 -12
  567. package/dist/types/widgets-v2/scatterplot/types.d.ts +0 -54
  568. package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +0 -29
  569. package/dist/types/widgets-v2/selection-summary/style.d.ts +0 -38
  570. package/dist/types/widgets-v2/spread/index.d.ts +0 -7
  571. package/dist/types/widgets-v2/spread/skeleton.d.ts +0 -9
  572. package/dist/types/widgets-v2/spread/spread-ui.d.ts +0 -18
  573. package/dist/types/widgets-v2/spread/types.d.ts +0 -25
  574. package/dist/types/widgets-v2/stores/index.d.ts +0 -8
  575. package/dist/types/widgets-v2/stores/types.d.ts +0 -55
  576. package/dist/types/widgets-v2/subheader/style.d.ts +0 -10
  577. package/dist/types/widgets-v2/subheader/subheader.d.ts +0 -11
  578. package/dist/types/widgets-v2/table/helpers.d.ts +0 -32
  579. package/dist/types/widgets-v2/table/index.d.ts +0 -8
  580. package/dist/types/widgets-v2/table/skeleton.d.ts +0 -22
  581. package/dist/types/widgets-v2/table/style.d.ts +0 -40
  582. package/dist/types/widgets-v2/table/table-ui.d.ts +0 -44
  583. package/dist/types/widgets-v2/table/types.d.ts +0 -48
  584. package/dist/types/widgets-v2/timeseries/index.d.ts +0 -5
  585. package/dist/types/widgets-v2/timeseries/skeleton.d.ts +0 -8
  586. package/dist/types/widgets-v2/timeseries/types.d.ts +0 -60
  587. package/dist/types/widgets-v2/utils/index.d.ts +0 -3
  588. package/dist/types/widgets-v2/wrapper/index.d.ts +0 -4
  589. package/dist/use-widget-selector-VSPhfhNm.js +0 -12
  590. package/dist/use-widget-selector-VSPhfhNm.js.map +0 -1
  591. package/dist/utils-Dr6gf3vD.js.map +0 -1
  592. package/dist/widget-store-BFPKYm4R.js +0 -187
  593. package/dist/widget-store-BFPKYm4R.js.map +0 -1
  594. package/dist/widgets/category.js.map +0 -1
  595. package/dist/widgets/error.js +0 -30
  596. package/dist/widgets/error.js.map +0 -1
  597. package/dist/widgets/loader.js +0 -66
  598. package/dist/widgets/loader.js.map +0 -1
  599. package/dist/widgets/markdown.js.map +0 -1
  600. package/dist/widgets/no-data.js +0 -55
  601. package/dist/widgets/no-data.js.map +0 -1
  602. package/dist/widgets/note.js +0 -127
  603. package/dist/widgets/note.js.map +0 -1
  604. package/dist/widgets/range.js.map +0 -1
  605. package/dist/widgets/selection-summary.js +0 -41
  606. package/dist/widgets/selection-summary.js.map +0 -1
  607. package/dist/widgets/skeleton-loader.js +0 -24
  608. package/dist/widgets/skeleton-loader.js.map +0 -1
  609. package/dist/widgets/spread.js.map +0 -1
  610. package/dist/widgets/subheader.js +0 -51
  611. package/dist/widgets/subheader.js.map +0 -1
  612. package/dist/widgets/table.js.map +0 -1
  613. package/dist/widgets/toolbar-actions.js +0 -145
  614. package/dist/widgets/toolbar-actions.js.map +0 -1
  615. package/dist/widgets/utils.js.map +0 -1
  616. package/dist/widgets/wrapper.js +0 -273
  617. package/dist/widgets/wrapper.js.map +0 -1
  618. package/dist/widgets-v2/actions.js +0 -4
  619. package/dist/widgets-v2/bar.js +0 -260
  620. package/dist/widgets-v2/bar.js.map +0 -1
  621. package/dist/widgets-v2/category.js +0 -2
  622. package/dist/widgets-v2/echart.js +0 -2
  623. package/dist/widgets-v2/formula.js +0 -2
  624. package/dist/widgets-v2/histogram.js +0 -297
  625. package/dist/widgets-v2/histogram.js.map +0 -1
  626. package/dist/widgets-v2/markdown.js +0 -3
  627. package/dist/widgets-v2/pie.js +0 -374
  628. package/dist/widgets-v2/pie.js.map +0 -1
  629. package/dist/widgets-v2/range.js +0 -2
  630. package/dist/widgets-v2/scatterplot.js +0 -330
  631. package/dist/widgets-v2/scatterplot.js.map +0 -1
  632. package/dist/widgets-v2/spread.js +0 -2
  633. package/dist/widgets-v2/stores.js +0 -2
  634. package/dist/widgets-v2/table.js +0 -2
  635. package/dist/widgets-v2/timeseries.js +0 -294
  636. package/dist/widgets-v2/timeseries.js.map +0 -1
  637. package/dist/widgets-v2/utils.js +0 -2
  638. package/dist/widgets-v2.js.map +0 -1
  639. package/dist/zoom-toggle-IsF8BnAp.js.map +0 -1
  640. package/src/components/list-data/list-data-skeleton.test.tsx +0 -10
  641. package/src/components/list-data/list-data-skeleton.tsx +0 -40
  642. package/src/components/list-data/list-data.test.tsx +0 -167
  643. package/src/components/list-data/list-data.tsx +0 -124
  644. package/src/components/list-data/styles.ts +0 -37
  645. package/src/components/list-data/types.ts +0 -25
  646. package/src/hooks/index.ts +0 -1
  647. package/src/hooks/use-skeleton.test.tsx +0 -32
  648. package/src/hooks/use-skeleton.ts +0 -19
  649. package/src/hooks/use-widget-ref.ts +0 -34
  650. package/src/widgets/README.md +0 -277
  651. package/src/widgets/actions/brush-toggle/brush-overlay.test.tsx +0 -465
  652. package/src/widgets/actions/brush-toggle/brush-overlay.tsx +0 -408
  653. package/src/widgets/actions/brush-toggle/hit-test.test.ts +0 -65
  654. package/src/widgets/actions/brush-toggle/hit-test.ts +0 -45
  655. package/src/widgets/actions/brush-toggle/types.ts +0 -78
  656. package/src/widgets/actions/change-column/change-column-dnd.test.tsx +0 -193
  657. package/src/widgets/actions/change-column/sortable-column-item.test.tsx +0 -124
  658. package/src/widgets/actions/download/exports.tsx +0 -118
  659. package/src/widgets/actions/fullscreen/styles.ts +0 -17
  660. package/src/widgets/actions/lock-selection/types.ts +0 -43
  661. package/src/widgets/actions/relative-data/types.ts +0 -33
  662. package/src/widgets/actions/relative-data/utils.test.ts +0 -223
  663. package/src/widgets/actions/relative-data/utils.ts +0 -58
  664. package/src/widgets/actions/searcher/searcher-toggle.test.tsx +0 -354
  665. package/src/widgets/actions/searcher/types.ts +0 -72
  666. package/src/widgets/actions/shared/styles.ts +0 -12
  667. package/src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx +0 -14
  668. package/src/widgets/actions/stack-toggle/types.ts +0 -29
  669. package/src/widgets/actions/zoom-toggle/types.ts +0 -44
  670. package/src/widgets/bar/config.ts +0 -140
  671. package/src/widgets/bar/style.ts +0 -33
  672. package/src/widgets/category/components/category-rows.test.tsx +0 -213
  673. package/src/widgets/category/config.ts +0 -86
  674. package/src/widgets/echart/const.ts +0 -1
  675. package/src/widgets/echart/options.ts +0 -57
  676. package/src/widgets/echart/types.ts +0 -45
  677. package/src/widgets/echart/utils.test.ts +0 -277
  678. package/src/widgets/echart/utils.ts +0 -244
  679. package/src/widgets/error/error.test.tsx +0 -331
  680. package/src/widgets/error/error.tsx +0 -51
  681. package/src/widgets/error/index.ts +0 -2
  682. package/src/widgets/error/types.ts +0 -24
  683. package/src/widgets/formula/components/item.test.tsx +0 -249
  684. package/src/widgets/formula/components/item.tsx +0 -21
  685. package/src/widgets/formula/components/prefix.test.tsx +0 -341
  686. package/src/widgets/formula/components/prefix.tsx +0 -19
  687. package/src/widgets/formula/components/row.test.tsx +0 -364
  688. package/src/widgets/formula/components/row.tsx +0 -24
  689. package/src/widgets/formula/components/series.tsx +0 -35
  690. package/src/widgets/formula/components/suffix.test.tsx +0 -383
  691. package/src/widgets/formula/components/suffix.tsx +0 -29
  692. package/src/widgets/formula/components/value.test.tsx +0 -329
  693. package/src/widgets/formula/components/value.tsx +0 -24
  694. package/src/widgets/formula/config.test.ts +0 -37
  695. package/src/widgets/formula/config.ts +0 -38
  696. package/src/widgets/formula/serializer.test.tsx +0 -144
  697. package/src/widgets/formula/serializer.ts +0 -28
  698. package/src/widgets/histogram/config.ts +0 -230
  699. package/src/widgets/histogram/style.ts +0 -8
  700. package/src/widgets/loader/index.ts +0 -4
  701. package/src/widgets/loader/loader.tsx +0 -92
  702. package/src/widgets/loader/types.ts +0 -13
  703. package/src/widgets/loader/utils.test.ts +0 -112
  704. package/src/widgets/loader/utils.ts +0 -57
  705. package/src/widgets/markdown/config.ts +0 -28
  706. package/src/widgets/no-data/index.ts +0 -2
  707. package/src/widgets/no-data/no-data.test.tsx +0 -497
  708. package/src/widgets/no-data/no-data.tsx +0 -112
  709. package/src/widgets/no-data/style.ts +0 -18
  710. package/src/widgets/no-data/types.ts +0 -76
  711. package/src/widgets/note/index.ts +0 -2
  712. package/src/widgets/note/note.test.tsx +0 -391
  713. package/src/widgets/note/note.tsx +0 -124
  714. package/src/widgets/note/types.ts +0 -9
  715. package/src/widgets/pie/config.ts +0 -245
  716. package/src/widgets/pie/style.ts +0 -8
  717. package/src/widgets/range/components/range-item.test.tsx +0 -243
  718. package/src/widgets/range/components/range-item.tsx +0 -214
  719. package/src/widgets/range/config.ts +0 -10
  720. package/src/widgets/range/serializer.test.ts +0 -70
  721. package/src/widgets/range/serializer.ts +0 -27
  722. package/src/widgets/scatterplot/config.ts +0 -136
  723. package/src/widgets/scatterplot/style.ts +0 -21
  724. package/src/widgets/selection-summary/index.ts +0 -6
  725. package/src/widgets/selection-summary/types.ts +0 -14
  726. package/src/widgets/skeleton-loader/index.ts +0 -2
  727. package/src/widgets/skeleton-loader/skeleton-loader.test.tsx +0 -139
  728. package/src/widgets/skeleton-loader/skeleton-loader.tsx +0 -35
  729. package/src/widgets/skeleton-loader/types.ts +0 -8
  730. package/src/widgets/spread/components/max-value.tsx +0 -29
  731. package/src/widgets/spread/components/min-value.tsx +0 -29
  732. package/src/widgets/spread/components/separator.tsx +0 -9
  733. package/src/widgets/spread/config.ts +0 -39
  734. package/src/widgets/spread/style.ts +0 -22
  735. package/src/widgets/stores/use-widget-selector.ts +0 -47
  736. package/src/widgets/stores/widget-store-branches.test.ts +0 -275
  737. package/src/widgets/stores/widget-store-performance.test.ts +0 -750
  738. package/src/widgets/stores/widget-store.test.ts +0 -942
  739. package/src/widgets/stores/widget-store.ts +0 -484
  740. package/src/widgets/subheader/index.ts +0 -3
  741. package/src/widgets/subheader/types.ts +0 -11
  742. package/src/widgets/table/components/cell-header.tsx +0 -58
  743. package/src/widgets/table/components/cell.tsx +0 -82
  744. package/src/widgets/table/components/pagination-actions.tsx +0 -67
  745. package/src/widgets/table/components/pagination.tsx +0 -41
  746. package/src/widgets/table/components/row.tsx +0 -65
  747. package/src/widgets/table/config.test.ts +0 -65
  748. package/src/widgets/table/config.ts +0 -75
  749. package/src/widgets/table/hooks/use-pagination.test.ts +0 -294
  750. package/src/widgets/table/hooks/use-pagination.ts +0 -148
  751. package/src/widgets/table/hooks/use-selection.test.ts +0 -504
  752. package/src/widgets/table/hooks/use-selection.ts +0 -194
  753. package/src/widgets/table/hooks/use-sort.test.ts +0 -296
  754. package/src/widgets/table/hooks/use-sort.ts +0 -131
  755. package/src/widgets/table/serializer.ts +0 -54
  756. package/src/widgets/timeseries/config.ts +0 -136
  757. package/src/widgets/timeseries/style.ts +0 -36
  758. package/src/widgets/toolbar-actions/index.ts +0 -6
  759. package/src/widgets/toolbar-actions/styles.ts +0 -38
  760. package/src/widgets/toolbar-actions/toolbar-actions.test.tsx +0 -691
  761. package/src/widgets/toolbar-actions/toolbar-actions.tsx +0 -145
  762. package/src/widgets/toolbar-actions/types.ts +0 -60
  763. package/src/widgets/utils/chart-config/config-factory.ts +0 -67
  764. package/src/widgets/utils/chart-config/csv-modifiers.ts +0 -56
  765. package/src/widgets/utils/chart-config/download-config.ts +0 -22
  766. package/src/widgets/utils/chart-config/index.ts +0 -29
  767. package/src/widgets/utils/formatter.ts +0 -2
  768. package/src/widgets/utils/skeleton/index.ts +0 -5
  769. package/src/widgets/utils/skeleton/styles.ts +0 -20
  770. package/src/widgets/wrapper/components/actions.test.tsx +0 -105
  771. package/src/widgets/wrapper/components/actions.tsx +0 -35
  772. package/src/widgets/wrapper/components/options.test.tsx +0 -331
  773. package/src/widgets/wrapper/components/options.tsx +0 -81
  774. package/src/widgets/wrapper/components/title.test.tsx +0 -126
  775. package/src/widgets/wrapper/components/title.tsx +0 -35
  776. package/src/widgets/wrapper/styles.ts +0 -98
  777. package/src/widgets/wrapper/types.ts +0 -55
  778. package/src/widgets/wrapper/wrapper-ui.test.tsx +0 -232
  779. package/src/widgets/wrapper/wrapper-ui.tsx +0 -72
  780. package/src/widgets/wrapper/wrapper.test.tsx +0 -365
  781. package/src/widgets/wrapper/wrapper.tsx +0 -60
  782. package/src/widgets-v2/actions/brush-toggle/brush-toggle.test.tsx +0 -180
  783. package/src/widgets-v2/actions/brush-toggle/brush-toggle.tsx +0 -154
  784. package/src/widgets-v2/actions/change-column/change-column-icon.tsx +0 -14
  785. package/src/widgets-v2/actions/change-column/change-column.test.tsx +0 -59
  786. package/src/widgets-v2/actions/change-column/change-column.tsx +0 -189
  787. package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +0 -63
  788. package/src/widgets-v2/actions/change-column/types.ts +0 -11
  789. package/src/widgets-v2/actions/download/download.test.tsx +0 -327
  790. package/src/widgets-v2/actions/download/download.tsx +0 -144
  791. package/src/widgets-v2/actions/download/exports.test.tsx +0 -198
  792. package/src/widgets-v2/actions/download/types.ts +0 -32
  793. package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +0 -150
  794. package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +0 -230
  795. package/src/widgets-v2/actions/fullscreen/types.ts +0 -15
  796. package/src/widgets-v2/actions/index.ts +0 -95
  797. package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +0 -301
  798. package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +0 -188
  799. package/src/widgets-v2/actions/relative-data/relative-data.test.tsx +0 -71
  800. package/src/widgets-v2/actions/relative-data/relative-data.tsx +0 -107
  801. package/src/widgets-v2/actions/searcher/searcher-toggle.tsx +0 -91
  802. package/src/widgets-v2/actions/searcher/searcher.tsx +0 -111
  803. package/src/widgets-v2/actions/stack-toggle/stack-toggle.test.tsx +0 -61
  804. package/src/widgets-v2/actions/stack-toggle/stack-toggle.tsx +0 -54
  805. package/src/widgets-v2/actions/stack-toggle/style.ts +0 -11
  806. package/src/widgets-v2/actions/zoom-toggle/style.ts +0 -11
  807. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.test.tsx +0 -107
  808. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx +0 -106
  809. package/src/widgets-v2/bar/index.ts +0 -10
  810. package/src/widgets-v2/bar/skeleton.tsx +0 -69
  811. package/src/widgets-v2/bar/types.ts +0 -51
  812. package/src/widgets-v2/category/category-ui.test.tsx +0 -909
  813. package/src/widgets-v2/category/category-ui.tsx +0 -479
  814. package/src/widgets-v2/category/components/category-bar.tsx +0 -49
  815. package/src/widgets-v2/category/components/category-legend.tsx +0 -82
  816. package/src/widgets-v2/category/components/category-row-multi.tsx +0 -86
  817. package/src/widgets-v2/category/components/category-row-other.tsx +0 -84
  818. package/src/widgets-v2/category/components/category-row-single.tsx +0 -76
  819. package/src/widgets-v2/category/index.ts +0 -32
  820. package/src/widgets-v2/category/skeleton.tsx +0 -74
  821. package/src/widgets-v2/category/style.ts +0 -329
  822. package/src/widgets-v2/category/types.ts +0 -61
  823. package/src/widgets-v2/echart/echart-ui.test.tsx +0 -327
  824. package/src/widgets-v2/echart/echart-ui.tsx +0 -232
  825. package/src/widgets-v2/echart/echart.test.tsx +0 -229
  826. package/src/widgets-v2/echart/echart.tsx +0 -199
  827. package/src/widgets-v2/echart/index.ts +0 -22
  828. package/src/widgets-v2/echart/shared-resize-observer.ts +0 -56
  829. package/src/widgets-v2/echart/style.ts +0 -8
  830. package/src/widgets-v2/formula/formula-ui.test.tsx +0 -91
  831. package/src/widgets-v2/formula/formula-ui.tsx +0 -66
  832. package/src/widgets-v2/formula/index.ts +0 -17
  833. package/src/widgets-v2/formula/skeleton.tsx +0 -27
  834. package/src/widgets-v2/formula/style.ts +0 -31
  835. package/src/widgets-v2/formula/types.ts +0 -48
  836. package/src/widgets-v2/histogram/index.ts +0 -13
  837. package/src/widgets-v2/histogram/skeleton.tsx +0 -70
  838. package/src/widgets-v2/histogram/types.ts +0 -64
  839. package/src/widgets-v2/markdown/index.ts +0 -6
  840. package/src/widgets-v2/markdown/markdown-ui.test.tsx +0 -75
  841. package/src/widgets-v2/markdown/markdown-ui.tsx +0 -55
  842. package/src/widgets-v2/markdown/markdown.tsx +0 -17
  843. package/src/widgets-v2/markdown/skeleton.tsx +0 -32
  844. package/src/widgets-v2/markdown/style.ts +0 -53
  845. package/src/widgets-v2/markdown/types.ts +0 -4
  846. package/src/widgets-v2/note/style.ts +0 -26
  847. package/src/widgets-v2/pie/index.ts +0 -10
  848. package/src/widgets-v2/pie/skeleton.tsx +0 -94
  849. package/src/widgets-v2/pie/types.ts +0 -62
  850. package/src/widgets-v2/range/index.ts +0 -4
  851. package/src/widgets-v2/range/range-ui.test.tsx +0 -136
  852. package/src/widgets-v2/range/range-ui.tsx +0 -278
  853. package/src/widgets-v2/range/skeleton.tsx +0 -47
  854. package/src/widgets-v2/range/style.ts +0 -41
  855. package/src/widgets-v2/range/types.ts +0 -37
  856. package/src/widgets-v2/scatterplot/index.ts +0 -14
  857. package/src/widgets-v2/scatterplot/skeleton.tsx +0 -84
  858. package/src/widgets-v2/scatterplot/types.ts +0 -59
  859. package/src/widgets-v2/selection-summary/selection-summary.tsx +0 -82
  860. package/src/widgets-v2/selection-summary/style.ts +0 -38
  861. package/src/widgets-v2/spread/index.ts +0 -11
  862. package/src/widgets-v2/spread/skeleton.tsx +0 -38
  863. package/src/widgets-v2/spread/spread-ui.test.tsx +0 -108
  864. package/src/widgets-v2/spread/spread-ui.tsx +0 -52
  865. package/src/widgets-v2/spread/types.ts +0 -27
  866. package/src/widgets-v2/stores/index.ts +0 -49
  867. package/src/widgets-v2/stores/types.ts +0 -64
  868. package/src/widgets-v2/subheader/style.ts +0 -12
  869. package/src/widgets-v2/subheader/subheader.test.tsx +0 -30
  870. package/src/widgets-v2/subheader/subheader.tsx +0 -16
  871. package/src/widgets-v2/table/helpers.test.ts +0 -233
  872. package/src/widgets-v2/table/helpers.ts +0 -131
  873. package/src/widgets-v2/table/index.ts +0 -24
  874. package/src/widgets-v2/table/skeleton.tsx +0 -65
  875. package/src/widgets-v2/table/style.ts +0 -43
  876. package/src/widgets-v2/table/table-ui.tsx +0 -364
  877. package/src/widgets-v2/table/types.ts +0 -55
  878. package/src/widgets-v2/timeseries/index.ts +0 -11
  879. package/src/widgets-v2/timeseries/skeleton.tsx +0 -76
  880. package/src/widgets-v2/timeseries/types.ts +0 -65
  881. package/src/widgets-v2/utils/index.ts +0 -3
  882. package/src/widgets-v2/wrapper/index.ts +0 -14
  883. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/index.d.ts +0 -0
  884. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/labels.d.ts +0 -0
  885. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/transforms.d.ts +0 -0
  886. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/index.d.ts +0 -0
  887. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/labels.d.ts +0 -0
  888. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/style.d.ts +0 -0
  889. /package/dist/types/{widgets-v2 → widgets}/actions/download/constants.d.ts +0 -0
  890. /package/dist/types/{widgets-v2 → widgets}/actions/download/csv-item.d.ts +0 -0
  891. /package/dist/types/{widgets-v2 → widgets}/actions/download/icons.d.ts +0 -0
  892. /package/dist/types/{widgets-v2 → widgets}/actions/download/index.d.ts +0 -0
  893. /package/dist/types/{widgets-v2 → widgets}/actions/download/labels.d.ts +0 -0
  894. /package/dist/types/{widgets-v2 → widgets}/actions/download/style.d.ts +0 -0
  895. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/index.d.ts +0 -0
  896. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/labels.d.ts +0 -0
  897. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/index.d.ts +0 -0
  898. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/labels.d.ts +0 -0
  899. /package/dist/types/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.d.ts +0 -0
  900. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/transforms.d.ts +0 -0
  901. /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/index.d.ts +0 -0
  902. /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/labels.d.ts +0 -0
  903. /package/dist/types/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.d.ts +0 -0
  904. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/filter.d.ts +0 -0
  905. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/index.d.ts +0 -0
  906. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/labels.d.ts +0 -0
  907. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/style.d.ts +0 -0
  908. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/index.d.ts +0 -0
  909. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/labels.d.ts +0 -0
  910. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/show-all.d.ts +0 -0
  911. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/style.d.ts +0 -0
  912. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/index.d.ts +0 -0
  913. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/labels.d.ts +0 -0
  914. /package/dist/types/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.d.ts +0 -0
  915. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/transforms.d.ts +0 -0
  916. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/index.d.ts +0 -0
  917. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/labels.d.ts +0 -0
  918. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.d.ts +0 -0
  919. /package/dist/types/{widgets-v2 → widgets}/bar/download.d.ts +0 -0
  920. /package/dist/types/{widgets-v2 → widgets}/bar/options.d.ts +0 -0
  921. /package/dist/types/{widgets-v2 → widgets}/category/category.d.ts +0 -0
  922. /package/dist/types/{widgets-v2 → widgets}/category/download.d.ts +0 -0
  923. /package/dist/types/{widgets-v2 → widgets}/echart/edge-label-clamp.d.ts +0 -0
  924. /package/dist/types/{widgets-v2 → widgets}/echart/use-chart-selection.d.ts +0 -0
  925. /package/dist/types/{widgets-v2 → widgets}/formula/delta.d.ts +0 -0
  926. /package/dist/types/{widgets-v2 → widgets}/formula/download.d.ts +0 -0
  927. /package/dist/types/{widgets-v2 → widgets}/formula/formula.d.ts +0 -0
  928. /package/dist/types/{widgets-v2 → widgets}/formula/note.d.ts +0 -0
  929. /package/dist/types/{widgets-v2 → widgets}/formula/prefix.d.ts +0 -0
  930. /package/dist/types/{widgets-v2 → widgets}/formula/suffix.d.ts +0 -0
  931. /package/dist/types/{widgets-v2 → widgets}/histogram/download.d.ts +0 -0
  932. /package/dist/types/{widgets-v2 → widgets}/histogram/options.d.ts +0 -0
  933. /package/dist/types/{widgets-v2 → widgets}/histogram/transforms.d.ts +0 -0
  934. /package/dist/types/{widgets-v2 → widgets}/markdown/download.d.ts +0 -0
  935. /package/dist/types/{widgets-v2 → widgets}/markdown/markdown-content.d.ts +0 -0
  936. /package/dist/types/{widgets-v2 → widgets}/note/labels.d.ts +0 -0
  937. /package/dist/types/{widgets-v2 → widgets}/note/widget-note.d.ts +0 -0
  938. /package/dist/types/{widgets-v2 → widgets}/pie/download.d.ts +0 -0
  939. /package/dist/types/{widgets-v2 → widgets}/pie/options.d.ts +0 -0
  940. /package/dist/types/{widgets-v2 → widgets}/provider/widget-provider.d.ts +0 -0
  941. /package/dist/types/{widgets-v2 → widgets}/range/range.d.ts +0 -0
  942. /package/dist/types/{widgets-v2 → widgets}/scatterplot/download.d.ts +0 -0
  943. /package/dist/types/{widgets-v2 → widgets}/scatterplot/options.d.ts +0 -0
  944. /package/dist/types/{widgets-v2 → widgets}/scatterplot/transforms.d.ts +0 -0
  945. /package/dist/types/{widgets-v2 → widgets}/selection-summary/labels.d.ts +0 -0
  946. /package/dist/types/{widgets-v2 → widgets}/spread/band.d.ts +0 -0
  947. /package/dist/types/{widgets-v2 → widgets}/spread/download.d.ts +0 -0
  948. /package/dist/types/{widgets-v2 → widgets}/spread/separator.d.ts +0 -0
  949. /package/dist/types/{widgets-v2 → widgets}/spread/spread.d.ts +0 -0
  950. /package/dist/types/{widgets-v2 → widgets}/state/labels.d.ts +0 -0
  951. /package/dist/types/{widgets-v2 → widgets}/state/style.d.ts +0 -0
  952. /package/dist/types/{widgets-v2 → widgets}/state/widget-state.d.ts +0 -0
  953. /package/dist/types/{widgets-v2 → widgets}/stores/pipeline-middleware.d.ts +0 -0
  954. /package/dist/types/{widgets-v2 → widgets}/stores/transforms.d.ts +0 -0
  955. /package/dist/types/{widgets-v2 → widgets}/stores/use-echart-instance.d.ts +0 -0
  956. /package/dist/types/{widgets-v2 → widgets}/stores/use-transform-enabled.d.ts +0 -0
  957. /package/dist/types/{widgets-v2 → widgets}/stores/use-transform.d.ts +0 -0
  958. /package/dist/types/{widgets-v2 → widgets}/stores/widget-context.d.ts +0 -0
  959. /package/dist/types/{widgets-v2 → widgets}/stores/widget-store-registry.d.ts +0 -0
  960. /package/dist/types/{widgets-v2 → widgets}/table/download.d.ts +0 -0
  961. /package/dist/types/{widgets-v2 → widgets}/table/labels.d.ts +0 -0
  962. /package/dist/types/{widgets-v2 → widgets}/table/table.d.ts +0 -0
  963. /package/dist/types/{widgets-v2 → widgets}/table/transforms.d.ts +0 -0
  964. /package/dist/types/{widgets-v2 → widgets}/timeseries/download.d.ts +0 -0
  965. /package/dist/types/{widgets-v2 → widgets}/timeseries/options.d.ts +0 -0
  966. /package/dist/types/{widgets-v2 → widgets}/timeseries/transforms.d.ts +0 -0
  967. /package/dist/types/{widgets-v2 → widgets}/toolbox/labels.d.ts +0 -0
  968. /package/dist/types/{widgets-v2 → widgets}/toolbox/style.d.ts +0 -0
  969. /package/dist/types/{widgets-v2 → widgets}/toolbox/toolbox.d.ts +0 -0
  970. /package/dist/types/{widgets-v2 → widgets}/utils/data-zoom-layout.d.ts +0 -0
  971. /package/dist/types/{widgets-v2 → widgets}/utils/merge-options.d.ts +0 -0
  972. /package/dist/types/widgets/utils/{chart-config/option-builders.d.ts → option-builders.d.ts} +0 -0
  973. /package/dist/types/{widgets-v2 → widgets}/utils/resolve-theme-color.d.ts +0 -0
  974. /package/dist/types/{widgets-v2 → widgets}/wrapper/labels.d.ts +0 -0
  975. /package/dist/types/{widgets-v2 → widgets}/wrapper/style.d.ts +0 -0
  976. /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-actions.d.ts +0 -0
  977. /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-content.d.ts +0 -0
  978. /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-wrapper.d.ts +0 -0
  979. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/index.ts +0 -0
  980. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/labels.ts +0 -0
  981. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.test.ts +0 -0
  982. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.ts +0 -0
  983. /package/src/{widgets-v2 → widgets}/actions/change-column/index.ts +0 -0
  984. /package/src/{widgets-v2 → widgets}/actions/change-column/labels.ts +0 -0
  985. /package/src/{widgets-v2 → widgets}/actions/change-column/style.ts +0 -0
  986. /package/src/{widgets-v2 → widgets}/actions/download/constants.ts +0 -0
  987. /package/src/{widgets-v2 → widgets}/actions/download/csv-item.test.tsx +0 -0
  988. /package/src/{widgets-v2 → widgets}/actions/download/csv-item.tsx +0 -0
  989. /package/src/{widgets-v2 → widgets}/actions/download/icons.tsx +0 -0
  990. /package/src/{widgets-v2 → widgets}/actions/download/index.ts +0 -0
  991. /package/src/{widgets-v2 → widgets}/actions/download/labels.ts +0 -0
  992. /package/src/{widgets-v2 → widgets}/actions/download/png-item.test.tsx +0 -0
  993. /package/src/{widgets-v2 → widgets}/actions/download/style.ts +0 -0
  994. /package/src/{widgets-v2 → widgets}/actions/fullscreen/index.ts +0 -0
  995. /package/src/{widgets-v2 → widgets}/actions/fullscreen/labels.ts +0 -0
  996. /package/src/{widgets-v2 → widgets}/actions/lock-selection/index.ts +0 -0
  997. /package/src/{widgets-v2 → widgets}/actions/lock-selection/labels.ts +0 -0
  998. /package/src/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.ts +0 -0
  999. /package/src/{widgets-v2 → widgets}/actions/lock-selection/transforms.ts +0 -0
  1000. /package/src/{widgets-v2 → widgets}/actions/relative-data/index.ts +0 -0
  1001. /package/src/{widgets-v2 → widgets}/actions/relative-data/labels.ts +0 -0
  1002. /package/src/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.ts +0 -0
  1003. /package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.test.ts +0 -0
  1004. /package/src/{widgets-v2 → widgets}/actions/searcher/filter.ts +0 -0
  1005. /package/src/{widgets-v2 → widgets}/actions/searcher/index.ts +0 -0
  1006. /package/src/{widgets-v2 → widgets}/actions/searcher/labels.ts +0 -0
  1007. /package/src/{widgets-v2 → widgets}/actions/searcher/searcher.test.tsx +0 -0
  1008. /package/src/{widgets-v2 → widgets}/actions/searcher/style.ts +0 -0
  1009. /package/src/{widgets-v2 → widgets}/actions/show-all/index.ts +0 -0
  1010. /package/src/{widgets-v2 → widgets}/actions/show-all/labels.ts +0 -0
  1011. /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.test.tsx +0 -0
  1012. /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.tsx +0 -0
  1013. /package/src/{widgets-v2 → widgets}/actions/show-all/style.ts +0 -0
  1014. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/index.ts +0 -0
  1015. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/labels.ts +0 -0
  1016. /package/src/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.ts +0 -0
  1017. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.test.ts +0 -0
  1018. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.ts +0 -0
  1019. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/index.ts +0 -0
  1020. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/labels.ts +0 -0
  1021. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.test.ts +0 -0
  1022. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.ts +0 -0
  1023. /package/src/{widgets-v2 → widgets}/bar/download.test.tsx +0 -0
  1024. /package/src/{widgets-v2 → widgets}/bar/download.tsx +0 -0
  1025. /package/src/{widgets-v2 → widgets}/bar/options.test.ts +0 -0
  1026. /package/src/{widgets-v2 → widgets}/bar/skeleton.test.tsx +0 -0
  1027. /package/src/{widgets-v2 → widgets}/category/category.relative-data.test.tsx +0 -0
  1028. /package/src/{widgets-v2 → widgets}/category/category.stack-toggle.test.tsx +0 -0
  1029. /package/src/{widgets-v2 → widgets}/category/category.test.tsx +0 -0
  1030. /package/src/{widgets-v2 → widgets}/category/category.tsx +0 -0
  1031. /package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.test.tsx +0 -0
  1032. /package/src/{widgets-v2 → widgets}/category/components/category-bar.test.tsx +0 -0
  1033. /package/src/{widgets-v2 → widgets}/category/components/category-row-other.test.tsx +0 -0
  1034. /package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.test.tsx +0 -0
  1035. /package/src/{widgets-v2 → widgets}/category/download.test.ts +0 -0
  1036. /package/src/{widgets-v2 → widgets}/category/download.ts +0 -0
  1037. /package/src/{widgets-v2 → widgets}/category/skeleton.test.tsx +0 -0
  1038. /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.test.ts +0 -0
  1039. /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.ts +0 -0
  1040. /package/src/{widgets-v2 → widgets}/echart/shared-resize-observer.test.ts +0 -0
  1041. /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.test.tsx +0 -0
  1042. /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.ts +0 -0
  1043. /package/src/{widgets-v2 → widgets}/formula/delta.tsx +0 -0
  1044. /package/src/{widgets-v2 → widgets}/formula/download.test.tsx +0 -0
  1045. /package/src/{widgets-v2 → widgets}/formula/download.tsx +0 -0
  1046. /package/src/{widgets-v2 → widgets}/formula/formula.test.tsx +0 -0
  1047. /package/src/{widgets-v2 → widgets}/formula/formula.tsx +0 -0
  1048. /package/src/{widgets-v2 → widgets}/formula/prefix.tsx +0 -0
  1049. /package/src/{widgets-v2 → widgets}/formula/skeleton.test.tsx +0 -0
  1050. /package/src/{widgets-v2 → widgets}/formula/subcomponents.test.tsx +0 -0
  1051. /package/src/{widgets-v2 → widgets}/formula/suffix.tsx +0 -0
  1052. /package/src/{widgets-v2 → widgets}/histogram/download.test.ts +0 -0
  1053. /package/src/{widgets-v2 → widgets}/histogram/download.ts +0 -0
  1054. /package/src/{widgets-v2 → widgets}/histogram/options.test.ts +0 -0
  1055. /package/src/{widgets-v2 → widgets}/histogram/skeleton.test.tsx +0 -0
  1056. /package/src/{widgets-v2 → widgets}/histogram/transforms.test.ts +0 -0
  1057. /package/src/{widgets-v2 → widgets}/histogram/transforms.ts +0 -0
  1058. /package/src/{widgets-v2 → widgets}/markdown/download.test.ts +0 -0
  1059. /package/src/{widgets-v2 → widgets}/markdown/download.tsx +0 -0
  1060. /package/src/{widgets-v2 → widgets}/markdown/markdown-content.test.tsx +0 -0
  1061. /package/src/{widgets-v2 → widgets}/markdown/markdown-content.tsx +0 -0
  1062. /package/src/{widgets-v2 → widgets}/markdown/markdown.test.tsx +0 -0
  1063. /package/src/{widgets-v2 → widgets}/markdown/skeleton.test.tsx +0 -0
  1064. /package/src/{widgets-v2 → widgets}/note/labels.ts +0 -0
  1065. /package/src/{widgets-v2 → widgets}/note/widget-note.test.tsx +0 -0
  1066. /package/src/{widgets-v2 → widgets}/pie/download.test.ts +0 -0
  1067. /package/src/{widgets-v2 → widgets}/pie/download.ts +0 -0
  1068. /package/src/{widgets-v2 → widgets}/pie/skeleton.test.tsx +0 -0
  1069. /package/src/{widgets-v2 → widgets}/provider/widget-provider.test.tsx +0 -0
  1070. /package/src/{widgets-v2 → widgets}/provider/widget-provider.tsx +0 -0
  1071. /package/src/{widgets-v2 → widgets}/range/range.test.tsx +0 -0
  1072. /package/src/{widgets-v2 → widgets}/range/range.tsx +0 -0
  1073. /package/src/{widgets-v2 → widgets}/range/skeleton.test.tsx +0 -0
  1074. /package/src/{widgets-v2 → widgets}/scatterplot/download.test.ts +0 -0
  1075. /package/src/{widgets-v2 → widgets}/scatterplot/download.ts +0 -0
  1076. /package/src/{widgets-v2 → widgets}/scatterplot/options.test.ts +0 -0
  1077. /package/src/{widgets-v2 → widgets}/scatterplot/skeleton.test.tsx +0 -0
  1078. /package/src/{widgets-v2 → widgets}/scatterplot/transforms.test.ts +0 -0
  1079. /package/src/{widgets-v2 → widgets}/scatterplot/transforms.ts +0 -0
  1080. /package/src/{widgets-v2 → widgets}/selection-summary/labels.ts +0 -0
  1081. /package/src/{widgets-v2 → widgets}/selection-summary/selection-summary.test.tsx +0 -0
  1082. /package/src/{widgets-v2 → widgets}/spread/band.test.ts +0 -0
  1083. /package/src/{widgets-v2 → widgets}/spread/band.ts +0 -0
  1084. /package/src/{widgets-v2 → widgets}/spread/download.test.ts +0 -0
  1085. /package/src/{widgets-v2 → widgets}/spread/download.ts +0 -0
  1086. /package/src/{widgets-v2 → widgets}/spread/separator.tsx +0 -0
  1087. /package/src/{widgets-v2 → widgets}/spread/skeleton.test.tsx +0 -0
  1088. /package/src/{widgets-v2 → widgets}/spread/spread.test.tsx +0 -0
  1089. /package/src/{widgets-v2 → widgets}/spread/spread.tsx +0 -0
  1090. /package/src/{widgets-v2 → widgets}/state/labels.test.ts +0 -0
  1091. /package/src/{widgets-v2 → widgets}/state/labels.ts +0 -0
  1092. /package/src/{widgets-v2 → widgets}/state/style.ts +0 -0
  1093. /package/src/{widgets-v2 → widgets}/state/widget-state.test.tsx +0 -0
  1094. /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.test.ts +0 -0
  1095. /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.ts +0 -0
  1096. /package/src/{widgets-v2 → widgets}/stores/transforms.test.ts +0 -0
  1097. /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.test.tsx +0 -0
  1098. /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.ts +0 -0
  1099. /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.test.tsx +0 -0
  1100. /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.ts +0 -0
  1101. /package/src/{widgets-v2 → widgets}/stores/use-transform.test.tsx +0 -0
  1102. /package/src/{widgets-v2 → widgets}/stores/widget-context.test.tsx +0 -0
  1103. /package/src/{widgets-v2 → widgets}/stores/widget-context.ts +0 -0
  1104. /package/src/{widgets-v2 → widgets}/stores/widget-store-registry.test.ts +0 -0
  1105. /package/src/{widgets-v2 → widgets}/table/download.test.ts +0 -0
  1106. /package/src/{widgets-v2 → widgets}/table/download.ts +0 -0
  1107. /package/src/{widgets-v2 → widgets}/table/labels.tsx +0 -0
  1108. /package/src/{widgets-v2 → widgets}/table/skeleton.test.tsx +0 -0
  1109. /package/src/{widgets-v2 → widgets}/table/table-ui.test.tsx +0 -0
  1110. /package/src/{widgets-v2 → widgets}/table/table.test.tsx +0 -0
  1111. /package/src/{widgets-v2 → widgets}/table/table.tsx +0 -0
  1112. /package/src/{widgets-v2 → widgets}/table/transforms.test.ts +0 -0
  1113. /package/src/{widgets-v2 → widgets}/table/transforms.ts +0 -0
  1114. /package/src/{widgets-v2 → widgets}/timeseries/download.test.ts +0 -0
  1115. /package/src/{widgets-v2 → widgets}/timeseries/download.ts +0 -0
  1116. /package/src/{widgets-v2 → widgets}/timeseries/options.test.ts +0 -0
  1117. /package/src/{widgets-v2 → widgets}/timeseries/skeleton.test.tsx +0 -0
  1118. /package/src/{widgets-v2 → widgets}/timeseries/transforms.test.ts +0 -0
  1119. /package/src/{widgets-v2 → widgets}/timeseries/transforms.ts +0 -0
  1120. /package/src/{widgets-v2 → widgets}/toolbox/labels.ts +0 -0
  1121. /package/src/{widgets-v2 → widgets}/toolbox/style.ts +0 -0
  1122. /package/src/{widgets-v2 → widgets}/toolbox/toolbox.test.tsx +0 -0
  1123. /package/src/{widgets-v2 → widgets}/toolbox/toolbox.tsx +0 -0
  1124. /package/src/{widgets-v2 → widgets}/utils/data-zoom-layout.ts +0 -0
  1125. /package/src/{widgets-v2 → widgets}/utils/merge-options.test.ts +0 -0
  1126. /package/src/{widgets-v2 → widgets}/utils/merge-options.ts +0 -0
  1127. /package/src/widgets/utils/{chart-config/option-builders.test.ts → option-builders.test.ts} +0 -0
  1128. /package/src/widgets/utils/{chart-config/option-builders.ts → option-builders.ts} +0 -0
  1129. /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.test.ts +0 -0
  1130. /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.ts +0 -0
  1131. /package/src/{widgets-v2 → widgets}/wrapper/labels.ts +0 -0
  1132. /package/src/{widgets-v2 → widgets}/wrapper/style.ts +0 -0
  1133. /package/src/{widgets-v2 → widgets}/wrapper/widget-actions.test.tsx +0 -0
  1134. /package/src/{widgets-v2 → widgets}/wrapper/widget-actions.tsx +0 -0
  1135. /package/src/{widgets-v2 → widgets}/wrapper/widget-content.test.tsx +0 -0
  1136. /package/src/{widgets-v2 → widgets}/wrapper/widget-content.tsx +0 -0
  1137. /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