@carto/ps-react-ui 4.19.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 (416) 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 +5 -5
  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/band.d.ts +37 -0
  230. package/dist/types/widgets-v2/spread/band.test.d.ts +1 -0
  231. package/dist/types/widgets-v2/spread/index.d.ts +1 -0
  232. package/dist/types/widgets-v2/spread/separator.d.ts +1 -1
  233. package/dist/types/widgets-v2/spread/skeleton.d.ts +1 -1
  234. package/dist/types/widgets-v2/spread/spread-ui.d.ts +1 -1
  235. package/dist/types/widgets-v2/spread/spread.d.ts +1 -1
  236. package/dist/types/widgets-v2/state/widget-state.d.ts +1 -1
  237. package/dist/types/widgets-v2/subheader/subheader.d.ts +1 -1
  238. package/dist/types/widgets-v2/table/skeleton.d.ts +1 -1
  239. package/dist/types/widgets-v2/table/table-ui.d.ts +1 -1
  240. package/dist/types/widgets-v2/table/table.d.ts +1 -1
  241. package/dist/types/widgets-v2/timeseries/skeleton.d.ts +1 -1
  242. package/dist/types/widgets-v2/toolbox/toolbox.d.ts +1 -1
  243. package/dist/types/widgets-v2/wrapper/widget-actions.d.ts +2 -2
  244. package/dist/types/widgets-v2/wrapper/widget-content.d.ts +2 -2
  245. package/dist/types/widgets-v2/wrapper/widget-wrapper.d.ts +1 -1
  246. package/dist/use-widget-selector-VSPhfhNm.js +12 -0
  247. package/dist/{use-widget-selector-DFl2hW0R.js.map → use-widget-selector-VSPhfhNm.js.map} +1 -1
  248. package/dist/utils-DtvTjjMq.js +58 -0
  249. package/dist/utils-DtvTjjMq.js.map +1 -0
  250. package/dist/widget-store-BFPKYm4R.js +187 -0
  251. package/dist/widget-store-BFPKYm4R.js.map +1 -0
  252. package/dist/widgets/actions.js +2 -1317
  253. package/dist/widgets/bar.js +183 -175
  254. package/dist/widgets/bar.js.map +1 -1
  255. package/dist/widgets/category.js +429 -434
  256. package/dist/widgets/category.js.map +1 -1
  257. package/dist/widgets/echart.js +3 -120
  258. package/dist/widgets/error.js +28 -38
  259. package/dist/widgets/error.js.map +1 -1
  260. package/dist/widgets/formula.js +3 -123
  261. package/dist/widgets/histogram.js +183 -202
  262. package/dist/widgets/histogram.js.map +1 -1
  263. package/dist/widgets/loader.js +63 -61
  264. package/dist/widgets/loader.js.map +1 -1
  265. package/dist/widgets/markdown.js +141 -123
  266. package/dist/widgets/markdown.js.map +1 -1
  267. package/dist/widgets/no-data.js +52 -58
  268. package/dist/widgets/no-data.js.map +1 -1
  269. package/dist/widgets/note.js +125 -122
  270. package/dist/widgets/note.js.map +1 -1
  271. package/dist/widgets/pie.js +245 -259
  272. package/dist/widgets/pie.js.map +1 -1
  273. package/dist/widgets/range.js +225 -204
  274. package/dist/widgets/range.js.map +1 -1
  275. package/dist/widgets/scatterplot.js +220 -215
  276. package/dist/widgets/scatterplot.js.map +1 -1
  277. package/dist/widgets/selection-summary.js +39 -38
  278. package/dist/widgets/selection-summary.js.map +1 -1
  279. package/dist/widgets/skeleton-loader.js +22 -23
  280. package/dist/widgets/skeleton-loader.js.map +1 -1
  281. package/dist/widgets/spread.js +150 -156
  282. package/dist/widgets/spread.js.map +1 -1
  283. package/dist/widgets/stores.js +3 -8
  284. package/dist/widgets/subheader.js +49 -50
  285. package/dist/widgets/subheader.js.map +1 -1
  286. package/dist/widgets/table.js +576 -644
  287. package/dist/widgets/table.js.map +1 -1
  288. package/dist/widgets/timeseries.js +175 -170
  289. package/dist/widgets/timeseries.js.map +1 -1
  290. package/dist/widgets/toolbar-actions.js +140 -145
  291. package/dist/widgets/toolbar-actions.js.map +1 -1
  292. package/dist/widgets/utils.js +17 -33
  293. package/dist/widgets/utils.js.map +1 -1
  294. package/dist/widgets/wrapper.js +265 -276
  295. package/dist/widgets/wrapper.js.map +1 -1
  296. package/dist/widgets-v2/actions.js +4 -51
  297. package/dist/widgets-v2/bar.js +253 -307
  298. package/dist/widgets-v2/bar.js.map +1 -1
  299. package/dist/widgets-v2/category.js +2 -98
  300. package/dist/widgets-v2/echart.js +2 -57
  301. package/dist/widgets-v2/formula.js +2 -68
  302. package/dist/widgets-v2/histogram.js +285 -350
  303. package/dist/widgets-v2/histogram.js.map +1 -1
  304. package/dist/widgets-v2/markdown.js +3 -69
  305. package/dist/widgets-v2/pie.js +363 -461
  306. package/dist/widgets-v2/pie.js.map +1 -1
  307. package/dist/widgets-v2/range.js +2 -52
  308. package/dist/widgets-v2/scatterplot.js +316 -391
  309. package/dist/widgets-v2/scatterplot.js.map +1 -1
  310. package/dist/widgets-v2/spread.js +2 -66
  311. package/dist/widgets-v2/stores.js +2 -42
  312. package/dist/widgets-v2/table.js +2 -78
  313. package/dist/widgets-v2/timeseries.js +285 -340
  314. package/dist/widgets-v2/timeseries.js.map +1 -1
  315. package/dist/widgets-v2/utils.js +2 -8
  316. package/dist/widgets-v2.js +955 -951
  317. package/dist/widgets-v2.js.map +1 -1
  318. package/dist/zoom-toggle-CA0ifG23.js +164 -0
  319. package/dist/zoom-toggle-CA0ifG23.js.map +1 -0
  320. package/package.json +4 -4
  321. package/src/hooks/use-widget-ref.ts +1 -0
  322. package/src/widgets-v2/index.ts +6 -1
  323. package/src/widgets-v2/spread/band.test.ts +46 -0
  324. package/src/widgets-v2/spread/band.ts +47 -0
  325. package/src/widgets-v2/spread/index.ts +1 -0
  326. package/dist/category-Ct2BzADB.js +0 -753
  327. package/dist/category-Ct2BzADB.js.map +0 -1
  328. package/dist/change-column-Fu1DCYQ3.js +0 -1186
  329. package/dist/change-column-Fu1DCYQ3.js.map +0 -1
  330. package/dist/cjs-D4KH3azB.js +0 -85
  331. package/dist/cjs-D4KH3azB.js.map +0 -1
  332. package/dist/components.js.map +0 -1
  333. package/dist/copy-button-DGL1tyli.js +0 -26
  334. package/dist/copy-button-DGL1tyli.js.map +0 -1
  335. package/dist/csv-item-hH_Gt7ur.js +0 -32
  336. package/dist/csv-item-hH_Gt7ur.js.map +0 -1
  337. package/dist/data-zoom-layout-D_FYdnap.js +0 -28
  338. package/dist/data-zoom-layout-D_FYdnap.js.map +0 -1
  339. package/dist/download-config-OKlLLSW_.js +0 -58
  340. package/dist/download-config-OKlLLSW_.js.map +0 -1
  341. package/dist/echart-B10dhEaM.js +0 -262
  342. package/dist/echart-B10dhEaM.js.map +0 -1
  343. package/dist/exports-Cr43OCul.js +0 -51
  344. package/dist/exports-Cr43OCul.js.map +0 -1
  345. package/dist/exports-Cx-f6m6U.js +0 -63
  346. package/dist/exports-Cx-f6m6U.js.map +0 -1
  347. package/dist/formatter-B9Bxn1k7.js +0 -6
  348. package/dist/formatter-B9Bxn1k7.js.map +0 -1
  349. package/dist/formula-DuC0NQLH.js +0 -79
  350. package/dist/formula-DuC0NQLH.js.map +0 -1
  351. package/dist/lasso-tool-YLFRgb-S.js +0 -582
  352. package/dist/lasso-tool-YLFRgb-S.js.map +0 -1
  353. package/dist/legend/stores.js.map +0 -1
  354. package/dist/legend-store-registry-p1tSwJXH.js +0 -472
  355. package/dist/legend-store-registry-p1tSwJXH.js.map +0 -1
  356. package/dist/markdown-DdqANCiN.js +0 -102
  357. package/dist/markdown-DdqANCiN.js.map +0 -1
  358. package/dist/markdown-content-Dk2DSgbf.js +0 -10287
  359. package/dist/markdown-content-Dk2DSgbf.js.map +0 -1
  360. package/dist/option-builders-DPeoyQaM.js +0 -130
  361. package/dist/option-builders-DPeoyQaM.js.map +0 -1
  362. package/dist/options-CthfUJDz.js +0 -46
  363. package/dist/options-CthfUJDz.js.map +0 -1
  364. package/dist/png-item-9dNbB37T.js +0 -57
  365. package/dist/png-item-9dNbB37T.js.map +0 -1
  366. package/dist/range-l4fNHLEg.js +0 -213
  367. package/dist/range-l4fNHLEg.js.map +0 -1
  368. package/dist/resolve-theme-color-BdojIw0K.js +0 -47
  369. package/dist/resolve-theme-color-BdojIw0K.js.map +0 -1
  370. package/dist/row-DZSP99LW.js +0 -34
  371. package/dist/row-DZSP99LW.js.map +0 -1
  372. package/dist/series-DLNHDWs0.js +0 -90
  373. package/dist/series-DLNHDWs0.js.map +0 -1
  374. package/dist/shared-resize-observer-98b1SK1e.js +0 -17
  375. package/dist/shared-resize-observer-98b1SK1e.js.map +0 -1
  376. package/dist/smart-tooltip-DFV6GD8R.js +0 -40
  377. package/dist/smart-tooltip-DFV6GD8R.js.map +0 -1
  378. package/dist/spread-4MYPOntd.js +0 -66
  379. package/dist/spread-4MYPOntd.js.map +0 -1
  380. package/dist/style-DVnT6HC1.js +0 -131
  381. package/dist/style-DVnT6HC1.js.map +0 -1
  382. package/dist/styles-cohnxh9F.js +0 -23
  383. package/dist/styles-cohnxh9F.js.map +0 -1
  384. package/dist/table-CTcLOycx.js +0 -383
  385. package/dist/table-CTcLOycx.js.map +0 -1
  386. package/dist/tooltip-BDnrRKrp.js +0 -25
  387. package/dist/tooltip-BDnrRKrp.js.map +0 -1
  388. package/dist/transforms-Cdx4fkU5.js +0 -106
  389. package/dist/transforms-Cdx4fkU5.js.map +0 -1
  390. package/dist/use-transform-DXPN3nY7.js +0 -110
  391. package/dist/use-transform-DXPN3nY7.js.map +0 -1
  392. package/dist/use-widget-ref-Ddr_SlJJ.js +0 -22
  393. package/dist/use-widget-ref-Ddr_SlJJ.js.map +0 -1
  394. package/dist/use-widget-selector-DFl2hW0R.js +0 -12
  395. package/dist/utils-BOhInag6.js +0 -170
  396. package/dist/utils-BOhInag6.js.map +0 -1
  397. package/dist/widget-context-DTGO0Yta.js +0 -13
  398. package/dist/widget-context-DTGO0Yta.js.map +0 -1
  399. package/dist/widget-store-Bw5zRUGg.js +0 -261
  400. package/dist/widget-store-Bw5zRUGg.js.map +0 -1
  401. package/dist/widget-store-registry-_W4Z4xp-.js +0 -178
  402. package/dist/widget-store-registry-_W4Z4xp-.js.map +0 -1
  403. package/dist/widgets/actions.js.map +0 -1
  404. package/dist/widgets/echart.js.map +0 -1
  405. package/dist/widgets/formula.js.map +0 -1
  406. package/dist/widgets/stores.js.map +0 -1
  407. package/dist/widgets-v2/actions.js.map +0 -1
  408. package/dist/widgets-v2/category.js.map +0 -1
  409. package/dist/widgets-v2/echart.js.map +0 -1
  410. package/dist/widgets-v2/formula.js.map +0 -1
  411. package/dist/widgets-v2/markdown.js.map +0 -1
  412. package/dist/widgets-v2/range.js.map +0 -1
  413. package/dist/widgets-v2/spread.js.map +0 -1
  414. package/dist/widgets-v2/stores.js.map +0 -1
  415. package/dist/widgets-v2/table.js.map +0 -1
  416. package/dist/widgets-v2/utils.js.map +0 -1
@@ -0,0 +1,277 @@
1
+ import { C as e, T as t } from "./stores-BVFMfgyo.js";
2
+ import { c as n } from "react/compiler-runtime";
3
+ import { useState as r } from "react";
4
+ import { Box as i, Skeleton as a, Slider as o, TextField as s, Typography as c } from "@mui/material";
5
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
+ //#region src/widgets-v2/range/style.ts
7
+ var d = {
8
+ root: {
9
+ display: "flex",
10
+ flexDirection: "column",
11
+ gap: 3,
12
+ py: 1
13
+ },
14
+ item: {
15
+ display: "flex",
16
+ flexDirection: "column",
17
+ gap: 1.5
18
+ },
19
+ sliderContainer: {
20
+ display: "flex",
21
+ flexDirection: "column",
22
+ gap: 1,
23
+ px: 1
24
+ },
25
+ slider: {
26
+ width: "100%",
27
+ "&.Mui-disabled": { color: (e) => e.palette.text.disabled }
28
+ },
29
+ inputsRow: {
30
+ display: "flex",
31
+ gap: 2,
32
+ alignItems: "center"
33
+ },
34
+ input: {
35
+ flex: 1,
36
+ "& .MuiInputBase-input": { textAlign: "center" }
37
+ },
38
+ note: { color: "text.secondary" }
39
+ };
40
+ //#endregion
41
+ //#region src/widgets-v2/range/range-ui.tsx
42
+ function f(e) {
43
+ let t = n(11), { items: r, onChange: a, onChangeCommitted: o, formatter: s } = e, c = s ?? p, u;
44
+ if (t[0] !== c || t[1] !== r || t[2] !== a || t[3] !== o) {
45
+ let e;
46
+ t[5] !== c || t[6] !== a || t[7] !== o ? (e = (e, t) => /* @__PURE__ */ l(m, {
47
+ index: t,
48
+ item: e,
49
+ fmt: c,
50
+ onChange: a,
51
+ onChangeCommitted: o
52
+ }, `range-${e.min}-${e.max}-${t}`), t[5] = c, t[6] = a, t[7] = o, t[8] = e) : e = t[8], u = r.map(e), t[0] = c, t[1] = r, t[2] = a, t[3] = o, t[4] = u;
53
+ } else u = t[4];
54
+ let f;
55
+ return t[9] === u ? f = t[10] : (f = /* @__PURE__ */ l(i, {
56
+ sx: d.root,
57
+ children: u
58
+ }), t[9] = u, t[10] = f), f;
59
+ }
60
+ function p(e) {
61
+ return String(e);
62
+ }
63
+ function m(e) {
64
+ let t = n(70), { index: a, item: s, fmt: f, onChange: p, onChangeCommitted: m } = e, _;
65
+ t[0] !== s.max || t[1] !== s.min || t[2] !== s.value ? (_ = s.value ?? [s.min, s.max], t[0] = s.max, t[1] = s.min, t[2] = s.value, t[3] = _) : _ = t[3];
66
+ let v = _, [y, b] = r(""), x;
67
+ t[4] !== s.max || t[5] !== s.min ? (x = (e) => {
68
+ let [t, n] = e, r = Math.min(Math.max(t, s.min), s.max), i = Math.min(Math.max(n, s.min), s.max);
69
+ return r <= i ? [r, i] : [i, r];
70
+ }, t[4] = s.max, t[5] = s.min, t[6] = x) : x = t[6];
71
+ let S = x, C;
72
+ t[7] !== a || t[8] !== S || t[9] !== p ? (C = (e) => {
73
+ p?.(a, S(e));
74
+ }, t[7] = a, t[8] = S, t[9] = p, t[10] = C) : C = t[10];
75
+ let w = C, T;
76
+ t[11] !== a || t[12] !== S || t[13] !== m ? (T = (e) => {
77
+ m?.(a, S(e));
78
+ }, t[11] = a, t[12] = S, t[13] = m, t[14] = T) : T = t[14];
79
+ let E = T, D;
80
+ t[15] !== a || t[16] !== S || t[17] !== p || t[18] !== m ? (D = (e) => {
81
+ let t = S(e);
82
+ p?.(a, t), m?.(a, t);
83
+ }, t[15] = a, t[16] = S, t[17] = p, t[18] = m, t[19] = D) : D = t[19];
84
+ let O = D, k;
85
+ t[20] !== w || t[21] !== s.max || t[22] !== s.min ? (k = (e, t) => {
86
+ if (!Array.isArray(t)) return;
87
+ let n = t[0] ?? s.min, r = t[1] ?? s.max;
88
+ w([n, r]);
89
+ }, t[20] = w, t[21] = s.max, t[22] = s.min, t[23] = k) : k = t[23];
90
+ let A = k, j;
91
+ t[24] !== E || t[25] !== s.max || t[26] !== s.min ? (j = (e, t) => {
92
+ if (!Array.isArray(t)) return;
93
+ let n = t[0] ?? s.min, r = t[1] ?? s.max;
94
+ E([n, r]);
95
+ }, t[24] = E, t[25] = s.max, t[26] = s.min, t[27] = j) : j = t[27];
96
+ let M = j, N;
97
+ t[28] === s.color ? N = t[29] : (N = s.color ? { color: s.color } : null, t[28] = s.color, t[29] = N);
98
+ let P;
99
+ t[30] === N ? P = t[31] : (P = {
100
+ ...d.slider,
101
+ ...N
102
+ }, t[30] = N, t[31] = P);
103
+ let F;
104
+ t[32] === v ? F = t[33] : (F = [...v], t[32] = v, t[33] = F);
105
+ let I = s.min, L = s.max, R = s.step ?? 1, z;
106
+ t[34] === s.marks ? z = t[35] : (z = g(s.marks), t[34] = s.marks, t[35] = z);
107
+ let B;
108
+ t[36] !== f || t[37] !== A || t[38] !== M || t[39] !== s.disabled || t[40] !== s.max || t[41] !== s.min || t[42] !== F || t[43] !== R || t[44] !== z || t[45] !== P ? (B = /* @__PURE__ */ l(i, {
109
+ sx: d.sliderContainer,
110
+ children: /* @__PURE__ */ l(o, {
111
+ sx: P,
112
+ value: F,
113
+ min: I,
114
+ max: L,
115
+ step: R,
116
+ marks: z,
117
+ disabled: s.disabled,
118
+ valueLabelDisplay: "auto",
119
+ valueLabelFormat: f,
120
+ onChange: A,
121
+ onChangeCommitted: M
122
+ })
123
+ }), t[36] = f, t[37] = A, t[38] = M, t[39] = s.disabled, t[40] = s.max, t[41] = s.min, t[42] = F, t[43] = R, t[44] = z, t[45] = P, t[46] = B) : B = t[46];
124
+ let V = `min-${v[0]}`, H;
125
+ t[47] !== O || t[48] !== v || t[49] !== y || t[50] !== f || t[51] !== s || t[52] !== V ? (H = /* @__PURE__ */ l(h, {
126
+ name: "min",
127
+ value: v[0],
128
+ item: s,
129
+ fmt: f,
130
+ editing: y,
131
+ setEditing: b,
132
+ commit: O,
133
+ current: v,
134
+ ariaLabel: "Minimum value"
135
+ }, V), t[47] = O, t[48] = v, t[49] = y, t[50] = f, t[51] = s, t[52] = V, t[53] = H) : H = t[53];
136
+ let U = `max-${v[1]}`, W;
137
+ t[54] !== O || t[55] !== v || t[56] !== y || t[57] !== f || t[58] !== s || t[59] !== U ? (W = /* @__PURE__ */ l(h, {
138
+ name: "max",
139
+ value: v[1],
140
+ item: s,
141
+ fmt: f,
142
+ editing: y,
143
+ setEditing: b,
144
+ commit: O,
145
+ current: v,
146
+ ariaLabel: "Maximum value"
147
+ }, U), t[54] = O, t[55] = v, t[56] = y, t[57] = f, t[58] = s, t[59] = U, t[60] = W) : W = t[60];
148
+ let G;
149
+ t[61] !== H || t[62] !== W ? (G = /* @__PURE__ */ u(i, {
150
+ sx: d.inputsRow,
151
+ children: [H, W]
152
+ }), t[61] = H, t[62] = W, t[63] = G) : G = t[63];
153
+ let K;
154
+ t[64] === s.note ? K = t[65] : (K = s.note ? /* @__PURE__ */ l(c, {
155
+ variant: "caption",
156
+ sx: d.note,
157
+ children: s.note
158
+ }) : null, t[64] = s.note, t[65] = K);
159
+ let q;
160
+ return t[66] !== B || t[67] !== G || t[68] !== K ? (q = /* @__PURE__ */ u(i, {
161
+ sx: d.item,
162
+ children: [
163
+ B,
164
+ G,
165
+ K
166
+ ]
167
+ }), t[66] = B, t[67] = G, t[68] = K, t[69] = q) : q = t[69], q;
168
+ }
169
+ function h(e) {
170
+ let t = n(26), { name: i, value: a, item: o, fmt: c, editing: u, setEditing: f, commit: p, current: m, ariaLabel: h } = e, [g, _] = r(String(a)), v;
171
+ t[0] !== i || t[1] !== f ? (v = () => {
172
+ f(i);
173
+ }, t[0] = i, t[1] = f, t[2] = v) : v = t[2];
174
+ let y = v, b, x;
175
+ if (t[3] !== p || t[4] !== m || t[5] !== i || t[6] !== f || t[7] !== a) {
176
+ x = (t) => {
177
+ f(""), e(t.target.value);
178
+ }, b = (t) => {
179
+ t.key === "Enter" && (e(t.target.value), t.target.blur());
180
+ };
181
+ function e(e) {
182
+ let t = parseFloat(e), n = Number.isFinite(t) ? t : a, r = i === "min" ? [n, m[1]] : [m[0], n];
183
+ p(r);
184
+ }
185
+ t[3] = p, t[4] = m, t[5] = i, t[6] = f, t[7] = a, t[8] = b, t[9] = x;
186
+ } else b = t[8], x = t[9];
187
+ let S;
188
+ t[10] !== u || t[11] !== c || t[12] !== i || t[13] !== g ? (S = u === i ? g : c(Number(g)), t[10] = u, t[11] = c, t[12] = i, t[13] = g, t[14] = S) : S = t[14];
189
+ let C = S, w;
190
+ t[15] === Symbol.for("react.memo_cache_sentinel") ? (w = (e) => _(e.target.value), t[15] = w) : w = t[15];
191
+ let T;
192
+ t[16] === h ? T = t[17] : (T = { "aria-label": h }, t[16] = h, t[17] = T);
193
+ let E;
194
+ return t[18] !== y || t[19] !== b || t[20] !== C || t[21] !== x || t[22] !== o.disabled || t[23] !== i || t[24] !== T ? (E = /* @__PURE__ */ l(s, {
195
+ name: i,
196
+ value: C,
197
+ onChange: w,
198
+ onFocus: y,
199
+ onBlur: x,
200
+ onKeyDown: b,
201
+ disabled: o.disabled,
202
+ size: "small",
203
+ sx: d.input,
204
+ inputProps: T
205
+ }), t[18] = y, t[19] = b, t[20] = C, t[21] = x, t[22] = o.disabled, t[23] = i, t[24] = T, t[25] = E) : E = t[25], E;
206
+ }
207
+ function g(e) {
208
+ if (e != null) return typeof e == "boolean" ? e : [...e];
209
+ }
210
+ //#endregion
211
+ //#region src/widgets-v2/range/range.tsx
212
+ var _ = (e) => ({
213
+ data: e.data ?? [],
214
+ formatter: e.formatter
215
+ });
216
+ function v(r) {
217
+ let i = n(5), { onChange: a, onChangeCommitted: o } = r, s = t(), c = e(s, _), u;
218
+ return i[0] !== a || i[1] !== o || i[2] !== c.data || i[3] !== c.formatter ? (u = /* @__PURE__ */ l(f, {
219
+ items: c.data,
220
+ formatter: c.formatter,
221
+ onChange: a,
222
+ onChangeCommitted: o
223
+ }), i[0] = a, i[1] = o, i[2] = c.data, i[3] = c.formatter, i[4] = u) : u = i[4], u;
224
+ }
225
+ //#endregion
226
+ //#region src/widgets-v2/range/skeleton.tsx
227
+ var y = {
228
+ root: {
229
+ display: "flex",
230
+ flexDirection: "column",
231
+ gap: 3,
232
+ py: 1
233
+ },
234
+ item: {
235
+ display: "flex",
236
+ flexDirection: "column",
237
+ gap: 1.5
238
+ },
239
+ track: { height: 32 },
240
+ inputsRow: {
241
+ display: "flex",
242
+ gap: 2
243
+ },
244
+ input: {
245
+ flex: 1,
246
+ height: 40
247
+ }
248
+ };
249
+ function b(e) {
250
+ let t = n(2), { count: r } = e, a = r === void 0 ? 1 : r, o;
251
+ return t[0] === a ? o = t[1] : (o = /* @__PURE__ */ l(i, {
252
+ sx: y.root,
253
+ children: Array.from({ length: a }).map(x)
254
+ }), t[0] = a, t[1] = o), o;
255
+ }
256
+ function x(e, t) {
257
+ return /* @__PURE__ */ u(i, {
258
+ sx: y.item,
259
+ children: [/* @__PURE__ */ l(a, {
260
+ variant: "rectangular",
261
+ sx: y.track
262
+ }), /* @__PURE__ */ u(i, {
263
+ sx: y.inputsRow,
264
+ children: [/* @__PURE__ */ l(a, {
265
+ variant: "rectangular",
266
+ sx: y.input
267
+ }), /* @__PURE__ */ l(a, {
268
+ variant: "rectangular",
269
+ sx: y.input
270
+ })]
271
+ })]
272
+ }, `item-${t}`);
273
+ }
274
+ //#endregion
275
+ export { v as n, f as r, b as t };
276
+
277
+ //# sourceMappingURL=range-BPWVrAsY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-BPWVrAsY.js","names":["SxProps","Theme","styles","root","display","flexDirection","gap","py","item","sliderContainer","px","slider","width","color","theme","palette","text","disabled","inputsRow","alignItems","input","flex","textAlign","note","Record","useCallback","useState","FocusEvent","KeyboardEvent","Box","Slider","TextField","Typography","RangeDataItem","RangeItemValue","styles","RangeUIProps","items","onChange","index","value","onChangeCommitted","formatter","Bound","RangeUI","t0","$","_c","fmt","_temp","t1","t2","item","i","min","max","map","root","n","String","RangeRowProps","RangeRow","current","editing","setEditing","next","lowRaw","highRaw","low","Math","high","normalize","t3","next_0","commit","t4","next_1","commitFinal","t5","next_2","commitText","t6","_","raw","Array","isArray","low_0","high_0","handleSlider","t7","__0","raw_0","low_1","high_1","handleSliderCommitted","t8","color","t9","slider","t10","t11","t12","t13","step","t14","marks","resolveMarks","t15","disabled","sliderContainer","t16","t17","t18","t19","t20","inputsRow","t21","note","t22","BoundInputProps","name","ariaLabel","BoundInput","setRaw","beginEditing","commitOnEnter","finishEditingAndCommit","e","commitFromText","target","e_0","key","HTMLInputElement","blur","input","parsed","parseFloat","safe","Number","isFinite","display","Symbol","for","e_1","label","undefined","useWidgetId","useWidgetShallow","RangeUI","RangeItemValue","RangeWidgetData","RangeSlice","data","formatter","value","rangeSelector","s","RangeProps","onChange","index","onChangeCommitted","Range","t0","$","_c","id","slice","t1","Box","Skeleton","SxProps","Theme","styles","root","display","flexDirection","gap","py","item","track","height","inputsRow","input","flex","Record","RangeSkeletonProps","count","RangeSkeleton","t0","$","_c","t1","undefined","t2","Array","from","length","map","_temp","_","i"],"sources":["../src/widgets-v2/range/style.ts","../src/widgets-v2/range/range-ui.tsx","../src/widgets-v2/range/range.tsx","../src/widgets-v2/range/skeleton.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n py: 1,\n },\n item: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n },\n sliderContainer: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n px: 1,\n },\n slider: {\n width: '100%',\n '&.Mui-disabled': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n inputsRow: {\n display: 'flex',\n gap: 2,\n alignItems: 'center',\n },\n input: {\n flex: 1,\n '& .MuiInputBase-input': {\n textAlign: 'center',\n },\n },\n note: {\n color: 'text.secondary',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import {\n useCallback,\n useState,\n type FocusEvent,\n type KeyboardEvent,\n} from 'react'\nimport { Box, Slider, TextField, Typography } from '@mui/material'\nimport type { RangeDataItem, RangeItemValue } from './types'\nimport { styles } from './style'\n\nexport interface RangeUIProps {\n items: readonly RangeDataItem[]\n /**\n * Fires on every pointer tick while a thumb is being dragged (mirrors\n * MUI `<Slider>`'s `onChange`). Use this to update local UI state —\n * not to persist expensive operations like remote queries.\n */\n onChange?: (index: number, value: RangeItemValue) => void\n /**\n * Fires once when the user *releases* a slider thumb after dragging,\n * after an arrow-key adjustment commits, or when the text inputs\n * blur / Enter. Mirrors MUI `<Slider>`'s `onChangeCommitted`. Use\n * this for side-effects you want to throttle to \"drag end\" — e.g.\n * writing the value to a source filter that triggers refetches.\n */\n onChangeCommitted?: (index: number, value: RangeItemValue) => void\n /** Number formatter for the slider tooltip and the text input display. */\n formatter?: (value: number) => string\n}\n\ntype Bound = 'min' | 'max'\n\n/**\n * Pure presentational component for the Range widget. Renders one MUI Slider\n * per item with editable min/max text inputs below — matching the Range v1\n * UX. Each item is always a two-thumb range; supply `value` to seed the\n * starting selection, otherwise it defaults to `[min, max]`.\n */\nexport function RangeUI({\n items,\n onChange,\n onChangeCommitted,\n formatter,\n}: RangeUIProps) {\n const fmt = formatter ?? ((n: number) => String(n))\n return (\n <Box sx={styles.root}>\n {items.map((item, i) => (\n // Composite of the row's track bounds — stable across reorders for\n // any realistic widget configuration. Falls back to a literal +\n // index when bounds collide (degenerate same-min-same-max rows).\n <RangeRow\n key={`range-${item.min}-${item.max}-${i}`}\n index={i}\n item={item}\n fmt={fmt}\n onChange={onChange}\n onChangeCommitted={onChangeCommitted}\n />\n ))}\n </Box>\n )\n}\n\ninterface RangeRowProps {\n index: number\n item: RangeDataItem\n fmt: (n: number) => string\n onChange?: (index: number, value: RangeItemValue) => void\n onChangeCommitted?: (index: number, value: RangeItemValue) => void\n}\n\nfunction RangeRow({\n index,\n item,\n fmt,\n onChange,\n onChangeCommitted,\n}: RangeRowProps) {\n const current: readonly [number, number] = item.value ?? [item.min, item.max]\n const [editing, setEditing] = useState<'' | Bound>('')\n\n // Clamp inside [min, max] and keep `low <= high`. Pulled out so both the\n // live `onChange` path and the commit path share the same normalization.\n const normalize = useCallback(\n (next: readonly [number, number]): readonly [number, number] => {\n const [lowRaw, highRaw] = next\n const low = Math.min(Math.max(lowRaw, item.min), item.max)\n const high = Math.min(Math.max(highRaw, item.min), item.max)\n return low <= high ? [low, high] : [high, low]\n },\n [item.min, item.max],\n )\n\n const commit = useCallback(\n (next: readonly [number, number]) => {\n onChange?.(index, normalize(next))\n },\n [index, normalize, onChange],\n )\n\n const commitFinal = useCallback(\n (next: readonly [number, number]) => {\n onChangeCommitted?.(index, normalize(next))\n },\n [index, normalize, onChangeCommitted],\n )\n\n // A text-input commit (blur / Enter) is both a value change AND a final\n // commit, so it fires `onChange` *and* `onChangeCommitted`. Firing both\n // keeps the widget responsive for consumers that only wired `onChange`\n // (the pre-`onChangeCommitted` API) — without it, typing a value and\n // pressing Enter would silently no-op for them.\n const commitText = useCallback(\n (next: readonly [number, number]) => {\n const value = normalize(next)\n onChange?.(index, value)\n onChangeCommitted?.(index, value)\n },\n [index, normalize, onChange, onChangeCommitted],\n )\n\n const handleSlider = (_: Event, raw: number | number[]) => {\n if (!Array.isArray(raw)) return\n // Hoist defaults out of the destructure: react-compiler can't safely\n // reorder MemberExpression defaults inside an array pattern.\n const low = raw[0] ?? item.min\n const high = raw[1] ?? item.max\n commit([low, high])\n }\n\n const handleSliderCommitted = (\n _: Event | React.SyntheticEvent,\n raw: number | number[],\n ) => {\n if (!Array.isArray(raw)) return\n const low = raw[0] ?? item.min\n const high = raw[1] ?? item.max\n commitFinal([low, high])\n }\n\n return (\n <Box sx={styles.item}>\n <Box sx={styles.sliderContainer}>\n <Slider\n sx={{\n ...styles.slider,\n ...(item.color ? { color: item.color } : null),\n }}\n value={[...current]}\n min={item.min}\n max={item.max}\n step={item.step ?? 1}\n marks={resolveMarks(item.marks)}\n disabled={item.disabled}\n valueLabelDisplay='auto'\n valueLabelFormat={fmt}\n onChange={handleSlider}\n onChangeCommitted={handleSliderCommitted}\n />\n </Box>\n <Box sx={styles.inputsRow}>\n {/* Text-input commits (blur / Enter) are final, but also notify\n `onChange` — see `commitText` — so consumers that only wired\n `onChange` still update on a typed value. */}\n <BoundInput\n // Bumping the key on a fresh external value resets the local\n // editing state — matches v1's RangeItem behaviour.\n key={`min-${current[0]}`}\n name='min'\n value={current[0]}\n item={item}\n fmt={fmt}\n editing={editing}\n setEditing={setEditing}\n commit={commitText}\n current={current}\n ariaLabel='Minimum value'\n />\n <BoundInput\n key={`max-${current[1]}`}\n name='max'\n value={current[1]}\n item={item}\n fmt={fmt}\n editing={editing}\n setEditing={setEditing}\n commit={commitText}\n current={current}\n ariaLabel='Maximum value'\n />\n </Box>\n {item.note ? (\n <Typography variant='caption' sx={styles.note}>\n {item.note}\n </Typography>\n ) : null}\n </Box>\n )\n}\n\ninterface BoundInputProps {\n name: Bound\n value: number\n item: RangeDataItem\n fmt: (n: number) => string\n editing: '' | Bound\n setEditing: (next: '' | Bound) => void\n /**\n * Called when the user commits a new value (blur / Enter). Text input\n * edits never produce intermediate \"live\" values, so the consumer\n * only needs one callback — the row wires this to `commitFinal`.\n */\n commit: (next: readonly [number, number]) => void\n current: readonly [number, number]\n ariaLabel: string\n}\n\nfunction BoundInput({\n name,\n value,\n item,\n fmt,\n editing,\n setEditing,\n commit,\n current,\n ariaLabel,\n}: BoundInputProps) {\n const [raw, setRaw] = useState<string>(String(value))\n\n const beginEditing = () => {\n setEditing(name)\n }\n const finishEditingAndCommit = (e: FocusEvent<HTMLInputElement>) => {\n setEditing('')\n commitFromText(e.target.value)\n }\n const commitOnEnter = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n commitFromText((e.target as HTMLInputElement).value)\n ;(e.target as HTMLInputElement).blur()\n }\n }\n\n function commitFromText(input: string) {\n const parsed = parseFloat(input)\n const safe = Number.isFinite(parsed) ? parsed : value\n const next: readonly [number, number] =\n name === 'min' ? [safe, current[1]] : [current[0], safe]\n commit(next)\n }\n\n const display = editing === name ? raw : fmt(Number(raw))\n\n return (\n <TextField\n name={name}\n value={display}\n onChange={(e) => setRaw(e.target.value)}\n onFocus={beginEditing}\n onBlur={finishEditingAndCommit}\n onKeyDown={commitOnEnter}\n disabled={item.disabled}\n size='small'\n sx={styles.input}\n inputProps={{ 'aria-label': ariaLabel }}\n />\n )\n}\n\nfunction resolveMarks(\n marks: RangeDataItem['marks'],\n): boolean | { value: number; label?: string }[] | undefined {\n if (marks == null) return undefined\n if (typeof marks === 'boolean') return marks\n return [...marks]\n}\n","import { useWidgetId, useWidgetShallow } from '../stores'\nimport { RangeUI } from './range-ui'\nimport type { RangeItemValue, RangeWidgetData } from './types'\n\ninterface RangeSlice {\n data: RangeWidgetData\n formatter?: (value: number) => string\n}\n\nconst rangeSelector = (s: {\n data: unknown\n formatter?: (value: number) => string\n}): RangeSlice => ({\n data: (s.data ?? []) as RangeWidgetData,\n formatter: s.formatter,\n})\n\nexport interface RangeProps {\n /**\n * Fires on every pointer tick while a thumb is being dragged. Use this\n * for cheap UI updates (local state, optimistic display).\n */\n onChange?: (index: number, value: RangeItemValue) => void\n /**\n * Fires once when the user *releases* a slider thumb (or when the text\n * inputs blur / Enter, or when an arrow-key adjustment settles). Use\n * this for expensive side-effects you want throttled to drag end —\n * e.g. writing the value to a source filter that refetches widgets.\n */\n onChangeCommitted?: (index: number, value: RangeItemValue) => void\n}\n\n/**\n * Stateful Range bridge — reads `data` (post-pipeline) and `formatter` from\n * the per-widget store and forwards them to the pure {@link RangeUI}. Per\n * the destination-owned principle, value changes flow back through\n * `onChange` (per-tick) and `onChangeCommitted` (drag end) — the consumer\n * is expected to update the data prop on `<Provider>`. Use `disabled` on\n * individual `RangeDataItem`s to disable specific rows.\n */\nexport function Range({ onChange, onChangeCommitted }: RangeProps) {\n const id = useWidgetId()\n const slice = useWidgetShallow(id, rangeSelector)\n return (\n <RangeUI\n items={slice.data}\n formatter={slice.formatter}\n onChange={onChange}\n onChangeCommitted={onChangeCommitted}\n />\n )\n}\n","import { Box, Skeleton } from '@mui/material'\nimport type { SxProps, Theme } from '@mui/material'\n\nconst styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n py: 1,\n },\n item: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n },\n track: { height: 32 },\n inputsRow: {\n display: 'flex',\n gap: 2,\n },\n input: { flex: 1, height: 40 },\n} satisfies Record<string, SxProps<Theme>>\n\nexport interface RangeSkeletonProps {\n count?: number\n}\n\n/**\n * Loading placeholder for the Range widget. Renders `count` rows, each\n * matching the slider-then-inputs layout of {@link RangeUI} so the layout\n * doesn't jump when data resolves.\n */\nexport function RangeSkeleton({ count = 1 }: RangeSkeletonProps) {\n return (\n <Box sx={styles.root}>\n {Array.from({ length: count }).map((_, i) => (\n <Box key={`item-${i}`} sx={styles.item}>\n <Skeleton variant='rectangular' sx={styles.track} />\n <Box sx={styles.inputsRow}>\n <Skeleton variant='rectangular' sx={styles.input} />\n <Skeleton variant='rectangular' sx={styles.input} />\n </Box>\n </Box>\n ))}\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ //#region \0rolldown/runtime.js
2
+ var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, n) => {
3
+ let r = {};
4
+ for (var i in e) t(r, i, {
5
+ get: e[i],
6
+ enumerable: !0
7
+ });
8
+ return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
9
+ }, c = (e, i, o, s) => {
10
+ if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
11
+ get: ((e) => i[e]).bind(null, d),
12
+ enumerable: !(s = n(i, d)) || s.enumerable
13
+ });
14
+ return e;
15
+ }, l = (n, r, o) => (o = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule || !a.call(n, "default") ? t(o, "default", {
16
+ value: n,
17
+ enumerable: !0
18
+ }) : o, n));
19
+ //#endregion
20
+ export { s as n, l as r, o as t };
@@ -0,0 +1,35 @@
1
+ import { t as e } from "./use-widget-selector-VSPhfhNm.js";
2
+ import { c as t } from "react/compiler-runtime";
3
+ import { Box as n } from "@mui/material";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/widgets/formula/style.ts
6
+ var i = {
7
+ root: {
8
+ display: "flex",
9
+ flexDirection: "column",
10
+ gap: (e) => e.spacing(2)
11
+ },
12
+ item: { "&[data-disabled=\"true\"]": { color: (e) => e.palette.text.disabled } },
13
+ row: {
14
+ display: "flex",
15
+ alignItems: "center",
16
+ gap: (e) => e.spacing(1),
17
+ "& + &": { marginTop: (e) => e.spacing(1) }
18
+ }
19
+ };
20
+ //#endregion
21
+ //#region src/widgets/formula/components/row.tsx
22
+ function a(a) {
23
+ let s = t(3), c = e(a.id, o), l;
24
+ return s[0] !== c || s[1] !== a ? (l = c?.map((e, t) => /* @__PURE__ */ r(n, {
25
+ sx: i.row,
26
+ children: typeof a.children == "function" ? a.children({ index: t }) : a.children
27
+ }, `row-${t}`)), s[0] = c, s[1] = a, s[2] = l) : l = s[2], l;
28
+ }
29
+ function o(e) {
30
+ return e?.data;
31
+ }
32
+ //#endregion
33
+ export { i as n, a as t };
34
+
35
+ //# sourceMappingURL=row-CvVGBuy_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-CvVGBuy_.js","names":["SxProps","Theme","styles","root","display","flexDirection","gap","theme","spacing","item","color","palette","text","disabled","row","alignItems","marginTop","Record","Box","styles","FormulaWidgetState","RowProps","useWidgetSelector","Row","props","$","_c","data","id","_temp","t0","map","_","index","row","children","w"],"sources":["../src/widgets/formula/style.ts","../src/widgets/formula/components/row.tsx"],"sourcesContent":["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(1),\n\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from '../style'\nimport type { FormulaWidgetState, RowProps } from '../types'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\n\n/**\n * Iterates over the widget's data items and renders a row for each one using render props.\n */\nexport function Row(props: RowProps) {\n const data = useWidgetSelector(\n props.id,\n (w) => (w as FormulaWidgetState | undefined)?.data,\n )\n\n return data?.map((_, index) => {\n return (\n <Box sx={styles.row} key={`row-${index}`}>\n {typeof props.children === 'function'\n ? props.children({ index })\n : props.children}\n </Box>\n )\n })\n}\n"],"mappings":";;;;;AAEA,IAAaE,IAAS;CACpBC,MAAM;EACJC,SAAS;EACTC,eAAe;EACfC,MAAMC,MAAiBA,EAAMC,QAAQ,CAAC;CACxC;CACAC,MAAM,EACJ,6BAA2B,EACzBC,QAAQH,MAAiBA,EAAMI,QAAQC,KAAKC,SAC9C,EACF;CACAC,KAAK;EACHV,SAAS;EACTW,YAAY;EACZT,MAAMC,MAAiBA,EAAMC,QAAQ,CAAC;EAEtC,SAAS,EACPQ,YAAYT,MAAiBA,EAAMC,QAAQ,CAAC,EAC9C;CACF;AACF;;;ACdA,SAAOe,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GACLC,IAAaL,EACXE,EAAKI,IACLC,CACF,GAACC;CAUC,OAVDL,EAAA,OAAAE,KAAAF,EAAA,OAAAD,KAEMM,IAAAH,GAAII,KAAMC,GAAAC,MAEb,kBAAC,GAAD;EAAS,IAAAd,EAAMe;EACZ,UAAA,OAAOV,EAAKW,YAAc,aACvBX,EAAKW,SAAU,EAAAF,SAAQ,CACV,IAAbT,EAAKW;CAHP,GAAsB,OAAOF,GAA7B,CAMP,GAACR,EAAA,KAAAE,GAAAF,EAAA,KAAAD,GAAAC,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IARKK;AAQL;AAdG,SAAAD,EAAAO,GAAA;CAAA,OAGKA,GAA0CT;AAAA"}
@@ -0,0 +1,157 @@
1
+ import { r as e } from "./rolldown-runtime-B0aSnxlc.js";
2
+ import { t } from "./cjs-CBrZjPCj.js";
3
+ //#region src/widgets/echart/const.ts
4
+ var n = /* @__PURE__ */ e(t(), 1), r = "stacked";
5
+ //#endregion
6
+ //#region src/widgets/echart/utils.ts
7
+ function i(e, t, r) {
8
+ return (0, n.default)(e ?? {}, t ?? {}, { customMerge: (e) => {
9
+ let t = r?.(e);
10
+ if (t) return t;
11
+ if (e === "color") return (e, t) => t;
12
+ if (e === "axisLabel") return (e, t) => {
13
+ let n = {
14
+ ...e,
15
+ ...t
16
+ };
17
+ if (typeof e?.formatter == "function" && typeof t?.formatter == "function") {
18
+ let r = e.formatter, i = t.formatter;
19
+ n.formatter = (e) => r(e) === "" ? "" : i(e);
20
+ }
21
+ return n;
22
+ };
23
+ if (e === "series") return (e, t) => {
24
+ let r = Math.max(e?.length ?? 0, t?.length ?? 0);
25
+ return Array.from({ length: r }, (r, i) => {
26
+ let a = e?.[i] ?? {}, o = t?.[i] ?? {};
27
+ return (0, n.default)(a, o);
28
+ });
29
+ };
30
+ } });
31
+ }
32
+ function a({ start: e, end: t } = {
33
+ start: 0,
34
+ end: 100
35
+ }, { inside: n = !0, xSlider: r = !0, ySlider: i = !1, showSliders: a = !0, xAxisLabelFormatter: s, bottomOffset: c = 0 } = {}, l) {
36
+ let u = l ? o(l) : {};
37
+ return { dataZoom: [
38
+ n && {
39
+ throttle: 0,
40
+ type: "inside",
41
+ xAxisIndex: r ? [0] : [],
42
+ yAxisIndex: i ? [0] : [],
43
+ show: !0,
44
+ zoomLock: !1,
45
+ start: e,
46
+ end: t
47
+ },
48
+ n && i && {
49
+ throttle: 0,
50
+ type: "inside",
51
+ show: !0,
52
+ zoomLock: !1,
53
+ start: e,
54
+ end: t,
55
+ orientation: "vertical"
56
+ },
57
+ r && {
58
+ throttle: 0,
59
+ type: "slider",
60
+ xAxisIndex: [0],
61
+ bottom: c,
62
+ height: parseInt(l?.spacing?.(4) ?? "32"),
63
+ show: a,
64
+ zoomLock: !1,
65
+ start: e,
66
+ end: t,
67
+ labelFormatter: s,
68
+ showDetail: !1,
69
+ ...u,
70
+ brushSelect: !1,
71
+ moveHandleSize: 8,
72
+ handleSize: "100%",
73
+ handleIcon: "image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4="
74
+ },
75
+ i && {
76
+ throttle: 0,
77
+ type: "slider",
78
+ left: parseInt(l?.spacing?.(6) ?? "48"),
79
+ width: parseInt(l?.spacing?.(4) ?? "32"),
80
+ yAxisIndex: [0],
81
+ show: a,
82
+ zoomLock: !1,
83
+ start: e,
84
+ end: t,
85
+ ...u,
86
+ brushSelect: !1,
87
+ moveHandleSize: 8,
88
+ handleSize: "100%",
89
+ handleIcon: "image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDM2IDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iOCIgaGVpZ2h0PSIxOCIgcng9IjQiIHRyYW5zZm9ybT0icm90YXRlKC05MCAwLjUgMC41KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDEzIDYpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09InJvdGF0ZSgtOTAgMTcgNikiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0icm90YXRlKC05MCAyMSA2KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4="
90
+ }
91
+ ].filter((e) => !!e) };
92
+ }
93
+ function o(e) {
94
+ return {
95
+ fillerColor: "rgba(53, 139, 231, 0.25)",
96
+ borderColor: "rgba(53, 139, 231, 0.3)",
97
+ borderWidth: .5,
98
+ backgroundColor: "transparent",
99
+ borderRadius: 4,
100
+ dataBackground: {
101
+ lineStyle: { opacity: 0 },
102
+ areaStyle: {
103
+ opacity: 1,
104
+ color: e.palette.secondary.main
105
+ }
106
+ },
107
+ selectedDataBackground: {
108
+ lineStyle: { opacity: 0 },
109
+ areaStyle: {
110
+ opacity: 1,
111
+ color: e.palette.secondary.main
112
+ }
113
+ },
114
+ handleStyle: {
115
+ color: e.palette.common.white,
116
+ borderColor: "rgba(3, 111, 226, 0.08)",
117
+ borderWidth: 1,
118
+ shadowBlur: 3,
119
+ shadowColor: "rgba(0, 0, 0, 0.1)",
120
+ shadowOffsetX: 0,
121
+ shadowOffsetY: 1
122
+ },
123
+ textStyle: {
124
+ color: e.palette.black[60],
125
+ fontSize: parseInt(e.typography.overlineDelicate.fontSize),
126
+ fontFamily: e.typography.overlineDelicate.fontFamily
127
+ }
128
+ };
129
+ }
130
+ function s({ brushType: e = "lineX", brushMode: t = "single", xAxisIndex: n = 0 } = {}) {
131
+ return { brush: {
132
+ toolbox: ["lineX", "clear"],
133
+ brushType: e,
134
+ brushMode: t,
135
+ xAxisIndex: n
136
+ } };
137
+ }
138
+ function c(e = r) {
139
+ return { stack: e };
140
+ }
141
+ //#endregion
142
+ //#region src/widgets/echart/shared-resize-observer.ts
143
+ var l = /* @__PURE__ */ new Map(), u = null;
144
+ function d() {
145
+ return u ??= new ResizeObserver((e) => {
146
+ for (let t of e) l.get(t.target)?.();
147
+ }), u;
148
+ }
149
+ function f(e, t) {
150
+ return l.set(e, t), d().observe(e), () => {
151
+ l.delete(e), d().unobserve(e);
152
+ };
153
+ }
154
+ //#endregion
155
+ export { i as a, a as i, s as n, r as o, c as r, f as t };
156
+
157
+ //# sourceMappingURL=shared-resize-observer-BEiP2rQt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-resize-observer-BEiP2rQt.js","names":["DEFAULT_STACK_GROUP","deepmerge","EchartOptionsProps","Theme","DEFAULT_STACK_GROUP","mergeEchartWidgetConfig","optionA","T","optionB","customMergeFn","key","a","b","customMerge","externalMerge","_","Record","merged","formatter","baseFormatter","value","customFormatter","baseResult","maxLength","Math","max","length","Array","from","index","aItem","bItem","getEChartZoomConfig","start","end","inside","xSlider","ySlider","showSliders","xAxisLabelFormatter","bottomOffset","theme","zoom","sliderStyles","getEChartZoomSliderStyles","dataZoom","throttle","type","xAxisIndex","yAxisIndex","show","zoomLock","orientation","bottom","height","parseInt","spacing","labelFormatter","showDetail","brushSelect","moveHandleSize","handleSize","handleIcon","left","width","filter","d","fillerColor","borderColor","borderWidth","backgroundColor","borderRadius","dataBackground","lineStyle","opacity","areaStyle","color","palette","secondary","main","selectedDataBackground","handleStyle","common","white","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","textStyle","black","fontSize","typography","overlineDelicate","fontFamily","const","getEChartBrushConfig","brushType","brushMode","throttleType","throttleDelay","brush","toolbox","getEChartStackConfig","stackGroup","stack","ResizeCallback","callbacks","Map","Element","observer","ResizeObserver","getObserver","entries","entry","callback","get","target","observeResize","element","set","observe","delete","unobserve","resetSharedResizeObserver","disconnect","clear"],"sources":["../src/widgets/echart/const.ts","../src/widgets/echart/utils.ts","../src/widgets/echart/shared-resize-observer.ts"],"sourcesContent":["export const DEFAULT_STACK_GROUP = 'stacked'\n","import deepmerge from 'deepmerge'\nimport type { EchartOptionsProps } from './types'\nimport type { Theme } from '@mui/material'\nimport { DEFAULT_STACK_GROUP } from './const'\n\n/**\n * Deep-merges two ECharts option objects with smart handling for `color`, `axisLabel`, and `series` keys.\n *\n * @param optionA - Base ECharts options.\n * @param optionB - Override ECharts options to merge on top.\n * @param customMergeFn - Optional function returning a custom merge strategy per key.\n * @returns The merged ECharts options object.\n *\n * @remarks\n * - `color` arrays are replaced entirely (not concatenated).\n * - `axisLabel` formatters are composed so the base formatter can suppress values by returning `''`.\n * - `series` arrays are merged element-by-element rather than concatenated.\n *\n * @example\n * ```tsx\n * const option = mergeEchartWidgetConfig(props.option, {\n * series: [{ barWidth: '60%', itemStyle: { borderRadius: [4, 4, 0, 0] } }],\n * tooltip: { trigger: 'axis' },\n * })\n * ```\n */\nexport function mergeEchartWidgetConfig<T extends EchartOptionsProps>(\n optionA: T | undefined,\n optionB: T | undefined,\n customMergeFn?: (\n key: string,\n ) => ((a: unknown, b: unknown) => unknown) | undefined,\n): T {\n return deepmerge(optionA ?? {}, optionB ?? {}, {\n customMerge: (key) => {\n const externalMerge = customMergeFn?.(key)\n if (externalMerge) return externalMerge\n\n if (key === 'color') {\n return (_, b: T['color']) => b\n }\n if (key === 'axisLabel') {\n return (\n a: Record<string, unknown> | undefined,\n b: Record<string, unknown> | undefined,\n ) => {\n const merged = { ...a, ...b }\n if (\n typeof a?.formatter === 'function' &&\n typeof b?.formatter === 'function'\n ) {\n const baseFormatter = a.formatter as (value: unknown) => unknown\n const customFormatter = b.formatter as (value: unknown) => unknown\n merged.formatter = (value: unknown) => {\n const baseResult = baseFormatter(value)\n if (baseResult === '') return ''\n return customFormatter(value)\n }\n }\n return merged\n }\n }\n if (key === 'series') {\n return (a: T['series'][], b: T['series'][]) => {\n const maxLength = Math.max(a?.length ?? 0, b?.length ?? 0)\n return Array.from({ length: maxLength }, (_, index) => {\n const aItem = a?.[index] ?? {}\n const bItem = b?.[index] ?? {}\n return deepmerge(aItem, bItem as object)\n })\n }\n }\n },\n }) as T\n}\n\n/**\n * Generates ECharts `dataZoom` configuration for interactive zoom and pan on chart axes.\n *\n * @param range - Initial visible range as `{ start, end }` percentages (0-100). Defaults to full range.\n * @param options - Zoom behavior options including axis sliders, inside zoom, and formatter.\n * @param theme - Optional MUI theme for styled slider handles and backgrounds.\n * @returns An object containing the `dataZoom` array configuration.\n */\nexport function getEChartZoomConfig(\n { start, end }: { start: number; end: number } = { start: 0, end: 100 },\n {\n inside = true,\n xSlider = true,\n ySlider = false,\n showSliders = true,\n xAxisLabelFormatter,\n bottomOffset = 0,\n } = {} as {\n inside?: boolean\n xSlider?: boolean\n ySlider?: boolean\n showSliders?: boolean\n xAxisLabelFormatter?: (value: number) => string\n bottomOffset?: number\n },\n theme?: Theme,\n) {\n const zoom = true\n const sliderStyles = theme ? getEChartZoomSliderStyles(theme) : {}\n\n return {\n dataZoom: [\n inside && {\n throttle: 0,\n type: 'inside',\n xAxisIndex: xSlider ? [0] : [],\n yAxisIndex: ySlider ? [0] : [],\n show: zoom,\n zoomLock: !zoom,\n start,\n end,\n },\n inside &&\n ySlider && {\n throttle: 0,\n type: 'inside',\n show: zoom,\n zoomLock: !zoom,\n start,\n end,\n orientation: 'vertical',\n },\n xSlider && {\n throttle: 0,\n type: 'slider',\n xAxisIndex: [0],\n bottom: bottomOffset,\n height: parseInt(theme?.spacing?.(4) ?? '32'),\n show: zoom && showSliders,\n zoomLock: !zoom,\n start,\n end,\n labelFormatter: xAxisLabelFormatter,\n showDetail: false,\n ...sliderStyles,\n brushSelect: false,\n moveHandleSize: 8,\n handleSize: '100%',\n handleIcon:\n 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4=',\n },\n ySlider && {\n throttle: 0,\n type: 'slider',\n left: parseInt(theme?.spacing?.(6) ?? '48'),\n width: parseInt(theme?.spacing?.(4) ?? '32'),\n yAxisIndex: [0],\n show: zoom && showSliders,\n zoomLock: !zoom,\n start,\n end,\n ...sliderStyles,\n brushSelect: false,\n moveHandleSize: 8,\n handleSize: '100%',\n handleIcon:\n 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDM2IDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iOCIgaGVpZ2h0PSIxOCIgcng9IjQiIHRyYW5zZm9ybT0icm90YXRlKC05MCAwLjUgMC41KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDEzIDYpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09InJvdGF0ZSgtOTAgMTcgNikiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0icm90YXRlKC05MCAyMSA2KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4=',\n },\n ].filter((d) => !!d),\n }\n}\n\nfunction getEChartZoomSliderStyles(theme: Theme) {\n return {\n fillerColor: 'rgba(53, 139, 231, 0.25)',\n borderColor: 'rgba(53, 139, 231, 0.3)',\n borderWidth: 0.5,\n backgroundColor: 'transparent',\n borderRadius: 4,\n dataBackground: {\n lineStyle: {\n opacity: 0,\n },\n areaStyle: {\n opacity: 1,\n color: theme.palette.secondary.main,\n },\n },\n selectedDataBackground: {\n lineStyle: {\n opacity: 0,\n },\n areaStyle: {\n opacity: 1,\n color: theme.palette.secondary.main,\n },\n },\n handleStyle: {\n color: theme.palette.common.white,\n borderColor: 'rgba(3, 111, 226, 0.08)',\n borderWidth: 1,\n shadowBlur: 3,\n shadowColor: 'rgba(0, 0, 0, 0.1)',\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n },\n textStyle: {\n color: theme.palette.black[60],\n fontSize: parseInt(theme.typography.overlineDelicate.fontSize as string),\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n },\n } as const\n}\n\n/**\n * Generates ECharts `brush` configuration for interactive data selection on charts.\n *\n * @param options - Brush options including type, mode, and target axis index.\n * @returns An object containing the `brush` configuration.\n */\nexport function getEChartBrushConfig(\n { brushType = 'lineX', brushMode = 'single', xAxisIndex = 0 } = {} as {\n brushType?: string\n brushMode?: string\n xAxisIndex?: number\n throttleType?: string\n throttleDelay?: number\n },\n) {\n return {\n brush: {\n toolbox: ['lineX', 'clear'],\n brushType,\n brushMode,\n xAxisIndex,\n },\n }\n}\n\n/**\n * Returns an ECharts `stack` configuration to group series into a stacked layout.\n *\n * @param stackGroup - The stack group identifier. Defaults to the library's default group.\n * @returns An object with the `stack` property set to the group name.\n */\nexport function getEChartStackConfig(stackGroup: string = DEFAULT_STACK_GROUP) {\n return { stack: stackGroup }\n}\n","/**\n * Shared ResizeObserver singleton for all ECharts instances.\n *\n * Instead of creating 100+ individual ResizeObserver instances (one per chart),\n * this module provides a single shared observer that efficiently handles resize\n * callbacks for all registered elements.\n */\n\ntype ResizeCallback = () => void\n\nconst callbacks = new Map<Element, ResizeCallback>()\n\nlet observer: ResizeObserver | null = null\n\nfunction getObserver(): ResizeObserver {\n observer ??= new ResizeObserver((entries) => {\n for (const entry of entries) {\n const callback = callbacks.get(entry.target)\n callback?.()\n }\n })\n return observer\n}\n\nexport function observeResize(\n element: Element,\n callback: ResizeCallback,\n): () => void {\n callbacks.set(element, callback)\n getObserver().observe(element)\n\n return () => {\n callbacks.delete(element)\n getObserver().unobserve(element)\n }\n}\n\n/** Reset the shared observer (for testing only). */\nexport function resetSharedResizeObserver(): void {\n if (observer) {\n observer.disconnect()\n observer = null\n }\n callbacks.clear()\n}\n"],"mappings":";;;mCAAaA,IAAsB;;;AC0BnC,SAAgBK,EACdC,GACAE,GACAC,GAGG;CACH,QAAA,GAAOR,EAAAA,QAAAA,CAAUK,KAAW,CAAC,GAAGE,KAAW,CAAC,GAAG,EAC7CK,cAAcH,MAAQ;EACpB,IAAMI,IAAgBL,IAAgBC,CAAG;EACzC,IAAII,GAAe,OAAOA;EAE1B,IAAIJ,MAAQ,SACV,QAAQK,GAAGH,MAAkBA;EAE/B,IAAIF,MAAQ,aACV,QACEC,GACAC,MACG;GACH,IAAMK,IAAS;IAAE,GAAGN;IAAG,GAAGC;GAAE;GAC5B,IACE,OAAOD,GAAGO,aAAc,cACxB,OAAON,GAAGM,aAAc,YACxB;IACA,IAAMC,IAAgBR,EAAEO,WAClBG,IAAkBT,EAAEM;IAC1BD,EAAOC,aAAaE,MACCD,EAAcC,CAC7BE,MAAe,KAAW,KACvBD,EAAgBD,CAAK;GAEhC;GACA,OAAOH;EACT;EAEF,IAAIP,MAAQ,UACV,QAAQC,GAAkBC,MAAqB;GAC7C,IAAMW,IAAYC,KAAKC,IAAId,GAAGe,UAAU,GAAGd,GAAGc,UAAU,CAAC;GACzD,OAAOC,MAAMC,KAAK,EAAEF,QAAQH,EAAU,IAAIR,GAAGc,MAAU;IACrD,IAAMC,IAAQnB,IAAIkB,MAAU,CAAC,GACvBE,IAAQnB,IAAIiB,MAAU,CAAC;IAC7B,QAAA,GAAO5B,EAAAA,QAAAA,CAAU6B,GAAOC,CAAe;GACzC,CAAC;EACH;CAEJ,EACF,CAAC;AACH;AAUA,SAAgBC,EACd,EAAEC,UAAOC,WAAwC;CAAED,OAAO;CAAGC,KAAK;AAAI,GACtE,EACEC,YAAS,IACTC,aAAU,IACVC,aAAU,IACVC,iBAAc,IACdC,wBACAC,kBAAe,MACb,CAAC,GAQLC,GACA;CACA,IACME,IAAeF,IAAQG,EAA0BH,CAAK,IAAI,CAAC;CAEjE,OAAO,EACLI,UAAU;EACRV,KAAU;GACRW,UAAU;GACVC,MAAM;GACNC,YAAYZ,IAAU,CAAC,CAAC,IAAI,CAAA;GAC5Ba,YAAYZ,IAAU,CAAC,CAAC,IAAI,CAAA;GAC5Ba,MAAMR;GACNS,UAAU;GACVlB;GACAC;EACF;EACAC,KACEE,KAAW;GACTS,UAAU;GACVC,MAAM;GACNG,MAAMR;GACNS,UAAU;GACVlB;GACAC;GACAkB,aAAa;EACf;EACFhB,KAAW;GACTU,UAAU;GACVC,MAAM;GACNC,YAAY,CAAC,CAAC;GACdK,QAAQb;GACRc,QAAQC,SAASd,GAAOe,UAAU,CAAC,KAAK,IAAI;GAC5CN,MAAcZ;GACda,UAAU;GACVlB;GACAC;GACAuB,gBAAgBlB;GAChBmB,YAAY;GACZ,GAAGf;GACHgB,aAAa;GACbC,gBAAgB;GAChBC,YAAY;GACZC,YACE;EACJ;EACAzB,KAAW;GACTS,UAAU;GACVC,MAAM;GACNgB,MAAMR,SAASd,GAAOe,UAAU,CAAC,KAAK,IAAI;GAC1CQ,OAAOT,SAASd,GAAOe,UAAU,CAAC,KAAK,IAAI;GAC3CP,YAAY,CAAC,CAAC;GACdC,MAAcZ;GACda,UAAU;GACVlB;GACAC;GACA,GAAGS;GACHgB,aAAa;GACbC,gBAAgB;GAChBC,YAAY;GACZC,YACE;EACJ;CAAC,CACF,CAACG,QAAQC,MAAM,CAAC,CAACA,CAAC,EACrB;AACF;AAEA,SAAStB,EAA0BH,GAAc;CAC/C,OAAO;EACL0B,aAAa;EACbC,aAAa;EACbC,aAAa;EACbC,iBAAiB;EACjBC,cAAc;EACdC,gBAAgB;GACdC,WAAW,EACTC,SAAS,EACX;GACAC,WAAW;IACTD,SAAS;IACTE,OAAOnC,EAAMoC,QAAQC,UAAUC;GACjC;EACF;EACAC,wBAAwB;GACtBP,WAAW,EACTC,SAAS,EACX;GACAC,WAAW;IACTD,SAAS;IACTE,OAAOnC,EAAMoC,QAAQC,UAAUC;GACjC;EACF;EACAE,aAAa;GACXL,OAAOnC,EAAMoC,QAAQK,OAAOC;GAC5Bf,aAAa;GACbC,aAAa;GACbe,YAAY;GACZC,aAAa;GACbC,eAAe;GACfC,eAAe;EACjB;EACAC,WAAW;GACTZ,OAAOnC,EAAMoC,QAAQY,MAAM;GAC3BC,UAAUnC,SAASd,EAAMkD,WAAWC,iBAAiBF,QAAkB;GACvEG,YAAYpD,EAAMkD,WAAWC,iBAAiBC;EAChD;CACF;AACF;AAQA,SAAgBE,EACd,EAAEC,eAAY,SAASC,eAAY,UAAUjD,gBAAa,MAAM,CAAC,GAOjE;CACA,OAAO,EACLoD,OAAO;EACLC,SAAS,CAAC,SAAS,OAAO;EAC1BL;EACAC;EACAjD;CACF,EACF;AACF;AAQA,SAAgBsD,EAAqBC,IAAqBnG,GAAqB;CAC7E,OAAO,EAAEoG,OAAOD,EAAW;AAC7B;;;ACzOA,IAAMG,oBAAY,IAAIC,IAA6B,GAE/CE,IAAkC;AAEtC,SAASE,IAA8B;CAOrC,OANAF,MAAa,IAAIC,gBAAgBE,MAAY;EAC3C,KAAK,IAAMC,KAASD,GAElBE,EAD2BC,IAAIF,EAAMG,MACrCF,CAAAA,GAAW;CAEf,CAAC,GACML;AACT;AAEA,SAAgBQ,EACdC,GACAJ,GACY;CAIZ,OAHAR,EAAUa,IAAID,GAASJ,CAAQ,GAC/BH,EAAY,CAAC,CAACS,QAAQF,CAAO,SAEhB;EAEXP,AADAL,EAAUe,OAAOH,CAAO,GACxBP,EAAY,CAAC,CAACW,UAAUJ,CAAO;CACjC;AACF"}
@@ -0,0 +1,34 @@
1
+ import { t as e } from "./tooltip-DJUGNZxY.js";
2
+ import { c as t } from "react/compiler-runtime";
3
+ import { useLayoutEffect as n, useRef as r, useState as i } from "react";
4
+ import { jsx as a } from "react/jsx-runtime";
5
+ //#region src/components/smart-tooltip/smart-tooltip.tsx
6
+ var o = [];
7
+ function s(s) {
8
+ let c = t(13), { title: l, dependencies: u, timeout: d, TooltipProps: f, children: p } = s, m = u === void 0 ? o : u, h = d === void 0 ? 500 : d, g = r(null), [_, v] = i(!1), y;
9
+ c[0] === m ? y = c[1] : (y = JSON.stringify(m), c[0] = m, c[1] = y);
10
+ let b = y, x;
11
+ c[2] === h ? x = c[3] : (x = () => {
12
+ let e = () => {
13
+ let e = g.current;
14
+ e && v(e.scrollWidth > e.clientWidth || e.scrollHeight > e.clientHeight);
15
+ }, t = setTimeout(e, h), n = g.current, r = n && typeof ResizeObserver < "u" ? new ResizeObserver(e) : null;
16
+ return n && r?.observe(n), () => {
17
+ clearTimeout(t), r?.disconnect();
18
+ };
19
+ }, c[2] = h, c[3] = x);
20
+ let S;
21
+ c[4] !== b || c[5] !== h ? (S = [b, h], c[4] = b, c[5] = h, c[6] = S) : S = c[6], n(x, S);
22
+ let C = _ && l, w;
23
+ c[7] === p ? w = c[8] : (w = p({ ref: g }), c[7] = p, c[8] = w);
24
+ let T;
25
+ return c[9] !== f || c[10] !== C || c[11] !== w ? (T = /* @__PURE__ */ a(e, {
26
+ title: C,
27
+ ...f,
28
+ children: w
29
+ }), c[9] = f, c[10] = C, c[11] = w, c[12] = T) : T = c[12], T;
30
+ }
31
+ //#endregion
32
+ export { s as t };
33
+
34
+ //# sourceMappingURL=smart-tooltip-CwGHCqab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-tooltip-CwGHCqab.js","names":["TooltipProps","useLayoutEffect","useRef","useState","JSX","Ref","Tooltip","EMPTY_DEPENDENCIES","SmartTooltip","t0","$","_c","title","dependencies","t1","timeout","t2","children","undefined","ref","isOverflowing","setIsOverflowing","t3","JSON","stringify","dependenciesKey","t4","checkOverflow","el","current","scrollWidth","clientWidth","scrollHeight","clientHeight","timerId","setTimeout","el_0","resizeObserver","ResizeObserver","observe","clearTimeout","disconnect","t5","t6","t7","t8"],"sources":["../src/components/smart-tooltip/smart-tooltip.tsx"],"sourcesContent":["import type { TooltipProps } from '@mui/material'\nimport { useLayoutEffect, useRef, useState, type JSX, type Ref } from 'react'\nimport { Tooltip } from '../tooltip/tooltip'\n\nconst EMPTY_DEPENDENCIES: unknown[] = []\n\n/**\n * An intelligent tooltip wrapper that automatically detects text overflow and displays a tooltip only when content is truncated.\n *\n * @remarks\n * Uses a render prop pattern. The child function receives a `ref` that must be attached to the element being monitored for overflow. Use the `dependencies` array to trigger re-evaluation when content or container size changes.\n *\n * @example\n * ```tsx\n * <SmartTooltip title=\"This is a long text that might get truncated\">\n * {({ ref }) => (\n * <Typography ref={ref} noWrap sx={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>\n * This is a long text that might get truncated\n * </Typography>\n * )}\n * </SmartTooltip>\n * ```\n */\nexport function SmartTooltip<T extends HTMLElement>({\n title,\n dependencies = EMPTY_DEPENDENCIES,\n timeout = 500,\n TooltipProps,\n children,\n}: {\n title: string | undefined\n dependencies?: unknown[]\n timeout?: number\n children: (props: { ref: Ref<T> }) => JSX.Element\n TooltipProps?: Partial<TooltipProps>\n}) {\n const ref = useRef<T>(null)\n const [isOverflowing, setIsOverflowing] = useState(false)\n // Call sites pass a fresh `dependencies={[…]}` literal each render; key by\n // value so the effect does not churn ResizeObserver on referential churn.\n const dependenciesKey = JSON.stringify(dependencies)\n\n useLayoutEffect(() => {\n const checkOverflow = () => {\n const el = ref.current\n if (!el) return\n setIsOverflowing(\n el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight,\n )\n }\n\n // Initial measure after layout settles (fonts, flex collapse, …).\n const timerId = setTimeout(checkOverflow, timeout)\n // Re-measure when the element is resized (e.g. legend title reflows as\n // hover-faded actions collapse/expand).\n const el = ref.current\n const resizeObserver =\n el && typeof ResizeObserver !== 'undefined'\n ? new ResizeObserver(checkOverflow)\n : null\n if (el) resizeObserver?.observe(el)\n\n return () => {\n clearTimeout(timerId)\n resizeObserver?.disconnect()\n }\n }, [dependenciesKey, timeout])\n\n return (\n <Tooltip title={isOverflowing && title} {...TooltipProps}>\n {children({ ref })}\n </Tooltip>\n )\n}\n"],"mappings":";;;;;AAIA,IAAMO,IAAgC,CAAA;AAmBtC,SAAOC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAA6C,EAAAC,UAAAC,cAAAC,GAAAC,SAAAC,GAAAhB,iBAAAiB,gBAAAR,GAElDI,IAAAC,MAAAI,KAAAA,IAAAX,IAAAO,GACAC,IAAAC,MAAAE,KAAAA,IAAA,MAAAF,GAUAG,IAAYjB,EAAU,IAAI,GAC1B,CAAAkB,GAAAC,KAA0ClB,EAAS,EAAK,GAACmB;CAAA,AAAAZ,EAAA,OAAAG,IAGLS,IAAAZ,EAAA,MAA5BY,IAAAC,KAAIC,UAAWX,CAAY,GAACH,EAAA,KAAAG,GAAAH,EAAA,KAAAY;CAApD,IAAAG,IAAwBH,GAA4BI;CAAA,AAAAhB,EAAA,OAAAK,IA0BnDW,IAAAhB,EAAA,MAxBegB,UAAA;EACd,IAAAC,UAAsB;GACpB,IAAAC,IAAWT,EAAGU;GACTD,KACLP,EACEO,EAAEE,cAAeF,EAAEG,eAAgBH,EAAEI,eAAgBJ,EAAEK,YACzD;EAAC,GAIHC,IAAgBC,WAAWR,GAAeZ,CAAO,GAGjDqB,IAAWjB,EAAGU,SACdQ,IACED,KAAM,OAAOE,iBAAmB,MAAhC,IACQA,eAAeX,CAChB,IAFP;EAGiC,OAA/BC,KAAIS,GAAcE,QAAUX,CAAE,SAE3B;GAELS,AADAG,aAAaN,CAAO,GACpBG,GAAcI,WAAa;EAAC;CAC7B,GACF/B,EAAA,KAAAK,GAAAL,EAAA,KAAAgB;CAAA,IAAAgB;CAxBDzC,AAwBCS,EAAA,OAAAe,KAAAf,EAAA,OAAAK,KAAE2B,IAAA,CAACjB,GAAiBV,CAAO,GAACL,EAAA,KAAAe,GAAAf,EAAA,KAAAK,GAAAL,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAxB7BT,EAAgByB,GAwBbgB,CAA0B;CAGX,IAAAC,IAAAvB,KAAAR,GAAsBgC;CAAA,AAAAlC,EAAA,OAAAO,IAClB2B,IAAAlC,EAAA,MAAjBkC,IAAA3B,EAAS,EAAAE,OAAM,CAAC,GAACT,EAAA,KAAAO,GAAAP,EAAA,KAAAkC;CAAA,IAAAC;CACV,OADUnC,EAAA,OAAAV,KAAAU,EAAA,QAAAiC,KAAAjC,EAAA,QAAAkC,KADpBC,IAAA,kBAAC,GAAD;EAAgB,OAAAF;EAAsB,GAAM3C;EACzC4C,UAAAA;CADK,CAAA,GAEElC,EAAA,KAAAV,GAAAU,EAAA,MAAAiC,GAAAjC,EAAA,MAAAkC,GAAAlC,EAAA,MAAAmC,KAAAA,IAAAnC,EAAA,KAFVmC;AAEU"}