@carto/ps-react-ui 4.20.0 → 4.20.1

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 (409) hide show
  1. package/dist/actions-DKX98LlI.js +1318 -0
  2. package/dist/actions-DKX98LlI.js.map +1 -0
  3. package/dist/actions-Dy9JVr7F.js +1004 -0
  4. package/dist/actions-Dy9JVr7F.js.map +1 -0
  5. package/dist/category-DHZscHaS.js +826 -0
  6. package/dist/category-DHZscHaS.js.map +1 -0
  7. package/dist/chart-config-BGt7wkK7.js +108 -0
  8. package/dist/chart-config-BGt7wkK7.js.map +1 -0
  9. package/dist/chat.js +1589 -1711
  10. package/dist/chat.js.map +1 -1
  11. package/dist/cjs-CBrZjPCj.js +75 -0
  12. package/dist/cjs-CBrZjPCj.js.map +1 -0
  13. package/dist/components-DDt4mOQn.js +2403 -0
  14. package/dist/components-DDt4mOQn.js.map +1 -0
  15. package/dist/components.js +5 -1841
  16. package/dist/copy-button-DaQqWVu0.js +25 -0
  17. package/dist/copy-button-DaQqWVu0.js.map +1 -0
  18. package/dist/csv-modifiers-D6HGC24b.js +26 -0
  19. package/dist/csv-modifiers-D6HGC24b.js.map +1 -0
  20. package/dist/download-BT6qBamM.js +232 -0
  21. package/dist/download-BT6qBamM.js.map +1 -0
  22. package/dist/echart-BkaV3V5G.js +133 -0
  23. package/dist/echart-BkaV3V5G.js.map +1 -0
  24. package/dist/echart-DSz2Tu0z.js +250 -0
  25. package/dist/echart-DSz2Tu0z.js.map +1 -0
  26. package/dist/formatter-wVO81tYk.js +6 -0
  27. package/dist/formatter-wVO81tYk.js.map +1 -0
  28. package/dist/formula-Bk9CBzm2.js +190 -0
  29. package/dist/formula-Bk9CBzm2.js.map +1 -0
  30. package/dist/formula-Dsru_p-g.js +285 -0
  31. package/dist/formula-Dsru_p-g.js.map +1 -0
  32. package/dist/hooks-zf5gKZYq.js +22 -0
  33. package/dist/hooks-zf5gKZYq.js.map +1 -0
  34. package/dist/legend/stores.js +2 -24
  35. package/dist/legend.js +2274 -2323
  36. package/dist/legend.js.map +1 -1
  37. package/dist/markdown-DnSJMPjQ.js +165 -0
  38. package/dist/markdown-DnSJMPjQ.js.map +1 -0
  39. package/dist/markdown-content-BzKoX3eu.js +8764 -0
  40. package/dist/markdown-content-BzKoX3eu.js.map +1 -0
  41. package/dist/range-BPWVrAsY.js +277 -0
  42. package/dist/range-BPWVrAsY.js.map +1 -0
  43. package/dist/rolldown-runtime-B0aSnxlc.js +20 -0
  44. package/dist/row-CvVGBuy_.js +35 -0
  45. package/dist/row-CvVGBuy_.js.map +1 -0
  46. package/dist/shared-resize-observer-BEiP2rQt.js +157 -0
  47. package/dist/shared-resize-observer-BEiP2rQt.js.map +1 -0
  48. package/dist/smart-tooltip-CwGHCqab.js +34 -0
  49. package/dist/smart-tooltip-CwGHCqab.js.map +1 -0
  50. package/dist/spread-Dy8pshpN.js +149 -0
  51. package/dist/spread-Dy8pshpN.js.map +1 -0
  52. package/dist/stores-B81-IU1G.js +374 -0
  53. package/dist/stores-B81-IU1G.js.map +1 -0
  54. package/dist/stores-BVFMfgyo.js +248 -0
  55. package/dist/stores-BVFMfgyo.js.map +1 -0
  56. package/dist/styles-Y-qGBELO.js +13 -0
  57. package/dist/styles-Y-qGBELO.js.map +1 -0
  58. package/dist/table-BfTG6rrs.js +439 -0
  59. package/dist/table-BfTG6rrs.js.map +1 -0
  60. package/dist/tooltip-DJUGNZxY.js +23 -0
  61. package/dist/tooltip-DJUGNZxY.js.map +1 -0
  62. package/dist/types/chat/bubbles/chat-agent-message-markdown.d.ts +1 -1
  63. package/dist/types/chat/bubbles/chat-error-message.d.ts +1 -1
  64. package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +1 -1
  65. package/dist/types/chat/bubbles/chat-user-message.d.ts +1 -1
  66. package/dist/types/chat/containers/chat-footer.d.ts +1 -1
  67. package/dist/types/chat/containers/chat-header.d.ts +1 -1
  68. package/dist/types/chat/containers/chat-starter.d.ts +1 -1
  69. package/dist/types/chat/feedback/chat-loader.d.ts +1 -1
  70. package/dist/types/chat/feedback/chat-rating-action.d.ts +1 -1
  71. package/dist/types/chat/feedback/chat-thinking.d.ts +1 -1
  72. package/dist/types/chat/feedback/chat-tool-code-area.d.ts +1 -1
  73. package/dist/types/chat/feedback/chat-tool-full-view-dialog.d.ts +1 -1
  74. package/dist/types/chat/feedback/chat-tool-group.d.ts +1 -1
  75. package/dist/types/chat/feedback/chat-tool-trace.d.ts +2 -2
  76. package/dist/types/components/basemaps/group-wrapper.d.ts +1 -1
  77. package/dist/types/components/basemaps/group.d.ts +1 -1
  78. package/dist/types/components/basemaps/header.d.ts +1 -1
  79. package/dist/types/components/copy-button/copy-button.d.ts +1 -1
  80. package/dist/types/components/lasso-tool/chip.d.ts +1 -1
  81. package/dist/types/components/lasso-tool/icons.d.ts +7 -7
  82. package/dist/types/components/lasso-tool/lasso-tool.d.ts +4 -4
  83. package/dist/types/components/lasso-tool/message.d.ts +1 -1
  84. package/dist/types/components/list-data/list-data-skeleton.d.ts +1 -1
  85. package/dist/types/components/measurement-tools/icons.d.ts +3 -3
  86. package/dist/types/components/no-data-alert/no-data-alert.d.ts +1 -1
  87. package/dist/types/components/responsive-drawer/responsive-drawer.d.ts +1 -1
  88. package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +1 -1
  89. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  90. package/dist/types/hooks/use-widget-ref.d.ts +2 -1
  91. package/dist/types/legend/components/legend-actions/legend-actions.d.ts +1 -1
  92. package/dist/types/legend/components/legend-category/legend-category-ui.d.ts +1 -1
  93. package/dist/types/legend/components/legend-config-select/legend-config-select.d.ts +1 -1
  94. package/dist/types/legend/components/legend-group/legend-group.d.ts +1 -1
  95. package/dist/types/legend/components/legend-group-menu/legend-group-menu-items.d.ts +4 -4
  96. package/dist/types/legend/components/legend-group-menu/legend-group-menu.d.ts +1 -1
  97. package/dist/types/legend/components/legend-icon/legend-icon-ui.d.ts +1 -1
  98. package/dist/types/legend/components/legend-item/legend-item-ui.d.ts +1 -1
  99. package/dist/types/legend/components/legend-item/legend-item.d.ts +1 -1
  100. package/dist/types/legend/components/legend-opacity/legend-opacity.d.ts +2 -2
  101. package/dist/types/legend/components/legend-overflow-menu/legend-overflow-menu.d.ts +1 -1
  102. package/dist/types/legend/components/legend-panel-menu/legend-panel-menu.d.ts +1 -1
  103. package/dist/types/legend/components/legend-proportion/legend-proportion-ui.d.ts +1 -1
  104. package/dist/types/legend/components/legend-ramp/legend-ramp-ui.d.ts +1 -1
  105. package/dist/types/legend/components/legend-row/legend-row.d.ts +1 -1
  106. package/dist/types/legend/components/legend-row-menu/legend-row-menu-items.d.ts +2 -2
  107. package/dist/types/legend/components/legend-row-menu/legend-row-menu.d.ts +1 -1
  108. package/dist/types/legend/components/legend-row-menu/legend-zoom-to.d.ts +1 -1
  109. package/dist/types/legend/components/legend-sortable/legend-sortable.d.ts +1 -1
  110. package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +1 -1
  111. package/dist/types/legend/components/legend-visibility-toggle/legend-visibility-toggle.d.ts +1 -1
  112. package/dist/types/legend/components/legend-visible-layers/legend-visible-layers.d.ts +1 -1
  113. package/dist/types/legend/index.d.ts +2 -2
  114. package/dist/types/legend/provider/legend-provider.d.ts +1 -1
  115. package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +1 -1
  116. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -1
  117. package/dist/types/widgets/actions/change-column/change-column.d.ts +1 -1
  118. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +1 -1
  119. package/dist/types/widgets/actions/download/download.d.ts +1 -1
  120. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +1 -1
  121. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +1 -1
  122. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +1 -1
  123. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +1 -1
  124. package/dist/types/widgets/actions/searcher/searcher.d.ts +1 -1
  125. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -1
  126. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +1 -1
  127. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +1 -1
  128. package/dist/types/widgets/bar/skeleton.d.ts +1 -1
  129. package/dist/types/widgets/category/category-ui.d.ts +1 -1
  130. package/dist/types/widgets/category/components/category-bar.d.ts +1 -1
  131. package/dist/types/widgets/category/components/category-legend.d.ts +1 -1
  132. package/dist/types/widgets/category/components/category-row-multi.d.ts +1 -1
  133. package/dist/types/widgets/category/components/category-row-other.d.ts +1 -1
  134. package/dist/types/widgets/category/components/category-row-single.d.ts +1 -1
  135. package/dist/types/widgets/category/skeleton.d.ts +1 -1
  136. package/dist/types/widgets/echart/echart-ui.d.ts +1 -1
  137. package/dist/types/widgets/echart/echart.d.ts +1 -1
  138. package/dist/types/widgets/error/error.d.ts +1 -1
  139. package/dist/types/widgets/formula/components/item.d.ts +1 -1
  140. package/dist/types/widgets/formula/components/prefix.d.ts +1 -1
  141. package/dist/types/widgets/formula/components/row.d.ts +1 -1
  142. package/dist/types/widgets/formula/components/series.d.ts +1 -1
  143. package/dist/types/widgets/formula/components/suffix.d.ts +1 -1
  144. package/dist/types/widgets/formula/components/value.d.ts +1 -1
  145. package/dist/types/widgets/formula/formula-ui.d.ts +1 -1
  146. package/dist/types/widgets/formula/skeleton.d.ts +1 -1
  147. package/dist/types/widgets/histogram/skeleton.d.ts +1 -1
  148. package/dist/types/widgets/markdown/markdown-ui.d.ts +1 -1
  149. package/dist/types/widgets/markdown/markdown.d.ts +1 -1
  150. package/dist/types/widgets/markdown/skeleton.d.ts +1 -1
  151. package/dist/types/widgets/no-data/no-data.d.ts +1 -1
  152. package/dist/types/widgets/note/note.d.ts +1 -1
  153. package/dist/types/widgets/pie/skeleton.d.ts +1 -1
  154. package/dist/types/widgets/range/components/range-item.d.ts +1 -1
  155. package/dist/types/widgets/range/range-ui.d.ts +1 -1
  156. package/dist/types/widgets/range/skeleton.d.ts +1 -1
  157. package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -1
  158. package/dist/types/widgets/selection-summary/selection-summary.d.ts +1 -1
  159. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +1 -1
  160. package/dist/types/widgets/spread/components/max-value.d.ts +1 -1
  161. package/dist/types/widgets/spread/components/min-value.d.ts +1 -1
  162. package/dist/types/widgets/spread/components/separator.d.ts +1 -1
  163. package/dist/types/widgets/spread/skeleton.d.ts +1 -1
  164. package/dist/types/widgets/spread/spread-ui.d.ts +1 -1
  165. package/dist/types/widgets/subheader/subheader.d.ts +1 -1
  166. package/dist/types/widgets/table/components/cell-header.d.ts +1 -1
  167. package/dist/types/widgets/table/components/cell.d.ts +1 -1
  168. package/dist/types/widgets/table/components/pagination-actions.d.ts +1 -1
  169. package/dist/types/widgets/table/components/pagination.d.ts +1 -1
  170. package/dist/types/widgets/table/components/row.d.ts +1 -1
  171. package/dist/types/widgets/table/skeleton.d.ts +1 -1
  172. package/dist/types/widgets/table/table-ui.d.ts +2 -2
  173. package/dist/types/widgets/timeseries/skeleton.d.ts +1 -1
  174. package/dist/types/widgets/wrapper/components/actions.d.ts +1 -1
  175. package/dist/types/widgets/wrapper/components/options.d.ts +1 -1
  176. package/dist/types/widgets/wrapper/components/title.d.ts +1 -1
  177. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +1 -1
  178. package/dist/types/widgets/wrapper/wrapper.d.ts +1 -1
  179. package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +1 -1
  180. package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +1 -1
  181. package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +1 -1
  182. package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +1 -1
  183. package/dist/types/widgets-v2/actions/download/download.d.ts +1 -1
  184. package/dist/types/widgets-v2/actions/download/icons.d.ts +3 -3
  185. package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +2 -2
  186. package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +1 -1
  187. package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +1 -1
  188. package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +1 -1
  189. package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +1 -1
  190. package/dist/types/widgets-v2/actions/show-all/show-all.d.ts +1 -1
  191. package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +1 -1
  192. package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +1 -1
  193. package/dist/types/widgets-v2/bar/skeleton.d.ts +1 -1
  194. package/dist/types/widgets-v2/category/category-ui.d.ts +1 -1
  195. package/dist/types/widgets-v2/category/category.d.ts +1 -1
  196. package/dist/types/widgets-v2/category/components/category-bar-stacked.d.ts +1 -1
  197. package/dist/types/widgets-v2/category/components/category-bar.d.ts +1 -1
  198. package/dist/types/widgets-v2/category/components/category-legend.d.ts +1 -1
  199. package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +1 -1
  200. package/dist/types/widgets-v2/category/components/category-row-other.d.ts +1 -1
  201. package/dist/types/widgets-v2/category/components/category-row-single.d.ts +1 -1
  202. package/dist/types/widgets-v2/category/components/category-row-stacked.d.ts +1 -1
  203. package/dist/types/widgets-v2/category/skeleton.d.ts +1 -1
  204. package/dist/types/widgets-v2/echart/echart-ui.d.ts +1 -1
  205. package/dist/types/widgets-v2/echart/echart.d.ts +1 -1
  206. package/dist/types/widgets-v2/formula/delta.d.ts +1 -1
  207. package/dist/types/widgets-v2/formula/formula-ui.d.ts +1 -1
  208. package/dist/types/widgets-v2/formula/formula.d.ts +1 -1
  209. package/dist/types/widgets-v2/formula/note.d.ts +1 -1
  210. package/dist/types/widgets-v2/formula/prefix.d.ts +1 -1
  211. package/dist/types/widgets-v2/formula/series.d.ts +1 -1
  212. package/dist/types/widgets-v2/formula/skeleton.d.ts +1 -1
  213. package/dist/types/widgets-v2/formula/suffix.d.ts +1 -1
  214. package/dist/types/widgets-v2/formula/value.d.ts +1 -1
  215. package/dist/types/widgets-v2/histogram/skeleton.d.ts +1 -1
  216. package/dist/types/widgets-v2/index.d.ts +4 -4
  217. package/dist/types/widgets-v2/markdown/markdown-content.d.ts +1 -1
  218. package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +1 -1
  219. package/dist/types/widgets-v2/markdown/markdown.d.ts +1 -1
  220. package/dist/types/widgets-v2/markdown/skeleton.d.ts +1 -1
  221. package/dist/types/widgets-v2/note/widget-note.d.ts +2 -2
  222. package/dist/types/widgets-v2/pie/skeleton.d.ts +1 -1
  223. package/dist/types/widgets-v2/provider/widget-provider.d.ts +1 -1
  224. package/dist/types/widgets-v2/range/range-ui.d.ts +1 -1
  225. package/dist/types/widgets-v2/range/range.d.ts +1 -1
  226. package/dist/types/widgets-v2/range/skeleton.d.ts +1 -1
  227. package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +1 -1
  228. package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +1 -1
  229. package/dist/types/widgets-v2/spread/separator.d.ts +1 -1
  230. package/dist/types/widgets-v2/spread/skeleton.d.ts +1 -1
  231. package/dist/types/widgets-v2/spread/spread-ui.d.ts +1 -1
  232. package/dist/types/widgets-v2/spread/spread.d.ts +1 -1
  233. package/dist/types/widgets-v2/state/widget-state.d.ts +1 -1
  234. package/dist/types/widgets-v2/subheader/subheader.d.ts +1 -1
  235. package/dist/types/widgets-v2/table/skeleton.d.ts +1 -1
  236. package/dist/types/widgets-v2/table/table-ui.d.ts +1 -1
  237. package/dist/types/widgets-v2/table/table.d.ts +1 -1
  238. package/dist/types/widgets-v2/timeseries/skeleton.d.ts +1 -1
  239. package/dist/types/widgets-v2/toolbox/toolbox.d.ts +1 -1
  240. package/dist/types/widgets-v2/wrapper/widget-actions.d.ts +2 -2
  241. package/dist/types/widgets-v2/wrapper/widget-content.d.ts +2 -2
  242. package/dist/types/widgets-v2/wrapper/widget-wrapper.d.ts +1 -1
  243. package/dist/use-widget-selector-VSPhfhNm.js +12 -0
  244. package/dist/{use-widget-selector-DFl2hW0R.js.map → use-widget-selector-VSPhfhNm.js.map} +1 -1
  245. package/dist/utils-DtvTjjMq.js +58 -0
  246. package/dist/utils-DtvTjjMq.js.map +1 -0
  247. package/dist/widget-store-BFPKYm4R.js +187 -0
  248. package/dist/widget-store-BFPKYm4R.js.map +1 -0
  249. package/dist/widgets/actions.js +2 -1317
  250. package/dist/widgets/bar.js +183 -175
  251. package/dist/widgets/bar.js.map +1 -1
  252. package/dist/widgets/category.js +429 -434
  253. package/dist/widgets/category.js.map +1 -1
  254. package/dist/widgets/echart.js +3 -120
  255. package/dist/widgets/error.js +28 -38
  256. package/dist/widgets/error.js.map +1 -1
  257. package/dist/widgets/formula.js +3 -123
  258. package/dist/widgets/histogram.js +183 -202
  259. package/dist/widgets/histogram.js.map +1 -1
  260. package/dist/widgets/loader.js +63 -61
  261. package/dist/widgets/loader.js.map +1 -1
  262. package/dist/widgets/markdown.js +141 -123
  263. package/dist/widgets/markdown.js.map +1 -1
  264. package/dist/widgets/no-data.js +52 -58
  265. package/dist/widgets/no-data.js.map +1 -1
  266. package/dist/widgets/note.js +125 -122
  267. package/dist/widgets/note.js.map +1 -1
  268. package/dist/widgets/pie.js +245 -259
  269. package/dist/widgets/pie.js.map +1 -1
  270. package/dist/widgets/range.js +225 -204
  271. package/dist/widgets/range.js.map +1 -1
  272. package/dist/widgets/scatterplot.js +220 -215
  273. package/dist/widgets/scatterplot.js.map +1 -1
  274. package/dist/widgets/selection-summary.js +39 -38
  275. package/dist/widgets/selection-summary.js.map +1 -1
  276. package/dist/widgets/skeleton-loader.js +22 -23
  277. package/dist/widgets/skeleton-loader.js.map +1 -1
  278. package/dist/widgets/spread.js +150 -156
  279. package/dist/widgets/spread.js.map +1 -1
  280. package/dist/widgets/stores.js +3 -8
  281. package/dist/widgets/subheader.js +49 -50
  282. package/dist/widgets/subheader.js.map +1 -1
  283. package/dist/widgets/table.js +576 -644
  284. package/dist/widgets/table.js.map +1 -1
  285. package/dist/widgets/timeseries.js +175 -170
  286. package/dist/widgets/timeseries.js.map +1 -1
  287. package/dist/widgets/toolbar-actions.js +140 -145
  288. package/dist/widgets/toolbar-actions.js.map +1 -1
  289. package/dist/widgets/utils.js +17 -33
  290. package/dist/widgets/utils.js.map +1 -1
  291. package/dist/widgets/wrapper.js +265 -276
  292. package/dist/widgets/wrapper.js.map +1 -1
  293. package/dist/widgets-v2/actions.js +4 -51
  294. package/dist/widgets-v2/bar.js +253 -307
  295. package/dist/widgets-v2/bar.js.map +1 -1
  296. package/dist/widgets-v2/category.js +2 -98
  297. package/dist/widgets-v2/echart.js +2 -57
  298. package/dist/widgets-v2/formula.js +2 -68
  299. package/dist/widgets-v2/histogram.js +285 -350
  300. package/dist/widgets-v2/histogram.js.map +1 -1
  301. package/dist/widgets-v2/markdown.js +3 -69
  302. package/dist/widgets-v2/pie.js +363 -461
  303. package/dist/widgets-v2/pie.js.map +1 -1
  304. package/dist/widgets-v2/range.js +2 -52
  305. package/dist/widgets-v2/scatterplot.js +316 -391
  306. package/dist/widgets-v2/scatterplot.js.map +1 -1
  307. package/dist/widgets-v2/spread.js +2 -78
  308. package/dist/widgets-v2/stores.js +2 -42
  309. package/dist/widgets-v2/table.js +2 -78
  310. package/dist/widgets-v2/timeseries.js +285 -340
  311. package/dist/widgets-v2/timeseries.js.map +1 -1
  312. package/dist/widgets-v2/utils.js +2 -8
  313. package/dist/widgets-v2.js +955 -951
  314. package/dist/widgets-v2.js.map +1 -1
  315. package/dist/zoom-toggle-CA0ifG23.js +164 -0
  316. package/dist/zoom-toggle-CA0ifG23.js.map +1 -0
  317. package/package.json +4 -4
  318. package/src/hooks/use-widget-ref.ts +1 -0
  319. package/dist/category-Ct2BzADB.js +0 -753
  320. package/dist/category-Ct2BzADB.js.map +0 -1
  321. package/dist/change-column-Fu1DCYQ3.js +0 -1186
  322. package/dist/change-column-Fu1DCYQ3.js.map +0 -1
  323. package/dist/cjs-D4KH3azB.js +0 -85
  324. package/dist/cjs-D4KH3azB.js.map +0 -1
  325. package/dist/components.js.map +0 -1
  326. package/dist/copy-button-DGL1tyli.js +0 -26
  327. package/dist/copy-button-DGL1tyli.js.map +0 -1
  328. package/dist/csv-item-hH_Gt7ur.js +0 -32
  329. package/dist/csv-item-hH_Gt7ur.js.map +0 -1
  330. package/dist/data-zoom-layout-D_FYdnap.js +0 -28
  331. package/dist/data-zoom-layout-D_FYdnap.js.map +0 -1
  332. package/dist/download-config-OKlLLSW_.js +0 -58
  333. package/dist/download-config-OKlLLSW_.js.map +0 -1
  334. package/dist/echart-B10dhEaM.js +0 -262
  335. package/dist/echart-B10dhEaM.js.map +0 -1
  336. package/dist/exports-Cr43OCul.js +0 -51
  337. package/dist/exports-Cr43OCul.js.map +0 -1
  338. package/dist/exports-Cx-f6m6U.js +0 -63
  339. package/dist/exports-Cx-f6m6U.js.map +0 -1
  340. package/dist/formatter-B9Bxn1k7.js +0 -6
  341. package/dist/formatter-B9Bxn1k7.js.map +0 -1
  342. package/dist/formula-DuC0NQLH.js +0 -79
  343. package/dist/formula-DuC0NQLH.js.map +0 -1
  344. package/dist/lasso-tool-YLFRgb-S.js +0 -582
  345. package/dist/lasso-tool-YLFRgb-S.js.map +0 -1
  346. package/dist/legend/stores.js.map +0 -1
  347. package/dist/legend-store-registry-p1tSwJXH.js +0 -472
  348. package/dist/legend-store-registry-p1tSwJXH.js.map +0 -1
  349. package/dist/markdown-DdqANCiN.js +0 -102
  350. package/dist/markdown-DdqANCiN.js.map +0 -1
  351. package/dist/markdown-content-Dk2DSgbf.js +0 -10287
  352. package/dist/markdown-content-Dk2DSgbf.js.map +0 -1
  353. package/dist/option-builders-DPeoyQaM.js +0 -130
  354. package/dist/option-builders-DPeoyQaM.js.map +0 -1
  355. package/dist/options-CthfUJDz.js +0 -46
  356. package/dist/options-CthfUJDz.js.map +0 -1
  357. package/dist/png-item-9dNbB37T.js +0 -57
  358. package/dist/png-item-9dNbB37T.js.map +0 -1
  359. package/dist/range-l4fNHLEg.js +0 -213
  360. package/dist/range-l4fNHLEg.js.map +0 -1
  361. package/dist/resolve-theme-color-BdojIw0K.js +0 -47
  362. package/dist/resolve-theme-color-BdojIw0K.js.map +0 -1
  363. package/dist/row-DZSP99LW.js +0 -34
  364. package/dist/row-DZSP99LW.js.map +0 -1
  365. package/dist/series-DLNHDWs0.js +0 -90
  366. package/dist/series-DLNHDWs0.js.map +0 -1
  367. package/dist/shared-resize-observer-98b1SK1e.js +0 -17
  368. package/dist/shared-resize-observer-98b1SK1e.js.map +0 -1
  369. package/dist/smart-tooltip-DFV6GD8R.js +0 -40
  370. package/dist/smart-tooltip-DFV6GD8R.js.map +0 -1
  371. package/dist/spread-4MYPOntd.js +0 -66
  372. package/dist/spread-4MYPOntd.js.map +0 -1
  373. package/dist/style-DVnT6HC1.js +0 -131
  374. package/dist/style-DVnT6HC1.js.map +0 -1
  375. package/dist/styles-cohnxh9F.js +0 -23
  376. package/dist/styles-cohnxh9F.js.map +0 -1
  377. package/dist/table-CTcLOycx.js +0 -383
  378. package/dist/table-CTcLOycx.js.map +0 -1
  379. package/dist/tooltip-BDnrRKrp.js +0 -25
  380. package/dist/tooltip-BDnrRKrp.js.map +0 -1
  381. package/dist/transforms-Cdx4fkU5.js +0 -106
  382. package/dist/transforms-Cdx4fkU5.js.map +0 -1
  383. package/dist/use-transform-DXPN3nY7.js +0 -110
  384. package/dist/use-transform-DXPN3nY7.js.map +0 -1
  385. package/dist/use-widget-ref-Ddr_SlJJ.js +0 -22
  386. package/dist/use-widget-ref-Ddr_SlJJ.js.map +0 -1
  387. package/dist/use-widget-selector-DFl2hW0R.js +0 -12
  388. package/dist/utils-BOhInag6.js +0 -170
  389. package/dist/utils-BOhInag6.js.map +0 -1
  390. package/dist/widget-context-DTGO0Yta.js +0 -13
  391. package/dist/widget-context-DTGO0Yta.js.map +0 -1
  392. package/dist/widget-store-Bw5zRUGg.js +0 -261
  393. package/dist/widget-store-Bw5zRUGg.js.map +0 -1
  394. package/dist/widget-store-registry-_W4Z4xp-.js +0 -178
  395. package/dist/widget-store-registry-_W4Z4xp-.js.map +0 -1
  396. package/dist/widgets/actions.js.map +0 -1
  397. package/dist/widgets/echart.js.map +0 -1
  398. package/dist/widgets/formula.js.map +0 -1
  399. package/dist/widgets/stores.js.map +0 -1
  400. package/dist/widgets-v2/actions.js.map +0 -1
  401. package/dist/widgets-v2/category.js.map +0 -1
  402. package/dist/widgets-v2/echart.js.map +0 -1
  403. package/dist/widgets-v2/formula.js.map +0 -1
  404. package/dist/widgets-v2/markdown.js.map +0 -1
  405. package/dist/widgets-v2/range.js.map +0 -1
  406. package/dist/widgets-v2/spread.js.map +0 -1
  407. package/dist/widgets-v2/stores.js.map +0 -1
  408. package/dist/widgets-v2/table.js.map +0 -1
  409. package/dist/widgets-v2/utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"category.js","sources":["../../src/widgets/category/style.ts","../../src/widgets/category/components/category-bar.tsx","../../src/widgets/category/components/category-row-single.tsx","../../src/widgets/category/components/category-row-multi.tsx","../../src/widgets/category/components/category-row-other.tsx","../../src/widgets/category/components/category-legend.tsx","../../src/widgets/category/category-ui.tsx","../../src/widgets/category/skeleton.tsx","../../src/widgets/category/config.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n width: '100%',\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1),\n },\n row: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(0.5),\n pointerEvents: 'none',\n },\n rowClickable: {\n pointerEvents: 'auto',\n // display: 'flex',\n // flexDirection: 'column',\n // gap: (theme: Theme) => theme.spacing(0.5),\n // cursor: 'pointer',\n // borderRadius: 1,\n // padding: (theme: Theme) => theme.spacing(0.5),\n // margin: (theme: Theme) => theme.spacing(-0.5),\n // transition: 'background-color 0.15s ease-in-out',\n // '&:hover': {\n // backgroundColor: (theme: Theme) => theme.palette.action.hover,\n // },\n },\n rowHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n rowLabel: {\n typography: 'body2',\n fontWeight: 'medium',\n color: 'text.primary',\n },\n rowValue: {\n typography: 'body2',\n color: 'text.secondary',\n },\n barContainer: {\n display: 'flex',\n flexDirection: 'column',\n },\n bar: {\n height: 4,\n borderRadius: 2,\n backgroundColor: (theme: Theme) => theme.palette.action.disabledBackground,\n overflow: 'hidden',\n position: 'relative',\n transition: 'background-color 0.15s ease-in-out',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.hover,\n\n '& > div': {\n filter: 'brightness(1.2)',\n },\n },\n },\n barFill: {\n height: '100%',\n borderRadius: 2,\n transition: 'width 0.3s ease-in-out, background-color 0.15s ease-in-out',\n },\n barFillMuted: {\n backgroundColor: (theme: Theme) => theme.palette.action.disabled,\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(2),\n flexWrap: 'wrap',\n paddingTop: (theme: Theme) => theme.spacing(2),\n position: 'sticky',\n bottom: 0,\n backgroundColor: 'background.paper',\n borderTop: (theme: Theme) => `1px solid ${theme.palette.divider}`,\n marginTop: (theme: Theme) => theme.spacing(2),\n },\n legendItem: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(1),\n },\n legendDot: {\n width: 8,\n height: 8,\n borderRadius: '50%',\n },\n legendLabel: {\n typography: 'caption',\n color: 'text.secondary',\n textTransform: 'uppercase',\n fontWeight: 'medium',\n },\n multiBarRow: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(1),\n },\n multiBarValue: {\n typography: 'body2',\n color: 'text.secondary',\n minWidth: 48,\n textAlign: 'right',\n },\n multiBarContainer: {\n flex: 1,\n },\n otherRow: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n otherLabel: {\n typography: 'body2',\n fontWeight: 'medium',\n color: 'text.secondary',\n fontStyle: 'italic',\n },\n otherCount: {\n typography: 'body2',\n color: 'text.disabled',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from '../style'\n\nexport interface CategoryBarProps {\n value: number\n maxValue: number\n color: string\n selected?: boolean\n}\n\n/**\n * Renders a single horizontal bar fill proportional to its value relative to the maximum.\n */\nexport function CategoryBar({\n value,\n maxValue,\n color,\n selected = true,\n}: CategoryBarProps) {\n const percentage = maxValue > 0 ? (value / maxValue) * 100 : 0\n\n const barFillSx = selected\n ? { ...styles.barFill, width: `${percentage}%`, backgroundColor: color }\n : { ...styles.barFill, ...styles.barFillMuted, width: `${percentage}%` }\n\n return (\n <Box sx={styles.bar}>\n <Box sx={barFillSx} />\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\nimport { CategoryBar } from './category-bar'\nimport type { CategoryWidgetConfig } from '../types'\n\nexport interface CategoryRowSingleProps {\n name: string\n value: number\n maxValue: number\n color: string\n formatter: NonNullable<CategoryWidgetConfig['formatter']>\n labelFormatter?: CategoryWidgetConfig['labelFormatter']\n onClick?: CategoryWidgetConfig['onRowClick']\n selected?: boolean\n}\n\n/**\n * Renders a single-series category row with a label, formatted value, and proportional bar.\n */\nexport function CategoryRowSingle({\n name,\n value,\n maxValue,\n color,\n formatter,\n labelFormatter,\n onClick,\n selected = true,\n}: CategoryRowSingleProps) {\n const handleClick = onClick\n ? () =>\n onClick({\n name,\n })\n : undefined\n const rowStyle = onClick ? styles.rowClickable : styles.row\n\n return (\n <Box sx={rowStyle} onClick={handleClick}>\n <Box sx={styles.rowHeader}>\n <Typography sx={styles.rowLabel}>\n {labelFormatter ? labelFormatter(name) : name}\n </Typography>\n <Typography sx={styles.rowValue}>{formatter(value)}</Typography>\n </Box>\n <CategoryBar\n value={value}\n maxValue={maxValue}\n color={color}\n selected={selected}\n />\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\nimport { CategoryBar } from './category-bar'\nimport type { CategoryWidgetConfig } from '../types'\n\nexport interface CategoryRowMultiProps {\n name: string\n values: number[]\n maxValue: number\n colors: string[]\n formatter: NonNullable<CategoryWidgetConfig['formatter']>\n labelFormatter?: CategoryWidgetConfig['labelFormatter']\n onClick?: CategoryWidgetConfig['onRowClick']\n selected?: boolean\n}\n\n/**\n * Renders a multi-series category row with a label and multiple color-coded bars stacked vertically.\n */\nexport function CategoryRowMulti({\n name,\n values,\n maxValue,\n colors,\n formatter,\n labelFormatter,\n onClick,\n selected = true,\n}: CategoryRowMultiProps) {\n const handleClick = onClick ? () => onClick({ name }) : undefined\n const rowStyle = onClick ? styles.rowClickable : styles.row\n\n return (\n <Box sx={rowStyle} onClick={handleClick}>\n <Typography sx={styles.rowLabel}>\n {labelFormatter ? labelFormatter(name) : name}\n </Typography>\n <Box sx={styles.barContainer}>\n {values.map((value, index) => (\n <Box key={`${name}-${value}-${index}`} sx={styles.multiBarRow}>\n <Box sx={styles.multiBarContainer}>\n <CategoryBar\n value={value}\n maxValue={maxValue}\n color={colors[index % colors.length] ?? ''}\n selected={selected}\n />\n </Box>\n <Typography sx={styles.multiBarValue}>\n {formatter(value)}\n </Typography>\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\n\nexport interface CategoryRowOtherProps {\n hiddenCount: number\n otherLabel?: string\n otherCountLabel?: string\n}\n\n/**\n * Renders an \"Other\" summary row indicating how many additional categories are hidden beyond `maxItems`.\n */\nexport function CategoryRowOther({\n hiddenCount,\n otherLabel = 'Other',\n otherCountLabel = '{count} more',\n}: CategoryRowOtherProps) {\n const countText = otherCountLabel.replace('{count}', String(hiddenCount))\n\n return (\n <Box sx={styles.otherRow}>\n <Typography sx={styles.otherLabel}>{otherLabel}</Typography>\n <Typography sx={styles.otherCount}>({countText})</Typography>\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\nimport type { CategorySeriesConfig } from '../types'\n\nexport interface CategoryLegendProps {\n series: CategorySeriesConfig[]\n colors: string[]\n}\n\n/**\n * Renders a color-coded legend for multi-series category widgets.\n */\nexport function CategoryLegend({ series, colors }: CategoryLegendProps) {\n if (series.length === 0) {\n return null\n }\n\n return (\n <Box sx={styles.legend}>\n {series.map((item, index) => (\n <Box key={item.name} sx={styles.legendItem}>\n <Box\n sx={{\n ...styles.legendDot,\n backgroundColor: item.color ?? colors[index % colors.length],\n }}\n />\n <Typography sx={styles.legendLabel}>{item.name}</Typography>\n </Box>\n ))}\n </Box>\n )\n}\n","import { Box, useTheme } from '@mui/material'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport { styles } from './style'\nimport type { CategoryUIProps, CategoryWidgetState } from './types'\nimport { CategoryRowSingle } from './components/category-row-single'\nimport { CategoryRowMulti } from './components/category-row-multi'\nimport { CategoryRowOther } from './components/category-row-other'\nimport { CategoryLegend } from './components/category-legend'\nimport { useState } from 'react'\nimport { defaultFormatter, defaultLabelFormatter } from '../utils/formatter'\nimport { useWidgetRef } from '../../hooks'\n\n/**\n * Renders a category widget displaying horizontal bars for categorical data with support for single and multi-series layouts, selection, and overflow grouping.\n */\nexport function CategoryUI({ id }: CategoryUIProps) {\n const { ref } = useWidgetRef<HTMLDivElement>(id)\n const theme = useTheme()\n\n // Single consolidated subscription instead of 9 separate ones.\n const {\n _formatter,\n _labelFormatter,\n _series,\n data,\n maxItems,\n labels,\n onRowClick,\n selected,\n max,\n } = useWidgetSelector(id, (w) => {\n const cw = w as CategoryWidgetState | undefined\n return {\n _formatter: cw?.formatter,\n _labelFormatter: cw?.labelFormatter,\n _series: cw?.series,\n data: cw?.data,\n maxItems: cw?.maxItems,\n labels: cw?.labels,\n onRowClick: cw?.onRowClick,\n selected: cw?.selected,\n max: cw?.max,\n }\n })\n\n const formatter = _formatter ?? defaultFormatter\n const labelFormatter = _labelFormatter ?? defaultLabelFormatter\n const series = _series ?? []\n\n const [maxHeight] = useState<string | number | undefined>(\n maxItems ? 40 * (series.length || 1) * maxItems : undefined,\n )\n\n const qualitativeColors = Object.values(theme.palette.qualitative.bold)\n\n const colors =\n series.length > 0\n ? series.map(\n (s, index: number) =>\n s.color ??\n qualitativeColors[index % qualitativeColors.length] ??\n theme.palette.secondary.main,\n )\n : [theme.palette.secondary.main]\n\n // Group data items by name to support multi-series display\n // data is CategoryDataItem[][] where data[seriesIndex] contains items for that series\n const groupedData = generateGroupedData({ data })\n\n if (groupedData.length === 0) {\n return null\n }\n\n const maxValue =\n max ?? Math.max(...groupedData.flatMap((item) => item.values))\n\n // Slice data to maxItems and compute hidden count\n const visibleData =\n maxItems !== undefined && maxItems >= 0\n ? groupedData.slice(0, maxItems)\n : groupedData\n\n const hiddenCount = groupedData.length - visibleData.length\n const isMulti = series.length > 1\n\n return (\n <Box\n ref={ref}\n sx={{\n ...styles.root,\n }}\n >\n <Box\n sx={styles.list}\n style={{ maxHeight, overflow: hiddenCount === 0 ? 'auto' : 'hidden' }}\n >\n {isMulti\n ? visibleData.map((item) => (\n <CategoryRowMulti\n key={item.name}\n name={item.name}\n values={item.values}\n maxValue={maxValue}\n colors={colors}\n formatter={formatter}\n labelFormatter={labelFormatter}\n onClick={onRowClick}\n selected={selected?.(item.name) ?? true}\n />\n ))\n : visibleData.map((item) => (\n <CategoryRowSingle\n key={item.name}\n name={item.name}\n value={item.values[0] ?? 0}\n selected={selected?.(item.name) ?? true}\n maxValue={maxValue}\n color={colors[0]!}\n formatter={formatter}\n labelFormatter={labelFormatter}\n onClick={onRowClick}\n />\n ))}\n {hiddenCount > 0 && (\n <CategoryRowOther\n hiddenCount={hiddenCount}\n otherLabel={labels?.other}\n otherCountLabel={labels?.otherCount}\n />\n )}\n </Box>\n {series.length > 0 && <CategoryLegend series={series} colors={colors} />}\n </Box>\n )\n}\n\nfunction generateGroupedData({\n data,\n}: {\n data: { name: string; value: number }[][] | undefined\n}) {\n if (!data || data.length === 0) return []\n\n const seriesCount = Math.max(data.length, 1)\n const grouped = new Map<string, number[]>()\n const nameOrder: string[] = []\n\n // Iterate over each series (outer array)\n for (let seriesIndex = 0; seriesIndex < data.length; seriesIndex++) {\n const seriesData = data[seriesIndex]!\n for (const item of seriesData) {\n let values = grouped.get(item.name)\n if (!values) {\n values = new Array<number>(seriesCount).fill(0)\n grouped.set(item.name, values)\n nameOrder.push(item.name)\n }\n values[seriesIndex] = item.value\n }\n }\n\n return nameOrder.map((name) => ({\n name,\n values: grouped.get(name)!,\n }))\n}\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst widthPatterns = [85, 70, 55, 75, 60]\n\nexport function CategorySkeleton() {\n return (\n <Box sx={styles.list} aria-label='Category skeleton'>\n {Array.from({ length: 5 }).map((_, index) => (\n <Box key={index} sx={styles.row}>\n <Box sx={styles.rowHeader}>\n <Skeleton width={80} height={16} />\n <Skeleton width={40} height={16} />\n </Box>\n <Skeleton\n variant='rectangular'\n height={4}\n sx={{ borderRadius: 2, width: `${widthPatterns[index]}%` }}\n />\n </Box>\n ))}\n </Box>\n )\n}\n","import { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\nimport type {\n CategoryWidgetConfig,\n CategoryWidgetData,\n CategorySeriesConfig,\n} from './types'\n\ninterface CategoryDownloadConfigProps extends ConfigProps {\n series?: CategorySeriesConfig[]\n}\n\n/**\n * Creates download configuration for category widgets, supporting PNG (screenshot) and CSV (data) exports. CSV output groups values by category across multiple series.\n *\n * @param props - Configuration with `refUI` reference and optional `series` for CSV column headers.\n * @returns Array of download items for use with the Download action.\n */\nexport function categoryDownloadConfig({\n refUI,\n series,\n}: CategoryDownloadConfigProps): DownloadItem<CategoryWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n if (!data?.length || data[0]?.length === 0) {\n return downloadToCSV.modifier([])\n }\n\n // data is CategoryDataItem[][] where data[seriesIndex] contains items for that series\n const seriesCount = data.length\n const grouped = new Map<string, number[]>()\n const nameOrder: string[] = []\n\n // Iterate over each series (outer array)\n for (let seriesIndex = 0; seriesIndex < seriesCount; seriesIndex++) {\n const seriesData = data[seriesIndex]!\n for (const item of seriesData) {\n let values = grouped.get(item.name)\n if (!values) {\n values = new Array<number>(seriesCount).fill(0)\n grouped.set(item.name, values)\n nameOrder.push(item.name)\n }\n values[seriesIndex] = item.value\n }\n }\n\n // Build rows\n const rows = nameOrder.map((name) => [name, ...grouped.get(name)!])\n\n const isMulti = seriesCount > 1\n const headers = isMulti\n ? [\n 'Category',\n ...(series?.map((s: CategorySeriesConfig) => s.name) ??\n Array.from(\n { length: seriesCount },\n (_, i) => `Series ${i + 1}`,\n )),\n ]\n : ['Category', 'Value']\n\n return downloadToCSV.modifier([headers, ...rows])\n },\n },\n ]\n}\n\n/**\n * Returns the default configuration for category list widgets, including empty series and a default `maxItems` of 10.\n *\n * @returns Default category widget config.\n */\nexport function categoryConfig(): CategoryWidgetConfig {\n return {\n series: [],\n maxItems: 10,\n max: undefined,\n }\n}\n"],"names":["styles","root","display","flexDirection","position","width","list","gap","theme","spacing","row","pointerEvents","rowClickable","rowHeader","justifyContent","alignItems","rowLabel","typography","fontWeight","color","rowValue","barContainer","bar","height","borderRadius","backgroundColor","palette","action","disabledBackground","overflow","transition","cursor","hover","filter","barFill","barFillMuted","disabled","legend","flexWrap","paddingTop","bottom","borderTop","divider","marginTop","legendItem","legendDot","legendLabel","textTransform","multiBarRow","multiBarValue","minWidth","textAlign","multiBarContainer","flex","otherRow","otherLabel","fontStyle","otherCount","CategoryBar","t0","$","_c","value","maxValue","selected","t1","undefined","percentage","t2","barFillSx","t3","jsx","Box","CategoryRowSingle","name","formatter","labelFormatter","onClick","handleClick","rowStyle","t4","Typography","t5","t6","t7","t8","t9","jsxs","CategoryRowMulti","values","colors","index","length","map","CategoryRowOther","hiddenCount","otherCountLabel","replace","String","countText","CategoryLegend","series","item","CategoryUI","id","ref","useWidgetRef","useTheme","_formatter","_labelFormatter","_series","data","maxItems","labels","onRowClick","max","useWidgetSelector","_temp","defaultFormatter","defaultLabelFormatter","maxHeight","useState","qualitativeColors","Object","qualitative","bold","s","secondary","main","T0","T1","Symbol","for","bb0","groupedData","generateGroupedData","Math","flatMap","_temp2","visibleData","slice","isMulti","item_0","item_1","other","t10","w","cw","seriesCount","grouped","Map","nameOrder","seriesIndex","seriesData","get","Array","fill","set","push","widthPatterns","CategorySkeleton","from","_","Skeleton","categoryDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","rows","headers","i","categoryConfig"],"mappings":"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"}
1
+ {"version":3,"file":"category.js","names":["SxProps","Theme","styles","root","display","flexDirection","position","width","list","gap","theme","spacing","row","pointerEvents","rowClickable","rowHeader","justifyContent","alignItems","rowLabel","typography","fontWeight","color","rowValue","barContainer","bar","height","borderRadius","backgroundColor","palette","action","disabledBackground","overflow","transition","cursor","hover","filter","barFill","barFillMuted","disabled","legend","flexWrap","paddingTop","bottom","borderTop","divider","marginTop","legendItem","legendDot","legendLabel","textTransform","multiBarRow","multiBarValue","minWidth","textAlign","multiBarContainer","flex","otherRow","otherLabel","fontStyle","otherCount","Record","Box","styles","CategoryBarProps","value","maxValue","color","selected","CategoryBar","t0","$","_c","t1","undefined","percentage","t2","barFill","width","backgroundColor","barFillMuted","barFillSx","t3","bar","Box","Typography","styles","CategoryBar","CategoryWidgetConfig","CategoryRowSingleProps","name","value","maxValue","color","formatter","NonNullable","labelFormatter","onClick","selected","CategoryRowSingle","t0","$","_c","t1","undefined","t2","handleClick","rowStyle","rowClickable","row","t3","t4","rowLabel","t5","t6","rowValue","t7","rowHeader","t8","t9","Box","Typography","styles","CategoryBar","CategoryWidgetConfig","CategoryRowMultiProps","name","values","maxValue","colors","formatter","NonNullable","labelFormatter","onClick","selected","CategoryRowMulti","t0","$","_c","t1","undefined","t2","handleClick","rowStyle","rowClickable","row","t3","t4","rowLabel","t5","t6","value","index","multiBarRow","multiBarContainer","length","multiBarValue","map","barContainer","t7","Box","Typography","styles","CategoryRowOtherProps","hiddenCount","otherLabel","otherCountLabel","CategoryRowOther","t0","$","_c","t1","t2","undefined","t3","replace","String","countText","t4","t5","otherCount","t6","otherRow","Box","Typography","styles","CategorySeriesConfig","CategoryLegendProps","series","colors","CategoryLegend","t0","$","_c","length","t1","t2","item","index","name","legendItem","legendDot","backgroundColor","color","legendLabel","map","legend","Box","useTheme","useWidgetSelector","styles","CategoryUIProps","CategoryWidgetState","CategoryRowSingle","CategoryRowMulti","CategoryRowOther","CategoryLegend","useState","defaultFormatter","defaultLabelFormatter","useWidgetRef","CategoryUI","t0","$","_c","id","ref","theme","_formatter","_labelFormatter","_series","data","maxItems","labels","onRowClick","selected","max","_temp","formatter","labelFormatter","series","maxHeight","length","undefined","qualitativeColors","Object","values","palette","qualitative","bold","colors","map","s","index","color","secondary","main","T0","T1","hiddenCount","t1","t2","t3","t4","t5","t6","Symbol","for","bb0","groupedData","generateGroupedData","maxValue","Math","flatMap","_temp2","visibleData","slice","isMulti","root","list","t7","overflow","item_0","item","name","item_1","other","otherCount","t8","t9","t10","w","cw","value","seriesCount","grouped","Map","nameOrder","seriesIndex","seriesData","get","Array","fill","set","push","Box","Skeleton","styles","widthPatterns","CategorySkeleton","$","_c","t0","Symbol","for","list","Array","from","length","map","_temp","_","index","row","rowHeader","borderRadius","width","downloadToCSV","downloadToPNG","DownloadItem","ConfigProps","CategoryWidgetConfig","CategoryWidgetData","CategorySeriesConfig","CategoryDownloadConfigProps","series","categoryDownloadConfig","refUI","modifier","data","length","seriesCount","grouped","Map","nameOrder","seriesIndex","seriesData","item","values","get","name","Array","fill","set","push","value","rows","map","isMulti","headers","s","from","_","i","categoryConfig","maxItems","max","undefined"],"sources":["../../src/widgets/category/style.ts","../../src/widgets/category/components/category-bar.tsx","../../src/widgets/category/components/category-row-single.tsx","../../src/widgets/category/components/category-row-multi.tsx","../../src/widgets/category/components/category-row-other.tsx","../../src/widgets/category/components/category-legend.tsx","../../src/widgets/category/category-ui.tsx","../../src/widgets/category/skeleton.tsx","../../src/widgets/category/config.ts"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n width: '100%',\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(1),\n },\n row: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(0.5),\n pointerEvents: 'none',\n },\n rowClickable: {\n pointerEvents: 'auto',\n // display: 'flex',\n // flexDirection: 'column',\n // gap: (theme: Theme) => theme.spacing(0.5),\n // cursor: 'pointer',\n // borderRadius: 1,\n // padding: (theme: Theme) => theme.spacing(0.5),\n // margin: (theme: Theme) => theme.spacing(-0.5),\n // transition: 'background-color 0.15s ease-in-out',\n // '&:hover': {\n // backgroundColor: (theme: Theme) => theme.palette.action.hover,\n // },\n },\n rowHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n rowLabel: {\n typography: 'body2',\n fontWeight: 'medium',\n color: 'text.primary',\n },\n rowValue: {\n typography: 'body2',\n color: 'text.secondary',\n },\n barContainer: {\n display: 'flex',\n flexDirection: 'column',\n },\n bar: {\n height: 4,\n borderRadius: 2,\n backgroundColor: (theme: Theme) => theme.palette.action.disabledBackground,\n overflow: 'hidden',\n position: 'relative',\n transition: 'background-color 0.15s ease-in-out',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.hover,\n\n '& > div': {\n filter: 'brightness(1.2)',\n },\n },\n },\n barFill: {\n height: '100%',\n borderRadius: 2,\n transition: 'width 0.3s ease-in-out, background-color 0.15s ease-in-out',\n },\n barFillMuted: {\n backgroundColor: (theme: Theme) => theme.palette.action.disabled,\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(2),\n flexWrap: 'wrap',\n paddingTop: (theme: Theme) => theme.spacing(2),\n position: 'sticky',\n bottom: 0,\n backgroundColor: 'background.paper',\n borderTop: (theme: Theme) => `1px solid ${theme.palette.divider}`,\n marginTop: (theme: Theme) => theme.spacing(2),\n },\n legendItem: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(1),\n },\n legendDot: {\n width: 8,\n height: 8,\n borderRadius: '50%',\n },\n legendLabel: {\n typography: 'caption',\n color: 'text.secondary',\n textTransform: 'uppercase',\n fontWeight: 'medium',\n },\n multiBarRow: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(1),\n },\n multiBarValue: {\n typography: 'body2',\n color: 'text.secondary',\n minWidth: 48,\n textAlign: 'right',\n },\n multiBarContainer: {\n flex: 1,\n },\n otherRow: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n otherLabel: {\n typography: 'body2',\n fontWeight: 'medium',\n color: 'text.secondary',\n fontStyle: 'italic',\n },\n otherCount: {\n typography: 'body2',\n color: 'text.disabled',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from '../style'\n\nexport interface CategoryBarProps {\n value: number\n maxValue: number\n color: string\n selected?: boolean\n}\n\n/**\n * Renders a single horizontal bar fill proportional to its value relative to the maximum.\n */\nexport function CategoryBar({\n value,\n maxValue,\n color,\n selected = true,\n}: CategoryBarProps) {\n const percentage = maxValue > 0 ? (value / maxValue) * 100 : 0\n\n const barFillSx = selected\n ? { ...styles.barFill, width: `${percentage}%`, backgroundColor: color }\n : { ...styles.barFill, ...styles.barFillMuted, width: `${percentage}%` }\n\n return (\n <Box sx={styles.bar}>\n <Box sx={barFillSx} />\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\nimport { CategoryBar } from './category-bar'\nimport type { CategoryWidgetConfig } from '../types'\n\nexport interface CategoryRowSingleProps {\n name: string\n value: number\n maxValue: number\n color: string\n formatter: NonNullable<CategoryWidgetConfig['formatter']>\n labelFormatter?: CategoryWidgetConfig['labelFormatter']\n onClick?: CategoryWidgetConfig['onRowClick']\n selected?: boolean\n}\n\n/**\n * Renders a single-series category row with a label, formatted value, and proportional bar.\n */\nexport function CategoryRowSingle({\n name,\n value,\n maxValue,\n color,\n formatter,\n labelFormatter,\n onClick,\n selected = true,\n}: CategoryRowSingleProps) {\n const handleClick = onClick\n ? () =>\n onClick({\n name,\n })\n : undefined\n const rowStyle = onClick ? styles.rowClickable : styles.row\n\n return (\n <Box sx={rowStyle} onClick={handleClick}>\n <Box sx={styles.rowHeader}>\n <Typography sx={styles.rowLabel}>\n {labelFormatter ? labelFormatter(name) : name}\n </Typography>\n <Typography sx={styles.rowValue}>{formatter(value)}</Typography>\n </Box>\n <CategoryBar\n value={value}\n maxValue={maxValue}\n color={color}\n selected={selected}\n />\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\nimport { CategoryBar } from './category-bar'\nimport type { CategoryWidgetConfig } from '../types'\n\nexport interface CategoryRowMultiProps {\n name: string\n values: number[]\n maxValue: number\n colors: string[]\n formatter: NonNullable<CategoryWidgetConfig['formatter']>\n labelFormatter?: CategoryWidgetConfig['labelFormatter']\n onClick?: CategoryWidgetConfig['onRowClick']\n selected?: boolean\n}\n\n/**\n * Renders a multi-series category row with a label and multiple color-coded bars stacked vertically.\n */\nexport function CategoryRowMulti({\n name,\n values,\n maxValue,\n colors,\n formatter,\n labelFormatter,\n onClick,\n selected = true,\n}: CategoryRowMultiProps) {\n const handleClick = onClick ? () => onClick({ name }) : undefined\n const rowStyle = onClick ? styles.rowClickable : styles.row\n\n return (\n <Box sx={rowStyle} onClick={handleClick}>\n <Typography sx={styles.rowLabel}>\n {labelFormatter ? labelFormatter(name) : name}\n </Typography>\n <Box sx={styles.barContainer}>\n {values.map((value, index) => (\n <Box key={`${name}-${value}-${index}`} sx={styles.multiBarRow}>\n <Box sx={styles.multiBarContainer}>\n <CategoryBar\n value={value}\n maxValue={maxValue}\n color={colors[index % colors.length] ?? ''}\n selected={selected}\n />\n </Box>\n <Typography sx={styles.multiBarValue}>\n {formatter(value)}\n </Typography>\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\n\nexport interface CategoryRowOtherProps {\n hiddenCount: number\n otherLabel?: string\n otherCountLabel?: string\n}\n\n/**\n * Renders an \"Other\" summary row indicating how many additional categories are hidden beyond `maxItems`.\n */\nexport function CategoryRowOther({\n hiddenCount,\n otherLabel = 'Other',\n otherCountLabel = '{count} more',\n}: CategoryRowOtherProps) {\n const countText = otherCountLabel.replace('{count}', String(hiddenCount))\n\n return (\n <Box sx={styles.otherRow}>\n <Typography sx={styles.otherLabel}>{otherLabel}</Typography>\n <Typography sx={styles.otherCount}>({countText})</Typography>\n </Box>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../style'\nimport type { CategorySeriesConfig } from '../types'\n\nexport interface CategoryLegendProps {\n series: CategorySeriesConfig[]\n colors: string[]\n}\n\n/**\n * Renders a color-coded legend for multi-series category widgets.\n */\nexport function CategoryLegend({ series, colors }: CategoryLegendProps) {\n if (series.length === 0) {\n return null\n }\n\n return (\n <Box sx={styles.legend}>\n {series.map((item, index) => (\n <Box key={item.name} sx={styles.legendItem}>\n <Box\n sx={{\n ...styles.legendDot,\n backgroundColor: item.color ?? colors[index % colors.length],\n }}\n />\n <Typography sx={styles.legendLabel}>{item.name}</Typography>\n </Box>\n ))}\n </Box>\n )\n}\n","import { Box, useTheme } from '@mui/material'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport { styles } from './style'\nimport type { CategoryUIProps, CategoryWidgetState } from './types'\nimport { CategoryRowSingle } from './components/category-row-single'\nimport { CategoryRowMulti } from './components/category-row-multi'\nimport { CategoryRowOther } from './components/category-row-other'\nimport { CategoryLegend } from './components/category-legend'\nimport { useState } from 'react'\nimport { defaultFormatter, defaultLabelFormatter } from '../utils/formatter'\nimport { useWidgetRef } from '../../hooks'\n\n/**\n * Renders a category widget displaying horizontal bars for categorical data with support for single and multi-series layouts, selection, and overflow grouping.\n */\nexport function CategoryUI({ id }: CategoryUIProps) {\n const { ref } = useWidgetRef<HTMLDivElement>(id)\n const theme = useTheme()\n\n // Single consolidated subscription instead of 9 separate ones.\n const {\n _formatter,\n _labelFormatter,\n _series,\n data,\n maxItems,\n labels,\n onRowClick,\n selected,\n max,\n } = useWidgetSelector(id, (w) => {\n const cw = w as CategoryWidgetState | undefined\n return {\n _formatter: cw?.formatter,\n _labelFormatter: cw?.labelFormatter,\n _series: cw?.series,\n data: cw?.data,\n maxItems: cw?.maxItems,\n labels: cw?.labels,\n onRowClick: cw?.onRowClick,\n selected: cw?.selected,\n max: cw?.max,\n }\n })\n\n const formatter = _formatter ?? defaultFormatter\n const labelFormatter = _labelFormatter ?? defaultLabelFormatter\n const series = _series ?? []\n\n const [maxHeight] = useState<string | number | undefined>(\n maxItems ? 40 * (series.length || 1) * maxItems : undefined,\n )\n\n const qualitativeColors = Object.values(theme.palette.qualitative.bold)\n\n const colors =\n series.length > 0\n ? series.map(\n (s, index: number) =>\n s.color ??\n qualitativeColors[index % qualitativeColors.length] ??\n theme.palette.secondary.main,\n )\n : [theme.palette.secondary.main]\n\n // Group data items by name to support multi-series display\n // data is CategoryDataItem[][] where data[seriesIndex] contains items for that series\n const groupedData = generateGroupedData({ data })\n\n if (groupedData.length === 0) {\n return null\n }\n\n const maxValue =\n max ?? Math.max(...groupedData.flatMap((item) => item.values))\n\n // Slice data to maxItems and compute hidden count\n const visibleData =\n maxItems !== undefined && maxItems >= 0\n ? groupedData.slice(0, maxItems)\n : groupedData\n\n const hiddenCount = groupedData.length - visibleData.length\n const isMulti = series.length > 1\n\n return (\n <Box\n ref={ref}\n sx={{\n ...styles.root,\n }}\n >\n <Box\n sx={styles.list}\n style={{ maxHeight, overflow: hiddenCount === 0 ? 'auto' : 'hidden' }}\n >\n {isMulti\n ? visibleData.map((item) => (\n <CategoryRowMulti\n key={item.name}\n name={item.name}\n values={item.values}\n maxValue={maxValue}\n colors={colors}\n formatter={formatter}\n labelFormatter={labelFormatter}\n onClick={onRowClick}\n selected={selected?.(item.name) ?? true}\n />\n ))\n : visibleData.map((item) => (\n <CategoryRowSingle\n key={item.name}\n name={item.name}\n value={item.values[0] ?? 0}\n selected={selected?.(item.name) ?? true}\n maxValue={maxValue}\n color={colors[0]!}\n formatter={formatter}\n labelFormatter={labelFormatter}\n onClick={onRowClick}\n />\n ))}\n {hiddenCount > 0 && (\n <CategoryRowOther\n hiddenCount={hiddenCount}\n otherLabel={labels?.other}\n otherCountLabel={labels?.otherCount}\n />\n )}\n </Box>\n {series.length > 0 && <CategoryLegend series={series} colors={colors} />}\n </Box>\n )\n}\n\nfunction generateGroupedData({\n data,\n}: {\n data: { name: string; value: number }[][] | undefined\n}) {\n if (!data || data.length === 0) return []\n\n const seriesCount = Math.max(data.length, 1)\n const grouped = new Map<string, number[]>()\n const nameOrder: string[] = []\n\n // Iterate over each series (outer array)\n for (let seriesIndex = 0; seriesIndex < data.length; seriesIndex++) {\n const seriesData = data[seriesIndex]!\n for (const item of seriesData) {\n let values = grouped.get(item.name)\n if (!values) {\n values = new Array<number>(seriesCount).fill(0)\n grouped.set(item.name, values)\n nameOrder.push(item.name)\n }\n values[seriesIndex] = item.value\n }\n }\n\n return nameOrder.map((name) => ({\n name,\n values: grouped.get(name)!,\n }))\n}\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst widthPatterns = [85, 70, 55, 75, 60]\n\nexport function CategorySkeleton() {\n return (\n <Box sx={styles.list} aria-label='Category skeleton'>\n {Array.from({ length: 5 }).map((_, index) => (\n <Box key={index} sx={styles.row}>\n <Box sx={styles.rowHeader}>\n <Skeleton width={80} height={16} />\n <Skeleton width={40} height={16} />\n </Box>\n <Skeleton\n variant='rectangular'\n height={4}\n sx={{ borderRadius: 2, width: `${widthPatterns[index]}%` }}\n />\n </Box>\n ))}\n </Box>\n )\n}\n","import { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\nimport type {\n CategoryWidgetConfig,\n CategoryWidgetData,\n CategorySeriesConfig,\n} from './types'\n\ninterface CategoryDownloadConfigProps extends ConfigProps {\n series?: CategorySeriesConfig[]\n}\n\n/**\n * Creates download configuration for category widgets, supporting PNG (screenshot) and CSV (data) exports. CSV output groups values by category across multiple series.\n *\n * @param props - Configuration with `refUI` reference and optional `series` for CSV column headers.\n * @returns Array of download items for use with the Download action.\n */\nexport function categoryDownloadConfig({\n refUI,\n series,\n}: CategoryDownloadConfigProps): DownloadItem<CategoryWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n if (!data?.length || data[0]?.length === 0) {\n return downloadToCSV.modifier([])\n }\n\n // data is CategoryDataItem[][] where data[seriesIndex] contains items for that series\n const seriesCount = data.length\n const grouped = new Map<string, number[]>()\n const nameOrder: string[] = []\n\n // Iterate over each series (outer array)\n for (let seriesIndex = 0; seriesIndex < seriesCount; seriesIndex++) {\n const seriesData = data[seriesIndex]!\n for (const item of seriesData) {\n let values = grouped.get(item.name)\n if (!values) {\n values = new Array<number>(seriesCount).fill(0)\n grouped.set(item.name, values)\n nameOrder.push(item.name)\n }\n values[seriesIndex] = item.value\n }\n }\n\n // Build rows\n const rows = nameOrder.map((name) => [name, ...grouped.get(name)!])\n\n const isMulti = seriesCount > 1\n const headers = isMulti\n ? [\n 'Category',\n ...(series?.map((s: CategorySeriesConfig) => s.name) ??\n Array.from(\n { length: seriesCount },\n (_, i) => `Series ${i + 1}`,\n )),\n ]\n : ['Category', 'Value']\n\n return downloadToCSV.modifier([headers, ...rows])\n },\n },\n ]\n}\n\n/**\n * Returns the default configuration for category list widgets, including empty series and a default `maxItems` of 10.\n *\n * @returns Default category widget config.\n */\nexport function categoryConfig(): CategoryWidgetConfig {\n return {\n series: [],\n maxItems: 10,\n max: undefined,\n }\n}\n"],"mappings":"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"}
@@ -1,120 +1,3 @@
1
- import { jsx as S } from "react/jsx-runtime";
2
- import { c as j } from "react/compiler-runtime";
3
- import { useRef as W, useImperativeHandle as k, useEffect as x } from "react";
4
- import * as U from "echarts";
5
- import { u as Z } from "../use-widget-ref-Ddr_SlJJ.js";
6
- import { o as $ } from "../shared-resize-observer-98b1SK1e.js";
7
- import { u as B } from "../use-widget-selector-DFl2hW0R.js";
8
- import { g as Q } from "../options-CthfUJDz.js";
9
- import { g as V, a as X, b as Y, m as w } from "../utils-BOhInag6.js";
10
- function D(r) {
11
- const t = j(21), {
12
- id: a,
13
- ref: m,
14
- init: c,
15
- option: u,
16
- className: f,
17
- style: l,
18
- onEvents: o
19
- } = r, {
20
- ref: e,
21
- instance: i
22
- } = Z(a), n = W(null);
23
- let s, d;
24
- t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = () => n.current, d = [], t[0] = s, t[1] = d) : (s = t[0], d = t[1]), k(m, s, d);
25
- let g, h;
26
- t[2] !== i || t[3] !== e || t[4] !== c ? (g = () => {
27
- if (e.current)
28
- return n.current = U.init(e.current, null, {
29
- renderer: "svg",
30
- height: 304,
31
- ...c
32
- }), i.current = n.current, () => {
33
- n.current?.dispose(), n.current = null, i.current = null;
34
- };
35
- }, h = [i, e, c], t[2] = i, t[3] = e, t[4] = c, t[5] = g, t[6] = h) : (g = t[5], h = t[6]), x(g, h);
36
- let p, E;
37
- t[7] !== u ? (p = () => {
38
- n.current?.setOption(u, {
39
- lazyUpdate: !0,
40
- notMerge: !0
41
- });
42
- }, E = [u], t[7] = u, t[8] = p, t[9] = E) : (p = t[8], E = t[9]), x(p, E);
43
- let v, C;
44
- t[10] !== e ? (v = () => {
45
- if (e.current)
46
- return $(e.current, () => {
47
- n.current?.resize();
48
- });
49
- }, C = [e], t[10] = e, t[11] = v, t[12] = C) : (v = t[11], C = t[12]), x(v, C);
50
- let b, O;
51
- t[13] !== o ? (b = () => {
52
- const _ = {
53
- ...o ?? {}
54
- };
55
- return _.click || (_.mousemove = () => {
56
- n.current?.getZr().setCursorStyle("default");
57
- }), Object.entries(_).forEach((y) => {
58
- const [I, z] = y;
59
- n.current?.on(I, z);
60
- }), () => {
61
- Object.entries(_).forEach((y) => {
62
- const [I] = y;
63
- n.current?.off(I);
64
- });
65
- };
66
- }, O = [o], t[13] = o, t[14] = b, t[15] = O) : (b = t[14], O = t[15]), x(b, O);
67
- let R;
68
- return t[16] !== e || t[17] !== f || t[18] !== a || t[19] !== l ? (R = /* @__PURE__ */ S("div", { id: a, ref: e, style: l, className: f }), t[16] = e, t[17] = f, t[18] = a, t[19] = l, t[20] = R) : R = t[20], R;
69
- }
70
- function K(r) {
71
- const t = j(12), {
72
- id: a,
73
- data: m,
74
- widgetOption: c,
75
- onEvents: u,
76
- init: f
77
- } = B(r.id, H);
78
- let l;
79
- t[0] !== m ? (l = M(m), t[0] = m, t[1] = l) : l = t[1];
80
- const o = l;
81
- let e;
82
- t[2] !== o ? (e = o && {
83
- dataset: o
84
- }, t[2] = o, t[3] = e) : e = t[3];
85
- let i;
86
- t[4] !== e || t[5] !== c ? (i = {
87
- ...c,
88
- ...e
89
- }, t[4] = e, t[5] = c, t[6] = i) : i = t[6];
90
- const n = i;
91
- if (!a)
92
- return null;
93
- let s;
94
- return t[7] !== f || t[8] !== u || t[9] !== n || t[10] !== r.id ? (s = /* @__PURE__ */ S(D, { id: r.id, option: n, onEvents: u, init: f }), t[7] = f, t[8] = u, t[9] = n, t[10] = r.id, t[11] = s) : s = t[11], s;
95
- }
96
- function H(r) {
97
- return {
98
- id: r?.id,
99
- data: r?.data,
100
- widgetOption: r?.option,
101
- onEvents: r?.onEvents,
102
- init: r?.init
103
- };
104
- }
105
- function M(r) {
106
- if (!(!r || r.length === 0))
107
- return r.map((t) => ({
108
- source: t
109
- }));
110
- }
111
- export {
112
- K as Echart,
113
- D as EchartUI,
114
- Q as getCommonOptions,
115
- V as getEChartBrushConfig,
116
- X as getEChartStackConfig,
117
- Y as getEChartZoomConfig,
118
- w as mergeEchartWidgetConfig
119
- };
120
- //# sourceMappingURL=echart.js.map
1
+ import { a as e, i as t, n, r } from "../shared-resize-observer-BEiP2rQt.js";
2
+ import { n as i, r as a, t as o } from "../echart-BkaV3V5G.js";
3
+ export { i as Echart, a as EchartUI, o as getCommonOptions, n as getEChartBrushConfig, r as getEChartStackConfig, t as getEChartZoomConfig, e as mergeEchartWidgetConfig };
@@ -1,40 +1,30 @@
1
- import { jsx as m, jsxs as u } from "react/jsx-runtime";
2
- import { c as h } from "react/compiler-runtime";
3
- import { AlertTitle as p, Alert as x } from "@mui/material";
4
- import { u as A } from "../use-widget-selector-DFl2hW0R.js";
5
- function P(t) {
6
- const r = h(5), {
7
- id: l,
8
- children: c,
9
- title: d,
10
- description: g
11
- } = t, {
12
- isLoading: a,
13
- isFetching: f,
14
- error: o
15
- } = A(l, F);
16
- if (a || f)
17
- return c;
18
- if (o) {
19
- const n = d ?? o.title ?? "Error", s = g ?? o.message ?? "An error occurred while loading the widget. Please try again.";
20
- let e;
21
- r[0] !== n ? (e = /* @__PURE__ */ m(p, { children: n }), r[0] = n, r[1] = e) : e = r[1];
22
- let i;
23
- return r[2] !== s || r[3] !== e ? (i = /* @__PURE__ */ u(x, { severity: "error", children: [
24
- e,
25
- s
26
- ] }), r[2] = s, r[3] = e, r[4] = i) : i = r[4], i;
27
- }
28
- return c;
1
+ import { t as e } from "../use-widget-selector-VSPhfhNm.js";
2
+ import { c as t } from "react/compiler-runtime";
3
+ import { Alert as n, AlertTitle as r } from "@mui/material";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ //#region src/widgets/error/error.tsx
6
+ function o(o) {
7
+ let c = t(5), { id: l, children: u, title: d, description: f } = o, { isLoading: p, isFetching: m, error: h } = e(l, s);
8
+ if (p || m) return u;
9
+ if (h) {
10
+ let e = d ?? h.title ?? "Error", t = f ?? h.message ?? "An error occurred while loading the widget. Please try again.", o;
11
+ c[0] === e ? o = c[1] : (o = /* @__PURE__ */ i(r, { children: e }), c[0] = e, c[1] = o);
12
+ let s;
13
+ return c[2] !== t || c[3] !== o ? (s = /* @__PURE__ */ a(n, {
14
+ severity: "error",
15
+ children: [o, t]
16
+ }), c[2] = t, c[3] = o, c[4] = s) : s = c[4], s;
17
+ }
18
+ return u;
29
19
  }
30
- function F(t) {
31
- return {
32
- isLoading: t?.isLoading,
33
- isFetching: t?.isFetching,
34
- error: t?.error
35
- };
20
+ function s(e) {
21
+ return {
22
+ isLoading: e?.isLoading,
23
+ isFetching: e?.isFetching,
24
+ error: e?.error
25
+ };
36
26
  }
37
- export {
38
- P as WidgetError
39
- };
40
- //# sourceMappingURL=error.js.map
27
+ //#endregion
28
+ export { o as WidgetError };
29
+
30
+ //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sources":["../../src/widgets/error/error.tsx"],"sourcesContent":["import { Alert, AlertTitle } from '@mui/material'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport type { WidgetErrorProps } from './types'\n\n/**\n * Displays an error alert when a widget encounters an error during data loading. Reads error state from the widget store and hides errors during loading/fetching to prevent flashing.\n *\n * @example\n * ```tsx\n * <WidgetError id=\"my-widget\">\n * <WidgetContent />\n * </WidgetError>\n * ```\n */\nexport function WidgetError({\n id,\n children,\n title: titleProp,\n description,\n}: WidgetErrorProps) {\n // Single consolidated subscription instead of 3 separate ones.\n const { isLoading, isFetching, error } = useWidgetSelector(id, (w) => ({\n isLoading: w?.isLoading,\n isFetching: w?.isFetching,\n error: w?.error,\n }))\n\n // Don't show error during loading/fetching states\n if (isLoading || isFetching) {\n return children\n }\n\n // Show error UI if error exists\n if (error) {\n const errorTitle = titleProp ?? error.title ?? 'Error'\n const errorMessage =\n description ??\n error.message ??\n 'An error occurred while loading the widget. Please try again.'\n\n return (\n <Alert severity='error'>\n <AlertTitle>{errorTitle}</AlertTitle>\n {errorMessage}\n </Alert>\n )\n }\n\n // No error, render children\n return children\n}\n"],"names":["WidgetError","t0","$","_c","id","children","title","titleProp","description","isLoading","isFetching","error","useWidgetSelector","_temp","errorTitle","errorMessage","message","t1","AlertTitle","t2","jsxs","Alert","w"],"mappings":";;;;AAcO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAqB;AAAA,IAAAC,IAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,OAAAC;AAAAA,IAAAC,aAAAA;AAAAA,EAAAA,IAAAP,GAO1B;AAAA,IAAAQ,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,OAAAA;AAAAA,EAAAA,IAAyCC,EAAkBR,GAAIS,CAI7D;AAGF,MAAIJ,KAAAC;AAAuB,WAClBL;AAIT,MAAIM,GAAK;AACP,UAAAG,IAAmBP,KAAaI,EAAKL,SAAlB,SACnBS,IACEP,KACAG,EAAKK,WADL;AAE+D,QAAAC;AAAA,IAAAf,SAAAY,KAI7DG,sBAACC,kBAAuB,GAAahB,OAAAY,GAAAZ,OAAAe,KAAAA,IAAAf,EAAA,CAAA;AAAA,QAAAiB;AAAA,WAAAjB,EAAA,CAAA,MAAAa,KAAAb,SAAAe,KADvCE,IAAA,gBAAAC,EAACC,GAAA,EAAe,UAAA,SACdJ,UAAAA;AAAAA,MAAAA;AAAAA,MACCF;AAAAA,IAAAA,GACH,GAAQb,OAAAa,GAAAb,OAAAe,GAAAf,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA,GAHRiB;AAAAA,EAGQ;AAEX,SAGMd;AAAQ;AAnCV,SAAAQ,EAAAS,GAAA;AAAA,SAOkE;AAAA,IAAAb,WAC1Da,GAACb;AAAAA,IAAWC,YACXY,GAACZ;AAAAA,IAAYC,OAClBW,GAACX;AAAAA,EAAAA;AACT;"}
1
+ {"version":3,"file":"error.js","names":["Alert","AlertTitle","useWidgetSelector","WidgetErrorProps","WidgetError","t0","$","_c","id","children","title","titleProp","description","isLoading","isFetching","error","_temp","errorTitle","errorMessage","message","t1","t2","w"],"sources":["../../src/widgets/error/error.tsx"],"sourcesContent":["import { Alert, AlertTitle } from '@mui/material'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport type { WidgetErrorProps } from './types'\n\n/**\n * Displays an error alert when a widget encounters an error during data loading. Reads error state from the widget store and hides errors during loading/fetching to prevent flashing.\n *\n * @example\n * ```tsx\n * <WidgetError id=\"my-widget\">\n * <WidgetContent />\n * </WidgetError>\n * ```\n */\nexport function WidgetError({\n id,\n children,\n title: titleProp,\n description,\n}: WidgetErrorProps) {\n // Single consolidated subscription instead of 3 separate ones.\n const { isLoading, isFetching, error } = useWidgetSelector(id, (w) => ({\n isLoading: w?.isLoading,\n isFetching: w?.isFetching,\n error: w?.error,\n }))\n\n // Don't show error during loading/fetching states\n if (isLoading || isFetching) {\n return children\n }\n\n // Show error UI if error exists\n if (error) {\n const errorTitle = titleProp ?? error.title ?? 'Error'\n const errorMessage =\n description ??\n error.message ??\n 'An error occurred while loading the widget. Please try again.'\n\n return (\n <Alert severity='error'>\n <AlertTitle>{errorTitle}</AlertTitle>\n {errorMessage}\n </Alert>\n )\n }\n\n // No error, render children\n return children\n}\n"],"mappings":";;;;;AAcA,SAAOI,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAqB,EAAAC,OAAAC,aAAAC,OAAAC,GAAAC,mBAAAP,GAO1B,EAAAQ,cAAAC,eAAAC,aAAyCb,EAAkBM,GAAIQ,CAI7D;CAGF,IAAIH,KAAAC,GAAuB,OAClBL;CAIT,IAAIM,GAAK;EACP,IAAAE,IAAmBN,KAAaI,EAAKL,SAAlB,SACnBQ,IACEN,KACAG,EAAKI,WADL,iEAE+DC;EAAA,AAAAd,EAAA,OAAAW,IAIxBG,IAAAd,EAAA,MAArCc,IAAA,kBAAC,GAAD,EAAA,UAAaH,EAAF,CAAA,GAA0BX,EAAA,KAAAW,GAAAX,EAAA,KAAAc;EAAA,IAAAC;EAE/B,OAF+Bf,EAAA,OAAAY,KAAAZ,EAAA,OAAAc,KADvCC,IAAA,kBAAC,GAAD;GAAgB,UAAA;GAAhB,UAAA,CACED,GACCF,CAFG;MAGEZ,EAAA,KAAAY,GAAAZ,EAAA,KAAAc,GAAAd,EAAA,KAAAe,KAAAA,IAAAf,EAAA,IAHRe;CAGQ;CAEX,OAGMZ;AAAQ;AAnCV,SAAAO,EAAAM,GAAA;CAAA,OAOkE;EAAAT,WAC1DS,GAACT;EAAWC,YACXQ,GAACR;EAAYC,OAClBO,GAACP;CACV;AAAC"}
@@ -1,123 +1,3 @@
1
- import { I as y, S as F, P as I, a as D } from "../series-DLNHDWs0.js";
2
- import { jsx as f, jsxs as P, Fragment as k } from "react/jsx-runtime";
3
- import { c as g } from "react/compiler-runtime";
4
- import { d as C } from "../formatter-B9Bxn1k7.js";
5
- import { u as R } from "../use-widget-selector-DFl2hW0R.js";
6
- import { R as T, s as $ } from "../row-DZSP99LW.js";
7
- import { Box as v, Skeleton as b } from "@mui/material";
8
- import "../widget-store-Bw5zRUGg.js";
9
- import "zustand/shallow";
10
- import "@mui/icons-material";
11
- import "react";
12
- import { d as h, a as S } from "../exports-Cr43OCul.js";
13
- import "../lasso-tool-YLFRgb-S.js";
14
- import "../cjs-D4KH3azB.js";
15
- import "@carto/ps-utils";
16
- import "@dnd-kit/core";
17
- import "@dnd-kit/sortable";
18
- import "@dnd-kit/utilities";
19
- import "react-dom";
20
- import { u as j } from "../use-widget-ref-Ddr_SlJJ.js";
21
- function z(e) {
22
- const t = g(15);
23
- let r, i, o;
24
- t[0] !== e ? ({
25
- id: r,
26
- index: o,
27
- ...i
28
- } = e, t[0] = e, t[1] = r, t[2] = i, t[3] = o) : (r = t[1], i = t[2], o = t[3]);
29
- const n = o === void 0 ? 0 : o;
30
- let a;
31
- t[4] !== n ? (a = (w) => {
32
- const p = w;
33
- return {
34
- value: p?.data?.[n]?.value,
35
- color: p?.data?.[n]?.color,
36
- formatter: p?.formatter ?? C
37
- };
38
- }, t[4] = n, t[5] = a) : a = t[5];
39
- const {
40
- value: l,
41
- color: u,
42
- formatter: c
43
- } = R(r, a);
44
- let m;
45
- t[6] !== u ? (m = {
46
- color: u
47
- }, t[6] = u, t[7] = m) : m = t[7];
48
- const x = l ?? 0;
49
- let s;
50
- t[8] !== c || t[9] !== x ? (s = c(x), t[8] = c, t[9] = x, t[10] = s) : s = t[10];
51
- let d;
52
- return t[11] !== i || t[12] !== m || t[13] !== s ? (d = /* @__PURE__ */ f(y, { TypographyProps: m, ...i, children: s }), t[11] = i, t[12] = m, t[13] = s, t[14] = d) : d = t[14], d;
53
- }
54
- function et({
55
- refUI: e
56
- }) {
57
- return [{
58
- ...h,
59
- modifier: () => h.modifier(e)
60
- }, {
61
- ...S,
62
- modifier: async (t) => {
63
- const r = [t?.map((i) => i.value) ?? []];
64
- return S.modifier(r);
65
- }
66
- }];
67
- }
68
- function it() {
69
- return {
70
- series: []
71
- };
72
- }
73
- function ot(e) {
74
- const t = g(8), {
75
- ref: r
76
- } = j(e.id);
77
- let i;
78
- t[0] !== e.id ? (i = (a) => {
79
- const {
80
- index: l
81
- } = a;
82
- return /* @__PURE__ */ P(k, { children: [
83
- /* @__PURE__ */ f(F, { id: e.id, index: l }),
84
- /* @__PURE__ */ f(I, { id: e.id, index: l }),
85
- /* @__PURE__ */ f(z, { id: e.id, index: l }),
86
- /* @__PURE__ */ f(D, { id: e.id, index: l })
87
- ] });
88
- }, t[0] = e.id, t[1] = i) : i = t[1];
89
- let o;
90
- t[2] !== e.id || t[3] !== i ? (o = /* @__PURE__ */ f(T, { id: e.id, children: i }), t[2] = e.id, t[3] = i, t[4] = o) : o = t[4];
91
- let n;
92
- return t[5] !== r || t[6] !== o ? (n = /* @__PURE__ */ f(v, { ref: r, children: o }), t[5] = r, t[6] = o, t[7] = n) : n = t[7], n;
93
- }
94
- function rt() {
95
- const e = g(1);
96
- let t;
97
- return e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ f(v, { sx: $.row, "aria-label": "Formula skeleton", children: /* @__PURE__ */ f(b, { width: 120, height: 32 }) }), e[0] = t) : t = e[0], t;
98
- }
99
- function V(e) {
100
- return {
101
- ...e,
102
- prefix: typeof e.prefix == "string" ? e.prefix : void 0,
103
- suffix: typeof e.suffix == "string" ? e.suffix : void 0
104
- };
105
- }
106
- function nt(e) {
107
- return e?.map(V);
108
- }
109
- export {
110
- rt as FormulaSkeleton,
111
- ot as FormulaUI,
112
- y as Item,
113
- I as Prefix,
114
- T as Row,
115
- F as Series,
116
- D as Suffix,
117
- z as Value,
118
- it as formulaConfig,
119
- et as formulaDownloadConfig,
120
- V as sanitizeDataItem,
121
- nt as sanitizeDataItems
122
- };
123
- //# sourceMappingURL=formula.js.map
1
+ import { t as e } from "../row-CvVGBuy_.js";
2
+ import { a as t, c as n, d as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "../formula-Bk9CBzm2.js";
3
+ export { c as FormulaSkeleton, i as FormulaUI, r as Item, a as Prefix, e as Row, l as Series, n as Suffix, d as Value, t as formulaConfig, s as formulaDownloadConfig, u as sanitizeDataItem, o as sanitizeDataItems };