@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,226 +1,330 @@
1
- import { a as e } from "../shared-resize-observer-BEiP2rQt.js";
2
- import { n as t } from "../csv-modifiers-D6HGC24b.js";
3
- import { c as n, n as r, r as i, s as a, t as o, u as s } from "../chart-config-B_fdIcD3.js";
4
- import { t as c } from "../echart-BkaV3V5G.js";
5
- import { t as l } from "../styles-Y-qGBELO.js";
6
- import { c as u } from "react/compiler-runtime";
7
- import { Box as d, Skeleton as f } from "@mui/material";
8
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
9
- //#region src/widgets/scatterplot/config.ts
10
- var h = o(t);
11
- function g(t) {
1
+ import { r as e } from "../zoom-toggle-D_VuA01l.js";
2
+ import { n as t, t as n } from "../download-Vlzn2jzb.js";
3
+ import { r, t as i } from "../utils-BStJWhZN.js";
4
+ import { a, n as o, o as s, r as c, s as l, t as u } from "../option-builders-DQivvvbb.js";
5
+ import { c as d } from "react/compiler-runtime";
6
+ import { Box as f, Skeleton as p } from "@mui/material";
7
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
8
+ import * as g from "echarts";
9
+ //#region src/widgets/scatterplot/options.ts
10
+ function _({ theme: e, xFormatter: t, yFormatter: n }) {
12
11
  return {
13
- type: "scatterplot",
14
- option: e(c(t), _(t)),
15
- formatter: t.formatter,
16
- labelFormatter: t.labelFormatter
17
- };
18
- }
19
- function _({ data: e = [], theme: t, formatter: o, labelFormatter: c }) {
20
- let l = e.length > 1, u = {
21
- type: "value",
22
- axisLine: { show: !1 },
23
- axisTick: { show: !1 },
24
- axisLabel: {
25
- fontSize: t.typography.overlineDelicate.fontSize,
26
- fontFamily: t.typography.overlineDelicate.fontFamily,
27
- showMinLabel: !0,
28
- showMaxLabel: !0,
29
- hideOverlap: !0,
30
- padding: [
31
- parseInt(t.spacing(.5)),
32
- parseInt(t.spacing(.5)),
33
- 0,
34
- parseInt(t.spacing(.5))
35
- ],
36
- color: t.palette.black[60]
37
- },
38
- splitLine: {
39
- show: !0,
40
- lineStyle: { color: t.palette.black[4] }
41
- }
42
- }, d = {
43
- type: "value",
44
- axisLabel: {
45
- fontSize: t.typography.overlineDelicate.fontSize,
46
- fontFamily: t.typography.overlineDelicate.fontFamily,
47
- inside: !1,
48
- padding: [
49
- 0,
50
- 0,
51
- parseInt(t.spacing(1.25)),
52
- parseInt(t.spacing(3.25))
53
- ],
54
- margin: 0,
55
- show: !0,
56
- showMaxLabel: !0,
57
- showMinLabel: !1,
58
- align: "right",
59
- verticalAlign: "bottom"
60
- },
61
- axisLine: { show: !1 },
62
- axisTick: { show: !1 },
63
- splitLine: {
64
- show: !0,
65
- lineStyle: { color: t.palette.black[4] }
66
- }
67
- };
68
- return {
69
- legend: a({
70
- hasLegend: l,
71
- labelFormatter: c
72
- }),
73
12
  grid: {
74
- ...!l && { bottom: parseInt(t.spacing(1)) },
75
- ...l && { bottom: parseInt(t.spacing(10)) }
13
+ left: parseInt(e.spacing(1)),
14
+ top: parseInt(e.spacing(3)),
15
+ right: parseInt(e.spacing(1)),
16
+ ...o(!1, e),
17
+ containLabel: !0
76
18
  },
77
- xAxis: r(u, c),
78
- yAxis: i(d, o),
79
19
  tooltip: {
80
20
  trigger: "item",
81
- formatter: s((e) => {
82
- let t = e.value[e.encode?.y?.at(0) ?? ""], n = typeof t == "number" && o ? o(t) : t ?? "", r = typeof e.marker == "string" ? e.marker : "";
21
+ backgroundColor: e.palette.grey[900],
22
+ borderWidth: 0,
23
+ padding: [parseInt(e.spacing(1)), parseInt(e.spacing(1))],
24
+ textStyle: {
25
+ color: e.palette.common.white,
26
+ fontSize: 11,
27
+ fontFamily: e.typography.caption.fontFamily
28
+ },
29
+ position: s(e),
30
+ formatter: x(t, n)
31
+ },
32
+ legend: { ...c({
33
+ hasLegend: !1,
34
+ labelFormatter: void 0
35
+ }) },
36
+ axisPointer: { lineStyle: { color: e.palette.grey[400] } },
37
+ color: [e.palette.secondary.main, ...Object.values(e.palette.qualitative?.bold ?? {})],
38
+ xAxis: {
39
+ type: "value",
40
+ axisLine: { show: !1 },
41
+ axisTick: { show: !1 },
42
+ axisLabel: {
43
+ ...u(e),
44
+ margin: parseInt(e.spacing(1)),
45
+ hideOverlap: !0,
46
+ showMinLabel: !0,
47
+ showMaxLabel: !0,
48
+ ...t && { formatter: t }
49
+ },
50
+ splitLine: {
51
+ show: !0,
52
+ lineStyle: { color: e.palette.black?.[4] ?? e.palette.divider }
53
+ }
54
+ },
55
+ yAxis: {
56
+ type: "value",
57
+ axisLine: { show: !1 },
58
+ axisTick: { show: !1 },
59
+ axisLabel: {
60
+ ...u(e),
61
+ margin: parseInt(e.spacing(1)),
62
+ hideOverlap: !0,
63
+ showMinLabel: !0,
64
+ showMaxLabel: !0,
65
+ ...n && { formatter: n }
66
+ },
67
+ splitLine: {
68
+ show: !0,
69
+ lineStyle: { color: e.palette.black?.[4] ?? e.palette.divider }
70
+ }
71
+ }
72
+ };
73
+ }
74
+ function v(t) {
75
+ let { theme: n, xFormatter: a, yFormatter: o, optionsOverride: s } = t, c = t.series, l = t.symbolSize ?? 8, u = t.selection, d = u && u.length > 0 ? new Set(u) : null;
76
+ return (t, u, f) => {
77
+ if (t == null) {
78
+ let e = _({
79
+ theme: n,
80
+ xFormatter: a,
81
+ yFormatter: o
82
+ });
83
+ return s ? r(e, s) : e;
84
+ }
85
+ let p = Array.isArray(u) ? u : [];
86
+ if (p.length === 0) return {
87
+ ...t,
88
+ dataset: [],
89
+ series: []
90
+ };
91
+ let m = p.length > 1, h = typeof t.legend == "object" && !Array.isArray(t.legend) ? t.legend : {}, v = typeof t.grid == "object" && !Array.isArray(t.grid) ? t.grid : {}, x = typeof t.tooltip == "object" && !Array.isArray(t.tooltip) ? t.tooltip : {}, C = typeof t.xAxis == "object" && !Array.isArray(t.xAxis) ? t.xAxis : {}, w = typeof t.yAxis == "object" && !Array.isArray(t.yAxis) ? t.yAxis : {}, T = f?.formatter, { niceMinX: E, niceMaxX: D, niceMinY: O, niceMaxY: k } = S(p), A = (e) => (t) => {
92
+ let n = t.color;
93
+ if (!d) return n;
94
+ let r = `${e}:${t.dataIndex}`;
95
+ return d.has(r) ? n : g.color.modifyAlpha(n, .15);
96
+ }, j = y(t.dataZoom, m), M = j?.hasXSlider ?? !1, N = j?.hasYSlider ?? !1, P = typeof v.bottom == "number" ? v.bottom : 24, F = m ? 56 : P, I = M ? F + e.sliderHeight + e.sliderGap : F, L = typeof v.right == "number" ? v.right : 8, R = N ? L + e.sliderHeight + e.sliderGap : L;
97
+ return {
98
+ ...t,
99
+ dataset: p.map((e) => ({ source: e })),
100
+ series: p.map((e, t) => {
101
+ let r = i(n, c?.[t]?.color);
83
102
  return {
84
- name: c ? String(c(e.seriesName ?? "")) : e.seriesName ?? "",
85
- seriesName: "",
86
- marker: r,
87
- value: n
103
+ type: "scatter",
104
+ datasetIndex: t,
105
+ name: c?.[t]?.name ?? `Series ${t + 1}`,
106
+ encode: {
107
+ x: 0,
108
+ y: 1
109
+ },
110
+ symbolSize: l,
111
+ emphasis: { focus: "series" },
112
+ itemStyle: { color: A(t) },
113
+ ...r ? { color: r } : {}
88
114
  };
89
- })
90
- },
91
- color: Object.values(t.palette.qualitative.bold),
92
- series: e.map((e, t) => ({
93
- datasetIndex: t,
94
- type: "scatter",
95
- symbolSize: 8,
96
- ...n(o)
97
- }))
115
+ }),
116
+ legend: {
117
+ ...h,
118
+ show: m
119
+ },
120
+ grid: {
121
+ ...v,
122
+ bottom: I,
123
+ right: R
124
+ },
125
+ ...j ? { dataZoom: j.entries } : {},
126
+ xAxis: {
127
+ ...C,
128
+ min: E,
129
+ max: D
130
+ },
131
+ yAxis: {
132
+ ...w,
133
+ min: O,
134
+ max: k,
135
+ axisLabel: {
136
+ ...w.axisLabel ?? {},
137
+ ...T ? { formatter: T } : {}
138
+ }
139
+ },
140
+ tooltip: {
141
+ ...x,
142
+ formatter: b(x.formatter, T, a)
143
+ }
144
+ };
145
+ };
146
+ }
147
+ function y(t, n) {
148
+ if (!Array.isArray(t) || t.length === 0) return null;
149
+ let r = !1, i = !1;
150
+ return {
151
+ entries: t.map((t) => {
152
+ if (typeof t != "object" || !t) return t;
153
+ let a = t;
154
+ return a.type === "slider" ? a.yAxisIndex === void 0 ? (r = !0, n ? {
155
+ ...a,
156
+ bottom: e.sliderBottomWithLegend
157
+ } : a) : (i = !0, a) : a;
158
+ }),
159
+ hasXSlider: r,
160
+ hasYSlider: i
161
+ };
162
+ }
163
+ function b(e, t, n) {
164
+ return t ? a((e) => {
165
+ let r = e.value, i = r?.[0], a = r?.[1], o = typeof i == "number" ? n ? n(i) : String(i) : "", s = typeof a == "number" ? t(a) : String(a ?? ""), c = typeof e.marker == "string" ? e.marker : "", l = e.seriesName ? `${e.seriesName}: ` : "";
166
+ return {
167
+ name: `(${o}, ${s})`,
168
+ seriesName: l,
169
+ marker: c,
170
+ value: ""
171
+ };
172
+ }) : e;
173
+ }
174
+ function x(e, t) {
175
+ return a((n) => {
176
+ let r = n.value, i = r?.[0], a = r?.[1], o = typeof i == "number" ? e ? e(i) : String(i) : "", s = typeof a == "number" ? t ? t(a) : String(a) : "", c = typeof n.marker == "string" ? n.marker : "", l = n.seriesName ? `${n.seriesName}: ` : "";
177
+ return {
178
+ name: `(${o}, ${s})`,
179
+ seriesName: l,
180
+ marker: c,
181
+ value: ""
182
+ };
183
+ });
184
+ }
185
+ function S(e) {
186
+ let t = Infinity, n = -Infinity, r = Infinity, i = -Infinity;
187
+ for (let a of e) for (let e of a) {
188
+ let a = e?.[0], o = e?.[1];
189
+ typeof a == "number" && Number.isFinite(a) && (a < t && (t = a), a > n && (n = a)), typeof o == "number" && Number.isFinite(o) && (o < r && (r = o), o > i && (i = o));
190
+ }
191
+ let a = Number.isFinite(n) ? n <= 0 ? 1 : l(n) : 1, o = Number.isFinite(i) ? i <= 0 ? 1 : l(i) : 1;
192
+ return {
193
+ niceMinX: Number.isFinite(t) && t < 0 ? l(t) : 0,
194
+ niceMaxX: a,
195
+ niceMinY: Number.isFinite(r) && r < 0 ? l(r) : 0,
196
+ niceMaxY: o
98
197
  };
99
198
  }
100
199
  //#endregion
101
- //#region src/widgets/scatterplot/style.ts
102
- var v = { skeleton: {
103
- graph: { container: {
104
- ...l.graph.container,
105
- position: "relative"
106
- } },
107
- legend: {
200
+ //#region src/widgets/scatterplot/skeleton.tsx
201
+ var C = {
202
+ container: {
108
203
  display: "flex",
109
204
  alignItems: "center",
110
- gap: ({ spacing: e }) => e(2),
111
- height: ({ spacing: e }) => e(5),
112
- position: "absolute",
113
- bottom: 0
114
- }
115
- } }, y = [
116
- {
117
- left: "20%",
118
- top: "62%"
205
+ justifyContent: "space-between",
206
+ flexDirection: "column",
207
+ gap: ({ spacing: e }) => e(1),
208
+ height: ({ spacing: e }) => e(38)
119
209
  },
120
- {
121
- left: "26%",
122
- top: "70%"
210
+ grid: {
211
+ position: "relative",
212
+ flex: "1 1 auto",
213
+ width: "100%"
123
214
  },
124
- {
125
- left: "29%",
126
- top: "73%"
127
- },
128
- {
129
- left: "38%",
130
- top: "63%"
131
- },
132
- {
133
- left: "41%",
134
- top: "68%"
135
- },
136
- {
137
- left: "47%",
138
- top: "62%"
139
- },
140
- {
141
- left: "53%",
142
- top: "49%"
143
- },
144
- {
145
- left: "56%",
146
- top: "55%"
147
- },
148
- {
149
- left: "65%",
150
- top: "37%"
151
- },
152
- {
153
- left: "68%",
154
- top: "43%"
155
- },
156
- {
157
- left: "77%",
158
- top: "59%"
159
- },
160
- {
161
- left: "25%",
162
- top: "30%"
163
- },
164
- {
165
- left: "60%",
166
- top: "70%"
167
- },
168
- {
169
- left: "10%",
170
- top: "55%"
215
+ legend: {
216
+ display: "flex",
217
+ alignItems: "center",
218
+ gap: ({ spacing: e }) => e(2),
219
+ height: ({ spacing: e }) => e(5)
171
220
  },
172
- {
173
- left: "40%",
174
- top: "40%"
221
+ legendItem: {
222
+ display: "flex",
223
+ alignItems: "center",
224
+ gap: ({ spacing: e }) => e(1.5)
175
225
  }
176
- ];
177
- function b() {
178
- let e = u(2), t;
179
- e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = y.map(C), e[0] = t) : t = e[0];
180
- let n;
181
- return e[1] === Symbol.for("react.memo_cache_sentinel") ? (n = /* @__PURE__ */ m(d, {
182
- sx: v.skeleton.graph.container,
183
- children: [t, /* @__PURE__ */ p(d, {
184
- sx: v.skeleton.legend,
185
- children: [, ,].fill(0).map(x)
186
- })]
187
- }), e[1] = n) : n = e[1], n;
226
+ }, w = (e, t, n) => ({
227
+ position: "absolute",
228
+ top: e,
229
+ left: t,
230
+ width: n,
231
+ height: n,
232
+ borderRadius: "50%"
233
+ });
234
+ function T(e) {
235
+ let t = d(15), { count: n } = e, r = n === void 0 ? 24 : n, i, a, o, s, c;
236
+ if (t[0] !== r) {
237
+ let e = Array.from({ length: r }, O);
238
+ a = f, c = C.container, i = f, o = C.grid, s = e.map(D), t[0] = r, t[1] = i, t[2] = a, t[3] = o, t[4] = s, t[5] = c;
239
+ } else i = t[1], a = t[2], o = t[3], s = t[4], c = t[5];
240
+ let l;
241
+ t[6] !== i || t[7] !== o || t[8] !== s ? (l = /* @__PURE__ */ m(i, {
242
+ sx: o,
243
+ children: s
244
+ }), t[6] = i, t[7] = o, t[8] = s, t[9] = l) : l = t[9];
245
+ let u;
246
+ t[10] === Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ m(f, {
247
+ sx: C.legend,
248
+ children: [0, 1].map(E)
249
+ }), t[10] = u) : u = t[10];
250
+ let p;
251
+ return t[11] !== a || t[12] !== c || t[13] !== l ? (p = /* @__PURE__ */ h(a, {
252
+ sx: c,
253
+ children: [l, u]
254
+ }), t[11] = a, t[12] = c, t[13] = l, t[14] = p) : p = t[14], p;
188
255
  }
189
- function x(e, t) {
190
- return /* @__PURE__ */ m(d, {
191
- sx: {
192
- display: "flex",
193
- alignItems: "center",
194
- gap: S
195
- },
196
- children: [/* @__PURE__ */ p(f, {
256
+ function E(e) {
257
+ return /* @__PURE__ */ h(f, {
258
+ sx: C.legendItem,
259
+ children: [/* @__PURE__ */ m(p, {
197
260
  variant: "circular",
198
261
  width: 8,
199
262
  height: 8
200
- }), /* @__PURE__ */ p(f, {
263
+ }), /* @__PURE__ */ m(p, {
201
264
  width: 48,
202
265
  height: 8
203
266
  })]
204
- }, `skeleton-${t}`);
205
- }
206
- function S(e) {
207
- let { spacing: t } = e;
208
- return t(1.5);
267
+ }, `legend-${e}`);
209
268
  }
210
- function C(e, t) {
211
- return /* @__PURE__ */ p(f, {
269
+ function D(e, t) {
270
+ return /* @__PURE__ */ m(p, {
212
271
  variant: "circular",
213
- width: 12,
214
- height: 12,
215
- sx: {
216
- position: "absolute",
217
- top: e.top,
218
- left: e.left,
219
- transform: "translate(-50%, -50%)"
272
+ sx: w(e.top, e.left, e.size)
273
+ }, `dot-${t}`);
274
+ }
275
+ function O(e, t) {
276
+ let n = 10 + t * 37 % 80, r = 5 + t * 53 % 90, i = 8 + t * 7 % 6;
277
+ return {
278
+ top: `${n}%`,
279
+ left: `${r}%`,
280
+ size: i
281
+ };
282
+ }
283
+ //#endregion
284
+ //#region src/widgets/scatterplot/download.ts
285
+ function k(e) {
286
+ let r = [];
287
+ return e.getCaptureEl && r.push(t({
288
+ filename: e.filename,
289
+ getCaptureEl: e.getCaptureEl,
290
+ pixelRatio: e.pngPixelRatio,
291
+ backgroundColor: e.pngBackgroundColor
292
+ })), r.push(n({
293
+ filename: e.filename,
294
+ getRows: () => {
295
+ let t = e.getData(), n = [[
296
+ "series",
297
+ "x",
298
+ "y"
299
+ ]];
300
+ for (let [r, i] of t.entries()) {
301
+ let t = e.seriesNames?.[r] ?? `series_${r + 1}`;
302
+ for (let [e, r] of i) n.push([
303
+ t,
304
+ e,
305
+ r
306
+ ]);
307
+ }
308
+ return n;
220
309
  }
221
- }, `skeleton-point-${t}`);
310
+ })), r;
311
+ }
312
+ //#endregion
313
+ //#region src/widgets/scatterplot/transforms.ts
314
+ var A = (e) => Array.isArray(e) ? e.map((e) => {
315
+ if (!j(e)) return e;
316
+ let t = e.reduce((e, [, t]) => e + Math.abs(t), 0);
317
+ return t <= 0 ? e : e.map(([e, n]) => [e, n / t * 100]);
318
+ }) : e;
319
+ function j(e) {
320
+ return Array.isArray(e) ? e.every((e) => Array.isArray(e) && e.length === 2 && typeof e[0] == "number" && Number.isFinite(e[0]) && typeof e[1] == "number" && Number.isFinite(e[1])) : !1;
321
+ }
322
+ function M(e, t) {
323
+ if (t.length === 0 || !Array.isArray(e)) return e;
324
+ let n = new Set(t.map(String));
325
+ return e.map((e, t) => j(e) ? e.filter((e, r) => n.has(`${t}:${r}`)) : e);
222
326
  }
223
327
  //#endregion
224
- export { b as ScatterplotSkeleton, g as scatterplotConfig, h as scatterplotDownloadConfig };
328
+ export { T as ScatterplotSkeleton, k as createScatterplotDownloadConfig, v as createScatterplotOptionFactory, M as filterScatterplotByLockedPoints, _ as scatterplotOptions, A as toRelativeScatterplotData };
225
329
 
226
330
  //# sourceMappingURL=scatterplot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scatterplot.js","names":["SCATTER_POINTS.map((point, index) => (\n <Skeleton\n key={`skeleton-point-${index}`}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n ))","(point, index) => (\n <Skeleton\n key={`skeleton-point-${index}`}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n )","<Box sx={styles.skeleton.graph.container}>\n {SCATTER_POINTS.map((point, index) => (\n <Skeleton\n key={`skeleton-point-${index}`}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n ))}\n {/* Legend */}\n <Box sx={styles.skeleton.legend}>\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={`skeleton-${i}`}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>","(_, i) => (\n <Box\n key={`skeleton-${i}`}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n )","({ spacing }) => spacing(1.5)","{ spacing }"],"sources":["../../src/widgets/scatterplot/config.ts","../../src/widgets/scatterplot/style.ts","../../src/widgets/scatterplot/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n ScatterplotConfig,\n ScatterplotWidgetConfig,\n ScatterplotWidgetData,\n} from './types'\nimport {\n scatterplotDataToCSV,\n buildLegendConfig,\n createTooltipFormatter,\n createChartDownloadConfig,\n applyYAxisFormatter,\n applyXAxisFormatter,\n buildSeriesLabelConfig,\n} from '../utils/chart-config'\n\nexport const scatterplotDownloadConfig =\n createChartDownloadConfig<ScatterplotWidgetData>(scatterplotDataToCSV)\n\n/**\n * Generates ECharts configuration for X-Y scatter plot widgets with value axes, legend support, and CARTO qualitative color palette.\n *\n * @param props - Scatterplot configuration including data points and theme.\n * @returns Widget config with ECharts option object.\n */\nexport function scatterplotConfig(\n props: ScatterplotConfig,\n): ScatterplotWidgetConfig {\n return {\n type: 'scatterplot',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n formatter: props.formatter,\n labelFormatter: props.labelFormatter,\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n formatter,\n labelFormatter,\n}: ScatterplotConfig): EchartOptionsProps {\n const hasLegend = data.length > 1\n\n const xAxis = {\n type: 'value' as const,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: true,\n showMaxLabel: true,\n hideOverlap: true,\n padding: [\n parseInt(theme.spacing(0.5)),\n parseInt(theme.spacing(0.5)),\n 0,\n parseInt(theme.spacing(0.5)),\n ],\n color: theme.palette.black[60],\n },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n }\n\n const yAxis = {\n type: 'value' as const,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n inside: false,\n padding: [\n 0,\n 0,\n parseInt(theme.spacing(1.25)),\n parseInt(theme.spacing(3.25)),\n ],\n margin: 0,\n show: true,\n showMaxLabel: true,\n showMinLabel: false,\n align: 'right',\n verticalAlign: 'bottom',\n },\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n }\n\n return {\n legend: buildLegendConfig({ hasLegend, labelFormatter }),\n grid: {\n ...(!hasLegend && { bottom: parseInt(theme.spacing(1)) }),\n ...(hasLegend && { bottom: parseInt(theme.spacing(10)) }),\n },\n xAxis: applyXAxisFormatter(xAxis, labelFormatter),\n yAxis: applyYAxisFormatter(yAxis, formatter),\n tooltip: {\n trigger: 'item',\n // position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const value = item.value as Record<string, string | number>\n const index = item.encode?.y?.at(0)\n const _value = value[index ?? '']\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : (_value ?? '')\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const name = labelFormatter\n ? String(labelFormatter(item.seriesName ?? ''))\n : (item.seriesName ?? '')\n\n return { name, seriesName: '', marker, value: formattedValue }\n }),\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'scatter',\n symbolSize: 8,\n ...buildSeriesLabelConfig(formatter),\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../utils/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: {\n container: {\n ...baseSkeletonStyles.graph.container,\n position: 'relative',\n },\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n position: 'absolute',\n bottom: 0,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst SCATTER_POINTS = [\n { left: '20%', top: '62%' },\n { left: '26%', top: '70%' },\n { left: '29%', top: '73%' },\n { left: '38%', top: '63%' },\n { left: '41%', top: '68%' },\n { left: '47%', top: '62%' },\n { left: '53%', top: '49%' },\n { left: '56%', top: '55%' },\n { left: '65%', top: '37%' },\n { left: '68%', top: '43%' },\n { left: '77%', top: '59%' },\n { left: '25%', top: '30%' },\n { left: '60%', top: '70%' },\n { left: '10%', top: '55%' },\n { left: '40%', top: '40%' },\n]\n\nexport function ScatterplotSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n {SCATTER_POINTS.map((point, index) => (\n <Skeleton\n key={`skeleton-point-${index}`}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n ))}\n {/* Legend */}\n <Box sx={styles.skeleton.legend}>\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={`skeleton-${i}`}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"scatterplot.js","names":["{ count = 24 }: ScatterplotSkeletonProps","count = 24","Box","styles.grid","dots.map((d, i) => (\n <Skeleton\n key={`dot-${i}`}\n variant='circular'\n sx={dotSx(d.top, d.left, d.size)}\n />\n ))","styles.container","(_, i) => {\n const top = 10 + ((i * 37) % 80)\n const left = 5 + ((i * 53) % 90)\n const size = 8 + ((i * 7) % 6)\n return { top: `${top}%`, left: `${left}%`, size }\n }","(d, i) => (\n <Skeleton\n key={`dot-${i}`}\n variant='circular'\n sx={dotSx(d.top, d.left, d.size)}\n />\n )","<Box sx={styles.grid}>\n {dots.map((d, i) => (\n <Skeleton\n key={`dot-${i}`}\n variant='circular'\n sx={dotSx(d.top, d.left, d.size)}\n />\n ))}\n </Box>","<Box sx={styles.legend}>\n {[0, 1].map((i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>","(i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n )","<Box sx={styles.container}>\n <Box sx={styles.grid}>\n {dots.map((d, i) => (\n <Skeleton\n key={`dot-${i}`}\n variant='circular'\n sx={dotSx(d.top, d.left, d.size)}\n />\n ))}\n </Box>\n <Box sx={styles.legend}>\n {[0, 1].map((i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>","i"],"sources":["../../src/widgets/scatterplot/options.ts","../../src/widgets/scatterplot/skeleton.tsx","../../src/widgets/scatterplot/download.ts","../../src/widgets/scatterplot/transforms.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts'\nimport * as echarts from 'echarts'\nimport type { CallbackDataParams } from 'echarts/types/dist/shared'\nimport {\n buildAxisLabelStyle,\n buildGridConfig,\n buildLegendConfig,\n createTooltipFormatter,\n createTooltipPositioner,\n niceNum,\n} from '../utils/option-builders'\nimport { ZOOM_LAYOUT } from '../actions/zoom-toggle'\nimport type { OptionFactory } from '../echart'\nimport { mergeOptions, resolveThemeColor } from '../utils'\nimport type {\n ScatterplotEChartsOption,\n ScatterplotOptionFactoryInput,\n ScatterplotOptionsInput,\n ScatterplotWidgetData,\n} from './types'\n\n/**\n * Builds the **structural** ECharts option for a scatterplot widget — both\n * axes `type: 'value'` (not category, unlike Bar/Histogram), grid, tooltip\n * triggered per-item rather than per-axis. Intentionally data-agnostic: no\n * series, no dataset, no `legend.show` (those depend on data and are added\n * by {@link createScatterplotOptionFactory}).\n *\n * Styling parity with v1: dark themed tooltip via `createTooltipFormatter`\n * + `createTooltipPositioner`, `buildGridConfig`-based grid, polished\n * axisLine/Tick/splitLine, `overlineDelicate` axis labels, structural\n * legend wired via `buildLegendConfig` (toggled by the merger), and the\n * CARTO `qualitative.bold + secondary` palette — same pattern bar /\n * histogram / pie already use. {@link createScatterplotOptionFactory}\n * wraps this builder in its structural-phase branch.\n */\nexport function scatterplotOptions({\n theme,\n xFormatter,\n yFormatter,\n}: ScatterplotOptionsInput): ScatterplotEChartsOption {\n return {\n grid: {\n left: parseInt(theme.spacing(1)),\n top: parseInt(theme.spacing(3)),\n right: parseInt(theme.spacing(1)),\n // Default: no legend. Merger bumps `bottom` when there are >1 series.\n ...buildGridConfig(false, theme),\n containLabel: true,\n },\n tooltip: {\n // Per-point trigger — different from Bar's 'axis' trigger because\n // points don't share an x-coordinate.\n trigger: 'item',\n backgroundColor: theme.palette.grey[900],\n borderWidth: 0,\n padding: [parseInt(theme.spacing(1)), parseInt(theme.spacing(1))],\n textStyle: {\n color: theme.palette.common.white,\n fontSize: 11,\n fontFamily: theme.typography.caption.fontFamily,\n },\n position: createTooltipPositioner(theme),\n formatter: buildScatterTooltipFormatter(xFormatter, yFormatter),\n },\n // Legend styling baked here; `show` is toggled by the merger based on\n // series count.\n legend: {\n ...buildLegendConfig({ hasLegend: false, labelFormatter: undefined }),\n },\n axisPointer: { lineStyle: { color: theme.palette.grey[400] } },\n color: [\n theme.palette.secondary.main,\n ...Object.values(\n (theme.palette as { qualitative?: { bold?: Record<string, string> } })\n .qualitative?.bold ?? {},\n ),\n ],\n xAxis: {\n type: 'value',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n ...buildAxisLabelStyle(theme),\n margin: parseInt(theme.spacing(1)),\n hideOverlap: true,\n showMinLabel: true,\n showMaxLabel: true,\n ...(xFormatter && { formatter: xFormatter }),\n },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black?.[4] ?? theme.palette.divider },\n },\n },\n yAxis: {\n type: 'value',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n ...buildAxisLabelStyle(theme),\n margin: parseInt(theme.spacing(1)),\n hideOverlap: true,\n showMinLabel: true,\n showMaxLabel: true,\n ...(yFormatter && { formatter: yFormatter }),\n },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black?.[4] ?? theme.palette.divider },\n },\n },\n } as ScatterplotEChartsOption\n}\n\n/**\n * Returns the scatterplot widget's {@link OptionFactory} — one closure\n * that owns BOTH phases of option construction:\n *\n * - **Structural phase** (`option == null`) — builds the theme-aware\n * structural option via {@link scatterplotOptions}, optionally merging\n * the consumer-supplied `optionsOverride`. Called once by Provider to\n * seed `rawOptions` in the store.\n * - **Merge phase** (`option != null`) — fuses post-pipeline `state.data`\n * (`ScatterplotWidgetData`) into the option via the dataset API. Each\n * series's `[x, y]` tuples land in `dataset[i].source` as 2-column\n * rows; the series uses positional encoding (`encode: { x: 0, y: 1 }`)\n * and `type: 'scatter'`. niceMin/niceMax are computed over both axes\n * so the chart frames data on rounded extents and numeric jitters\n * don't shift gridlines per render. Reactive `ctx.formatter` (driven\n * by RelativeData) re-derives the y-axis label and tooltip at fusion\n * time; `xFormatter` stays baked at structural-build time (relative\n * is a values-axis concept; x is coordinate-space).\n *\n * When `ZoomToggle` installs a `dataZoom` slider, grid bottom is\n * extended and the slider is positioned above the legend row (if any) —\n * same layout dance bar / histogram / timeseries do.\n */\nexport function createScatterplotOptionFactory(\n options: ScatterplotOptionFactoryInput,\n): OptionFactory {\n const { theme, xFormatter, yFormatter, optionsOverride } = options\n const series = options.series\n const symbolSize = options.symbolSize ?? 8\n const selection = options.selection\n const selectionSet =\n selection && selection.length > 0 ? new Set<string>(selection) : null\n return (option, data, ctx) => {\n if (option == null) {\n const structural = scatterplotOptions({ theme, xFormatter, yFormatter })\n return optionsOverride\n ? (mergeOptions(\n structural as unknown as Record<string, unknown>,\n optionsOverride as Partial<Record<string, unknown>>,\n ) as EChartsOption)\n : structural\n }\n\n const seriesArr = Array.isArray(data) ? (data as ScatterplotWidgetData) : []\n if (seriesArr.length === 0) {\n return { ...option, dataset: [], series: [] }\n }\n const hasLegend = seriesArr.length > 1\n const baseLegend =\n typeof option.legend === 'object' && !Array.isArray(option.legend)\n ? option.legend\n : {}\n const baseGrid =\n typeof option.grid === 'object' && !Array.isArray(option.grid)\n ? option.grid\n : {}\n const baseTooltip =\n typeof option.tooltip === 'object' && !Array.isArray(option.tooltip)\n ? option.tooltip\n : {}\n const baseXAxis =\n typeof option.xAxis === 'object' && !Array.isArray(option.xAxis)\n ? option.xAxis\n : {}\n const baseYAxis =\n typeof option.yAxis === 'object' && !Array.isArray(option.yAxis)\n ? option.yAxis\n : {}\n\n const reactiveFormatter = ctx?.formatter\n\n const { niceMinX, niceMaxX, niceMinY, niceMaxY } =\n computeScatterBounds(seriesArr)\n\n // Dim non-selected points via `series.itemStyle.color`. The selection\n // key is `${seriesIndex}:${dataIndex}`; we read those off the params\n // ECharts hands to the callback per-data.\n //\n // We *always* emit `itemStyle.color` (a passthrough when nothing is\n // selected), not conditionally — dropping the key between renders\n // would let ECharts' default merge keep the previous callback alive\n // and items would stay dimmed forever after an external clear.\n // Keeping the key always-present means a plain setOption merge swaps\n // the callback in place, no `replaceMerge` and no entry-animation\n // flash on selection on/off.\n const makeDimColor =\n (seriesIdx: number) => (params: CallbackDataParams) => {\n const base = params.color as string\n if (!selectionSet) return base\n const key = `${seriesIdx}:${params.dataIndex}`\n return selectionSet.has(key)\n ? base\n : echarts.color.modifyAlpha(base, 0.15)\n }\n\n // Zoom slider layout: when ZoomToggle has installed `dataZoom`,\n // reserve grid space and lift any x-slider above the legend (if\n // present). Scatter supports 2D zoom via `axes: ['x', 'y']` — in\n // that case there's also a vertical y-slider on the right edge, so\n // we reserve `grid.right` separately. Inside-only dataZoom entries\n // (no `type: 'slider'`) take no grid space.\n const dataZoomLayout = layoutDataZoomForScatter(option.dataZoom, hasLegend)\n const hasXSlider = dataZoomLayout?.hasXSlider ?? false\n const hasYSlider = dataZoomLayout?.hasYSlider ?? false\n const fallbackBottom =\n typeof baseGrid.bottom === 'number' ? baseGrid.bottom : 24\n const baseBottom = hasLegend ? 56 : fallbackBottom\n const gridBottom = hasXSlider\n ? baseBottom + ZOOM_LAYOUT.sliderHeight + ZOOM_LAYOUT.sliderGap\n : baseBottom\n const fallbackRight =\n typeof baseGrid.right === 'number' ? baseGrid.right : 8\n const gridRight = hasYSlider\n ? fallbackRight + ZOOM_LAYOUT.sliderHeight + ZOOM_LAYOUT.sliderGap\n : fallbackRight\n\n return {\n ...option,\n // ECharts dataset.source wants a mutable [number, number][] shape; we\n // hold readonly tuples internally, so cast at the boundary.\n dataset: seriesArr.map((s) => ({ source: s as unknown as number[][] })),\n series: seriesArr.map((_, i) => {\n const overrideColor = resolveThemeColor(theme, series?.[i]?.color)\n return {\n type: 'scatter' as const,\n datasetIndex: i,\n name: series?.[i]?.name ?? `Series ${i + 1}`,\n encode: { x: 0, y: 1 },\n symbolSize,\n emphasis: { focus: 'series' },\n itemStyle: { color: makeDimColor(i) },\n ...(overrideColor ? { color: overrideColor } : {}),\n }\n }),\n legend: { ...baseLegend, show: hasLegend },\n grid: { ...baseGrid, bottom: gridBottom, right: gridRight },\n ...(dataZoomLayout ? { dataZoom: dataZoomLayout.entries } : {}),\n xAxis: {\n ...baseXAxis,\n min: niceMinX,\n max: niceMaxX,\n } as EChartsOption['xAxis'],\n yAxis: {\n ...baseYAxis,\n min: niceMinY,\n max: niceMaxY,\n axisLabel: {\n ...((baseYAxis as { axisLabel?: object }).axisLabel ?? {}),\n // Re-derive the y-axis formatter at fusion time so RelativeData's\n // percent formatter (written to `state.formatter`) flows through\n // without rebuilding the structural option. Falls back to the\n // structural `yFormatter` already baked in `baseYAxis.axisLabel`\n // (which `String(value)` if neither is set).\n ...(reactiveFormatter ? { formatter: reactiveFormatter } : {}),\n },\n } as EChartsOption['yAxis'],\n tooltip: {\n ...baseTooltip,\n // Rebuild the tooltip formatter so the live y-axis formatter is\n // applied to the y-coordinate in the (x, y) label. xFormatter is\n // structural — relative is a values-axis concept, so xFormatter\n // doesn't change under RelativeData.\n formatter: buildReactiveScatterTooltipFormatter(\n (baseTooltip as { formatter?: unknown }).formatter,\n reactiveFormatter,\n xFormatter,\n ),\n },\n } as EChartsOption\n }\n}\n\n/**\n * Lay out the `dataZoom` array for the scatter chart:\n * - Detect whether any horizontal (x-axis) slider is present — if so\n * lift it above the legend row when a legend is shown.\n * - Detect whether any vertical (y-axis) slider is present — the\n * caller reserves `grid.right` so the slider doesn't overlap the\n * plot area.\n *\n * Returns `null` when there's no `dataZoom` so callers can skip the\n * layout adjustment entirely. An entry is considered an \"x-slider\" if\n * it has `xAxisIndex` set (or no axis index — defaults to x in ECharts).\n * A \"y-slider\" has `yAxisIndex` set.\n */\nfunction layoutDataZoomForScatter(\n dataZoom: unknown,\n hasLegend: boolean,\n): { entries: unknown[]; hasXSlider: boolean; hasYSlider: boolean } | null {\n if (!Array.isArray(dataZoom) || dataZoom.length === 0) return null\n let hasXSlider = false\n let hasYSlider = false\n const entries = dataZoom.map((entry: unknown) => {\n if (entry == null || typeof entry !== 'object') return entry\n const dz = entry as {\n type?: string\n xAxisIndex?: unknown\n yAxisIndex?: unknown\n bottom?: number\n }\n if (dz.type !== 'slider') return dz\n const targetsY = dz.yAxisIndex !== undefined\n if (targetsY) {\n hasYSlider = true\n return dz\n }\n // Either explicit x or defaulted (ECharts defaults sliders to xAxis\n // when no axis index is provided).\n hasXSlider = true\n if (hasLegend) {\n return { ...dz, bottom: ZOOM_LAYOUT.sliderBottomWithLegend }\n }\n return dz\n })\n return { entries, hasXSlider, hasYSlider }\n}\n\n/**\n * If a reactive (store-driven) y formatter is provided, re-build the\n * scatter tooltip formatter using it. Otherwise, return the structural\n * formatter unchanged so the original `xFormatter` / `yFormatter`\n * baked into `scatterplotOptions` still applies. The structural\n * formatter has stable identity per `scatterplotOptions` call, so this\n * path doesn't churn ECharts on every render.\n */\nfunction buildReactiveScatterTooltipFormatter(\n structuralFormatter: unknown,\n reactiveYFormatter: ((value: number) => string) | undefined,\n xFormatter: ((value: number) => string) | undefined,\n) {\n if (!reactiveYFormatter) return structuralFormatter\n return createTooltipFormatter((item) => {\n const value = item.value as readonly [number, number] | undefined\n const x = value?.[0]\n const y = value?.[1]\n const formattedX =\n typeof x === 'number' ? (xFormatter ? xFormatter(x) : String(x)) : ''\n const formattedY =\n typeof y === 'number' ? reactiveYFormatter(y) : String(y ?? '')\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const seriesName = item.seriesName ? `${item.seriesName}: ` : ''\n return {\n name: `(${formattedX}, ${formattedY})`,\n seriesName,\n marker,\n value: '',\n }\n })\n}\n\nfunction buildScatterTooltipFormatter(\n xFormatter: ((value: number) => string) | undefined,\n yFormatter: ((value: number) => string) | undefined,\n) {\n return createTooltipFormatter((item) => {\n const value = item.value as readonly [number, number] | undefined\n const x = value?.[0]\n const y = value?.[1]\n const formattedX =\n typeof x === 'number' ? (xFormatter ? xFormatter(x) : String(x)) : ''\n const formattedY =\n typeof y === 'number' ? (yFormatter ? yFormatter(y) : String(y)) : ''\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const seriesName = item.seriesName ? `${item.seriesName}: ` : ''\n return {\n name: `(${formattedX}, ${formattedY})`,\n seriesName,\n marker,\n value: '',\n }\n })\n}\n\nfunction computeScatterBounds(seriesArr: ScatterplotWidgetData): {\n niceMinX: number\n niceMaxX: number\n niceMinY: number\n niceMaxY: number\n} {\n let minX = Infinity\n let maxX = -Infinity\n let minY = Infinity\n let maxY = -Infinity\n for (const series of seriesArr) {\n for (const point of series) {\n const x = point?.[0]\n const y = point?.[1]\n if (typeof x === 'number' && Number.isFinite(x)) {\n if (x < minX) minX = x\n if (x > maxX) maxX = x\n }\n if (typeof y === 'number' && Number.isFinite(y)) {\n if (y < minY) minY = y\n if (y > maxY) maxY = y\n }\n }\n }\n // Mirror bar's `computeNiceBounds`: clamp min to 0 when data is\n // non-negative (gridline reads cleanly from zero), apply `niceNum` to\n // negative mins, and floor max=0 to 1 so the chart always has range.\n // Scatter can have free coordinates so we apply this per-axis.\n const niceMaxX = Number.isFinite(maxX) ? (maxX <= 0 ? 1 : niceNum(maxX)) : 1\n const niceMaxY = Number.isFinite(maxY) ? (maxY <= 0 ? 1 : niceNum(maxY)) : 1\n const niceMinX = Number.isFinite(minX) ? (minX < 0 ? niceNum(minX) : 0) : 0\n const niceMinY = Number.isFinite(minY) ? (minY < 0 ? niceNum(minY) : 0) : 0\n return { niceMinX, niceMaxX, niceMinY, niceMaxY }\n}\n","import { Box, Skeleton } from '@mui/material'\nimport type { SxProps, Theme } from '@mui/material'\n\nconst styles = {\n container: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(1),\n height: ({ spacing }) => spacing(38),\n },\n grid: {\n position: 'relative',\n flex: '1 1 auto',\n width: '100%',\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n },\n legendItem: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n },\n} satisfies Record<string, SxProps<Theme>>\n\n// `sx` callback that needs runtime args — extracted at module scope so the\n// `styles` object can satisfy `Record<string, SxProps<Theme>>` cleanly\n// (function `sx`-with-args isn't assignable to plain `SxProps<Theme>`).\nconst dotSx = (top: string, left: string, size: number): SxProps<Theme> => ({\n position: 'absolute',\n top,\n left,\n width: size,\n height: size,\n borderRadius: '50%',\n})\n\nexport interface ScatterplotSkeletonProps {\n /** Number of dots to render. */\n count?: number\n}\n\n/**\n * Loading state for the Scatterplot widget. Mirrors a scatter chart's\n * silhouette — a deterministic spread of small circular dots in the plot\n * area plus a legend stub — so the skeleton reads as \"a scatter chart\"\n * rather than a generic list. Matches bar/histogram/pie skeleton structure\n * (grid stub + legend stub in a flex column).\n */\nexport function ScatterplotSkeleton({ count = 24 }: ScatterplotSkeletonProps) {\n // Deterministic pseudo-scatter positions so the skeleton doesn't flicker.\n const dots = Array.from({ length: count }, (_, i) => {\n const top = 10 + ((i * 37) % 80)\n const left = 5 + ((i * 53) % 90)\n const size = 8 + ((i * 7) % 6)\n return { top: `${top}%`, left: `${left}%`, size }\n })\n return (\n <Box sx={styles.container}>\n <Box sx={styles.grid}>\n {dots.map((d, i) => (\n <Skeleton\n key={`dot-${i}`}\n variant='circular'\n sx={dotSx(d.top, d.left, d.size)}\n />\n ))}\n </Box>\n <Box sx={styles.legend}>\n {[0, 1].map((i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n","import {\n buildCsvDownloadItem,\n buildPngDownloadItem,\n type DownloadItem,\n} from '../actions/download'\nimport type { ScatterplotWidgetData } from './types'\n\n/**\n * Download menu items for the Scatterplot widget. Always includes a CSV\n * item with `series, x, y` columns (one row per point). When\n * `getCaptureEl` is supplied, prepends a PNG item that rasterises the\n * captured element via `html2canvas`.\n */\nexport function createScatterplotDownloadConfig(args: {\n filename: string\n getData: () => ScatterplotWidgetData\n seriesNames?: readonly string[]\n getCaptureEl?: () => HTMLElement | null\n pngPixelRatio?: number\n pngBackgroundColor?: string | null\n}): DownloadItem[] {\n const items: DownloadItem[] = []\n if (args.getCaptureEl) {\n items.push(\n buildPngDownloadItem({\n filename: args.filename,\n getCaptureEl: args.getCaptureEl,\n pixelRatio: args.pngPixelRatio,\n backgroundColor: args.pngBackgroundColor,\n }),\n )\n }\n items.push(\n buildCsvDownloadItem({\n filename: args.filename,\n getRows: () => {\n const data = args.getData()\n const rows: unknown[][] = [['series', 'x', 'y']]\n for (const [i, series] of data.entries()) {\n const seriesName = args.seriesNames?.[i] ?? `series_${i + 1}`\n for (const [x, y] of series) {\n rows.push([seriesName, x, y])\n }\n }\n return rows\n },\n }),\n )\n return items\n}\n","/**\n * Scatterplot-specific `RelativeData` transform. Scatter data is\n * `[number, number][]` — each series is a list of `[x, y]` tuples.\n * Relative is a values-axis concept, so this rewrites `y` to its\n * share of the series's total `y` (0–100) and leaves `x` raw — x is\n * coordinate space, not part of the cohort total.\n *\n * Pass to `<Widget.RelativeData transform={toRelativeScatterplotData} />`.\n *\n * The denominator is the sum of |y| across the series so mixed-sign\n * y values produce sane signed shares-of-magnitude. A series whose\n * total y-magnitude is zero (all-zero or empty input) is returned\n * unchanged so a stalled or empty data set doesn't show misleading 0%\n * values. Inputs whose shape isn't `[number, number][]` fall through\n * untouched.\n */\nexport const toRelativeScatterplotData = (input: unknown): unknown => {\n if (!Array.isArray(input)) return input\n return input.map((series: unknown): unknown => {\n if (!isXyTupleArray(series)) return series\n const total = series.reduce((acc, [, y]) => acc + Math.abs(y), 0)\n if (total <= 0) return series\n return series.map(([x, y]) => [x, (y / total) * 100] as [number, number])\n })\n}\n\nfunction isXyTupleArray(v: unknown): v is [number, number][] {\n if (!Array.isArray(v)) return false\n return v.every(\n (item) =>\n Array.isArray(item) &&\n item.length === 2 &&\n typeof item[0] === 'number' &&\n Number.isFinite(item[0]) &&\n typeof item[1] === 'number' &&\n Number.isFinite(item[1]),\n )\n}\n\n/**\n * `LockSelection` filter for Scatterplot. Data is `[number, number][][]` —\n * points have no `name`, so selection (and locking) is keyed on a synthetic\n * `${seriesIndex}:${dataIndex}` string (same format `useChartSelection`'s\n * `keyFromClick`/`keysFromBrush` produce for this widget). Unlike Histogram,\n * a point's position carries no external meaning (no `ticks` to desync from),\n * so non-locked points are removed outright rather than zeroed.\n */\nexport function filterScatterplotByLockedPoints(\n input: unknown,\n lockedItems: readonly (string | number)[],\n): unknown {\n if (lockedItems.length === 0) return input\n if (!Array.isArray(input)) return input\n const locked = new Set<string>(lockedItems.map(String))\n return input.map((series: unknown, seriesIndex: number): unknown => {\n if (!isXyTupleArray(series)) return series\n return series.filter((_, dataIndex) =>\n locked.has(`${seriesIndex}:${dataIndex}`),\n )\n })\n}\n"],"mappings":"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"}