@carto/ps-react-ui 5.0.0-widgets.9 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions-BjPfCLG9.js +1024 -0
- package/dist/actions-BjPfCLG9.js.map +1 -0
- package/dist/actions-CGJD6q0t.js +1318 -0
- package/dist/actions-CGJD6q0t.js.map +1 -0
- package/dist/category-DGUDabsi.js +829 -0
- package/dist/category-DGUDabsi.js.map +1 -0
- package/dist/chart-config-B_fdIcD3.js +108 -0
- package/dist/chart-config-B_fdIcD3.js.map +1 -0
- package/dist/chat.js +1642 -0
- package/dist/chat.js.map +1 -0
- package/dist/cjs-CBrZjPCj.js +75 -0
- package/dist/cjs-CBrZjPCj.js.map +1 -0
- package/dist/components-FED-ArwH.js +4053 -0
- package/dist/components-FED-ArwH.js.map +1 -0
- package/dist/components.js +5 -1351
- package/dist/copy-button-TTlZONkX.js +34 -0
- package/dist/copy-button-TTlZONkX.js.map +1 -0
- package/dist/csv-modifiers-D6HGC24b.js +26 -0
- package/dist/csv-modifiers-D6HGC24b.js.map +1 -0
- package/dist/download-DdaK3qgC.js +232 -0
- package/dist/download-DdaK3qgC.js.map +1 -0
- package/dist/echart-BkaV3V5G.js +133 -0
- package/dist/echart-BkaV3V5G.js.map +1 -0
- package/dist/echart-CRihbmRv.js +249 -0
- package/dist/echart-CRihbmRv.js.map +1 -0
- package/dist/formatter-wVO81tYk.js +6 -0
- package/dist/formatter-wVO81tYk.js.map +1 -0
- package/dist/formula-YfZmmuYX.js +190 -0
- package/dist/formula-YfZmmuYX.js.map +1 -0
- package/dist/formula-noJzQwKo.js +285 -0
- package/dist/formula-noJzQwKo.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 -0
- package/dist/legend.js +2284 -0
- package/dist/legend.js.map +1 -0
- package/dist/markdown-2dfL6Cmb.js +165 -0
- package/dist/markdown-2dfL6Cmb.js.map +1 -0
- package/dist/markdown-content-BWUqwx9F.js +8776 -0
- package/dist/markdown-content-BWUqwx9F.js.map +1 -0
- package/dist/range-BCMAl5xf.js +277 -0
- package/dist/range-BCMAl5xf.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-Ccpg9fi0.js +149 -0
- package/dist/spread-Ccpg9fi0.js.map +1 -0
- package/dist/stores-mad-9yFn.js +369 -0
- package/dist/stores-mad-9yFn.js.map +1 -0
- package/dist/stores-tiFePP0A.js +243 -0
- package/dist/stores-tiFePP0A.js.map +1 -0
- package/dist/styles-Y-qGBELO.js +13 -0
- package/dist/styles-Y-qGBELO.js.map +1 -0
- package/dist/table-Bx9Uj3U0.js +440 -0
- package/dist/table-Bx9Uj3U0.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 +12 -0
- package/dist/types/chat/bubbles/chat-agent-message.d.ts +9 -0
- package/dist/types/chat/bubbles/chat-error-message.d.ts +2 -0
- package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +2 -0
- package/dist/types/chat/bubbles/chat-user-message.d.ts +2 -0
- package/dist/types/chat/bubbles/index.d.ts +5 -0
- package/dist/types/chat/bubbles/styles.d.ts +88 -0
- package/dist/types/chat/const.d.ts +4 -0
- package/dist/types/chat/containers/chat-content.d.ts +2 -0
- package/dist/types/chat/containers/chat-footer.d.ts +2 -0
- package/dist/types/chat/containers/chat-header.d.ts +2 -0
- package/dist/types/chat/containers/chat-starter.d.ts +2 -0
- package/dist/types/chat/containers/index.d.ts +4 -0
- package/dist/types/chat/containers/styles.d.ts +160 -0
- package/dist/types/chat/feedback/chat-actions-container.d.ts +3 -0
- package/dist/types/chat/feedback/chat-loader.d.ts +2 -0
- package/dist/types/chat/feedback/chat-rating-action.d.ts +2 -0
- package/dist/types/chat/feedback/chat-thinking.d.ts +2 -0
- package/dist/types/chat/feedback/chat-tool-code-area.d.ts +2 -0
- package/dist/types/chat/feedback/chat-tool-full-view-dialog.d.ts +2 -0
- package/dist/types/chat/feedback/chat-tool-group.d.ts +2 -0
- package/dist/types/chat/feedback/chat-tool-trace.d.ts +3 -0
- package/dist/types/chat/feedback/get-tool-label.d.ts +2 -0
- package/dist/types/chat/feedback/index.d.ts +8 -0
- package/dist/types/chat/feedback/styles.d.ts +212 -0
- package/dist/types/chat/index.d.ts +21 -0
- package/dist/types/chat/types.d.ts +214 -0
- package/dist/types/chat/use-typewriter.d.ts +32 -0
- package/dist/types/components/basemaps/basemaps.d.ts +21 -1
- package/dist/types/components/basemaps/const.d.ts +1 -1
- package/dist/types/components/basemaps/group-wrapper.d.ts +1 -1
- package/dist/types/components/basemaps/group.d.ts +2 -2
- package/dist/types/components/basemaps/header.d.ts +2 -2
- package/dist/types/components/common-types.d.ts +49 -0
- package/dist/types/components/copy-button/copy-button.d.ts +2 -0
- package/dist/types/components/copy-button/types.d.ts +6 -0
- package/dist/types/components/geolocation-controls/geolocation-controls.d.ts +12 -1
- package/dist/types/components/index.d.ts +37 -20
- package/dist/types/components/lasso-tool/chip.d.ts +2 -2
- package/dist/types/components/lasso-tool/const.d.ts +2 -2
- package/dist/types/components/lasso-tool/edit-confirm-toolbar.d.ts +26 -0
- package/dist/types/components/lasso-tool/geometry-toolbar.d.ts +49 -0
- package/dist/types/components/lasso-tool/icons.d.ts +22 -5
- package/dist/types/components/lasso-tool/lasso-tool-inline.d.ts +36 -3
- package/dist/types/components/lasso-tool/lasso-tool.d.ts +34 -9
- package/dist/types/components/lasso-tool/layer-filters.d.ts +10 -0
- package/dist/types/components/lasso-tool/message.d.ts +7 -0
- package/dist/types/components/lasso-tool/options-sections.d.ts +28 -0
- package/dist/types/components/lasso-tool/styles.d.ts +24 -2
- package/dist/types/components/lasso-tool/toolbar/actions/accept-action.d.ts +13 -0
- package/dist/types/components/lasso-tool/toolbar/actions/action-menu.d.ts +28 -0
- package/dist/types/components/lasso-tool/toolbar/actions/cancel-action.d.ts +13 -0
- package/dist/types/components/lasso-tool/toolbar/actions/color-action.d.ts +44 -0
- package/dist/types/components/lasso-tool/toolbar/actions/delete-action.d.ts +11 -0
- package/dist/types/components/lasso-tool/toolbar/actions/duplicate-action.d.ts +11 -0
- package/dist/types/components/lasso-tool/toolbar/actions/edit-geometry-action.d.ts +13 -0
- package/dist/types/components/lasso-tool/toolbar/actions/edit-properties-action.d.ts +60 -0
- package/dist/types/components/lasso-tool/toolbar/actions/fill-action.d.ts +26 -0
- package/dist/types/components/lasso-tool/toolbar/actions/intersect-action.d.ts +14 -0
- package/dist/types/components/lasso-tool/toolbar/actions/label-action.d.ts +69 -0
- package/dist/types/components/lasso-tool/toolbar/actions/lock-action.d.ts +17 -0
- package/dist/types/components/lasso-tool/toolbar/actions/redo-action.d.ts +14 -0
- package/dist/types/components/lasso-tool/toolbar/actions/split-action.d.ts +14 -0
- package/dist/types/components/lasso-tool/toolbar/actions/stroke-action.d.ts +27 -0
- package/dist/types/components/lasso-tool/toolbar/actions/subtract-action.d.ts +14 -0
- package/dist/types/components/lasso-tool/toolbar/actions/toggle-type-action.d.ts +19 -0
- package/dist/types/components/lasso-tool/toolbar/actions/undo-action.d.ts +14 -0
- package/dist/types/components/lasso-tool/toolbar/actions/union-action.d.ts +14 -0
- package/dist/types/components/lasso-tool/toolbar/button.d.ts +24 -0
- package/dist/types/components/lasso-tool/toolbar/connected.d.ts +55 -0
- package/dist/types/components/lasso-tool/toolbar/context.d.ts +31 -0
- package/dist/types/components/lasso-tool/toolbar/index.d.ts +41 -0
- package/dist/types/components/lasso-tool/toolbar/styles.d.ts +26 -0
- package/dist/types/components/lasso-tool/toolbar/toolbar.d.ts +30 -0
- package/dist/types/components/lasso-tool/tools-context.d.ts +12 -0
- package/dist/types/components/lasso-tool/types.d.ts +284 -10
- package/dist/types/components/lasso-tool/undo-redo.d.ts +25 -0
- package/dist/types/components/list-data/list-data-skeleton.d.ts +1 -1
- package/dist/types/components/list-data/list-data.d.ts +17 -1
- package/dist/types/components/measurement-tools/const.d.ts +2 -2
- package/dist/types/components/measurement-tools/icons.d.ts +3 -3
- package/dist/types/components/measurement-tools/measurement-tools.d.ts +21 -1
- package/dist/types/components/measurement-tools/styles.d.ts +14 -4
- package/dist/types/components/measurement-tools/types.d.ts +1 -1
- package/dist/types/components/no-data-alert/no-data-alert.d.ts +1 -1
- package/dist/types/components/responsive-drawer/responsive-drawer.d.ts +38 -6
- package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +18 -1
- package/dist/types/components/tooltip/tooltip.d.ts +14 -1
- package/dist/types/components/types.d.ts +1 -1
- package/dist/types/components/zoom-controls/zoom-controls.d.ts +17 -1
- package/dist/types/hooks/index.d.ts +1 -2
- package/dist/types/hooks/use-widget-ref.d.ts +10 -6
- package/dist/types/legend/components/a11y.d.ts +6 -0
- package/dist/types/legend/components/contexts.d.ts +38 -0
- package/dist/types/legend/components/icons.d.ts +12 -0
- package/dist/types/legend/components/index.d.ts +26 -0
- package/dist/types/legend/components/legend-actions/legend-actions.d.ts +25 -0
- package/dist/types/legend/components/legend-actions/styles.d.ts +7 -0
- package/dist/types/legend/components/legend-category/legend-category-ui.d.ts +13 -0
- package/dist/types/legend/components/legend-category/styles.d.ts +52 -0
- package/dist/types/legend/components/legend-config-select/legend-config-select.d.ts +14 -0
- package/dist/types/legend/components/legend-config-select/styles.d.ts +44 -0
- package/dist/types/legend/components/legend-group/legend-group.d.ts +12 -0
- package/dist/types/legend/components/legend-group/styles.d.ts +129 -0
- package/dist/types/legend/components/legend-group-menu/legend-group-menu-items.d.ts +28 -0
- package/dist/types/legend/components/legend-group-menu/legend-group-menu.d.ts +11 -0
- package/dist/types/legend/components/legend-icon/legend-icon-ui.d.ts +10 -0
- package/dist/types/legend/components/legend-icon/styles.d.ts +52 -0
- package/dist/types/legend/components/legend-item/legend-item-ui.d.ts +14 -0
- package/dist/types/legend/components/legend-item/legend-item.d.ts +10 -0
- package/dist/types/{widgets/root/style.d.ts → legend/components/legend-item/styles.d.ts} +2 -3
- package/dist/types/legend/components/legend-opacity/legend-opacity.d.ts +22 -0
- package/dist/types/legend/components/legend-opacity/styles.d.ts +28 -0
- package/dist/types/legend/components/legend-overflow-menu/legend-overflow-menu.d.ts +12 -0
- package/dist/types/legend/components/legend-panel-menu/legend-panel-menu.d.ts +11 -0
- package/dist/types/legend/components/legend-proportion/legend-proportion-ui.d.ts +16 -0
- package/dist/types/legend/components/legend-proportion/styles.d.ts +37 -0
- package/dist/types/legend/components/legend-ramp/legend-ramp-ui.d.ts +20 -0
- package/dist/types/legend/components/legend-ramp/styles.d.ts +53 -0
- package/dist/types/legend/components/legend-row/legend-row.d.ts +16 -0
- package/dist/types/legend/components/legend-row/styles.d.ts +149 -0
- package/dist/types/legend/components/legend-row-menu/legend-row-menu-items.d.ts +12 -0
- package/dist/types/legend/components/legend-row-menu/legend-row-menu.d.ts +12 -0
- package/dist/types/legend/components/legend-row-menu/legend-zoom-to.d.ts +10 -0
- package/dist/types/legend/components/legend-sortable/contexts.d.ts +7 -0
- package/dist/types/legend/components/legend-sortable/legend-sortable.d.ts +11 -0
- package/dist/types/legend/components/legend-sortable/sortable-entity.d.ts +27 -0
- package/dist/types/legend/components/legend-sortable/sortable-ids.d.ts +6 -0
- package/dist/types/legend/components/legend-sortable/styles.d.ts +55 -0
- package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +26 -0
- package/dist/types/legend/components/legend-visibility-toggle/legend-visibility-toggle.d.ts +35 -0
- package/dist/types/legend/components/legend-visible-layers/legend-visible-layers.d.ts +7 -0
- package/dist/types/legend/components/legend-visible-layers/styles.d.ts +48 -0
- package/dist/types/legend/components/run-async-menu-action.d.ts +7 -0
- package/dist/types/legend/index.d.ts +135 -0
- package/dist/types/legend/provider/index.d.ts +6 -0
- package/dist/types/legend/provider/labels.d.ts +48 -0
- package/dist/types/legend/provider/legend-config-context.d.ts +7 -0
- package/dist/types/legend/provider/legend-provider.d.ts +38 -0
- package/dist/types/legend/stores/index.d.ts +5 -0
- package/dist/types/legend/stores/legend-context.d.ts +4 -0
- package/dist/types/legend/stores/legend-store-registry.d.ts +39 -0
- package/dist/types/legend/stores/selectors.d.ts +64 -0
- package/dist/types/legend/stores/types.d.ts +294 -0
- package/dist/types/widgets/actions/brush-toggle/brush-overlay.d.ts +24 -0
- package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +29 -0
- package/dist/types/widgets/actions/brush-toggle/hit-test.d.ts +19 -0
- package/dist/types/widgets/actions/brush-toggle/style.d.ts +21 -0
- package/dist/types/widgets/actions/brush-toggle/types.d.ts +73 -0
- 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 +6 -2
- package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +2 -2
- package/dist/types/widgets/actions/download/download.d.ts +13 -2
- package/dist/types/widgets/actions/download/exports.d.ts +16 -1
- package/dist/types/widgets/actions/download/types.d.ts +1 -1
- package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +15 -2
- package/dist/types/widgets/actions/fullscreen/types.d.ts +3 -2
- package/dist/types/widgets/actions/index.d.ts +20 -18
- package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +2 -2
- package/dist/types/widgets/actions/lock-selection/types.d.ts +10 -10
- package/dist/types/widgets/actions/relative-data/relative-data.d.ts +10 -4
- package/dist/types/widgets/actions/relative-data/types.d.ts +3 -1
- package/dist/types/widgets/actions/relative-data/utils.d.ts +1 -1
- package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +2 -2
- package/dist/types/widgets/actions/searcher/searcher.d.ts +2 -2
- package/dist/types/widgets/actions/searcher/types.d.ts +2 -2
- 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 +5 -4
- package/dist/types/widgets/actions/stack-toggle/types.d.ts +1 -1
- package/dist/types/widgets/actions/zoom-toggle/types.d.ts +1 -1
- package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +10 -2
- package/dist/types/widgets/bar/config.d.ts +8 -4
- package/dist/types/widgets/bar/index.d.ts +3 -3
- package/dist/types/widgets/bar/skeleton.d.ts +1 -1
- package/dist/types/widgets/bar/types.d.ts +3 -3
- package/dist/types/widgets/category/category-ui.d.ts +5 -2
- package/dist/types/widgets/category/components/category-bar.d.ts +4 -1
- package/dist/types/widgets/category/components/category-legend.d.ts +5 -2
- package/dist/types/widgets/category/components/category-row-multi.d.ts +6 -2
- package/dist/types/widgets/category/components/category-row-other.d.ts +4 -1
- package/dist/types/widgets/category/components/category-row-single.d.ts +6 -2
- package/dist/types/widgets/category/config.d.ts +16 -12
- package/dist/types/widgets/category/index.d.ts +14 -6
- package/dist/types/widgets/category/skeleton.d.ts +1 -1
- package/dist/types/widgets/category/style.d.ts +1 -1
- package/dist/types/widgets/category/types.d.ts +4 -3
- package/dist/types/widgets/echart/echart-ui.d.ts +9 -2
- package/dist/types/widgets/echart/echart.d.ts +8 -2
- package/dist/types/widgets/echart/index.d.ts +5 -5
- package/dist/types/widgets/echart/options.d.ts +8 -1
- package/dist/types/widgets/echart/shared-resize-observer.d.ts +12 -0
- package/dist/types/widgets/echart/types.d.ts +7 -2
- package/dist/types/widgets/echart/utils.d.ts +57 -9
- package/dist/types/widgets/error/error.d.ts +12 -2
- package/dist/types/widgets/error/index.d.ts +2 -2
- package/dist/types/widgets/error/types.d.ts +9 -1
- package/dist/types/widgets/formula/components/item.d.ts +5 -2
- package/dist/types/widgets/formula/components/prefix.d.ts +5 -2
- package/dist/types/widgets/formula/components/row.d.ts +5 -2
- package/dist/types/widgets/formula/components/series.d.ts +5 -2
- package/dist/types/widgets/formula/components/suffix.d.ts +5 -2
- package/dist/types/widgets/formula/components/value.d.ts +5 -2
- package/dist/types/widgets/formula/config.d.ts +13 -2
- package/dist/types/widgets/formula/formula-ui.d.ts +5 -2
- package/dist/types/widgets/formula/index.d.ts +11 -11
- package/dist/types/widgets/formula/serializer.d.ts +1 -1
- package/dist/types/widgets/formula/skeleton.d.ts +1 -1
- package/dist/types/widgets/formula/types.d.ts +3 -3
- package/dist/types/widgets/histogram/config.d.ts +20 -4
- package/dist/types/widgets/histogram/index.d.ts +4 -3
- package/dist/types/widgets/histogram/skeleton.d.ts +1 -1
- package/dist/types/widgets/histogram/types.d.ts +8 -5
- package/dist/types/widgets/loader/index.d.ts +3 -0
- package/dist/types/widgets/loader/loader.d.ts +24 -0
- package/dist/types/widgets/loader/types.d.ts +9 -0
- package/dist/types/widgets/loader/utils.d.ts +35 -0
- package/dist/types/widgets/markdown/config.d.ts +12 -2
- package/dist/types/widgets/markdown/index.d.ts +5 -5
- package/dist/types/widgets/markdown/markdown-ui.d.ts +9 -2
- package/dist/types/widgets/markdown/markdown.d.ts +5 -2
- package/dist/types/widgets/markdown/skeleton.d.ts +1 -1
- package/dist/types/widgets/markdown/types.d.ts +3 -3
- package/dist/types/widgets/no-data/index.d.ts +2 -2
- package/dist/types/widgets/no-data/no-data.d.ts +5 -4
- package/dist/types/widgets/no-data/types.d.ts +6 -2
- package/dist/types/widgets/note/index.d.ts +2 -2
- package/dist/types/widgets/note/note.d.ts +12 -2
- package/dist/types/widgets/note/types.d.ts +1 -1
- package/dist/types/widgets/pie/config.d.ts +8 -4
- package/dist/types/widgets/pie/index.d.ts +3 -3
- package/dist/types/widgets/pie/skeleton.d.ts +1 -1
- package/dist/types/widgets/pie/types.d.ts +3 -3
- package/dist/types/widgets/range/components/range-item.d.ts +5 -2
- package/dist/types/widgets/range/config.d.ts +6 -5
- package/dist/types/widgets/range/index.d.ts +6 -6
- package/dist/types/widgets/range/range-ui.d.ts +5 -2
- package/dist/types/widgets/range/serializer.d.ts +1 -1
- package/dist/types/widgets/range/skeleton.d.ts +1 -1
- package/dist/types/widgets/range/types.d.ts +3 -3
- package/dist/types/widgets/scatterplot/config.d.ts +8 -4
- package/dist/types/widgets/scatterplot/index.d.ts +3 -3
- package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -1
- package/dist/types/widgets/scatterplot/types.d.ts +3 -3
- package/dist/types/widgets/selection-summary/index.d.ts +2 -2
- package/dist/types/widgets/selection-summary/selection-summary.d.ts +13 -2
- package/dist/types/widgets/skeleton-loader/index.d.ts +2 -2
- package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +12 -2
- package/dist/types/widgets/skeleton-loader/types.d.ts +1 -1
- package/dist/types/widgets/spread/components/max-value.d.ts +5 -2
- package/dist/types/widgets/spread/components/min-value.d.ts +5 -2
- package/dist/types/widgets/spread/components/separator.d.ts +5 -2
- package/dist/types/widgets/spread/config.d.ts +14 -8
- package/dist/types/widgets/spread/index.d.ts +9 -9
- package/dist/types/widgets/spread/skeleton.d.ts +1 -1
- package/dist/types/widgets/spread/spread-ui.d.ts +5 -2
- package/dist/types/widgets/spread/types.d.ts +4 -4
- package/dist/types/widgets/stores/index.d.ts +3 -2
- package/dist/types/widgets/stores/types.d.ts +31 -10
- package/dist/types/widgets/stores/use-widget-selector.d.ts +35 -0
- package/dist/types/widgets/stores/widget-store.d.ts +48 -27
- package/dist/types/widgets/subheader/index.d.ts +2 -2
- package/dist/types/widgets/subheader/subheader.d.ts +13 -2
- package/dist/types/widgets/table/components/cell-header.d.ts +2 -2
- package/dist/types/widgets/table/components/cell.d.ts +4 -2
- package/dist/types/widgets/table/components/pagination-actions.d.ts +2 -2
- package/dist/types/widgets/table/components/pagination.d.ts +2 -2
- package/dist/types/widgets/table/components/row.d.ts +2 -2
- package/dist/types/widgets/table/config.d.ts +10 -6
- package/dist/types/widgets/table/hooks/use-pagination.d.ts +12 -4
- package/dist/types/widgets/table/hooks/use-selection.d.ts +12 -3
- package/dist/types/widgets/table/hooks/use-sort.d.ts +12 -4
- package/dist/types/widgets/table/index.d.ts +17 -13
- package/dist/types/widgets/table/serializer.d.ts +1 -1
- package/dist/types/widgets/table/skeleton.d.ts +1 -1
- package/dist/types/widgets/table/table-ui.d.ts +8 -8
- package/dist/types/widgets/table/types.d.ts +5 -5
- package/dist/types/widgets/timeseries/config.d.ts +8 -4
- package/dist/types/widgets/timeseries/index.d.ts +3 -3
- package/dist/types/widgets/timeseries/skeleton.d.ts +1 -1
- package/dist/types/widgets/timeseries/types.d.ts +3 -3
- package/dist/types/widgets/toolbar-actions/index.d.ts +2 -2
- package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +13 -4
- package/dist/types/widgets/toolbar-actions/types.d.ts +10 -3
- package/dist/types/widgets/{_shared → utils}/chart-config/config-factory.d.ts +1 -1
- package/dist/types/widgets/utils/chart-config/download-config.d.ts +3 -0
- package/dist/types/widgets/utils/chart-config/index.d.ts +9 -0
- package/dist/types/widgets/utils/chart-config/option-builders.d.ts +142 -0
- package/dist/types/widgets/utils/formatter.d.ts +2 -0
- package/dist/types/widgets/utils/index.d.ts +7 -0
- package/dist/types/widgets/utils/skeleton/index.d.ts +4 -0
- package/dist/types/widgets/wrapper/components/actions.d.ts +5 -2
- package/dist/types/widgets/wrapper/components/options.d.ts +5 -2
- package/dist/types/widgets/wrapper/components/title.d.ts +5 -2
- package/dist/types/widgets/wrapper/index.d.ts +6 -6
- package/dist/types/widgets/wrapper/types.d.ts +1 -1
- package/dist/types/widgets/wrapper/wrapper-ui.d.ts +16 -2
- package/dist/types/widgets/wrapper/wrapper.d.ts +16 -2
- package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +56 -0
- package/dist/types/widgets-v2/actions/brush-toggle/index.d.ts +3 -0
- package/dist/types/widgets-v2/actions/brush-toggle/labels.d.ts +5 -0
- package/dist/types/widgets-v2/actions/brush-toggle/style.d.ts +12 -0
- package/dist/types/widgets-v2/actions/brush-toggle/transforms.d.ts +11 -0
- package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +2 -0
- package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +29 -0
- package/dist/types/widgets-v2/actions/change-column/index.d.ts +3 -0
- package/dist/types/widgets-v2/actions/change-column/labels.d.ts +6 -0
- package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +14 -0
- package/dist/types/widgets-v2/actions/change-column/style.d.ts +59 -0
- package/dist/types/widgets-v2/actions/change-column/types.d.ts +10 -0
- package/dist/types/widgets-v2/actions/download/constants.d.ts +12 -0
- package/dist/types/widgets-v2/actions/download/csv-item.d.ts +38 -0
- package/dist/types/widgets-v2/actions/download/download.d.ts +18 -0
- package/dist/types/widgets-v2/actions/download/exports.d.ts +37 -0
- package/dist/types/widgets-v2/actions/download/icons.d.ts +18 -0
- package/dist/types/widgets-v2/actions/download/index.d.ts +8 -0
- package/dist/types/widgets-v2/actions/download/labels.d.ts +11 -0
- package/dist/types/widgets-v2/actions/download/png-item.d.ts +24 -0
- package/dist/types/widgets-v2/actions/download/style.d.ts +1 -0
- package/dist/types/widgets-v2/actions/download/types.d.ts +35 -0
- package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +78 -0
- package/dist/types/widgets-v2/actions/fullscreen/index.d.ts +3 -0
- package/dist/types/widgets-v2/actions/fullscreen/labels.d.ts +5 -0
- package/dist/types/widgets-v2/actions/fullscreen/style.d.ts +57 -0
- package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +14 -0
- package/dist/types/widgets-v2/actions/index.d.ts +10 -0
- package/dist/types/widgets-v2/actions/lock-selection/index.d.ts +3 -0
- package/dist/types/widgets-v2/actions/lock-selection/labels.d.ts +6 -0
- package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +57 -0
- package/dist/types/widgets-v2/actions/lock-selection/style.d.ts +12 -0
- package/dist/types/widgets-v2/actions/lock-selection/transforms.d.ts +6 -0
- package/dist/types/widgets-v2/actions/relative-data/index.d.ts +3 -0
- package/dist/types/widgets-v2/actions/relative-data/labels.d.ts +5 -0
- package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +39 -0
- package/dist/types/widgets-v2/actions/relative-data/style.d.ts +12 -0
- package/dist/types/widgets-v2/actions/relative-data/transforms.d.ts +30 -0
- package/dist/types/widgets-v2/actions/searcher/filter.d.ts +6 -0
- package/dist/types/widgets-v2/actions/searcher/index.d.ts +4 -0
- package/dist/types/widgets-v2/actions/searcher/labels.d.ts +7 -0
- package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +23 -0
- package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +11 -0
- package/dist/types/widgets-v2/actions/searcher/style.d.ts +16 -0
- package/dist/types/widgets-v2/actions/show-all/index.d.ts +2 -0
- package/dist/types/widgets-v2/actions/show-all/labels.d.ts +5 -0
- package/dist/types/widgets-v2/actions/show-all/show-all.d.ts +33 -0
- package/dist/types/widgets-v2/actions/show-all/style.d.ts +8 -0
- package/dist/types/widgets-v2/actions/stack-toggle/index.d.ts +3 -0
- package/dist/types/widgets-v2/actions/stack-toggle/labels.d.ts +5 -0
- package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +10 -0
- package/dist/types/widgets-v2/actions/stack-toggle/style.d.ts +12 -0
- package/dist/types/widgets-v2/actions/stack-toggle/transforms.d.ts +13 -0
- package/dist/types/widgets-v2/actions/zoom-toggle/index.d.ts +3 -0
- package/dist/types/widgets-v2/actions/zoom-toggle/labels.d.ts +5 -0
- package/dist/types/widgets-v2/actions/zoom-toggle/style.d.ts +12 -0
- package/dist/types/widgets-v2/actions/zoom-toggle/transforms.d.ts +51 -0
- package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +35 -0
- package/dist/types/widgets-v2/bar/download.d.ts +24 -0
- package/dist/types/widgets-v2/bar/index.d.ts +4 -0
- package/dist/types/widgets-v2/bar/options.d.ts +43 -0
- package/dist/types/widgets-v2/bar/skeleton.d.ts +6 -0
- package/dist/types/widgets-v2/bar/types.d.ts +46 -0
- package/dist/types/widgets-v2/category/category-ui.d.ts +88 -0
- package/dist/types/widgets-v2/category/category.d.ts +55 -0
- package/dist/types/widgets-v2/category/components/category-bar-stacked.d.ts +28 -0
- package/dist/types/widgets-v2/category/components/category-bar.d.ts +23 -0
- package/dist/types/widgets-v2/category/components/category-legend.d.ts +34 -0
- package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +31 -0
- package/dist/types/widgets-v2/category/components/category-row-other.d.ts +26 -0
- package/dist/types/widgets-v2/category/components/category-row-single.d.ts +28 -0
- package/dist/types/widgets-v2/category/components/category-row-stacked.d.ts +43 -0
- package/dist/types/widgets-v2/category/download.d.ts +16 -0
- package/dist/types/widgets-v2/category/index.d.ts +10 -0
- package/dist/types/widgets-v2/category/skeleton.d.ts +11 -0
- package/dist/types/widgets-v2/category/style.d.ts +193 -0
- package/dist/types/widgets-v2/category/types.d.ts +55 -0
- package/dist/types/widgets-v2/echart/echart-ui.d.ts +44 -0
- package/dist/types/widgets-v2/echart/echart.d.ts +83 -0
- package/dist/types/widgets-v2/echart/edge-label-clamp.d.ts +57 -0
- package/dist/types/widgets-v2/echart/index.d.ts +4 -0
- package/dist/types/widgets-v2/echart/shared-resize-observer.d.ts +5 -0
- package/dist/types/widgets-v2/echart/style.d.ts +7 -0
- package/dist/types/widgets-v2/echart/use-chart-selection.d.ts +57 -0
- package/dist/types/widgets-v2/formula/delta.d.ts +22 -0
- package/dist/types/widgets-v2/formula/download.d.ts +20 -0
- package/dist/types/widgets-v2/formula/formula-ui.d.ts +20 -0
- package/dist/types/widgets-v2/formula/formula.d.ts +8 -0
- package/dist/types/widgets-v2/formula/index.d.ts +11 -0
- package/dist/types/widgets-v2/formula/note.d.ts +11 -0
- package/dist/types/widgets-v2/formula/prefix.d.ts +12 -0
- package/dist/types/widgets-v2/formula/series.d.ts +16 -0
- package/dist/types/widgets-v2/formula/skeleton.d.ts +4 -0
- package/dist/types/widgets-v2/formula/style.d.ts +29 -0
- package/dist/types/widgets-v2/formula/suffix.d.ts +12 -0
- package/dist/types/widgets-v2/formula/types.d.ts +43 -0
- package/dist/types/widgets-v2/formula/value.d.ts +14 -0
- package/dist/types/widgets-v2/histogram/download.d.ts +17 -0
- package/dist/types/widgets-v2/histogram/index.d.ts +5 -0
- package/dist/types/widgets-v2/histogram/options.d.ts +42 -0
- package/dist/types/widgets-v2/histogram/skeleton.d.ts +9 -0
- package/dist/types/widgets-v2/histogram/transforms.d.ts +28 -0
- package/dist/types/widgets-v2/histogram/types.d.ts +60 -0
- package/dist/types/widgets-v2/index.d.ts +109 -0
- package/dist/types/widgets-v2/markdown/download.d.ts +16 -0
- package/dist/types/widgets-v2/markdown/index.d.ts +6 -0
- package/dist/types/widgets-v2/markdown/markdown-content.d.ts +40 -0
- package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +12 -0
- package/dist/types/widgets-v2/markdown/markdown.d.ts +6 -0
- package/dist/types/widgets-v2/markdown/skeleton.d.ts +4 -0
- package/dist/types/widgets-v2/markdown/style.d.ts +61 -0
- package/dist/types/widgets-v2/markdown/types.d.ts +4 -0
- package/dist/types/widgets-v2/note/labels.d.ts +5 -0
- package/dist/types/widgets-v2/note/style.d.ts +26 -0
- package/dist/types/widgets-v2/note/widget-note.d.ts +46 -0
- package/dist/types/widgets-v2/pie/download.d.ts +17 -0
- package/dist/types/widgets-v2/pie/index.d.ts +4 -0
- package/dist/types/widgets-v2/pie/options.d.ts +35 -0
- package/dist/types/widgets-v2/pie/skeleton.d.ts +13 -0
- package/dist/types/widgets-v2/pie/types.d.ts +57 -0
- package/dist/types/widgets-v2/provider/widget-provider.d.ts +32 -0
- package/dist/types/widgets-v2/range/index.d.ts +4 -0
- package/dist/types/widgets-v2/range/range-ui.d.ts +27 -0
- package/dist/types/widgets-v2/range/range.d.ts +24 -0
- package/dist/types/widgets-v2/range/skeleton.d.ts +9 -0
- package/dist/types/widgets-v2/range/style.d.ts +40 -0
- package/dist/types/widgets-v2/range/types.d.ts +37 -0
- package/dist/types/widgets-v2/scatterplot/download.d.ts +16 -0
- package/dist/types/widgets-v2/scatterplot/index.d.ts +5 -0
- package/dist/types/widgets-v2/scatterplot/options.d.ts +42 -0
- package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +12 -0
- package/dist/types/widgets-v2/scatterplot/transforms.d.ts +26 -0
- package/dist/types/widgets-v2/scatterplot/types.d.ts +54 -0
- package/dist/types/widgets-v2/selection-summary/labels.d.ts +11 -0
- package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +29 -0
- package/dist/types/widgets-v2/selection-summary/style.d.ts +38 -0
- package/dist/types/widgets-v2/spread/band.d.ts +37 -0
- package/dist/types/widgets-v2/spread/download.d.ts +15 -0
- package/dist/types/widgets-v2/spread/index.d.ts +7 -0
- package/dist/types/widgets-v2/spread/separator.d.ts +7 -0
- package/dist/types/widgets-v2/spread/skeleton.d.ts +9 -0
- package/dist/types/widgets-v2/spread/spread-ui.d.ts +18 -0
- package/dist/types/widgets-v2/spread/spread.d.ts +5 -0
- package/dist/types/widgets-v2/spread/types.d.ts +25 -0
- package/dist/types/widgets-v2/state/labels.d.ts +7 -0
- package/dist/types/widgets-v2/state/style.d.ts +19 -0
- package/dist/types/widgets-v2/state/widget-state.d.ts +19 -0
- package/dist/types/widgets-v2/stores/index.d.ts +8 -0
- package/dist/types/widgets-v2/stores/pipeline-middleware.d.ts +5 -0
- package/dist/types/widgets-v2/stores/transforms.d.ts +4 -0
- package/dist/types/widgets-v2/stores/types.d.ts +55 -0
- package/dist/types/widgets-v2/stores/use-echart-instance.d.ts +15 -0
- package/dist/types/widgets-v2/stores/use-transform-enabled.d.ts +17 -0
- package/dist/types/widgets-v2/stores/use-transform.d.ts +12 -0
- package/dist/types/widgets-v2/stores/widget-context.d.ts +2 -0
- package/dist/types/widgets-v2/stores/widget-store-registry.d.ts +74 -0
- package/dist/types/widgets-v2/subheader/style.d.ts +10 -0
- package/dist/types/widgets-v2/subheader/subheader.d.ts +11 -0
- package/dist/types/widgets-v2/table/download.d.ts +18 -0
- package/dist/types/widgets-v2/table/helpers.d.ts +32 -0
- package/dist/types/widgets-v2/table/index.d.ts +8 -0
- package/dist/types/widgets-v2/table/labels.d.ts +22 -0
- package/dist/types/widgets-v2/table/skeleton.d.ts +22 -0
- package/dist/types/widgets-v2/table/style.d.ts +40 -0
- package/dist/types/widgets-v2/table/table-ui.d.ts +44 -0
- package/dist/types/widgets-v2/table/table.d.ts +50 -0
- package/dist/types/widgets-v2/table/transforms.d.ts +15 -0
- package/dist/types/widgets-v2/table/types.d.ts +48 -0
- package/dist/types/widgets-v2/timeseries/download.d.ts +17 -0
- package/dist/types/widgets-v2/timeseries/index.d.ts +5 -0
- package/dist/types/widgets-v2/timeseries/options.d.ts +39 -0
- package/dist/types/widgets-v2/timeseries/skeleton.d.ts +8 -0
- package/dist/types/widgets-v2/timeseries/transforms.d.ts +10 -0
- package/dist/types/widgets-v2/timeseries/types.d.ts +60 -0
- package/dist/types/widgets-v2/toolbox/labels.d.ts +5 -0
- package/dist/types/widgets-v2/toolbox/style.d.ts +30 -0
- package/dist/types/widgets-v2/toolbox/toolbox.d.ts +49 -0
- package/dist/types/widgets-v2/types.d.ts +25 -0
- package/dist/types/widgets-v2/utils/data-zoom-layout.d.ts +11 -0
- package/dist/types/widgets-v2/utils/index.d.ts +3 -0
- package/dist/types/widgets-v2/utils/merge-options.d.ts +12 -0
- package/dist/types/widgets-v2/utils/resolve-theme-color.d.ts +18 -0
- package/dist/types/widgets-v2/wrapper/index.d.ts +4 -0
- package/dist/types/widgets-v2/wrapper/labels.d.ts +6 -0
- package/dist/types/widgets-v2/wrapper/style.d.ts +103 -0
- package/dist/types/widgets-v2/wrapper/widget-actions.d.ts +22 -0
- package/dist/types/widgets-v2/wrapper/widget-content.d.ts +12 -0
- package/dist/types/widgets-v2/wrapper/widget-wrapper.d.ts +56 -0
- package/dist/use-widget-selector-VSPhfhNm.js +12 -0
- package/dist/use-widget-selector-VSPhfhNm.js.map +1 -0
- package/dist/utils-Dr6gf3vD.js +58 -0
- package/dist/utils-Dr6gf3vD.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 -837
- package/dist/widgets/bar.js +183 -186
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +438 -455
- package/dist/widgets/category.js.map +1 -1
- package/dist/widgets/echart.js +3 -123
- package/dist/widgets/error.js +30 -5
- package/dist/widgets/error.js.map +1 -1
- package/dist/widgets/formula.js +3 -125
- package/dist/widgets/histogram.js +185 -167
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/loader.js +66 -0
- package/dist/widgets/loader.js.map +1 -0
- package/dist/widgets/markdown.js +142 -121
- package/dist/widgets/markdown.js.map +1 -1
- package/dist/widgets/no-data.js +55 -5
- package/dist/widgets/no-data.js.map +1 -1
- package/dist/widgets/note.js +126 -4
- package/dist/widgets/note.js.map +1 -1
- package/dist/widgets/pie.js +244 -208
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +226 -210
- package/dist/widgets/range.js.map +1 -1
- package/dist/widgets/scatterplot.js +219 -216
- 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 +23 -23
- package/dist/widgets/skeleton-loader.js.map +1 -1
- package/dist/widgets/spread.js +150 -159
- package/dist/widgets/spread.js.map +1 -1
- package/dist/widgets/stores.js +3 -5
- package/dist/widgets/subheader.js +49 -50
- package/dist/widgets/subheader.js.map +1 -1
- package/dist/widgets/table.js +573 -653
- 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 +144 -6105
- package/dist/widgets/toolbar-actions.js.map +1 -1
- package/dist/widgets/utils.js +18 -0
- package/dist/widgets/utils.js.map +1 -0
- package/dist/widgets/wrapper.js +265 -287
- package/dist/widgets/wrapper.js.map +1 -1
- package/dist/widgets-v2/actions.js +4 -0
- package/dist/widgets-v2/bar.js +260 -0
- package/dist/widgets-v2/bar.js.map +1 -0
- package/dist/widgets-v2/category.js +2 -0
- package/dist/widgets-v2/echart.js +2 -0
- package/dist/widgets-v2/formula.js +2 -0
- package/dist/widgets-v2/histogram.js +297 -0
- package/dist/widgets-v2/histogram.js.map +1 -0
- package/dist/widgets-v2/markdown.js +3 -0
- package/dist/widgets-v2/pie.js +373 -0
- package/dist/widgets-v2/pie.js.map +1 -0
- package/dist/widgets-v2/range.js +2 -0
- package/dist/widgets-v2/scatterplot.js +330 -0
- package/dist/widgets-v2/scatterplot.js.map +1 -0
- package/dist/widgets-v2/spread.js +2 -0
- package/dist/widgets-v2/stores.js +2 -0
- package/dist/widgets-v2/table.js +2 -0
- package/dist/widgets-v2/timeseries.js +294 -0
- package/dist/widgets-v2/timeseries.js.map +1 -0
- package/dist/widgets-v2/utils.js +2 -0
- package/dist/widgets-v2.js +964 -0
- package/dist/widgets-v2.js.map +1 -0
- package/dist/zoom-toggle-IsF8BnAp.js +163 -0
- package/dist/zoom-toggle-IsF8BnAp.js.map +1 -0
- package/package.json +109 -17
- package/src/chat/bubbles/chat-agent-message-markdown.test.tsx +38 -0
- package/src/chat/bubbles/chat-agent-message-markdown.tsx +34 -0
- package/src/chat/bubbles/chat-agent-message.test.tsx +42 -0
- package/src/chat/bubbles/chat-agent-message.tsx +31 -0
- package/src/chat/bubbles/chat-error-message.test.tsx +40 -0
- package/src/chat/bubbles/chat-error-message.tsx +47 -0
- package/src/chat/bubbles/chat-suggestion-button.test.tsx +24 -0
- package/src/chat/bubbles/chat-suggestion-button.tsx +27 -0
- package/src/chat/bubbles/chat-user-message.test.tsx +27 -0
- package/src/chat/bubbles/chat-user-message.tsx +27 -0
- package/src/chat/bubbles/index.ts +5 -0
- package/src/chat/bubbles/styles.ts +171 -0
- package/src/chat/const.ts +4 -0
- package/src/chat/containers/chat-content.test.tsx +269 -0
- package/src/chat/containers/chat-content.tsx +145 -0
- package/src/chat/containers/chat-footer.test.tsx +93 -0
- package/src/chat/containers/chat-footer.tsx +166 -0
- package/src/chat/containers/chat-header.test.tsx +28 -0
- package/src/chat/containers/chat-header.tsx +29 -0
- package/src/chat/containers/chat-starter.test.tsx +32 -0
- package/src/chat/containers/chat-starter.tsx +75 -0
- package/src/chat/containers/index.ts +4 -0
- package/src/chat/containers/styles.ts +187 -0
- package/src/chat/feedback/chat-actions-container.test.tsx +64 -0
- package/src/chat/feedback/chat-actions-container.tsx +10 -0
- package/src/chat/feedback/chat-loader.test.tsx +10 -0
- package/src/chat/feedback/chat-loader.tsx +31 -0
- package/src/chat/feedback/chat-rating-action.tsx +43 -0
- package/src/chat/feedback/chat-thinking.test.tsx +15 -0
- package/src/chat/feedback/chat-thinking.tsx +23 -0
- package/src/chat/feedback/chat-tool-code-area.test.tsx +23 -0
- package/src/chat/feedback/chat-tool-code-area.tsx +71 -0
- package/src/chat/feedback/chat-tool-full-view-dialog.test.tsx +39 -0
- package/src/chat/feedback/chat-tool-full-view-dialog.tsx +121 -0
- package/src/chat/feedback/chat-tool-group.test.tsx +84 -0
- package/src/chat/feedback/chat-tool-group.tsx +156 -0
- package/src/chat/feedback/chat-tool-trace.test.tsx +81 -0
- package/src/chat/feedback/chat-tool-trace.tsx +192 -0
- package/src/chat/feedback/get-tool-label.test.tsx +91 -0
- package/src/chat/feedback/get-tool-label.ts +13 -0
- package/src/chat/feedback/index.ts +8 -0
- package/src/chat/feedback/styles.ts +239 -0
- package/src/chat/index.ts +62 -0
- package/src/chat/types.ts +247 -0
- package/src/chat/use-typewriter.test.tsx +38 -0
- package/src/chat/use-typewriter.ts +90 -0
- package/src/components/basemaps/basemaps.test.tsx +196 -0
- package/src/components/basemaps/basemaps.tsx +150 -0
- package/src/components/basemaps/const.ts +13 -0
- package/src/components/basemaps/group-wrapper.test.tsx +38 -0
- package/src/components/basemaps/group-wrapper.tsx +28 -0
- package/src/components/basemaps/group.test.tsx +52 -0
- package/src/components/basemaps/group.tsx +42 -0
- package/src/components/basemaps/header.test.tsx +54 -0
- package/src/components/basemaps/header.tsx +36 -0
- package/src/components/basemaps/styles.ts +76 -0
- package/src/components/basemaps/types.ts +30 -0
- package/src/components/common-types.ts +1 -0
- package/src/components/copy-button/copy-button.test.tsx +41 -0
- package/src/components/copy-button/copy-button.tsx +31 -0
- package/src/components/copy-button/types.ts +10 -0
- package/src/components/geolocation-controls/const.ts +6 -0
- package/src/components/geolocation-controls/geolocation-controls.test.tsx +148 -0
- package/src/components/geolocation-controls/geolocation-controls.tsx +126 -0
- package/src/components/geolocation-controls/types.ts +17 -0
- package/src/components/index.ts +163 -0
- package/src/components/lasso-tool/chip.test.tsx +257 -0
- package/src/components/lasso-tool/chip.tsx +66 -0
- package/src/components/lasso-tool/const.tsx +94 -0
- package/src/components/lasso-tool/edit-confirm-toolbar.test.tsx +67 -0
- package/src/components/lasso-tool/edit-confirm-toolbar.tsx +48 -0
- package/src/components/lasso-tool/geometry-toolbar.test.tsx +804 -0
- package/src/components/lasso-tool/geometry-toolbar.tsx +158 -0
- package/src/components/lasso-tool/icons.tsx +193 -0
- package/src/components/lasso-tool/lasso-tool-inline.test.tsx +759 -0
- package/src/components/lasso-tool/lasso-tool-inline.tsx +508 -0
- package/src/components/lasso-tool/lasso-tool.test.tsx +700 -0
- package/src/components/lasso-tool/lasso-tool.tsx +673 -0
- package/src/components/lasso-tool/layer-filters.test.tsx +103 -0
- package/src/components/lasso-tool/layer-filters.tsx +242 -0
- package/src/components/lasso-tool/message.tsx +36 -0
- package/src/components/lasso-tool/options-sections.test.tsx +101 -0
- package/src/components/lasso-tool/options-sections.tsx +104 -0
- package/src/components/lasso-tool/styles.test.ts +26 -0
- package/src/components/lasso-tool/styles.ts +190 -0
- package/src/components/lasso-tool/toolbar/actions/accept-action.tsx +34 -0
- package/src/components/lasso-tool/toolbar/actions/action-menu.tsx +103 -0
- package/src/components/lasso-tool/toolbar/actions/cancel-action.tsx +34 -0
- package/src/components/lasso-tool/toolbar/actions/color-action.tsx +201 -0
- package/src/components/lasso-tool/toolbar/actions/delete-action.tsx +31 -0
- package/src/components/lasso-tool/toolbar/actions/duplicate-action.tsx +30 -0
- package/src/components/lasso-tool/toolbar/actions/edit-geometry-action.tsx +44 -0
- package/src/components/lasso-tool/toolbar/actions/edit-properties-action.tsx +487 -0
- package/src/components/lasso-tool/toolbar/actions/fill-action.tsx +55 -0
- package/src/components/lasso-tool/toolbar/actions/intersect-action.tsx +33 -0
- package/src/components/lasso-tool/toolbar/actions/label-action.tsx +292 -0
- package/src/components/lasso-tool/toolbar/actions/lock-action.tsx +40 -0
- package/src/components/lasso-tool/toolbar/actions/redo-action.tsx +35 -0
- package/src/components/lasso-tool/toolbar/actions/split-action.tsx +33 -0
- package/src/components/lasso-tool/toolbar/actions/stroke-action.tsx +57 -0
- package/src/components/lasso-tool/toolbar/actions/style-actions.test.tsx +212 -0
- package/src/components/lasso-tool/toolbar/actions/subtract-action.tsx +33 -0
- package/src/components/lasso-tool/toolbar/actions/toggle-type-action.tsx +50 -0
- package/src/components/lasso-tool/toolbar/actions/undo-action.tsx +35 -0
- package/src/components/lasso-tool/toolbar/actions/union-action.tsx +40 -0
- package/src/components/lasso-tool/toolbar/button.tsx +62 -0
- package/src/components/lasso-tool/toolbar/connected.tsx +383 -0
- package/src/components/lasso-tool/toolbar/context.tsx +65 -0
- package/src/components/lasso-tool/toolbar/index.ts +70 -0
- package/src/components/lasso-tool/toolbar/styles.ts +42 -0
- package/src/components/lasso-tool/toolbar/toolbar.test.tsx +77 -0
- package/src/components/lasso-tool/toolbar/toolbar.tsx +50 -0
- package/src/components/lasso-tool/tools-context.tsx +47 -0
- package/src/components/lasso-tool/types.ts +384 -0
- package/src/components/lasso-tool/undo-redo.test.tsx +162 -0
- package/src/components/lasso-tool/undo-redo.tsx +55 -0
- package/src/components/list-data/list-data-skeleton.test.tsx +10 -0
- package/src/components/list-data/list-data-skeleton.tsx +40 -0
- package/src/components/list-data/list-data.test.tsx +167 -0
- package/src/components/list-data/list-data.tsx +124 -0
- package/src/components/list-data/styles.ts +37 -0
- package/src/components/list-data/types.ts +25 -0
- package/src/components/measurement-tools/const.tsx +108 -0
- package/src/components/measurement-tools/icons.tsx +54 -0
- package/src/components/measurement-tools/measurement-tools.test.tsx +165 -0
- package/src/components/measurement-tools/measurement-tools.tsx +467 -0
- package/src/components/measurement-tools/styles.ts +92 -0
- package/src/components/measurement-tools/types.ts +77 -0
- package/src/components/no-data-alert/no-data-alert.test.tsx +69 -0
- package/src/components/no-data-alert/no-data-alert.tsx +59 -0
- package/src/components/responsive-drawer/responsive-drawer.test.tsx +415 -0
- package/src/components/responsive-drawer/responsive-drawer.tsx +219 -0
- package/src/components/smart-tooltip/smart-tooltip.test.tsx +168 -0
- package/src/components/smart-tooltip/smart-tooltip.tsx +74 -0
- package/src/components/tooltip/tooltip.test.tsx +86 -0
- package/src/components/tooltip/tooltip.tsx +43 -0
- package/src/components/types.ts +1 -0
- package/src/components/zoom-controls/styles.ts +27 -0
- package/src/components/zoom-controls/types.ts +19 -0
- package/src/components/zoom-controls/zoom-controls.test.tsx +101 -0
- package/src/components/zoom-controls/zoom-controls.tsx +130 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-skeleton.test.tsx +32 -0
- package/src/hooks/use-skeleton.ts +19 -0
- package/src/hooks/use-widget-ref.ts +34 -0
- package/src/legend/components/a11y.ts +14 -0
- package/src/legend/components/contexts.ts +57 -0
- package/src/legend/components/icons.tsx +22 -0
- package/src/legend/components/index.ts +38 -0
- package/src/legend/components/legend-actions/legend-actions.tsx +58 -0
- package/src/legend/components/legend-actions/styles.ts +9 -0
- package/src/legend/components/legend-category/legend-category-ui.tsx +91 -0
- package/src/legend/components/legend-category/styles.ts +61 -0
- package/src/legend/components/legend-config-select/legend-config-select.tsx +96 -0
- package/src/legend/components/legend-config-select/styles.ts +48 -0
- package/src/legend/components/legend-group/legend-group.test.tsx +297 -0
- package/src/legend/components/legend-group/legend-group.tsx +126 -0
- package/src/legend/components/legend-group/styles.ts +184 -0
- package/src/legend/components/legend-group-menu/legend-group-menu-items.tsx +132 -0
- package/src/legend/components/legend-group-menu/legend-group-menu.tsx +25 -0
- package/src/legend/components/legend-icon/legend-icon-ui.tsx +56 -0
- package/src/legend/components/legend-icon/styles.ts +56 -0
- package/src/legend/components/legend-item/legend-item-ui.test.tsx +362 -0
- package/src/legend/components/legend-item/legend-item-ui.tsx +43 -0
- package/src/legend/components/legend-item/legend-item.tsx +34 -0
- package/src/legend/components/legend-item/styles.ts +11 -0
- package/src/legend/components/legend-opacity/legend-opacity.tsx +152 -0
- package/src/legend/components/legend-opacity/styles.ts +33 -0
- package/src/legend/components/legend-overflow-menu/legend-overflow-menu.tsx +84 -0
- package/src/legend/components/legend-panel-menu/legend-panel-menu.tsx +23 -0
- package/src/legend/components/legend-proportion/legend-proportion-ui.tsx +122 -0
- package/src/legend/components/legend-proportion/styles.ts +43 -0
- package/src/legend/components/legend-ramp/legend-ramp-ui.tsx +160 -0
- package/src/legend/components/legend-ramp/styles.ts +62 -0
- package/src/legend/components/legend-row/legend-row.test.tsx +736 -0
- package/src/legend/components/legend-row/legend-row.tsx +170 -0
- package/src/legend/components/legend-row/styles.ts +219 -0
- package/src/legend/components/legend-row-menu/legend-row-menu-items.tsx +57 -0
- package/src/legend/components/legend-row-menu/legend-row-menu.tsx +30 -0
- package/src/legend/components/legend-row-menu/legend-zoom-to.tsx +43 -0
- package/src/legend/components/legend-sortable/contexts.ts +12 -0
- package/src/legend/components/legend-sortable/legend-sortable.test.tsx +144 -0
- package/src/legend/components/legend-sortable/legend-sortable.tsx +195 -0
- package/src/legend/components/legend-sortable/sortable-entity.tsx +91 -0
- package/src/legend/components/legend-sortable/sortable-ids.ts +17 -0
- package/src/legend/components/legend-sortable/styles.ts +65 -0
- package/src/legend/components/legend-swatch/legend-swatch.test.tsx +109 -0
- package/src/legend/components/legend-swatch/legend-swatch.tsx +237 -0
- package/src/legend/components/legend-visibility-toggle/legend-visibility-toggle.tsx +133 -0
- package/src/legend/components/legend-visible-layers/legend-visible-layers.test.tsx +86 -0
- package/src/legend/components/legend-visible-layers/legend-visible-layers.tsx +135 -0
- package/src/legend/components/legend-visible-layers/styles.ts +60 -0
- package/src/legend/components/run-async-menu-action.ts +20 -0
- package/src/legend/index.ts +176 -0
- package/src/legend/provider/index.ts +6 -0
- package/src/legend/provider/labels.ts +101 -0
- package/src/legend/provider/legend-config-context.ts +15 -0
- package/src/legend/provider/legend-provider.tsx +102 -0
- package/src/legend/stores/index.ts +50 -0
- package/src/legend/stores/legend-context.ts +17 -0
- package/src/legend/stores/legend-store-registry.ts +745 -0
- package/src/legend/stores/legend-store.test.ts +701 -0
- package/src/legend/stores/selectors.ts +127 -0
- package/src/legend/stores/types.ts +359 -0
- package/src/widgets/README.md +277 -0
- package/src/widgets/actions/brush-toggle/brush-overlay.test.tsx +465 -0
- package/src/widgets/actions/brush-toggle/brush-overlay.tsx +408 -0
- package/src/widgets/actions/brush-toggle/brush-toggle.test.tsx +208 -0
- package/src/widgets/actions/brush-toggle/brush-toggle.tsx +133 -0
- package/src/widgets/actions/brush-toggle/hit-test.test.ts +65 -0
- package/src/widgets/actions/brush-toggle/hit-test.ts +45 -0
- package/src/widgets/actions/brush-toggle/style.ts +46 -0
- package/src/widgets/actions/brush-toggle/types.ts +78 -0
- package/src/widgets/actions/change-column/change-column-dnd.test.tsx +193 -0
- package/src/widgets/actions/change-column/change-column-icon.tsx +10 -0
- package/src/widgets/actions/change-column/change-column.test.tsx +290 -0
- package/src/widgets/actions/change-column/change-column.tsx +218 -0
- package/src/widgets/actions/change-column/sortable-column-item.test.tsx +124 -0
- package/src/widgets/actions/change-column/sortable-column-item.tsx +51 -0
- package/src/widgets/actions/change-column/types.ts +20 -0
- package/src/widgets/actions/download/download.test.tsx +326 -0
- package/src/widgets/actions/download/download.tsx +132 -0
- package/src/widgets/actions/download/exports.test.tsx +288 -0
- package/src/widgets/actions/download/exports.tsx +118 -0
- package/src/widgets/actions/download/types.ts +21 -0
- package/src/widgets/actions/fullscreen/fullscreen.test.tsx +269 -0
- package/src/widgets/actions/fullscreen/fullscreen.tsx +98 -0
- package/src/widgets/actions/fullscreen/styles.ts +17 -0
- package/src/widgets/actions/fullscreen/types.ts +32 -0
- package/src/widgets/actions/index.ts +73 -0
- package/src/widgets/actions/lock-selection/lock-selection.test.tsx +198 -0
- package/src/widgets/actions/lock-selection/lock-selection.tsx +128 -0
- package/src/widgets/actions/lock-selection/types.ts +43 -0
- package/src/widgets/actions/relative-data/relative-data.test.tsx +542 -0
- package/src/widgets/actions/relative-data/relative-data.tsx +188 -0
- package/src/widgets/actions/relative-data/types.ts +33 -0
- package/src/widgets/actions/relative-data/utils.test.ts +223 -0
- package/src/widgets/actions/relative-data/utils.ts +58 -0
- package/src/widgets/actions/searcher/searcher-toggle.test.tsx +354 -0
- package/src/widgets/actions/searcher/searcher-toggle.tsx +72 -0
- package/src/widgets/actions/searcher/searcher.tsx +196 -0
- package/src/widgets/actions/searcher/types.ts +72 -0
- package/src/widgets/actions/shared/styles.ts +12 -0
- package/src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx +14 -0
- package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +414 -0
- package/src/widgets/actions/stack-toggle/stack-toggle.tsx +129 -0
- package/src/widgets/actions/stack-toggle/types.ts +29 -0
- package/src/widgets/actions/zoom-toggle/style.ts +14 -0
- package/src/widgets/actions/zoom-toggle/types.ts +44 -0
- package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +322 -0
- package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +218 -0
- package/src/widgets/bar/config.ts +140 -0
- package/src/widgets/bar/index.ts +9 -0
- package/src/widgets/bar/skeleton.tsx +60 -0
- package/src/widgets/bar/style.ts +33 -0
- package/src/widgets/bar/types.ts +16 -0
- package/src/widgets/category/category-ui.test.tsx +399 -0
- package/src/widgets/category/category-ui.tsx +166 -0
- package/src/widgets/category/components/category-bar.tsx +31 -0
- package/src/widgets/category/components/category-legend.tsx +33 -0
- package/src/widgets/category/components/category-row-multi.tsx +57 -0
- package/src/widgets/category/components/category-row-other.tsx +26 -0
- package/src/widgets/category/components/category-row-single.tsx +54 -0
- package/src/widgets/category/components/category-rows.test.tsx +213 -0
- package/src/widgets/category/config.ts +86 -0
- package/src/widgets/category/index.ts +29 -0
- package/src/widgets/category/skeleton.tsx +24 -0
- package/src/widgets/category/style.ts +134 -0
- package/src/widgets/category/types.ts +41 -0
- package/src/widgets/echart/const.ts +1 -0
- package/src/widgets/echart/echart-ui.test.tsx +526 -0
- package/src/widgets/echart/echart-ui.tsx +78 -0
- package/src/widgets/echart/echart.test.tsx +546 -0
- package/src/widgets/echart/echart.tsx +66 -0
- package/src/widgets/echart/index.ts +16 -0
- package/src/widgets/echart/options.ts +57 -0
- package/src/widgets/echart/shared-resize-observer.ts +45 -0
- package/src/widgets/echart/types.ts +45 -0
- package/src/widgets/echart/utils.test.ts +277 -0
- package/src/widgets/echart/utils.ts +244 -0
- package/src/widgets/error/error.test.tsx +331 -0
- package/src/widgets/error/error.tsx +51 -0
- package/src/widgets/error/index.ts +2 -0
- package/src/widgets/error/types.ts +24 -0
- package/src/widgets/formula/components/item.test.tsx +249 -0
- package/src/widgets/formula/components/item.tsx +21 -0
- package/src/widgets/formula/components/prefix.test.tsx +341 -0
- package/src/widgets/formula/components/prefix.tsx +19 -0
- package/src/widgets/formula/components/row.test.tsx +364 -0
- package/src/widgets/formula/components/row.tsx +24 -0
- package/src/widgets/formula/components/series.tsx +35 -0
- package/src/widgets/formula/components/suffix.test.tsx +383 -0
- package/src/widgets/formula/components/suffix.tsx +29 -0
- package/src/widgets/formula/components/value.test.tsx +329 -0
- package/src/widgets/formula/components/value.tsx +24 -0
- package/src/widgets/formula/config.test.ts +37 -0
- package/src/widgets/formula/config.ts +38 -0
- package/src/widgets/formula/formula-ui.test.tsx +399 -0
- package/src/widgets/formula/formula-ui.tsx +30 -0
- package/src/widgets/formula/index.ts +24 -0
- package/src/widgets/formula/serializer.test.tsx +144 -0
- package/src/widgets/formula/serializer.ts +28 -0
- package/src/widgets/formula/skeleton.tsx +10 -0
- package/src/widgets/formula/style.ts +23 -0
- package/src/widgets/formula/types.ts +50 -0
- package/src/widgets/histogram/config.ts +230 -0
- package/src/widgets/histogram/index.ts +13 -0
- package/src/widgets/histogram/skeleton.tsx +52 -0
- package/src/widgets/histogram/style.ts +8 -0
- package/src/widgets/histogram/types.ts +23 -0
- package/src/widgets/loader/index.ts +4 -0
- package/src/widgets/loader/loader.tsx +92 -0
- package/src/widgets/loader/types.ts +13 -0
- package/src/widgets/loader/utils.test.ts +112 -0
- package/src/widgets/loader/utils.ts +57 -0
- package/src/widgets/markdown/config.ts +28 -0
- package/src/widgets/markdown/index.ts +14 -0
- package/src/widgets/markdown/markdown-ui.test.tsx +341 -0
- package/src/widgets/markdown/markdown-ui.tsx +59 -0
- package/src/widgets/markdown/markdown.tsx +20 -0
- package/src/widgets/markdown/skeleton.tsx +12 -0
- package/src/widgets/markdown/style.ts +28 -0
- package/src/widgets/markdown/types.ts +28 -0
- package/src/widgets/no-data/index.ts +2 -0
- package/src/widgets/no-data/no-data.test.tsx +497 -0
- package/src/widgets/no-data/no-data.tsx +112 -0
- package/src/widgets/no-data/style.ts +18 -0
- package/src/widgets/no-data/types.ts +76 -0
- package/src/widgets/note/index.ts +2 -0
- package/src/widgets/note/note.test.tsx +391 -0
- package/src/widgets/note/note.tsx +124 -0
- package/src/widgets/note/style.ts +29 -0
- package/src/widgets/note/types.ts +9 -0
- package/src/widgets/pie/config.ts +245 -0
- package/src/widgets/pie/index.ts +8 -0
- package/src/widgets/pie/skeleton.tsx +70 -0
- package/src/widgets/pie/style.ts +8 -0
- package/src/widgets/pie/types.ts +16 -0
- package/src/widgets/range/components/range-item.test.tsx +243 -0
- package/src/widgets/range/components/range-item.tsx +214 -0
- package/src/widgets/range/config.ts +10 -0
- package/src/widgets/range/index.ts +16 -0
- package/src/widgets/range/range-ui.test.tsx +203 -0
- package/src/widgets/range/range-ui.tsx +14 -0
- package/src/widgets/range/serializer.test.ts +70 -0
- package/src/widgets/range/serializer.ts +27 -0
- package/src/widgets/range/skeleton.tsx +14 -0
- package/src/widgets/range/style.ts +37 -0
- package/src/widgets/range/types.ts +39 -0
- package/src/widgets/scatterplot/config.ts +136 -0
- package/src/widgets/scatterplot/index.ts +8 -0
- package/src/widgets/scatterplot/skeleton.tsx +59 -0
- package/src/widgets/scatterplot/style.ts +21 -0
- package/src/widgets/scatterplot/types.ts +17 -0
- package/src/widgets/selection-summary/index.ts +6 -0
- package/src/widgets/selection-summary/selection-summary.tsx +57 -0
- package/src/widgets/selection-summary/style.ts +10 -0
- package/src/widgets/selection-summary/types.ts +14 -0
- package/src/widgets/skeleton-loader/index.ts +2 -0
- package/src/widgets/skeleton-loader/skeleton-loader.test.tsx +139 -0
- package/src/widgets/skeleton-loader/skeleton-loader.tsx +35 -0
- package/src/widgets/skeleton-loader/types.ts +8 -0
- package/src/widgets/spread/components/max-value.tsx +29 -0
- package/src/widgets/spread/components/min-value.tsx +29 -0
- package/src/widgets/spread/components/separator.tsx +9 -0
- package/src/widgets/spread/config.ts +39 -0
- package/src/widgets/spread/index.ts +23 -0
- package/src/widgets/spread/skeleton.tsx +10 -0
- package/src/widgets/spread/spread-ui.test.tsx +368 -0
- package/src/widgets/spread/spread-ui.tsx +32 -0
- package/src/widgets/spread/style.ts +22 -0
- package/src/widgets/spread/types.ts +47 -0
- package/src/widgets/stores/index.ts +13 -0
- package/src/widgets/stores/types.ts +203 -0
- package/src/widgets/stores/use-widget-selector.ts +47 -0
- package/src/widgets/stores/widget-store-branches.test.ts +275 -0
- package/src/widgets/stores/widget-store-performance.test.ts +750 -0
- package/src/widgets/stores/widget-store.test.ts +942 -0
- package/src/widgets/stores/widget-store.ts +484 -0
- package/src/widgets/subheader/index.ts +3 -0
- package/src/widgets/subheader/style.ts +20 -0
- package/src/widgets/subheader/subheader.test.tsx +45 -0
- package/src/widgets/subheader/subheader.tsx +35 -0
- package/src/widgets/subheader/types.ts +11 -0
- package/src/widgets/table/components/cell-header.tsx +58 -0
- package/src/widgets/table/components/cell.tsx +82 -0
- package/src/widgets/table/components/pagination-actions.tsx +67 -0
- package/src/widgets/table/components/pagination.tsx +41 -0
- package/src/widgets/table/components/row.tsx +65 -0
- package/src/widgets/table/config.test.ts +65 -0
- package/src/widgets/table/config.ts +75 -0
- package/src/widgets/table/helpers.test.ts +244 -0
- package/src/widgets/table/helpers.ts +107 -0
- package/src/widgets/table/hooks/use-pagination.test.ts +294 -0
- package/src/widgets/table/hooks/use-pagination.ts +148 -0
- package/src/widgets/table/hooks/use-selection.test.ts +504 -0
- package/src/widgets/table/hooks/use-selection.ts +194 -0
- package/src/widgets/table/hooks/use-sort.test.ts +296 -0
- package/src/widgets/table/hooks/use-sort.ts +131 -0
- package/src/widgets/table/index.ts +55 -0
- package/src/widgets/table/serializer.ts +54 -0
- package/src/widgets/table/skeleton.tsx +48 -0
- package/src/widgets/table/style.ts +34 -0
- package/src/widgets/table/table-ui.tsx +64 -0
- package/src/widgets/table/types.ts +223 -0
- package/src/widgets/timeseries/config.ts +136 -0
- package/src/widgets/timeseries/index.ts +8 -0
- package/src/widgets/timeseries/skeleton.tsx +55 -0
- package/src/widgets/timeseries/style.ts +36 -0
- package/src/widgets/timeseries/types.ts +17 -0
- package/src/widgets/toolbar-actions/index.ts +6 -0
- package/src/widgets/toolbar-actions/styles.ts +38 -0
- package/src/widgets/toolbar-actions/toolbar-actions.test.tsx +691 -0
- package/src/widgets/toolbar-actions/toolbar-actions.tsx +145 -0
- package/src/widgets/toolbar-actions/types.ts +60 -0
- package/src/widgets/utils/chart-config/config-factory.ts +67 -0
- package/src/widgets/utils/chart-config/csv-modifiers.ts +56 -0
- package/src/widgets/utils/chart-config/download-config.ts +22 -0
- package/src/widgets/utils/chart-config/index.ts +29 -0
- package/src/widgets/utils/chart-config/option-builders.test.ts +366 -0
- package/src/widgets/utils/chart-config/option-builders.ts +308 -0
- package/src/widgets/utils/formatter.ts +2 -0
- package/src/widgets/utils/index.ts +26 -0
- package/{dist/types/widgets/_shared/skeleton/index.d.ts → src/widgets/utils/skeleton/index.ts} +2 -1
- package/src/widgets/utils/skeleton/styles.ts +20 -0
- package/src/widgets/wrapper/components/actions.test.tsx +105 -0
- package/src/widgets/wrapper/components/actions.tsx +35 -0
- package/src/widgets/wrapper/components/options.test.tsx +331 -0
- package/src/widgets/wrapper/components/options.tsx +81 -0
- package/src/widgets/wrapper/components/title.test.tsx +126 -0
- package/src/widgets/wrapper/components/title.tsx +35 -0
- package/src/widgets/wrapper/index.ts +16 -0
- package/src/widgets/wrapper/styles.ts +98 -0
- package/src/widgets/wrapper/types.ts +55 -0
- package/src/widgets/wrapper/wrapper-ui.test.tsx +232 -0
- package/src/widgets/wrapper/wrapper-ui.tsx +72 -0
- package/src/widgets/wrapper/wrapper.test.tsx +365 -0
- package/src/widgets/wrapper/wrapper.tsx +60 -0
- package/src/widgets-v2/PERFORMANCE.md +189 -0
- package/src/widgets-v2/actions/brush-toggle/brush-toggle.test.tsx +180 -0
- package/src/widgets-v2/actions/brush-toggle/brush-toggle.tsx +154 -0
- package/src/widgets-v2/actions/brush-toggle/index.ts +3 -0
- package/src/widgets-v2/actions/brush-toggle/labels.ts +9 -0
- package/src/widgets-v2/actions/brush-toggle/style.ts +11 -0
- package/src/widgets-v2/actions/brush-toggle/transforms.test.ts +47 -0
- package/src/widgets-v2/actions/brush-toggle/transforms.ts +31 -0
- package/src/widgets-v2/actions/change-column/change-column-icon.tsx +14 -0
- package/src/widgets-v2/actions/change-column/change-column.test.tsx +59 -0
- package/src/widgets-v2/actions/change-column/change-column.tsx +189 -0
- package/src/widgets-v2/actions/change-column/index.ts +7 -0
- package/src/widgets-v2/actions/change-column/labels.ts +11 -0
- package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +63 -0
- package/src/widgets-v2/actions/change-column/style.ts +58 -0
- package/src/widgets-v2/actions/change-column/types.ts +11 -0
- package/src/widgets-v2/actions/download/constants.ts +14 -0
- package/src/widgets-v2/actions/download/csv-item.test.tsx +77 -0
- package/src/widgets-v2/actions/download/csv-item.tsx +71 -0
- package/src/widgets-v2/actions/download/download.test.tsx +327 -0
- package/src/widgets-v2/actions/download/download.tsx +144 -0
- package/src/widgets-v2/actions/download/exports.test.tsx +198 -0
- package/src/widgets-v2/actions/download/exports.ts +115 -0
- package/src/widgets-v2/actions/download/icons.tsx +35 -0
- package/src/widgets-v2/actions/download/index.ts +15 -0
- package/src/widgets-v2/actions/download/labels.ts +16 -0
- package/src/widgets-v2/actions/download/png-item.test.tsx +72 -0
- package/src/widgets-v2/actions/download/png-item.tsx +53 -0
- package/src/widgets-v2/actions/download/style.ts +3 -0
- package/src/widgets-v2/actions/download/types.ts +32 -0
- package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +212 -0
- package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +301 -0
- package/src/widgets-v2/actions/fullscreen/index.ts +7 -0
- package/src/widgets-v2/actions/fullscreen/labels.ts +9 -0
- package/src/widgets-v2/actions/fullscreen/style.ts +86 -0
- package/src/widgets-v2/actions/fullscreen/types.ts +15 -0
- package/src/widgets-v2/actions/index.ts +95 -0
- package/src/widgets-v2/actions/lock-selection/index.ts +10 -0
- package/src/widgets-v2/actions/lock-selection/labels.ts +11 -0
- package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +301 -0
- package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +188 -0
- package/src/widgets-v2/actions/lock-selection/style.ts +11 -0
- package/src/widgets-v2/actions/lock-selection/transforms.ts +27 -0
- package/src/widgets-v2/actions/relative-data/index.ts +3 -0
- package/src/widgets-v2/actions/relative-data/labels.ts +9 -0
- package/src/widgets-v2/actions/relative-data/relative-data.test.tsx +71 -0
- package/src/widgets-v2/actions/relative-data/relative-data.tsx +107 -0
- package/src/widgets-v2/actions/relative-data/style.ts +11 -0
- package/src/widgets-v2/actions/relative-data/transforms.test.ts +151 -0
- package/src/widgets-v2/actions/relative-data/transforms.ts +70 -0
- package/src/widgets-v2/actions/searcher/filter.ts +28 -0
- package/src/widgets-v2/actions/searcher/index.ts +8 -0
- package/src/widgets-v2/actions/searcher/labels.ts +13 -0
- package/src/widgets-v2/actions/searcher/searcher-toggle.tsx +91 -0
- package/src/widgets-v2/actions/searcher/searcher.test.tsx +92 -0
- package/src/widgets-v2/actions/searcher/searcher.tsx +111 -0
- package/src/widgets-v2/actions/searcher/style.ts +15 -0
- package/src/widgets-v2/actions/show-all/index.ts +7 -0
- package/src/widgets-v2/actions/show-all/labels.ts +8 -0
- package/src/widgets-v2/actions/show-all/show-all.test.tsx +50 -0
- package/src/widgets-v2/actions/show-all/show-all.tsx +72 -0
- package/src/widgets-v2/actions/show-all/style.ts +8 -0
- package/src/widgets-v2/actions/stack-toggle/index.ts +3 -0
- package/src/widgets-v2/actions/stack-toggle/labels.ts +9 -0
- package/src/widgets-v2/actions/stack-toggle/stack-toggle.test.tsx +61 -0
- package/src/widgets-v2/actions/stack-toggle/stack-toggle.tsx +54 -0
- package/src/widgets-v2/actions/stack-toggle/style.ts +11 -0
- package/src/widgets-v2/actions/stack-toggle/transforms.test.ts +43 -0
- package/src/widgets-v2/actions/stack-toggle/transforms.ts +25 -0
- package/src/widgets-v2/actions/zoom-toggle/index.ts +9 -0
- package/src/widgets-v2/actions/zoom-toggle/labels.ts +9 -0
- package/src/widgets-v2/actions/zoom-toggle/style.ts +11 -0
- package/src/widgets-v2/actions/zoom-toggle/transforms.test.ts +148 -0
- package/src/widgets-v2/actions/zoom-toggle/transforms.ts +171 -0
- package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.test.tsx +107 -0
- package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx +106 -0
- package/src/widgets-v2/bar/download.test.tsx +91 -0
- package/src/widgets-v2/bar/download.tsx +60 -0
- package/src/widgets-v2/bar/index.ts +10 -0
- package/src/widgets-v2/bar/options.test.ts +361 -0
- package/src/widgets-v2/bar/options.ts +333 -0
- package/src/widgets-v2/bar/skeleton.test.tsx +19 -0
- package/src/widgets-v2/bar/skeleton.tsx +69 -0
- package/src/widgets-v2/bar/types.ts +51 -0
- package/src/widgets-v2/category/category-ui.test.tsx +909 -0
- package/src/widgets-v2/category/category-ui.tsx +479 -0
- package/src/widgets-v2/category/category.relative-data.test.tsx +107 -0
- package/src/widgets-v2/category/category.stack-toggle.test.tsx +85 -0
- package/src/widgets-v2/category/category.test.tsx +305 -0
- package/src/widgets-v2/category/category.tsx +130 -0
- package/src/widgets-v2/category/components/category-bar-stacked.test.tsx +121 -0
- package/src/widgets-v2/category/components/category-bar-stacked.tsx +73 -0
- package/src/widgets-v2/category/components/category-bar.test.tsx +64 -0
- package/src/widgets-v2/category/components/category-bar.tsx +49 -0
- package/src/widgets-v2/category/components/category-legend.test.tsx +102 -0
- package/src/widgets-v2/category/components/category-legend.tsx +82 -0
- package/src/widgets-v2/category/components/category-row-multi.tsx +86 -0
- package/src/widgets-v2/category/components/category-row-other.test.tsx +57 -0
- package/src/widgets-v2/category/components/category-row-other.tsx +84 -0
- package/src/widgets-v2/category/components/category-row-single.tsx +76 -0
- package/src/widgets-v2/category/components/category-row-stacked.test.tsx +248 -0
- package/src/widgets-v2/category/components/category-row-stacked.tsx +104 -0
- package/src/widgets-v2/category/download.test.ts +80 -0
- package/src/widgets-v2/category/download.ts +50 -0
- package/src/widgets-v2/category/index.ts +32 -0
- package/src/widgets-v2/category/skeleton.test.tsx +26 -0
- package/src/widgets-v2/category/skeleton.tsx +74 -0
- package/src/widgets-v2/category/style.ts +329 -0
- package/src/widgets-v2/category/types.ts +61 -0
- package/src/widgets-v2/echart/echart-ui.test.tsx +330 -0
- package/src/widgets-v2/echart/echart-ui.tsx +236 -0
- package/src/widgets-v2/echart/echart.test.tsx +229 -0
- package/src/widgets-v2/echart/echart.tsx +209 -0
- package/src/widgets-v2/echart/edge-label-clamp.test.ts +198 -0
- package/src/widgets-v2/echart/edge-label-clamp.ts +217 -0
- package/src/widgets-v2/echart/index.ts +22 -0
- package/src/widgets-v2/echart/shared-resize-observer.test.ts +91 -0
- package/src/widgets-v2/echart/shared-resize-observer.ts +56 -0
- package/src/widgets-v2/echart/style.ts +17 -0
- package/src/widgets-v2/echart/use-chart-selection.test.tsx +120 -0
- package/src/widgets-v2/echart/use-chart-selection.ts +121 -0
- package/src/widgets-v2/formula/delta.tsx +61 -0
- package/src/widgets-v2/formula/download.test.tsx +65 -0
- package/src/widgets-v2/formula/download.tsx +63 -0
- package/src/widgets-v2/formula/formula-ui.test.tsx +91 -0
- package/src/widgets-v2/formula/formula-ui.tsx +66 -0
- package/src/widgets-v2/formula/formula.test.tsx +50 -0
- package/src/widgets-v2/formula/formula.tsx +34 -0
- package/src/widgets-v2/formula/index.ts +17 -0
- package/src/widgets-v2/formula/note.tsx +25 -0
- package/src/widgets-v2/formula/prefix.tsx +25 -0
- package/src/widgets-v2/formula/series.tsx +67 -0
- package/src/widgets-v2/formula/skeleton.test.tsx +21 -0
- package/src/widgets-v2/formula/skeleton.tsx +27 -0
- package/src/widgets-v2/formula/style.ts +31 -0
- package/src/widgets-v2/formula/subcomponents.test.tsx +107 -0
- package/src/widgets-v2/formula/suffix.tsx +25 -0
- package/src/widgets-v2/formula/types.ts +48 -0
- package/src/widgets-v2/formula/value.tsx +31 -0
- package/src/widgets-v2/histogram/download.test.ts +94 -0
- package/src/widgets-v2/histogram/download.ts +56 -0
- package/src/widgets-v2/histogram/index.ts +13 -0
- package/src/widgets-v2/histogram/options.test.ts +411 -0
- package/src/widgets-v2/histogram/options.ts +390 -0
- package/src/widgets-v2/histogram/skeleton.test.tsx +16 -0
- package/src/widgets-v2/histogram/skeleton.tsx +70 -0
- package/src/widgets-v2/histogram/transforms.test.ts +81 -0
- package/src/widgets-v2/histogram/transforms.ts +53 -0
- package/src/widgets-v2/histogram/types.ts +64 -0
- package/src/widgets-v2/index.ts +212 -0
- package/src/widgets-v2/markdown/download.test.ts +66 -0
- package/src/widgets-v2/markdown/download.tsx +56 -0
- package/src/widgets-v2/markdown/index.ts +6 -0
- package/src/widgets-v2/markdown/markdown-content.test.tsx +165 -0
- package/src/widgets-v2/markdown/markdown-content.tsx +81 -0
- package/src/widgets-v2/markdown/markdown-ui.test.tsx +75 -0
- package/src/widgets-v2/markdown/markdown-ui.tsx +55 -0
- package/src/widgets-v2/markdown/markdown.test.tsx +39 -0
- package/src/widgets-v2/markdown/markdown.tsx +17 -0
- package/src/widgets-v2/markdown/skeleton.test.tsx +15 -0
- package/src/widgets-v2/markdown/skeleton.tsx +32 -0
- package/src/widgets-v2/markdown/style.ts +53 -0
- package/src/widgets-v2/markdown/types.ts +4 -0
- package/src/widgets-v2/note/labels.ts +9 -0
- package/src/widgets-v2/note/style.ts +26 -0
- package/src/widgets-v2/note/widget-note.test.tsx +158 -0
- package/src/widgets-v2/note/widget-note.tsx +172 -0
- package/src/widgets-v2/pie/download.test.ts +78 -0
- package/src/widgets-v2/pie/download.ts +51 -0
- package/src/widgets-v2/pie/index.ts +10 -0
- package/src/widgets-v2/pie/options.test.ts +938 -0
- package/src/widgets-v2/pie/options.ts +606 -0
- package/src/widgets-v2/pie/skeleton.test.tsx +20 -0
- package/src/widgets-v2/pie/skeleton.tsx +94 -0
- package/src/widgets-v2/pie/types.ts +62 -0
- package/src/widgets-v2/provider/widget-provider.test.tsx +119 -0
- package/src/widgets-v2/provider/widget-provider.tsx +111 -0
- package/src/widgets-v2/range/index.ts +4 -0
- package/src/widgets-v2/range/range-ui.test.tsx +136 -0
- package/src/widgets-v2/range/range-ui.tsx +278 -0
- package/src/widgets-v2/range/range.test.tsx +68 -0
- package/src/widgets-v2/range/range.tsx +52 -0
- package/src/widgets-v2/range/skeleton.test.tsx +17 -0
- package/src/widgets-v2/range/skeleton.tsx +47 -0
- package/src/widgets-v2/range/style.ts +41 -0
- package/src/widgets-v2/range/types.ts +37 -0
- package/src/widgets-v2/scatterplot/download.test.ts +71 -0
- package/src/widgets-v2/scatterplot/download.ts +50 -0
- package/src/widgets-v2/scatterplot/index.ts +14 -0
- package/src/widgets-v2/scatterplot/options.test.ts +411 -0
- package/src/widgets-v2/scatterplot/options.ts +422 -0
- package/src/widgets-v2/scatterplot/skeleton.test.tsx +17 -0
- package/src/widgets-v2/scatterplot/skeleton.tsx +84 -0
- package/src/widgets-v2/scatterplot/transforms.test.ts +134 -0
- package/src/widgets-v2/scatterplot/transforms.ts +61 -0
- package/src/widgets-v2/scatterplot/types.ts +59 -0
- package/src/widgets-v2/selection-summary/labels.ts +15 -0
- package/src/widgets-v2/selection-summary/selection-summary.test.tsx +59 -0
- package/src/widgets-v2/selection-summary/selection-summary.tsx +82 -0
- package/src/widgets-v2/selection-summary/style.ts +38 -0
- package/src/widgets-v2/spread/band.test.ts +46 -0
- package/src/widgets-v2/spread/band.ts +47 -0
- package/src/widgets-v2/spread/download.test.ts +64 -0
- package/src/widgets-v2/spread/download.ts +55 -0
- package/src/widgets-v2/spread/index.ts +11 -0
- package/src/widgets-v2/spread/separator.tsx +11 -0
- package/src/widgets-v2/spread/skeleton.test.tsx +17 -0
- package/src/widgets-v2/spread/skeleton.tsx +38 -0
- package/src/widgets-v2/spread/spread-ui.test.tsx +108 -0
- package/src/widgets-v2/spread/spread-ui.tsx +52 -0
- package/src/widgets-v2/spread/spread.test.tsx +50 -0
- package/src/widgets-v2/spread/spread.tsx +31 -0
- package/src/widgets-v2/spread/types.ts +27 -0
- package/src/widgets-v2/state/labels.test.ts +33 -0
- package/src/widgets-v2/state/labels.ts +20 -0
- package/src/widgets-v2/state/style.ts +25 -0
- package/src/widgets-v2/state/widget-state.test.tsx +294 -0
- package/src/widgets-v2/state/widget-state.tsx +184 -0
- package/src/widgets-v2/stores/index.ts +49 -0
- package/src/widgets-v2/stores/pipeline-middleware.test.ts +187 -0
- package/src/widgets-v2/stores/pipeline-middleware.ts +91 -0
- package/src/widgets-v2/stores/transforms.test.ts +162 -0
- package/src/widgets-v2/stores/transforms.ts +70 -0
- package/src/widgets-v2/stores/types.ts +64 -0
- package/src/widgets-v2/stores/use-echart-instance.test.tsx +91 -0
- package/src/widgets-v2/stores/use-echart-instance.ts +29 -0
- package/src/widgets-v2/stores/use-transform-enabled.test.tsx +127 -0
- package/src/widgets-v2/stores/use-transform-enabled.ts +25 -0
- package/src/widgets-v2/stores/use-transform.test.tsx +262 -0
- package/src/widgets-v2/stores/use-transform.ts +158 -0
- package/src/widgets-v2/stores/widget-context.test.tsx +58 -0
- package/src/widgets-v2/stores/widget-context.ts +15 -0
- package/src/widgets-v2/stores/widget-store-registry.test.ts +292 -0
- package/src/widgets-v2/stores/widget-store-registry.ts +239 -0
- package/src/widgets-v2/subheader/style.ts +12 -0
- package/src/widgets-v2/subheader/subheader.test.tsx +30 -0
- package/src/widgets-v2/subheader/subheader.tsx +16 -0
- package/src/widgets-v2/table/download.test.ts +85 -0
- package/src/widgets-v2/table/download.ts +43 -0
- package/src/widgets-v2/table/helpers.test.ts +233 -0
- package/src/widgets-v2/table/helpers.ts +131 -0
- package/src/widgets-v2/table/index.ts +24 -0
- package/src/widgets-v2/table/labels.tsx +41 -0
- package/src/widgets-v2/table/skeleton.test.tsx +26 -0
- package/src/widgets-v2/table/skeleton.tsx +65 -0
- package/src/widgets-v2/table/style.ts +43 -0
- package/src/widgets-v2/table/table-ui.test.tsx +200 -0
- package/src/widgets-v2/table/table-ui.tsx +364 -0
- package/src/widgets-v2/table/table.test.tsx +119 -0
- package/src/widgets-v2/table/table.tsx +179 -0
- package/src/widgets-v2/table/transforms.test.ts +40 -0
- package/src/widgets-v2/table/transforms.ts +28 -0
- package/src/widgets-v2/table/types.ts +55 -0
- package/src/widgets-v2/test-utils.ts +107 -0
- package/src/widgets-v2/timeseries/download.test.ts +95 -0
- package/src/widgets-v2/timeseries/download.ts +82 -0
- package/src/widgets-v2/timeseries/index.ts +11 -0
- package/src/widgets-v2/timeseries/options.test.ts +399 -0
- package/src/widgets-v2/timeseries/options.ts +342 -0
- package/src/widgets-v2/timeseries/skeleton.test.tsx +13 -0
- package/src/widgets-v2/timeseries/skeleton.tsx +76 -0
- package/src/widgets-v2/timeseries/transforms.test.ts +49 -0
- package/src/widgets-v2/timeseries/transforms.ts +31 -0
- package/src/widgets-v2/timeseries/types.ts +65 -0
- package/src/widgets-v2/toolbox/labels.ts +9 -0
- package/src/widgets-v2/toolbox/style.ts +33 -0
- package/src/widgets-v2/toolbox/toolbox.test.tsx +200 -0
- package/src/widgets-v2/toolbox/toolbox.tsx +309 -0
- package/src/widgets-v2/types.ts +25 -0
- package/src/widgets-v2/utils/data-zoom-layout.ts +26 -0
- package/src/widgets-v2/utils/index.ts +3 -0
- package/src/widgets-v2/utils/merge-options.test.ts +52 -0
- package/src/widgets-v2/utils/merge-options.ts +50 -0
- package/src/widgets-v2/utils/resolve-theme-color.test.ts +43 -0
- package/src/widgets-v2/utils/resolve-theme-color.ts +34 -0
- package/src/widgets-v2/wrapper/index.ts +14 -0
- package/src/widgets-v2/wrapper/labels.ts +11 -0
- package/src/widgets-v2/wrapper/style.ts +128 -0
- package/src/widgets-v2/wrapper/widget-actions.test.tsx +52 -0
- package/src/widgets-v2/wrapper/widget-actions.tsx +43 -0
- package/src/widgets-v2/wrapper/widget-content.test.tsx +27 -0
- package/src/widgets-v2/wrapper/widget-content.tsx +29 -0
- package/src/widgets-v2/wrapper/widget-wrapper.test.tsx +255 -0
- package/src/widgets-v2/wrapper/widget-wrapper.tsx +194 -0
- package/dist/cjs-D9ro6BXv.js +0 -85
- package/dist/cjs-D9ro6BXv.js.map +0 -1
- package/dist/components.js.map +0 -1
- package/dist/error-B2IJ9d2h.js +0 -38
- package/dist/error-B2IJ9d2h.js.map +0 -1
- package/dist/exports-Cr43OCul.js +0 -51
- package/dist/exports-Cr43OCul.js.map +0 -1
- package/dist/lasso-tool-CYn3ivf-.js +0 -534
- package/dist/lasso-tool-CYn3ivf-.js.map +0 -1
- package/dist/markdown-ui-CpNYUPqC.js +0 -68
- package/dist/markdown-ui-CpNYUPqC.js.map +0 -1
- package/dist/no-data-C54XJt13.js +0 -61
- package/dist/no-data-C54XJt13.js.map +0 -1
- package/dist/note-Clng2ej6.js +0 -124
- package/dist/note-Clng2ej6.js.map +0 -1
- package/dist/options-D9wflre6.js +0 -49
- package/dist/options-D9wflre6.js.map +0 -1
- package/dist/row-DLKZN5aF.js +0 -33
- package/dist/row-DLKZN5aF.js.map +0 -1
- package/dist/row-DrHwXNvF.js +0 -35
- package/dist/row-DrHwXNvF.js.map +0 -1
- package/dist/series-Cf1QPZHV.js +0 -83
- package/dist/series-Cf1QPZHV.js.map +0 -1
- package/dist/series-Do02NQUF.js +0 -91
- package/dist/series-Do02NQUF.js.map +0 -1
- package/dist/smart-tooltip-BEtBaIdz.js +0 -39
- package/dist/smart-tooltip-BEtBaIdz.js.map +0 -1
- package/dist/styles-CcC5L2cr.js +0 -77
- package/dist/styles-CcC5L2cr.js.map +0 -1
- package/dist/styles-dOu_pRNb.js +0 -77
- package/dist/styles-dOu_pRNb.js.map +0 -1
- package/dist/tooltip-BDnrRKrp.js +0 -25
- package/dist/tooltip-BDnrRKrp.js.map +0 -1
- package/dist/types/common/common.d.ts +0 -3
- package/dist/types/common/index.d.ts +0 -26
- package/dist/types/common/lasso-tools.d.ts +0 -36
- package/dist/types/common/measurement-tools.d.ts +0 -65
- package/dist/types/hooks/use-debounce.d.ts +0 -19
- package/dist/types/widgets/_shared/chart-config/index.d.ts +0 -7
- package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +0 -34
- package/dist/types/widgets/actions/relative-data/style.d.ts +0 -8
- package/dist/types/widgets/actions/relative-data/utils.test.d.ts +0 -1
- package/dist/types/widgets/actions/zoom-toggle/index.d.ts +0 -2
- package/dist/types/widgets/category/components/index.d.ts +0 -10
- package/dist/types/widgets/index.d.ts +0 -8
- package/dist/types/widgets/range/serializer.test.d.ts +0 -1
- package/dist/types/widgets/root/index.d.ts +0 -3
- package/dist/types/widgets/root/root.d.ts +0 -2
- package/dist/types/widgets/root/types.d.ts +0 -9
- package/dist/types/widgets/root/utils.d.ts +0 -1
- package/dist/types/widgets/stores/widget-store.test.d.ts +0 -1
- package/dist/types/widgets/table/components/index.d.ts +0 -4
- package/dist/types/widgets/table/helpers.test.d.ts +0 -1
- package/dist/types/widgets/table/hooks/index.d.ts +0 -6
- package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +0 -1
- package/dist/types/widgets/table/hooks/use-selection.test.d.ts +0 -1
- package/dist/types/widgets/table/hooks/use-sort.test.d.ts +0 -1
- package/dist/utils-DNtU8q7E.js +0 -144
- package/dist/utils-DNtU8q7E.js.map +0 -1
- package/dist/utils-Dv5Z47UQ.js +0 -144
- package/dist/utils-Dv5Z47UQ.js.map +0 -1
- package/dist/widget-store-CB6Trp_0.js +0 -131
- package/dist/widget-store-CB6Trp_0.js.map +0 -1
- package/dist/widget-store-yDO2ul8g.js +0 -44
- package/dist/widget-store-yDO2ul8g.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/root.js +0 -68
- package/dist/widgets/root.js.map +0 -1
- package/dist/widgets/stores.js.map +0 -1
- package/dist/widgets.js +0 -11
- package/dist/widgets.js.map +0 -1
- /package/dist/types/widgets/{_shared → utils}/chart-config/csv-modifiers.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/skeleton/styles.d.ts +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { C as e, T as t } from "./stores-tiFePP0A.js";
|
|
2
|
+
import { n, t as r } from "./download-DdaK3qgC.js";
|
|
3
|
+
import { a as i, c as a, l as o, o as s, s as c, u as l } from "./formula-noJzQwKo.js";
|
|
4
|
+
import { c as u } from "react/compiler-runtime";
|
|
5
|
+
import { Box as d, Skeleton as f } from "@mui/material";
|
|
6
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
7
|
+
//#region src/widgets-v2/spread/separator.tsx
|
|
8
|
+
function h() {
|
|
9
|
+
let e = u(1), t;
|
|
10
|
+
return e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ p(s, {
|
|
11
|
+
color: "inherit",
|
|
12
|
+
children: "-"
|
|
13
|
+
}), e[0] = t) : t = e[0], t;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/widgets-v2/spread/spread-ui.tsx
|
|
17
|
+
function g(e) {
|
|
18
|
+
let t = u(8), { items: n, formatter: r, ref: f } = e, g = r ?? _, v;
|
|
19
|
+
if (t[0] !== g || t[1] !== n) {
|
|
20
|
+
let e;
|
|
21
|
+
t[3] === g ? e = t[4] : (e = (e, t) => /* @__PURE__ */ m(d, {
|
|
22
|
+
sx: i.row,
|
|
23
|
+
children: [e.series ? /* @__PURE__ */ p(a, {
|
|
24
|
+
name: e.series.name,
|
|
25
|
+
color: e.series.color
|
|
26
|
+
}) : null, /* @__PURE__ */ m(d, {
|
|
27
|
+
sx: i.body,
|
|
28
|
+
children: [/* @__PURE__ */ m(d, {
|
|
29
|
+
sx: i.valueRow,
|
|
30
|
+
children: [
|
|
31
|
+
e.prefix ? /* @__PURE__ */ p(o, { children: e.prefix }) : null,
|
|
32
|
+
/* @__PURE__ */ p(s, {
|
|
33
|
+
color: e.color,
|
|
34
|
+
children: g(e.min)
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ p(h, {}),
|
|
37
|
+
/* @__PURE__ */ p(s, {
|
|
38
|
+
color: e.color,
|
|
39
|
+
children: g(e.max)
|
|
40
|
+
}),
|
|
41
|
+
e.suffix ? /* @__PURE__ */ p(c, { children: e.suffix }) : null
|
|
42
|
+
]
|
|
43
|
+
}), e.note ? /* @__PURE__ */ p(l, { children: e.note }) : null]
|
|
44
|
+
})]
|
|
45
|
+
}, `spread-${e.series?.name ?? ""}-${e.min}-${e.max}-${t}`), t[3] = g, t[4] = e), v = n.map(e), t[0] = g, t[1] = n, t[2] = v;
|
|
46
|
+
} else v = t[2];
|
|
47
|
+
let y;
|
|
48
|
+
return t[5] !== f || t[6] !== v ? (y = /* @__PURE__ */ p(d, {
|
|
49
|
+
ref: f,
|
|
50
|
+
sx: i.root,
|
|
51
|
+
children: v
|
|
52
|
+
}), t[5] = f, t[6] = v, t[7] = y) : y = t[7], y;
|
|
53
|
+
}
|
|
54
|
+
function _(e) {
|
|
55
|
+
return String(e);
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region src/widgets-v2/spread/spread.tsx
|
|
59
|
+
var v = Object.freeze([]), y = (e) => ({
|
|
60
|
+
data: e.data ?? v,
|
|
61
|
+
formatter: e.formatter
|
|
62
|
+
});
|
|
63
|
+
function b() {
|
|
64
|
+
let n = u(3), r = t(), i = e(r, y), a;
|
|
65
|
+
return n[0] !== i.data || n[1] !== i.formatter ? (a = /* @__PURE__ */ p(g, {
|
|
66
|
+
items: i.data,
|
|
67
|
+
formatter: i.formatter
|
|
68
|
+
}), n[0] = i.data, n[1] = i.formatter, n[2] = a) : a = n[2], a;
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/widgets-v2/spread/skeleton.tsx
|
|
72
|
+
var x = {
|
|
73
|
+
root: {
|
|
74
|
+
display: "flex",
|
|
75
|
+
flexDirection: "column",
|
|
76
|
+
gap: 2,
|
|
77
|
+
py: 1
|
|
78
|
+
},
|
|
79
|
+
row: {
|
|
80
|
+
display: "flex",
|
|
81
|
+
alignItems: "center",
|
|
82
|
+
gap: 1.5
|
|
83
|
+
},
|
|
84
|
+
block: {
|
|
85
|
+
width: 200,
|
|
86
|
+
height: 32
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
function S(e) {
|
|
90
|
+
let t = u(2), { count: n } = e, r = n === void 0 ? 1 : n, i;
|
|
91
|
+
return t[0] === r ? i = t[1] : (i = /* @__PURE__ */ p(d, {
|
|
92
|
+
sx: x.root,
|
|
93
|
+
children: Array.from({ length: r }).map(C)
|
|
94
|
+
}), t[0] = r, t[1] = i), i;
|
|
95
|
+
}
|
|
96
|
+
function C(e, t) {
|
|
97
|
+
return /* @__PURE__ */ p(d, {
|
|
98
|
+
sx: x.row,
|
|
99
|
+
children: /* @__PURE__ */ p(f, {
|
|
100
|
+
variant: "rectangular",
|
|
101
|
+
sx: x.block
|
|
102
|
+
})
|
|
103
|
+
}, `row-${t}`);
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/widgets-v2/spread/download.ts
|
|
107
|
+
function w(e) {
|
|
108
|
+
let t = [];
|
|
109
|
+
return e.getCaptureEl && t.push(n({
|
|
110
|
+
filename: e.filename,
|
|
111
|
+
getCaptureEl: e.getCaptureEl,
|
|
112
|
+
pixelRatio: e.pngPixelRatio,
|
|
113
|
+
backgroundColor: e.pngBackgroundColor
|
|
114
|
+
})), t.push(r({
|
|
115
|
+
filename: e.filename,
|
|
116
|
+
getRows: () => {
|
|
117
|
+
let t = e.getData(), n = [[
|
|
118
|
+
"series",
|
|
119
|
+
"prefix",
|
|
120
|
+
"min",
|
|
121
|
+
"max",
|
|
122
|
+
"suffix",
|
|
123
|
+
"note"
|
|
124
|
+
]];
|
|
125
|
+
for (let e of t) n.push([
|
|
126
|
+
e.series?.name ?? "",
|
|
127
|
+
e.prefix ?? "",
|
|
128
|
+
e.min,
|
|
129
|
+
e.max,
|
|
130
|
+
e.suffix ?? "",
|
|
131
|
+
e.note ?? ""
|
|
132
|
+
]);
|
|
133
|
+
return n;
|
|
134
|
+
}
|
|
135
|
+
})), t;
|
|
136
|
+
}
|
|
137
|
+
//#endregion
|
|
138
|
+
//#region src/widgets-v2/spread/band.ts
|
|
139
|
+
function T({ value: e, spread: t, variant: n = "percentage" }) {
|
|
140
|
+
let r = n === "absolute" ? t : t / 100 * e, i = Math.abs(r);
|
|
141
|
+
return {
|
|
142
|
+
min: e - i,
|
|
143
|
+
max: e + i
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
|
+
export { g as a, b as i, w as n, h as o, S as r, T as t };
|
|
148
|
+
|
|
149
|
+
//# sourceMappingURL=spread-Ccpg9fi0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spread-Ccpg9fi0.js","names":["<Value color='inherit'>-</Value>","{ items, formatter, ref }: SpreadUIProps","(n: number) => String(n)","items.map((item, i) => (\n // Composite of series name + min/max bounds for stability across\n // reorders; falls back to the index when bounds happen to collide.\n <Box\n key={`spread-${item.series?.name ?? ''}-${item.min}-${item.max}-${i}`}\n sx={styles.row}\n >\n {item.series ? (\n <Series name={item.series.name} color={item.series.color} />\n ) : null}\n <Box sx={styles.body}>\n <Box sx={styles.valueRow}>\n {item.prefix ? <Prefix>{item.prefix}</Prefix> : null}\n <Value color={item.color}>{fmt(item.min)}</Value>\n <Separator />\n <Value color={item.color}>{fmt(item.max)}</Value>\n {item.suffix ? <Suffix>{item.suffix}</Suffix> : null}\n </Box>\n {item.note ? <Note>{item.note}</Note> : null}\n </Box>\n </Box>\n ))","(item, i) => (\n // Composite of series name + min/max bounds for stability across\n // reorders; falls back to the index when bounds happen to collide.\n <Box\n key={`spread-${item.series?.name ?? ''}-${item.min}-${item.max}-${i}`}\n sx={styles.row}\n >\n {item.series ? (\n <Series name={item.series.name} color={item.series.color} />\n ) : null}\n <Box sx={styles.body}>\n <Box sx={styles.valueRow}>\n {item.prefix ? <Prefix>{item.prefix}</Prefix> : null}\n <Value color={item.color}>{fmt(item.min)}</Value>\n <Separator />\n <Value color={item.color}>{fmt(item.max)}</Value>\n {item.suffix ? <Suffix>{item.suffix}</Suffix> : null}\n </Box>\n {item.note ? <Note>{item.note}</Note> : null}\n </Box>\n </Box>\n )","<Box ref={ref} sx={styles.root}>\n {items.map((item, i) => (\n // Composite of series name + min/max bounds for stability across\n // reorders; falls back to the index when bounds happen to collide.\n <Box\n key={`spread-${item.series?.name ?? ''}-${item.min}-${item.max}-${i}`}\n sx={styles.row}\n >\n {item.series ? (\n <Series name={item.series.name} color={item.series.color} />\n ) : null}\n <Box sx={styles.body}>\n <Box sx={styles.valueRow}>\n {item.prefix ? <Prefix>{item.prefix}</Prefix> : null}\n <Value color={item.color}>{fmt(item.min)}</Value>\n <Separator />\n <Value color={item.color}>{fmt(item.max)}</Value>\n {item.suffix ? <Suffix>{item.suffix}</Suffix> : null}\n </Box>\n {item.note ? <Note>{item.note}</Note> : null}\n </Box>\n </Box>\n ))}\n </Box>","<SpreadUI items={slice.data} formatter={slice.formatter} />","data","formatter","{ count = 1 }: SpreadSkeletonProps","count = 1","<Box sx={styles.root}>\n {Array.from({ length: count }).map((_, i) => (\n <Box key={`row-${i}`} sx={styles.row}>\n <Skeleton variant='rectangular' sx={styles.block} />\n </Box>\n ))}\n </Box>","(_, i) => (\n <Box key={`row-${i}`} sx={styles.row}>\n <Skeleton variant='rectangular' sx={styles.block} />\n </Box>\n )"],"sources":["../src/widgets-v2/spread/separator.tsx","../src/widgets-v2/spread/spread-ui.tsx","../src/widgets-v2/spread/spread.tsx","../src/widgets-v2/spread/skeleton.tsx","../src/widgets-v2/spread/download.ts","../src/widgets-v2/spread/band.ts"],"sourcesContent":["import { Value } from '../formula'\n\n/**\n * Em-dash separator placed between a Spread row's `min` and `max` values.\n * Built from the Formula {@link Value} primitive so typography (h5/600,\n * baseline alignment) matches the numbers around it. Renders with\n * `text.secondary` so it visually recedes between the two bounds.\n */\nexport function Separator() {\n return <Value color='inherit'>-</Value>\n}\n","import { Box } from '@mui/material'\nimport type { Ref } from 'react'\nimport { Note, Prefix, Series, Suffix, Value } from '../formula'\nimport { styles } from '../formula/style'\nimport { Separator } from './separator'\nimport type { SpreadDataItem } from './types'\n\nexport interface SpreadUIProps {\n items: readonly SpreadDataItem[]\n /** Number formatter — applied to each item's `min` and `max`. */\n formatter?: (value: number) => string\n /** Forwarded to the root `<Box>` so consumers can capture the DOM (PNG export). */\n ref?: Ref<HTMLDivElement>\n}\n\n/**\n * Pure presentational component for the Spread widget. Each item renders as\n * a row containing (in order): optional `Series` avatar, a body with\n * `[prefix] min — max [suffix]` plus optional `Note`. Reuses the Formula\n * primitives ({@link Series}, {@link Prefix}, {@link Value}, {@link Suffix},\n * {@link Note}) and the Formula row styles so Spread and Formula stay\n * visually aligned when used together.\n */\nexport function SpreadUI({ items, formatter, ref }: SpreadUIProps) {\n const fmt = formatter ?? ((n: number) => String(n))\n return (\n <Box ref={ref} sx={styles.root}>\n {items.map((item, i) => (\n // Composite of series name + min/max bounds for stability across\n // reorders; falls back to the index when bounds happen to collide.\n <Box\n key={`spread-${item.series?.name ?? ''}-${item.min}-${item.max}-${i}`}\n sx={styles.row}\n >\n {item.series ? (\n <Series name={item.series.name} color={item.series.color} />\n ) : null}\n <Box sx={styles.body}>\n <Box sx={styles.valueRow}>\n {item.prefix ? <Prefix>{item.prefix}</Prefix> : null}\n <Value color={item.color}>{fmt(item.min)}</Value>\n <Separator />\n <Value color={item.color}>{fmt(item.max)}</Value>\n {item.suffix ? <Suffix>{item.suffix}</Suffix> : null}\n </Box>\n {item.note ? <Note>{item.note}</Note> : null}\n </Box>\n </Box>\n ))}\n </Box>\n )\n}\n","import { useWidgetId, useWidgetShallow } from '../stores'\nimport { SpreadUI } from './spread-ui'\nimport type { SpreadWidgetData } from './types'\n\ninterface SpreadSlice {\n data: SpreadWidgetData\n formatter?: (value: number) => string\n}\n\n// Stable empty-data sentinel — keeps the slice's `data` reference stable\n// when the underlying store value is null/undefined so the shallow-equality\n// gate in `useWidgetShallow` doesn't re-render every commit.\nconst EMPTY_DATA: SpreadWidgetData = Object.freeze([]) as SpreadWidgetData\n\nconst spreadSelector = (s: {\n data: unknown\n formatter?: (value: number) => string\n}): SpreadSlice => ({\n data: (s.data ?? EMPTY_DATA) as SpreadWidgetData,\n formatter: s.formatter,\n})\n\n/**\n * Stateful Spread bridge — reads `data` (post-pipeline) and `formatter` from\n * the per-widget store and forwards them to the pure {@link SpreadUI}.\n */\nexport function Spread() {\n const id = useWidgetId()\n const slice = useWidgetShallow(id, spreadSelector)\n return <SpreadUI items={slice.data} formatter={slice.formatter} />\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: 2,\n py: 1,\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: 1.5,\n },\n block: { width: 200, height: 32 },\n} satisfies Record<string, SxProps<Theme>>\n\nexport interface SpreadSkeletonProps {\n count?: number\n}\n\n/**\n * Loading placeholder for the Spread widget. Renders `count` rows, each\n * sized for the `min — max` pair so the layout doesn't jump once data\n * resolves. Mirrors the row-per-item structure of {@link SpreadUI}.\n */\nexport function SpreadSkeleton({ count = 1 }: SpreadSkeletonProps) {\n return (\n <Box sx={styles.root}>\n {Array.from({ length: count }).map((_, i) => (\n <Box key={`row-${i}`} sx={styles.row}>\n <Skeleton variant='rectangular' sx={styles.block} />\n </Box>\n ))}\n </Box>\n )\n}\n","import {\n buildCsvDownloadItem,\n buildPngDownloadItem,\n type DownloadItem,\n} from '../actions/download'\nimport type { SpreadWidgetData } from './types'\n\n/**\n * Download menu items for the Spread widget. Always includes a CSV item\n * with `series, prefix, min, max, suffix, note` columns (one row per\n * entry). When `getCaptureEl` is supplied, prepends a PNG item that\n * rasterises the captured element via `html2canvas`.\n */\nexport function createSpreadDownloadConfig(args: {\n filename: string\n getData: () => SpreadWidgetData\n getCaptureEl?: () => HTMLElement | null\n pngPixelRatio?: number\n pngBackgroundColor?: string | null\n}): DownloadItem[] {\n const items: DownloadItem[] = []\n if (args.getCaptureEl) {\n items.push(\n buildPngDownloadItem({\n filename: args.filename,\n getCaptureEl: args.getCaptureEl,\n pixelRatio: args.pngPixelRatio,\n backgroundColor: args.pngBackgroundColor,\n }),\n )\n }\n items.push(\n buildCsvDownloadItem({\n filename: args.filename,\n getRows: () => {\n const data = args.getData()\n const rows: unknown[][] = [\n ['series', 'prefix', 'min', 'max', 'suffix', 'note'],\n ]\n for (const item of data) {\n rows.push([\n item.series?.name ?? '',\n item.prefix ?? '',\n item.min,\n item.max,\n item.suffix ?? '',\n item.note ?? '',\n ])\n }\n return rows\n },\n }),\n )\n return items\n}\n","/**\n * How a `spread` amount is applied to a centre value.\n *\n * - `percentage` — `spread` is a whole-number percentage of the centre\n * value, so `5` means +/-5%.\n * - `absolute` — `spread` is a raw offset in the value's own units.\n */\nexport type SpreadVariant = 'percentage' | 'absolute'\n\nexport interface GetSpreadBandOptions {\n /** The centre value the band is drawn around. */\n value: number\n /** Half-width of the band, read according to `variant`. */\n spread: number\n /** Defaults to `percentage`. */\n variant?: SpreadVariant\n}\n\n/**\n * Derives the `min` / `max` band around a centre value, for feeding a\n * {@link SpreadDataItem} from a single aggregated number (a prediction, a\n * target) plus a tolerance — rather than from a real column range.\n *\n * `spread` is read as a percentage by default, which is what a tolerance\n * almost always is: an absolute offset is meaningless without knowing the\n * value's magnitude, and gets visually lost on large values (+/-5 on a\n * prediction of 204,113 renders as a range indistinguishable from a single\n * number).\n *\n * @example\n * getSpreadBand({ value: 1000, spread: 5 })\n * // -> { min: 950, max: 1050 }\n * getSpreadBand({ value: 1000, spread: 5, variant: 'absolute' })\n * // -> { min: 995, max: 1005 }\n */\nexport function getSpreadBand({\n value,\n spread,\n variant = 'percentage',\n}: GetSpreadBandOptions): { min: number; max: number } {\n const offset = variant === 'absolute' ? spread : (spread / 100) * value\n // Keep `min <= max`: a percentage of a negative centre value (or a negative\n // `spread`) yields a negative offset, which would invert the band.\n const width = Math.abs(offset)\n\n return { min: value - width, max: value + width }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
import { c as e } from "react/compiler-runtime";
|
|
2
|
+
import { createContext as t, isValidElement as n, useContext as r } from "react";
|
|
3
|
+
import { isDev as i } from "@carto/ps-utils";
|
|
4
|
+
import { useStore as a } from "zustand";
|
|
5
|
+
import { createStore as o } from "zustand/vanilla";
|
|
6
|
+
import { devtools as s } from "zustand/middleware";
|
|
7
|
+
import { useShallow as c } from "zustand/react/shallow";
|
|
8
|
+
//#region src/legend/stores/legend-context.ts
|
|
9
|
+
var l = t(null);
|
|
10
|
+
function u() {
|
|
11
|
+
let e = r(l);
|
|
12
|
+
if (e == null) throw Error("useLegendId() must be called inside <Legend.Provider>. If you are calling from outside the Provider tree, use the hooks (useLegendStore, useLegendShallow) directly with an explicit id.");
|
|
13
|
+
return e;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/legend/stores/selectors.ts
|
|
17
|
+
var d = (e, t) => e.order - t.order;
|
|
18
|
+
function f(e) {
|
|
19
|
+
return Object.values(e.groups).sort(d);
|
|
20
|
+
}
|
|
21
|
+
function p(e, t) {
|
|
22
|
+
return Object.values(e.layers).filter((e) => e.groupId === t).sort(d);
|
|
23
|
+
}
|
|
24
|
+
function m(e) {
|
|
25
|
+
return Object.values(e.layers).sort(d);
|
|
26
|
+
}
|
|
27
|
+
function h(e) {
|
|
28
|
+
let t = Object.values(e.groups);
|
|
29
|
+
return t.length > 0 && t.every((e) => e.collapsed);
|
|
30
|
+
}
|
|
31
|
+
function g(e) {
|
|
32
|
+
return Object.keys(e.groups).length > 0;
|
|
33
|
+
}
|
|
34
|
+
function _(e) {
|
|
35
|
+
let t = (t) => p(e, t).filter((e) => e.visible), n = [];
|
|
36
|
+
for (let r of f(e)) {
|
|
37
|
+
let e = t(r.id);
|
|
38
|
+
e.length > 0 && n.push({
|
|
39
|
+
group: r,
|
|
40
|
+
layers: e
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
let r = t(void 0);
|
|
44
|
+
return r.length > 0 && n.push({ layers: r }), n;
|
|
45
|
+
}
|
|
46
|
+
function v(e, t) {
|
|
47
|
+
let n = e.layers[t];
|
|
48
|
+
return n ? n.variables.length > 0 || (n.sections?.length ?? 0) > 0 || !!n.helperText : !1;
|
|
49
|
+
}
|
|
50
|
+
function y(e, t) {
|
|
51
|
+
let n = !1, r = !1;
|
|
52
|
+
for (let i of p(e, t)) i.visible ? n = !0 : r = !0;
|
|
53
|
+
return n && r ? "mixed" : r ? "hidden" : "visible";
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/legend/stores/legend-store-registry.ts
|
|
57
|
+
var b = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), S = /* @__PURE__ */ new Set(), C = (e) => Math.min(1, Math.max(0, e));
|
|
58
|
+
function w(e, t) {
|
|
59
|
+
return e.visible === t ? null : t ? {
|
|
60
|
+
visible: t,
|
|
61
|
+
collapsed: e.collapsedBeforeHide ?? !1,
|
|
62
|
+
collapsedBeforeHide: void 0
|
|
63
|
+
} : {
|
|
64
|
+
visible: t,
|
|
65
|
+
collapsed: !0,
|
|
66
|
+
collapsedBeforeHide: e.collapsed
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function T(e, t) {
|
|
70
|
+
return e.visible ? { collapsed: t } : {
|
|
71
|
+
collapsed: t,
|
|
72
|
+
collapsedBeforeHide: t
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function E(e, t, n) {
|
|
76
|
+
let r = e.findIndex((e) => e.id === t);
|
|
77
|
+
if (r === -1) return null;
|
|
78
|
+
let i = Math.max(0, Math.min(e.length - 1, n));
|
|
79
|
+
if (i === r) return null;
|
|
80
|
+
let a = [...e], [o] = a.splice(r, 1);
|
|
81
|
+
a.splice(i, 0, o);
|
|
82
|
+
let s = /* @__PURE__ */ new Map();
|
|
83
|
+
return a.forEach((e, t) => {
|
|
84
|
+
e.order !== t && s.set(e.id, t);
|
|
85
|
+
}), s.size > 0 ? s : null;
|
|
86
|
+
}
|
|
87
|
+
function D(e, t, n) {
|
|
88
|
+
let r = e.layers[t];
|
|
89
|
+
return r ? { layers: {
|
|
90
|
+
...e.layers,
|
|
91
|
+
[t]: {
|
|
92
|
+
...r,
|
|
93
|
+
...n
|
|
94
|
+
}
|
|
95
|
+
} } : {};
|
|
96
|
+
}
|
|
97
|
+
function O(e, t, n) {
|
|
98
|
+
let r = e.groups[t];
|
|
99
|
+
return r ? { groups: {
|
|
100
|
+
...e.groups,
|
|
101
|
+
[t]: {
|
|
102
|
+
...r,
|
|
103
|
+
...n
|
|
104
|
+
}
|
|
105
|
+
} } : {};
|
|
106
|
+
}
|
|
107
|
+
function k(e, t) {
|
|
108
|
+
if (!t || !e || e === t) return t;
|
|
109
|
+
let n = t.map((t) => {
|
|
110
|
+
let n = e.find((e) => e.id === t.id);
|
|
111
|
+
return n && n.active !== t.active && t.options.includes(n.active) ? {
|
|
112
|
+
...t,
|
|
113
|
+
active: n.active
|
|
114
|
+
} : t;
|
|
115
|
+
});
|
|
116
|
+
return e.length === n.length && n.every((t, n) => {
|
|
117
|
+
let r = e[n];
|
|
118
|
+
return r.id === t.id && r.title === t.title && r.options === t.options && r.active === t.active;
|
|
119
|
+
}) ? e : n;
|
|
120
|
+
}
|
|
121
|
+
function A(e, t) {
|
|
122
|
+
return !n(e) || !n(t) || e.type !== t.type || e.key !== t.key ? !1 : j(e.props, t.props);
|
|
123
|
+
}
|
|
124
|
+
function j(e, t) {
|
|
125
|
+
let n = /* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)]);
|
|
126
|
+
for (let r of n) if (!Object.is(e[r], t[r]) && !A(e[r], t[r])) return !1;
|
|
127
|
+
return !0;
|
|
128
|
+
}
|
|
129
|
+
function M(e, t) {
|
|
130
|
+
let n = /* @__PURE__ */ new Map();
|
|
131
|
+
for (let r of e) {
|
|
132
|
+
let e = t(r.merged), i = n.get(e);
|
|
133
|
+
i ? i.push(r) : n.set(e, [r]);
|
|
134
|
+
}
|
|
135
|
+
for (let e of n.values()) e.sort((e, t) => e.merged.order - t.merged.order || e.index - t.index).forEach((e, t) => {
|
|
136
|
+
e.merged.order = t;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
function N(e, t, n) {
|
|
140
|
+
return {
|
|
141
|
+
...t,
|
|
142
|
+
visible: e?.visible ?? t.visible ?? !0,
|
|
143
|
+
opacity: e?.opacity ?? t.opacity ?? 1,
|
|
144
|
+
collapsed: e?.collapsed ?? t.collapsed ?? !1,
|
|
145
|
+
collapsedBeforeHide: e?.collapsedBeforeHide,
|
|
146
|
+
sections: k(e?.sections, t.sections),
|
|
147
|
+
order: e?.order ?? t.order ?? n
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
function P(e, t, n, r) {
|
|
151
|
+
return {
|
|
152
|
+
...t,
|
|
153
|
+
collapsed: e?.collapsed ?? t.collapsed ?? !r,
|
|
154
|
+
collapsedBeforeHide: e?.collapsedBeforeHide,
|
|
155
|
+
order: e?.order ?? t.order ?? n
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function F(e, t, n) {
|
|
159
|
+
let r = t.map((t, n) => ({
|
|
160
|
+
index: n,
|
|
161
|
+
merged: N(e.layers[t.id], t, n)
|
|
162
|
+
}));
|
|
163
|
+
M(r, (e) => e.groupId);
|
|
164
|
+
let i = new Set(r.filter(({ merged: e }) => e.visible && e.groupId != null).map(({ merged: e }) => e.groupId)), a = n.map((t, n) => ({
|
|
165
|
+
index: n,
|
|
166
|
+
merged: P(e.groups[t.id], t, n, i.has(t.id))
|
|
167
|
+
}));
|
|
168
|
+
M(a, () => void 0);
|
|
169
|
+
let o = r.length !== Object.keys(e.layers).length, s = {};
|
|
170
|
+
for (let { merged: t } of r) {
|
|
171
|
+
let n = e.layers[t.id];
|
|
172
|
+
n && j(n, t) ? s[t.id] = n : (s[t.id] = t, o = !0);
|
|
173
|
+
}
|
|
174
|
+
let c = a.length !== Object.keys(e.groups).length, l = {};
|
|
175
|
+
for (let { merged: t } of a) {
|
|
176
|
+
let n = e.groups[t.id];
|
|
177
|
+
n && j(n, t) ? l[t.id] = n : (l[t.id] = t, c = !0);
|
|
178
|
+
}
|
|
179
|
+
return !o && !c ? {} : {
|
|
180
|
+
layers: o ? s : e.layers,
|
|
181
|
+
groups: c ? l : e.groups
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
function I(e, t, n) {
|
|
185
|
+
let r = Object.values(t).map((e, t) => ({
|
|
186
|
+
index: t,
|
|
187
|
+
merged: { ...e }
|
|
188
|
+
}));
|
|
189
|
+
M(r, n);
|
|
190
|
+
let i = r.length !== Object.keys(e).length, a = {};
|
|
191
|
+
for (let { merged: t } of r) {
|
|
192
|
+
let n = e[t.id];
|
|
193
|
+
n && j(n, t) ? a[t.id] = n : (a[t.id] = t, i = !0);
|
|
194
|
+
}
|
|
195
|
+
return i ? a : null;
|
|
196
|
+
}
|
|
197
|
+
function L(e, t) {
|
|
198
|
+
let n = Object.values(e.layers).filter((e) => e.groupId === t.groupId && e.id !== t.id).length, r = N(e.layers[t.id], t, n), i = I(e.layers, {
|
|
199
|
+
...e.layers,
|
|
200
|
+
[t.id]: r
|
|
201
|
+
}, (e) => e.groupId);
|
|
202
|
+
return i ? { layers: i } : {};
|
|
203
|
+
}
|
|
204
|
+
function R(e, t) {
|
|
205
|
+
if (!e.layers[t]) return {};
|
|
206
|
+
let n = { ...e.layers };
|
|
207
|
+
delete n[t];
|
|
208
|
+
let r = I(e.layers, n, (e) => e.groupId);
|
|
209
|
+
return r ? { layers: r } : {};
|
|
210
|
+
}
|
|
211
|
+
function z(e, t) {
|
|
212
|
+
let n = Object.values(e.groups).filter((e) => e.id !== t.id).length, r = P(e.groups[t.id], t, n, !0), i = I(e.groups, {
|
|
213
|
+
...e.groups,
|
|
214
|
+
[t.id]: r
|
|
215
|
+
}, () => void 0);
|
|
216
|
+
return i ? { groups: i } : {};
|
|
217
|
+
}
|
|
218
|
+
function B(e, t) {
|
|
219
|
+
if (!e.groups[t]) return {};
|
|
220
|
+
let n = { ...e.groups };
|
|
221
|
+
delete n[t];
|
|
222
|
+
let r = I(e.groups, n, () => void 0), i = Object.values(e.layers).filter((e) => e.groupId === t);
|
|
223
|
+
if (i.length === 0) return r ? { groups: r } : {};
|
|
224
|
+
let a = { ...e.layers };
|
|
225
|
+
for (let e of i) a[e.id] = {
|
|
226
|
+
...e,
|
|
227
|
+
groupId: void 0
|
|
228
|
+
};
|
|
229
|
+
let o = I(e.layers, a, (e) => e.groupId);
|
|
230
|
+
return {
|
|
231
|
+
...r ? { groups: r } : {},
|
|
232
|
+
...o ? { layers: o } : {}
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
function V(e, t = {}) {
|
|
236
|
+
let n = F({
|
|
237
|
+
layers: {},
|
|
238
|
+
groups: {}
|
|
239
|
+
}, t.layers ?? [], t.groups ?? []);
|
|
240
|
+
return o()(s((e) => ({
|
|
241
|
+
layers: n.layers ?? {},
|
|
242
|
+
groups: n.groups ?? {},
|
|
243
|
+
setVisibility: (t, n) => e((e) => {
|
|
244
|
+
let r = e.layers[t], i = r && w(r, n);
|
|
245
|
+
return i ? D(e, t, i) : {};
|
|
246
|
+
}, !1, "setVisibility"),
|
|
247
|
+
setOpacity: (t, n) => e((e) => D(e, t, { opacity: C(n) }), !1, "setOpacity"),
|
|
248
|
+
setCollapsed: (t, n) => e((e) => {
|
|
249
|
+
let r = e.layers[t];
|
|
250
|
+
return r ? D(e, t, T(r, n)) : {};
|
|
251
|
+
}, !1, "setCollapsed"),
|
|
252
|
+
setSectionValue: (t, n, r) => e((e) => {
|
|
253
|
+
let i = e.layers[t], a = i?.sections?.find((e) => e.id === n);
|
|
254
|
+
return !i?.sections || !a || a.active === r || !a.options.includes(r) ? {} : D(e, t, { sections: i.sections.map((e) => e.id === n ? {
|
|
255
|
+
...e,
|
|
256
|
+
active: r
|
|
257
|
+
} : e) });
|
|
258
|
+
}, !1, "setSectionValue"),
|
|
259
|
+
moveLayer: (t, n) => e((e) => {
|
|
260
|
+
let r = e.layers[t];
|
|
261
|
+
if (!r) return {};
|
|
262
|
+
let i = E(p(e, r.groupId), t, n);
|
|
263
|
+
if (!i) return {};
|
|
264
|
+
let a = { ...e.layers };
|
|
265
|
+
for (let [e, t] of i) a[e] = {
|
|
266
|
+
...a[e],
|
|
267
|
+
order: t
|
|
268
|
+
};
|
|
269
|
+
return { layers: a };
|
|
270
|
+
}, !1, "moveLayer"),
|
|
271
|
+
setGroupVisibility: (t, n) => e((e) => {
|
|
272
|
+
let r = e.groups[t];
|
|
273
|
+
if (!r) return {};
|
|
274
|
+
let i = Object.values(e.layers).filter((e) => e.groupId === t), a = i.some((e) => e.visible);
|
|
275
|
+
if (i.length === 0 || !n && !a) return {};
|
|
276
|
+
let o = { ...e.layers }, s = !1;
|
|
277
|
+
for (let e of i) {
|
|
278
|
+
let t = w(e, n);
|
|
279
|
+
t && (o[e.id] = {
|
|
280
|
+
...e,
|
|
281
|
+
...t
|
|
282
|
+
}, s = !0);
|
|
283
|
+
}
|
|
284
|
+
if (!s) return {};
|
|
285
|
+
let c = null;
|
|
286
|
+
return !n && a ? c = {
|
|
287
|
+
collapsed: !0,
|
|
288
|
+
collapsedBeforeHide: r.collapsed
|
|
289
|
+
} : n && !a && (c = {
|
|
290
|
+
collapsed: r.collapsedBeforeHide ?? !1,
|
|
291
|
+
collapsedBeforeHide: void 0
|
|
292
|
+
}), {
|
|
293
|
+
layers: o,
|
|
294
|
+
...c ? { groups: {
|
|
295
|
+
...e.groups,
|
|
296
|
+
[t]: {
|
|
297
|
+
...r,
|
|
298
|
+
...c
|
|
299
|
+
}
|
|
300
|
+
} } : {}
|
|
301
|
+
};
|
|
302
|
+
}, !1, "setGroupVisibility"),
|
|
303
|
+
setGroupCollapsed: (t, n) => e((e) => {
|
|
304
|
+
if (!e.groups[t]) return {};
|
|
305
|
+
let r = Object.values(e.layers).filter((e) => e.groupId === t);
|
|
306
|
+
return O(e, t, r.length > 0 && r.every((e) => !e.visible) ? {
|
|
307
|
+
collapsed: n,
|
|
308
|
+
collapsedBeforeHide: n
|
|
309
|
+
} : { collapsed: n });
|
|
310
|
+
}, !1, "setGroupCollapsed"),
|
|
311
|
+
moveGroup: (t, n) => e((e) => {
|
|
312
|
+
if (!e.groups[t]) return {};
|
|
313
|
+
let r = E(f(e), t, n);
|
|
314
|
+
if (!r) return {};
|
|
315
|
+
let i = { ...e.groups };
|
|
316
|
+
for (let [e, t] of r) i[e] = {
|
|
317
|
+
...i[e],
|
|
318
|
+
order: t
|
|
319
|
+
};
|
|
320
|
+
return { groups: i };
|
|
321
|
+
}, !1, "moveGroup"),
|
|
322
|
+
setLegendLayer: (t) => e((e) => L(e, t), !1, "setLegendLayer"),
|
|
323
|
+
removeLegendLayer: (t) => e((e) => R(e, t), !1, "removeLegendLayer"),
|
|
324
|
+
setLegendGroup: (t) => e((e) => z(e, t), !1, "setLegendGroup"),
|
|
325
|
+
removeLegendGroup: (t) => e((e) => B(e, t), !1, "removeLegendGroup"),
|
|
326
|
+
_sync: (t, n) => e((e) => F(e, t, n), !1, "_sync")
|
|
327
|
+
}), {
|
|
328
|
+
name: `legend-${e}`,
|
|
329
|
+
enabled: i()
|
|
330
|
+
}));
|
|
331
|
+
}
|
|
332
|
+
function H(e) {
|
|
333
|
+
let t = b.get(e);
|
|
334
|
+
if (!t) throw Error(`[legend] Legend store "${e}" not found.`);
|
|
335
|
+
return t;
|
|
336
|
+
}
|
|
337
|
+
function U(e) {
|
|
338
|
+
return b.has(e);
|
|
339
|
+
}
|
|
340
|
+
function W(e) {
|
|
341
|
+
b.delete(e);
|
|
342
|
+
}
|
|
343
|
+
function G() {
|
|
344
|
+
b.clear(), x.clear(), S.clear();
|
|
345
|
+
}
|
|
346
|
+
function K(e, t) {
|
|
347
|
+
b.set(e, t);
|
|
348
|
+
}
|
|
349
|
+
function q(e, t) {
|
|
350
|
+
b.set(e, t);
|
|
351
|
+
let n = (x.get(e) ?? 0) + 1;
|
|
352
|
+
x.set(e, n), n > 1 && i() && !S.has(e) && (console.warn(`[legend] Duplicate <Legend.Provider id="${e}"> detected. Multiple providers sharing an id will race on prop sync. Use unique ids per legend panel.`), S.add(e));
|
|
353
|
+
}
|
|
354
|
+
function J(e, t) {
|
|
355
|
+
let n = (x.get(e) ?? 1) - 1;
|
|
356
|
+
n <= 0 ? (x.delete(e), t.keepAlive || b.delete(e)) : x.set(e, n);
|
|
357
|
+
}
|
|
358
|
+
function Y(t, n) {
|
|
359
|
+
let r = e(2), i;
|
|
360
|
+
return r[0] === t ? i = r[1] : (i = H(t), r[0] = t, r[1] = i), a(i, n);
|
|
361
|
+
}
|
|
362
|
+
function X(t, n) {
|
|
363
|
+
let r = e(2), i;
|
|
364
|
+
return r[0] === t ? i = r[1] : (i = H(t), r[0] = t, r[1] = i), a(i, c(n));
|
|
365
|
+
}
|
|
366
|
+
//#endregion
|
|
367
|
+
export { m as _, U as a, u as b, J as c, h as d, y as f, f as g, p as h, H as i, X as l, v as m, V as n, q as o, g as p, W as r, K as s, G as t, Y as u, _ as v, l as y };
|
|
368
|
+
|
|
369
|
+
//# sourceMappingURL=stores-mad-9yFn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stores-mad-9yFn.js","names":["getLegendStore(id)"],"sources":["../src/legend/stores/legend-context.ts","../src/legend/stores/selectors.ts","../src/legend/stores/legend-store-registry.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\n/** @experimental This API is new and may change in a future release. */\nexport const LegendContext = createContext<string | null>(null)\n\n/** @experimental This API is new and may change in a future release. */\nexport function useLegendId(): string {\n const id = useContext(LegendContext)\n if (id == null) {\n throw new Error(\n 'useLegendId() must be called inside <Legend.Provider>. ' +\n 'If you are calling from outside the Provider tree, use the hooks ' +\n '(useLegendStore, useLegendShallow) directly with an explicit id.',\n )\n }\n return id\n}\n","import type { LegendGroup, LegendLayer, LegendState } from './types'\n\nconst byOrder = <T extends { order: number }>(a: T, b: T): number =>\n a.order - b.order\n\n/**\n * Groups sorted by `order`.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectOrderedGroups(state: LegendState): LegendGroup[] {\n return Object.values(state.groups).sort(byOrder)\n}\n\n/**\n * Layers belonging to `groupId` (pass `undefined` for ungrouped, top-level\n * layers), sorted by `order`.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectLayersByGroup(\n state: LegendState,\n groupId: string | undefined,\n): LegendLayer[] {\n return Object.values(state.layers)\n .filter((l) => l.groupId === groupId)\n .sort(byOrder)\n}\n\n/**\n * All layers sorted by `order`, regardless of group.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectOrderedLayers(state: LegendState): LegendLayer[] {\n return Object.values(state.layers).sort(byOrder)\n}\n\n/**\n * `true` when every group is collapsed (`false` with no groups) — drives the\n * \"Collapse all groups\" / \"Expand all groups\" menu label flip.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectAllGroupsCollapsed(state: LegendState): boolean {\n const groups = Object.values(state.groups)\n return groups.length > 0 && groups.every((g) => g.collapsed)\n}\n\n/**\n * Whether the legend has groups — gates panel-level group actions.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectHasGroups(state: LegendState): boolean {\n return Object.keys(state.groups).length > 0\n}\n\n/**\n * Visible layers grouped for the enabled-layers menu.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectVisibleLayersGrouped(\n state: LegendState,\n): { group?: LegendGroup; layers: LegendLayer[] }[] {\n const visible = (groupId: string | undefined) =>\n selectLayersByGroup(state, groupId).filter((l) => l.visible)\n const sections: { group?: LegendGroup; layers: LegendLayer[] }[] = []\n for (const group of selectOrderedGroups(state)) {\n const layers = visible(group.id)\n if (layers.length > 0) sections.push({ group, layers })\n }\n const ungrouped = visible(undefined)\n if (ungrouped.length > 0) sections.push({ layers: ungrouped })\n return sections\n}\n\n/**\n * Whether a layer has any collapsible body — something the row's `Collapse`\n * can actually fold. A layer with no variables, sections, or helper note\n * renders an empty body, so there is nothing to collapse. Gates the row's\n * title-area collapse affordance (chevron + click).\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectLayerCollapsible(\n state: LegendState,\n layerId: string,\n): boolean {\n const layer = state.layers[layerId]\n if (!layer) return false\n return (\n layer.variables.length > 0 ||\n (layer.sections?.length ?? 0) > 0 ||\n // Truthiness matches the render condition — an empty-string note renders\n // no footer, so it must not enable the collapse affordance.\n Boolean(layer.helperText)\n )\n}\n\n/**\n * Tri-state visibility — derived for groups from their member layers, and the\n * state contract of a controlled `Legend.VisibilityToggle` for any custom\n * element kind.\n */\nexport type LegendVisibility = 'visible' | 'hidden' | 'mixed'\n\n/**\n * Tri-state group visibility: `'visible'` when every member layer is visible\n * (also for empty groups), `'hidden'` when none is, `'mixed'` otherwise.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function selectGroupVisibility(\n state: LegendState,\n groupId: string,\n): LegendVisibility {\n let anyVisible = false\n let anyHidden = false\n for (const layer of selectLayersByGroup(state, groupId)) {\n if (layer.visible) anyVisible = true\n else anyHidden = true\n }\n if (anyVisible && anyHidden) return 'mixed'\n return anyHidden ? 'hidden' : 'visible'\n}\n","import { isValidElement } from 'react'\nimport { useStore, type StoreApi } from 'zustand'\nimport { createStore } from 'zustand/vanilla'\nimport { devtools } from 'zustand/middleware'\nimport { useShallow } from 'zustand/react/shallow'\nimport { isDev } from '@carto/ps-utils'\nimport type {\n LegendConfigSection,\n LegendGroup,\n LegendGroupInput,\n LegendInit,\n LegendLayer,\n LegendLayerInput,\n LegendState,\n LegendStoreApi,\n} from './types'\nimport { selectLayersByGroup, selectOrderedGroups } from './selectors'\n\n// Per-panel legend store registry. One store per `<Legend.Provider id>`.\n// Mirrors the widgets-v2 registry pattern (keyed Map + refcounted mounts),\n// without the chart-pipeline machinery.\nconst legendStores = new Map<string, LegendStoreApi>()\nconst legendMountCounts = new Map<string, number>()\nconst warnedDuplicates = new Set<string>()\n\nconst clamp01 = (n: number): number => Math.min(1, Math.max(0, n))\n\n// ─── Pure state helpers ─────────────────────────────────────────────────────\n\n/**\n * Visibility↔collapse coupling. Hiding snapshots the current collapsed state\n * and collapses; showing restores the snapshot (manual choices persist) and\n * defaults to expanded. Idempotent: returns `null` when `visible` is already\n * the requested value, so a double-hide can't overwrite the real snapshot.\n */\nfunction visibilityPatch(\n entity: {\n visible: boolean\n collapsed: boolean\n collapsedBeforeHide?: boolean\n },\n visible: boolean,\n): {\n visible: boolean\n collapsed: boolean\n collapsedBeforeHide: boolean | undefined\n} | null {\n if (entity.visible === visible) return null\n return visible\n ? // Showing: restore the pre-hide collapsed state (default expand).\n {\n visible,\n collapsed: entity.collapsedBeforeHide ?? false,\n collapsedBeforeHide: undefined,\n }\n : // Hiding: snapshot, then collapse.\n {\n visible,\n collapsed: true,\n collapsedBeforeHide: entity.collapsed,\n }\n}\n\n/**\n * Manual collapse. While hidden, the snapshot follows the manual choice so\n * the next show keeps it.\n */\nfunction collapsePatch(\n entity: { visible: boolean },\n collapsed: boolean,\n): { collapsed: boolean; collapsedBeforeHide?: boolean } {\n return entity.visible\n ? { collapsed }\n : { collapsed, collapsedBeforeHide: collapsed }\n}\n\n/**\n * Reorder one entity within its **ordered** bucket: splice it out, insert at\n * the clamped index, and return the dense `order` rewrites (only the entries\n * whose order actually changes). `null` when the position doesn't change or\n * the id isn't in the bucket. Powers `moveLayer` / `moveGroup`.\n */\nfunction movePatch<T extends { id: string; order: number }>(\n bucket: T[],\n id: string,\n toIndex: number,\n): Map<string, number> | null {\n const fromIndex = bucket.findIndex((e) => e.id === id)\n if (fromIndex === -1) return null\n const clamped = Math.max(0, Math.min(bucket.length - 1, toIndex))\n if (clamped === fromIndex) return null\n const next = [...bucket]\n const [moved] = next.splice(fromIndex, 1)\n next.splice(clamped, 0, moved!)\n const orders = new Map<string, number>()\n next.forEach((entity, index) => {\n if (entity.order !== index) orders.set(entity.id, index)\n })\n return orders.size > 0 ? orders : null\n}\n\nfunction updateLayer(\n state: LegendState,\n id: string,\n patch: Partial<LegendLayer>,\n): Partial<LegendState> {\n const layer = state.layers[id]\n if (!layer) return {}\n return { layers: { ...state.layers, [id]: { ...layer, ...patch } } }\n}\n\nfunction updateGroup(\n state: LegendState,\n id: string,\n patch: Partial<LegendGroup>,\n): Partial<LegendState> {\n const group = state.groups[id]\n if (!group) return {}\n return { groups: { ...state.groups, [id]: { ...group, ...patch } } }\n}\n\n/**\n * Merge incoming config-select sections while preserving the user's picked\n * `active` for any section id that still exists and whose pick is still among\n * the new `options` (the structure — ids, titles, options, order — always\n * follows the props). Returns the previous array when the merge lands on the\n * same content, so unchanged syncs keep entity identity (bail-out).\n */\nfunction mergeSections(\n prev: LegendConfigSection[] | undefined,\n next: LegendConfigSection[] | undefined,\n): LegendConfigSection[] | undefined {\n if (!next || !prev || prev === next) return next\n const merged = next.map((section) => {\n const prevSection = prev.find((p) => p.id === section.id)\n return prevSection &&\n prevSection.active !== section.active &&\n section.options.includes(prevSection.active)\n ? { ...section, active: prevSection.active }\n : section\n })\n const sameAsPrev =\n prev.length === merged.length &&\n merged.every((m, i) => {\n const p = prev[i]!\n return (\n p.id === m.id &&\n p.title === m.title &&\n p.options === m.options &&\n p.active === m.active\n )\n })\n return sameAsPrev ? prev : merged\n}\n\n/**\n * Same-type, same-key React elements with shallow-equal props count as\n * equal, so a ReactNode field (e.g. `LegendGroup.icon`) re-created inline on\n * every render (`icon={<MyIcon />}`) doesn't look \"changed\" on every sync. A\n * different `key` is treated as a real change, same as a different type.\n */\nfunction reactElementEqual(a: unknown, b: unknown): boolean {\n if (!isValidElement(a) || !isValidElement(b)) return false\n if (a.type !== b.type || a.key !== b.key) return false\n return shallowEqualEntity(\n a.props as Record<string, unknown>,\n b.props as Record<string, unknown>,\n )\n}\n\n/**\n * Shallow equality over the union of both objects' keys — `Object.is` per\n * value, except React elements, which fall back to {@link reactElementEqual}.\n */\nfunction shallowEqualEntity<T extends object>(a: T, b: T): boolean {\n const keys = new Set([...Object.keys(a), ...Object.keys(b)]) as Set<keyof T>\n for (const key of keys) {\n if (Object.is(a[key], b[key])) continue\n if (!reactElementEqual(a[key], b[key])) return false\n }\n return true\n}\n\n/**\n * Reassign `order` to dense indexes `0..n-1` within each sibling bucket,\n * sorted by current order with ties broken by input position. This is the\n * only boundary where external (possibly duplicated) orders enter, so the\n * stored orders stay dense and unique within each bucket.\n */\nfunction normalizeOrders<T extends { order: number }>(\n entries: { merged: T; index: number }[],\n bucketOf: (e: T) => string | undefined,\n): void {\n const buckets = new Map<string | undefined, { merged: T; index: number }[]>()\n for (const entry of entries) {\n const key = bucketOf(entry.merged)\n const bucket = buckets.get(key)\n if (bucket) bucket.push(entry)\n else buckets.set(key, [entry])\n }\n for (const bucket of buckets.values()) {\n bucket\n .sort((a, b) => a.merged.order - b.merged.order || a.index - b.index)\n .forEach((entry, i) => {\n entry.merged.order = i\n })\n }\n}\n\n/**\n * Seed/merge one layer: static fields follow the input; interactive state\n * (`visible`/`opacity`/`collapsed`/`order`/`collapsedBeforeHide` + section\n * actives) sticks to the store entry when present. Shared by `_sync` (per\n * entry) and the imperative `setLegendLayer`.\n */\nfunction mergeLayerEntity(\n prev: LegendLayer | undefined,\n input: LegendLayerInput,\n fallbackOrder: number,\n): LegendLayer {\n return {\n ...input,\n visible: prev?.visible ?? input.visible ?? true,\n opacity: prev?.opacity ?? input.opacity ?? 1,\n collapsed: prev?.collapsed ?? input.collapsed ?? false,\n collapsedBeforeHide: prev?.collapsedBeforeHide,\n sections: mergeSections(prev?.sections, input.sections),\n order: prev?.order ?? input.order ?? fallbackOrder,\n } as LegendLayer\n}\n\n/**\n * Group counterpart of {@link mergeLayerEntity}. A group with no `prev`\n * state (first sync) defaults collapsed when none of its member layers is\n * visible yet — `hasVisibleLayer` is ignored once the group exists so a\n * user's manual expand/collapse always sticks.\n *\n * Only the declarative sync passes a meaningful `hasVisibleLayer` — it sees\n * the whole batch. The imperative path passes `true`; see\n * {@link upsertGroupState}.\n */\nfunction mergeGroupEntity(\n prev: LegendGroup | undefined,\n input: LegendGroupInput,\n fallbackOrder: number,\n hasVisibleLayer: boolean,\n): LegendGroup {\n return {\n ...input,\n collapsed: prev?.collapsed ?? input.collapsed ?? !hasVisibleLayer,\n collapsedBeforeHide: prev?.collapsedBeforeHide,\n order: prev?.order ?? input.order ?? fallbackOrder,\n } as LegendGroup\n}\n\n/**\n * Merge incoming definitions while preserving interactive state of known\n * entities: static fields (name, subtitle, variables, attributes, …) follow\n * the props; `visible`/`opacity`/`collapsed`/`order` stick to what's in the\n * store. New entities are seeded; vanished ones are dropped. Sibling orders\n * are normalized to dense indexes.\n *\n * Unchanged entities keep their previous object identity (`variables`\n * compared by reference), and when nothing changed at all the sync is a\n * no-op (`{}`), so stable consumer props never produce a state update.\n */\nfunction syncState(\n state: LegendState,\n layerInputs: LegendLayerInput[],\n groupInputs: LegendGroupInput[],\n): Partial<LegendState> {\n const layerEntries = layerInputs.map((input, index) => ({\n index,\n merged: mergeLayerEntity(state.layers[input.id], input, index),\n }))\n normalizeOrders(layerEntries, (l) => l.groupId)\n\n const groupsWithVisibleLayer = new Set(\n layerEntries\n .filter(({ merged }) => merged.visible && merged.groupId != null)\n .map(({ merged }) => merged.groupId!),\n )\n const groupEntries = groupInputs.map((input, index) => ({\n index,\n merged: mergeGroupEntity(\n state.groups[input.id],\n input,\n index,\n groupsWithVisibleLayer.has(input.id),\n ),\n }))\n normalizeOrders(groupEntries, () => undefined)\n\n // Reference preservation: reuse the previous entity object when nothing\n // about it changed, so subscribers see stable identities.\n let layersChanged = layerEntries.length !== Object.keys(state.layers).length\n const layers: Record<string, LegendLayer> = {}\n for (const { merged } of layerEntries) {\n const prev = state.layers[merged.id]\n if (prev && shallowEqualEntity(prev, merged)) {\n layers[merged.id] = prev\n } else {\n layers[merged.id] = merged\n layersChanged = true\n }\n }\n\n let groupsChanged = groupEntries.length !== Object.keys(state.groups).length\n const groups: Record<string, LegendGroup> = {}\n for (const { merged } of groupEntries) {\n const prev = state.groups[merged.id]\n if (prev && shallowEqualEntity(prev, merged)) {\n groups[merged.id] = prev\n } else {\n groups[merged.id] = merged\n groupsChanged = true\n }\n }\n\n if (!layersChanged && !groupsChanged) return {}\n return {\n layers: layersChanged ? layers : state.layers,\n groups: groupsChanged ? groups : state.groups,\n }\n}\n\n/**\n * Rebuild a layer/group record from a candidate map, normalizing dense order\n * per bucket and preserving the previous object identity for entries that are\n * unchanged. Returns `null` when nothing changed (so callers can bail with\n * `{}`).\n */\nfunction rebuildRecord<\n T extends { id: string; order: number; groupId?: string },\n>(\n prev: Record<string, T>,\n next: Record<string, T>,\n bucketOf: (e: T) => string | undefined,\n): Record<string, T> | null {\n const entries = Object.values(next).map((e, index) => ({\n index,\n merged: { ...e },\n }))\n normalizeOrders(entries, bucketOf)\n let changed = entries.length !== Object.keys(prev).length\n const out: Record<string, T> = {}\n for (const { merged } of entries) {\n const before = prev[merged.id]\n if (before && shallowEqualEntity(before, merged)) {\n out[merged.id] = before\n } else {\n out[merged.id] = merged\n changed = true\n }\n }\n return changed ? out : null\n}\n\n/** Add or update a single layer (imperative `setLegendLayer`). */\nfunction upsertLayerState(\n state: LegendState,\n input: LegendLayerInput,\n): Partial<LegendState> {\n const siblingCount = Object.values(state.layers).filter(\n (l) => l.groupId === input.groupId && l.id !== input.id,\n ).length\n const merged = mergeLayerEntity(state.layers[input.id], input, siblingCount)\n const layers = rebuildRecord(\n state.layers,\n { ...state.layers, [input.id]: merged },\n (l) => l.groupId,\n )\n return layers ? { layers } : {}\n}\n\n/** Remove a single layer, re-densifying its sibling orders. */\nfunction removeLayerState(\n state: LegendState,\n id: string,\n): Partial<LegendState> {\n if (!state.layers[id]) return {}\n const next = { ...state.layers }\n delete next[id]\n const layers = rebuildRecord(state.layers, next, (l) => l.groupId)\n return layers ? { layers } : {}\n}\n\n/**\n * Add or update a single group (imperative `setLegendGroup`).\n *\n * This sees one group against whatever layers happen to be registered, and\n * group-before-layer is a legitimate order — so inferring \"nothing visible\"\n * from that partial view seeded `collapsed: true`, which then won every\n * later merge through `prev?.collapsed`. Default is expanded unless the\n * input says otherwise; the visibility-based default stays in\n * {@link syncState}, which knows the full batch.\n */\nfunction upsertGroupState(\n state: LegendState,\n input: LegendGroupInput,\n): Partial<LegendState> {\n const count = Object.values(state.groups).filter(\n (g) => g.id !== input.id,\n ).length\n const merged = mergeGroupEntity(\n state.groups[input.id],\n input,\n count,\n // Never infer collapsed from a partial view of the members.\n true,\n )\n const groups = rebuildRecord(\n state.groups,\n { ...state.groups, [input.id]: merged },\n () => undefined,\n )\n return groups ? { groups } : {}\n}\n\n/**\n * Remove a group; its member layers are un-grouped (`groupId` cleared) so they\n * survive as ungrouped rows. Re-densifies both group and layer orders.\n */\nfunction removeGroupState(\n state: LegendState,\n id: string,\n): Partial<LegendState> {\n if (!state.groups[id]) return {}\n const nextGroups = { ...state.groups }\n delete nextGroups[id]\n const groups = rebuildRecord(state.groups, nextGroups, () => undefined)\n\n const members = Object.values(state.layers).filter((l) => l.groupId === id)\n if (members.length === 0) return groups ? { groups } : {}\n\n const nextLayers = { ...state.layers }\n for (const member of members) {\n nextLayers[member.id] = { ...member, groupId: undefined }\n }\n const layers = rebuildRecord(state.layers, nextLayers, (l) => l.groupId)\n return {\n ...(groups ? { groups } : {}),\n ...(layers ? { layers } : {}),\n }\n}\n\n// ─── Store factory ────────────────────────────────────────────────────────────\n\n/**\n * @internal — used by Provider; not part of the public API.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function createLegendStore(\n id: string,\n init: LegendInit = {},\n): LegendStoreApi {\n // Seed through the same merge/normalize path as `_sync`, so a later sync\n // with identical input is a guaranteed no-op (stable identities).\n const seeded = syncState(\n { layers: {}, groups: {} } as LegendState,\n init.layers ?? [],\n init.groups ?? [],\n )\n\n return createStore<LegendState>()(\n devtools(\n (set) => ({\n layers: seeded.layers ?? {},\n groups: seeded.groups ?? {},\n\n setVisibility: (lid, visible) =>\n set(\n (s) => {\n const layer = s.layers[lid]\n const patch = layer && visibilityPatch(layer, visible)\n return patch ? updateLayer(s, lid, patch) : {}\n },\n false,\n 'setVisibility',\n ),\n setOpacity: (lid, opacity) =>\n set(\n (s) => updateLayer(s, lid, { opacity: clamp01(opacity) }),\n false,\n 'setOpacity',\n ),\n setCollapsed: (lid, collapsed) =>\n set(\n (s) => {\n const layer = s.layers[lid]\n return layer\n ? updateLayer(s, lid, collapsePatch(layer, collapsed))\n : {}\n },\n false,\n 'setCollapsed',\n ),\n setSectionValue: (lid, sectionId, value) =>\n set(\n (s) => {\n const layer = s.layers[lid]\n const section = layer?.sections?.find((x) => x.id === sectionId)\n if (\n !layer?.sections ||\n !section ||\n section.active === value ||\n !section.options.includes(value)\n ) {\n return {}\n }\n const sections = layer.sections.map((x) =>\n x.id === sectionId ? { ...x, active: value } : x,\n )\n return updateLayer(s, lid, { sections })\n },\n false,\n 'setSectionValue',\n ),\n\n moveLayer: (lid, toIndex) =>\n set(\n (s) => {\n const layer = s.layers[lid]\n if (!layer) return {}\n const bucket = selectLayersByGroup(s, layer.groupId)\n const orders = movePatch(bucket, lid, toIndex)\n if (!orders) return {}\n const layers = { ...s.layers }\n for (const [id, order] of orders) {\n layers[id] = { ...layers[id]!, order }\n }\n return { layers }\n },\n false,\n 'moveLayer',\n ),\n\n setGroupVisibility: (gid, visible) =>\n set(\n (s) => {\n const group = s.groups[gid]\n if (!group) return {}\n const members = Object.values(s.layers).filter(\n (l) => l.groupId === gid,\n )\n const anyVisible = members.some((l) => l.visible)\n // Idempotence on the derived state: hide needs a visible member,\n // show needs a fully-hidden group (mixed acts in both directions\n // except show-from-mixed still shows the hidden remainder).\n if (members.length === 0 || (!visible && !anyVisible)) return {}\n\n // Cascade: each member runs the standard visibility↔collapse\n // coupling, so per-layer collapse snapshots survive a group\n // hide/show; members already at the target are untouched.\n const layers = { ...s.layers }\n let layersChanged = false\n for (const member of members) {\n const patch = visibilityPatch(member, visible)\n if (patch) {\n layers[member.id] = { ...member, ...patch }\n layersChanged = true\n }\n }\n if (!layersChanged) return {}\n\n // Group-level collapse coupling, only on real derived\n // transitions: any-visible→hidden snapshots + collapses;\n // hidden→visible restores the snapshot.\n let groupPatch: Partial<LegendGroup> | null = null\n if (!visible && anyVisible) {\n groupPatch = {\n collapsed: true,\n collapsedBeforeHide: group.collapsed,\n }\n } else if (visible && !anyVisible) {\n groupPatch = {\n collapsed: group.collapsedBeforeHide ?? false,\n collapsedBeforeHide: undefined,\n }\n }\n return {\n layers,\n ...(groupPatch\n ? {\n groups: {\n ...s.groups,\n [gid]: { ...group, ...groupPatch },\n },\n }\n : {}),\n }\n },\n false,\n 'setGroupVisibility',\n ),\n setGroupCollapsed: (gid, collapsed) =>\n set(\n (s) => {\n const group = s.groups[gid]\n if (!group) return {}\n // Group visibility is derived from members; while the group is\n // hidden the snapshot follows the manual choice (layer parity).\n const members = Object.values(s.layers).filter(\n (l) => l.groupId === gid,\n )\n const hidden =\n members.length > 0 && members.every((l) => !l.visible)\n return updateGroup(\n s,\n gid,\n hidden\n ? { collapsed, collapsedBeforeHide: collapsed }\n : { collapsed },\n )\n },\n false,\n 'setGroupCollapsed',\n ),\n\n moveGroup: (gid, toIndex) =>\n set(\n (s) => {\n if (!s.groups[gid]) return {}\n const orders = movePatch(selectOrderedGroups(s), gid, toIndex)\n if (!orders) return {}\n const groups = { ...s.groups }\n for (const [id, order] of orders) {\n groups[id] = { ...groups[id]!, order }\n }\n return { groups }\n },\n false,\n 'moveGroup',\n ),\n\n setLegendLayer: (input) =>\n set((s) => upsertLayerState(s, input), false, 'setLegendLayer'),\n removeLegendLayer: (lid) =>\n set((s) => removeLayerState(s, lid), false, 'removeLegendLayer'),\n setLegendGroup: (input) =>\n set((s) => upsertGroupState(s, input), false, 'setLegendGroup'),\n removeLegendGroup: (gid) =>\n set((s) => removeGroupState(s, gid), false, 'removeLegendGroup'),\n\n _sync: (layerInputs, groupInputs) =>\n set((s) => syncState(s, layerInputs, groupInputs), false, '_sync'),\n }),\n { name: `legend-${id}`, enabled: isDev() },\n ),\n )\n}\n\n// ─── Registry ───────────────────────────────────────────────────────────────\n\n/** @experimental This API is new and may change in a future release. */\nexport function getLegendStore(id: string): LegendStoreApi {\n const store = legendStores.get(id)\n if (!store) throw new Error(`[legend] Legend store \"${id}\" not found.`)\n return store\n}\n\n/** @experimental This API is new and may change in a future release. */\nexport function hasLegendStore(id: string): boolean {\n return legendStores.has(id)\n}\n\n/** @experimental This API is new and may change in a future release. */\nexport function deleteLegendStore(id: string): void {\n legendStores.delete(id)\n}\n\n/** @experimental This API is new and may change in a future release. */\nexport function clearAllLegendStores(): void {\n legendStores.clear()\n legendMountCounts.clear()\n warnedDuplicates.clear()\n}\n\n/**\n * @internal — used by Provider's lazy init so children can resolve the store first render.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function setLegendStoreEntry(id: string, store: LegendStoreApi): void {\n legendStores.set(id, store)\n}\n\n/**\n * @internal — registers a Provider mount and warns on duplicate ids in dev.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function registerLegendStore(id: string, store: LegendStoreApi): void {\n legendStores.set(id, store)\n const count = (legendMountCounts.get(id) ?? 0) + 1\n legendMountCounts.set(id, count)\n if (count > 1 && isDev() && !warnedDuplicates.has(id)) {\n // eslint-disable-next-line no-console\n console.warn(\n `[legend] Duplicate <Legend.Provider id=\"${id}\"> detected. ` +\n `Multiple providers sharing an id will race on prop sync. ` +\n `Use unique ids per legend panel.`,\n )\n warnedDuplicates.add(id)\n }\n}\n\n/**\n * @internal — Provider unmount counterpart; removes the entry on last unmount.\n *\n * @experimental This API is new and may change in a future release.\n */\nexport function unregisterLegendStore(\n id: string,\n options: { keepAlive: boolean },\n): void {\n const count = (legendMountCounts.get(id) ?? 1) - 1\n if (count <= 0) {\n legendMountCounts.delete(id)\n if (!options.keepAlive) legendStores.delete(id)\n } else {\n legendMountCounts.set(id, count)\n }\n}\n\n// ─── Hooks ────────────────────────────────────────────────────────────────────\n\n/** @experimental This API is new and may change in a future release. */\nexport function useLegendStore<T>(\n id: string,\n selector: (state: LegendState) => T,\n): T {\n const store = getLegendStore(id) as unknown as StoreApi<LegendState>\n return useStore(store, selector)\n}\n\n/** @experimental This API is new and may change in a future release. */\nexport function useLegendShallow<T>(\n id: string,\n selector: (state: LegendState) => T,\n): T {\n const store = getLegendStore(id) as unknown as StoreApi<LegendState>\n return useStore(store, useShallow(selector))\n}\n"],"mappings":";;;;;;;;AAGA,IAAa,IAAgB,EAA6B,IAAI;AAG9D,SAAgB,IAAsB;CACpC,IAAM,IAAK,EAAW,CAAa;CACnC,IAAI,KAAM,MACR,MAAU,MACR,0LAGF;CAEF,OAAO;AACT;;;ACdA,IAAM,KAAwC,GAAM,MAClD,EAAE,QAAQ,EAAE;AAOd,SAAgB,EAAoB,GAAmC;CACrE,OAAO,OAAO,OAAO,EAAM,MAAM,CAAC,CAAC,KAAK,CAAO;AACjD;AAQA,SAAgB,EACd,GACA,GACe;CACf,OAAO,OAAO,OAAO,EAAM,MAAM,CAAC,CAC/B,QAAQ,MAAM,EAAE,YAAY,CAAO,CAAC,CACpC,KAAK,CAAO;AACjB;AAOA,SAAgB,EAAoB,GAAmC;CACrE,OAAO,OAAO,OAAO,EAAM,MAAM,CAAC,CAAC,KAAK,CAAO;AACjD;AAQA,SAAgB,EAAyB,GAA6B;CACpE,IAAM,IAAS,OAAO,OAAO,EAAM,MAAM;CACzC,OAAO,EAAO,SAAS,KAAK,EAAO,OAAO,MAAM,EAAE,SAAS;AAC7D;AAOA,SAAgB,EAAgB,GAA6B;CAC3D,OAAO,OAAO,KAAK,EAAM,MAAM,CAAC,CAAC,SAAS;AAC5C;AAOA,SAAgB,EACd,GACkD;CAClD,IAAM,KAAW,MACf,EAAoB,GAAO,CAAO,CAAC,CAAC,QAAQ,MAAM,EAAE,OAAO,GACvD,IAA6D,CAAC;CACpE,KAAK,IAAM,KAAS,EAAoB,CAAK,GAAG;EAC9C,IAAM,IAAS,EAAQ,EAAM,EAAE;EAC/B,AAAI,EAAO,SAAS,KAAG,EAAS,KAAK;GAAE;GAAO;EAAO,CAAC;CACxD;CACA,IAAM,IAAY,EAAQ,KAAA,CAAS;CAEnC,OADI,EAAU,SAAS,KAAG,EAAS,KAAK,EAAE,QAAQ,EAAU,CAAC,GACtD;AACT;AAUA,SAAgB,EACd,GACA,GACS;CACT,IAAM,IAAQ,EAAM,OAAO;CAE3B,OADK,IAEH,EAAM,UAAU,SAAS,MACxB,EAAM,UAAU,UAAU,KAAK,KAGhC,EAAQ,EAAM,aANG;AAQrB;AAeA,SAAgB,EACd,GACA,GACkB;CAClB,IAAI,IAAa,IACb,IAAY;CAChB,KAAK,IAAM,KAAS,EAAoB,GAAO,CAAO,GACpD,AAAI,EAAM,UAAS,IAAa,KAC3B,IAAY;CAGnB,OADI,KAAc,IAAkB,UAC7B,IAAY,WAAW;AAChC;;;ACzGA,IAAM,oBAAe,IAAI,IAA4B,GAC/C,oBAAoB,IAAI,IAAoB,GAC5C,oBAAmB,IAAI,IAAY,GAEnC,KAAW,MAAsB,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AAUjE,SAAS,EACP,GAKA,GAKO;CAEP,OADI,EAAO,YAAY,IAAgB,OAChC,IAEH;EACE;EACA,WAAW,EAAO,uBAAuB;EACzC,qBAAqB,KAAA;CACvB,IAEA;EACE;EACA,WAAW;EACX,qBAAqB,EAAO;CAC9B;AACN;AAMA,SAAS,EACP,GACA,GACuD;CACvD,OAAO,EAAO,UACV,EAAE,aAAU,IACZ;EAAE;EAAW,qBAAqB;CAAU;AAClD;AAQA,SAAS,EACP,GACA,GACA,GAC4B;CAC5B,IAAM,IAAY,EAAO,WAAW,MAAM,EAAE,OAAO,CAAE;CACrD,IAAI,MAAc,IAAI,OAAO;CAC7B,IAAM,IAAU,KAAK,IAAI,GAAG,KAAK,IAAI,EAAO,SAAS,GAAG,CAAO,CAAC;CAChE,IAAI,MAAY,GAAW,OAAO;CAClC,IAAM,IAAO,CAAC,GAAG,CAAM,GACjB,CAAC,KAAS,EAAK,OAAO,GAAW,CAAC;CACxC,EAAK,OAAO,GAAS,GAAG,CAAM;CAC9B,IAAM,oBAAS,IAAI,IAAoB;CAIvC,OAHA,EAAK,SAAS,GAAQ,MAAU;EAC9B,AAAI,EAAO,UAAU,KAAO,EAAO,IAAI,EAAO,IAAI,CAAK;CACzD,CAAC,GACM,EAAO,OAAO,IAAI,IAAS;AACpC;AAEA,SAAS,EACP,GACA,GACA,GACsB;CACtB,IAAM,IAAQ,EAAM,OAAO;CAE3B,OADK,IACE,EAAE,QAAQ;EAAE,GAAG,EAAM;GAAS,IAAK;GAAE,GAAG;GAAO,GAAG;EAAM;CAAE,EAAE,IADhD,CAAC;AAEtB;AAEA,SAAS,EACP,GACA,GACA,GACsB;CACtB,IAAM,IAAQ,EAAM,OAAO;CAE3B,OADK,IACE,EAAE,QAAQ;EAAE,GAAG,EAAM;GAAS,IAAK;GAAE,GAAG;GAAO,GAAG;EAAM;CAAE,EAAE,IADhD,CAAC;AAEtB;AASA,SAAS,EACP,GACA,GACmC;CACnC,IAAI,CAAC,KAAQ,CAAC,KAAQ,MAAS,GAAM,OAAO;CAC5C,IAAM,IAAS,EAAK,KAAK,MAAY;EACnC,IAAM,IAAc,EAAK,MAAM,MAAM,EAAE,OAAO,EAAQ,EAAE;EACxD,OAAO,KACL,EAAY,WAAW,EAAQ,UAC/B,EAAQ,QAAQ,SAAS,EAAY,MAAM,IACzC;GAAE,GAAG;GAAS,QAAQ,EAAY;EAAO,IACzC;CACN,CAAC;CAYD,OAVE,EAAK,WAAW,EAAO,UACvB,EAAO,OAAO,GAAG,MAAM;EACrB,IAAM,IAAI,EAAK;EACf,OACE,EAAE,OAAO,EAAE,MACX,EAAE,UAAU,EAAE,SACd,EAAE,YAAY,EAAE,WAChB,EAAE,WAAW,EAAE;CAEnB,CAAC,IACiB,IAAO;AAC7B;AAQA,SAAS,EAAkB,GAAY,GAAqB;CAG1D,OAFI,CAAC,EAAe,CAAC,KAAK,CAAC,EAAe,CAAC,KACvC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAY,KAC1C,EACL,EAAE,OACF,EAAE,KACJ;AACF;AAMA,SAAS,EAAqC,GAAM,GAAe;CACjE,IAAM,oBAAO,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC;CAC3D,KAAK,IAAM,KAAO,GACZ,YAAO,GAAG,EAAE,IAAM,EAAE,EAAI,KACxB,CAAC,EAAkB,EAAE,IAAM,EAAE,EAAI,GAAG,OAAO;CAEjD,OAAO;AACT;AAQA,SAAS,EACP,GACA,GACM;CACN,IAAM,oBAAU,IAAI,IAAwD;CAC5E,KAAK,IAAM,KAAS,GAAS;EAC3B,IAAM,IAAM,EAAS,EAAM,MAAM,GAC3B,IAAS,EAAQ,IAAI,CAAG;EAC9B,AAAI,IAAQ,EAAO,KAAK,CAAK,IACxB,EAAQ,IAAI,GAAK,CAAC,CAAK,CAAC;CAC/B;CACA,KAAK,IAAM,KAAU,EAAQ,OAAO,GAClC,EACG,MAAM,GAAG,MAAM,EAAE,OAAO,QAAQ,EAAE,OAAO,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CACpE,SAAS,GAAO,MAAM;EACrB,EAAM,OAAO,QAAQ;CACvB,CAAC;AAEP;AAQA,SAAS,EACP,GACA,GACA,GACa;CACb,OAAO;EACL,GAAG;EACH,SAAS,GAAM,WAAW,EAAM,WAAW;EAC3C,SAAS,GAAM,WAAW,EAAM,WAAW;EAC3C,WAAW,GAAM,aAAa,EAAM,aAAa;EACjD,qBAAqB,GAAM;EAC3B,UAAU,EAAc,GAAM,UAAU,EAAM,QAAQ;EACtD,OAAO,GAAM,SAAS,EAAM,SAAS;CACvC;AACF;AAYA,SAAS,EACP,GACA,GACA,GACA,GACa;CACb,OAAO;EACL,GAAG;EACH,WAAW,GAAM,aAAa,EAAM,aAAa,CAAC;EAClD,qBAAqB,GAAM;EAC3B,OAAO,GAAM,SAAS,EAAM,SAAS;CACvC;AACF;AAaA,SAAS,EACP,GACA,GACA,GACsB;CACtB,IAAM,IAAe,EAAY,KAAK,GAAO,OAAW;EACtD;EACA,QAAQ,EAAiB,EAAM,OAAO,EAAM,KAAK,GAAO,CAAK;CAC/D,EAAE;CACF,EAAgB,IAAe,MAAM,EAAE,OAAO;CAE9C,IAAM,IAAyB,IAAI,IACjC,EACG,QAAQ,EAAE,gBAAa,EAAO,WAAW,EAAO,WAAW,IAAI,CAAC,CAChE,KAAK,EAAE,gBAAa,EAAO,OAAQ,CACxC,GACM,IAAe,EAAY,KAAK,GAAO,OAAW;EACtD;EACA,QAAQ,EACN,EAAM,OAAO,EAAM,KACnB,GACA,GACA,EAAuB,IAAI,EAAM,EAAE,CACrC;CACF,EAAE;CACF,EAAgB,SAAoB,KAAA,CAAS;CAI7C,IAAI,IAAgB,EAAa,WAAW,OAAO,KAAK,EAAM,MAAM,CAAC,CAAC,QAChE,IAAsC,CAAC;CAC7C,KAAK,IAAM,EAAE,eAAY,GAAc;EACrC,IAAM,IAAO,EAAM,OAAO,EAAO;EACjC,AAAI,KAAQ,EAAmB,GAAM,CAAM,IACzC,EAAO,EAAO,MAAM,KAEpB,EAAO,EAAO,MAAM,GACpB,IAAgB;CAEpB;CAEA,IAAI,IAAgB,EAAa,WAAW,OAAO,KAAK,EAAM,MAAM,CAAC,CAAC,QAChE,IAAsC,CAAC;CAC7C,KAAK,IAAM,EAAE,eAAY,GAAc;EACrC,IAAM,IAAO,EAAM,OAAO,EAAO;EACjC,AAAI,KAAQ,EAAmB,GAAM,CAAM,IACzC,EAAO,EAAO,MAAM,KAEpB,EAAO,EAAO,MAAM,GACpB,IAAgB;CAEpB;CAGA,OADI,CAAC,KAAiB,CAAC,IAAsB,CAAC,IACvC;EACL,QAAQ,IAAgB,IAAS,EAAM;EACvC,QAAQ,IAAgB,IAAS,EAAM;CACzC;AACF;AAQA,SAAS,EAGP,GACA,GACA,GAC0B;CAC1B,IAAM,IAAU,OAAO,OAAO,CAAI,CAAC,CAAC,KAAK,GAAG,OAAW;EACrD;EACA,QAAQ,EAAE,GAAG,EAAE;CACjB,EAAE;CACF,EAAgB,GAAS,CAAQ;CACjC,IAAI,IAAU,EAAQ,WAAW,OAAO,KAAK,CAAI,CAAC,CAAC,QAC7C,IAAyB,CAAC;CAChC,KAAK,IAAM,EAAE,eAAY,GAAS;EAChC,IAAM,IAAS,EAAK,EAAO;EAC3B,AAAI,KAAU,EAAmB,GAAQ,CAAM,IAC7C,EAAI,EAAO,MAAM,KAEjB,EAAI,EAAO,MAAM,GACjB,IAAU;CAEd;CACA,OAAO,IAAU,IAAM;AACzB;AAGA,SAAS,EACP,GACA,GACsB;CACtB,IAAM,IAAe,OAAO,OAAO,EAAM,MAAM,CAAC,CAAC,QAC9C,MAAM,EAAE,YAAY,EAAM,WAAW,EAAE,OAAO,EAAM,EACvD,CAAC,CAAC,QACI,IAAS,EAAiB,EAAM,OAAO,EAAM,KAAK,GAAO,CAAY,GACrE,IAAS,EACb,EAAM,QACN;EAAE,GAAG,EAAM;GAAS,EAAM,KAAK;CAAO,IACrC,MAAM,EAAE,OACX;CACA,OAAO,IAAS,EAAE,UAAO,IAAI,CAAC;AAChC;AAGA,SAAS,EACP,GACA,GACsB;CACtB,IAAI,CAAC,EAAM,OAAO,IAAK,OAAO,CAAC;CAC/B,IAAM,IAAO,EAAE,GAAG,EAAM,OAAO;CAC/B,OAAO,EAAK;CACZ,IAAM,IAAS,EAAc,EAAM,QAAQ,IAAO,MAAM,EAAE,OAAO;CACjE,OAAO,IAAS,EAAE,UAAO,IAAI,CAAC;AAChC;AAYA,SAAS,EACP,GACA,GACsB;CACtB,IAAM,IAAQ,OAAO,OAAO,EAAM,MAAM,CAAC,CAAC,QACvC,MAAM,EAAE,OAAO,EAAM,EACxB,CAAC,CAAC,QACI,IAAS,EACb,EAAM,OAAO,EAAM,KACnB,GACA,GAEA,EACF,GACM,IAAS,EACb,EAAM,QACN;EAAE,GAAG,EAAM;GAAS,EAAM,KAAK;CAAO,SAChC,KAAA,CACR;CACA,OAAO,IAAS,EAAE,UAAO,IAAI,CAAC;AAChC;AAMA,SAAS,EACP,GACA,GACsB;CACtB,IAAI,CAAC,EAAM,OAAO,IAAK,OAAO,CAAC;CAC/B,IAAM,IAAa,EAAE,GAAG,EAAM,OAAO;CACrC,OAAO,EAAW;CAClB,IAAM,IAAS,EAAc,EAAM,QAAQ,SAAkB,KAAA,CAAS,GAEhE,IAAU,OAAO,OAAO,EAAM,MAAM,CAAC,CAAC,QAAQ,MAAM,EAAE,YAAY,CAAE;CAC1E,IAAI,EAAQ,WAAW,GAAG,OAAO,IAAS,EAAE,UAAO,IAAI,CAAC;CAExD,IAAM,IAAa,EAAE,GAAG,EAAM,OAAO;CACrC,KAAK,IAAM,KAAU,GACnB,EAAW,EAAO,MAAM;EAAE,GAAG;EAAQ,SAAS,KAAA;CAAU;CAE1D,IAAM,IAAS,EAAc,EAAM,QAAQ,IAAa,MAAM,EAAE,OAAO;CACvE,OAAO;EACL,GAAI,IAAS,EAAE,UAAO,IAAI,CAAC;EAC3B,GAAI,IAAS,EAAE,UAAO,IAAI,CAAC;CAC7B;AACF;AASA,SAAgB,EACd,GACA,IAAmB,CAAC,GACJ;CAGhB,IAAM,IAAS,EACb;EAAE,QAAQ,CAAC;EAAG,QAAQ,CAAC;CAAE,GACzB,EAAK,UAAU,CAAC,GAChB,EAAK,UAAU,CAAC,CAClB;CAEA,OAAO,EAAyB,CAAC,CAC/B,GACG,OAAS;EACR,QAAQ,EAAO,UAAU,CAAC;EAC1B,QAAQ,EAAO,UAAU,CAAC;EAE1B,gBAAgB,GAAK,MACnB,GACG,MAAM;GACL,IAAM,IAAQ,EAAE,OAAO,IACjB,IAAQ,KAAS,EAAgB,GAAO,CAAO;GACrD,OAAO,IAAQ,EAAY,GAAG,GAAK,CAAK,IAAI,CAAC;EAC/C,GACA,IACA,eACF;EACF,aAAa,GAAK,MAChB,GACG,MAAM,EAAY,GAAG,GAAK,EAAE,SAAS,EAAQ,CAAO,EAAE,CAAC,GACxD,IACA,YACF;EACF,eAAe,GAAK,MAClB,GACG,MAAM;GACL,IAAM,IAAQ,EAAE,OAAO;GACvB,OAAO,IACH,EAAY,GAAG,GAAK,EAAc,GAAO,CAAS,CAAC,IACnD,CAAC;EACP,GACA,IACA,cACF;EACF,kBAAkB,GAAK,GAAW,MAChC,GACG,MAAM;GACL,IAAM,IAAQ,EAAE,OAAO,IACjB,IAAU,GAAO,UAAU,MAAM,MAAM,EAAE,OAAO,CAAS;GAY/D,OAVE,CAAC,GAAO,YACR,CAAC,KACD,EAAQ,WAAW,KACnB,CAAC,EAAQ,QAAQ,SAAS,CAAK,IAExB,CAAC,IAKH,EAAY,GAAG,GAAK,EAAE,UAHZ,EAAM,SAAS,KAAK,MACnC,EAAE,OAAO,IAAY;IAAE,GAAG;IAAG,QAAQ;GAAM,IAAI,CAEpB,EAAS,CAAC;EACzC,GACA,IACA,iBACF;EAEF,YAAY,GAAK,MACf,GACG,MAAM;GACL,IAAM,IAAQ,EAAE,OAAO;GACvB,IAAI,CAAC,GAAO,OAAO,CAAC;GAEpB,IAAM,IAAS,EADA,EAAoB,GAAG,EAAM,OACnB,GAAQ,GAAK,CAAO;GAC7C,IAAI,CAAC,GAAQ,OAAO,CAAC;GACrB,IAAM,IAAS,EAAE,GAAG,EAAE,OAAO;GAC7B,KAAK,IAAM,CAAC,GAAI,MAAU,GACxB,EAAO,KAAM;IAAE,GAAG,EAAO;IAAM;GAAM;GAEvC,OAAO,EAAE,UAAO;EAClB,GACA,IACA,WACF;EAEF,qBAAqB,GAAK,MACxB,GACG,MAAM;GACL,IAAM,IAAQ,EAAE,OAAO;GACvB,IAAI,CAAC,GAAO,OAAO,CAAC;GACpB,IAAM,IAAU,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,QACrC,MAAM,EAAE,YAAY,CACvB,GACM,IAAa,EAAQ,MAAM,MAAM,EAAE,OAAO;GAIhD,IAAI,EAAQ,WAAW,KAAM,CAAC,KAAW,CAAC,GAAa,OAAO,CAAC;GAK/D,IAAM,IAAS,EAAE,GAAG,EAAE,OAAO,GACzB,IAAgB;GACpB,KAAK,IAAM,KAAU,GAAS;IAC5B,IAAM,IAAQ,EAAgB,GAAQ,CAAO;IAC7C,AAAI,MACF,EAAO,EAAO,MAAM;KAAE,GAAG;KAAQ,GAAG;IAAM,GAC1C,IAAgB;GAEpB;GACA,IAAI,CAAC,GAAe,OAAO,CAAC;GAK5B,IAAI,IAA0C;GAY9C,OAXI,CAAC,KAAW,IACd,IAAa;IACX,WAAW;IACX,qBAAqB,EAAM;GAC7B,IACS,KAAW,CAAC,MACrB,IAAa;IACX,WAAW,EAAM,uBAAuB;IACxC,qBAAqB,KAAA;GACvB,IAEK;IACL;IACA,GAAI,IACA,EACE,QAAQ;KACN,GAAG,EAAE;MACJ,IAAM;MAAE,GAAG;MAAO,GAAG;KAAW;IACnC,EACF,IACA,CAAC;GACP;EACF,GACA,IACA,oBACF;EACF,oBAAoB,GAAK,MACvB,GACG,MAAM;GAEL,IAAI,CADU,EAAE,OAAO,IACX,OAAO,CAAC;GAGpB,IAAM,IAAU,OAAO,OAAO,EAAE,MAAM,CAAC,CAAC,QACrC,MAAM,EAAE,YAAY,CACvB;GAGA,OAAO,EACL,GACA,GAHA,EAAQ,SAAS,KAAK,EAAQ,OAAO,MAAM,CAAC,EAAE,OAAO,IAKjD;IAAE;IAAW,qBAAqB;GAAU,IAC5C,EAAE,aAAU,CAClB;EACF,GACA,IACA,mBACF;EAEF,YAAY,GAAK,MACf,GACG,MAAM;GACL,IAAI,CAAC,EAAE,OAAO,IAAM,OAAO,CAAC;GAC5B,IAAM,IAAS,EAAU,EAAoB,CAAC,GAAG,GAAK,CAAO;GAC7D,IAAI,CAAC,GAAQ,OAAO,CAAC;GACrB,IAAM,IAAS,EAAE,GAAG,EAAE,OAAO;GAC7B,KAAK,IAAM,CAAC,GAAI,MAAU,GACxB,EAAO,KAAM;IAAE,GAAG,EAAO;IAAM;GAAM;GAEvC,OAAO,EAAE,UAAO;EAClB,GACA,IACA,WACF;EAEF,iBAAiB,MACf,GAAK,MAAM,EAAiB,GAAG,CAAK,GAAG,IAAO,gBAAgB;EAChE,oBAAoB,MAClB,GAAK,MAAM,EAAiB,GAAG,CAAG,GAAG,IAAO,mBAAmB;EACjE,iBAAiB,MACf,GAAK,MAAM,EAAiB,GAAG,CAAK,GAAG,IAAO,gBAAgB;EAChE,oBAAoB,MAClB,GAAK,MAAM,EAAiB,GAAG,CAAG,GAAG,IAAO,mBAAmB;EAEjE,QAAQ,GAAa,MACnB,GAAK,MAAM,EAAU,GAAG,GAAa,CAAW,GAAG,IAAO,OAAO;CACrE,IACA;EAAE,MAAM,UAAU;EAAM,SAAS,EAAM;CAAE,CAC3C,CACF;AACF;AAKA,SAAgB,EAAe,GAA4B;CACzD,IAAM,IAAQ,EAAa,IAAI,CAAE;CACjC,IAAI,CAAC,GAAO,MAAU,MAAM,0BAA0B,EAAG,aAAa;CACtE,OAAO;AACT;AAGA,SAAgB,EAAe,GAAqB;CAClD,OAAO,EAAa,IAAI,CAAE;AAC5B;AAGA,SAAgB,EAAkB,GAAkB;CAClD,EAAa,OAAO,CAAE;AACxB;AAGA,SAAgB,IAA6B;CAG3C,AAFA,EAAa,MAAM,GACnB,EAAkB,MAAM,GACxB,EAAiB,MAAM;AACzB;AAOA,SAAgB,EAAoB,GAAY,GAA6B;CAC3E,EAAa,IAAI,GAAI,CAAK;AAC5B;AAOA,SAAgB,EAAoB,GAAY,GAA6B;CAC3E,EAAa,IAAI,GAAI,CAAK;CAC1B,IAAM,KAAS,EAAkB,IAAI,CAAE,KAAK,KAAK;CAEjD,AADA,EAAkB,IAAI,GAAI,CAAK,GAC3B,IAAQ,KAAK,EAAM,KAAK,CAAC,EAAiB,IAAI,CAAE,MAElD,QAAQ,KACN,2CAA2C,EAAG,uGAGhD,GACA,EAAiB,IAAI,CAAE;AAE3B;AAOA,SAAgB,EACd,GACA,GACM;CACN,IAAM,KAAS,EAAkB,IAAI,CAAE,KAAK,KAAK;CACjD,AAAI,KAAS,KACX,EAAkB,OAAO,CAAE,GACtB,EAAQ,aAAW,EAAa,OAAO,CAAE,KAE9C,EAAkB,IAAI,GAAI,CAAK;AAEnC;AAKA,SAAgB,EACd,GACA,GACG;eACWA;CACd,OAD6B,EAAA,OAAA,gBAAf,IAAA,EAAe,CAAE,GAAF,EAAA,KAAA,cACtB,EAAS,GAAO,CAAQ;AACjC;AAGA,SAAgB,EACd,GACA,GACG;eACWA;CACd,OAD6B,EAAA,OAAA,gBAAf,IAAA,EAAe,CAAE,GAAF,EAAA,KAAA,cACtB,EAAS,GAAO,EAAW,CAAQ,CAAC;AAC7C"}
|