@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.
- package/dist/actions-DKX98LlI.js +1318 -0
- package/dist/actions-DKX98LlI.js.map +1 -0
- package/dist/actions-Dy9JVr7F.js +1004 -0
- package/dist/actions-Dy9JVr7F.js.map +1 -0
- package/dist/category-DHZscHaS.js +826 -0
- package/dist/category-DHZscHaS.js.map +1 -0
- package/dist/chart-config-BGt7wkK7.js +108 -0
- package/dist/chart-config-BGt7wkK7.js.map +1 -0
- package/dist/chat.js +1589 -1711
- package/dist/chat.js.map +1 -1
- package/dist/cjs-CBrZjPCj.js +75 -0
- package/dist/cjs-CBrZjPCj.js.map +1 -0
- package/dist/components-DDt4mOQn.js +2403 -0
- package/dist/components-DDt4mOQn.js.map +1 -0
- package/dist/components.js +5 -1841
- package/dist/copy-button-DaQqWVu0.js +25 -0
- package/dist/copy-button-DaQqWVu0.js.map +1 -0
- package/dist/csv-modifiers-D6HGC24b.js +26 -0
- package/dist/csv-modifiers-D6HGC24b.js.map +1 -0
- package/dist/download-BT6qBamM.js +232 -0
- package/dist/download-BT6qBamM.js.map +1 -0
- package/dist/echart-BkaV3V5G.js +133 -0
- package/dist/echart-BkaV3V5G.js.map +1 -0
- package/dist/echart-DSz2Tu0z.js +250 -0
- package/dist/echart-DSz2Tu0z.js.map +1 -0
- package/dist/formatter-wVO81tYk.js +6 -0
- package/dist/formatter-wVO81tYk.js.map +1 -0
- package/dist/formula-Bk9CBzm2.js +190 -0
- package/dist/formula-Bk9CBzm2.js.map +1 -0
- package/dist/formula-Dsru_p-g.js +285 -0
- package/dist/formula-Dsru_p-g.js.map +1 -0
- package/dist/hooks-zf5gKZYq.js +22 -0
- package/dist/hooks-zf5gKZYq.js.map +1 -0
- package/dist/legend/stores.js +2 -24
- package/dist/legend.js +2274 -2323
- package/dist/legend.js.map +1 -1
- package/dist/markdown-DnSJMPjQ.js +165 -0
- package/dist/markdown-DnSJMPjQ.js.map +1 -0
- package/dist/markdown-content-BzKoX3eu.js +8764 -0
- package/dist/markdown-content-BzKoX3eu.js.map +1 -0
- package/dist/range-BPWVrAsY.js +277 -0
- package/dist/range-BPWVrAsY.js.map +1 -0
- package/dist/rolldown-runtime-B0aSnxlc.js +20 -0
- package/dist/row-CvVGBuy_.js +35 -0
- package/dist/row-CvVGBuy_.js.map +1 -0
- package/dist/shared-resize-observer-BEiP2rQt.js +157 -0
- package/dist/shared-resize-observer-BEiP2rQt.js.map +1 -0
- package/dist/smart-tooltip-CwGHCqab.js +34 -0
- package/dist/smart-tooltip-CwGHCqab.js.map +1 -0
- package/dist/spread-Dy8pshpN.js +149 -0
- package/dist/spread-Dy8pshpN.js.map +1 -0
- package/dist/stores-B81-IU1G.js +374 -0
- package/dist/stores-B81-IU1G.js.map +1 -0
- package/dist/stores-BVFMfgyo.js +248 -0
- package/dist/stores-BVFMfgyo.js.map +1 -0
- package/dist/styles-Y-qGBELO.js +13 -0
- package/dist/styles-Y-qGBELO.js.map +1 -0
- package/dist/table-BfTG6rrs.js +439 -0
- package/dist/table-BfTG6rrs.js.map +1 -0
- package/dist/tooltip-DJUGNZxY.js +23 -0
- package/dist/tooltip-DJUGNZxY.js.map +1 -0
- package/dist/types/chat/bubbles/chat-agent-message-markdown.d.ts +1 -1
- package/dist/types/chat/bubbles/chat-error-message.d.ts +1 -1
- package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +1 -1
- package/dist/types/chat/bubbles/chat-user-message.d.ts +1 -1
- package/dist/types/chat/containers/chat-footer.d.ts +1 -1
- package/dist/types/chat/containers/chat-header.d.ts +1 -1
- package/dist/types/chat/containers/chat-starter.d.ts +1 -1
- package/dist/types/chat/feedback/chat-loader.d.ts +1 -1
- package/dist/types/chat/feedback/chat-rating-action.d.ts +1 -1
- package/dist/types/chat/feedback/chat-thinking.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-code-area.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-full-view-dialog.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-group.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-trace.d.ts +2 -2
- package/dist/types/components/basemaps/group-wrapper.d.ts +1 -1
- package/dist/types/components/basemaps/group.d.ts +1 -1
- package/dist/types/components/basemaps/header.d.ts +1 -1
- package/dist/types/components/copy-button/copy-button.d.ts +1 -1
- package/dist/types/components/lasso-tool/chip.d.ts +1 -1
- package/dist/types/components/lasso-tool/icons.d.ts +7 -7
- package/dist/types/components/lasso-tool/lasso-tool.d.ts +4 -4
- package/dist/types/components/lasso-tool/message.d.ts +1 -1
- package/dist/types/components/list-data/list-data-skeleton.d.ts +1 -1
- package/dist/types/components/measurement-tools/icons.d.ts +3 -3
- package/dist/types/components/no-data-alert/no-data-alert.d.ts +1 -1
- package/dist/types/components/responsive-drawer/responsive-drawer.d.ts +1 -1
- package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +1 -1
- package/dist/types/hooks/use-widget-ref.d.ts +2 -1
- package/dist/types/legend/components/legend-actions/legend-actions.d.ts +1 -1
- package/dist/types/legend/components/legend-category/legend-category-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-config-select/legend-config-select.d.ts +1 -1
- package/dist/types/legend/components/legend-group/legend-group.d.ts +1 -1
- package/dist/types/legend/components/legend-group-menu/legend-group-menu-items.d.ts +4 -4
- package/dist/types/legend/components/legend-group-menu/legend-group-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-icon/legend-icon-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-item/legend-item-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-item/legend-item.d.ts +1 -1
- package/dist/types/legend/components/legend-opacity/legend-opacity.d.ts +2 -2
- package/dist/types/legend/components/legend-overflow-menu/legend-overflow-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-panel-menu/legend-panel-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-proportion/legend-proportion-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-ramp/legend-ramp-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-row/legend-row.d.ts +1 -1
- package/dist/types/legend/components/legend-row-menu/legend-row-menu-items.d.ts +2 -2
- package/dist/types/legend/components/legend-row-menu/legend-row-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-row-menu/legend-zoom-to.d.ts +1 -1
- package/dist/types/legend/components/legend-sortable/legend-sortable.d.ts +1 -1
- package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +1 -1
- package/dist/types/legend/components/legend-visibility-toggle/legend-visibility-toggle.d.ts +1 -1
- package/dist/types/legend/components/legend-visible-layers/legend-visible-layers.d.ts +1 -1
- package/dist/types/legend/index.d.ts +2 -2
- package/dist/types/legend/provider/legend-provider.d.ts +1 -1
- package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +1 -1
- package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -1
- package/dist/types/widgets/actions/change-column/change-column.d.ts +1 -1
- package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +1 -1
- package/dist/types/widgets/actions/download/download.d.ts +1 -1
- package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +1 -1
- package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +1 -1
- package/dist/types/widgets/actions/relative-data/relative-data.d.ts +1 -1
- package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +1 -1
- package/dist/types/widgets/actions/searcher/searcher.d.ts +1 -1
- package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -1
- package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +1 -1
- package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +1 -1
- package/dist/types/widgets/bar/skeleton.d.ts +1 -1
- package/dist/types/widgets/category/category-ui.d.ts +1 -1
- package/dist/types/widgets/category/components/category-bar.d.ts +1 -1
- package/dist/types/widgets/category/components/category-legend.d.ts +1 -1
- package/dist/types/widgets/category/components/category-row-multi.d.ts +1 -1
- package/dist/types/widgets/category/components/category-row-other.d.ts +1 -1
- package/dist/types/widgets/category/components/category-row-single.d.ts +1 -1
- package/dist/types/widgets/category/skeleton.d.ts +1 -1
- package/dist/types/widgets/echart/echart-ui.d.ts +1 -1
- package/dist/types/widgets/echart/echart.d.ts +1 -1
- package/dist/types/widgets/error/error.d.ts +1 -1
- package/dist/types/widgets/formula/components/item.d.ts +1 -1
- package/dist/types/widgets/formula/components/prefix.d.ts +1 -1
- package/dist/types/widgets/formula/components/row.d.ts +1 -1
- package/dist/types/widgets/formula/components/series.d.ts +1 -1
- package/dist/types/widgets/formula/components/suffix.d.ts +1 -1
- package/dist/types/widgets/formula/components/value.d.ts +1 -1
- package/dist/types/widgets/formula/formula-ui.d.ts +1 -1
- package/dist/types/widgets/formula/skeleton.d.ts +1 -1
- package/dist/types/widgets/histogram/skeleton.d.ts +1 -1
- package/dist/types/widgets/markdown/markdown-ui.d.ts +1 -1
- package/dist/types/widgets/markdown/markdown.d.ts +1 -1
- package/dist/types/widgets/markdown/skeleton.d.ts +1 -1
- package/dist/types/widgets/no-data/no-data.d.ts +1 -1
- package/dist/types/widgets/note/note.d.ts +1 -1
- package/dist/types/widgets/pie/skeleton.d.ts +1 -1
- package/dist/types/widgets/range/components/range-item.d.ts +1 -1
- package/dist/types/widgets/range/range-ui.d.ts +1 -1
- package/dist/types/widgets/range/skeleton.d.ts +1 -1
- package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -1
- package/dist/types/widgets/selection-summary/selection-summary.d.ts +1 -1
- package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +1 -1
- package/dist/types/widgets/spread/components/max-value.d.ts +1 -1
- package/dist/types/widgets/spread/components/min-value.d.ts +1 -1
- package/dist/types/widgets/spread/components/separator.d.ts +1 -1
- package/dist/types/widgets/spread/skeleton.d.ts +1 -1
- package/dist/types/widgets/spread/spread-ui.d.ts +1 -1
- package/dist/types/widgets/subheader/subheader.d.ts +1 -1
- package/dist/types/widgets/table/components/cell-header.d.ts +1 -1
- package/dist/types/widgets/table/components/cell.d.ts +1 -1
- package/dist/types/widgets/table/components/pagination-actions.d.ts +1 -1
- package/dist/types/widgets/table/components/pagination.d.ts +1 -1
- package/dist/types/widgets/table/components/row.d.ts +1 -1
- package/dist/types/widgets/table/skeleton.d.ts +1 -1
- package/dist/types/widgets/table/table-ui.d.ts +2 -2
- package/dist/types/widgets/timeseries/skeleton.d.ts +1 -1
- package/dist/types/widgets/wrapper/components/actions.d.ts +1 -1
- package/dist/types/widgets/wrapper/components/options.d.ts +1 -1
- package/dist/types/widgets/wrapper/components/title.d.ts +1 -1
- package/dist/types/widgets/wrapper/wrapper-ui.d.ts +1 -1
- package/dist/types/widgets/wrapper/wrapper.d.ts +1 -1
- package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +1 -1
- package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +1 -1
- package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +1 -1
- package/dist/types/widgets-v2/actions/download/download.d.ts +1 -1
- package/dist/types/widgets-v2/actions/download/icons.d.ts +3 -3
- package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +2 -2
- package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +1 -1
- package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +1 -1
- package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +1 -1
- package/dist/types/widgets-v2/actions/show-all/show-all.d.ts +1 -1
- package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/bar/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/category/category-ui.d.ts +1 -1
- package/dist/types/widgets-v2/category/category.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-bar-stacked.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-bar.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-legend.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-other.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-single.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-stacked.d.ts +1 -1
- package/dist/types/widgets-v2/category/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/echart/echart-ui.d.ts +1 -1
- package/dist/types/widgets-v2/echart/echart.d.ts +1 -1
- package/dist/types/widgets-v2/formula/delta.d.ts +1 -1
- package/dist/types/widgets-v2/formula/formula-ui.d.ts +1 -1
- package/dist/types/widgets-v2/formula/formula.d.ts +1 -1
- package/dist/types/widgets-v2/formula/note.d.ts +1 -1
- package/dist/types/widgets-v2/formula/prefix.d.ts +1 -1
- package/dist/types/widgets-v2/formula/series.d.ts +1 -1
- package/dist/types/widgets-v2/formula/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/formula/suffix.d.ts +1 -1
- package/dist/types/widgets-v2/formula/value.d.ts +1 -1
- package/dist/types/widgets-v2/histogram/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/index.d.ts +5 -5
- package/dist/types/widgets-v2/markdown/markdown-content.d.ts +1 -1
- package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +1 -1
- package/dist/types/widgets-v2/markdown/markdown.d.ts +1 -1
- package/dist/types/widgets-v2/markdown/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/note/widget-note.d.ts +2 -2
- package/dist/types/widgets-v2/pie/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/provider/widget-provider.d.ts +1 -1
- package/dist/types/widgets-v2/range/range-ui.d.ts +1 -1
- package/dist/types/widgets-v2/range/range.d.ts +1 -1
- package/dist/types/widgets-v2/range/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +1 -1
- package/dist/types/widgets-v2/spread/band.d.ts +37 -0
- package/dist/types/widgets-v2/spread/band.test.d.ts +1 -0
- package/dist/types/widgets-v2/spread/index.d.ts +1 -0
- package/dist/types/widgets-v2/spread/separator.d.ts +1 -1
- package/dist/types/widgets-v2/spread/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/spread/spread-ui.d.ts +1 -1
- package/dist/types/widgets-v2/spread/spread.d.ts +1 -1
- package/dist/types/widgets-v2/state/widget-state.d.ts +1 -1
- package/dist/types/widgets-v2/subheader/subheader.d.ts +1 -1
- package/dist/types/widgets-v2/table/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/table/table-ui.d.ts +1 -1
- package/dist/types/widgets-v2/table/table.d.ts +1 -1
- package/dist/types/widgets-v2/timeseries/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/toolbox/toolbox.d.ts +1 -1
- package/dist/types/widgets-v2/wrapper/widget-actions.d.ts +2 -2
- package/dist/types/widgets-v2/wrapper/widget-content.d.ts +2 -2
- package/dist/types/widgets-v2/wrapper/widget-wrapper.d.ts +1 -1
- package/dist/use-widget-selector-VSPhfhNm.js +12 -0
- package/dist/{use-widget-selector-DFl2hW0R.js.map → use-widget-selector-VSPhfhNm.js.map} +1 -1
- package/dist/utils-DtvTjjMq.js +58 -0
- package/dist/utils-DtvTjjMq.js.map +1 -0
- package/dist/widget-store-BFPKYm4R.js +187 -0
- package/dist/widget-store-BFPKYm4R.js.map +1 -0
- package/dist/widgets/actions.js +2 -1317
- package/dist/widgets/bar.js +183 -175
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +429 -434
- package/dist/widgets/category.js.map +1 -1
- package/dist/widgets/echart.js +3 -120
- package/dist/widgets/error.js +28 -38
- package/dist/widgets/error.js.map +1 -1
- package/dist/widgets/formula.js +3 -123
- package/dist/widgets/histogram.js +183 -202
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/loader.js +63 -61
- package/dist/widgets/loader.js.map +1 -1
- package/dist/widgets/markdown.js +141 -123
- package/dist/widgets/markdown.js.map +1 -1
- package/dist/widgets/no-data.js +52 -58
- package/dist/widgets/no-data.js.map +1 -1
- package/dist/widgets/note.js +125 -122
- package/dist/widgets/note.js.map +1 -1
- package/dist/widgets/pie.js +245 -259
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +225 -204
- package/dist/widgets/range.js.map +1 -1
- package/dist/widgets/scatterplot.js +220 -215
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/selection-summary.js +39 -38
- package/dist/widgets/selection-summary.js.map +1 -1
- package/dist/widgets/skeleton-loader.js +22 -23
- package/dist/widgets/skeleton-loader.js.map +1 -1
- package/dist/widgets/spread.js +150 -156
- package/dist/widgets/spread.js.map +1 -1
- package/dist/widgets/stores.js +3 -8
- package/dist/widgets/subheader.js +49 -50
- package/dist/widgets/subheader.js.map +1 -1
- package/dist/widgets/table.js +576 -644
- package/dist/widgets/table.js.map +1 -1
- package/dist/widgets/timeseries.js +175 -170
- package/dist/widgets/timeseries.js.map +1 -1
- package/dist/widgets/toolbar-actions.js +140 -145
- package/dist/widgets/toolbar-actions.js.map +1 -1
- package/dist/widgets/utils.js +17 -33
- package/dist/widgets/utils.js.map +1 -1
- package/dist/widgets/wrapper.js +265 -276
- package/dist/widgets/wrapper.js.map +1 -1
- package/dist/widgets-v2/actions.js +4 -51
- package/dist/widgets-v2/bar.js +253 -307
- package/dist/widgets-v2/bar.js.map +1 -1
- package/dist/widgets-v2/category.js +2 -98
- package/dist/widgets-v2/echart.js +2 -57
- package/dist/widgets-v2/formula.js +2 -68
- package/dist/widgets-v2/histogram.js +285 -350
- package/dist/widgets-v2/histogram.js.map +1 -1
- package/dist/widgets-v2/markdown.js +3 -69
- package/dist/widgets-v2/pie.js +363 -461
- package/dist/widgets-v2/pie.js.map +1 -1
- package/dist/widgets-v2/range.js +2 -52
- package/dist/widgets-v2/scatterplot.js +316 -391
- package/dist/widgets-v2/scatterplot.js.map +1 -1
- package/dist/widgets-v2/spread.js +2 -66
- package/dist/widgets-v2/stores.js +2 -42
- package/dist/widgets-v2/table.js +2 -78
- package/dist/widgets-v2/timeseries.js +285 -340
- package/dist/widgets-v2/timeseries.js.map +1 -1
- package/dist/widgets-v2/utils.js +2 -8
- package/dist/widgets-v2.js +955 -951
- package/dist/widgets-v2.js.map +1 -1
- package/dist/zoom-toggle-CA0ifG23.js +164 -0
- package/dist/zoom-toggle-CA0ifG23.js.map +1 -0
- package/package.json +4 -4
- package/src/hooks/use-widget-ref.ts +1 -0
- package/src/widgets-v2/index.ts +6 -1
- package/src/widgets-v2/spread/band.test.ts +46 -0
- package/src/widgets-v2/spread/band.ts +47 -0
- package/src/widgets-v2/spread/index.ts +1 -0
- package/dist/category-Ct2BzADB.js +0 -753
- package/dist/category-Ct2BzADB.js.map +0 -1
- package/dist/change-column-Fu1DCYQ3.js +0 -1186
- package/dist/change-column-Fu1DCYQ3.js.map +0 -1
- package/dist/cjs-D4KH3azB.js +0 -85
- package/dist/cjs-D4KH3azB.js.map +0 -1
- package/dist/components.js.map +0 -1
- package/dist/copy-button-DGL1tyli.js +0 -26
- package/dist/copy-button-DGL1tyli.js.map +0 -1
- package/dist/csv-item-hH_Gt7ur.js +0 -32
- package/dist/csv-item-hH_Gt7ur.js.map +0 -1
- package/dist/data-zoom-layout-D_FYdnap.js +0 -28
- package/dist/data-zoom-layout-D_FYdnap.js.map +0 -1
- package/dist/download-config-OKlLLSW_.js +0 -58
- package/dist/download-config-OKlLLSW_.js.map +0 -1
- package/dist/echart-B10dhEaM.js +0 -262
- package/dist/echart-B10dhEaM.js.map +0 -1
- package/dist/exports-Cr43OCul.js +0 -51
- package/dist/exports-Cr43OCul.js.map +0 -1
- package/dist/exports-Cx-f6m6U.js +0 -63
- package/dist/exports-Cx-f6m6U.js.map +0 -1
- package/dist/formatter-B9Bxn1k7.js +0 -6
- package/dist/formatter-B9Bxn1k7.js.map +0 -1
- package/dist/formula-DuC0NQLH.js +0 -79
- package/dist/formula-DuC0NQLH.js.map +0 -1
- package/dist/lasso-tool-YLFRgb-S.js +0 -582
- package/dist/lasso-tool-YLFRgb-S.js.map +0 -1
- package/dist/legend/stores.js.map +0 -1
- package/dist/legend-store-registry-p1tSwJXH.js +0 -472
- package/dist/legend-store-registry-p1tSwJXH.js.map +0 -1
- package/dist/markdown-DdqANCiN.js +0 -102
- package/dist/markdown-DdqANCiN.js.map +0 -1
- package/dist/markdown-content-Dk2DSgbf.js +0 -10287
- package/dist/markdown-content-Dk2DSgbf.js.map +0 -1
- package/dist/option-builders-DPeoyQaM.js +0 -130
- package/dist/option-builders-DPeoyQaM.js.map +0 -1
- package/dist/options-CthfUJDz.js +0 -46
- package/dist/options-CthfUJDz.js.map +0 -1
- package/dist/png-item-9dNbB37T.js +0 -57
- package/dist/png-item-9dNbB37T.js.map +0 -1
- package/dist/range-l4fNHLEg.js +0 -213
- package/dist/range-l4fNHLEg.js.map +0 -1
- package/dist/resolve-theme-color-BdojIw0K.js +0 -47
- package/dist/resolve-theme-color-BdojIw0K.js.map +0 -1
- package/dist/row-DZSP99LW.js +0 -34
- package/dist/row-DZSP99LW.js.map +0 -1
- package/dist/series-DLNHDWs0.js +0 -90
- package/dist/series-DLNHDWs0.js.map +0 -1
- package/dist/shared-resize-observer-98b1SK1e.js +0 -17
- package/dist/shared-resize-observer-98b1SK1e.js.map +0 -1
- package/dist/smart-tooltip-DFV6GD8R.js +0 -40
- package/dist/smart-tooltip-DFV6GD8R.js.map +0 -1
- package/dist/spread-4MYPOntd.js +0 -66
- package/dist/spread-4MYPOntd.js.map +0 -1
- package/dist/style-DVnT6HC1.js +0 -131
- package/dist/style-DVnT6HC1.js.map +0 -1
- package/dist/styles-cohnxh9F.js +0 -23
- package/dist/styles-cohnxh9F.js.map +0 -1
- package/dist/table-CTcLOycx.js +0 -383
- package/dist/table-CTcLOycx.js.map +0 -1
- package/dist/tooltip-BDnrRKrp.js +0 -25
- package/dist/tooltip-BDnrRKrp.js.map +0 -1
- package/dist/transforms-Cdx4fkU5.js +0 -106
- package/dist/transforms-Cdx4fkU5.js.map +0 -1
- package/dist/use-transform-DXPN3nY7.js +0 -110
- package/dist/use-transform-DXPN3nY7.js.map +0 -1
- package/dist/use-widget-ref-Ddr_SlJJ.js +0 -22
- package/dist/use-widget-ref-Ddr_SlJJ.js.map +0 -1
- package/dist/use-widget-selector-DFl2hW0R.js +0 -12
- package/dist/utils-BOhInag6.js +0 -170
- package/dist/utils-BOhInag6.js.map +0 -1
- package/dist/widget-context-DTGO0Yta.js +0 -13
- package/dist/widget-context-DTGO0Yta.js.map +0 -1
- package/dist/widget-store-Bw5zRUGg.js +0 -261
- package/dist/widget-store-Bw5zRUGg.js.map +0 -1
- package/dist/widget-store-registry-_W4Z4xp-.js +0 -178
- package/dist/widget-store-registry-_W4Z4xp-.js.map +0 -1
- package/dist/widgets/actions.js.map +0 -1
- package/dist/widgets/echart.js.map +0 -1
- package/dist/widgets/formula.js.map +0 -1
- package/dist/widgets/stores.js.map +0 -1
- package/dist/widgets-v2/actions.js.map +0 -1
- package/dist/widgets-v2/category.js.map +0 -1
- package/dist/widgets-v2/echart.js.map +0 -1
- package/dist/widgets-v2/formula.js.map +0 -1
- package/dist/widgets-v2/markdown.js.map +0 -1
- package/dist/widgets-v2/range.js.map +0 -1
- package/dist/widgets-v2/spread.js.map +0 -1
- package/dist/widgets-v2/stores.js.map +0 -1
- package/dist/widgets-v2/table.js.map +0 -1
- package/dist/widgets-v2/utils.js.map +0 -1
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { t as e } from "./tooltip-DJUGNZxY.js";
|
|
2
|
+
import "./components-DDt4mOQn.js";
|
|
3
|
+
import { T as t, f as n, n as r } from "./stores-BVFMfgyo.js";
|
|
4
|
+
import { c as i } from "react/compiler-runtime";
|
|
5
|
+
import "react";
|
|
6
|
+
import { IconButton as a, useTheme as o } from "@mui/material";
|
|
7
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
8
|
+
import { ZoomIn as c } from "@mui/icons-material";
|
|
9
|
+
//#region src/widgets-v2/actions/zoom-toggle/transforms.ts
|
|
10
|
+
var l = "image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4=", u = 32, d = 0;
|
|
11
|
+
function f(e, t = {}) {
|
|
12
|
+
let n = t.axes ?? ["x"], r = n.includes("x"), i = n.includes("y"), a = {
|
|
13
|
+
throttle: 0,
|
|
14
|
+
showDetail: !1,
|
|
15
|
+
brushSelect: !1,
|
|
16
|
+
moveHandleSize: 8,
|
|
17
|
+
handleSize: "100%",
|
|
18
|
+
...m(e)
|
|
19
|
+
};
|
|
20
|
+
return (e) => {
|
|
21
|
+
if (typeof e != "object" || !e) return e;
|
|
22
|
+
let t = e, n = [];
|
|
23
|
+
return r && n.push({
|
|
24
|
+
type: "inside",
|
|
25
|
+
xAxisIndex: [0],
|
|
26
|
+
throttle: 0
|
|
27
|
+
}), i && n.push({
|
|
28
|
+
type: "inside",
|
|
29
|
+
yAxisIndex: [0],
|
|
30
|
+
throttle: 0
|
|
31
|
+
}), r && n.push({
|
|
32
|
+
type: "slider",
|
|
33
|
+
xAxisIndex: [0],
|
|
34
|
+
height: u,
|
|
35
|
+
bottom: d,
|
|
36
|
+
handleIcon: l,
|
|
37
|
+
...a
|
|
38
|
+
}), i && n.push({
|
|
39
|
+
type: "slider",
|
|
40
|
+
yAxisIndex: [0],
|
|
41
|
+
width: u,
|
|
42
|
+
right: d,
|
|
43
|
+
...a
|
|
44
|
+
}), {
|
|
45
|
+
...t,
|
|
46
|
+
dataZoom: n
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
var p = (e) => typeof e != "object" || !e ? e : {
|
|
51
|
+
...e,
|
|
52
|
+
dataZoom: [{ type: "inside" }, {
|
|
53
|
+
type: "slider",
|
|
54
|
+
height: u,
|
|
55
|
+
bottom: d
|
|
56
|
+
}]
|
|
57
|
+
};
|
|
58
|
+
function m(e) {
|
|
59
|
+
let t = e.palette.secondary?.main ?? "#358BE7";
|
|
60
|
+
return {
|
|
61
|
+
fillerColor: "rgba(53, 139, 231, 0.25)",
|
|
62
|
+
borderColor: "rgba(53, 139, 231, 0.3)",
|
|
63
|
+
borderWidth: .5,
|
|
64
|
+
backgroundColor: "transparent",
|
|
65
|
+
borderRadius: 4,
|
|
66
|
+
dataBackground: {
|
|
67
|
+
lineStyle: { opacity: 0 },
|
|
68
|
+
areaStyle: {
|
|
69
|
+
opacity: 1,
|
|
70
|
+
color: t
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
selectedDataBackground: {
|
|
74
|
+
lineStyle: { opacity: 0 },
|
|
75
|
+
areaStyle: {
|
|
76
|
+
opacity: 1,
|
|
77
|
+
color: t
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
handleStyle: {
|
|
81
|
+
color: e.palette.common?.white ?? "#fff",
|
|
82
|
+
borderColor: "rgba(3, 111, 226, 0.08)",
|
|
83
|
+
borderWidth: 1,
|
|
84
|
+
shadowBlur: 3,
|
|
85
|
+
shadowColor: "rgba(0, 0, 0, 0.1)",
|
|
86
|
+
shadowOffsetX: 0,
|
|
87
|
+
shadowOffsetY: 1
|
|
88
|
+
},
|
|
89
|
+
textStyle: {
|
|
90
|
+
color: e.palette.black?.[60] ?? e.palette.text?.primary,
|
|
91
|
+
fontSize: parseInt(e.typography.overlineDelicate?.fontSize ?? "11"),
|
|
92
|
+
fontFamily: e.typography.overlineDelicate?.fontFamily ?? e.typography.caption?.fontFamily
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
var h = {
|
|
97
|
+
sliderHeight: u,
|
|
98
|
+
sliderGap: 8,
|
|
99
|
+
sliderBottomWithLegend: 28
|
|
100
|
+
}, g = {
|
|
101
|
+
on: "Disable zoom",
|
|
102
|
+
off: "Enable zoom"
|
|
103
|
+
}, _ = {
|
|
104
|
+
toggle: {
|
|
105
|
+
p: .5,
|
|
106
|
+
"& .MuiSvgIcon-root": { fontSize: 20 }
|
|
107
|
+
},
|
|
108
|
+
toggleActive: { background: (e) => e.palette.primary.relatedLight }
|
|
109
|
+
}, v = {
|
|
110
|
+
id: "zoom-toggle",
|
|
111
|
+
type: "config",
|
|
112
|
+
order: 20
|
|
113
|
+
};
|
|
114
|
+
function y(l) {
|
|
115
|
+
let u = i(31), { initialEnabled: d, labels: p, icon: m, iconProps: h, axes: y } = l, b = d !== void 0 && d, x = m === void 0 ? c : m, S = t(), C = o(), w;
|
|
116
|
+
u[0] === p ? w = u[1] : (w = {
|
|
117
|
+
...g,
|
|
118
|
+
...p
|
|
119
|
+
}, u[0] = p, u[1] = w);
|
|
120
|
+
let T = w, E;
|
|
121
|
+
u[2] === y ? E = u[3] : (E = !y || y.includes("x"), u[2] = y, u[3] = E);
|
|
122
|
+
let D = E, O;
|
|
123
|
+
u[4] === y ? O = u[5] : (O = y ? y.includes("y") : !1, u[4] = y, u[5] = O);
|
|
124
|
+
let k = O, A;
|
|
125
|
+
if (u[6] !== D || u[7] !== k || u[8] !== C) {
|
|
126
|
+
let e = [];
|
|
127
|
+
D && e.push("x"), k && e.push("y"), A = f(C, { axes: e }), u[6] = D, u[7] = k, u[8] = C, u[9] = A;
|
|
128
|
+
} else A = u[9];
|
|
129
|
+
let j = A, M;
|
|
130
|
+
u[10] === b ? M = u[11] : (M = { initialEnabled: b }, u[10] = b, u[11] = M);
|
|
131
|
+
let { enabled: N, toggle: P } = r(S, v, j, M), F;
|
|
132
|
+
u[12] !== N || u[13] !== S || u[14] !== P ? (F = () => {
|
|
133
|
+
N && n(S)?.setOption({}, { replaceMerge: ["dataZoom"] }), P();
|
|
134
|
+
}, u[12] = N, u[13] = S, u[14] = P, u[15] = F) : F = u[15];
|
|
135
|
+
let I = F, L = N ? T.on : T.off, R = N ? "active" : void 0, z = N && _.toggleActive, B;
|
|
136
|
+
u[16] === z ? B = u[17] : (B = {
|
|
137
|
+
..._.toggle,
|
|
138
|
+
...z
|
|
139
|
+
}, u[16] = z, u[17] = B);
|
|
140
|
+
let V;
|
|
141
|
+
u[18] !== x || u[19] !== h ? (V = /* @__PURE__ */ s(x, {
|
|
142
|
+
fontSize: "small",
|
|
143
|
+
...h
|
|
144
|
+
}), u[18] = x, u[19] = h, u[20] = V) : V = u[20];
|
|
145
|
+
let H;
|
|
146
|
+
u[21] !== N || u[22] !== I || u[23] !== B || u[24] !== V || u[25] !== R || u[26] !== L ? (H = /* @__PURE__ */ s(a, {
|
|
147
|
+
size: "small",
|
|
148
|
+
"aria-label": L,
|
|
149
|
+
"aria-pressed": N,
|
|
150
|
+
onClick: I,
|
|
151
|
+
className: R,
|
|
152
|
+
sx: B,
|
|
153
|
+
children: V
|
|
154
|
+
}), u[21] = N, u[22] = I, u[23] = B, u[24] = V, u[25] = R, u[26] = L, u[27] = H) : H = u[27];
|
|
155
|
+
let U;
|
|
156
|
+
return u[28] !== H || u[29] !== L ? (U = /* @__PURE__ */ s(e, {
|
|
157
|
+
title: L,
|
|
158
|
+
children: H
|
|
159
|
+
}), u[28] = H, u[29] = L, u[30] = U) : U = u[30], U;
|
|
160
|
+
}
|
|
161
|
+
//#endregion
|
|
162
|
+
export { f as a, p as i, g as n, h as r, y as t };
|
|
163
|
+
|
|
164
|
+
//# sourceMappingURL=zoom-toggle-CA0ifG23.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-toggle-CA0ifG23.js","names":["Theme","SLIDER_HANDLE_ICON","SLIDER_HEIGHT","SLIDER_BOTTOM","ZoomAxis","CreateAddZoomOptions","axes","createAddZoom","theme","options","option","includeX","includes","includeY","sliderStyles","getZoomSliderStyles","baseSliderProps","throttle","showDetail","brushSelect","moveHandleSize","handleSize","cfg","Record","dataZoom","push","type","xAxisIndex","yAxisIndex","height","bottom","handleIcon","width","right","addZoom","secondary","palette","main","fillerColor","borderColor","borderWidth","backgroundColor","borderRadius","dataBackground","lineStyle","opacity","areaStyle","color","selectedDataBackground","handleStyle","common","white","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","textStyle","black","text","primary","fontSize","parseInt","typography","overlineDelicate","fontFamily","caption","ZOOM_LAYOUT","sliderHeight","sliderGap","sliderBottomWithLegend","const","ZoomToggleLabels","on","off","DEFAULT_ZOOM_TOGGLE_LABELS","SxProps","Theme","styles","toggle","p","fontSize","toggleActive","background","theme","palette","primary","relatedLight","Record","useCallback","useMemo","ComponentType","IconButton","useTheme","SvgIconProps","ZoomIn","ZoomInIcon","Tooltip","getEchartInstance","useSingleTransform","useWidgetId","createAddZoom","ZoomAxis","DEFAULT_ZOOM_TOGGLE_LABELS","ZoomToggleLabels","styles","ZOOM_DESCRIPTOR","id","type","const","order","ZoomToggleProps","initialEnabled","labels","Partial","icon","iconProps","axes","ZoomToggle","t0","$","_c","t1","t2","undefined","Icon","theme","t3","_labels","t4","includes","includeX","t5","includeY","t6","resolved","push","transform","t7","enabled","toggle","t8","setOption","replaceMerge","handleToggle","tooltip","on","off","t9","t10","toggleActive","t11","t12","t13","t14"],"sources":["../src/widgets-v2/actions/zoom-toggle/transforms.ts","../src/widgets-v2/actions/zoom-toggle/labels.ts","../src/widgets-v2/actions/zoom-toggle/style.ts","../src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx"],"sourcesContent":["import type { Theme } from '@mui/material'\n\n/**\n * v1's slider handle — 9×36 SVG with a white pill body, secondary-colored\n * stroke, and three grip lines. Inlined as a data URL so the chart can\n * render it without a network fetch.\n */\nconst SLIDER_HANDLE_ICON =\n 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4='\n\nconst SLIDER_HEIGHT = 32\nconst SLIDER_BOTTOM = 0\n\n/** Which chart axis (or axes) zoom applies to. */\nexport type ZoomAxis = 'x' | 'y'\n\nexport interface CreateAddZoomOptions {\n /**\n * Axes to enable zoom on. Default `['x']` (matches bar / histogram /\n * timeseries — horizontal pan/zoom on the category axis). Pass\n * `['x', 'y']` for a scatterplot-style 2D zoom (mouse-wheel scales both\n * axes; a horizontal slider sits at the bottom for x-range and a\n * vertical slider sits on the right for y-range).\n */\n axes?: readonly ZoomAxis[]\n}\n\n/**\n * Theme-bound zoom config transform: adds one inside `dataZoom`\n * (mouse-wheel + drag) per axis plus a styled slider per axis with the\n * v1 chrome (blue-tinted filler, secondary-color data preview, white\n * pill handles, CARTO typography). The x-slider is horizontal at the\n * bottom; the y-slider is vertical on the right.\n *\n * Returned function has stable identity for a given theme + axes\n * combination; pair with `useMemo` at the call site.\n *\n * **No `start` / `end`** are emitted: ECharts defaults to `0–100` on the\n * first `setOption` and then keeps the runtime slider state across\n * subsequent merges (no `replaceMerge` for `dataZoom`). Re-running the\n * transform on data/formatter/RelativeData updates therefore preserves the\n * user's dragged range instead of snapping it back.\n */\nexport function createAddZoom(\n theme: Theme,\n options: CreateAddZoomOptions = {},\n): (option: unknown) => unknown {\n const axes = options.axes ?? ['x']\n const includeX = axes.includes('x')\n const includeY = axes.includes('y')\n const sliderStyles = getZoomSliderStyles(theme)\n const baseSliderProps = {\n throttle: 0,\n showDetail: false,\n brushSelect: false,\n moveHandleSize: 8,\n handleSize: '100%',\n ...sliderStyles,\n }\n return (option: unknown): unknown => {\n if (option == null || typeof option !== 'object') return option\n const cfg = option as Record<string, unknown>\n const dataZoom: object[] = []\n if (includeX) {\n dataZoom.push({ type: 'inside', xAxisIndex: [0], throttle: 0 })\n }\n if (includeY) {\n dataZoom.push({ type: 'inside', yAxisIndex: [0], throttle: 0 })\n }\n if (includeX) {\n dataZoom.push({\n type: 'slider',\n xAxisIndex: [0],\n height: SLIDER_HEIGHT,\n bottom: SLIDER_BOTTOM,\n handleIcon: SLIDER_HANDLE_ICON,\n ...baseSliderProps,\n })\n }\n if (includeY) {\n // Vertical slider — `width` is its thickness, `right` pins it to\n // the right edge. We omit `handleIcon` so ECharts renders its\n // default vertical handle (the inline SVG is shaped for a\n // horizontal slider and looks wrong when rotated).\n dataZoom.push({\n type: 'slider',\n yAxisIndex: [0],\n width: SLIDER_HEIGHT,\n right: SLIDER_BOTTOM,\n ...baseSliderProps,\n })\n }\n return { ...cfg, dataZoom }\n }\n}\n\n/**\n * Back-compat untyped transform — produces the bare `dataZoom` config from\n * the original v2 implementation. Use {@link createAddZoom} when a theme is\n * available so the slider matches the v1 styling.\n *\n * `start` / `end` are intentionally omitted so ECharts preserves the user's\n * runtime range across subsequent `setOption` merges (see {@link createAddZoom}).\n */\nexport const addZoom = (option: unknown): unknown => {\n if (option == null || typeof option !== 'object') return option\n const cfg = option as Record<string, unknown>\n return {\n ...cfg,\n dataZoom: [\n { type: 'inside' },\n {\n type: 'slider',\n height: SLIDER_HEIGHT,\n bottom: SLIDER_BOTTOM,\n },\n ],\n }\n}\n\n/** Style block matching v1's `getEChartZoomSliderStyles`. */\nfunction getZoomSliderStyles(theme: Theme) {\n const secondary = theme.palette.secondary?.main ?? '#358BE7'\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: { opacity: 0 },\n areaStyle: { opacity: 1, color: secondary },\n },\n selectedDataBackground: {\n lineStyle: { opacity: 0 },\n areaStyle: { opacity: 1, color: secondary },\n },\n handleStyle: {\n color: theme.palette.common?.white ?? '#fff',\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] ?? theme.palette.text?.primary,\n fontSize: parseInt(\n (theme.typography.overlineDelicate?.fontSize as string | undefined) ??\n '11',\n ),\n fontFamily:\n theme.typography.overlineDelicate?.fontFamily ??\n theme.typography.caption?.fontFamily,\n },\n }\n}\n\n/**\n * Visual layout constants used by the data-fusion mergers (bar, histogram,\n * timeseries) when laying out the slider against the legend / grid.\n */\nexport const ZOOM_LAYOUT = {\n /** Slider height in px (matches `createAddZoom` output). */\n sliderHeight: SLIDER_HEIGHT,\n /** Vertical gap between chart grid and the slider. */\n sliderGap: 8,\n /** Slider `bottom` when a legend is shown — sits above the legend row. */\n sliderBottomWithLegend: 28,\n} as const\n","export interface ZoomToggleLabels {\n on: string\n off: string\n}\n\nexport const DEFAULT_ZOOM_TOGGLE_LABELS: ZoomToggleLabels = {\n on: 'Disable zoom',\n off: 'Enable zoom',\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n toggle: {\n p: 0.5,\n '& .MuiSvgIcon-root': { fontSize: 20 },\n },\n toggleActive: {\n background: (theme: Theme) => theme.palette.primary.relatedLight,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useCallback, useMemo, type ComponentType } from 'react'\nimport { IconButton, useTheme, type SvgIconProps } from '@mui/material'\nimport { ZoomIn as ZoomInIcon } from '@mui/icons-material'\nimport { Tooltip } from '../../../components'\nimport {\n getEchartInstance,\n useSingleTransform,\n useWidgetId,\n} from '../../stores'\nimport { createAddZoom, type ZoomAxis } from './transforms'\nimport { DEFAULT_ZOOM_TOGGLE_LABELS, type ZoomToggleLabels } from './labels'\nimport { styles } from './style'\n\nconst ZOOM_DESCRIPTOR = {\n id: 'zoom-toggle',\n type: 'config' as const,\n order: 20,\n}\n\nexport interface ZoomToggleProps {\n initialEnabled?: boolean\n labels?: Partial<ZoomToggleLabels>\n icon?: ComponentType<SvgIconProps>\n iconProps?: SvgIconProps\n /**\n * Which axes the zoom controls. Default `['x']` — matches bar /\n * histogram / timeseries (horizontal pan on the category axis). Pass\n * `['x', 'y']` for 2D zoom on a scatterplot-style chart (mouse-wheel\n * scales both axes; horizontal slider at bottom + vertical slider on\n * the right).\n */\n axes?: readonly ZoomAxis[]\n}\n\n/**\n * Toggle a `dataZoom` slider + wheel-zoom on the chart. The transform is\n * theme-bound so the slider gets v1's CARTO chrome (blue-tinted filler,\n * secondary-color preview, white pill handles).\n *\n * `dataZoom` is intentionally NOT in `replaceMergeKeys` — ECharts merges\n * subsequent `setOption` calls so the user's dragged range survives\n * unrelated re-renders (data updates, formatter swaps, RelativeData toggles).\n *\n * On disable the transform is unregistered, but ECharts' merge semantics\n * would otherwise *keep* the live `dataZoom` component visible. To remove\n * the slider immediately we issue a one-shot\n * `setOption({}, { replaceMerge: ['dataZoom'] })` against the live chart\n * instance via {@link getEchartInstance} — this bypasses the pipeline so\n * unrelated transforms aren't disturbed.\n */\nexport function ZoomToggle({\n initialEnabled = false,\n labels,\n icon: Icon = ZoomInIcon,\n iconProps,\n axes,\n}: ZoomToggleProps) {\n const id = useWidgetId()\n const theme = useTheme()\n const _labels = { ...DEFAULT_ZOOM_TOGGLE_LABELS, ...labels }\n // Reduce `axes` to two structural booleans before memoizing so the memo\n // depends on stable primitive values, not an array reference (callers\n // typically pass an inline `axes={['x', 'y']}` literal that changes\n // identity each render). Default — no `axes` prop — is x-axis only,\n // matching `createAddZoom`'s default.\n const includeX = axes ? axes.includes('x') : true\n const includeY = axes ? axes.includes('y') : false\n const transform = useMemo(() => {\n const resolved: ZoomAxis[] = []\n if (includeX) resolved.push('x')\n if (includeY) resolved.push('y')\n return createAddZoom(theme, { axes: resolved })\n }, [theme, includeX, includeY])\n const { enabled, toggle } = useSingleTransform(\n id,\n ZOOM_DESCRIPTOR,\n transform,\n { initialEnabled },\n )\n\n const handleToggle = useCallback(() => {\n if (enabled) {\n // About to disable — clear the dataZoom component on the live\n // instance so the slider disappears immediately.\n getEchartInstance(id)?.setOption({}, { replaceMerge: ['dataZoom'] })\n }\n toggle()\n }, [enabled, toggle, id])\n\n const tooltip = enabled ? _labels.on : _labels.off\n\n return (\n <Tooltip title={tooltip}>\n <IconButton\n size='small'\n aria-label={tooltip}\n aria-pressed={enabled}\n onClick={handleToggle}\n className={enabled ? 'active' : undefined}\n sx={{ ...styles.toggle, ...(enabled && styles.toggleActive) }}\n >\n <Icon fontSize='small' {...iconProps} />\n </IconButton>\n </Tooltip>\n )\n}\n"],"mappings":";;;;;;;;;AAOA,IAAMC,IACJ,8pBAEIC,IAAgB,IAChBC,IAAgB;AAgCtB,SAAgBI,EACdC,GACAC,IAAgC,CAAC,GACH;CAC9B,IAAMH,IAAOG,EAAQH,QAAQ,CAAC,GAAG,GAC3BK,IAAWL,EAAKM,SAAS,GAAG,GAC5BC,IAAWP,EAAKM,SAAS,GAAG,GAE5BI,IAAkB;EACtBC,UAAU;EACVC,YAAY;EACZC,aAAa;EACbC,gBAAgB;EAChBC,YAAY;EACZ,GAPmBN,EAAoBP,CAOpCM;CACL;CACA,QAAQJ,MAA6B;EACnC,IAAsB,OAAOA,KAAW,aAApCA,GAA8C,OAAOA;EACzD,IAAMY,IAAMZ,GACNc,IAAqB,CAAA;EA8B3B,OA7BIb,KACFa,EAASC,KAAK;GAAEC,MAAM;GAAUC,YAAY,CAAC,CAAC;GAAGV,UAAU;EAAE,CAAC,GAE5DJ,KACFW,EAASC,KAAK;GAAEC,MAAM;GAAUE,YAAY,CAAC,CAAC;GAAGX,UAAU;EAAE,CAAC,GAE5DN,KACFa,EAASC,KAAK;GACZC,MAAM;GACNC,YAAY,CAAC,CAAC;GACdE,QAAQ3B;GACR4B,QAAQ3B;GACR4B,YAAY9B;GACZ,GAAGe;EACL,CAAC,GAECH,KAKFW,EAASC,KAAK;GACZC,MAAM;GACNE,YAAY,CAAC,CAAC;GACdI,OAAO9B;GACP+B,OAAO9B;GACP,GAAGa;EACL,CAAC,GAEI;GAAE,GAAGM;GAAKE;EAAS;CAC5B;AACF;AAUA,IAAaU,KAAWxB,MACA,OAAOA,KAAW,aAApCA,IAAqDA,IAElD;CACL,GAAGY;CACHE,UAAU,CACR,EAAEE,MAAM,SAAS,GACjB;EACEA,MAAM;EACNG,QAAQ3B;EACR4B,QAAQ3B;CACV,CAAC;AAEL;AAIF,SAASY,EAAoBP,GAAc;CACzC,IAAM2B,IAAY3B,EAAM4B,QAAQD,WAAWE,QAAQ;CACnD,OAAO;EACLC,aAAa;EACbC,aAAa;EACbC,aAAa;EACbC,iBAAiB;EACjBC,cAAc;EACdC,gBAAgB;GACdC,WAAW,EAAEC,SAAS,EAAE;GACxBC,WAAW;IAAED,SAAS;IAAGE,OAAOZ;GAAU;EAC5C;EACAa,wBAAwB;GACtBJ,WAAW,EAAEC,SAAS,EAAE;GACxBC,WAAW;IAAED,SAAS;IAAGE,OAAOZ;GAAU;EAC5C;EACAc,aAAa;GACXF,OAAOvC,EAAM4B,QAAQc,QAAQC,SAAS;GACtCZ,aAAa;GACbC,aAAa;GACbY,YAAY;GACZC,aAAa;GACbC,eAAe;GACfC,eAAe;EACjB;EACAC,WAAW;GACTT,OAAOvC,EAAM4B,QAAQqB,QAAQ,OAAOjD,EAAM4B,QAAQsB,MAAMC;GACxDC,UAAUC,SACPrD,EAAMsD,WAAWC,kBAAkBH,YAClC,IACJ;GACAI,YACExD,EAAMsD,WAAWC,kBAAkBC,cACnCxD,EAAMsD,WAAWG,SAASD;EAC9B;CACF;AACF;AAMA,IAAaE,IAAc;CAEzBC,cAAcjE;CAEdkE,WAAW;CAEXC,wBAAwB;AAC1B,GCrKaK,IAA+C;CAC1DF,IAAI;CACJC,KAAK;AACP,GCNaI,IAAS;CACpBC,QAAQ;EACNC,GAAG;EACH,sBAAsB,EAAEC,UAAU,GAAG;CACvC;CACAC,cAAc,EACZC,aAAaC,MAAiBA,EAAMC,QAAQC,QAAQC,aACtD;AACF,GCGMmB,IAAkB;CACtBC,IAAI;CACJC,MAAM;CACNE,OAAO;AACT;AAiCA,SAAOQ,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAoB,EAAAT,gBAAAU,GAAAT,WAAAE,MAAAQ,GAAAP,cAAAC,YAAAE,GACzBP,IAAAU,MAAAE,KAAAA,KAAAF,GAEMG,IAAAF,MAAAC,KAAAA,IAAA5B,IAAA2B,GAINhB,IAAWP,EAAY,GACvB0B,IAAcjC,EAAS,GAACkC;CAAA,AAAAP,EAAA,OAAAP,IACoCc,IAAAP,EAAA,MAA5CO,IAAA;EAAA,GAAKxB;EAA0B,GAAKU;CAAO,GAACO,EAAA,KAAAP,GAAAO,EAAA,KAAAO;CAA5D,IAAAC,IAAgBD,GAA4CE;CAAA,AAAAT,EAAA,OAAAH,IAMXY,IAAAT,EAAA,MAAhCS,IAAAZ,MAAOA,EAAIa,SAAU,GAAU,GAACV,EAAA,KAAAH,GAAAG,EAAA,KAAAS;CAAjD,IAAAE,IAAiBF,GAAgCG;CAAA,AAAAZ,EAAA,OAAAH,IACCe,IAAAZ,EAAA,MAAjCY,IAAAf,IAAOA,EAAIa,SAAU,GAAW,IAAhC,IAAiCV,EAAA,KAAAH,GAAAG,EAAA,KAAAY;CAAlD,IAAAC,IAAiBD,GAAiCE;CAAA,IAAAd,EAAA,OAAAW,KAAAX,EAAA,OAAAa,KAAAb,EAAA,OAAAM,GAAA;EAEhD,IAAAS,IAA6B,CAAA;EAGkBf,AAF3CW,KAAUI,EAAQC,KAAM,GAAG,GAC3BH,KAAUE,EAAQC,KAAM,GAAG,GACxBF,IAAAjC,EAAcyB,GAAO,EAAAT,MAAQkB,EAAS,CAAC,GAACf,EAAA,KAAAW,GAAAX,EAAA,KAAAa,GAAAb,EAAA,KAAAM,GAAAN,EAAA,KAAAc;CAAA,OAAAA,IAAAd,EAAA;CAJjD,IAAAiB,IAIEH,GAC6BI;CAAA,AAAAlB,EAAA,QAAAR,IAKX0B,IAAAlB,EAAA,OAAlBkB,IAAA,EAAA1B,kBAAiB,GAACQ,EAAA,MAAAR,GAAAQ,EAAA,MAAAkB;CAJpB,IAAA,EAAAC,YAAAC,cAA4BzC,EAC1BQ,GACAD,GACA+B,GACAC,CACF,GAACG;CAAA,AAAArB,EAAA,QAAAmB,KAAAnB,EAAA,QAAAb,KAAAa,EAAA,QAAAoB,KAEgCC,UAAA;EAM/BD,AALID,KAGFzC,EAAkBS,CAAa,CAAC,EAAAmC,UAAC,CAAC,GAAG,EAAAC,cAAgB,CAAC,UAAU,EAAE,CAAC,GAErEH,EAAO;CAAC,GACTpB,EAAA,MAAAmB,GAAAnB,EAAA,MAAAb,GAAAa,EAAA,MAAAoB,GAAApB,EAAA,MAAAqB,KAAAA,IAAArB,EAAA;CAPD,IAAAwB,IAAqBH,GASrBI,IAAgBN,IAAUX,EAAOkB,KAAMlB,EAAOmB,KAS7BC,IAAAT,IAAA,WAAAf,KAAAA,GACiByB,IAAAV,KAAWlC,EAAM6C,cAAaC;CAAA,AAAA/B,EAAA,QAAA6B,IAAGE,IAAA/B,EAAA,OAAzD+B,IAAA;EAAA,GAAK9C,EAAMmC;EAAO,GAAMS;CAAgC,GAAC7B,EAAA,MAAA6B,GAAA7B,EAAA,MAAA+B;CAAA,IAAAC;CAAA,AAAAhC,EAAA,QAAAK,KAAAL,EAAA,QAAAJ,KAE7DoC,IAAA,kBAAC,GAAD;EAAe,UAAA;EAAO,GAAKpC;CAAS,CAAA,GAAII,EAAA,MAAAK,GAAAL,EAAA,MAAAJ,GAAAI,EAAA,MAAAgC,KAAAA,IAAAhC,EAAA;CAAA,IAAAiC;CAAA,AAAAjC,EAAA,QAAAmB,KAAAnB,EAAA,QAAAwB,KAAAxB,EAAA,QAAA+B,KAAA/B,EAAA,QAAAgC,KAAAhC,EAAA,QAAA4B,KAAA5B,EAAA,QAAAyB,KAR1CQ,IAAA,kBAAC,GAAD;EACO,MAAA;EACOR,cAAAA;EACEN,gBAAAA;EACLK,SAAAA;EACE,WAAAI;EACP,IAAAG;EAEJC,UAAAA;CARS,CAAA,GASEhC,EAAA,MAAAmB,GAAAnB,EAAA,MAAAwB,GAAAxB,EAAA,MAAA+B,GAAA/B,EAAA,MAAAgC,GAAAhC,EAAA,MAAA4B,GAAA5B,EAAA,MAAAyB,GAAAzB,EAAA,MAAAiC,KAAAA,IAAAjC,EAAA;CAAA,IAAAkC;CACL,OADKlC,EAAA,QAAAiC,KAAAjC,EAAA,QAAAyB,KAVfS,IAAA,kBAAC,GAAD;EAAgBT,OAAAA;EACdQ,UAAAA;CADM,CAAA,GAWEjC,EAAA,MAAAiC,GAAAjC,EAAA,MAAAyB,GAAAzB,EAAA,MAAAkC,KAAAA,IAAAlC,EAAA,KAXVkC;AAWU"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carto/ps-react-ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.20.1",
|
|
4
4
|
"description": "CARTO's Professional Service React Material library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"devDependencies": {
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"@mui/icons-material": "5.18.0",
|
|
13
13
|
"@mui/material": "5.18.0",
|
|
14
14
|
"@mui/x-date-pickers": "7.29.4",
|
|
15
|
-
"echarts": "6.
|
|
15
|
+
"echarts": "6.1.0",
|
|
16
16
|
"html2canvas": "1.4.1",
|
|
17
|
-
"react-dom": "19.2.
|
|
17
|
+
"react-dom": "19.2.8",
|
|
18
18
|
"react-markdown": "10.1.0",
|
|
19
|
-
"zustand": "5.0.
|
|
19
|
+
"zustand": "5.0.15",
|
|
20
20
|
"@carto/ps-common-types": "1.0.0",
|
|
21
21
|
"@carto/ps-utils": "2.1.0"
|
|
22
22
|
},
|
package/src/widgets-v2/index.ts
CHANGED
|
@@ -175,7 +175,12 @@ export type { MarkdownUIProps, MarkdownWidgetData } from './markdown'
|
|
|
175
175
|
export type { PieDatum, PieWidgetData } from './pie'
|
|
176
176
|
export type { TimeseriesDatum, TimeseriesWidgetData } from './timeseries'
|
|
177
177
|
export type { ScatterplotDatum, ScatterplotWidgetData } from './scatterplot'
|
|
178
|
-
export type {
|
|
178
|
+
export type {
|
|
179
|
+
SpreadUIProps,
|
|
180
|
+
SpreadDataItem,
|
|
181
|
+
SpreadWidgetData,
|
|
182
|
+
SpreadVariant,
|
|
183
|
+
} from './spread'
|
|
179
184
|
export type {
|
|
180
185
|
RangeProps,
|
|
181
186
|
RangeUIProps,
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import { getSpreadBand } from './band'
|
|
3
|
+
|
|
4
|
+
describe('getSpreadBand', () => {
|
|
5
|
+
it('reads `spread` as a percentage of the centre value by default', () => {
|
|
6
|
+
expect(getSpreadBand({ value: 1000, spread: 5 })).toEqual({
|
|
7
|
+
min: 950,
|
|
8
|
+
max: 1050,
|
|
9
|
+
})
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
it('reads `spread` as a percentage when asked explicitly', () => {
|
|
13
|
+
expect(
|
|
14
|
+
getSpreadBand({ value: 204_113, spread: 5, variant: 'percentage' }),
|
|
15
|
+
).toEqual({ min: 193_907.35, max: 214_318.65 })
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
it('reads `spread` as raw units when the caller opts into `absolute`', () => {
|
|
19
|
+
expect(
|
|
20
|
+
getSpreadBand({ value: 204_113, spread: 5, variant: 'absolute' }),
|
|
21
|
+
).toEqual({ min: 204_108, max: 204_118 })
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it('collapses to the centre value when `spread` is 0', () => {
|
|
25
|
+
expect(getSpreadBand({ value: 42, spread: 0 })).toEqual({
|
|
26
|
+
min: 42,
|
|
27
|
+
max: 42,
|
|
28
|
+
})
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
// A percentage of a negative centre value is a negative offset, which would
|
|
32
|
+
// otherwise invert the band into `min: -180, max: -220`.
|
|
33
|
+
it('keeps `min <= max` for a negative centre value', () => {
|
|
34
|
+
expect(getSpreadBand({ value: -200, spread: 10 })).toEqual({
|
|
35
|
+
min: -220,
|
|
36
|
+
max: -180,
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
it('keeps `min <= max` for a negative `spread`', () => {
|
|
41
|
+
expect(getSpreadBand({ value: 1000, spread: -5 })).toEqual({
|
|
42
|
+
min: 950,
|
|
43
|
+
max: 1050,
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
})
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a `spread` amount is applied to a centre value.
|
|
3
|
+
*
|
|
4
|
+
* - `percentage` — `spread` is a whole-number percentage of the centre
|
|
5
|
+
* value, so `5` means +/-5%.
|
|
6
|
+
* - `absolute` — `spread` is a raw offset in the value's own units.
|
|
7
|
+
*/
|
|
8
|
+
export type SpreadVariant = 'percentage' | 'absolute'
|
|
9
|
+
|
|
10
|
+
export interface GetSpreadBandOptions {
|
|
11
|
+
/** The centre value the band is drawn around. */
|
|
12
|
+
value: number
|
|
13
|
+
/** Half-width of the band, read according to `variant`. */
|
|
14
|
+
spread: number
|
|
15
|
+
/** Defaults to `percentage`. */
|
|
16
|
+
variant?: SpreadVariant
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Derives the `min` / `max` band around a centre value, for feeding a
|
|
21
|
+
* {@link SpreadDataItem} from a single aggregated number (a prediction, a
|
|
22
|
+
* target) plus a tolerance — rather than from a real column range.
|
|
23
|
+
*
|
|
24
|
+
* `spread` is read as a percentage by default, which is what a tolerance
|
|
25
|
+
* almost always is: an absolute offset is meaningless without knowing the
|
|
26
|
+
* value's magnitude, and gets visually lost on large values (+/-5 on a
|
|
27
|
+
* prediction of 204,113 renders as a range indistinguishable from a single
|
|
28
|
+
* number).
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* getSpreadBand({ value: 1000, spread: 5 })
|
|
32
|
+
* // -> { min: 950, max: 1050 }
|
|
33
|
+
* getSpreadBand({ value: 1000, spread: 5, variant: 'absolute' })
|
|
34
|
+
* // -> { min: 995, max: 1005 }
|
|
35
|
+
*/
|
|
36
|
+
export function getSpreadBand({
|
|
37
|
+
value,
|
|
38
|
+
spread,
|
|
39
|
+
variant = 'percentage',
|
|
40
|
+
}: GetSpreadBandOptions): { min: number; max: number } {
|
|
41
|
+
const offset = variant === 'absolute' ? spread : (spread / 100) * value
|
|
42
|
+
// Keep `min <= max`: a percentage of a negative centre value (or a negative
|
|
43
|
+
// `spread`) yields a negative offset, which would invert the band.
|
|
44
|
+
const width = Math.abs(offset)
|
|
45
|
+
|
|
46
|
+
return { min: value - width, max: value + width }
|
|
47
|
+
}
|
|
@@ -3,4 +3,5 @@ export { SpreadUI, type SpreadUIProps } from './spread-ui'
|
|
|
3
3
|
export { Separator } from './separator'
|
|
4
4
|
export { SpreadSkeleton, type SpreadSkeletonProps } from './skeleton'
|
|
5
5
|
export { createSpreadDownloadConfig } from './download'
|
|
6
|
+
export { getSpreadBand, type SpreadVariant, type GetSpreadBandOptions } from './band'
|
|
6
7
|
export type { SpreadDataItem, SpreadWidgetData } from './types'
|