@carto/ps-react-ui 5.3.0 → 6.1.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 (1161) hide show
  1. package/dist/actions-BWlS5tpP.js +1150 -0
  2. package/dist/actions-BWlS5tpP.js.map +1 -0
  3. package/dist/category-alzjKzvQ.js +839 -0
  4. package/dist/category-alzjKzvQ.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-DGgFOaXj.js → download-B4sykOFm.js} +33 -23
  11. package/dist/download-B4sykOFm.js.map +1 -0
  12. package/dist/{echart-CwzbPElc.js → echart-CV8F50gn.js} +9 -9
  13. package/dist/echart-CV8F50gn.js.map +1 -0
  14. package/dist/formula-DJS-JLpk.js +276 -0
  15. package/dist/formula-DJS-JLpk.js.map +1 -0
  16. package/dist/legend.js +263 -258
  17. package/dist/legend.js.map +1 -1
  18. package/dist/{markdown-oo9mnJun.js → markdown-Bn2nKCbn.js} +13 -19
  19. package/dist/markdown-Bn2nKCbn.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-BpU2zBmq.js} +8 -8
  25. package/dist/range-BpU2zBmq.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-CgCTKPQD.js → spread-CQwFIwuz.js} +12 -18
  29. package/dist/spread-CQwFIwuz.js.map +1 -0
  30. package/dist/{stores-tiFePP0A.js → stores-DcBOZlU3.js} +40 -34
  31. package/dist/stores-DcBOZlU3.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-lb5momun.js → table-DEdW_fDj.js} +17 -23
  36. package/dist/table-DEdW_fDj.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/index.d.ts +1 -0
  69. package/dist/types/{widgets-v2 → widgets}/actions/download/png-item.d.ts +1 -1
  70. package/dist/types/widgets/actions/download/types.d.ts +41 -16
  71. package/dist/types/widgets/actions/download/widget-download.d.ts +26 -0
  72. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +80 -10
  73. package/dist/types/widgets/actions/fullscreen/types.d.ts +13 -20
  74. package/dist/types/widgets/actions/index.d.ts +10 -20
  75. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +54 -16
  76. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +36 -21
  77. package/dist/types/{widgets-v2 → widgets}/actions/relative-data/transforms.d.ts +2 -2
  78. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +24 -16
  79. package/dist/types/widgets/actions/searcher/searcher.d.ts +9 -19
  80. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +10 -17
  81. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +7 -8
  82. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +31 -22
  83. package/dist/types/widgets/bar/download.d.ts +10 -0
  84. package/dist/types/widgets/bar/index.d.ts +3 -2
  85. package/dist/types/widgets/bar/skeleton.d.ts +5 -0
  86. package/dist/types/widgets/bar/types.d.ts +46 -9
  87. package/dist/types/widgets/category/category-ui.d.ts +94 -3
  88. package/dist/types/{widgets-v2 → widgets}/category/components/category-bar-stacked.d.ts +2 -1
  89. package/dist/types/widgets/category/components/category-bar.d.ts +18 -4
  90. package/dist/types/widgets/category/components/category-legend.d.ts +30 -4
  91. package/dist/types/widgets/category/components/category-row-multi.d.ts +27 -10
  92. package/dist/types/widgets/category/components/category-row-other.d.ts +19 -2
  93. package/dist/types/widgets/category/components/category-row-single.d.ts +23 -9
  94. package/dist/types/{widgets-v2 → widgets}/category/components/category-row-stacked.d.ts +2 -1
  95. package/dist/types/widgets/category/download.d.ts +11 -0
  96. package/dist/types/widgets/category/helpers.d.ts +10 -0
  97. package/dist/types/widgets/category/index.d.ts +10 -14
  98. package/dist/types/widgets/category/skeleton.d.ts +11 -1
  99. package/dist/types/widgets/category/style.d.ts +155 -83
  100. package/dist/types/widgets/category/types.d.ts +49 -29
  101. package/dist/types/widgets/echart/echart-ui.d.ts +44 -9
  102. package/dist/types/widgets/echart/echart.d.ts +80 -5
  103. package/dist/types/widgets/echart/index.d.ts +4 -5
  104. package/dist/types/widgets/echart/shared-resize-observer.d.ts +2 -9
  105. package/dist/types/widgets/formula/download.d.ts +10 -0
  106. package/dist/types/widgets/formula/formula-ui.d.ts +18 -3
  107. package/dist/types/widgets/formula/index.d.ts +11 -11
  108. package/dist/types/{widgets-v2 → widgets}/formula/series.d.ts +2 -1
  109. package/dist/types/widgets/formula/skeleton.d.ts +4 -1
  110. package/dist/types/widgets/formula/style.d.ts +20 -12
  111. package/dist/types/widgets/formula/types.d.ts +41 -39
  112. package/dist/types/{widgets-v2 → widgets}/formula/value.d.ts +2 -1
  113. package/dist/types/widgets/histogram/download.d.ts +12 -0
  114. package/dist/types/widgets/histogram/index.d.ts +5 -4
  115. package/dist/types/widgets/histogram/skeleton.d.ts +9 -1
  116. package/dist/types/widgets/histogram/types.d.ts +60 -12
  117. package/dist/types/{widgets-v2 → widgets}/index.d.ts +2 -2
  118. package/dist/types/widgets/markdown/download.d.ts +10 -0
  119. package/dist/types/widgets/markdown/index.d.ts +5 -4
  120. package/dist/types/widgets/markdown/markdown-ui.d.ts +10 -7
  121. package/dist/types/widgets/markdown/markdown.d.ts +4 -3
  122. package/dist/types/widgets/markdown/skeleton.d.ts +4 -1
  123. package/dist/types/widgets/markdown/style.d.ts +61 -2
  124. package/dist/types/widgets/markdown/types.d.ts +2 -16
  125. package/dist/types/widgets/note/style.d.ts +14 -16
  126. package/dist/types/widgets/pie/download.d.ts +12 -0
  127. package/dist/types/widgets/pie/index.d.ts +4 -3
  128. package/dist/types/widgets/pie/skeleton.d.ts +13 -1
  129. package/dist/types/widgets/pie/types.d.ts +57 -9
  130. package/dist/types/widgets/range/index.d.ts +4 -6
  131. package/dist/types/widgets/range/range-ui.d.ts +25 -3
  132. package/dist/types/widgets/range/skeleton.d.ts +9 -1
  133. package/dist/types/widgets/range/style.d.ts +40 -2
  134. package/dist/types/widgets/range/types.d.ts +26 -22
  135. package/dist/types/widgets/scatterplot/download.d.ts +11 -0
  136. package/dist/types/widgets/scatterplot/index.d.ts +5 -3
  137. package/dist/types/widgets/scatterplot/skeleton.d.ts +12 -1
  138. package/dist/types/widgets/scatterplot/types.d.ts +54 -9
  139. package/dist/types/widgets/selection-summary/selection-summary.d.ts +26 -10
  140. package/dist/types/widgets/selection-summary/style.d.ts +32 -3
  141. package/dist/types/widgets/spread/download.d.ts +9 -0
  142. package/dist/types/widgets/spread/index.d.ts +7 -9
  143. package/dist/types/widgets/spread/skeleton.d.ts +9 -1
  144. package/dist/types/widgets/spread/spread-ui.d.ts +16 -3
  145. package/dist/types/widgets/spread/types.d.ts +20 -35
  146. package/dist/types/widgets/stores/index.d.ts +8 -3
  147. package/dist/types/widgets/stores/types.d.ts +45 -172
  148. package/dist/types/{widgets-v2 → widgets}/stores/widget-store-registry.d.ts +14 -0
  149. package/dist/types/widgets/subheader/style.d.ts +5 -14
  150. package/dist/types/widgets/subheader/subheader.d.ts +9 -11
  151. package/dist/types/widgets/table/download.d.ts +12 -0
  152. package/dist/types/widgets/table/helpers.d.ts +28 -34
  153. package/dist/types/widgets/table/index.d.ts +8 -17
  154. package/dist/types/widgets/table/skeleton.d.ts +17 -5
  155. package/dist/types/widgets/table/style.d.ts +21 -14
  156. package/dist/types/widgets/table/table-ui.d.ts +41 -29
  157. package/dist/types/widgets/table/types.d.ts +34 -182
  158. package/dist/types/widgets/timeseries/download.d.ts +12 -0
  159. package/dist/types/widgets/timeseries/index.d.ts +4 -2
  160. package/dist/types/widgets/timeseries/skeleton.d.ts +7 -0
  161. package/dist/types/widgets/timeseries/types.d.ts +60 -9
  162. package/dist/types/{widgets-v2 → widgets}/types.d.ts +7 -6
  163. package/dist/types/widgets/utils/index.d.ts +3 -7
  164. package/dist/types/widgets/wrapper/index.d.ts +4 -6
  165. package/dist/types/{widgets-v2 → widgets}/wrapper/style.d.ts +2 -31
  166. package/dist/types/{widgets-v2 → widgets}/wrapper/widget-actions.d.ts +2 -2
  167. package/dist/types/{widgets-v2 → widgets}/wrapper/widget-wrapper.d.ts +2 -2
  168. package/dist/{utils-Dr6gf3vD.js → utils-C-eWwOhE.js} +5 -5
  169. package/dist/utils-C-eWwOhE.js.map +1 -0
  170. package/dist/widgets/actions.js +4 -2
  171. package/dist/widgets/bar.js +196 -132
  172. package/dist/widgets/bar.js.map +1 -1
  173. package/dist/widgets/category.js +2 -450
  174. package/dist/widgets/echart.js +2 -3
  175. package/dist/widgets/formula.js +2 -3
  176. package/dist/widgets/histogram.js +257 -160
  177. package/dist/widgets/histogram.js.map +1 -1
  178. package/dist/widgets/markdown.js +3 -148
  179. package/dist/widgets/pie.js +311 -197
  180. package/dist/widgets/pie.js.map +1 -1
  181. package/dist/widgets/range.js +2 -233
  182. package/dist/widgets/scatterplot.js +294 -196
  183. package/dist/widgets/scatterplot.js.map +1 -1
  184. package/dist/widgets/spread.js +2 -158
  185. package/dist/widgets/stores.js +2 -3
  186. package/dist/widgets/table.js +2 -599
  187. package/dist/widgets/timeseries.js +244 -136
  188. package/dist/widgets/timeseries.js.map +1 -1
  189. package/dist/widgets/utils.js +2 -18
  190. package/dist/widgets.js +911 -0
  191. package/dist/widgets.js.map +1 -0
  192. package/dist/{zoom-toggle-IsF8BnAp.js → zoom-toggle-MmLjMTEw.js} +5 -5
  193. package/dist/zoom-toggle-MmLjMTEw.js.map +1 -0
  194. package/package.json +43 -129
  195. package/src/chat/bubbles/chat-agent-message-markdown.tsx +1 -1
  196. package/src/chat/bubbles/chat-error-message.tsx +9 -3
  197. package/src/chat/bubbles/chat-suggestion-button.tsx +8 -3
  198. package/src/chat/containers/chat-footer.tsx +6 -2
  199. package/src/chat/containers/chat-starter.tsx +6 -4
  200. package/src/chat/feedback/chat-tool-full-view-dialog.tsx +3 -1
  201. package/src/chat/feedback/chat-tool-group.test.tsx +1 -1
  202. package/src/chat/feedback/chat-tool-group.tsx +40 -9
  203. package/src/chat/feedback/chat-tool-trace.tsx +55 -19
  204. package/src/chat/types.ts +5 -2
  205. package/src/components/basemaps/header.tsx +6 -1
  206. package/src/components/index.ts +2 -3
  207. package/src/components/lasso-tool/geometry-toolbar.tsx +1 -1
  208. package/src/components/lasso-tool/lasso-tool-inline.tsx +12 -4
  209. package/src/components/lasso-tool/lasso-tool.tsx +26 -15
  210. package/src/components/lasso-tool/layer-filters.tsx +36 -11
  211. package/src/components/lasso-tool/options-sections.test.tsx +13 -2
  212. package/src/components/lasso-tool/options-sections.tsx +17 -7
  213. package/src/components/lasso-tool/toolbar/connected.tsx +1 -1
  214. package/src/components/lasso-tool/toolbar/context.tsx +1 -1
  215. package/src/components/measurement-tools/measurement-tools.tsx +28 -13
  216. package/src/components/no-data-alert/no-data-alert.tsx +12 -2
  217. package/src/components/responsive-drawer/responsive-drawer.tsx +0 -1
  218. package/src/components/types.ts +17 -0
  219. package/src/components/zoom-controls/zoom-controls.tsx +3 -1
  220. package/src/legend/components/legend-actions/legend-actions.tsx +2 -2
  221. package/src/legend/components/legend-category/legend-category-ui.tsx +7 -3
  222. package/src/legend/components/legend-config-select/legend-config-select.tsx +6 -2
  223. package/src/legend/components/legend-group/legend-group.tsx +6 -2
  224. package/src/legend/components/legend-group/styles.ts +1 -1
  225. package/src/legend/components/legend-icon/legend-icon-ui.tsx +7 -3
  226. package/src/legend/components/legend-opacity/legend-opacity.tsx +9 -3
  227. package/src/legend/components/legend-proportion/legend-proportion-ui.tsx +19 -3
  228. package/src/legend/components/legend-ramp/legend-ramp-ui.tsx +31 -7
  229. package/src/legend/components/legend-row/legend-row.tsx +2 -2
  230. package/src/legend/components/legend-row/styles.ts +1 -1
  231. package/src/legend/components/legend-sortable/legend-sortable.tsx +7 -3
  232. package/src/legend/components/legend-swatch/legend-swatch.tsx +2 -1
  233. package/src/legend/components/legend-visible-layers/legend-visible-layers.tsx +18 -9
  234. package/src/legend/index.ts +1 -1
  235. package/src/legend/provider/legend-provider.tsx +2 -2
  236. package/src/legend/stores/legend-store-registry.ts +1 -1
  237. package/src/migration/v4/classes.ts +56 -0
  238. package/src/migration/v4/icons.ts +56 -0
  239. package/src/migration/v4/index.ts +17 -0
  240. package/src/migration/v4/migration.test.ts +772 -0
  241. package/src/migration/v4/rules.ts +444 -0
  242. package/src/migration/v4/transform.ts +92 -0
  243. package/src/migration/v4/transforms/helpers.ts +369 -0
  244. package/src/migration/v4/transforms/meridian-5.ts +163 -0
  245. package/src/migration/v4/transforms/ps-react-ui.ts +99 -0
  246. package/src/migration/v4/transforms/v5-v6.ts +161 -0
  247. package/src/migration/v4/transforms/v6-v7.ts +342 -0
  248. package/src/migration/v4/transforms/v7-v9-dom.ts +403 -0
  249. package/src/migration/v4/transforms/v7-v9-props.ts +529 -0
  250. package/src/migration/v4/widgets-v1.ts +199 -0
  251. package/src/{widgets-v2 → widgets}/PERFORMANCE.md +5 -5
  252. package/src/widgets/actions/brush-toggle/brush-toggle.test.tsx +144 -172
  253. package/src/widgets/actions/brush-toggle/brush-toggle.tsx +129 -108
  254. package/src/widgets/actions/brush-toggle/style.ts +5 -40
  255. package/src/widgets/actions/change-column/change-column-icon.tsx +14 -10
  256. package/src/widgets/actions/change-column/change-column.test.tsx +57 -288
  257. package/src/widgets/actions/change-column/change-column.tsx +116 -145
  258. package/src/widgets/actions/change-column/sortable-column-item.tsx +29 -17
  259. package/src/widgets/actions/change-column/types.ts +9 -18
  260. package/src/widgets/actions/download/download.test.tsx +290 -289
  261. package/src/widgets/actions/download/download.tsx +103 -89
  262. package/src/widgets/actions/download/exports.test.tsx +157 -247
  263. package/src/{widgets-v2 → widgets}/actions/download/exports.ts +1 -1
  264. package/src/{widgets-v2 → widgets}/actions/download/index.ts +1 -0
  265. package/src/{widgets-v2 → widgets}/actions/download/png-item.tsx +2 -2
  266. package/src/widgets/actions/download/types.ts +40 -15
  267. package/src/widgets/actions/download/widget-download.test.ts +30 -0
  268. package/src/widgets/actions/download/widget-download.ts +41 -0
  269. package/src/widgets/actions/fullscreen/fullscreen.test.tsx +162 -221
  270. package/src/widgets/actions/fullscreen/fullscreen.tsx +383 -76
  271. package/src/widgets/actions/fullscreen/types.ts +14 -31
  272. package/src/widgets/actions/index.ts +93 -68
  273. package/src/widgets/actions/lock-selection/lock-selection.test.tsx +259 -156
  274. package/src/widgets/actions/lock-selection/lock-selection.tsx +162 -102
  275. package/src/widgets/actions/relative-data/relative-data.test.tsx +65 -536
  276. package/src/widgets/actions/relative-data/relative-data.tsx +82 -163
  277. package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.ts +2 -2
  278. package/src/widgets/actions/searcher/searcher-toggle.tsx +82 -55
  279. package/src/widgets/actions/searcher/searcher.tsx +96 -169
  280. package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +49 -402
  281. package/src/widgets/actions/stack-toggle/stack-toggle.tsx +39 -114
  282. package/src/widgets/actions/zoom-toggle/style.ts +5 -8
  283. package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +88 -303
  284. package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +87 -199
  285. package/src/widgets/bar/download.tsx +36 -0
  286. package/src/widgets/bar/index.ts +6 -5
  287. package/src/{widgets-v2 → widgets}/bar/options.ts +1 -1
  288. package/src/widgets/bar/skeleton.tsx +61 -52
  289. package/src/widgets/bar/types.ts +46 -11
  290. package/src/widgets/category/category-ui.test.tsx +846 -317
  291. package/src/widgets/category/category-ui.tsx +456 -127
  292. package/src/{widgets-v2 → widgets}/category/category.tsx +4 -4
  293. package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.tsx +2 -1
  294. package/src/widgets/category/components/category-bar.tsx +31 -12
  295. package/src/{widgets-v2 → widgets}/category/components/category-legend.test.tsx +7 -3
  296. package/src/widgets/category/components/category-legend.tsx +67 -18
  297. package/src/widgets/category/components/category-row-multi.tsx +66 -36
  298. package/src/widgets/category/components/category-row-other.tsx +63 -5
  299. package/src/widgets/category/components/category-row-single.tsx +48 -25
  300. package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.tsx +2 -1
  301. package/src/widgets/category/download.ts +37 -0
  302. package/src/widgets/category/helpers.test.ts +17 -0
  303. package/src/widgets/category/helpers.ts +16 -0
  304. package/src/widgets/category/index.ts +25 -22
  305. package/src/widgets/category/skeleton.tsx +60 -10
  306. package/src/widgets/category/style.ts +267 -72
  307. package/src/widgets/category/types.ts +52 -32
  308. package/src/widgets/echart/echart-ui.test.tsx +250 -446
  309. package/src/widgets/echart/echart-ui.tsx +210 -52
  310. package/src/widgets/echart/echart.test.tsx +203 -518
  311. package/src/widgets/echart/echart.tsx +195 -52
  312. package/src/widgets/echart/index.ts +21 -15
  313. package/src/widgets/echart/shared-resize-observer.ts +30 -19
  314. package/src/{widgets-v2 → widgets}/echart/style.ts +3 -3
  315. package/src/{widgets-v2 → widgets}/formula/download.tsx +8 -29
  316. package/src/widgets/formula/formula-ui.test.tsx +68 -376
  317. package/src/widgets/formula/formula-ui.tsx +58 -22
  318. package/src/widgets/formula/index.ts +14 -21
  319. package/src/{widgets-v2 → widgets}/formula/note.tsx +8 -2
  320. package/src/{widgets-v2 → widgets}/formula/series.tsx +8 -25
  321. package/src/widgets/formula/skeleton.tsx +21 -4
  322. package/src/widgets/formula/style.ts +20 -12
  323. package/src/widgets/formula/types.ts +44 -45
  324. package/src/{widgets-v2 → widgets}/formula/value.tsx +2 -1
  325. package/src/{widgets-v2 → widgets}/histogram/download.ts +11 -25
  326. package/src/widgets/histogram/index.ts +10 -10
  327. package/src/{widgets-v2 → widgets}/histogram/options.ts +1 -1
  328. package/src/widgets/histogram/skeleton.tsx +63 -45
  329. package/src/widgets/histogram/types.ts +59 -18
  330. package/src/{widgets-v2 → widgets}/index.ts +3 -3
  331. package/src/{widgets-v2 → widgets}/markdown/download.tsx +9 -25
  332. package/src/widgets/markdown/index.ts +5 -13
  333. package/src/widgets/markdown/markdown-ui.test.tsx +53 -319
  334. package/src/widgets/markdown/markdown-ui.tsx +43 -47
  335. package/src/widgets/markdown/markdown.tsx +12 -15
  336. package/src/widgets/markdown/skeleton.tsx +26 -6
  337. package/src/widgets/markdown/style.ts +48 -23
  338. package/src/widgets/markdown/types.ts +2 -26
  339. package/src/widgets/note/style.ts +14 -17
  340. package/src/{widgets-v2 → widgets}/note/widget-note.tsx +15 -2
  341. package/src/{widgets-v2 → widgets}/pie/download.ts +10 -24
  342. package/src/widgets/pie/index.ts +7 -5
  343. package/src/{widgets-v2 → widgets}/pie/options.ts +1 -1
  344. package/src/widgets/pie/skeleton.tsx +84 -60
  345. package/src/widgets/pie/types.ts +57 -11
  346. package/src/widgets/range/index.ts +4 -16
  347. package/src/widgets/range/range-ui.test.tsx +115 -182
  348. package/src/widgets/range/range-ui.tsx +274 -8
  349. package/src/widgets/range/skeleton.tsx +41 -8
  350. package/src/widgets/range/style.ts +16 -12
  351. package/src/widgets/range/types.ts +26 -28
  352. package/src/widgets/scatterplot/download.ts +37 -0
  353. package/src/widgets/scatterplot/index.ts +11 -5
  354. package/src/{widgets-v2 → widgets}/scatterplot/options.ts +1 -1
  355. package/src/widgets/scatterplot/skeleton.tsx +76 -51
  356. package/src/widgets/scatterplot/types.ts +54 -12
  357. package/src/widgets/selection-summary/selection-summary.tsx +64 -39
  358. package/src/widgets/selection-summary/style.ts +30 -2
  359. package/src/widgets/spread/download.ts +41 -0
  360. package/src/widgets/spread/index.ts +11 -23
  361. package/src/widgets/spread/skeleton.tsx +32 -4
  362. package/src/widgets/spread/spread-ui.test.tsx +98 -358
  363. package/src/widgets/spread/spread-ui.tsx +44 -24
  364. package/src/widgets/spread/types.ts +21 -41
  365. package/src/{widgets-v2 → widgets}/state/widget-state.tsx +13 -3
  366. package/src/widgets/stores/index.ts +48 -10
  367. package/src/{widgets-v2 → widgets}/stores/transforms.ts +1 -1
  368. package/src/widgets/stores/types.ts +42 -181
  369. package/src/{widgets-v2 → widgets}/stores/use-transform.ts +1 -1
  370. package/src/{widgets-v2 → widgets}/stores/widget-store-registry.test.ts +25 -0
  371. package/src/{widgets-v2 → widgets}/stores/widget-store-registry.ts +24 -2
  372. package/src/widgets/subheader/style.ts +5 -13
  373. package/src/widgets/subheader/subheader.test.tsx +22 -37
  374. package/src/widgets/subheader/subheader.tsx +11 -30
  375. package/src/widgets/table/download.ts +29 -0
  376. package/src/widgets/table/helpers.test.ts +197 -208
  377. package/src/widgets/table/helpers.ts +108 -84
  378. package/src/widgets/table/index.ts +23 -54
  379. package/src/widgets/table/skeleton.tsx +38 -21
  380. package/src/widgets/table/style.ts +23 -14
  381. package/src/widgets/table/table-ui.tsx +348 -44
  382. package/src/widgets/table/types.ts +37 -205
  383. package/src/{widgets-v2 → widgets}/test-utils.ts +1 -1
  384. package/src/{widgets-v2 → widgets}/timeseries/download.ts +14 -28
  385. package/src/widgets/timeseries/index.ts +8 -5
  386. package/src/{widgets-v2 → widgets}/timeseries/options.ts +1 -1
  387. package/src/widgets/timeseries/skeleton.tsx +67 -46
  388. package/src/widgets/timeseries/types.ts +60 -12
  389. package/src/{widgets-v2 → widgets}/types.ts +8 -6
  390. package/src/widgets/utils/index.ts +3 -26
  391. package/src/widgets/wrapper/index.ts +14 -16
  392. package/src/{widgets-v2 → widgets}/wrapper/style.ts +2 -38
  393. package/src/{widgets-v2 → widgets}/wrapper/widget-actions.tsx +2 -2
  394. package/src/{widgets-v2 → widgets}/wrapper/widget-wrapper.test.tsx +2 -32
  395. package/src/{widgets-v2 → widgets}/wrapper/widget-wrapper.tsx +36 -58
  396. package/dist/actions-CGJD6q0t.js +0 -1318
  397. package/dist/actions-CGJD6q0t.js.map +0 -1
  398. package/dist/actions-Dhlz_adK.js +0 -1167
  399. package/dist/actions-Dhlz_adK.js.map +0 -1
  400. package/dist/category-D01ruG-l.js +0 -842
  401. package/dist/category-D01ruG-l.js.map +0 -1
  402. package/dist/chart-config-B_fdIcD3.js.map +0 -1
  403. package/dist/cjs-CBrZjPCj.js +0 -75
  404. package/dist/cjs-CBrZjPCj.js.map +0 -1
  405. package/dist/components-FED-ArwH.js.map +0 -1
  406. package/dist/copy-button-TTlZONkX.js +0 -34
  407. package/dist/copy-button-TTlZONkX.js.map +0 -1
  408. package/dist/csv-modifiers-D6HGC24b.js +0 -26
  409. package/dist/csv-modifiers-D6HGC24b.js.map +0 -1
  410. package/dist/download-DGgFOaXj.js.map +0 -1
  411. package/dist/echart-BkaV3V5G.js +0 -133
  412. package/dist/echart-BkaV3V5G.js.map +0 -1
  413. package/dist/echart-CwzbPElc.js.map +0 -1
  414. package/dist/formatter-wVO81tYk.js +0 -6
  415. package/dist/formatter-wVO81tYk.js.map +0 -1
  416. package/dist/formula-BIxJr1P3.js +0 -285
  417. package/dist/formula-BIxJr1P3.js.map +0 -1
  418. package/dist/formula-YfZmmuYX.js +0 -190
  419. package/dist/formula-YfZmmuYX.js.map +0 -1
  420. package/dist/hooks-zf5gKZYq.js +0 -22
  421. package/dist/hooks-zf5gKZYq.js.map +0 -1
  422. package/dist/markdown-content-BWUqwx9F.js.map +0 -1
  423. package/dist/markdown-oo9mnJun.js.map +0 -1
  424. package/dist/range-BCMAl5xf.js.map +0 -1
  425. package/dist/row-CvVGBuy_.js +0 -35
  426. package/dist/row-CvVGBuy_.js.map +0 -1
  427. package/dist/shared-resize-observer-BEiP2rQt.js +0 -157
  428. package/dist/shared-resize-observer-BEiP2rQt.js.map +0 -1
  429. package/dist/smart-tooltip-CwGHCqab.js +0 -34
  430. package/dist/smart-tooltip-CwGHCqab.js.map +0 -1
  431. package/dist/spread-CgCTKPQD.js.map +0 -1
  432. package/dist/stores-tiFePP0A.js.map +0 -1
  433. package/dist/styles-Y-qGBELO.js +0 -13
  434. package/dist/styles-Y-qGBELO.js.map +0 -1
  435. package/dist/table-lb5momun.js.map +0 -1
  436. package/dist/tooltip-DJUGNZxY.js +0 -23
  437. package/dist/tooltip-DJUGNZxY.js.map +0 -1
  438. package/dist/types/components/list-data/list-data-skeleton.d.ts +0 -5
  439. package/dist/types/components/list-data/list-data.d.ts +0 -19
  440. package/dist/types/components/list-data/styles.d.ts +0 -34
  441. package/dist/types/components/list-data/types.d.ts +0 -23
  442. package/dist/types/hooks/index.d.ts +0 -1
  443. package/dist/types/hooks/use-skeleton.d.ts +0 -1
  444. package/dist/types/hooks/use-widget-ref.d.ts +0 -21
  445. package/dist/types/widgets/actions/brush-toggle/brush-overlay.d.ts +0 -24
  446. package/dist/types/widgets/actions/brush-toggle/hit-test.d.ts +0 -19
  447. package/dist/types/widgets/actions/brush-toggle/types.d.ts +0 -73
  448. package/dist/types/widgets/actions/fullscreen/styles.d.ts +0 -16
  449. package/dist/types/widgets/actions/lock-selection/types.d.ts +0 -38
  450. package/dist/types/widgets/actions/relative-data/types.d.ts +0 -29
  451. package/dist/types/widgets/actions/relative-data/utils.d.ts +0 -9
  452. package/dist/types/widgets/actions/searcher/types.d.ts +0 -64
  453. package/dist/types/widgets/actions/shared/styles.d.ts +0 -11
  454. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +0 -1
  455. package/dist/types/widgets/actions/stack-toggle/types.d.ts +0 -25
  456. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +0 -41
  457. package/dist/types/widgets/bar/config.d.ts +0 -9
  458. package/dist/types/widgets/bar/style.d.ts +0 -37
  459. package/dist/types/widgets/category/config.d.ts +0 -20
  460. package/dist/types/widgets/echart/const.d.ts +0 -1
  461. package/dist/types/widgets/echart/options.d.ts +0 -9
  462. package/dist/types/widgets/echart/types.d.ts +0 -38
  463. package/dist/types/widgets/echart/utils.d.ts +0 -128
  464. package/dist/types/widgets/error/error.d.ts +0 -12
  465. package/dist/types/widgets/error/index.d.ts +0 -2
  466. package/dist/types/widgets/error/types.d.ts +0 -20
  467. package/dist/types/widgets/formula/components/item.d.ts +0 -5
  468. package/dist/types/widgets/formula/components/prefix.d.ts +0 -5
  469. package/dist/types/widgets/formula/components/row.d.ts +0 -5
  470. package/dist/types/widgets/formula/components/series.d.ts +0 -5
  471. package/dist/types/widgets/formula/components/suffix.d.ts +0 -5
  472. package/dist/types/widgets/formula/components/value.d.ts +0 -5
  473. package/dist/types/widgets/formula/config.d.ts +0 -15
  474. package/dist/types/widgets/formula/serializer.d.ts +0 -16
  475. package/dist/types/widgets/histogram/config.d.ts +0 -21
  476. package/dist/types/widgets/histogram/style.d.ts +0 -15
  477. package/dist/types/widgets/loader/index.d.ts +0 -3
  478. package/dist/types/widgets/loader/loader.d.ts +0 -24
  479. package/dist/types/widgets/loader/types.d.ts +0 -9
  480. package/dist/types/widgets/loader/utils.d.ts +0 -35
  481. package/dist/types/widgets/markdown/config.d.ts +0 -14
  482. package/dist/types/widgets/no-data/index.d.ts +0 -2
  483. package/dist/types/widgets/no-data/no-data.d.ts +0 -36
  484. package/dist/types/widgets/no-data/style.d.ts +0 -6
  485. package/dist/types/widgets/no-data/types.d.ts +0 -71
  486. package/dist/types/widgets/note/index.d.ts +0 -2
  487. package/dist/types/widgets/note/note.d.ts +0 -12
  488. package/dist/types/widgets/note/types.d.ts +0 -8
  489. package/dist/types/widgets/pie/config.d.ts +0 -9
  490. package/dist/types/widgets/pie/style.d.ts +0 -15
  491. package/dist/types/widgets/range/components/range-item.d.ts +0 -5
  492. package/dist/types/widgets/range/config.d.ts +0 -7
  493. package/dist/types/widgets/range/serializer.d.ts +0 -16
  494. package/dist/types/widgets/scatterplot/config.d.ts +0 -9
  495. package/dist/types/widgets/scatterplot/style.d.ts +0 -24
  496. package/dist/types/widgets/selection-summary/index.d.ts +0 -2
  497. package/dist/types/widgets/selection-summary/types.d.ts +0 -13
  498. package/dist/types/widgets/skeleton-loader/index.d.ts +0 -2
  499. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +0 -12
  500. package/dist/types/widgets/skeleton-loader/types.d.ts +0 -7
  501. package/dist/types/widgets/spread/components/max-value.d.ts +0 -5
  502. package/dist/types/widgets/spread/components/min-value.d.ts +0 -5
  503. package/dist/types/widgets/spread/components/separator.d.ts +0 -5
  504. package/dist/types/widgets/spread/config.d.ts +0 -16
  505. package/dist/types/widgets/spread/style.d.ts +0 -21
  506. package/dist/types/widgets/stores/use-widget-selector.d.ts +0 -35
  507. package/dist/types/widgets/stores/widget-store.d.ts +0 -60
  508. package/dist/types/widgets/subheader/index.d.ts +0 -2
  509. package/dist/types/widgets/subheader/types.d.ts +0 -10
  510. package/dist/types/widgets/table/components/cell-header.d.ts +0 -5
  511. package/dist/types/widgets/table/components/cell.d.ts +0 -18
  512. package/dist/types/widgets/table/components/pagination-actions.d.ts +0 -5
  513. package/dist/types/widgets/table/components/pagination.d.ts +0 -5
  514. package/dist/types/widgets/table/components/row.d.ts +0 -5
  515. package/dist/types/widgets/table/config.d.ts +0 -21
  516. package/dist/types/widgets/table/hooks/use-pagination.d.ts +0 -41
  517. package/dist/types/widgets/table/hooks/use-selection.d.ts +0 -39
  518. package/dist/types/widgets/table/hooks/use-sort.d.ts +0 -30
  519. package/dist/types/widgets/table/serializer.d.ts +0 -16
  520. package/dist/types/widgets/timeseries/config.d.ts +0 -9
  521. package/dist/types/widgets/timeseries/style.d.ts +0 -38
  522. package/dist/types/widgets/toolbar-actions/index.d.ts +0 -2
  523. package/dist/types/widgets/toolbar-actions/styles.d.ts +0 -37
  524. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +0 -17
  525. package/dist/types/widgets/toolbar-actions/types.d.ts +0 -52
  526. package/dist/types/widgets/utils/chart-config/config-factory.d.ts +0 -38
  527. package/dist/types/widgets/utils/chart-config/csv-modifiers.d.ts +0 -19
  528. package/dist/types/widgets/utils/chart-config/download-config.d.ts +0 -3
  529. package/dist/types/widgets/utils/chart-config/index.d.ts +0 -9
  530. package/dist/types/widgets/utils/formatter.d.ts +0 -2
  531. package/dist/types/widgets/utils/skeleton/index.d.ts +0 -4
  532. package/dist/types/widgets/utils/skeleton/styles.d.ts +0 -19
  533. package/dist/types/widgets/wrapper/components/actions.d.ts +0 -5
  534. package/dist/types/widgets/wrapper/components/options.d.ts +0 -5
  535. package/dist/types/widgets/wrapper/components/title.d.ts +0 -9
  536. package/dist/types/widgets/wrapper/styles.d.ts +0 -89
  537. package/dist/types/widgets/wrapper/types.d.ts +0 -37
  538. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +0 -16
  539. package/dist/types/widgets/wrapper/wrapper.d.ts +0 -16
  540. package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +0 -56
  541. package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +0 -2
  542. package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +0 -29
  543. package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +0 -14
  544. package/dist/types/widgets-v2/actions/change-column/types.d.ts +0 -10
  545. package/dist/types/widgets-v2/actions/download/download.d.ts +0 -18
  546. package/dist/types/widgets-v2/actions/download/exports.d.ts +0 -37
  547. package/dist/types/widgets-v2/actions/download/types.d.ts +0 -46
  548. package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +0 -85
  549. package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +0 -14
  550. package/dist/types/widgets-v2/actions/index.d.ts +0 -10
  551. package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +0 -57
  552. package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +0 -39
  553. package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +0 -23
  554. package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +0 -11
  555. package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +0 -10
  556. package/dist/types/widgets-v2/actions/stack-toggle/style.d.ts +0 -12
  557. package/dist/types/widgets-v2/actions/zoom-toggle/style.d.ts +0 -12
  558. package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +0 -35
  559. package/dist/types/widgets-v2/bar/download.d.ts +0 -24
  560. package/dist/types/widgets-v2/bar/index.d.ts +0 -4
  561. package/dist/types/widgets-v2/bar/skeleton.d.ts +0 -6
  562. package/dist/types/widgets-v2/bar/types.d.ts +0 -46
  563. package/dist/types/widgets-v2/category/category-ui.d.ts +0 -96
  564. package/dist/types/widgets-v2/category/components/category-bar.d.ts +0 -23
  565. package/dist/types/widgets-v2/category/components/category-legend.d.ts +0 -34
  566. package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +0 -31
  567. package/dist/types/widgets-v2/category/components/category-row-other.d.ts +0 -26
  568. package/dist/types/widgets-v2/category/components/category-row-single.d.ts +0 -28
  569. package/dist/types/widgets-v2/category/download.d.ts +0 -16
  570. package/dist/types/widgets-v2/category/index.d.ts +0 -10
  571. package/dist/types/widgets-v2/category/skeleton.d.ts +0 -11
  572. package/dist/types/widgets-v2/category/style.d.ts +0 -193
  573. package/dist/types/widgets-v2/category/types.d.ts +0 -55
  574. package/dist/types/widgets-v2/echart/echart-ui.d.ts +0 -44
  575. package/dist/types/widgets-v2/echart/echart.d.ts +0 -83
  576. package/dist/types/widgets-v2/echart/index.d.ts +0 -4
  577. package/dist/types/widgets-v2/echart/shared-resize-observer.d.ts +0 -5
  578. package/dist/types/widgets-v2/formula/download.d.ts +0 -20
  579. package/dist/types/widgets-v2/formula/formula-ui.d.ts +0 -20
  580. package/dist/types/widgets-v2/formula/index.d.ts +0 -11
  581. package/dist/types/widgets-v2/formula/skeleton.d.ts +0 -4
  582. package/dist/types/widgets-v2/formula/style.d.ts +0 -29
  583. package/dist/types/widgets-v2/formula/types.d.ts +0 -43
  584. package/dist/types/widgets-v2/histogram/download.d.ts +0 -17
  585. package/dist/types/widgets-v2/histogram/index.d.ts +0 -5
  586. package/dist/types/widgets-v2/histogram/skeleton.d.ts +0 -9
  587. package/dist/types/widgets-v2/histogram/types.d.ts +0 -60
  588. package/dist/types/widgets-v2/markdown/download.d.ts +0 -16
  589. package/dist/types/widgets-v2/markdown/index.d.ts +0 -6
  590. package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +0 -12
  591. package/dist/types/widgets-v2/markdown/markdown.d.ts +0 -6
  592. package/dist/types/widgets-v2/markdown/skeleton.d.ts +0 -4
  593. package/dist/types/widgets-v2/markdown/style.d.ts +0 -61
  594. package/dist/types/widgets-v2/markdown/types.d.ts +0 -4
  595. package/dist/types/widgets-v2/note/style.d.ts +0 -26
  596. package/dist/types/widgets-v2/pie/download.d.ts +0 -17
  597. package/dist/types/widgets-v2/pie/index.d.ts +0 -4
  598. package/dist/types/widgets-v2/pie/skeleton.d.ts +0 -13
  599. package/dist/types/widgets-v2/pie/types.d.ts +0 -57
  600. package/dist/types/widgets-v2/range/index.d.ts +0 -4
  601. package/dist/types/widgets-v2/range/range-ui.d.ts +0 -27
  602. package/dist/types/widgets-v2/range/skeleton.d.ts +0 -9
  603. package/dist/types/widgets-v2/range/style.d.ts +0 -40
  604. package/dist/types/widgets-v2/range/types.d.ts +0 -37
  605. package/dist/types/widgets-v2/scatterplot/download.d.ts +0 -16
  606. package/dist/types/widgets-v2/scatterplot/index.d.ts +0 -5
  607. package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +0 -12
  608. package/dist/types/widgets-v2/scatterplot/types.d.ts +0 -54
  609. package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +0 -29
  610. package/dist/types/widgets-v2/selection-summary/style.d.ts +0 -38
  611. package/dist/types/widgets-v2/spread/download.d.ts +0 -15
  612. package/dist/types/widgets-v2/spread/index.d.ts +0 -7
  613. package/dist/types/widgets-v2/spread/skeleton.d.ts +0 -9
  614. package/dist/types/widgets-v2/spread/spread-ui.d.ts +0 -18
  615. package/dist/types/widgets-v2/spread/types.d.ts +0 -25
  616. package/dist/types/widgets-v2/stores/index.d.ts +0 -8
  617. package/dist/types/widgets-v2/stores/types.d.ts +0 -55
  618. package/dist/types/widgets-v2/subheader/style.d.ts +0 -10
  619. package/dist/types/widgets-v2/subheader/subheader.d.ts +0 -11
  620. package/dist/types/widgets-v2/table/download.d.ts +0 -18
  621. package/dist/types/widgets-v2/table/helpers.d.ts +0 -32
  622. package/dist/types/widgets-v2/table/index.d.ts +0 -8
  623. package/dist/types/widgets-v2/table/skeleton.d.ts +0 -22
  624. package/dist/types/widgets-v2/table/style.d.ts +0 -40
  625. package/dist/types/widgets-v2/table/table-ui.d.ts +0 -44
  626. package/dist/types/widgets-v2/table/types.d.ts +0 -48
  627. package/dist/types/widgets-v2/timeseries/download.d.ts +0 -17
  628. package/dist/types/widgets-v2/timeseries/index.d.ts +0 -5
  629. package/dist/types/widgets-v2/timeseries/skeleton.d.ts +0 -8
  630. package/dist/types/widgets-v2/timeseries/types.d.ts +0 -60
  631. package/dist/types/widgets-v2/utils/index.d.ts +0 -3
  632. package/dist/types/widgets-v2/wrapper/index.d.ts +0 -4
  633. package/dist/use-widget-selector-VSPhfhNm.js +0 -12
  634. package/dist/use-widget-selector-VSPhfhNm.js.map +0 -1
  635. package/dist/utils-Dr6gf3vD.js.map +0 -1
  636. package/dist/widget-store-BFPKYm4R.js +0 -187
  637. package/dist/widget-store-BFPKYm4R.js.map +0 -1
  638. package/dist/widgets/category.js.map +0 -1
  639. package/dist/widgets/error.js +0 -30
  640. package/dist/widgets/error.js.map +0 -1
  641. package/dist/widgets/loader.js +0 -66
  642. package/dist/widgets/loader.js.map +0 -1
  643. package/dist/widgets/markdown.js.map +0 -1
  644. package/dist/widgets/no-data.js +0 -55
  645. package/dist/widgets/no-data.js.map +0 -1
  646. package/dist/widgets/note.js +0 -127
  647. package/dist/widgets/note.js.map +0 -1
  648. package/dist/widgets/range.js.map +0 -1
  649. package/dist/widgets/selection-summary.js +0 -41
  650. package/dist/widgets/selection-summary.js.map +0 -1
  651. package/dist/widgets/skeleton-loader.js +0 -24
  652. package/dist/widgets/skeleton-loader.js.map +0 -1
  653. package/dist/widgets/spread.js.map +0 -1
  654. package/dist/widgets/subheader.js +0 -51
  655. package/dist/widgets/subheader.js.map +0 -1
  656. package/dist/widgets/table.js.map +0 -1
  657. package/dist/widgets/toolbar-actions.js +0 -145
  658. package/dist/widgets/toolbar-actions.js.map +0 -1
  659. package/dist/widgets/utils.js.map +0 -1
  660. package/dist/widgets/wrapper.js +0 -273
  661. package/dist/widgets/wrapper.js.map +0 -1
  662. package/dist/widgets-v2/actions.js +0 -4
  663. package/dist/widgets-v2/bar.js +0 -260
  664. package/dist/widgets-v2/bar.js.map +0 -1
  665. package/dist/widgets-v2/category.js +0 -2
  666. package/dist/widgets-v2/echart.js +0 -2
  667. package/dist/widgets-v2/formula.js +0 -2
  668. package/dist/widgets-v2/histogram.js +0 -297
  669. package/dist/widgets-v2/histogram.js.map +0 -1
  670. package/dist/widgets-v2/markdown.js +0 -3
  671. package/dist/widgets-v2/pie.js +0 -373
  672. package/dist/widgets-v2/pie.js.map +0 -1
  673. package/dist/widgets-v2/range.js +0 -2
  674. package/dist/widgets-v2/scatterplot.js +0 -330
  675. package/dist/widgets-v2/scatterplot.js.map +0 -1
  676. package/dist/widgets-v2/spread.js +0 -2
  677. package/dist/widgets-v2/stores.js +0 -2
  678. package/dist/widgets-v2/table.js +0 -2
  679. package/dist/widgets-v2/timeseries.js +0 -294
  680. package/dist/widgets-v2/timeseries.js.map +0 -1
  681. package/dist/widgets-v2/utils.js +0 -2
  682. package/dist/widgets-v2.js +0 -952
  683. package/dist/widgets-v2.js.map +0 -1
  684. package/dist/zoom-toggle-IsF8BnAp.js.map +0 -1
  685. package/src/components/list-data/list-data-skeleton.test.tsx +0 -10
  686. package/src/components/list-data/list-data-skeleton.tsx +0 -40
  687. package/src/components/list-data/list-data.test.tsx +0 -167
  688. package/src/components/list-data/list-data.tsx +0 -124
  689. package/src/components/list-data/styles.ts +0 -37
  690. package/src/components/list-data/types.ts +0 -25
  691. package/src/hooks/index.ts +0 -1
  692. package/src/hooks/use-skeleton.test.tsx +0 -32
  693. package/src/hooks/use-skeleton.ts +0 -19
  694. package/src/hooks/use-widget-ref.ts +0 -34
  695. package/src/widgets/README.md +0 -277
  696. package/src/widgets/actions/brush-toggle/brush-overlay.test.tsx +0 -465
  697. package/src/widgets/actions/brush-toggle/brush-overlay.tsx +0 -408
  698. package/src/widgets/actions/brush-toggle/hit-test.test.ts +0 -65
  699. package/src/widgets/actions/brush-toggle/hit-test.ts +0 -45
  700. package/src/widgets/actions/brush-toggle/types.ts +0 -78
  701. package/src/widgets/actions/change-column/change-column-dnd.test.tsx +0 -193
  702. package/src/widgets/actions/change-column/sortable-column-item.test.tsx +0 -124
  703. package/src/widgets/actions/download/exports.tsx +0 -118
  704. package/src/widgets/actions/fullscreen/styles.ts +0 -17
  705. package/src/widgets/actions/lock-selection/types.ts +0 -43
  706. package/src/widgets/actions/relative-data/types.ts +0 -33
  707. package/src/widgets/actions/relative-data/utils.test.ts +0 -223
  708. package/src/widgets/actions/relative-data/utils.ts +0 -58
  709. package/src/widgets/actions/searcher/searcher-toggle.test.tsx +0 -354
  710. package/src/widgets/actions/searcher/types.ts +0 -72
  711. package/src/widgets/actions/shared/styles.ts +0 -12
  712. package/src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx +0 -14
  713. package/src/widgets/actions/stack-toggle/types.ts +0 -29
  714. package/src/widgets/actions/zoom-toggle/types.ts +0 -44
  715. package/src/widgets/bar/config.ts +0 -140
  716. package/src/widgets/bar/style.ts +0 -33
  717. package/src/widgets/category/components/category-rows.test.tsx +0 -213
  718. package/src/widgets/category/config.ts +0 -86
  719. package/src/widgets/echart/const.ts +0 -1
  720. package/src/widgets/echart/options.ts +0 -57
  721. package/src/widgets/echart/types.ts +0 -45
  722. package/src/widgets/echart/utils.test.ts +0 -277
  723. package/src/widgets/echart/utils.ts +0 -244
  724. package/src/widgets/error/error.test.tsx +0 -331
  725. package/src/widgets/error/error.tsx +0 -51
  726. package/src/widgets/error/index.ts +0 -2
  727. package/src/widgets/error/types.ts +0 -24
  728. package/src/widgets/formula/components/item.test.tsx +0 -249
  729. package/src/widgets/formula/components/item.tsx +0 -21
  730. package/src/widgets/formula/components/prefix.test.tsx +0 -341
  731. package/src/widgets/formula/components/prefix.tsx +0 -19
  732. package/src/widgets/formula/components/row.test.tsx +0 -364
  733. package/src/widgets/formula/components/row.tsx +0 -24
  734. package/src/widgets/formula/components/series.tsx +0 -35
  735. package/src/widgets/formula/components/suffix.test.tsx +0 -383
  736. package/src/widgets/formula/components/suffix.tsx +0 -29
  737. package/src/widgets/formula/components/value.test.tsx +0 -329
  738. package/src/widgets/formula/components/value.tsx +0 -24
  739. package/src/widgets/formula/config.test.ts +0 -37
  740. package/src/widgets/formula/config.ts +0 -38
  741. package/src/widgets/formula/serializer.test.tsx +0 -144
  742. package/src/widgets/formula/serializer.ts +0 -28
  743. package/src/widgets/histogram/config.ts +0 -230
  744. package/src/widgets/histogram/style.ts +0 -8
  745. package/src/widgets/loader/index.ts +0 -4
  746. package/src/widgets/loader/loader.tsx +0 -92
  747. package/src/widgets/loader/types.ts +0 -13
  748. package/src/widgets/loader/utils.test.ts +0 -112
  749. package/src/widgets/loader/utils.ts +0 -57
  750. package/src/widgets/markdown/config.ts +0 -28
  751. package/src/widgets/no-data/index.ts +0 -2
  752. package/src/widgets/no-data/no-data.test.tsx +0 -497
  753. package/src/widgets/no-data/no-data.tsx +0 -112
  754. package/src/widgets/no-data/style.ts +0 -18
  755. package/src/widgets/no-data/types.ts +0 -76
  756. package/src/widgets/note/index.ts +0 -2
  757. package/src/widgets/note/note.test.tsx +0 -391
  758. package/src/widgets/note/note.tsx +0 -124
  759. package/src/widgets/note/types.ts +0 -9
  760. package/src/widgets/pie/config.ts +0 -245
  761. package/src/widgets/pie/style.ts +0 -8
  762. package/src/widgets/range/components/range-item.test.tsx +0 -243
  763. package/src/widgets/range/components/range-item.tsx +0 -214
  764. package/src/widgets/range/config.ts +0 -10
  765. package/src/widgets/range/serializer.test.ts +0 -70
  766. package/src/widgets/range/serializer.ts +0 -27
  767. package/src/widgets/scatterplot/config.ts +0 -136
  768. package/src/widgets/scatterplot/style.ts +0 -21
  769. package/src/widgets/selection-summary/index.ts +0 -6
  770. package/src/widgets/selection-summary/types.ts +0 -14
  771. package/src/widgets/skeleton-loader/index.ts +0 -2
  772. package/src/widgets/skeleton-loader/skeleton-loader.test.tsx +0 -139
  773. package/src/widgets/skeleton-loader/skeleton-loader.tsx +0 -35
  774. package/src/widgets/skeleton-loader/types.ts +0 -8
  775. package/src/widgets/spread/components/max-value.tsx +0 -29
  776. package/src/widgets/spread/components/min-value.tsx +0 -29
  777. package/src/widgets/spread/components/separator.tsx +0 -9
  778. package/src/widgets/spread/config.ts +0 -39
  779. package/src/widgets/spread/style.ts +0 -22
  780. package/src/widgets/stores/use-widget-selector.ts +0 -47
  781. package/src/widgets/stores/widget-store-branches.test.ts +0 -275
  782. package/src/widgets/stores/widget-store-performance.test.ts +0 -750
  783. package/src/widgets/stores/widget-store.test.ts +0 -942
  784. package/src/widgets/stores/widget-store.ts +0 -484
  785. package/src/widgets/subheader/index.ts +0 -3
  786. package/src/widgets/subheader/types.ts +0 -11
  787. package/src/widgets/table/components/cell-header.tsx +0 -58
  788. package/src/widgets/table/components/cell.tsx +0 -82
  789. package/src/widgets/table/components/pagination-actions.tsx +0 -67
  790. package/src/widgets/table/components/pagination.tsx +0 -41
  791. package/src/widgets/table/components/row.tsx +0 -65
  792. package/src/widgets/table/config.test.ts +0 -65
  793. package/src/widgets/table/config.ts +0 -75
  794. package/src/widgets/table/hooks/use-pagination.test.ts +0 -294
  795. package/src/widgets/table/hooks/use-pagination.ts +0 -148
  796. package/src/widgets/table/hooks/use-selection.test.ts +0 -504
  797. package/src/widgets/table/hooks/use-selection.ts +0 -194
  798. package/src/widgets/table/hooks/use-sort.test.ts +0 -296
  799. package/src/widgets/table/hooks/use-sort.ts +0 -131
  800. package/src/widgets/table/serializer.ts +0 -54
  801. package/src/widgets/timeseries/config.ts +0 -136
  802. package/src/widgets/timeseries/style.ts +0 -36
  803. package/src/widgets/toolbar-actions/index.ts +0 -6
  804. package/src/widgets/toolbar-actions/styles.ts +0 -38
  805. package/src/widgets/toolbar-actions/toolbar-actions.test.tsx +0 -691
  806. package/src/widgets/toolbar-actions/toolbar-actions.tsx +0 -145
  807. package/src/widgets/toolbar-actions/types.ts +0 -60
  808. package/src/widgets/utils/chart-config/config-factory.ts +0 -67
  809. package/src/widgets/utils/chart-config/csv-modifiers.ts +0 -56
  810. package/src/widgets/utils/chart-config/download-config.ts +0 -22
  811. package/src/widgets/utils/chart-config/index.ts +0 -29
  812. package/src/widgets/utils/formatter.ts +0 -2
  813. package/src/widgets/utils/skeleton/index.ts +0 -5
  814. package/src/widgets/utils/skeleton/styles.ts +0 -20
  815. package/src/widgets/wrapper/components/actions.test.tsx +0 -105
  816. package/src/widgets/wrapper/components/actions.tsx +0 -35
  817. package/src/widgets/wrapper/components/options.test.tsx +0 -331
  818. package/src/widgets/wrapper/components/options.tsx +0 -81
  819. package/src/widgets/wrapper/components/title.test.tsx +0 -126
  820. package/src/widgets/wrapper/components/title.tsx +0 -35
  821. package/src/widgets/wrapper/styles.ts +0 -98
  822. package/src/widgets/wrapper/types.ts +0 -55
  823. package/src/widgets/wrapper/wrapper-ui.test.tsx +0 -232
  824. package/src/widgets/wrapper/wrapper-ui.tsx +0 -72
  825. package/src/widgets/wrapper/wrapper.test.tsx +0 -365
  826. package/src/widgets/wrapper/wrapper.tsx +0 -60
  827. package/src/widgets-v2/actions/brush-toggle/brush-toggle.test.tsx +0 -180
  828. package/src/widgets-v2/actions/brush-toggle/brush-toggle.tsx +0 -154
  829. package/src/widgets-v2/actions/change-column/change-column-icon.tsx +0 -14
  830. package/src/widgets-v2/actions/change-column/change-column.test.tsx +0 -59
  831. package/src/widgets-v2/actions/change-column/change-column.tsx +0 -189
  832. package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +0 -63
  833. package/src/widgets-v2/actions/change-column/types.ts +0 -11
  834. package/src/widgets-v2/actions/download/download.test.tsx +0 -327
  835. package/src/widgets-v2/actions/download/download.tsx +0 -146
  836. package/src/widgets-v2/actions/download/exports.test.tsx +0 -198
  837. package/src/widgets-v2/actions/download/types.ts +0 -46
  838. package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +0 -210
  839. package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +0 -416
  840. package/src/widgets-v2/actions/fullscreen/types.ts +0 -15
  841. package/src/widgets-v2/actions/index.ts +0 -96
  842. package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +0 -301
  843. package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +0 -188
  844. package/src/widgets-v2/actions/relative-data/relative-data.test.tsx +0 -71
  845. package/src/widgets-v2/actions/relative-data/relative-data.tsx +0 -107
  846. package/src/widgets-v2/actions/searcher/searcher-toggle.tsx +0 -96
  847. package/src/widgets-v2/actions/searcher/searcher.tsx +0 -127
  848. package/src/widgets-v2/actions/stack-toggle/stack-toggle.test.tsx +0 -61
  849. package/src/widgets-v2/actions/stack-toggle/stack-toggle.tsx +0 -54
  850. package/src/widgets-v2/actions/stack-toggle/style.ts +0 -11
  851. package/src/widgets-v2/actions/zoom-toggle/style.ts +0 -11
  852. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.test.tsx +0 -107
  853. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx +0 -106
  854. package/src/widgets-v2/bar/download.tsx +0 -61
  855. package/src/widgets-v2/bar/index.ts +0 -10
  856. package/src/widgets-v2/bar/skeleton.tsx +0 -69
  857. package/src/widgets-v2/bar/types.ts +0 -51
  858. package/src/widgets-v2/category/category-ui.test.tsx +0 -909
  859. package/src/widgets-v2/category/category-ui.tsx +0 -490
  860. package/src/widgets-v2/category/components/category-bar.tsx +0 -49
  861. package/src/widgets-v2/category/components/category-legend.tsx +0 -82
  862. package/src/widgets-v2/category/components/category-row-multi.tsx +0 -86
  863. package/src/widgets-v2/category/components/category-row-other.tsx +0 -84
  864. package/src/widgets-v2/category/components/category-row-single.tsx +0 -76
  865. package/src/widgets-v2/category/download.ts +0 -51
  866. package/src/widgets-v2/category/index.ts +0 -32
  867. package/src/widgets-v2/category/skeleton.tsx +0 -74
  868. package/src/widgets-v2/category/style.ts +0 -329
  869. package/src/widgets-v2/category/types.ts +0 -61
  870. package/src/widgets-v2/echart/echart-ui.test.tsx +0 -330
  871. package/src/widgets-v2/echart/echart-ui.tsx +0 -236
  872. package/src/widgets-v2/echart/echart.test.tsx +0 -229
  873. package/src/widgets-v2/echart/echart.tsx +0 -209
  874. package/src/widgets-v2/echart/index.ts +0 -22
  875. package/src/widgets-v2/echart/shared-resize-observer.ts +0 -56
  876. package/src/widgets-v2/formula/formula-ui.test.tsx +0 -91
  877. package/src/widgets-v2/formula/formula-ui.tsx +0 -66
  878. package/src/widgets-v2/formula/index.ts +0 -17
  879. package/src/widgets-v2/formula/skeleton.tsx +0 -27
  880. package/src/widgets-v2/formula/style.ts +0 -31
  881. package/src/widgets-v2/formula/types.ts +0 -48
  882. package/src/widgets-v2/histogram/index.ts +0 -13
  883. package/src/widgets-v2/histogram/skeleton.tsx +0 -70
  884. package/src/widgets-v2/histogram/types.ts +0 -64
  885. package/src/widgets-v2/markdown/index.ts +0 -6
  886. package/src/widgets-v2/markdown/markdown-ui.test.tsx +0 -75
  887. package/src/widgets-v2/markdown/markdown-ui.tsx +0 -55
  888. package/src/widgets-v2/markdown/markdown.tsx +0 -17
  889. package/src/widgets-v2/markdown/skeleton.tsx +0 -32
  890. package/src/widgets-v2/markdown/style.ts +0 -53
  891. package/src/widgets-v2/markdown/types.ts +0 -4
  892. package/src/widgets-v2/note/style.ts +0 -26
  893. package/src/widgets-v2/pie/index.ts +0 -10
  894. package/src/widgets-v2/pie/skeleton.tsx +0 -94
  895. package/src/widgets-v2/pie/types.ts +0 -62
  896. package/src/widgets-v2/range/index.ts +0 -4
  897. package/src/widgets-v2/range/range-ui.test.tsx +0 -136
  898. package/src/widgets-v2/range/range-ui.tsx +0 -278
  899. package/src/widgets-v2/range/skeleton.tsx +0 -47
  900. package/src/widgets-v2/range/style.ts +0 -41
  901. package/src/widgets-v2/range/types.ts +0 -37
  902. package/src/widgets-v2/scatterplot/download.ts +0 -51
  903. package/src/widgets-v2/scatterplot/index.ts +0 -14
  904. package/src/widgets-v2/scatterplot/skeleton.tsx +0 -84
  905. package/src/widgets-v2/scatterplot/types.ts +0 -59
  906. package/src/widgets-v2/selection-summary/selection-summary.tsx +0 -82
  907. package/src/widgets-v2/selection-summary/style.ts +0 -38
  908. package/src/widgets-v2/spread/download.ts +0 -56
  909. package/src/widgets-v2/spread/index.ts +0 -11
  910. package/src/widgets-v2/spread/skeleton.tsx +0 -38
  911. package/src/widgets-v2/spread/spread-ui.test.tsx +0 -108
  912. package/src/widgets-v2/spread/spread-ui.tsx +0 -52
  913. package/src/widgets-v2/spread/types.ts +0 -27
  914. package/src/widgets-v2/stores/index.ts +0 -49
  915. package/src/widgets-v2/stores/types.ts +0 -64
  916. package/src/widgets-v2/subheader/style.ts +0 -12
  917. package/src/widgets-v2/subheader/subheader.test.tsx +0 -30
  918. package/src/widgets-v2/subheader/subheader.tsx +0 -16
  919. package/src/widgets-v2/table/download.ts +0 -44
  920. package/src/widgets-v2/table/helpers.test.ts +0 -233
  921. package/src/widgets-v2/table/helpers.ts +0 -131
  922. package/src/widgets-v2/table/index.ts +0 -24
  923. package/src/widgets-v2/table/skeleton.tsx +0 -65
  924. package/src/widgets-v2/table/style.ts +0 -43
  925. package/src/widgets-v2/table/table-ui.tsx +0 -364
  926. package/src/widgets-v2/table/types.ts +0 -55
  927. package/src/widgets-v2/timeseries/index.ts +0 -11
  928. package/src/widgets-v2/timeseries/skeleton.tsx +0 -76
  929. package/src/widgets-v2/timeseries/types.ts +0 -65
  930. package/src/widgets-v2/utils/index.ts +0 -3
  931. package/src/widgets-v2/wrapper/index.ts +0 -14
  932. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/index.d.ts +0 -0
  933. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/labels.d.ts +0 -0
  934. /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/transforms.d.ts +0 -0
  935. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/index.d.ts +0 -0
  936. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/labels.d.ts +0 -0
  937. /package/dist/types/{widgets-v2 → widgets}/actions/change-column/style.d.ts +0 -0
  938. /package/dist/types/{widgets-v2 → widgets}/actions/download/constants.d.ts +0 -0
  939. /package/dist/types/{widgets-v2 → widgets}/actions/download/csv-item.d.ts +0 -0
  940. /package/dist/types/{widgets-v2 → widgets}/actions/download/icons.d.ts +0 -0
  941. /package/dist/types/{widgets-v2 → widgets}/actions/download/labels.d.ts +0 -0
  942. /package/dist/types/{widgets-v2 → widgets}/actions/download/style.d.ts +0 -0
  943. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/index.d.ts +0 -0
  944. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/labels.d.ts +0 -0
  945. /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/style.d.ts +0 -0
  946. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/index.d.ts +0 -0
  947. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/labels.d.ts +0 -0
  948. /package/dist/types/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.d.ts +0 -0
  949. /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/transforms.d.ts +0 -0
  950. /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/index.d.ts +0 -0
  951. /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/labels.d.ts +0 -0
  952. /package/dist/types/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.d.ts +0 -0
  953. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/filter.d.ts +0 -0
  954. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/index.d.ts +0 -0
  955. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/labels.d.ts +0 -0
  956. /package/dist/types/{widgets-v2 → widgets}/actions/searcher/style.d.ts +0 -0
  957. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/index.d.ts +0 -0
  958. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/labels.d.ts +0 -0
  959. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/show-all.d.ts +0 -0
  960. /package/dist/types/{widgets-v2 → widgets}/actions/show-all/style.d.ts +0 -0
  961. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/index.d.ts +0 -0
  962. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/labels.d.ts +0 -0
  963. /package/dist/types/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.d.ts +0 -0
  964. /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/transforms.d.ts +0 -0
  965. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/index.d.ts +0 -0
  966. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/labels.d.ts +0 -0
  967. /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.d.ts +0 -0
  968. /package/dist/types/{widgets-v2 → widgets}/bar/options.d.ts +0 -0
  969. /package/dist/types/{widgets-v2 → widgets}/category/category.d.ts +0 -0
  970. /package/dist/types/{widgets-v2 → widgets}/echart/edge-label-clamp.d.ts +0 -0
  971. /package/dist/types/{widgets-v2 → widgets}/echart/style.d.ts +0 -0
  972. /package/dist/types/{widgets-v2 → widgets}/echart/use-chart-selection.d.ts +0 -0
  973. /package/dist/types/{widgets-v2 → widgets}/formula/delta.d.ts +0 -0
  974. /package/dist/types/{widgets-v2 → widgets}/formula/formula.d.ts +0 -0
  975. /package/dist/types/{widgets-v2 → widgets}/formula/note.d.ts +0 -0
  976. /package/dist/types/{widgets-v2 → widgets}/formula/prefix.d.ts +0 -0
  977. /package/dist/types/{widgets-v2 → widgets}/formula/suffix.d.ts +0 -0
  978. /package/dist/types/{widgets-v2 → widgets}/histogram/options.d.ts +0 -0
  979. /package/dist/types/{widgets-v2 → widgets}/histogram/transforms.d.ts +0 -0
  980. /package/dist/types/{widgets-v2 → widgets}/markdown/markdown-content.d.ts +0 -0
  981. /package/dist/types/{widgets-v2 → widgets}/note/labels.d.ts +0 -0
  982. /package/dist/types/{widgets-v2 → widgets}/note/widget-note.d.ts +0 -0
  983. /package/dist/types/{widgets-v2 → widgets}/pie/options.d.ts +0 -0
  984. /package/dist/types/{widgets-v2 → widgets}/provider/widget-provider.d.ts +0 -0
  985. /package/dist/types/{widgets-v2 → widgets}/range/range.d.ts +0 -0
  986. /package/dist/types/{widgets-v2 → widgets}/scatterplot/options.d.ts +0 -0
  987. /package/dist/types/{widgets-v2 → widgets}/scatterplot/transforms.d.ts +0 -0
  988. /package/dist/types/{widgets-v2 → widgets}/selection-summary/labels.d.ts +0 -0
  989. /package/dist/types/{widgets-v2 → widgets}/spread/band.d.ts +0 -0
  990. /package/dist/types/{widgets-v2 → widgets}/spread/separator.d.ts +0 -0
  991. /package/dist/types/{widgets-v2 → widgets}/spread/spread.d.ts +0 -0
  992. /package/dist/types/{widgets-v2 → widgets}/state/labels.d.ts +0 -0
  993. /package/dist/types/{widgets-v2 → widgets}/state/style.d.ts +0 -0
  994. /package/dist/types/{widgets-v2 → widgets}/state/widget-state.d.ts +0 -0
  995. /package/dist/types/{widgets-v2 → widgets}/stores/pipeline-middleware.d.ts +0 -0
  996. /package/dist/types/{widgets-v2 → widgets}/stores/transforms.d.ts +0 -0
  997. /package/dist/types/{widgets-v2 → widgets}/stores/use-echart-instance.d.ts +0 -0
  998. /package/dist/types/{widgets-v2 → widgets}/stores/use-transform-enabled.d.ts +0 -0
  999. /package/dist/types/{widgets-v2 → widgets}/stores/use-transform.d.ts +0 -0
  1000. /package/dist/types/{widgets-v2 → widgets}/stores/widget-context.d.ts +0 -0
  1001. /package/dist/types/{widgets-v2 → widgets}/table/labels.d.ts +0 -0
  1002. /package/dist/types/{widgets-v2 → widgets}/table/table.d.ts +0 -0
  1003. /package/dist/types/{widgets-v2 → widgets}/table/transforms.d.ts +0 -0
  1004. /package/dist/types/{widgets-v2 → widgets}/timeseries/options.d.ts +0 -0
  1005. /package/dist/types/{widgets-v2 → widgets}/timeseries/transforms.d.ts +0 -0
  1006. /package/dist/types/{widgets-v2 → widgets}/toolbox/labels.d.ts +0 -0
  1007. /package/dist/types/{widgets-v2 → widgets}/toolbox/style.d.ts +0 -0
  1008. /package/dist/types/{widgets-v2 → widgets}/toolbox/toolbox.d.ts +0 -0
  1009. /package/dist/types/{widgets-v2 → widgets}/utils/data-zoom-layout.d.ts +0 -0
  1010. /package/dist/types/{widgets-v2 → widgets}/utils/merge-options.d.ts +0 -0
  1011. /package/dist/types/widgets/utils/{chart-config/option-builders.d.ts → option-builders.d.ts} +0 -0
  1012. /package/dist/types/{widgets-v2 → widgets}/utils/resolve-theme-color.d.ts +0 -0
  1013. /package/dist/types/{widgets-v2 → widgets}/wrapper/labels.d.ts +0 -0
  1014. /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-content.d.ts +0 -0
  1015. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/index.ts +0 -0
  1016. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/labels.ts +0 -0
  1017. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.test.ts +0 -0
  1018. /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.ts +0 -0
  1019. /package/src/{widgets-v2 → widgets}/actions/change-column/index.ts +0 -0
  1020. /package/src/{widgets-v2 → widgets}/actions/change-column/labels.ts +0 -0
  1021. /package/src/{widgets-v2 → widgets}/actions/change-column/style.ts +0 -0
  1022. /package/src/{widgets-v2 → widgets}/actions/download/constants.ts +0 -0
  1023. /package/src/{widgets-v2 → widgets}/actions/download/csv-item.test.tsx +0 -0
  1024. /package/src/{widgets-v2 → widgets}/actions/download/csv-item.tsx +0 -0
  1025. /package/src/{widgets-v2 → widgets}/actions/download/icons.tsx +0 -0
  1026. /package/src/{widgets-v2 → widgets}/actions/download/labels.ts +0 -0
  1027. /package/src/{widgets-v2 → widgets}/actions/download/png-item.test.tsx +0 -0
  1028. /package/src/{widgets-v2 → widgets}/actions/download/style.ts +0 -0
  1029. /package/src/{widgets-v2 → widgets}/actions/fullscreen/fullscreen-store.test.tsx +0 -0
  1030. /package/src/{widgets-v2 → widgets}/actions/fullscreen/index.ts +0 -0
  1031. /package/src/{widgets-v2 → widgets}/actions/fullscreen/labels.ts +0 -0
  1032. /package/src/{widgets-v2 → widgets}/actions/fullscreen/style.ts +0 -0
  1033. /package/src/{widgets-v2 → widgets}/actions/lock-selection/index.ts +0 -0
  1034. /package/src/{widgets-v2 → widgets}/actions/lock-selection/labels.ts +0 -0
  1035. /package/src/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.ts +0 -0
  1036. /package/src/{widgets-v2 → widgets}/actions/lock-selection/transforms.ts +0 -0
  1037. /package/src/{widgets-v2 → widgets}/actions/relative-data/index.ts +0 -0
  1038. /package/src/{widgets-v2 → widgets}/actions/relative-data/labels.ts +0 -0
  1039. /package/src/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.ts +0 -0
  1040. /package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.test.ts +0 -0
  1041. /package/src/{widgets-v2 → widgets}/actions/searcher/filter.test.ts +0 -0
  1042. /package/src/{widgets-v2 → widgets}/actions/searcher/filter.ts +0 -0
  1043. /package/src/{widgets-v2 → widgets}/actions/searcher/index.ts +0 -0
  1044. /package/src/{widgets-v2 → widgets}/actions/searcher/labels.ts +0 -0
  1045. /package/src/{widgets-v2 → widgets}/actions/searcher/searcher.test.tsx +0 -0
  1046. /package/src/{widgets-v2 → widgets}/actions/searcher/style.ts +0 -0
  1047. /package/src/{widgets-v2 → widgets}/actions/show-all/index.ts +0 -0
  1048. /package/src/{widgets-v2 → widgets}/actions/show-all/labels.ts +0 -0
  1049. /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.test.tsx +0 -0
  1050. /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.tsx +0 -0
  1051. /package/src/{widgets-v2 → widgets}/actions/show-all/style.ts +0 -0
  1052. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/index.ts +0 -0
  1053. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/labels.ts +0 -0
  1054. /package/src/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.ts +0 -0
  1055. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.test.ts +0 -0
  1056. /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.ts +0 -0
  1057. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/index.ts +0 -0
  1058. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/labels.ts +0 -0
  1059. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.test.ts +0 -0
  1060. /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.ts +0 -0
  1061. /package/src/{widgets-v2 → widgets}/bar/download.test.tsx +0 -0
  1062. /package/src/{widgets-v2 → widgets}/bar/options.test.ts +0 -0
  1063. /package/src/{widgets-v2 → widgets}/bar/skeleton.test.tsx +0 -0
  1064. /package/src/{widgets-v2 → widgets}/category/category.relative-data.test.tsx +0 -0
  1065. /package/src/{widgets-v2 → widgets}/category/category.stack-toggle.test.tsx +0 -0
  1066. /package/src/{widgets-v2 → widgets}/category/category.test.tsx +0 -0
  1067. /package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.test.tsx +0 -0
  1068. /package/src/{widgets-v2 → widgets}/category/components/category-bar.test.tsx +0 -0
  1069. /package/src/{widgets-v2 → widgets}/category/components/category-row-other.test.tsx +0 -0
  1070. /package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.test.tsx +0 -0
  1071. /package/src/{widgets-v2 → widgets}/category/download.test.ts +0 -0
  1072. /package/src/{widgets-v2 → widgets}/category/skeleton.test.tsx +0 -0
  1073. /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.test.ts +0 -0
  1074. /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.ts +0 -0
  1075. /package/src/{widgets-v2 → widgets}/echart/shared-resize-observer.test.ts +0 -0
  1076. /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.test.tsx +0 -0
  1077. /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.ts +0 -0
  1078. /package/src/{widgets-v2 → widgets}/formula/delta.tsx +0 -0
  1079. /package/src/{widgets-v2 → widgets}/formula/download.test.tsx +0 -0
  1080. /package/src/{widgets-v2 → widgets}/formula/formula.test.tsx +0 -0
  1081. /package/src/{widgets-v2 → widgets}/formula/formula.tsx +0 -0
  1082. /package/src/{widgets-v2 → widgets}/formula/prefix.tsx +0 -0
  1083. /package/src/{widgets-v2 → widgets}/formula/skeleton.test.tsx +0 -0
  1084. /package/src/{widgets-v2 → widgets}/formula/subcomponents.test.tsx +0 -0
  1085. /package/src/{widgets-v2 → widgets}/formula/suffix.tsx +0 -0
  1086. /package/src/{widgets-v2 → widgets}/histogram/download.test.ts +0 -0
  1087. /package/src/{widgets-v2 → widgets}/histogram/options.test.ts +0 -0
  1088. /package/src/{widgets-v2 → widgets}/histogram/skeleton.test.tsx +0 -0
  1089. /package/src/{widgets-v2 → widgets}/histogram/transforms.test.ts +0 -0
  1090. /package/src/{widgets-v2 → widgets}/histogram/transforms.ts +0 -0
  1091. /package/src/{widgets-v2 → widgets}/markdown/download.test.ts +0 -0
  1092. /package/src/{widgets-v2 → widgets}/markdown/markdown-content.test.tsx +0 -0
  1093. /package/src/{widgets-v2 → widgets}/markdown/markdown-content.tsx +0 -0
  1094. /package/src/{widgets-v2 → widgets}/markdown/markdown.test.tsx +0 -0
  1095. /package/src/{widgets-v2 → widgets}/markdown/skeleton.test.tsx +0 -0
  1096. /package/src/{widgets-v2 → widgets}/note/labels.ts +0 -0
  1097. /package/src/{widgets-v2 → widgets}/note/widget-note.test.tsx +0 -0
  1098. /package/src/{widgets-v2 → widgets}/pie/download.test.ts +0 -0
  1099. /package/src/{widgets-v2 → widgets}/pie/options.test.ts +0 -0
  1100. /package/src/{widgets-v2 → widgets}/pie/skeleton.test.tsx +0 -0
  1101. /package/src/{widgets-v2 → widgets}/provider/widget-provider.test.tsx +0 -0
  1102. /package/src/{widgets-v2 → widgets}/provider/widget-provider.tsx +0 -0
  1103. /package/src/{widgets-v2 → widgets}/range/range.test.tsx +0 -0
  1104. /package/src/{widgets-v2 → widgets}/range/range.tsx +0 -0
  1105. /package/src/{widgets-v2 → widgets}/range/skeleton.test.tsx +0 -0
  1106. /package/src/{widgets-v2 → widgets}/scatterplot/download.test.ts +0 -0
  1107. /package/src/{widgets-v2 → widgets}/scatterplot/options.test.ts +0 -0
  1108. /package/src/{widgets-v2 → widgets}/scatterplot/skeleton.test.tsx +0 -0
  1109. /package/src/{widgets-v2 → widgets}/scatterplot/transforms.test.ts +0 -0
  1110. /package/src/{widgets-v2 → widgets}/scatterplot/transforms.ts +0 -0
  1111. /package/src/{widgets-v2 → widgets}/selection-summary/labels.ts +0 -0
  1112. /package/src/{widgets-v2 → widgets}/selection-summary/selection-summary.test.tsx +0 -0
  1113. /package/src/{widgets-v2 → widgets}/spread/band.test.ts +0 -0
  1114. /package/src/{widgets-v2 → widgets}/spread/band.ts +0 -0
  1115. /package/src/{widgets-v2 → widgets}/spread/download.test.ts +0 -0
  1116. /package/src/{widgets-v2 → widgets}/spread/separator.tsx +0 -0
  1117. /package/src/{widgets-v2 → widgets}/spread/skeleton.test.tsx +0 -0
  1118. /package/src/{widgets-v2 → widgets}/spread/spread.test.tsx +0 -0
  1119. /package/src/{widgets-v2 → widgets}/spread/spread.tsx +0 -0
  1120. /package/src/{widgets-v2 → widgets}/state/labels.test.ts +0 -0
  1121. /package/src/{widgets-v2 → widgets}/state/labels.ts +0 -0
  1122. /package/src/{widgets-v2 → widgets}/state/style.ts +0 -0
  1123. /package/src/{widgets-v2 → widgets}/state/widget-state.test.tsx +0 -0
  1124. /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.test.ts +0 -0
  1125. /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.ts +0 -0
  1126. /package/src/{widgets-v2 → widgets}/stores/transforms.test.ts +0 -0
  1127. /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.test.tsx +0 -0
  1128. /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.ts +0 -0
  1129. /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.test.tsx +0 -0
  1130. /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.ts +0 -0
  1131. /package/src/{widgets-v2 → widgets}/stores/use-transform.test.tsx +0 -0
  1132. /package/src/{widgets-v2 → widgets}/stores/widget-context.test.tsx +0 -0
  1133. /package/src/{widgets-v2 → widgets}/stores/widget-context.ts +0 -0
  1134. /package/src/{widgets-v2 → widgets}/table/download.test.ts +0 -0
  1135. /package/src/{widgets-v2 → widgets}/table/labels.tsx +0 -0
  1136. /package/src/{widgets-v2 → widgets}/table/skeleton.test.tsx +0 -0
  1137. /package/src/{widgets-v2 → widgets}/table/table-ui.test.tsx +0 -0
  1138. /package/src/{widgets-v2 → widgets}/table/table.test.tsx +0 -0
  1139. /package/src/{widgets-v2 → widgets}/table/table.tsx +0 -0
  1140. /package/src/{widgets-v2 → widgets}/table/transforms.test.ts +0 -0
  1141. /package/src/{widgets-v2 → widgets}/table/transforms.ts +0 -0
  1142. /package/src/{widgets-v2 → widgets}/timeseries/download.test.ts +0 -0
  1143. /package/src/{widgets-v2 → widgets}/timeseries/options.test.ts +0 -0
  1144. /package/src/{widgets-v2 → widgets}/timeseries/skeleton.test.tsx +0 -0
  1145. /package/src/{widgets-v2 → widgets}/timeseries/transforms.test.ts +0 -0
  1146. /package/src/{widgets-v2 → widgets}/timeseries/transforms.ts +0 -0
  1147. /package/src/{widgets-v2 → widgets}/toolbox/labels.ts +0 -0
  1148. /package/src/{widgets-v2 → widgets}/toolbox/style.ts +0 -0
  1149. /package/src/{widgets-v2 → widgets}/toolbox/toolbox.test.tsx +0 -0
  1150. /package/src/{widgets-v2 → widgets}/toolbox/toolbox.tsx +0 -0
  1151. /package/src/{widgets-v2 → widgets}/utils/data-zoom-layout.ts +0 -0
  1152. /package/src/{widgets-v2 → widgets}/utils/merge-options.test.ts +0 -0
  1153. /package/src/{widgets-v2 → widgets}/utils/merge-options.ts +0 -0
  1154. /package/src/widgets/utils/{chart-config/option-builders.test.ts → option-builders.test.ts} +0 -0
  1155. /package/src/widgets/utils/{chart-config/option-builders.ts → option-builders.ts} +0 -0
  1156. /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.test.ts +0 -0
  1157. /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.ts +0 -0
  1158. /package/src/{widgets-v2 → widgets}/wrapper/labels.ts +0 -0
  1159. /package/src/{widgets-v2 → widgets}/wrapper/widget-actions.test.tsx +0 -0
  1160. /package/src/{widgets-v2 → widgets}/wrapper/widget-content.test.tsx +0 -0
  1161. /package/src/{widgets-v2 → widgets}/wrapper/widget-content.tsx +0 -0
@@ -1,41 +0,0 @@
1
- import { c as e } from "react/compiler-runtime";
2
- import { Box as t, Button as n, Typography as r } from "@mui/material";
3
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
- //#region src/widgets/selection-summary/style.ts
5
- var o = { root: {
6
- display: "flex",
7
- alignItems: "center",
8
- flex: "0 0 auto",
9
- gap: ({ spacing: e }) => e(.5)
10
- } }, s = {
11
- allSelected: "All selected",
12
- selections: (e) => `${e} selected`,
13
- clear: "Clear"
14
- };
15
- function c(c) {
16
- let l = e(13), { selections: u, onClear: d, labels: f } = c, p = f?.allSelected ?? s.allSelected, m = f?.selections ?? s.selections, h = f?.clear ?? s.clear, g;
17
- l[0] !== p || l[1] !== u || l[2] !== m ? (g = u > 0 ? m(u) : p, l[0] = p, l[1] = u, l[2] = m, l[3] = g) : g = l[3];
18
- let _ = g, v = u > 0 && d, y;
19
- l[4] === _ ? y = l[5] : (y = /* @__PURE__ */ i(r, {
20
- variant: "caption",
21
- color: "textSecondary",
22
- fontWeight: 500,
23
- children: _
24
- }), l[4] = _, l[5] = y);
25
- let b;
26
- l[6] !== h || l[7] !== d || l[8] !== v ? (b = v && /* @__PURE__ */ i(n, {
27
- size: "small",
28
- variant: "text",
29
- onClick: d,
30
- children: h
31
- }), l[6] = h, l[7] = d, l[8] = v, l[9] = b) : b = l[9];
32
- let x;
33
- return l[10] !== y || l[11] !== b ? (x = /* @__PURE__ */ a(t, {
34
- sx: o.root,
35
- children: [y, b]
36
- }), l[10] = y, l[11] = b, l[12] = x) : x = l[12], x;
37
- }
38
- //#endregion
39
- export { c as WidgetSelectionSummary };
40
-
41
- //# sourceMappingURL=selection-summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selection-summary.js","names":["{\n selections,\n onClear,\n labels,\n}: WidgetSelectionSummaryProps","selections > 0 ? selectionsLabel(selections) : allSelectedLabel","<Typography variant='caption' color='textSecondary' fontWeight={500}>\n {displayLabel}\n </Typography>","showClearButton && (\n <Button size='small' variant='text' onClick={onClear}>\n {clearLabel}\n </Button>\n )","<Box sx={styles.root}>\n <Typography variant='caption' color='textSecondary' fontWeight={500}>\n {displayLabel}\n </Typography>\n {showClearButton && (\n <Button size='small' variant='text' onClick={onClear}>\n {clearLabel}\n </Button>\n )}\n </Box>"],"sources":["../../src/widgets/selection-summary/style.ts","../../src/widgets/selection-summary/selection-summary.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n flex: '0 0 auto',\n gap: ({ spacing }) => spacing(0.5),\n },\n} satisfies Record<string, SxProps<Theme>>\n","/* Selection Summary Component */\n\nimport { Box, Button, Typography } from '@mui/material'\nimport type {\n WidgetSelectionSummaryProps,\n SelectionSummaryLabels,\n} from './types'\nimport { styles } from './style'\n\nconst DEFAULT_SELECTION_LABELS: SelectionSummaryLabels = {\n allSelected: 'All selected',\n selections: (count: number) => `${count} selected`,\n clear: 'Clear',\n}\n\n/**\n * Displays the count of selected items with an optional clear button. Commonly used with the LockSelection action to show selection state in widgets.\n *\n * @example\n * ```tsx\n * <WidgetSelectionSummary\n * selections={selectedItems.length}\n * onClear={() => setSelectedItems([])}\n * />\n * ```\n */\nexport function WidgetSelectionSummary({\n selections,\n onClear,\n labels,\n}: WidgetSelectionSummaryProps) {\n const allSelectedLabel =\n labels?.allSelected ?? DEFAULT_SELECTION_LABELS.allSelected\n\n const selectionsLabel =\n labels?.selections ?? DEFAULT_SELECTION_LABELS.selections\n\n const clearLabel = labels?.clear ?? DEFAULT_SELECTION_LABELS.clear\n\n const displayLabel =\n selections > 0 ? selectionsLabel(selections) : allSelectedLabel\n\n const showClearButton = selections > 0 && onClear\n\n return (\n <Box sx={styles.root}>\n <Typography variant='caption' color='textSecondary' fontWeight={500}>\n {displayLabel}\n </Typography>\n {showClearButton && (\n <Button size='small' variant='text' onClick={onClear}>\n {clearLabel}\n </Button>\n )}\n </Box>\n )\n}\n"],"mappings":";;;;AAEA,IAAa,IAAS,EACpB,MAAM;CACJ,SAAS;CACT,YAAY;CACZ,MAAM;CACN,MAAM,EAAE,iBAAc,EAAQ,EAAG;AACnC,EACF,GCAM,IAAmD;CACvD,aAAa;CACb,aAAa,MAAkB,GAAG,EAAM;CACxC,OAAO;AACT;AAaA,SAAgB,EAAA,GAIgB;gBAJO,EACrC,eACA,YACA,cAHqCA,GAK/B,IACJ,GAAQ,eAAe,EAAyB,aAE5C,IACJ,GAAQ,cAAc,EAAyB,YAE3C,IAAa,GAAQ,SAAS,EAAyB,OAG3DC;CAA+C,AAAA,EAAA,OAAA,KAAA,EAAA,OAA/C,KAAA,EAAA,OAAiB,KAAjB,IAAA,IAAa,IAAI,EAAgB,CAAU,IAAI,aAA/C,EAAA,KAAA,GAAiB,EAAA,KAAA;CADnB,IAAM,IACJA,GAEI,IAAkB,IAAa,KAAK,GAItCC;CACG,AAAA,EAAA,OAAA,gBADH,IAAA,kBAAC,GAAD;EAAY,SAAQ;EAAU,OAAM;EAAgB,YAAY;EAC7D,UAAA;CACS,CAAA,GADT,EAAA,KAAA;CAEFC,IAAAA;CAEI,AAAA,EAAA,OAAA,KAAA,EAAA,OAD0C,KAAA,EAAA,OAD9C,KACC,IAAA,KAAA,kBAAC,GAAD;EAAQ,MAAK;EAAQ,SAAQ;EAAO,SAAS;EAC1C,UAAA;CACK,CAAA,GADL,EAAA,KAAA,GAD0C,EAAA,KAAA,GAD9C,EAAA,KAAA;CAJHC,IAAAA;CADF,OAEIF,EAAAA,QAAAA,KAAAA,EAAAA,QAGCC,KAJH,IAAA,kBAAC,GAAD;EAAK,IAAI,EAAO;EAAhB,UAAA,CACED,GAGCC,CAKE;KARHD,EAAAA,MAAAA,GAGCC,EAAAA,MAAAA,2BAJHC;AAWJ"}
@@ -1,24 +0,0 @@
1
- import { t as e } from "../use-widget-selector-VSPhfhNm.js";
2
- import { c as t } from "react/compiler-runtime";
3
- import { Suspense as n } from "react";
4
- import { jsx as r } from "react/jsx-runtime";
5
- //#region src/widgets/skeleton-loader/skeleton-loader.tsx
6
- function i(i) {
7
- let o = t(2), { id: s, children: c, Skeleton: l } = i;
8
- if (e(s, a)) {
9
- if (!l) return null;
10
- let e;
11
- return o[0] === l ? e = o[1] : (e = /* @__PURE__ */ r(n, {
12
- fallback: null,
13
- children: /* @__PURE__ */ r(l, {})
14
- }), o[0] = l, o[1] = e), e;
15
- }
16
- return c;
17
- }
18
- function a(e) {
19
- return e?.isLoading;
20
- }
21
- //#endregion
22
- export { i as SkeletonLoader };
23
-
24
- //# sourceMappingURL=skeleton-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skeleton-loader.js","names":["{\n id,\n children,\n Skeleton,\n}: SkeletonLoaderProps","(w) => w?.isLoading","<Suspense fallback={null}>\n <Skeleton />\n </Suspense>"],"sources":["../../src/widgets/skeleton-loader/skeleton-loader.tsx"],"sourcesContent":["import type { SkeletonLoaderProps } from './types'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport { Suspense } from 'react'\n\n/**\n * Displays a skeleton loading placeholder while widget data is loading. Subscribes to widget loading state in the store and renders the provided Skeleton component or children accordingly.\n *\n * @example\n * ```tsx\n * <SkeletonLoader id=\"sales-chart\" Skeleton={BarSkeleton}>\n * <Bar id=\"sales-chart\" />\n * </SkeletonLoader>\n * ```\n */\nexport function SkeletonLoader({\n id,\n children,\n Skeleton,\n}: SkeletonLoaderProps) {\n const isLoading = useWidgetSelector(id, (w) => w?.isLoading)\n\n if (isLoading) {\n if (!Skeleton) {\n return null\n }\n\n return (\n <Suspense fallback={null}>\n <Skeleton />\n </Suspense>\n )\n }\n\n return children\n}\n"],"mappings":";;;;;AAcA,SAAgB,EAAA,GAIQ;eAJO,EAC7B,OACA,aACA,gBAH6BA;CAO7B,IAFkB,EAAkB,GAAIC,CAEpC,GAAW;EACb,IAAI,CAAC,GACH,OAAO;EAIPC,IAAAA;EADF,OAEK,EAAA,OAAA,gBADH,IAAA,kBAAC,GAAD;GAAU,UAAU;GAClB,UAAA,kBAAC,GAAD,CAAW,CAAA;EACH,CAAA,GADP,EAAA,KAAA,cADHA;CAIJ;CAEA,OAAO;AACT;AAf0C,SAAA,EAAC,GAAA;CAAM,OAAA,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"spread.js","names":["<Item {...props}>-</Item>","index = 0","{ id, index = 0, ...props }: ValueProps","(w) => {\n const sw = w as SpreadWidgetState | undefined\n return {\n min: sw?.data[index]?.min,\n color: sw?.data[index]?.color,\n formatter: sw?.formatter,\n }\n }","{ color }","formatter(min ?? 0)","min ?? 0","<Item TypographyProps={{ color }} {...props}>\n {formatter(min ?? 0)}\n </Item>","index = 0","{ id, index = 0, ...props }: ValueProps","(w) => {\n const sw = w as SpreadWidgetState | undefined\n return {\n max: sw?.data[index]?.max,\n color: sw?.data[index]?.color,\n formatter: sw?.formatter,\n }\n }","{ color }","formatter(max ?? 0)","max ?? 0","<Item TypographyProps={{ color }} {...props}>\n {formatter(max ?? 0)}\n </Item>","({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )","id","{ index }","<Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>","<Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>","<Box sx={styles.row} aria-label='Spread skeleton'>\n <Skeleton width={120} height={32} />\n </Box>"],"sources":["../../src/widgets/spread/components/separator.tsx","../../src/widgets/spread/components/min-value.tsx","../../src/widgets/spread/components/max-value.tsx","../../src/widgets/spread/spread-ui.tsx","../../src/widgets/spread/style.ts","../../src/widgets/spread/skeleton.tsx","../../src/widgets/spread/config.ts"],"sourcesContent":["import { Item } from '../../formula/components/item'\nimport type { ItemProps } from '../../formula/types'\n\n/**\n * Renders a dash separator between the min and max values in a spread widget.\n */\nexport function Separator(props: Omit<ItemProps, 'children'>) {\n return <Item {...props}>-</Item>\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\nimport { Item } from '../../formula/components/item'\nimport { defaultFormatter } from '../../utils/formatter'\n\n/**\n * Displays the formatted minimum value for a spread widget data item.\n */\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const {\n min,\n color,\n formatter: _formatter,\n } = useWidgetSelector(id, (w) => {\n const sw = w as SpreadWidgetState | undefined\n return {\n min: sw?.data[index]?.min,\n color: sw?.data[index]?.color,\n formatter: sw?.formatter,\n }\n })\n const formatter = _formatter ?? defaultFormatter\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(min ?? 0)}\n </Item>\n )\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\nimport { Item } from '../../formula/components/item'\nimport { defaultFormatter } from '../../utils/formatter'\n\n/**\n * Displays the formatted maximum value for a spread widget data item.\n */\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const {\n max,\n color,\n formatter: _formatter,\n } = useWidgetSelector(id, (w) => {\n const sw = w as SpreadWidgetState | undefined\n return {\n max: sw?.data[index]?.max,\n color: sw?.data[index]?.color,\n formatter: sw?.formatter,\n }\n })\n const formatter = _formatter ?? defaultFormatter\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(max ?? 0)}\n </Item>\n )\n}\n","import type { SpreadUIProps } from './types'\n\nimport { Separator } from './components/separator'\nimport { MinValue } from './components/min-value'\nimport { MaxValue } from './components/max-value'\nimport { Prefix, Row, Suffix, Series } from '../formula'\nimport { useWidgetRef } from '../../hooks'\nimport { Box } from '@mui/material'\n\n/**\n * Renders a spread widget displaying min-max value pairs with optional prefixes, suffixes, and series indicators.\n */\nexport function SpreadUI(props: SpreadUIProps) {\n const { ref } = useWidgetRef(props.id)\n\n return (\n <Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n item: {\n '&[data-disabled=\"true\"]': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(0.25),\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function SpreadSkeleton() {\n return (\n <Box sx={styles.row} aria-label='Spread skeleton'>\n <Skeleton width={120} height={32} />\n </Box>\n )\n}\n","import { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\nimport type { SpreadWidgetConfig, SpreadWidgetData } from './types'\n\n/**\n * Creates download configuration for spread widgets, supporting PNG (screenshot) and CSV (min/max data) exports.\n *\n * @param props - Configuration with `refUI` reference for PNG export.\n * @returns Array of download items for use with the Download action.\n */\nexport function spreadDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<SpreadWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = data.map((item) => [item.min, item.max])\n\n return downloadToCSV.modifier([['Min', 'Max'], ...rows])\n },\n },\n ]\n}\n\n/**\n * Returns the default configuration for spread (min/max value range) widgets.\n *\n * @returns Default spread widget config with empty series.\n */\nexport function spreadConfig(): SpreadWidgetConfig {\n return {\n series: [],\n }\n}\n"],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { c as e } from "react/compiler-runtime";
2
- import { Box as t } from "@mui/material";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
- //#region src/widgets/subheader/style.ts
5
- var i = {
6
- root: {
7
- display: "flex",
8
- alignItems: "center",
9
- gap: ({ spacing: e }) => e(1),
10
- minHeight: ({ spacing: e }) => e(3)
11
- },
12
- slotLeft: { flexShrink: 0 },
13
- slotRight: {
14
- flexGrow: 1,
15
- display: "flex",
16
- justifyContent: "flex-end",
17
- alignItems: "center",
18
- gap: ({ spacing: e }) => e(1)
19
- }
20
- };
21
- //#endregion
22
- //#region src/widgets/subheader/subheader.tsx
23
- function a(a) {
24
- let o = e(10), { slotLeft: s, slotRight: c, sx: l } = a, u;
25
- o[0] === l ? u = o[1] : (u = {
26
- ...i.root,
27
- ...l
28
- }, o[0] = l, o[1] = u);
29
- let d;
30
- o[2] === s ? d = o[3] : (d = s && /* @__PURE__ */ n(t, {
31
- sx: i.slotLeft,
32
- className: "widget-subheader-slot-left",
33
- children: s
34
- }), o[2] = s, o[3] = d);
35
- let f;
36
- o[4] === c ? f = o[5] : (f = c && /* @__PURE__ */ n(t, {
37
- sx: i.slotRight,
38
- className: "widget-subheader-slot-right",
39
- children: c
40
- }), o[4] = c, o[5] = f);
41
- let p;
42
- return o[6] !== u || o[7] !== d || o[8] !== f ? (p = /* @__PURE__ */ r(t, {
43
- sx: u,
44
- className: "widget-subheader",
45
- children: [d, f]
46
- }), o[6] = u, o[7] = d, o[8] = f, o[9] = p) : p = o[9], p;
47
- }
48
- //#endregion
49
- export { a as WidgetSubHeader };
50
-
51
- //# sourceMappingURL=subheader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subheader.js","names":["{\n slotLeft,\n slotRight,\n sx,\n}: WidgetSubHeaderProps","{ ...styles.root, ...sx }","slotLeft && (\n <Box sx={styles.slotLeft} className='widget-subheader-slot-left'>\n {slotLeft}\n </Box>\n )","slotRight && (\n <Box sx={styles.slotRight} className='widget-subheader-slot-right'>\n {slotRight}\n </Box>\n )","<Box sx={{ ...styles.root, ...sx }} className='widget-subheader'>\n {slotLeft && (\n <Box sx={styles.slotLeft} className='widget-subheader-slot-left'>\n {slotLeft}\n </Box>\n )}\n {slotRight && (\n <Box sx={styles.slotRight} className='widget-subheader-slot-right'>\n {slotRight}\n </Box>\n )}\n </Box>"],"sources":["../../src/widgets/subheader/style.ts","../../src/widgets/subheader/subheader.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n minHeight: ({ spacing }) => spacing(3),\n },\n slotLeft: {\n flexShrink: 0,\n },\n slotRight: {\n flexGrow: 1,\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from './style'\nimport type { WidgetSubHeaderProps } from './types'\n\n/**\n * Flexible two-slot layout for displaying supplementary widget information such as totals, timestamps, or controls. Uses flexbox with space-between justification.\n *\n * @example\n * ```tsx\n * <WidgetSubHeader\n * slotLeft={<Typography variant=\"caption\">Total: 1,234</Typography>}\n * slotRight={<Typography variant=\"caption\">Updated: 2m ago</Typography>}\n * />\n * ```\n */\nexport function WidgetSubHeader({\n slotLeft,\n slotRight,\n sx,\n}: WidgetSubHeaderProps) {\n return (\n <Box sx={{ ...styles.root, ...sx }} className='widget-subheader'>\n {slotLeft && (\n <Box sx={styles.slotLeft} className='widget-subheader-slot-left'>\n {slotLeft}\n </Box>\n )}\n {slotRight && (\n <Box sx={styles.slotRight} className='widget-subheader-slot-right'>\n {slotRight}\n </Box>\n )}\n </Box>\n )\n}\n"],"mappings":";;;;AAEA,IAAa,IAAS;CACpB,MAAM;EACJ,SAAS;EACT,YAAY;EACZ,MAAM,EAAE,iBAAc,EAAQ,CAAC;EAC/B,YAAY,EAAE,iBAAc,EAAQ,CAAC;CACvC;CACA,UAAU,EACR,YAAY,EACd;CACA,WAAW;EACT,UAAU;EACV,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ,MAAM,EAAE,iBAAc,EAAQ,CAAC;CACjC;AACF;;;ACJA,SAAgB,EAAA,GAIS;gBAJO,EAC9B,aACA,cACA,UAH8BA,GAMnBC;CAAqB,AAAA,EAAA,OAAA,gBAArB,IAAA;EAAE,GAAG,EAAO;EAAM,GAAG;CAAG,GAAH,EAAA,KAAA;CAC3BC,IAAAA;0BACC,IAAA,KAAA,kBAAC,GAAD;EAAK,IAAI,EAAO;EAAU,WAAU;EACjC,UAAA;CACE,CAAA,GAHN,EAAA,KAAA;CAKAC,IAAAA;0BACC,IAAA,KAAA,kBAAC,GAAD;EAAK,IAAI,EAAO;EAAW,WAAU;EAClC,UAAA;CACE,CAAA,GAHN,EAAA,KAAA;CANHC,IAAAA;CADF,OACWH,EAAAA,OAAAA,KAAAA,EAAAA,OACNC,KAAAA,EAAAA,OAKAC,KANH,IAAA,kBAAC,GAAD;EAAK,IAAIF;EAA2B,WAAU;EAA9C,UAAA,CACGC,GAKAC,CAKE;KAXIF,EAAAA,KAAAA,GACNC,EAAAA,KAAAA,GAKAC,EAAAA,KAAAA,yBANHC;AAaJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.js","names":["{\n column,\n sortState,\n onSort,\n isSelectAll,\n isAllSelected,\n isIndeterminate,\n onSelectAll,\n}: CellHeaderProps","{ 'aria-label': 'select all rows' }","<TableCell padding='checkbox'>\n <Checkbox\n checked={isAllSelected}\n indeterminate={isIndeterminate}\n onChange={onSelectAll}\n inputProps={{ 'aria-label': 'select all rows' }}\n />\n </TableCell>","{ width: column.width }","width","() => onSort(column.id)","id","<TableSortLabel\n active={isSorted}\n direction={sortDirection ?? 'asc'}\n onClick={() => onSort(column.id)}\n >\n {column.label}\n </TableSortLabel>","label","sortDirection ?? 'asc'","<TableCell\n align={column.align}\n style={{ width: column.width }}\n sortDirection={sortDirection}\n >\n <TableSortLabel\n active={isSorted}\n direction={sortDirection ?? 'asc'}\n onClick={() => onSort(column.id)}\n >\n {column.label}\n </TableSortLabel>\n </TableCell>","align","<TableCell align={column.align} style={{ width: column.width }}>\n {column.label}\n </TableCell>","{ children }: { children?: ReactNode }","<Typography component='span' variant='body2' color='inherit'>\n {children}\n </Typography>","{ column, row, value }: CellProps","column.formatter(value, row)","<MuiTableCell align={column.align}>\n {column.formatter(value, row)}\n </MuiTableCell>","align","column.align","<ReactMarkdown components={CELL_MARKDOWN_COMPONENTS}>\n {value}\n </ReactMarkdown>","<MuiTableCell align={column.align}>\n <ReactMarkdown components={CELL_MARKDOWN_COMPONENTS}>\n {value}\n </ReactMarkdown>\n </MuiTableCell>","getCellValue(value)","<MuiTableCell align={column.align}>{getCellValue(value)}</MuiTableCell>","{\n row,\n columns,\n isSelected = false,\n selectable = false,\n onClick,\n onSelect,\n onMouseEnter,\n onMouseLeave,\n}: RowProps","isSelected = false","selectable = false","() => {\n onClick?.(row)\n }","(event: React.MouseEvent) => {\n event.stopPropagation()\n onSelect?.(row)\n }","() => {\n onMouseEnter?.(row)\n }","() => {\n onMouseLeave?.()\n }","{\n cursor: onClick ? 'pointer' : 'default',\n }","onClick ? 'pointer' : 'default'","selectable && (\n <TableCell padding='checkbox'>\n <Checkbox\n checked={isSelected}\n onClick={handleCheckboxClick}\n inputProps={{ 'aria-label': `select row ${row.id}` }}\n />\n </TableCell>\n )","row.id","columns.map((column) => (\n <Cell\n key={column.id}\n row={row}\n column={column}\n value={row[column.id]}\n />\n ))","(column) => (\n <Cell\n key={column.id}\n row={row}\n column={column}\n value={row[column.id]}\n />\n )","<MuiTableRow\n hover={!!onMouseEnter || !!onMouseLeave || !!onClick}\n selected={isSelected}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n sx={{\n cursor: onClick ? 'pointer' : 'default',\n }}\n >\n {selectable && (\n <TableCell padding='checkbox'>\n <Checkbox\n checked={isSelected}\n onClick={handleCheckboxClick}\n inputProps={{ 'aria-label': `select row ${row.id}` }}\n />\n </TableCell>\n )}\n {columns.map((column) => (\n <Cell\n key={column.id}\n row={row}\n column={column}\n value={row[column.id]}\n />\n ))}\n </MuiTableRow>","!!onMouseEnter || !!onMouseLeave || !!onClick","{\n count,\n page,\n rowsPerPage,\n onPageChange,\n}: PaginationActionsProps","(event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, 0)\n }","(event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page - 1)\n }","event","(event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page + 1)\n }","(event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, lastPage)\n }","{ flexShrink: 0, ml: 2.5 }","<FirstPageIcon />","<IconButton\n onClick={handleFirstPage}\n disabled={page === 0}\n aria-label='first page'\n >\n <FirstPageIcon />\n </IconButton>","page === 0","<KeyboardArrowLeft />","<IconButton\n onClick={handlePreviousPage}\n disabled={page === 0}\n aria-label='previous page'\n >\n <KeyboardArrowLeft />\n </IconButton>","<KeyboardArrowRight />","<IconButton\n onClick={handleNextPage}\n disabled={page >= lastPage}\n aria-label='next page'\n >\n <KeyboardArrowRight />\n </IconButton>","page >= lastPage","<LastPageIcon />","<IconButton\n onClick={handleLastPage}\n disabled={page >= lastPage}\n aria-label='last page'\n >\n <LastPageIcon />\n </IconButton>","<Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton\n onClick={handleFirstPage}\n disabled={page === 0}\n aria-label='first page'\n >\n <FirstPageIcon />\n </IconButton>\n <IconButton\n onClick={handlePreviousPage}\n disabled={page === 0}\n aria-label='previous page'\n >\n <KeyboardArrowLeft />\n </IconButton>\n <IconButton\n onClick={handleNextPage}\n disabled={page >= lastPage}\n aria-label='next page'\n >\n <KeyboardArrowRight />\n </IconButton>\n <IconButton\n onClick={handleLastPage}\n disabled={page >= lastPage}\n aria-label='last page'\n >\n <LastPageIcon />\n </IconButton>\n </Box>","{\n page,\n rowsPerPage,\n total,\n rowsPerPageOptions = [5, 10, 25, 50],\n onPageChange,\n onRowsPerPageChange,\n}: PaginationProps","rowsPerPageOptions = [5, 10, 25, 50]","(\n _event: React.MouseEvent<HTMLButtonElement> | null,\n newPage: number,\n ) => {\n onPageChange(newPage)\n }","(\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n ) => {\n onRowsPerPageChange(parseInt(event.target.value, 10))\n }","<MuiTablePagination\n component='div'\n count={total}\n page={page}\n rowsPerPage={rowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n onPageChange={handlePageChange}\n onRowsPerPageChange={handleRowsPerPageChange}\n ActionsComponent={PaginationActions}\n />","stickyHeader = true","{\n children,\n ref,\n stickyHeader = true,\n ...props\n}: TableComponentProps","<MuiTable stickyHeader={stickyHeader} ref={ref} {...props}>\n {children}\n </MuiTable>","<MuiTableContainer ref={ref}>{props.children}</MuiTableContainer>","children","(w) => {\n const widget = w as TableWidgetState | undefined\n return {\n paginationEnabled: !!widget?.pagination,\n page: widget?.pagination?.page ?? DEFAULT_PAGE,\n rowsPerPage: widget?.pagination?.rowsPerPage ?? DEFAULT_ROWS_PER_PAGE,\n rowsPerPageOptions:\n widget?.pagination?.rowsPerPageOptions ?? DEFAULT_ROWS_PER_PAGE_OPTIONS,\n total: widget?.pagination?.total ?? data.length,\n mode: widget?.mode,\n }\n }","length","(newPage: number) => {\n // Read current state directly from store to avoid stale closures\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentTotal = widget?.pagination?.total ?? data.length\n const currentRowsPerPage =\n widget?.pagination?.rowsPerPage ?? DEFAULT_ROWS_PER_PAGE\n const currentMaxPage = Math.max(\n 0,\n Math.ceil(currentTotal / currentRowsPerPage) - 1,\n )\n const boundedPage = Math.max(0, Math.min(newPage, currentMaxPage))\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n pagination: {\n ...widget?.pagination,\n page: boundedPage,\n },\n })\n }","widget","useCallback(\n (newPage: number) => {\n // Read current state directly from store to avoid stale closures\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentTotal = widget?.pagination?.total ?? data.length\n const currentRowsPerPage =\n widget?.pagination?.rowsPerPage ?? DEFAULT_ROWS_PER_PAGE\n const currentMaxPage = Math.max(\n 0,\n Math.ceil(currentTotal / currentRowsPerPage) - 1,\n )\n const boundedPage = Math.max(0, Math.min(newPage, currentMaxPage))\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n pagination: {\n ...widget?.pagination,\n page: boundedPage,\n },\n })\n },\n [data.length, widgetId],\n )","(newRowsPerPage: number) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n pagination: {\n ...widget?.pagination,\n rowsPerPage: newRowsPerPage,\n page: 0, // Reset to first page when changing rows per page\n },\n })\n }","useCallback(\n (newRowsPerPage: number) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n pagination: {\n ...widget?.pagination,\n rowsPerPage: newRowsPerPage,\n page: 0, // Reset to first page when changing rows per page\n },\n })\n },\n [widgetId],\n )","() => setPage(0)","useCallback(() => setPage(0), [setPage])","() => setPage(maxPage)","useCallback(() => setPage(maxPage), [setPage, maxPage])","() => setPage(page + 1)","useCallback(() => setPage(page + 1), [setPage, page])","() => setPage(page - 1)","useCallback(() => setPage(page - 1), [setPage, page])","useMemo(() => {\n if (mode === 'remote' || !paginationEnabled) {\n // For remote mode, data is already paginated from server\n return data\n }\n return paginateData(data, page, rowsPerPage)\n }, [data, mode, page, paginationEnabled, rowsPerPage])","paginateData(data, page, rowsPerPage)","{\n paginationEnabled,\n page,\n rowsPerPage,\n rowsPerPageOptions,\n total,\n paginatedData,\n setPage,\n setRowsPerPage,\n goToFirstPage,\n goToLastPage,\n goToNextPage,\n goToPreviousPage,\n }","(w) => {\n const widget = w as TableWidgetState | undefined\n return {\n sortEnabled: !!widget?.sort,\n columnId: widget?.sort?.columnId ?? DEFAULT_COLUMN_ID,\n direction: widget?.sort?.direction ?? DEFAULT_DIRECTION,\n mode: widget?.mode,\n }\n }","(toggleColumnId: string) => {\n // Read current state directly from store to avoid stale closures\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentColumnId = widget?.sort?.columnId ?? DEFAULT_COLUMN_ID\n const currentDirection = widget?.sort?.direction ?? DEFAULT_DIRECTION\n\n let newDirection: SortDirection = 'asc'\n\n if (currentColumnId === toggleColumnId) {\n // Same column - toggle direction\n newDirection = currentDirection === 'asc' ? 'desc' : 'asc'\n }\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n columnId: toggleColumnId,\n direction: newDirection,\n },\n })\n }","widget","useCallback(\n (toggleColumnId: string) => {\n // Read current state directly from store to avoid stale closures\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentColumnId = widget?.sort?.columnId ?? DEFAULT_COLUMN_ID\n const currentDirection = widget?.sort?.direction ?? DEFAULT_DIRECTION\n\n let newDirection: SortDirection = 'asc'\n\n if (currentColumnId === toggleColumnId) {\n // Same column - toggle direction\n newDirection = currentDirection === 'asc' ? 'desc' : 'asc'\n }\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n columnId: toggleColumnId,\n direction: newDirection,\n },\n })\n },\n [widgetId],\n )","(newColumnId: string | null, newDirection: SortDirection) => {\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n columnId: newColumnId,\n direction: newDirection,\n },\n })\n }","newDirection","useCallback(\n (newColumnId: string | null, newDirection: SortDirection) => {\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n columnId: newColumnId,\n direction: newDirection,\n },\n })\n },\n [widgetId],\n )","() => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n if (!widget?.sort) return\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n ...widget.sort,\n columnId: null,\n direction: 'asc',\n },\n })\n }","useCallback(() => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n if (!widget?.sort) return\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n ...widget.sort,\n columnId: null,\n direction: 'asc',\n },\n })\n }, [widgetId])","useMemo(() => {\n if (mode === 'remote' || !columnId || !sortEnabled) {\n // For remote mode, data is already sorted from server\n // If no sort column, return original data\n return data\n }\n return sortData(data, columnId, direction)\n }, [data, mode, columnId, direction, sortEnabled])","sortData(data, columnId, direction)","{\n sortEnabled,\n columnId,\n direction,\n sortedData,\n toggleSort,\n setSort,\n clearSort,\n }","options ?? {}","(w) => (w as TableWidgetState | undefined)?.selected","selected ?? []","useMemo(() => selected ?? [], [selected])","(id: string | number) => selectedIds.includes(id)","useCallback(\n (id: string | number) => selectedIds.includes(id),\n [selectedIds],\n )","(rows: TableRow[]) => {\n if (rows.length === 0) return false\n return rows.every((row) => selectedIds.includes(row.id))\n }","useCallback(\n (rows: TableRow[]) => {\n if (rows.length === 0) return false\n return rows.every((row) => selectedIds.includes(row.id))\n },\n [selectedIds],\n )","(rows: TableRow[]) => {\n if (rows.length === 0) return false\n const selectedCount = rows.filter((row) =>\n selectedIds.includes(row.id),\n ).length\n return selectedCount > 0 && selectedCount < rows.length\n }","rows","row","useCallback(\n (rows: TableRow[]) => {\n if (rows.length === 0) return false\n const selectedCount = rows.filter((row) =>\n selectedIds.includes(row.id),\n ).length\n return selectedCount > 0 && selectedCount < rows.length\n },\n [selectedIds],\n )","(id: string | number) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = currentSelected.includes(id)\n ? currentSelected.filter((s) => s !== id)\n : [...currentSelected, id]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n }","id","useCallback(\n (id: string | number) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = currentSelected.includes(id)\n ? currentSelected.filter((s) => s !== id)\n : [...currentSelected, id]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )","(rows: TableRow[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const rowIds = rows.map((row) => row.id)\n const allSelected = rowIds.every((id) => currentSelected.includes(id))\n\n const newSelected = allSelected\n ? currentSelected.filter((id) => !rowIds.includes(id))\n : [...new Set([...currentSelected, ...rowIds])]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n }","widget","currentSelected","(row) => row.id","newSelected","useCallback(\n (rows: TableRow[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const rowIds = rows.map((row) => row.id)\n const allSelected = rowIds.every((id) => currentSelected.includes(id))\n\n const newSelected = allSelected\n ? currentSelected.filter((id) => !rowIds.includes(id))\n : [...new Set([...currentSelected, ...rowIds])]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )","(ids: (string | number)[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = [...new Set([...currentSelected, ...ids])]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n }","useCallback(\n (ids: (string | number)[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = [...new Set([...currentSelected, ...ids])]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )","(ids: (string | number)[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = currentSelected.filter((id) => !ids.includes(id))\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n }","ids","useCallback(\n (ids: (string | number)[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = currentSelected.filter((id) => !ids.includes(id))\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )","() => {\n const newSelected: (string | number)[] = []\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n }","useCallback(() => {\n const newSelected: (string | number)[] = []\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n }, [widgetId, onSelectionChange])","{\n selectedIds,\n isSelected,\n isAllSelected,\n isIndeterminate,\n toggleRow,\n toggleAll,\n selectRows,\n deselectRows,\n clearSelection,\n }","{ columns = 4, rows = 5 }: TableSkeletonProps","columns = 4","rows = 5","<TableHead>\n <TableRow>\n {Array.from({ length: columns }).map((_, index) => (\n <TableCell key={index}>\n <Skeleton width='80%' height={24} />\n </TableCell>\n ))}\n </TableRow>\n </TableHead>","(_, index) => (\n <TableCell key={index}>\n <Skeleton width='80%' height={24} />\n </TableCell>\n )","Array.from({ length: rows })","<TableBody>\n {Array.from({ length: rows }).map((_, rowIndex) => (\n <TableRow key={rowIndex}>\n {Array.from({ length: columns }).map((_, colIndex) => (\n <TableCell key={colIndex}>\n <Skeleton width='70%' height={20} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>","(_, colIndex) => (\n <TableCell key={colIndex}>\n <Skeleton width='70%' height={20} />\n </TableCell>\n )","<Box aria-label='Table skeleton'>\n <Table>\n <TableHead>\n <TableRow>\n {Array.from({ length: columns }).map((_, index) => (\n <TableCell key={index}>\n <Skeleton width='80%' height={24} />\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {Array.from({ length: rows }).map((_, rowIndex) => (\n <TableRow key={rowIndex}>\n {Array.from({ length: columns }).map((_, colIndex) => (\n <TableCell key={colIndex}>\n <Skeleton width='70%' height={20} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </Box>"],"sources":["../../src/widgets/table/components/cell-header.tsx","../../src/widgets/table/helpers.ts","../../src/widgets/table/components/cell.tsx","../../src/widgets/table/components/row.tsx","../../src/widgets/table/components/pagination-actions.tsx","../../src/widgets/table/components/pagination.tsx","../../src/widgets/table/table-ui.tsx","../../src/widgets/table/config.ts","../../src/widgets/table/hooks/use-pagination.ts","../../src/widgets/table/hooks/use-sort.ts","../../src/widgets/table/hooks/use-selection.ts","../../src/widgets/table/skeleton.tsx","../../src/widgets/table/serializer.ts","../../src/widgets/table/style.ts"],"sourcesContent":["import { TableCell, TableSortLabel, Checkbox } from '@mui/material'\nimport type { CellHeaderProps } from '../types'\n\n/**\n * Table cell header component with optional sorting and select-all checkbox\n */\nexport function CellHeader({\n column,\n sortState,\n onSort,\n isSelectAll,\n isAllSelected,\n isIndeterminate,\n onSelectAll,\n}: CellHeaderProps) {\n // Render select-all checkbox\n if (isSelectAll) {\n return (\n <TableCell padding='checkbox'>\n <Checkbox\n checked={isAllSelected}\n indeterminate={isIndeterminate}\n onChange={onSelectAll}\n inputProps={{ 'aria-label': 'select all rows' }}\n />\n </TableCell>\n )\n }\n\n const isSorted = sortState?.columnId === column.id\n const sortDirection = isSorted ? sortState.direction : undefined\n\n // Render sortable column header\n if (column.sortable && onSort) {\n return (\n <TableCell\n align={column.align}\n style={{ width: column.width }}\n sortDirection={sortDirection}\n >\n <TableSortLabel\n active={isSorted}\n direction={sortDirection ?? 'asc'}\n onClick={() => onSort(column.id)}\n >\n {column.label}\n </TableSortLabel>\n </TableCell>\n )\n }\n\n // Render non-sortable column header\n return (\n <TableCell align={column.align} style={{ width: column.width }}>\n {column.label}\n </TableCell>\n )\n}\n","import type { ReactNode } from 'react'\n\n/**\n * Get formatted cell value for display\n * Handles primitives, arrays, objects, and custom formatters\n *\n * @param cellValue - Raw cell value\n * @param formatter - Optional formatter function\n * @returns Formatted value for display\n */\nexport function getCellValue<T>(cellValue: T): ReactNode {\n // Handle null/undefined\n if (cellValue === null || cellValue === undefined) {\n return ''\n }\n\n // Handle arrays - format as [item1, item2, ...]\n if (Array.isArray(cellValue)) {\n const formatted = cellValue\n .map((item) => (typeof item === 'string' ? `\"${item}\"` : String(item)))\n .join(', ')\n return `[${formatted}]`\n }\n\n // Handle objects - stringify to JSON\n if (typeof cellValue === 'object') {\n return JSON.stringify(cellValue)\n }\n\n // Return primitives as-is (string, number, boolean)\n return cellValue as ReactNode\n}\n\n/**\n * Compare two values for sorting\n * Handles strings, numbers, and other types\n *\n * @param a - First value\n * @param b - Second value\n * @param direction - Sort direction\n * @returns Comparison result (-1, 0, 1)\n */\nexport function compareValues(\n a: unknown,\n b: unknown,\n direction: 'asc' | 'desc',\n): number {\n // Handle null/undefined - always sort to end\n if (a === null || a === undefined) return 1\n if (b === null || b === undefined) return -1\n\n let comparison = 0\n\n if (typeof a === 'string' && typeof b === 'string') {\n comparison = a.localeCompare(b)\n } else if (typeof a === 'number' && typeof b === 'number') {\n comparison = a - b\n } else if (typeof a === 'boolean' && typeof b === 'boolean') {\n comparison = a === b ? 0 : a ? 1 : -1\n } else if (typeof a === 'object' || typeof b === 'object') {\n // Compare objects/arrays as JSON strings\n const strA = JSON.stringify(a)\n const strB = JSON.stringify(b)\n comparison = strA.localeCompare(strB)\n } else {\n // Fallback for other primitives (bigint, symbol, etc.)\n comparison = 0\n }\n\n return direction === 'asc' ? comparison : -comparison\n}\n\n/**\n * Sort data array by column\n *\n * @param data - Data array to sort\n * @param columnId - Column ID to sort by\n * @param direction - Sort direction\n * @returns Sorted data array (new array, does not mutate original)\n */\nexport function sortData<T extends Record<string, unknown>>(\n data: T[],\n columnId: string,\n direction: 'asc' | 'desc',\n): T[] {\n return [...data].sort((a, b) =>\n compareValues(a[columnId], b[columnId], direction),\n )\n}\n\n/**\n * Paginate data array\n *\n * @param data - Data array to paginate\n * @param page - Current page (0-indexed)\n * @param rowsPerPage - Number of rows per page\n * @returns Paginated data slice\n */\nexport function paginateData<T>(\n data: T[],\n page: number,\n rowsPerPage: number,\n): T[] {\n const start = page * rowsPerPage\n const end = start + rowsPerPage\n return data.slice(start, end)\n}\n","import { TableCell as MuiTableCell, Link, Typography } from '@mui/material'\nimport ReactMarkdown, { type Components } from 'react-markdown'\nimport type { TableColumn, TableRow } from '../types'\nimport { getCellValue } from '../helpers'\nimport type { ReactNode } from 'react'\n\n/**\n * Props for Cell component\n */\nexport interface CellProps {\n /** Column definition */\n column: TableColumn\n /** Full table row for context */\n row: TableRow\n /** Cell value */\n value: unknown\n}\n\nconst DEFAULT_P = ({ children }: { children?: ReactNode }) => (\n <Typography component='span' variant='body2' color='inherit'>\n {children}\n </Typography>\n)\n\n/**\n * Markdown components for cell content\n * Uses compact styling suitable for table cells (reusing Note widget pattern)\n */\nconst CELL_MARKDOWN_COMPONENTS: Components = {\n h1: DEFAULT_P,\n h2: DEFAULT_P,\n h3: DEFAULT_P,\n p: DEFAULT_P,\n a: ({ children, href }) => {\n const isExternal = href?.startsWith('http')\n return (\n <Link\n href={href}\n target={isExternal ? '_blank' : undefined}\n rel={isExternal ? 'noopener noreferrer' : undefined}\n color='text.primary'\n underline='always'\n >\n {children}\n </Link>\n )\n },\n img: () => null,\n ul: DEFAULT_P,\n ol: DEFAULT_P,\n li: DEFAULT_P,\n}\n\n/**\n * Table cell component with automatic markdown support for string values\n * Markdown is rendered when the raw value is a string and no formatter is defined.\n * If a formatter is used, its output is rendered directly without markdown parsing.\n */\nexport function Cell({ column, row, value }: CellProps) {\n // If formatter is defined, use it directly without markdown\n if (column.formatter) {\n return (\n <MuiTableCell align={column.align}>\n {column.formatter(value, row)}\n </MuiTableCell>\n )\n }\n\n // For string values without formatter, render as markdown\n if (typeof value === 'string') {\n return (\n <MuiTableCell align={column.align}>\n <ReactMarkdown components={CELL_MARKDOWN_COMPONENTS}>\n {value}\n </ReactMarkdown>\n </MuiTableCell>\n )\n }\n\n // For non-string values, render directly\n return <MuiTableCell align={column.align}>{getCellValue(value)}</MuiTableCell>\n}\n","import { TableRow as MuiTableRow, TableCell, Checkbox } from '@mui/material'\nimport type { RowProps } from '../types'\nimport { Cell } from './cell'\n\n/**\n * Table row component with selection and hover support\n */\nexport function Row({\n row,\n columns,\n isSelected = false,\n selectable = false,\n onClick,\n onSelect,\n onMouseEnter,\n onMouseLeave,\n}: RowProps) {\n const handleClick = () => {\n onClick?.(row)\n }\n\n const handleCheckboxClick = (event: React.MouseEvent) => {\n event.stopPropagation()\n onSelect?.(row)\n }\n\n const handleMouseEnter = () => {\n onMouseEnter?.(row)\n }\n\n const handleMouseLeave = () => {\n onMouseLeave?.()\n }\n\n return (\n <MuiTableRow\n hover={!!onMouseEnter || !!onMouseLeave || !!onClick}\n selected={isSelected}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n sx={{\n cursor: onClick ? 'pointer' : 'default',\n }}\n >\n {selectable && (\n <TableCell padding='checkbox'>\n <Checkbox\n checked={isSelected}\n onClick={handleCheckboxClick}\n inputProps={{ 'aria-label': `select row ${row.id}` }}\n />\n </TableCell>\n )}\n {columns.map((column) => (\n <Cell\n key={column.id}\n row={row}\n column={column}\n value={row[column.id]}\n />\n ))}\n </MuiTableRow>\n )\n}\n","import { Box, IconButton } from '@mui/material'\nimport { FirstPage as FirstPageIcon } from '@mui/icons-material'\nimport { KeyboardArrowLeft } from '@mui/icons-material'\nimport { KeyboardArrowRight } from '@mui/icons-material'\nimport { LastPage as LastPageIcon } from '@mui/icons-material'\nimport type { PaginationActionsProps } from '../types'\n\n/**\n * Custom pagination actions with first/prev/next/last buttons\n */\nexport function PaginationActions({\n count,\n page,\n rowsPerPage,\n onPageChange,\n}: PaginationActionsProps) {\n const lastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1)\n\n const handleFirstPage = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, 0)\n }\n\n const handlePreviousPage = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page - 1)\n }\n\n const handleNextPage = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, page + 1)\n }\n\n const handleLastPage = (event: React.MouseEvent<HTMLButtonElement>) => {\n onPageChange(event, lastPage)\n }\n\n return (\n <Box sx={{ flexShrink: 0, ml: 2.5 }}>\n <IconButton\n onClick={handleFirstPage}\n disabled={page === 0}\n aria-label='first page'\n >\n <FirstPageIcon />\n </IconButton>\n <IconButton\n onClick={handlePreviousPage}\n disabled={page === 0}\n aria-label='previous page'\n >\n <KeyboardArrowLeft />\n </IconButton>\n <IconButton\n onClick={handleNextPage}\n disabled={page >= lastPage}\n aria-label='next page'\n >\n <KeyboardArrowRight />\n </IconButton>\n <IconButton\n onClick={handleLastPage}\n disabled={page >= lastPage}\n aria-label='last page'\n >\n <LastPageIcon />\n </IconButton>\n </Box>\n )\n}\n","import { TablePagination as MuiTablePagination } from '@mui/material'\nimport type { PaginationProps } from '../types'\nimport { PaginationActions } from './pagination-actions'\n\n/**\n * Table pagination component\n */\nexport function Pagination({\n page,\n rowsPerPage,\n total,\n rowsPerPageOptions = [5, 10, 25, 50],\n onPageChange,\n onRowsPerPageChange,\n}: PaginationProps) {\n const handlePageChange = (\n _event: React.MouseEvent<HTMLButtonElement> | null,\n newPage: number,\n ) => {\n onPageChange(newPage)\n }\n\n const handleRowsPerPageChange = (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n ) => {\n onRowsPerPageChange(parseInt(event.target.value, 10))\n }\n\n return (\n <MuiTablePagination\n component='div'\n count={total}\n page={page}\n rowsPerPage={rowsPerPage}\n rowsPerPageOptions={rowsPerPageOptions}\n onPageChange={handlePageChange}\n onRowsPerPageChange={handleRowsPerPageChange}\n ActionsComponent={PaginationActions}\n />\n )\n}\n","import {\n Table as MuiTable,\n TableBody,\n TableCell,\n TableHead,\n TableContainer as MuiTableContainer,\n Paper,\n type TableProps as MuiTableProps,\n} from '@mui/material'\nimport type { Ref } from 'react'\nimport { CellHeader } from './components/cell-header'\nimport { Row } from './components/row'\nimport { Pagination } from './components/pagination'\nimport { PaginationActions } from './components/pagination-actions'\nimport { useWidgetRef } from '../../hooks'\nimport type { TableUIProps } from './types'\n\n/**\n * Props for the base Table component\n */\ninterface TableComponentProps extends MuiTableProps {\n /** Table element ref */\n ref?: Ref<HTMLTableElement>\n}\n\n/**\n * Base Table component with compound component pattern\n * Provides Table.Head, Table.Body, Table.Row, Table.Cell, Table.CellHeader, Table.Pagination\n */\nfunction Table({\n children,\n ref,\n stickyHeader = true,\n ...props\n}: TableComponentProps) {\n return (\n <MuiTable stickyHeader={stickyHeader} ref={ref} {...props}>\n {children}\n </MuiTable>\n )\n}\n\n// Attach sub-components as static properties\nTable.Head = TableHead\nTable.CellHeader = CellHeader\nTable.Body = TableBody\nTable.Row = Row\nTable.Cell = TableCell\nTable.Container = TableContainer\nTable.Paper = Paper\nTable.Pagination = Pagination\nTable.PaginationActions = PaginationActions\n\nexport { Table }\n\n/**\n * TableContainer widget component\n * Integrates with widget store and provides ref registration using custom hook\n */\nfunction TableContainer(props: TableUIProps) {\n const { ref } = useWidgetRef<HTMLDivElement>(props.id)\n\n return <MuiTableContainer ref={ref}>{props.children}</MuiTableContainer>\n}\n","import { downloadToCSV, downloadToPNG } from '../actions'\nimport type { ConfigProps } from '../loader/types'\nimport type {\n TableDownloadConfig,\n TableWidgetConfig,\n TableColumn,\n Mode,\n SortDirection,\n} from './types'\n\nconst DEFAULT_MODE: Mode = 'local'\nexport const DEFAULT_PAGE = 0\nexport const DEFAULT_ROWS_PER_PAGE = 10\nexport const DEFAULT_ROWS_PER_PAGE_OPTIONS = [5, 10, 25, 50]\n\nexport const DEFAULT_COLUMN_ID = null\nexport const DEFAULT_DIRECTION: SortDirection = 'asc'\n\n/**\n * Creates download configuration for table widgets, supporting PNG (screenshot) and CSV (data) exports. CSV output uses column keys as headers and filters out `id` fields.\n *\n * @param props - Configuration with `refUI` reference for PNG export.\n * @returns Array of download items for use with the Download action.\n */\nexport function tableDownloadConfig({\n refUI,\n}: ConfigProps): TableDownloadConfig {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n if (!data?.length) {\n return downloadToCSV.modifier([])\n }\n\n // Convert table data to CSV format\n // First row contains headers (column keys)\n const firstRow = data[0]\n if (!firstRow) {\n return downloadToCSV.modifier([])\n }\n\n const headers = Object.keys(firstRow).filter((key) => key !== 'id')\n const rows = data.map((row) =>\n headers.map((header) => {\n const value = row[header]\n if (value === null || value === undefined) return ''\n if (typeof value === 'object') return JSON.stringify(value)\n return value\n }),\n )\n\n return downloadToCSV.modifier([headers, ...rows])\n },\n },\n ]\n}\n\n/**\n * Returns the default configuration for table widgets with pagination and sorting, including column definitions and local data mode.\n *\n * @param columns - Array of column definitions for the table.\n * @returns Default table widget config.\n */\nexport function tableConfig(columns: TableColumn[] = []): TableWidgetConfig {\n return {\n columns,\n selectable: false,\n mode: DEFAULT_MODE,\n }\n}\n","import { useCallback, useMemo } from 'react'\nimport type { TableRow, TableWidgetState } from '../types'\nimport { paginateData } from '../helpers'\nimport { widgetStoreActions } from '../../stores/widget-store'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\nimport {\n DEFAULT_PAGE,\n DEFAULT_ROWS_PER_PAGE,\n DEFAULT_ROWS_PER_PAGE_OPTIONS,\n} from '../config'\n\nexport interface UsePaginationResult<T> {\n /** Whether pagination is enabled */\n paginationEnabled: boolean\n /** Current page (0-indexed) */\n page: number\n /** Rows per page */\n rowsPerPage: number\n /** Total row count */\n total: number\n /** Available rows per page options */\n rowsPerPageOptions: number[]\n /** Paginated data (for local mode) */\n paginatedData: T[]\n /** Set current page */\n setPage: (page: number) => void\n /** Set rows per page */\n setRowsPerPage: (rowsPerPage: number) => void\n /** Go to first page */\n goToFirstPage: () => void\n /** Go to last page */\n goToLastPage: () => void\n /** Go to next page */\n goToNextPage: () => void\n /** Go to previous page */\n goToPreviousPage: () => void\n}\n\n/**\n * Hook for managing table pagination with support for both local (client-side) and remote (server-side) modes.\n * State is persisted in the widget store for the given widget ID.\n *\n * @param widgetId - The widget ID to persist pagination state under.\n * @param data - The full data array (used for local pagination and total count fallback).\n * @returns Pagination state and navigation helpers.\n *\n * @example\n * ```tsx\n * const { page, setPage, paginatedData, totalPages } = usePagination(widgetId, data)\n * ```\n */\nexport function usePagination<T extends TableRow>(\n widgetId: string,\n data: T[],\n): UsePaginationResult<T> {\n // Get store state\n const {\n paginationEnabled,\n page,\n rowsPerPage,\n rowsPerPageOptions,\n total,\n mode,\n } = useWidgetSelector(widgetId, (w) => {\n const widget = w as TableWidgetState | undefined\n return {\n paginationEnabled: !!widget?.pagination,\n page: widget?.pagination?.page ?? DEFAULT_PAGE,\n rowsPerPage: widget?.pagination?.rowsPerPage ?? DEFAULT_ROWS_PER_PAGE,\n rowsPerPageOptions:\n widget?.pagination?.rowsPerPageOptions ?? DEFAULT_ROWS_PER_PAGE_OPTIONS,\n total: widget?.pagination?.total ?? data.length,\n mode: widget?.mode,\n }\n })\n\n // Calculate max page\n const maxPage = Math.max(0, Math.ceil(total / (rowsPerPage ?? 1)) - 1)\n\n // Set page with bounds checking\n const setPage = useCallback(\n (newPage: number) => {\n // Read current state directly from store to avoid stale closures\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentTotal = widget?.pagination?.total ?? data.length\n const currentRowsPerPage =\n widget?.pagination?.rowsPerPage ?? DEFAULT_ROWS_PER_PAGE\n const currentMaxPage = Math.max(\n 0,\n Math.ceil(currentTotal / currentRowsPerPage) - 1,\n )\n const boundedPage = Math.max(0, Math.min(newPage, currentMaxPage))\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n pagination: {\n ...widget?.pagination,\n page: boundedPage,\n },\n })\n },\n [data.length, widgetId],\n )\n\n // Set rows per page and reset to first page\n const setRowsPerPage = useCallback(\n (newRowsPerPage: number) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n pagination: {\n ...widget?.pagination,\n rowsPerPage: newRowsPerPage,\n page: 0, // Reset to first page when changing rows per page\n },\n })\n },\n [widgetId],\n )\n\n // Navigation helpers\n const goToFirstPage = useCallback(() => setPage(0), [setPage])\n const goToLastPage = useCallback(() => setPage(maxPage), [setPage, maxPage])\n const goToNextPage = useCallback(() => setPage(page + 1), [setPage, page])\n const goToPreviousPage = useCallback(() => setPage(page - 1), [setPage, page])\n\n // Paginated data for local mode\n const paginatedData = useMemo(() => {\n if (mode === 'remote' || !paginationEnabled) {\n // For remote mode, data is already paginated from server\n return data\n }\n return paginateData(data, page, rowsPerPage)\n }, [data, mode, page, paginationEnabled, rowsPerPage])\n\n return {\n paginationEnabled,\n page,\n rowsPerPage,\n rowsPerPageOptions,\n total,\n paginatedData,\n setPage,\n setRowsPerPage,\n goToFirstPage,\n goToLastPage,\n goToNextPage,\n goToPreviousPage,\n }\n}\n","import { useCallback, useMemo } from 'react'\nimport type {\n TableRow,\n SortDirection,\n SortState,\n TableWidgetState,\n} from '../types'\nimport { sortData } from '../helpers'\nimport { widgetStoreActions } from '../../stores/widget-store'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\nimport { DEFAULT_COLUMN_ID, DEFAULT_DIRECTION } from '../config'\n\nexport interface UseSortResult<T> extends SortState {\n /** Whether sorting is enabled */\n sortEnabled: boolean\n /** Current sort state */\n columnId: string | null\n direction: SortDirection\n /** Sorted data (for local mode) */\n sortedData: T[]\n /** Toggle sort on a column */\n toggleSort: (columnId: string) => void\n /** Set sort state directly */\n setSort: (columnId: string | null, direction: SortDirection) => void\n /** Clear sort */\n clearSort: () => void\n}\n\n/**\n * Hook for managing table sorting with support for both local (client-side) and remote (server-side) modes.\n * State is persisted in the widget store for the given widget ID.\n *\n * @param widgetId - The widget ID to persist sort state under.\n * @param data - The data array to sort (for local mode).\n * @returns Sort state, sorted data, and sort control functions.\n *\n * @example\n * ```tsx\n * const { sortedData, sortField, sortDirection, handleSort } = useSort(widgetId, data)\n * ```\n */\nexport function useSort<T extends TableRow>(\n widgetId: string,\n data: T[],\n): UseSortResult<T> {\n // Get store state\n const { sortEnabled, columnId, direction, mode } = useWidgetSelector(\n widgetId,\n (w) => {\n const widget = w as TableWidgetState | undefined\n return {\n sortEnabled: !!widget?.sort,\n columnId: widget?.sort?.columnId ?? DEFAULT_COLUMN_ID,\n direction: widget?.sort?.direction ?? DEFAULT_DIRECTION,\n mode: widget?.mode,\n }\n },\n )\n\n // Toggle sort on a column\n const toggleSort = useCallback(\n (toggleColumnId: string) => {\n // Read current state directly from store to avoid stale closures\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentColumnId = widget?.sort?.columnId ?? DEFAULT_COLUMN_ID\n const currentDirection = widget?.sort?.direction ?? DEFAULT_DIRECTION\n\n let newDirection: SortDirection = 'asc'\n\n if (currentColumnId === toggleColumnId) {\n // Same column - toggle direction\n newDirection = currentDirection === 'asc' ? 'desc' : 'asc'\n }\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n columnId: toggleColumnId,\n direction: newDirection,\n },\n })\n },\n [widgetId],\n )\n\n // Set sort state directly\n const setSort = useCallback(\n (newColumnId: string | null, newDirection: SortDirection) => {\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n columnId: newColumnId,\n direction: newDirection,\n },\n })\n },\n [widgetId],\n )\n\n // Clear sort\n const clearSort = useCallback(() => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n if (!widget?.sort) return\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n sort: {\n ...widget.sort,\n columnId: null,\n direction: 'asc',\n },\n })\n }, [widgetId])\n\n // Sorted data for local mode\n const sortedData = useMemo(() => {\n if (mode === 'remote' || !columnId || !sortEnabled) {\n // For remote mode, data is already sorted from server\n // If no sort column, return original data\n return data\n }\n return sortData(data, columnId, direction)\n }, [data, mode, columnId, direction, sortEnabled])\n\n return {\n sortEnabled,\n columnId,\n direction,\n sortedData,\n toggleSort,\n setSort,\n clearSort,\n }\n}\n","import { useCallback, useMemo } from 'react'\nimport type { TableRow, TableWidgetState } from '../types'\nimport { widgetStoreActions } from '../../stores/widget-store'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\n\nexport interface UseSelectionOptions {\n /** Callback when selection changes */\n onSelectionChange?: (selectedIds: (string | number)[]) => void\n}\n\nexport interface UseSelectionResult {\n /** Array of selected row IDs */\n selectedIds: (string | number)[]\n /** Check if a row is selected */\n isSelected: (id: string | number) => boolean\n /** Check if all provided rows are selected */\n isAllSelected: (rows: TableRow[]) => boolean\n /** Check if some but not all rows are selected (for indeterminate state) */\n isIndeterminate: (rows: TableRow[]) => boolean\n /** Toggle selection of a single row */\n toggleRow: (id: string | number) => void\n /** Toggle selection of all provided rows */\n toggleAll: (rows: TableRow[]) => void\n /** Select specific rows */\n selectRows: (ids: (string | number)[]) => void\n /** Deselect specific rows */\n deselectRows: (ids: (string | number)[]) => void\n /** Clear all selections */\n clearSelection: () => void\n}\n\n/**\n * Hook for managing table row selection with persistence across pagination.\n * Selection state is stored in the widget store for the given widget ID.\n *\n * @param widgetId - The widget ID to persist selection state under.\n * @param options - Optional configuration including an `onSelectionChange` callback.\n * @returns Selection state and control functions (toggle, select, deselect, clear).\n *\n * @example\n * ```tsx\n * const { selectedIds, isAllSelected, handleSelectRow, clearSelection } = useSelection(widgetId)\n * ```\n */\nexport function useSelection(\n widgetId: string,\n options?: UseSelectionOptions,\n): UseSelectionResult {\n const { onSelectionChange } = options ?? {}\n\n // Get store state\n const selected = useWidgetSelector(\n widgetId,\n (w) => (w as TableWidgetState | undefined)?.selected,\n )\n\n // Use store values with fallback to empty array\n const selectedIds = useMemo(() => selected ?? [], [selected])\n\n // Check if a row is selected\n const isSelected = useCallback(\n (id: string | number) => selectedIds.includes(id),\n [selectedIds],\n )\n\n // Check if all provided rows are selected\n const isAllSelected = useCallback(\n (rows: TableRow[]) => {\n if (rows.length === 0) return false\n return rows.every((row) => selectedIds.includes(row.id))\n },\n [selectedIds],\n )\n\n // Check if some but not all rows are selected\n const isIndeterminate = useCallback(\n (rows: TableRow[]) => {\n if (rows.length === 0) return false\n const selectedCount = rows.filter((row) =>\n selectedIds.includes(row.id),\n ).length\n return selectedCount > 0 && selectedCount < rows.length\n },\n [selectedIds],\n )\n\n // Toggle selection of a single row\n const toggleRow = useCallback(\n (id: string | number) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = currentSelected.includes(id)\n ? currentSelected.filter((s) => s !== id)\n : [...currentSelected, id]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )\n\n // Toggle selection of all provided rows\n const toggleAll = useCallback(\n (rows: TableRow[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const rowIds = rows.map((row) => row.id)\n const allSelected = rowIds.every((id) => currentSelected.includes(id))\n\n const newSelected = allSelected\n ? currentSelected.filter((id) => !rowIds.includes(id))\n : [...new Set([...currentSelected, ...rowIds])]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )\n\n // Select specific rows\n const selectRows = useCallback(\n (ids: (string | number)[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = [...new Set([...currentSelected, ...ids])]\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )\n\n // Deselect specific rows\n const deselectRows = useCallback(\n (ids: (string | number)[]) => {\n const widget = widgetStoreActions.getWidget<TableWidgetState>(widgetId)\n const currentSelected = widget?.selected ?? []\n\n const newSelected = currentSelected.filter((id) => !ids.includes(id))\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n },\n [widgetId, onSelectionChange],\n )\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n const newSelected: (string | number)[] = []\n\n widgetStoreActions.setWidget<TableWidgetState>(widgetId, {\n selected: newSelected,\n })\n\n if (onSelectionChange) {\n onSelectionChange(newSelected)\n }\n }, [widgetId, onSelectionChange])\n\n return {\n selectedIds,\n isSelected,\n isAllSelected,\n isIndeterminate,\n toggleRow,\n toggleAll,\n selectRows,\n deselectRows,\n clearSelection,\n }\n}\n","import {\n Box,\n Skeleton,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n} from '@mui/material'\n\nexport interface TableSkeletonProps {\n /** Number of columns to display */\n columns?: number\n /** Number of rows to display */\n rows?: number\n}\n\n/**\n * Table skeleton loader component\n */\nexport function TableSkeleton({ columns = 4, rows = 5 }: TableSkeletonProps) {\n return (\n <Box aria-label='Table skeleton'>\n <Table>\n <TableHead>\n <TableRow>\n {Array.from({ length: columns }).map((_, index) => (\n <TableCell key={index}>\n <Skeleton width='80%' height={24} />\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {Array.from({ length: rows }).map((_, rowIndex) => (\n <TableRow key={rowIndex}>\n {Array.from({ length: columns }).map((_, colIndex) => (\n <TableCell key={colIndex}>\n <Skeleton width='70%' height={20} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </Box>\n )\n}\n","import type { TableRow, TableWidgetData } from './types'\n\n/**\n * Sanitizes a table row by ensuring all values are serializable.\n * Converts ReactNode and function values to undefined.\n *\n * @param row - The table row to sanitize\n * @returns A sanitized table row\n */\nexport function sanitizeTableRow(row: TableRow): TableRow {\n const sanitized: TableRow = { id: row.id }\n\n for (const [key, value] of Object.entries(row)) {\n if (key === 'id') continue\n\n // Keep primitive values\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean' ||\n value === null\n ) {\n sanitized[key] = value\n }\n // Serialize arrays and plain objects\n else if (Array.isArray(value) || typeof value === 'object') {\n try {\n // Attempt to serialize - if it fails, the value contains non-serializable content\n JSON.stringify(value)\n sanitized[key] = value\n } catch {\n sanitized[key] = undefined\n }\n }\n // Skip functions and other non-serializable values\n else {\n sanitized[key] = undefined\n }\n }\n\n return sanitized\n}\n\n/**\n * Sanitizes table widget data by ensuring all rows are serializable.\n *\n * @param data - The table data to sanitize\n * @returns Sanitized table data\n */\nexport function sanitizeTableData(\n data: TableWidgetData | undefined,\n): TableWidgetData | undefined {\n return data?.map(sanitizeTableRow)\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n container: {\n width: '100%',\n overflow: 'auto',\n },\n table: {\n minWidth: 650,\n },\n headerCell: {\n fontWeight: 600,\n backgroundColor: (theme: Theme) => theme.palette.background.paper,\n },\n row: {\n '&:last-child td, &:last-child th': {\n border: 0,\n },\n },\n rowHover: {\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.hover,\n },\n },\n rowSelected: {\n backgroundColor: (theme: Theme) => theme.palette.action.selected,\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.selected,\n },\n },\n pagination: {\n borderTop: (theme: Theme) => `1px solid ${theme.palette.divider}`,\n },\n} satisfies Record<string, SxProps<Theme>>\n"],"mappings":"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"}
@@ -1,145 +0,0 @@
1
- import { t as e } from "../tooltip-DJUGNZxY.js";
2
- import { c as t } from "react/compiler-runtime";
3
- import { isValidElement as n, useState as r } from "react";
4
- import { Box as i, Divider as a, Grow as o, IconButton as s, Paper as c } from "@mui/material";
5
- import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
6
- import { CloseOutlined as f } from "@mui/icons-material";
7
- import { WidgetOptions as p } from "@carto/meridian-ds/custom-icons";
8
- //#region src/widgets/toolbar-actions/styles.ts
9
- var m = {
10
- root: {
11
- display: "flex",
12
- alignItems: "center",
13
- width: "fit-content",
14
- overflow: "hidden",
15
- borderRadius: ({ spacing: e }) => e(.5),
16
- gap: ({ spacing: e }) => e(.25)
17
- },
18
- preview: {
19
- display: "flex",
20
- alignItems: "center",
21
- gap: ({ spacing: e }) => e(.25)
22
- },
23
- actionsContainer: {
24
- position: "absolute",
25
- display: "flex",
26
- alignItems: "center",
27
- backgroundColor: ({ palette: e }) => e.background.default,
28
- padding: ({ spacing: e }) => e(.25),
29
- gap: ({ spacing: e }) => e(.25)
30
- },
31
- iconButton: {
32
- width: ({ spacing: e }) => e(4),
33
- height: ({ spacing: e }) => e(4),
34
- borderRadius: 0,
35
- ".MuiTouchRipple-ripple .MuiTouchRipple-child": { borderRadius: 0 }
36
- },
37
- triggerButton: { "&[data-active=\"true\"]": { backgroundColor: ({ palette: e }) => e.primary.relatedLight } }
38
- }, h = {
39
- trigger: "More actions",
40
- close: "Close"
41
- };
42
- function g(g) {
43
- let v = t(43), { children: y, visibleCount: b, direction: x, labels: S, sx: C, IconButtonProps: w, TooltipProps: T } = g, [E, D] = r(null), O = S?.trigger ?? h.trigger, k = S?.close ?? h.close, A;
44
- v[0] === y ? A = v[1] : (A = Array.isArray(y) ? y : [y], v[0] = y, v[1] = A);
45
- let j, M, N, P, F;
46
- if (v[2] !== A || v[3] !== b) {
47
- F = Symbol.for("react.early_return_sentinel");
48
- bb0: {
49
- if (j = A.filter(Boolean), j.length === 0) {
50
- F = null;
51
- break bb0;
52
- }
53
- let e = j.filter(_);
54
- N = b !== void 0 && e.length > b;
55
- let t;
56
- v[9] === Symbol.for("react.memo_cache_sentinel") ? (t = (e) => {
57
- D((t) => t ? null : e.currentTarget);
58
- }, v[9] = t) : t = v[9], M = t, P = b === void 0 ? j : j.reduce((e, t) => {
59
- if (e.count >= b) return e;
60
- let r = n(t) && t.props["data-toolbar-hidden"];
61
- return {
62
- result: [...e.result, t],
63
- count: e.count + +!r
64
- };
65
- }, {
66
- result: [],
67
- count: 0
68
- }).result;
69
- }
70
- v[2] = A, v[3] = b, v[4] = j, v[5] = M, v[6] = N, v[7] = P, v[8] = F;
71
- } else j = v[4], M = v[5], N = v[6], P = v[7], F = v[8];
72
- if (F !== Symbol.for("react.early_return_sentinel")) return F;
73
- let I = P, L;
74
- v[10] === E ? L = v[11] : (L = E?.getBoundingClientRect().width, v[10] = E, v[11] = L);
75
- let R = L, z = x === "left" ? "row-reverse" : "row", B;
76
- v[12] !== C || v[13] !== z ? (B = {
77
- ...m.root,
78
- ...C,
79
- flexDirection: z
80
- }, v[12] = C, v[13] = z, v[14] = B) : B = v[14];
81
- let V;
82
- v[15] !== w || v[16] !== T || v[17] !== E || v[18] !== k || v[19] !== M || v[20] !== N || v[21] !== O ? (V = N && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(e, {
83
- title: E ? k : O,
84
- placement: "top",
85
- ...T,
86
- children: /* @__PURE__ */ u(s, {
87
- size: "small",
88
- "aria-label": E ? k : O,
89
- onClick: M,
90
- sx: m.triggerButton,
91
- "data-active": !!E,
92
- ...w,
93
- children: u(E ? f : p, {})
94
- })
95
- }), /* @__PURE__ */ u(a, {
96
- orientation: "vertical",
97
- flexItem: !0
98
- })] }), v[15] = w, v[16] = T, v[17] = E, v[18] = k, v[19] = M, v[20] = N, v[21] = O, v[22] = V) : V = v[22];
99
- let H;
100
- v[23] === I ? H = v[24] : (H = /* @__PURE__ */ u(i, {
101
- sx: m.preview,
102
- children: I
103
- }), v[23] = I, v[24] = H);
104
- let U = !!E, W = `translate3d(${x === "left" ? `-${R ?? 0}px` : `${R ?? 0}px`}, 0, 0) !important`, G, K;
105
- v[25] === x ? (G = v[26], K = v[27]) : (G = (e) => {
106
- let { spacing: t } = e;
107
- return x === "left" ? 0 : t(.25);
108
- }, K = (e) => {
109
- let { spacing: t } = e;
110
- return x === "left" ? t(.25) : 0;
111
- }, v[25] = x, v[26] = G, v[27] = K);
112
- let q;
113
- v[28] !== W || v[29] !== G || v[30] !== K ? (q = {
114
- ...m.actionsContainer,
115
- transform: W,
116
- marginLeft: G,
117
- marginRight: K
118
- }, v[28] = W, v[29] = G, v[30] = K, v[31] = q) : q = v[31];
119
- let J;
120
- v[32] !== j || v[33] !== q ? (J = /* @__PURE__ */ u(c, {
121
- sx: q,
122
- children: j
123
- }), v[32] = j, v[33] = q, v[34] = J) : J = v[34];
124
- let Y;
125
- v[35] !== J || v[36] !== U ? (Y = /* @__PURE__ */ u(o, {
126
- in: U,
127
- children: J
128
- }), v[35] = J, v[36] = U, v[37] = Y) : Y = v[37];
129
- let X;
130
- return v[38] !== Y || v[39] !== B || v[40] !== V || v[41] !== H ? (X = /* @__PURE__ */ d(i, {
131
- sx: B,
132
- children: [
133
- V,
134
- H,
135
- Y
136
- ]
137
- }), v[38] = Y, v[39] = B, v[40] = V, v[41] = H, v[42] = X) : X = v[42], X;
138
- }
139
- function _(e) {
140
- return !(n(e) && e.props["data-toolbar-hidden"]);
141
- }
142
- //#endregion
143
- export { g as ToolbarActions };
144
-
145
- //# sourceMappingURL=toolbar-actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolbar-actions.js","names":["{\n children: _children,\n visibleCount,\n direction,\n labels,\n sx,\n IconButtonProps,\n TooltipProps,\n}: ToolbarActionsProps","Array.isArray(_children) ? _children : [_children]","visibleCount === undefined\n ? children\n : children.reduce<{ result: React.ReactNode[]; count: number }>(\n (acc, child) => {\n // Stop if we've already collected enough visible actions\n if (acc.count >= visibleCount) {\n return acc\n }\n\n const isHidden =\n isValidElement<{ 'data-toolbar-hidden'?: boolean }>(child) &&\n child.props['data-toolbar-hidden']\n\n return {\n result: [...acc.result, child],\n count: acc.count + (isHidden ? 0 : 1),\n }\n },\n { result: [], count: 0 },\n ).result","(child) =>\n !(\n isValidElement<{ 'data-toolbar-hidden'?: boolean }>(child) &&\n child.props['data-toolbar-hidden']\n )","(e: MouseEvent<HTMLElement>) => {\n setAnchorEl((prev) => (prev ? null : e.currentTarget))\n }","child","anchorEl?.getBoundingClientRect().width","anchorEl?.getBoundingClientRect","{\n ...styles.root,\n ...sx,\n flexDirection: direction === 'left' ? 'row-reverse' : 'row',\n }","direction === 'left' ? 'row-reverse' : 'row'","showTrigger && (\n <>\n <Tooltip\n title={anchorEl ? closeLabel : triggerLabel}\n placement='top'\n {...TooltipProps}\n >\n <IconButton\n size='small'\n aria-label={anchorEl ? closeLabel : triggerLabel}\n onClick={handleToggle}\n sx={styles.triggerButton}\n data-active={!!anchorEl}\n {...IconButtonProps}\n >\n {anchorEl ? <CloseOutlined /> : <WidgetOptions />}\n </IconButton>\n </Tooltip>\n <Divider orientation='vertical' flexItem />\n </>\n )","<Box sx={styles.preview}>{childrenPreview}</Box>","({ spacing }) =>\n direction === 'left' ? 0 : spacing(0.25)","({ spacing }) =>\n direction === 'left' ? spacing(0.25) : 0","{ spacing }","spacing","{\n ...styles.actionsContainer,\n transform: `translate3d(${\n direction === 'left' ? `-${width ?? 0}px` : `${width ?? 0}px`\n }, 0, 0) !important`,\n marginLeft: ({ spacing }) =>\n direction === 'left' ? 0 : spacing(0.25),\n marginRight: ({ spacing }) =>\n direction === 'left' ? spacing(0.25) : 0,\n }","`translate3d(${\n direction === 'left' ? `-${width ?? 0}px` : `${width ?? 0}px`\n }, 0, 0) !important`","<Paper\n sx={{\n ...styles.actionsContainer,\n transform: `translate3d(${\n direction === 'left' ? `-${width ?? 0}px` : `${width ?? 0}px`\n }, 0, 0) !important`,\n marginLeft: ({ spacing }) =>\n direction === 'left' ? 0 : spacing(0.25),\n marginRight: ({ spacing }) =>\n direction === 'left' ? spacing(0.25) : 0,\n }}\n >\n {children}\n </Paper>","<Grow in={!!anchorEl}>\n <Paper\n sx={{\n ...styles.actionsContainer,\n transform: `translate3d(${\n direction === 'left' ? `-${width ?? 0}px` : `${width ?? 0}px`\n }, 0, 0) !important`,\n marginLeft: ({ spacing }) =>\n direction === 'left' ? 0 : spacing(0.25),\n marginRight: ({ spacing }) =>\n direction === 'left' ? spacing(0.25) : 0,\n }}\n >\n {children}\n </Paper>\n </Grow>","!!anchorEl","<Box\n sx={{\n ...styles.root,\n ...sx,\n flexDirection: direction === 'left' ? 'row-reverse' : 'row',\n }}\n >\n {/* Trigger button - only shown when 3+ actions */}\n {showTrigger && (\n <>\n <Tooltip\n title={anchorEl ? closeLabel : triggerLabel}\n placement='top'\n {...TooltipProps}\n >\n <IconButton\n size='small'\n aria-label={anchorEl ? closeLabel : triggerLabel}\n onClick={handleToggle}\n sx={styles.triggerButton}\n data-active={!!anchorEl}\n {...IconButtonProps}\n >\n {anchorEl ? <CloseOutlined /> : <WidgetOptions />}\n </IconButton>\n </Tooltip>\n <Divider orientation='vertical' flexItem />\n </>\n )}\n\n <Box sx={styles.preview}>{childrenPreview}</Box>\n\n {/* Actions container - shown only when expanded (trigger is active) */}\n <Grow in={!!anchorEl}>\n <Paper\n sx={{\n ...styles.actionsContainer,\n transform: `translate3d(${\n direction === 'left' ? `-${width ?? 0}px` : `${width ?? 0}px`\n }, 0, 0) !important`,\n marginLeft: ({ spacing }) =>\n direction === 'left' ? 0 : spacing(0.25),\n marginRight: ({ spacing }) =>\n direction === 'left' ? spacing(0.25) : 0,\n }}\n >\n {children}\n </Paper>\n </Grow>\n </Box>"],"sources":["../../src/widgets/toolbar-actions/styles.ts","../../src/widgets/toolbar-actions/toolbar-actions.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n overflow: 'hidden',\n borderRadius: ({ spacing }) => spacing(0.5),\n gap: ({ spacing }) => spacing(0.25),\n },\n preview: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(0.25),\n },\n actionsContainer: {\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n backgroundColor: ({ palette }) => palette.background.default,\n padding: ({ spacing }) => spacing(0.25),\n gap: ({ spacing }) => spacing(0.25),\n },\n iconButton: {\n width: ({ spacing }) => spacing(4),\n height: ({ spacing }) => spacing(4),\n borderRadius: 0,\n '.MuiTouchRipple-ripple .MuiTouchRipple-child': {\n borderRadius: 0,\n },\n },\n triggerButton: {\n '&[data-active=\"true\"]': {\n backgroundColor: ({ palette }) => palette.primary.relatedLight,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { CloseOutlined } from '@mui/icons-material'\nimport { Box, Divider, Grow, IconButton, Paper } from '@mui/material'\nimport { isValidElement, useState, type JSX, type MouseEvent } from 'react'\nimport { Tooltip } from '../../components/tooltip/tooltip'\nimport { styles } from './styles'\nimport type { ToolbarActionsProps } from './types'\nimport { WidgetOptions } from '@carto/meridian-ds/custom-icons'\n\nconst DEFAULT_LABELS = {\n trigger: 'More actions',\n close: 'Close',\n}\n\n/**\n * A floating toolbar component that displays action buttons.\n * Shows a trigger button when there are more visible actions than the visibleCount,\n * which expands to reveal all actions with a close button.\n * When visibleCount is undefined, all actions are shown without overflow.\n *\n * Children with the `data-toolbar-hidden` attribute are ignored when counting\n * visible actions but are included in the preview. This is useful for elements\n * like Dividers that should appear between actions but not count toward the limit.\n *\n * Example: With visibleCount=2 and children [Action1, Divider, Action2, Divider, Action3]:\n * - Preview shows: Action1, Divider, Action2 (2 visible actions + divider)\n * - Hidden: Divider, Action3\n */\nexport function ToolbarActions({\n children: _children,\n visibleCount,\n direction,\n labels,\n sx,\n IconButtonProps,\n TooltipProps,\n}: ToolbarActionsProps): JSX.Element | null {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n\n const triggerLabel = labels?.trigger ?? DEFAULT_LABELS.trigger\n const closeLabel = labels?.close ?? DEFAULT_LABELS.close\n\n const children = (Array.isArray(_children) ? _children : [_children]).filter(\n Boolean,\n )\n\n // Don't render if no actions\n if (children.length === 0) {\n return null\n }\n\n // Filter out children with data-toolbar-hidden attribute for counting\n const visibleChildren = children.filter(\n (child) =>\n !(\n isValidElement<{ 'data-toolbar-hidden'?: boolean }>(child) &&\n child.props['data-toolbar-hidden']\n ),\n )\n\n // Show trigger only when visibleCount is defined and there are more visible actions\n const showTrigger =\n visibleCount !== undefined && visibleChildren.length > visibleCount\n\n const handleToggle = (e: MouseEvent<HTMLElement>) => {\n setAnchorEl((prev) => (prev ? null : e.currentTarget))\n }\n\n // Build preview by including hidden elements but only counting visible ones\n const childrenPreview =\n visibleCount === undefined\n ? children\n : children.reduce<{ result: React.ReactNode[]; count: number }>(\n (acc, child) => {\n // Stop if we've already collected enough visible actions\n if (acc.count >= visibleCount) {\n return acc\n }\n\n const isHidden =\n isValidElement<{ 'data-toolbar-hidden'?: boolean }>(child) &&\n child.props['data-toolbar-hidden']\n\n return {\n result: [...acc.result, child],\n count: acc.count + (isHidden ? 0 : 1),\n }\n },\n { result: [], count: 0 },\n ).result\n\n const width = anchorEl?.getBoundingClientRect().width\n\n return (\n <Box\n sx={{\n ...styles.root,\n ...sx,\n flexDirection: direction === 'left' ? 'row-reverse' : 'row',\n }}\n >\n {/* Trigger button - only shown when 3+ actions */}\n {showTrigger && (\n <>\n <Tooltip\n title={anchorEl ? closeLabel : triggerLabel}\n placement='top'\n {...TooltipProps}\n >\n <IconButton\n size='small'\n aria-label={anchorEl ? closeLabel : triggerLabel}\n onClick={handleToggle}\n sx={styles.triggerButton}\n data-active={!!anchorEl}\n {...IconButtonProps}\n >\n {anchorEl ? <CloseOutlined /> : <WidgetOptions />}\n </IconButton>\n </Tooltip>\n <Divider orientation='vertical' flexItem />\n </>\n )}\n\n <Box sx={styles.preview}>{childrenPreview}</Box>\n\n {/* Actions container - shown only when expanded (trigger is active) */}\n <Grow in={!!anchorEl}>\n <Paper\n sx={{\n ...styles.actionsContainer,\n transform: `translate3d(${\n direction === 'left' ? `-${width ?? 0}px` : `${width ?? 0}px`\n }, 0, 0) !important`,\n marginLeft: ({ spacing }) =>\n direction === 'left' ? 0 : spacing(0.25),\n marginRight: ({ spacing }) =>\n direction === 'left' ? spacing(0.25) : 0,\n }}\n >\n {children}\n </Paper>\n </Grow>\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../src/widgets/utils/chart-config/config-factory.ts"],"sourcesContent":["import type { EchartOptionsProps, EchartWidgetData } from '../../echart'\n\n/**\n * Base configuration interface for chart widgets\n */\nexport interface ChartWidgetBaseConfig<TData = EchartWidgetData> {\n data?: TData\n}\n\n/**\n * Parameters for creating a chart widget configuration\n */\nexport interface CreateChartWidgetConfigParams<\n TData = EchartWidgetData,\n TConfig extends ChartWidgetBaseConfig<TData> = ChartWidgetBaseConfig<TData>,\n TType extends string = string,\n> {\n /** Widget type identifier (e.g., 'bar', 'pie', 'histogram') */\n type: TType\n /** Function to get EChart options from config */\n getOptions: (config: TConfig) => EchartOptionsProps\n}\n\n/**\n * Return type of the chart widget config function\n */\nexport type ChartWidgetConfigResult<\n TData = EchartWidgetData,\n TConfig extends ChartWidgetBaseConfig<TData> = ChartWidgetBaseConfig<TData>,\n TType extends string = string,\n> = TConfig & {\n type: TType\n}\n\n/**\n * Factory function to create a standardized chart widget config function.\n * This eliminates duplication across chart widgets by providing a common structure.\n *\n * @example\n * ```ts\n * export const barConfig = createChartWidgetConfig({\n * type: 'bar' as const,\n * getOptions: ({ data, theme }) => ({\n * // EChart configuration\n * }),\n * csvModifier: (data) => flattenObjectArrayToCSV(data),\n * })\n * ```\n */\nexport function createChartWidgetConfig<\n TData = EchartWidgetData,\n TConfig extends ChartWidgetBaseConfig<TData> = ChartWidgetBaseConfig<TData>,\n TType extends string = string,\n>({\n type,\n getOptions,\n}: CreateChartWidgetConfigParams<TData, TConfig, TType>): (\n config: TConfig,\n) => ChartWidgetConfigResult<TData, TConfig, TType> {\n return function (config: TConfig) {\n return {\n ...config,\n option: getOptions(config),\n type: type,\n } as ChartWidgetConfigResult<TData, TConfig, TType>\n }\n}\n"],"mappings":";;;;;AAiDA,SAAgB,EAId,EACA,SACA,iBAGkD;CAClD,OAAO,SAAU,GAAiB;EAChC,OAAO;GACL,GAAG;GACH,QAAQ,EAAW,CAAM;GACnB;EACR;CACF;AACF"}