@carto/ps-react-ui 4.4.0-chat-ui.5 → 4.4.0-chat-ui.7
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/category-DwaeYjpX.js +656 -0
- package/dist/category-DwaeYjpX.js.map +1 -0
- package/dist/change-column-Cidl_M-4.js +1110 -0
- package/dist/change-column-Cidl_M-4.js.map +1 -0
- package/dist/chat.js +622 -673
- package/dist/chat.js.map +1 -1
- package/dist/components.js.map +1 -1
- package/dist/data-zoom-layout-DVYB8mIx.js +29 -0
- package/dist/data-zoom-layout-DVYB8mIx.js.map +1 -0
- package/dist/download-config-C7hf33ip.js +58 -0
- package/dist/download-config-C7hf33ip.js.map +1 -0
- package/dist/echart-CU0KmClP.js +176 -0
- package/dist/echart-CU0KmClP.js.map +1 -0
- package/dist/exports-Cr43OCul.js.map +1 -1
- package/dist/exports-Cx-f6m6U.js +63 -0
- package/dist/exports-Cx-f6m6U.js.map +1 -0
- package/dist/formatter-B9Bxn1k7.js +6 -0
- package/dist/formatter-B9Bxn1k7.js.map +1 -0
- package/dist/formula-DuC0NQLH.js +79 -0
- package/dist/formula-DuC0NQLH.js.map +1 -0
- package/dist/lasso-tool-BYbxrJ-7.js.map +1 -1
- package/dist/markdown-BD1jcknS.js +8326 -0
- package/dist/markdown-BD1jcknS.js.map +1 -0
- package/dist/option-builders-F-c9ELi1.js +122 -0
- package/dist/option-builders-F-c9ELi1.js.map +1 -0
- package/dist/options-CthfUJDz.js +46 -0
- package/dist/options-CthfUJDz.js.map +1 -0
- package/dist/png-item-CS4z1iSH.js +45 -0
- package/dist/png-item-CS4z1iSH.js.map +1 -0
- package/dist/range-l4fNHLEg.js +213 -0
- package/dist/range-l4fNHLEg.js.map +1 -0
- package/dist/resolve-theme-color-BdojIw0K.js +47 -0
- package/dist/resolve-theme-color-BdojIw0K.js.map +1 -0
- package/dist/row-DZSP99LW.js +34 -0
- package/dist/row-DZSP99LW.js.map +1 -0
- package/dist/series-DLNHDWs0.js +90 -0
- package/dist/series-DLNHDWs0.js.map +1 -0
- package/dist/shared-resize-observer-98b1SK1e.js +17 -0
- package/dist/shared-resize-observer-98b1SK1e.js.map +1 -0
- package/dist/smart-tooltip-D4vwQpFf.js.map +1 -1
- package/dist/spread-CngWB5KF.js +68 -0
- package/dist/spread-CngWB5KF.js.map +1 -0
- package/dist/style-DVnT6HC1.js +131 -0
- package/dist/style-DVnT6HC1.js.map +1 -0
- package/dist/styles-cohnxh9F.js +23 -0
- package/dist/styles-cohnxh9F.js.map +1 -0
- package/dist/table-CQCAnDLb.js +388 -0
- package/dist/table-CQCAnDLb.js.map +1 -0
- package/dist/tooltip-BDnrRKrp.js.map +1 -1
- package/dist/transforms-Cdx4fkU5.js +106 -0
- package/dist/transforms-Cdx4fkU5.js.map +1 -0
- package/dist/types/chat/containers/chat-content.d.ts +2 -2
- package/dist/types/chat/containers/styles.d.ts +10 -27
- package/dist/types/chat/feedback/chat-tool-code-area.d.ts +1 -3
- package/dist/types/chat/index.d.ts +1 -1
- package/dist/types/chat/types.d.ts +35 -3
- package/dist/types/components/basemaps/basemaps.d.ts +20 -0
- package/dist/types/components/geolocation-controls/geolocation-controls.d.ts +11 -0
- package/dist/types/components/lasso-tool/lasso-tool-inline.d.ts +17 -0
- package/dist/types/components/lasso-tool/lasso-tool.d.ts +21 -0
- package/dist/types/components/list-data/list-data.d.ts +16 -0
- package/dist/types/components/measurement-tools/measurement-tools.d.ts +20 -0
- package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +17 -0
- package/dist/types/components/tooltip/tooltip.d.ts +13 -0
- package/dist/types/components/zoom-controls/zoom-controls.d.ts +16 -0
- package/dist/types/hooks/index.d.ts +0 -1
- package/dist/types/hooks/use-widget-ref.d.ts +9 -6
- 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/hit-test.test.d.ts +1 -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/download/download.d.ts +11 -0
- package/dist/types/widgets/actions/download/exports.d.ts +15 -0
- package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +13 -0
- package/dist/types/widgets/actions/index.d.ts +7 -5
- package/dist/types/widgets/actions/lock-selection/types.d.ts +2 -0
- package/dist/types/widgets/actions/relative-data/relative-data.d.ts +8 -2
- package/dist/types/widgets/actions/relative-data/types.d.ts +2 -0
- package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +4 -0
- package/dist/types/widgets/bar/config.d.ts +8 -4
- package/dist/types/widgets/category/category-ui.d.ts +3 -0
- package/dist/types/widgets/category/components/category-bar.d.ts +3 -0
- package/dist/types/widgets/category/components/category-legend.d.ts +3 -0
- package/dist/types/widgets/category/components/category-row-multi.d.ts +5 -1
- package/dist/types/widgets/category/components/category-row-other.d.ts +3 -0
- package/dist/types/widgets/category/components/category-row-single.d.ts +5 -1
- package/dist/types/widgets/category/config.d.ts +11 -0
- package/dist/types/widgets/category/index.d.ts +10 -2
- package/dist/types/widgets/category/style.d.ts +1 -0
- package/dist/types/widgets/category/types.d.ts +1 -0
- package/dist/types/widgets/echart/echart-ui.d.ts +7 -0
- package/dist/types/widgets/echart/echart.d.ts +6 -0
- package/dist/types/widgets/echart/options.d.ts +7 -0
- package/dist/types/widgets/echart/shared-resize-observer.d.ts +12 -0
- package/dist/types/widgets/echart/types.d.ts +5 -1
- package/dist/types/widgets/echart/utils.d.ts +54 -7
- package/dist/types/widgets/echart/utils.test.d.ts +1 -0
- package/dist/types/widgets/error/error.d.ts +10 -0
- package/dist/types/widgets/formula/components/item.d.ts +3 -0
- package/dist/types/widgets/formula/components/prefix.d.ts +3 -0
- package/dist/types/widgets/formula/components/row.d.ts +3 -0
- package/dist/types/widgets/formula/components/series.d.ts +3 -0
- package/dist/types/widgets/formula/components/suffix.d.ts +3 -0
- package/dist/types/widgets/formula/components/value.d.ts +3 -0
- package/dist/types/widgets/formula/config.d.ts +11 -0
- package/dist/types/widgets/formula/config.test.d.ts +1 -0
- package/dist/types/widgets/formula/formula-ui.d.ts +3 -0
- package/dist/types/widgets/histogram/config.d.ts +18 -2
- package/dist/types/widgets/histogram/index.d.ts +2 -1
- package/dist/types/widgets/histogram/types.d.ts +6 -3
- package/dist/types/widgets/loader/loader.d.ts +22 -0
- package/dist/types/widgets/loader/utils.d.ts +26 -3
- package/dist/types/widgets/markdown/config.d.ts +10 -0
- package/dist/types/widgets/markdown/markdown-ui.d.ts +7 -0
- package/dist/types/widgets/markdown/markdown.d.ts +3 -0
- package/dist/types/widgets/no-data/no-data.d.ts +3 -2
- package/dist/types/widgets/no-data/types.d.ts +5 -1
- package/dist/types/widgets/note/note.d.ts +10 -0
- package/dist/types/widgets/pie/config.d.ts +8 -4
- package/dist/types/widgets/range/components/range-item.d.ts +3 -0
- package/dist/types/widgets/range/config.d.ts +5 -0
- package/dist/types/widgets/range/range-ui.d.ts +3 -0
- package/dist/types/widgets/scatterplot/config.d.ts +7 -3
- package/dist/types/widgets/selection-summary/selection-summary.d.ts +11 -0
- package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +10 -0
- package/dist/types/widgets/spread/components/max-value.d.ts +3 -0
- package/dist/types/widgets/spread/components/min-value.d.ts +3 -0
- package/dist/types/widgets/spread/components/separator.d.ts +3 -0
- package/dist/types/widgets/spread/config.d.ts +11 -0
- package/dist/types/widgets/spread/spread-ui.d.ts +3 -0
- package/dist/types/widgets/stores/index.d.ts +3 -2
- package/dist/types/widgets/stores/types.d.ts +12 -10
- package/dist/types/widgets/stores/use-widget-selector.d.ts +35 -0
- package/dist/types/widgets/stores/widget-store-branches.test.d.ts +1 -0
- package/dist/types/widgets/stores/widget-store-performance.test.d.ts +1 -0
- package/dist/types/widgets/stores/widget-store.d.ts +48 -27
- package/dist/types/widgets/subheader/subheader.d.ts +11 -0
- package/dist/types/widgets/table/config.d.ts +8 -3
- package/dist/types/widgets/table/config.test.d.ts +1 -0
- package/dist/types/widgets/table/hooks/use-pagination.d.ts +11 -3
- package/dist/types/widgets/table/hooks/use-selection.d.ts +11 -2
- package/dist/types/widgets/table/hooks/use-sort.d.ts +11 -3
- package/dist/types/widgets/table/index.d.ts +6 -2
- package/dist/types/widgets/table/types.d.ts +1 -1
- package/dist/types/widgets/timeseries/config.d.ts +8 -4
- package/dist/types/widgets/utils/chart-config/download-config.d.ts +3 -0
- package/dist/types/widgets/{_shared → utils}/chart-config/index.d.ts +3 -1
- package/dist/types/widgets/{_shared → utils}/chart-config/option-builders.d.ts +41 -9
- package/dist/types/widgets/utils/chart-config/option-builders.test.d.ts +1 -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/wrapper/components/actions.d.ts +3 -0
- package/dist/types/widgets/wrapper/components/options.d.ts +3 -0
- package/dist/types/widgets/wrapper/components/title.d.ts +3 -0
- package/dist/types/widgets/wrapper/wrapper-ui.d.ts +14 -0
- package/dist/types/widgets/wrapper/wrapper.d.ts +14 -0
- 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 +5 -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 +33 -0
- package/dist/types/widgets-v2/actions/change-column/types.d.ts +10 -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 +12 -0
- package/dist/types/widgets-v2/actions/download/index.d.ts +6 -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 +59 -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 +48 -0
- package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +14 -0
- package/dist/types/widgets-v2/actions/index.d.ts +9 -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 +36 -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/relative-data/transforms.test.d.ts +1 -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/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/stack-toggle/transforms.test.d.ts +1 -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/transforms.test.d.ts +1 -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/options.test.d.ts +1 -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 +81 -0
- package/dist/types/widgets-v2/category/category.d.ts +48 -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 +18 -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 +13 -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 +38 -0
- package/dist/types/widgets-v2/category/download.d.ts +16 -0
- package/dist/types/widgets-v2/category/download.test.d.ts +1 -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 +166 -0
- package/dist/types/widgets-v2/category/types.d.ts +53 -0
- package/dist/types/widgets-v2/echart/echart-ui.d.ts +44 -0
- package/dist/types/widgets-v2/echart/echart.d.ts +75 -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/shared-resize-observer.test.d.ts +1 -0
- package/dist/types/widgets-v2/echart/style.d.ts +6 -0
- package/dist/types/widgets-v2/echart/use-chart-selection.d.ts +51 -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/download.test.d.ts +1 -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/options.test.d.ts +1 -0
- package/dist/types/widgets-v2/histogram/skeleton.d.ts +9 -0
- package/dist/types/widgets-v2/histogram/transforms.d.ts +17 -0
- package/dist/types/widgets-v2/histogram/transforms.test.d.ts +1 -0
- package/dist/types/widgets-v2/histogram/types.d.ts +51 -0
- package/dist/types/widgets-v2/index.d.ts +108 -0
- package/dist/types/widgets-v2/markdown/download.d.ts +16 -0
- package/dist/types/widgets-v2/markdown/download.test.d.ts +1 -0
- package/dist/types/widgets-v2/markdown/index.d.ts +6 -0
- package/dist/types/widgets-v2/markdown/markdown-content.d.ts +34 -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/download.test.d.ts +1 -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/options.test.d.ts +1 -0
- package/dist/types/widgets-v2/pie/skeleton.d.ts +4 -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/download.test.d.ts +1 -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/options.test.d.ts +1 -0
- package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +12 -0
- package/dist/types/widgets-v2/scatterplot/transforms.d.ts +17 -0
- package/dist/types/widgets-v2/scatterplot/transforms.test.d.ts +1 -0
- package/dist/types/widgets-v2/scatterplot/types.d.ts +54 -0
- package/dist/types/widgets-v2/selection-summary/labels.d.ts +6 -0
- package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +22 -0
- package/dist/types/widgets-v2/selection-summary/style.d.ts +23 -0
- package/dist/types/widgets-v2/spread/download.d.ts +15 -0
- package/dist/types/widgets-v2/spread/download.test.d.ts +1 -0
- package/dist/types/widgets-v2/spread/index.d.ts +6 -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/labels.test.d.ts +1 -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/pipeline-middleware.test.d.ts +1 -0
- package/dist/types/widgets-v2/stores/transforms.d.ts +4 -0
- package/dist/types/widgets-v2/stores/transforms.test.d.ts +1 -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/stores/widget-store-registry.test.d.ts +1 -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/download.test.d.ts +1 -0
- package/dist/types/widgets-v2/table/helpers.d.ts +32 -0
- package/dist/types/widgets-v2/table/helpers.test.d.ts +1 -0
- package/dist/types/widgets-v2/table/index.d.ts +7 -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/types.d.ts +48 -0
- package/dist/types/widgets-v2/test-utils.d.ts +52 -0
- package/dist/types/widgets-v2/timeseries/download.d.ts +17 -0
- package/dist/types/widgets-v2/timeseries/download.test.d.ts +1 -0
- package/dist/types/widgets-v2/timeseries/index.d.ts +4 -0
- package/dist/types/widgets-v2/timeseries/options.d.ts +39 -0
- package/dist/types/widgets-v2/timeseries/options.test.d.ts +1 -0
- package/dist/types/widgets-v2/timeseries/skeleton.d.ts +8 -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/merge-options.test.d.ts +1 -0
- package/dist/types/widgets-v2/utils/resolve-theme-color.d.ts +18 -0
- package/dist/types/widgets-v2/utils/resolve-theme-color.test.d.ts +1 -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 +111 -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 +51 -0
- package/dist/use-transform-DXPN3nY7.js +110 -0
- package/dist/use-transform-DXPN3nY7.js.map +1 -0
- package/dist/use-widget-ref-Ddr_SlJJ.js +22 -0
- package/dist/use-widget-ref-Ddr_SlJJ.js.map +1 -0
- package/dist/use-widget-selector-DFl2hW0R.js +12 -0
- package/dist/use-widget-selector-DFl2hW0R.js.map +1 -0
- package/dist/{utils-idmvq0Oa.js → utils-BOhInag6.js} +95 -70
- package/dist/utils-BOhInag6.js.map +1 -0
- package/dist/widget-context-DTGO0Yta.js +13 -0
- package/dist/widget-context-DTGO0Yta.js.map +1 -0
- package/dist/widget-store-Bw5zRUGg.js +261 -0
- package/dist/widget-store-Bw5zRUGg.js.map +1 -0
- package/dist/widget-store-registry-_W4Z4xp-.js +178 -0
- package/dist/widget-store-registry-_W4Z4xp-.js.map +1 -0
- package/dist/widgets/actions.js +1120 -760
- package/dist/widgets/actions.js.map +1 -1
- package/dist/widgets/bar.js +87 -97
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +247 -236
- package/dist/widgets/category.js.map +1 -1
- package/dist/widgets/echart.js +100 -99
- package/dist/widgets/echart.js.map +1 -1
- package/dist/widgets/error.js +37 -2
- package/dist/widgets/error.js.map +1 -1
- package/dist/widgets/formula.js +78 -67
- package/dist/widgets/formula.js.map +1 -1
- package/dist/widgets/histogram.js +116 -92
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/loader.js +53 -60
- package/dist/widgets/loader.js.map +1 -1
- package/dist/widgets/markdown.js +55 -53
- package/dist/widgets/markdown.js.map +1 -1
- package/dist/widgets/no-data.js +58 -2
- package/dist/widgets/no-data.js.map +1 -1
- package/dist/widgets/note.js +121 -2
- package/dist/widgets/note.js.map +1 -1
- package/dist/widgets/pie.js +148 -112
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +147 -144
- package/dist/widgets/range.js.map +1 -1
- package/dist/widgets/scatterplot.js +52 -65
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/selection-summary.js.map +1 -1
- package/dist/widgets/skeleton-loader.js +18 -17
- package/dist/widgets/skeleton-loader.js.map +1 -1
- package/dist/widgets/spread.js +108 -90
- package/dist/widgets/spread.js.map +1 -1
- package/dist/widgets/stores.js +5 -2
- package/dist/widgets/stores.js.map +1 -1
- package/dist/widgets/subheader.js +29 -29
- package/dist/widgets/subheader.js.map +1 -1
- package/dist/widgets/table.js +429 -440
- package/dist/widgets/table.js.map +1 -1
- package/dist/widgets/timeseries.js +56 -69
- package/dist/widgets/timeseries.js.map +1 -1
- package/dist/widgets/toolbar-actions.js +50 -50
- package/dist/widgets/utils.js +34 -0
- package/dist/widgets/utils.js.map +1 -0
- package/dist/widgets/wrapper.js +156 -158
- package/dist/widgets/wrapper.js.map +1 -1
- package/dist/widgets-v2/actions.js +43 -0
- package/dist/widgets-v2/actions.js.map +1 -0
- package/dist/widgets-v2/bar.js +331 -0
- package/dist/widgets-v2/bar.js.map +1 -0
- package/dist/widgets-v2/category.js +105 -0
- package/dist/widgets-v2/category.js.map +1 -0
- package/dist/widgets-v2/echart.js +57 -0
- package/dist/widgets-v2/echart.js.map +1 -0
- package/dist/widgets-v2/formula.js +75 -0
- package/dist/widgets-v2/formula.js.map +1 -0
- package/dist/widgets-v2/histogram.js +354 -0
- package/dist/widgets-v2/histogram.js.map +1 -0
- package/dist/widgets-v2/markdown.js +69 -0
- package/dist/widgets-v2/markdown.js.map +1 -0
- package/dist/widgets-v2/pie.js +388 -0
- package/dist/widgets-v2/pie.js.map +1 -0
- package/dist/widgets-v2/range.js +52 -0
- package/dist/widgets-v2/range.js.map +1 -0
- package/dist/widgets-v2/scatterplot.js +412 -0
- package/dist/widgets-v2/scatterplot.js.map +1 -0
- package/dist/widgets-v2/spread.js +73 -0
- package/dist/widgets-v2/spread.js.map +1 -0
- package/dist/widgets-v2/stores.js +42 -0
- package/dist/widgets-v2/stores.js.map +1 -0
- package/dist/widgets-v2/table.js +79 -0
- package/dist/widgets-v2/table.js.map +1 -0
- package/dist/widgets-v2/timeseries.js +359 -0
- package/dist/widgets-v2/timeseries.js.map +1 -0
- package/dist/widgets-v2/utils.js +8 -0
- package/dist/widgets-v2/utils.js.map +1 -0
- package/dist/widgets-v2.js +954 -0
- package/dist/widgets-v2.js.map +1 -0
- package/package.json +84 -13
- package/src/chat/containers/chat-content.test.tsx +260 -6
- package/src/chat/containers/chat-content.tsx +137 -27
- package/src/chat/containers/chat-starter.tsx +2 -2
- package/src/chat/containers/styles.ts +16 -36
- package/src/chat/feedback/chat-tool-code-area.tsx +1 -1
- package/src/chat/feedback/chat-tool-group.tsx +1 -1
- package/src/chat/feedback/chat-tool-trace.tsx +6 -1
- package/src/chat/index.ts +1 -1
- package/src/chat/types.ts +36 -4
- package/src/components/basemaps/basemaps.tsx +20 -0
- package/src/components/geolocation-controls/geolocation-controls.tsx +11 -0
- package/src/components/lasso-tool/chip.test.tsx +176 -0
- package/src/components/lasso-tool/lasso-tool-inline.test.tsx +171 -0
- package/src/components/lasso-tool/lasso-tool-inline.tsx +17 -0
- package/src/components/lasso-tool/lasso-tool.test.tsx +198 -0
- package/src/components/lasso-tool/lasso-tool.tsx +21 -0
- package/src/components/list-data/list-data.test.tsx +73 -0
- package/src/components/list-data/list-data.tsx +16 -0
- package/src/components/measurement-tools/measurement-tools.tsx +20 -0
- package/src/components/no-data-alert/no-data-alert.test.tsx +38 -0
- package/src/components/responsive-drawer/responsive-drawer.test.tsx +68 -0
- package/src/components/smart-tooltip/smart-tooltip.tsx +17 -0
- package/src/components/tooltip/tooltip.tsx +13 -0
- package/src/components/zoom-controls/zoom-controls.tsx +16 -0
- package/src/hooks/index.ts +0 -1
- package/src/hooks/use-widget-ref.ts +10 -10
- package/src/widgets/README.md +13 -13
- 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.test.tsx +1 -1
- package/src/widgets/actions/change-column/change-column.tsx +15 -15
- package/src/widgets/actions/change-column/sortable-column-item.test.tsx +124 -0
- package/src/widgets/actions/change-column/sortable-column-item.tsx +3 -1
- package/src/widgets/actions/download/download.test.tsx +1 -1
- package/src/widgets/actions/download/download.tsx +15 -3
- package/src/widgets/actions/download/exports.tsx +15 -0
- package/src/widgets/actions/fullscreen/fullscreen.tsx +20 -11
- package/src/widgets/actions/index.ts +21 -2
- package/src/widgets/actions/lock-selection/lock-selection.test.tsx +14 -0
- package/src/widgets/actions/lock-selection/lock-selection.tsx +26 -31
- package/src/widgets/actions/lock-selection/types.ts +2 -0
- package/src/widgets/actions/relative-data/relative-data.test.tsx +276 -1
- package/src/widgets/actions/relative-data/relative-data.tsx +113 -54
- package/src/widgets/actions/relative-data/types.ts +2 -0
- package/src/widgets/actions/searcher/searcher-toggle.tsx +11 -12
- package/src/widgets/actions/searcher/searcher.tsx +39 -42
- package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +4 -4
- package/src/widgets/actions/stack-toggle/stack-toggle.tsx +24 -32
- package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +322 -0
- package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +62 -80
- package/src/widgets/bar/config.ts +39 -34
- package/src/widgets/bar/style.ts +1 -1
- package/src/widgets/category/category-ui.tsx +41 -34
- package/src/widgets/category/components/category-bar.tsx +3 -0
- package/src/widgets/category/components/category-legend.tsx +3 -0
- package/src/widgets/category/components/category-row-multi.tsx +9 -2
- package/src/widgets/category/components/category-row-other.tsx +3 -0
- package/src/widgets/category/components/category-row-single.tsx +8 -1
- package/src/widgets/category/components/category-rows.test.tsx +213 -0
- package/src/widgets/category/config.ts +11 -0
- package/src/widgets/category/index.ts +13 -14
- package/src/widgets/category/style.ts +1 -0
- package/src/widgets/category/types.ts +1 -0
- package/src/widgets/echart/echart-ui.test.tsx +20 -16
- package/src/widgets/echart/echart-ui.tsx +18 -14
- package/src/widgets/echart/echart.tsx +19 -27
- package/src/widgets/echart/options.ts +8 -4
- package/src/widgets/echart/shared-resize-observer.ts +45 -0
- package/src/widgets/echart/types.ts +5 -1
- package/src/widgets/echart/utils.test.ts +277 -0
- package/src/widgets/echart/utils.ts +94 -21
- package/src/widgets/error/error.tsx +17 -9
- package/src/widgets/formula/components/item.tsx +3 -0
- package/src/widgets/formula/components/prefix.tsx +7 -6
- package/src/widgets/formula/components/row.tsx +7 -4
- package/src/widgets/formula/components/series.tsx +7 -6
- package/src/widgets/formula/components/suffix.tsx +7 -6
- package/src/widgets/formula/components/value.tsx +13 -18
- package/src/widgets/formula/config.test.ts +37 -0
- package/src/widgets/formula/config.ts +11 -0
- package/src/widgets/formula/formula-ui.tsx +4 -1
- package/src/widgets/histogram/config.ts +99 -24
- package/src/widgets/histogram/index.ts +6 -1
- package/src/widgets/histogram/style.ts +1 -1
- package/src/widgets/histogram/types.ts +9 -3
- package/src/widgets/loader/loader.tsx +53 -44
- package/src/widgets/loader/utils.ts +26 -3
- package/src/widgets/markdown/config.ts +10 -0
- package/src/widgets/markdown/markdown-ui.tsx +7 -0
- package/src/widgets/markdown/markdown.tsx +7 -7
- package/src/widgets/no-data/no-data.test.tsx +90 -40
- package/src/widgets/no-data/no-data.tsx +12 -13
- package/src/widgets/no-data/types.ts +5 -1
- package/src/widgets/note/note.tsx +10 -0
- package/src/widgets/pie/config.ts +102 -33
- package/src/widgets/pie/style.ts +1 -1
- package/src/widgets/range/components/range-item.test.tsx +243 -0
- package/src/widgets/range/components/range-item.tsx +25 -20
- package/src/widgets/range/config.ts +5 -0
- package/src/widgets/range/range-ui.tsx +3 -0
- package/src/widgets/scatterplot/config.ts +21 -23
- package/src/widgets/scatterplot/style.ts +1 -1
- package/src/widgets/selection-summary/selection-summary.tsx +11 -0
- package/src/widgets/skeleton-loader/skeleton-loader.tsx +12 -5
- package/src/widgets/spread/components/max-value.tsx +18 -18
- package/src/widgets/spread/components/min-value.tsx +18 -18
- package/src/widgets/spread/components/separator.tsx +3 -0
- package/src/widgets/spread/config.ts +11 -0
- package/src/widgets/spread/spread-ui.tsx +4 -1
- package/src/widgets/stores/index.ts +4 -1
- package/src/widgets/stores/types.ts +12 -18
- 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 +213 -13
- package/src/widgets/stores/widget-store.ts +240 -65
- package/src/widgets/subheader/subheader.tsx +22 -3
- package/src/widgets/table/config.test.ts +65 -0
- package/src/widgets/table/config.ts +8 -4
- package/src/widgets/table/hooks/use-pagination.ts +39 -55
- package/src/widgets/table/hooks/use-selection.ts +31 -26
- package/src/widgets/table/hooks/use-sort.ts +33 -42
- package/src/widgets/table/index.ts +6 -4
- package/src/widgets/table/table-ui.tsx +1 -1
- package/src/widgets/table/types.ts +1 -1
- package/src/widgets/timeseries/config.ts +34 -33
- package/src/widgets/timeseries/style.ts +1 -1
- package/src/widgets/utils/chart-config/download-config.ts +22 -0
- package/src/widgets/{_shared → utils}/chart-config/index.ts +6 -0
- package/src/widgets/utils/chart-config/option-builders.test.ts +332 -0
- package/src/widgets/{_shared → utils}/chart-config/option-builders.ts +79 -13
- package/src/widgets/utils/formatter.ts +2 -0
- package/src/widgets/utils/index.ts +26 -0
- package/src/widgets/wrapper/components/actions.tsx +3 -0
- package/src/widgets/wrapper/components/options.tsx +3 -0
- package/src/widgets/wrapper/components/title.tsx +3 -0
- package/src/widgets/wrapper/wrapper-ui.tsx +26 -13
- package/src/widgets/wrapper/wrapper.tsx +18 -6
- 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 +180 -0
- package/src/widgets-v2/actions/change-column/index.ts +7 -0
- package/src/widgets-v2/actions/change-column/labels.ts +9 -0
- package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +56 -0
- package/src/widgets-v2/actions/change-column/style.ts +32 -0
- package/src/widgets-v2/actions/change-column/types.ts +11 -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 +26 -0
- package/src/widgets-v2/actions/download/index.ts +13 -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 +52 -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 +150 -0
- package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +230 -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 +59 -0
- package/src/widgets-v2/actions/fullscreen/types.ts +15 -0
- package/src/widgets-v2/actions/index.ts +82 -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 +187 -0
- package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +130 -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 +112 -0
- package/src/widgets-v2/actions/searcher/style.ts +15 -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 +66 -0
- package/src/widgets-v2/bar/index.ts +10 -0
- package/src/widgets-v2/bar/options.test.ts +334 -0
- package/src/widgets-v2/bar/options.ts +332 -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 +746 -0
- package/src/widgets-v2/category/category-ui.tsx +389 -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 +121 -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 +51 -0
- package/src/widgets-v2/category/components/category-legend.tsx +39 -0
- package/src/widgets-v2/category/components/category-row-multi.tsx +86 -0
- package/src/widgets-v2/category/components/category-row-other.test.tsx +28 -0
- package/src/widgets-v2/category/components/category-row-other.tsx +33 -0
- package/src/widgets-v2/category/components/category-row-single.tsx +76 -0
- package/src/widgets-v2/category/components/category-row-stacked.test.tsx +244 -0
- package/src/widgets-v2/category/components/category-row-stacked.tsx +99 -0
- package/src/widgets-v2/category/download.test.ts +71 -0
- package/src/widgets-v2/category/download.ts +54 -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 +290 -0
- package/src/widgets-v2/category/types.ts +59 -0
- package/src/widgets-v2/echart/echart-ui.test.tsx +232 -0
- package/src/widgets-v2/echart/echart-ui.tsx +184 -0
- package/src/widgets-v2/echart/echart.test.tsx +229 -0
- package/src/widgets-v2/echart/echart.tsx +199 -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 +8 -0
- package/src/widgets-v2/echart/use-chart-selection.test.tsx +118 -0
- package/src/widgets-v2/echart/use-chart-selection.ts +115 -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 +69 -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 +60 -0
- package/src/widgets-v2/histogram/index.ts +10 -0
- package/src/widgets-v2/histogram/options.test.ts +318 -0
- package/src/widgets-v2/histogram/options.ts +338 -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 +46 -0
- package/src/widgets-v2/histogram/transforms.ts +30 -0
- package/src/widgets-v2/histogram/types.ts +55 -0
- package/src/widgets-v2/index.ts +204 -0
- package/src/widgets-v2/markdown/download.test.ts +66 -0
- package/src/widgets-v2/markdown/download.ts +53 -0
- package/src/widgets-v2/markdown/index.ts +6 -0
- package/src/widgets-v2/markdown/markdown-content.test.tsx +155 -0
- package/src/widgets-v2/markdown/markdown-content.tsx +72 -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 +55 -0
- package/src/widgets-v2/pie/index.ts +10 -0
- package/src/widgets-v2/pie/options.test.ts +601 -0
- package/src/widgets-v2/pie/options.ts +513 -0
- package/src/widgets-v2/pie/skeleton.test.tsx +17 -0
- package/src/widgets-v2/pie/skeleton.tsx +32 -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 +54 -0
- package/src/widgets-v2/scatterplot/index.ts +11 -0
- package/src/widgets-v2/scatterplot/options.test.ts +411 -0
- package/src/widgets-v2/scatterplot/options.ts +425 -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 +97 -0
- package/src/widgets-v2/scatterplot/transforms.ts +38 -0
- package/src/widgets-v2/scatterplot/types.ts +59 -0
- package/src/widgets-v2/selection-summary/labels.ts +11 -0
- package/src/widgets-v2/selection-summary/selection-summary.test.tsx +53 -0
- package/src/widgets-v2/selection-summary/selection-summary.tsx +62 -0
- package/src/widgets-v2/selection-summary/style.ts +23 -0
- package/src/widgets-v2/spread/download.test.ts +64 -0
- package/src/widgets-v2/spread/download.ts +59 -0
- package/src/widgets-v2/spread/index.ts +6 -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 +248 -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 +75 -0
- package/src/widgets-v2/table/download.ts +47 -0
- package/src/widgets-v2/table/helpers.test.ts +214 -0
- package/src/widgets-v2/table/helpers.ts +136 -0
- package/src/widgets-v2/table/index.ts +23 -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/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 +86 -0
- package/src/widgets-v2/timeseries/index.ts +10 -0
- package/src/widgets-v2/timeseries/options.test.ts +394 -0
- package/src/widgets-v2/timeseries/options.ts +348 -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/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 +134 -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 +159 -0
- package/src/widgets-v2/wrapper/widget-wrapper.tsx +178 -0
- package/dist/error-CEkRPccv.js +0 -39
- package/dist/error-CEkRPccv.js.map +0 -1
- package/dist/index-BnyeR7Qx.js +0 -6601
- package/dist/index-BnyeR7Qx.js.map +0 -1
- package/dist/no-data-hR3KcJ-_.js +0 -60
- package/dist/no-data-hR3KcJ-_.js.map +0 -1
- package/dist/note-t51drNe0.js +0 -124
- package/dist/note-t51drNe0.js.map +0 -1
- package/dist/options-D9wflre6.js +0 -49
- package/dist/options-D9wflre6.js.map +0 -1
- package/dist/row-DTCV0Ocm.js +0 -35
- package/dist/row-DTCV0Ocm.js.map +0 -1
- package/dist/series-CYNOu2Ju.js +0 -91
- package/dist/series-CYNOu2Ju.js.map +0 -1
- package/dist/styles-CAroD5Rc.js +0 -123
- package/dist/styles-CAroD5Rc.js.map +0 -1
- package/dist/types/hooks/use-debounce.d.ts +0 -19
- package/dist/types/widgets/category/components/index.d.ts +0 -10
- package/dist/types/widgets/index.d.ts +0 -9
- package/dist/types/widgets/table/hooks/index.d.ts +0 -6
- package/dist/use-widget-ref-P-2i0MJG.js +0 -19
- package/dist/use-widget-ref-P-2i0MJG.js.map +0 -1
- package/dist/utils-idmvq0Oa.js.map +0 -1
- package/dist/widget-store-CzDt8oSK.js +0 -163
- package/dist/widget-store-CzDt8oSK.js.map +0 -1
- package/dist/widgets.js +0 -13
- package/dist/widgets.js.map +0 -1
- package/src/hooks/use-debounce.ts +0 -55
- package/src/widgets/_shared/chart-config/option-builders.test.ts +0 -40
- package/src/widgets/category/components/index.ts +0 -14
- package/src/widgets/index.ts +0 -25
- package/src/widgets/table/hooks/index.ts +0 -7
- /package/dist/types/widgets/{_shared → utils}/chart-config/config-factory.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/chart-config/csv-modifiers.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/skeleton/index.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/skeleton/styles.d.ts +0 -0
- /package/dist/types/{widgets/_shared/chart-config/option-builders.test.d.ts → widgets-v2/actions/brush-toggle/transforms.test.d.ts} +0 -0
- /package/src/widgets/{_shared → utils}/chart-config/config-factory.ts +0 -0
- /package/src/widgets/{_shared → utils}/chart-config/csv-modifiers.ts +0 -0
- /package/src/widgets/{_shared → utils}/skeleton/index.ts +0 -0
- /package/src/widgets/{_shared → utils}/skeleton/styles.ts +0 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { jsxs as ee, Fragment as Se, jsx as f } from "react/jsx-runtime";
|
|
2
|
+
import { c as me } from "react/compiler-runtime";
|
|
3
|
+
import "react";
|
|
4
|
+
import { u as be } from "./widget-context-DTGO0Yta.js";
|
|
5
|
+
import { v as ye, u as Ce, i as fe } from "./widget-store-registry-_W4Z4xp-.js";
|
|
6
|
+
import "zustand";
|
|
7
|
+
import { Box as pe, TableCell as ne, Checkbox as ue, TableRow as ge, TablePagination as Pe, TableSortLabel as we, TableHead as xe, TableBody as ze, TableContainer as Ae, Table as ke, IconButton as se } from "@mui/material";
|
|
8
|
+
import Te from "@mui/icons-material/FirstPage";
|
|
9
|
+
import Re from "@mui/icons-material/KeyboardArrowLeft";
|
|
10
|
+
import Ie from "@mui/icons-material/KeyboardArrowRight";
|
|
11
|
+
import Oe from "@mui/icons-material/LastPage";
|
|
12
|
+
const Ee = {
|
|
13
|
+
fontWeight: 600,
|
|
14
|
+
color: "text.primary"
|
|
15
|
+
}, ve = {
|
|
16
|
+
selectAll: "Select all rows",
|
|
17
|
+
selectRow: (t) => `Select row ${t}`,
|
|
18
|
+
rowsPerPage: "Rows per page:",
|
|
19
|
+
paginationOf: (t, e, i) => /* @__PURE__ */ ee(Se, { children: [
|
|
20
|
+
/* @__PURE__ */ f(pe, { component: "span", sx: Ee, children: `${t}–${e}` }),
|
|
21
|
+
` of ${i}`
|
|
22
|
+
] }),
|
|
23
|
+
firstPage: "First page",
|
|
24
|
+
previousPage: "Previous page",
|
|
25
|
+
nextPage: "Next page",
|
|
26
|
+
lastPage: "Last page"
|
|
27
|
+
}, Le = 10, $e = [10, 25, 50, 100], $ = {
|
|
28
|
+
container: {
|
|
29
|
+
width: "100%",
|
|
30
|
+
overflowX: "auto"
|
|
31
|
+
},
|
|
32
|
+
table: {
|
|
33
|
+
minWidth: 0
|
|
34
|
+
},
|
|
35
|
+
headerCell: {
|
|
36
|
+
fontWeight: 600,
|
|
37
|
+
backgroundColor: "background.paper"
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Strip the bottom border from the last body row so the body flushes
|
|
41
|
+
* against the pagination border instead of doubling it up. Mirrors v1.
|
|
42
|
+
*/
|
|
43
|
+
row: {
|
|
44
|
+
"&:last-child td, &:last-child th": {
|
|
45
|
+
border: 0
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
rowClickable: {
|
|
49
|
+
cursor: "pointer"
|
|
50
|
+
},
|
|
51
|
+
pagination: {
|
|
52
|
+
borderTop: "1px solid",
|
|
53
|
+
borderColor: "divider"
|
|
54
|
+
},
|
|
55
|
+
paginationActions: {
|
|
56
|
+
display: "flex",
|
|
57
|
+
alignItems: "center",
|
|
58
|
+
gap: 0.25,
|
|
59
|
+
ml: 1
|
|
60
|
+
},
|
|
61
|
+
empty: {
|
|
62
|
+
textAlign: "center",
|
|
63
|
+
color: "text.secondary",
|
|
64
|
+
py: 3
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
function je(t) {
|
|
68
|
+
const e = me(82), {
|
|
69
|
+
columns: i,
|
|
70
|
+
rows: n,
|
|
71
|
+
total: c,
|
|
72
|
+
page: l,
|
|
73
|
+
pageSize: g,
|
|
74
|
+
pageSizeOptions: p,
|
|
75
|
+
sort: d,
|
|
76
|
+
keyColumn: M,
|
|
77
|
+
selection: u,
|
|
78
|
+
selectable: j,
|
|
79
|
+
onSortChange: b,
|
|
80
|
+
onPageChange: T,
|
|
81
|
+
onPageSizeChange: w,
|
|
82
|
+
onSelectionChange: C,
|
|
83
|
+
onRowClick: V,
|
|
84
|
+
onRowHover: m,
|
|
85
|
+
labels: R,
|
|
86
|
+
emptyContent: D,
|
|
87
|
+
size: a
|
|
88
|
+
} = t, O = p === void 0 ? $e : p, E = M === void 0 ? "id" : M, x = j === void 0 ? !1 : j;
|
|
89
|
+
process.env.NODE_ENV !== "production" && n.some((r) => r[E] == null) && console.error(`<TableUI>: rows are missing the identity column \`${E}\`. Set the \`keyColumn\` prop to a column present on every row, or add the column to the data.`);
|
|
90
|
+
let N;
|
|
91
|
+
e[0] !== R ? (N = {
|
|
92
|
+
...ve,
|
|
93
|
+
...R
|
|
94
|
+
}, e[0] = R, e[1] = N) : N = e[1];
|
|
95
|
+
const h = N, _ = Math.min(...O), H = c > _;
|
|
96
|
+
let v;
|
|
97
|
+
e[2] !== h ? (v = Ne(h), e[2] = h, e[3] = v) : v = e[3];
|
|
98
|
+
const U = v;
|
|
99
|
+
let z;
|
|
100
|
+
e[4] !== u ? (z = u ?? [], e[4] = u, e[5] = z) : z = e[5];
|
|
101
|
+
let B;
|
|
102
|
+
e[6] !== z ? (B = new Set(z), e[6] = z, e[7] = B) : B = e[7];
|
|
103
|
+
const y = B;
|
|
104
|
+
let s;
|
|
105
|
+
e[8] !== E ? (s = (o, r) => o[E] ?? r, e[8] = E, e[9] = s) : s = e[9];
|
|
106
|
+
const I = s;
|
|
107
|
+
let W;
|
|
108
|
+
e[10] !== I || e[11] !== n ? (W = n.map(I), e[10] = I, e[11] = n, e[12] = W) : W = e[12];
|
|
109
|
+
const S = W;
|
|
110
|
+
let A;
|
|
111
|
+
e[13] !== S || e[14] !== y ? (A = S.length > 0 && S.every((o) => y.has(o)), e[13] = S, e[14] = y, e[15] = A) : A = e[15];
|
|
112
|
+
const P = A;
|
|
113
|
+
let L;
|
|
114
|
+
e[16] !== P || e[17] !== S || e[18] !== y ? (L = !P && S.some((o) => y.has(o)), e[16] = P, e[17] = S, e[18] = y, e[19] = L) : L = e[19];
|
|
115
|
+
const ae = L;
|
|
116
|
+
let oe;
|
|
117
|
+
e[20] !== b || e[21] !== d?.columnId || e[22] !== d?.direction ? (oe = (o) => {
|
|
118
|
+
if (!b)
|
|
119
|
+
return;
|
|
120
|
+
const k = d?.columnId === o && d?.direction === "asc" ? "desc" : "asc";
|
|
121
|
+
b({
|
|
122
|
+
columnId: o,
|
|
123
|
+
direction: k
|
|
124
|
+
});
|
|
125
|
+
}, e[20] = b, e[21] = d?.columnId, e[22] = d?.direction, e[23] = oe) : oe = e[23];
|
|
126
|
+
const te = oe;
|
|
127
|
+
let ie;
|
|
128
|
+
e[24] !== P || e[25] !== C || e[26] !== S || e[27] !== u ? (ie = () => {
|
|
129
|
+
if (C)
|
|
130
|
+
if (P)
|
|
131
|
+
C((u ?? []).filter((o) => !S.includes(o)));
|
|
132
|
+
else {
|
|
133
|
+
const o = new Set(u ?? []);
|
|
134
|
+
for (const r of S)
|
|
135
|
+
o.add(r);
|
|
136
|
+
C([...o]);
|
|
137
|
+
}
|
|
138
|
+
}, e[24] = P, e[25] = C, e[26] = S, e[27] = u, e[28] = ie) : ie = e[28];
|
|
139
|
+
const ce = ie;
|
|
140
|
+
let re;
|
|
141
|
+
e[29] !== C || e[30] !== u ? (re = (o) => {
|
|
142
|
+
if (!C)
|
|
143
|
+
return;
|
|
144
|
+
const r = new Set(u ?? []);
|
|
145
|
+
r.has(o) ? r.delete(o) : r.add(o), C([...r]);
|
|
146
|
+
}, e[29] = C, e[30] = u, e[31] = re) : re = e[31];
|
|
147
|
+
const de = re;
|
|
148
|
+
let G;
|
|
149
|
+
e[32] !== h || e[33] !== P || e[34] !== ce || e[35] !== x || e[36] !== ae ? (G = x ? /* @__PURE__ */ f(ne, { padding: "checkbox", sx: $.headerCell, children: /* @__PURE__ */ f(ue, { checked: P, indeterminate: ae, onChange: ce, inputProps: {
|
|
150
|
+
"aria-label": h.selectAll
|
|
151
|
+
} }) }) : null, e[32] = h, e[33] = P, e[34] = ce, e[35] = x, e[36] = ae, e[37] = G) : G = e[37];
|
|
152
|
+
let K;
|
|
153
|
+
if (e[38] !== i || e[39] !== te || e[40] !== b || e[41] !== d?.columnId || e[42] !== d?.direction) {
|
|
154
|
+
let o;
|
|
155
|
+
e[44] !== te || e[45] !== b || e[46] !== d?.columnId || e[47] !== d?.direction ? (o = (r) => {
|
|
156
|
+
const k = d?.columnId === r.id, J = k ? d?.direction : void 0;
|
|
157
|
+
return /* @__PURE__ */ f(ne, { align: r.align, sortDirection: J, sx: $.headerCell, style: r.width != null ? {
|
|
158
|
+
width: r.width
|
|
159
|
+
} : void 0, children: r.sortable && b ? /* @__PURE__ */ f(we, { active: k, direction: J ?? "asc", onClick: () => te(r.id), children: r.label }) : r.label }, r.id);
|
|
160
|
+
}, e[44] = te, e[45] = b, e[46] = d?.columnId, e[47] = d?.direction, e[48] = o) : o = e[48], K = i.map(o), e[38] = i, e[39] = te, e[40] = b, e[41] = d?.columnId, e[42] = d?.direction, e[43] = K;
|
|
161
|
+
} else
|
|
162
|
+
K = e[43];
|
|
163
|
+
let Z;
|
|
164
|
+
e[49] !== G || e[50] !== K ? (Z = /* @__PURE__ */ f(xe, { children: /* @__PURE__ */ ee(ge, { children: [
|
|
165
|
+
G,
|
|
166
|
+
K
|
|
167
|
+
] }) }), e[49] = G, e[50] = K, e[51] = Z) : Z = e[51];
|
|
168
|
+
let X;
|
|
169
|
+
e[52] !== h || e[53] !== i || e[54] !== D || e[55] !== de || e[56] !== V || e[57] !== m || e[58] !== I || e[59] !== n || e[60] !== x || e[61] !== y ? (X = n.length === 0 ? /* @__PURE__ */ f(ge, { children: /* @__PURE__ */ f(ne, { colSpan: i.length + (x ? 1 : 0), sx: $.empty, children: D ?? null }) }) : n.map((o, r) => {
|
|
170
|
+
const k = I(o, r), J = y.has(k);
|
|
171
|
+
return /* @__PURE__ */ ee(ge, { hover: !0, selected: J, onClick: () => V?.(o), onMouseEnter: () => m?.(o), onMouseLeave: () => m?.(null), sx: {
|
|
172
|
+
...$.row,
|
|
173
|
+
...V ? $.rowClickable : null
|
|
174
|
+
}, children: [
|
|
175
|
+
x ? /* @__PURE__ */ f(ne, { padding: "checkbox", children: /* @__PURE__ */ f(ue, { checked: J, onClick: (F) => {
|
|
176
|
+
F.stopPropagation(), de(k);
|
|
177
|
+
}, inputProps: {
|
|
178
|
+
"aria-label": h.selectRow(k)
|
|
179
|
+
} }) }) : null,
|
|
180
|
+
i.map((F) => /* @__PURE__ */ f(ne, { align: F.align, children: F.formatter ? F.formatter(o[F.id], o) : De(o[F.id]) }, F.id))
|
|
181
|
+
] }, k);
|
|
182
|
+
}), e[52] = h, e[53] = i, e[54] = D, e[55] = de, e[56] = V, e[57] = m, e[58] = I, e[59] = n, e[60] = x, e[61] = y, e[62] = X) : X = e[62];
|
|
183
|
+
let q;
|
|
184
|
+
e[63] !== X ? (q = /* @__PURE__ */ f(ze, { children: X }), e[63] = X, e[64] = q) : q = e[64];
|
|
185
|
+
let Q;
|
|
186
|
+
e[65] !== a || e[66] !== Z || e[67] !== q ? (Q = /* @__PURE__ */ f(Ae, { children: /* @__PURE__ */ ee(ke, { stickyHeader: !0, size: a, sx: $.table, children: [
|
|
187
|
+
Z,
|
|
188
|
+
q
|
|
189
|
+
] }) }), e[65] = a, e[66] = Z, e[67] = q, e[68] = Q) : Q = e[68];
|
|
190
|
+
let Y;
|
|
191
|
+
e[69] !== U || e[70] !== h || e[71] !== T || e[72] !== w || e[73] !== l || e[74] !== g || e[75] !== O || e[76] !== H || e[77] !== c ? (Y = H ? /* @__PURE__ */ f(Pe, { component: "div", count: c, page: l, rowsPerPage: g, rowsPerPageOptions: [...O], onPageChange: (o, r) => T?.(r), onRowsPerPageChange: (o) => {
|
|
192
|
+
const r = parseInt(o.target.value, 10);
|
|
193
|
+
w?.(r);
|
|
194
|
+
}, labelRowsPerPage: h.rowsPerPage, labelDisplayedRows: (o) => {
|
|
195
|
+
const {
|
|
196
|
+
from: r,
|
|
197
|
+
to: k,
|
|
198
|
+
count: J
|
|
199
|
+
} = o;
|
|
200
|
+
return h.paginationOf(r, k, J);
|
|
201
|
+
}, ActionsComponent: U, sx: $.pagination }) : null, e[69] = U, e[70] = h, e[71] = T, e[72] = w, e[73] = l, e[74] = g, e[75] = O, e[76] = H, e[77] = c, e[78] = Y) : Y = e[78];
|
|
202
|
+
let le;
|
|
203
|
+
return e[79] !== Q || e[80] !== Y ? (le = /* @__PURE__ */ ee(pe, { sx: $.container, children: [
|
|
204
|
+
Q,
|
|
205
|
+
Y
|
|
206
|
+
] }), e[79] = Q, e[80] = Y, e[81] = le) : le = e[81], le;
|
|
207
|
+
}
|
|
208
|
+
function De(t) {
|
|
209
|
+
return t == null ? "" : typeof t == "string" || typeof t == "number" ? t : typeof t == "boolean" ? String(t) : Array.isArray(t) || typeof t == "object" ? JSON.stringify(t) : "";
|
|
210
|
+
}
|
|
211
|
+
function Ne(t) {
|
|
212
|
+
return function({
|
|
213
|
+
count: i,
|
|
214
|
+
page: n,
|
|
215
|
+
rowsPerPage: c,
|
|
216
|
+
onPageChange: l
|
|
217
|
+
}) {
|
|
218
|
+
const g = Math.max(0, Math.ceil(i / c) - 1);
|
|
219
|
+
return /* @__PURE__ */ ee(pe, { sx: $.paginationActions, children: [
|
|
220
|
+
/* @__PURE__ */ f(se, { size: "small", onClick: (p) => l(p, 0), disabled: n === 0, "aria-label": t.firstPage, children: /* @__PURE__ */ f(Te, { fontSize: "small" }) }),
|
|
221
|
+
/* @__PURE__ */ f(se, { size: "small", onClick: (p) => l(p, n - 1), disabled: n === 0, "aria-label": t.previousPage, children: /* @__PURE__ */ f(Re, { fontSize: "small" }) }),
|
|
222
|
+
/* @__PURE__ */ f(se, { size: "small", onClick: (p) => l(p, n + 1), disabled: n >= g, "aria-label": t.nextPage, children: /* @__PURE__ */ f(Ie, { fontSize: "small" }) }),
|
|
223
|
+
/* @__PURE__ */ f(se, { size: "small", onClick: (p) => l(p, g), disabled: n >= g, "aria-label": t.lastPage, children: /* @__PURE__ */ f(Oe, { fontSize: "small" }) })
|
|
224
|
+
] });
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
function Be(t, e, i) {
|
|
228
|
+
if (t == null && e == null) return 0;
|
|
229
|
+
if (t == null) return 1;
|
|
230
|
+
if (e == null) return -1;
|
|
231
|
+
let n = 0;
|
|
232
|
+
return typeof t == "string" && typeof e == "string" ? n = t.localeCompare(e) : typeof t == "number" && typeof e == "number" ? n = t - e : typeof t == "boolean" && typeof e == "boolean" ? n = t === e ? 0 : t ? 1 : -1 : (typeof t == "object" || typeof e == "object") && (n = JSON.stringify(t).localeCompare(JSON.stringify(e))), i === "asc" ? n : -n;
|
|
233
|
+
}
|
|
234
|
+
function We(t, e, i) {
|
|
235
|
+
return [...t].sort((n, c) => Be(n[e], c[e], i));
|
|
236
|
+
}
|
|
237
|
+
function Fe(t, e, i) {
|
|
238
|
+
if (i <= 0) return t.slice();
|
|
239
|
+
const n = e * i;
|
|
240
|
+
return t.slice(n, n + i);
|
|
241
|
+
}
|
|
242
|
+
function Me(t, e) {
|
|
243
|
+
if (!e || e.length === 0) return t;
|
|
244
|
+
const i = new Map(t.map((l) => [l.id, l])), n = [], c = /* @__PURE__ */ new Set();
|
|
245
|
+
for (const l of e) {
|
|
246
|
+
const g = i.get(l);
|
|
247
|
+
g && !c.has(l) && (n.push(g), c.add(l));
|
|
248
|
+
}
|
|
249
|
+
for (const l of t)
|
|
250
|
+
c.has(l.id) || n.push(l);
|
|
251
|
+
return n;
|
|
252
|
+
}
|
|
253
|
+
function He(t, e) {
|
|
254
|
+
const i = e.sort?.columnId != null ? We(t, e.sort.columnId, e.sort.direction) : t, n = Fe(i, e.page, e.pageSize);
|
|
255
|
+
return {
|
|
256
|
+
sorted: i,
|
|
257
|
+
visible: n
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
function ot(t, e) {
|
|
261
|
+
const n = [e.map((c) => he(Ue(c.label))).join(",")];
|
|
262
|
+
for (const c of t) {
|
|
263
|
+
const l = e.map((g) => he(Je(c[g.id])));
|
|
264
|
+
n.push(l.join(","));
|
|
265
|
+
}
|
|
266
|
+
return n.join(`
|
|
267
|
+
`);
|
|
268
|
+
}
|
|
269
|
+
function he(t) {
|
|
270
|
+
return /[",\n\r]/.test(t) ? `"${t.replace(/"/g, '""')}"` : t;
|
|
271
|
+
}
|
|
272
|
+
function Ue(t) {
|
|
273
|
+
return typeof t == "string" ? t : typeof t == "number" || typeof t == "boolean" ? String(t) : "";
|
|
274
|
+
}
|
|
275
|
+
function Je(t) {
|
|
276
|
+
return t == null ? "" : typeof t == "string" ? t : typeof t == "number" || typeof t == "boolean" ? String(t) : Array.isArray(t) || typeof t == "object" ? JSON.stringify(t) : "";
|
|
277
|
+
}
|
|
278
|
+
function it(t) {
|
|
279
|
+
const e = me(57);
|
|
280
|
+
let i, n, c, l, g, p, d, M, u, j, b, T, w;
|
|
281
|
+
e[0] !== t ? ({
|
|
282
|
+
columns: i,
|
|
283
|
+
visibleColumns: w,
|
|
284
|
+
initialPageSize: j,
|
|
285
|
+
selection: u,
|
|
286
|
+
onSelectionChange: p,
|
|
287
|
+
onRowClick: l,
|
|
288
|
+
onRowHover: g,
|
|
289
|
+
remote: b,
|
|
290
|
+
total: M,
|
|
291
|
+
onSortChange: d,
|
|
292
|
+
onPageChange: n,
|
|
293
|
+
onPageSizeChange: c,
|
|
294
|
+
...T
|
|
295
|
+
} = t, e[0] = t, e[1] = i, e[2] = n, e[3] = c, e[4] = l, e[5] = g, e[6] = p, e[7] = d, e[8] = M, e[9] = u, e[10] = j, e[11] = b, e[12] = T, e[13] = w) : (i = e[1], n = e[2], c = e[3], l = e[4], g = e[5], p = e[6], d = e[7], M = e[8], u = e[9], j = e[10], b = e[11], T = e[12], w = e[13]);
|
|
296
|
+
const C = j === void 0 ? Le : j, V = b === void 0 ? !1 : b, m = be(), R = ye(m, Ve);
|
|
297
|
+
let D;
|
|
298
|
+
e[14] !== C ? (D = (s) => ({
|
|
299
|
+
sort: s.sort,
|
|
300
|
+
page: s.page ?? 0,
|
|
301
|
+
pageSize: s.pageSize ?? C,
|
|
302
|
+
columnOrder: s.columnOrder
|
|
303
|
+
}), e[14] = C, e[15] = D) : D = e[15];
|
|
304
|
+
const a = Ce(m, D);
|
|
305
|
+
let O;
|
|
306
|
+
if (e[16] !== i || e[17] !== a.columnOrder || e[18] !== w) {
|
|
307
|
+
const s = Me(i, a.columnOrder);
|
|
308
|
+
O = w == null ? s : s.slice(0, w), e[16] = i, e[17] = a.columnOrder, e[18] = w, e[19] = O;
|
|
309
|
+
} else
|
|
310
|
+
O = e[19];
|
|
311
|
+
const E = O;
|
|
312
|
+
let x;
|
|
313
|
+
e: {
|
|
314
|
+
if (V) {
|
|
315
|
+
let A;
|
|
316
|
+
e[20] !== R ? (A = R ?? [], e[20] = R, e[21] = A) : A = e[21];
|
|
317
|
+
const P = M ?? 0;
|
|
318
|
+
let L;
|
|
319
|
+
e[22] !== A || e[23] !== P ? (L = {
|
|
320
|
+
rows: A,
|
|
321
|
+
totalRows: P
|
|
322
|
+
}, e[22] = A, e[23] = P, e[24] = L) : L = e[24], x = L;
|
|
323
|
+
break e;
|
|
324
|
+
}
|
|
325
|
+
let s;
|
|
326
|
+
e[25] !== R || e[26] !== a.page || e[27] !== a.pageSize || e[28] !== a.sort ? (s = He(R ?? [], {
|
|
327
|
+
sort: a.sort,
|
|
328
|
+
page: a.page,
|
|
329
|
+
pageSize: a.pageSize
|
|
330
|
+
}), e[25] = R, e[26] = a.page, e[27] = a.pageSize, e[28] = a.sort, e[29] = s) : s = e[29];
|
|
331
|
+
const {
|
|
332
|
+
sorted: I,
|
|
333
|
+
visible: W
|
|
334
|
+
} = s;
|
|
335
|
+
let S;
|
|
336
|
+
e[30] !== I.length || e[31] !== W ? (S = {
|
|
337
|
+
rows: W,
|
|
338
|
+
totalRows: I.length
|
|
339
|
+
}, e[30] = I.length, e[31] = W, e[32] = S) : S = e[32], x = S;
|
|
340
|
+
}
|
|
341
|
+
const {
|
|
342
|
+
rows: N,
|
|
343
|
+
totalRows: h
|
|
344
|
+
} = x;
|
|
345
|
+
let _;
|
|
346
|
+
e[33] !== m || e[34] !== d ? (_ = (s) => {
|
|
347
|
+
fe(m).setState({
|
|
348
|
+
sort: s,
|
|
349
|
+
page: 0
|
|
350
|
+
}), d?.(s);
|
|
351
|
+
}, e[33] = m, e[34] = d, e[35] = _) : _ = e[35];
|
|
352
|
+
const H = _;
|
|
353
|
+
let v;
|
|
354
|
+
e[36] !== m || e[37] !== n ? (v = (s) => {
|
|
355
|
+
fe(m).setState({
|
|
356
|
+
page: s
|
|
357
|
+
}), n?.(s);
|
|
358
|
+
}, e[36] = m, e[37] = n, e[38] = v) : v = e[38];
|
|
359
|
+
const U = v;
|
|
360
|
+
let z;
|
|
361
|
+
e[39] !== m || e[40] !== c ? (z = (s) => {
|
|
362
|
+
fe(m).setState({
|
|
363
|
+
pageSize: s,
|
|
364
|
+
page: 0
|
|
365
|
+
}), c?.(s);
|
|
366
|
+
}, e[39] = m, e[40] = c, e[41] = z) : z = e[41];
|
|
367
|
+
const B = z;
|
|
368
|
+
let y;
|
|
369
|
+
return e[42] !== U || e[43] !== B || e[44] !== H || e[45] !== l || e[46] !== g || e[47] !== p || e[48] !== E || e[49] !== N || e[50] !== u || e[51] !== h || e[52] !== a.page || e[53] !== a.pageSize || e[54] !== a.sort || e[55] !== T ? (y = /* @__PURE__ */ f(je, { ...T, columns: E, rows: N, total: h, page: a.page, pageSize: a.pageSize, sort: a.sort, selection: u, onSortChange: H, onPageChange: U, onPageSizeChange: B, onSelectionChange: p, onRowClick: l, onRowHover: g }), e[42] = U, e[43] = B, e[44] = H, e[45] = l, e[46] = g, e[47] = p, e[48] = E, e[49] = N, e[50] = u, e[51] = h, e[52] = a.page, e[53] = a.pageSize, e[54] = a.sort, e[55] = T, e[56] = y) : y = e[56], y;
|
|
370
|
+
}
|
|
371
|
+
function Ve(t) {
|
|
372
|
+
return t.data;
|
|
373
|
+
}
|
|
374
|
+
export {
|
|
375
|
+
ve as D,
|
|
376
|
+
it as T,
|
|
377
|
+
Le as a,
|
|
378
|
+
$e as b,
|
|
379
|
+
je as c,
|
|
380
|
+
Be as d,
|
|
381
|
+
He as e,
|
|
382
|
+
We as f,
|
|
383
|
+
Fe as p,
|
|
384
|
+
Me as r,
|
|
385
|
+
$ as s,
|
|
386
|
+
ot as t
|
|
387
|
+
};
|
|
388
|
+
//# sourceMappingURL=table-CQCAnDLb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-CQCAnDLb.js","sources":["../src/widgets-v2/table/labels.tsx","../src/widgets-v2/table/types.ts","../src/widgets-v2/table/style.ts","../src/widgets-v2/table/table-ui.tsx","../src/widgets-v2/table/helpers.ts","../src/widgets-v2/table/table.tsx"],"sourcesContent":["import { Box, type SxProps, type Theme } from '@mui/material'\nimport type { ReactNode } from 'react'\n\nexport interface TableLabels {\n selectAll: string\n selectRow: (rowId: string | number) => string\n rowsPerPage: string\n /**\n * Renders the displayed-rows summary in the pagination footer. Returns\n * a `ReactNode` so the default can emphasise the active range\n * (`from-to`) with a bolder weight while keeping the trailing\n * ` of total` muted. Override to localise wording or restyle.\n */\n paginationOf: (from: number, to: number, total: number) => ReactNode\n /** aria-label for the first-page pagination button. */\n firstPage: string\n /** aria-label for the previous-page pagination button. */\n previousPage: string\n /** aria-label for the next-page pagination button. */\n nextPage: string\n /** aria-label for the last-page pagination button. */\n lastPage: string\n}\n\nconst boldRange: SxProps<Theme> = { fontWeight: 600, color: 'text.primary' }\n\nexport const DEFAULT_TABLE_LABELS: TableLabels = {\n selectAll: 'Select all rows',\n selectRow: (id) => `Select row ${id}`,\n rowsPerPage: 'Rows per page:',\n paginationOf: (from, to, total) => (\n <>\n <Box component='span' sx={boldRange}>{`${from}–${to}`}</Box>\n {` of ${total}`}\n </>\n ),\n firstPage: 'First page',\n previousPage: 'Previous page',\n nextPage: 'Next page',\n lastPage: 'Last page',\n}\n","import type { ReactNode } from 'react'\nimport type { WidgetState } from '../stores'\n\n/**\n * Single row of tabular data.\n *\n * The default row-identity column is `id`. Consumers that don't have a\n * literal `id` field can point `<Table>` / `<TableUI>` at a different\n * column via the `keyColumn` prop; the library reads `row[keyColumn]`\n * for selection lookup, React keys, and aria labels.\n */\nexport interface TableRow extends Record<string, unknown> {\n /**\n * Default row identity. Required when no `keyColumn` is configured.\n * Omit when wiring `keyColumn` to a different column.\n */\n id?: string | number\n}\n\nexport type TableWidgetData = readonly TableRow[]\n\nexport type TableSortDirection = 'asc' | 'desc'\n\nexport interface TableSortState {\n columnId: string | null\n direction: TableSortDirection\n}\n\nexport interface TableColumn {\n /** Unique column identifier; matches the field name on each row. */\n id: string\n /** Header label. */\n label: ReactNode\n align?: 'left' | 'center' | 'right'\n width?: number | string\n sortable?: boolean\n /** Custom cell renderer. Falls back to a string-cast of the raw value. */\n formatter?: (value: unknown, row: TableRow) => ReactNode\n}\n\n/**\n * State extension carrying Table-specific UI state on the per-widget store.\n * Per R12: widget-specific UI state lives in widget-specific extensions of\n * `WidgetState`, not on the base type.\n */\nexport interface TableWidgetState extends WidgetState {\n /** Optional reordered column list driven by ChangeColumn. Falls back to props. */\n columnOrder?: readonly string[]\n sort?: TableSortState\n page: number\n pageSize: number\n}\n\nexport const DEFAULT_TABLE_PAGE_SIZE = 10\nexport const DEFAULT_TABLE_PAGE_SIZE_OPTIONS = [10, 25, 50, 100] as const\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n container: {\n width: '100%',\n overflowX: 'auto',\n },\n\n table: {\n minWidth: 0,\n },\n headerCell: {\n fontWeight: 600,\n backgroundColor: 'background.paper',\n },\n /**\n * Strip the bottom border from the last body row so the body flushes\n * against the pagination border instead of doubling it up. Mirrors v1.\n */\n row: {\n '&:last-child td, &:last-child th': {\n border: 0,\n },\n },\n rowClickable: {\n cursor: 'pointer',\n },\n pagination: {\n borderTop: '1px solid',\n borderColor: 'divider',\n },\n paginationActions: {\n display: 'flex',\n alignItems: 'center',\n gap: 0.25,\n ml: 1,\n },\n empty: {\n textAlign: 'center',\n color: 'text.secondary',\n py: 3,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useCallback, useMemo } from 'react'\nimport {\n Box,\n Checkbox,\n IconButton,\n Table as MuiTable,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TablePagination,\n TableRow as MuiTableRow,\n TableSortLabel,\n type TableProps as MuiTableProps,\n} from '@mui/material'\nimport type { TablePaginationActionsProps } from '@mui/material/TablePagination/TablePaginationActions'\nimport FirstPageIcon from '@mui/icons-material/FirstPage'\nimport KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft'\nimport KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight'\nimport LastPageIcon from '@mui/icons-material/LastPage'\nimport { DEFAULT_TABLE_LABELS, type TableLabels } from './labels'\nimport {\n DEFAULT_TABLE_PAGE_SIZE_OPTIONS,\n type TableColumn,\n type TableRow,\n type TableSortDirection,\n type TableSortState,\n} from './types'\nimport { styles } from './style'\n\nexport interface TableUIProps<T extends TableRow = TableRow> {\n columns: readonly TableColumn[]\n /** Already-paginated, already-sorted rows for the current view. */\n rows: readonly T[]\n /** Total row count (across all pages). Required for pagination footer. */\n total: number\n page: number\n pageSize: number\n pageSizeOptions?: readonly number[]\n sort?: TableSortState\n /**\n * Column name to use as the row identity. Drives selection lookup,\n * React keys, and aria labels. Defaults to `'id'` — point it at\n * another column when your rows don't carry an `id` field.\n */\n keyColumn?: string\n /** Selected row ids. Destination-owned. */\n selection?: readonly (string | number)[]\n selectable?: boolean\n onSortChange?: (next: TableSortState) => void\n onPageChange?: (page: number) => void\n onPageSizeChange?: (pageSize: number) => void\n onSelectionChange?: (next: readonly (string | number)[]) => void\n onRowClick?: (row: T) => void\n onRowHover?: (row: T | null) => void\n labels?: Partial<TableLabels>\n /** Row rendered when `rows` is empty for the current page. */\n emptyContent?: React.ReactNode\n /**\n * Forwarded to MUI's `<Table size>` — `'small'` for compact rows,\n * `'medium'` for the default density. Leave `undefined` (the default)\n * to let MUI's own default kick in.\n */\n size?: MuiTableProps['size']\n}\n\n/**\n * Pure renderer for a paginated, sortable, optionally-selectable table.\n * Has no widget-store coupling — `<Table>` (the bridge) reads from the store\n * and feeds this UI with already-projected data.\n */\nexport function TableUI<T extends TableRow = TableRow>({\n columns,\n rows,\n total,\n page,\n pageSize,\n pageSizeOptions = DEFAULT_TABLE_PAGE_SIZE_OPTIONS,\n sort,\n keyColumn = 'id',\n selection,\n selectable = false,\n onSortChange,\n onPageChange,\n onPageSizeChange,\n onSelectionChange,\n onRowClick,\n onRowHover,\n labels,\n emptyContent,\n size,\n}: TableUIProps<T>) {\n if (process.env.NODE_ENV !== 'production') {\n // Dev-time guard: a nullish identity collapses every row into the\n // same selection-set entry, which manifests as \"click one → all\n // appear selected\". Surface it loudly instead of silently degrading.\n const missing = rows.some((r) => r[keyColumn] == null)\n if (missing) {\n // eslint-disable-next-line no-console\n console.error(\n `<TableUI>: rows are missing the identity column \\`${keyColumn}\\`. ` +\n 'Set the `keyColumn` prop to a column present on every row, or ' +\n 'add the column to the data.',\n )\n }\n }\n const _labels = useMemo(\n () => ({ ...DEFAULT_TABLE_LABELS, ...labels }),\n [labels],\n )\n // Auto-hide the pagination footer when every row already fits in the\n // smallest available page size — the Rows-per-page selector + prev /\n // next buttons would just be inert noise. Consumers force the footer\n // on by passing a smaller `pageSizeOptions[0]` than `total`.\n const minPageSize = Math.min(...pageSizeOptions)\n const showPagination = total > minPageSize\n // Own the `ActionsComponent` slot ourselves so the Meridian theme's\n // `theme.components.MuiTablePagination.defaultProps.ActionsComponent`\n // (which depends on `react-intl`) doesn't leak into the library. The\n // MUI / Meridian style overrides for `MuiIconButton` /\n // `MuiTablePagination` still apply.\n const PaginationActions = useMemo(\n () => makePaginationActions(_labels),\n [_labels],\n )\n const selectionSet = useMemo(\n () => new Set<string | number>(selection ?? []),\n [selection],\n )\n // Resolve each row's identity from `keyColumn`, falling back to the row's\n // index when the cell is nullish. The dev-time guard above surfaces the\n // misconfiguration loudly, but in production we must NOT collapse every\n // nullish-keyed row into the same selection-set entry (that's the\n // \"click one → all selected\" bug) — a per-index fallback keeps ids\n // distinct and React keys stable for a given page.\n const resolveRowId = useCallback(\n (row: T, index: number): string | number =>\n (row[keyColumn] ?? index) as string | number,\n [keyColumn],\n )\n const pageRowIds = useMemo(() => rows.map(resolveRowId), [rows, resolveRowId])\n const allOnPageSelected =\n pageRowIds.length > 0 && pageRowIds.every((id) => selectionSet.has(id))\n const someOnPageSelected =\n !allOnPageSelected && pageRowIds.some((id) => selectionSet.has(id))\n\n const handleSort = (columnId: string) => {\n if (!onSortChange) return\n const sameCol = sort?.columnId === columnId\n const nextDir: TableSortDirection =\n sameCol && sort?.direction === 'asc' ? 'desc' : 'asc'\n onSortChange({ columnId, direction: nextDir })\n }\n\n const handleSelectAllOnPage = () => {\n if (!onSelectionChange) return\n if (allOnPageSelected) {\n onSelectionChange(\n (selection ?? []).filter((id) => !pageRowIds.includes(id)),\n )\n } else {\n const merged = new Set<string | number>(selection ?? [])\n for (const id of pageRowIds) merged.add(id)\n onSelectionChange([...merged])\n }\n }\n\n const handleSelectRow = (rowId: string | number) => {\n if (!onSelectionChange) return\n const next = new Set<string | number>(selection ?? [])\n if (next.has(rowId)) next.delete(rowId)\n else next.add(rowId)\n onSelectionChange([...next])\n }\n\n return (\n <Box sx={styles.container}>\n <TableContainer>\n <MuiTable stickyHeader size={size} sx={styles.table}>\n <TableHead>\n <MuiTableRow>\n {selectable ? (\n <TableCell padding='checkbox' sx={styles.headerCell}>\n <Checkbox\n checked={allOnPageSelected}\n indeterminate={someOnPageSelected}\n onChange={handleSelectAllOnPage}\n inputProps={{ 'aria-label': _labels.selectAll }}\n />\n </TableCell>\n ) : null}\n {columns.map((column) => {\n const isSorted = sort?.columnId === column.id\n const direction = isSorted ? sort?.direction : undefined\n return (\n <TableCell\n key={column.id}\n align={column.align}\n sortDirection={direction}\n sx={styles.headerCell}\n style={\n column.width != null ? { width: column.width } : undefined\n }\n >\n {column.sortable && onSortChange ? (\n <TableSortLabel\n active={isSorted}\n direction={direction ?? 'asc'}\n onClick={() => handleSort(column.id)}\n >\n {column.label}\n </TableSortLabel>\n ) : (\n column.label\n )}\n </TableCell>\n )\n })}\n </MuiTableRow>\n </TableHead>\n <TableBody>\n {rows.length === 0 ? (\n <MuiTableRow>\n <TableCell\n colSpan={columns.length + (selectable ? 1 : 0)}\n sx={styles.empty}\n >\n {emptyContent ?? null}\n </TableCell>\n </MuiTableRow>\n ) : (\n rows.map((row, index) => {\n const rowId = resolveRowId(row, index)\n const isSelected = selectionSet.has(rowId)\n return (\n <MuiTableRow\n key={rowId}\n hover\n selected={isSelected}\n onClick={() => onRowClick?.(row)}\n onMouseEnter={() => onRowHover?.(row)}\n onMouseLeave={() => onRowHover?.(null)}\n sx={{\n ...styles.row,\n ...(onRowClick ? styles.rowClickable : null),\n }}\n >\n {selectable ? (\n <TableCell padding='checkbox'>\n <Checkbox\n checked={isSelected}\n onClick={(e) => {\n e.stopPropagation()\n handleSelectRow(rowId)\n }}\n inputProps={{\n 'aria-label': _labels.selectRow(rowId),\n }}\n />\n </TableCell>\n ) : null}\n {columns.map((column) => (\n <TableCell key={column.id} align={column.align}>\n {column.formatter\n ? column.formatter(row[column.id], row)\n : stringifyCell(row[column.id])}\n </TableCell>\n ))}\n </MuiTableRow>\n )\n })\n )}\n </TableBody>\n </MuiTable>\n </TableContainer>\n {showPagination ? (\n <TablePagination\n component='div'\n count={total}\n page={page}\n rowsPerPage={pageSize}\n rowsPerPageOptions={[...pageSizeOptions]}\n onPageChange={(_, next) => onPageChange?.(next)}\n onRowsPerPageChange={(e) => {\n const next = parseInt(e.target.value, 10)\n onPageSizeChange?.(next)\n }}\n labelRowsPerPage={_labels.rowsPerPage}\n labelDisplayedRows={({ from, to, count }) =>\n _labels.paginationOf(from, to, count)\n }\n ActionsComponent={PaginationActions}\n sx={styles.pagination}\n />\n ) : null}\n </Box>\n )\n}\n\nfunction stringifyCell(value: unknown): React.ReactNode {\n if (value == null) return ''\n if (typeof value === 'string' || typeof value === 'number') return value\n if (typeof value === 'boolean') return String(value)\n if (Array.isArray(value) || typeof value === 'object') {\n return JSON.stringify(value)\n }\n return ''\n}\n\n/**\n * Build the `ActionsComponent` used by `<TablePagination>` — four MUI\n * `IconButton`s for first / previous / next / last. We provide this\n * ourselves so the Meridian theme's `defaultProps.ActionsComponent`\n * (which depends on `react-intl`) is bypassed at the call site without\n * disturbing the rest of the Meridian theme. The factory closes over\n * the merged label set so aria-labels stay consistent with the rest\n * of the table's i18n surface.\n */\nfunction makePaginationActions(labels: TableLabels) {\n return function PaginationActions({\n count,\n page,\n rowsPerPage,\n onPageChange,\n }: TablePaginationActionsProps) {\n const lastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1)\n return (\n <Box sx={styles.paginationActions}>\n <IconButton\n size='small'\n onClick={(e) => onPageChange(e, 0)}\n disabled={page === 0}\n aria-label={labels.firstPage}\n >\n <FirstPageIcon fontSize='small' />\n </IconButton>\n <IconButton\n size='small'\n onClick={(e) => onPageChange(e, page - 1)}\n disabled={page === 0}\n aria-label={labels.previousPage}\n >\n <KeyboardArrowLeft fontSize='small' />\n </IconButton>\n <IconButton\n size='small'\n onClick={(e) => onPageChange(e, page + 1)}\n disabled={page >= lastPage}\n aria-label={labels.nextPage}\n >\n <KeyboardArrowRight fontSize='small' />\n </IconButton>\n <IconButton\n size='small'\n onClick={(e) => onPageChange(e, lastPage)}\n disabled={page >= lastPage}\n aria-label={labels.lastPage}\n >\n <LastPageIcon fontSize='small' />\n </IconButton>\n </Box>\n )\n }\n}\n","import type {\n TableColumn,\n TableRow,\n TableSortDirection,\n TableWidgetData,\n} from './types'\n\n/**\n * Compares two values with a consistent ordering across primitive types.\n * Strings use locale comparison; numbers subtract; booleans rank false < true;\n * objects/arrays compare by JSON serialization. Null/undefined sort to the end\n * regardless of direction.\n */\nexport function compareValues(\n a: unknown,\n b: unknown,\n direction: TableSortDirection,\n): number {\n if (a == null && b == null) return 0\n if (a == null) return 1\n if (b == null) return -1\n let cmp = 0\n if (typeof a === 'string' && typeof b === 'string') {\n cmp = a.localeCompare(b)\n } else if (typeof a === 'number' && typeof b === 'number') {\n cmp = a - b\n } else if (typeof a === 'boolean' && typeof b === 'boolean') {\n cmp = a === b ? 0 : a ? 1 : -1\n } else if (typeof a === 'object' || typeof b === 'object') {\n cmp = JSON.stringify(a).localeCompare(JSON.stringify(b))\n }\n return direction === 'asc' ? cmp : -cmp\n}\n\n/** Returns a new array sorted by the named column. Does not mutate the input. */\nexport function sortRows<T extends TableRow>(\n rows: readonly T[],\n columnId: string,\n direction: TableSortDirection,\n): T[] {\n return [...rows].sort((a, b) =>\n compareValues(a[columnId], b[columnId], direction),\n )\n}\n\n/** Returns the slice for the requested page. Out-of-range pages return []. */\nexport function paginateRows<T>(\n rows: readonly T[],\n page: number,\n pageSize: number,\n): T[] {\n if (pageSize <= 0) return rows.slice()\n const start = page * pageSize\n return rows.slice(start, start + pageSize)\n}\n\n/**\n * Resolves the effective column list. When the widget store has a\n * `columnOrder` set (e.g. ChangeColumn was used), the column array is\n * reordered to match. Unknown ids in the order are skipped; columns not\n * present in the order keep their original relative position at the end.\n */\nexport function resolveColumns(\n columns: readonly TableColumn[],\n columnOrder: readonly string[] | undefined,\n): readonly TableColumn[] {\n if (!columnOrder || columnOrder.length === 0) return columns\n const byId = new Map(columns.map((c) => [c.id, c]))\n const ordered: TableColumn[] = []\n const seen = new Set<string>()\n for (const id of columnOrder) {\n const c = byId.get(id)\n if (c && !seen.has(id)) {\n ordered.push(c)\n seen.add(id)\n }\n }\n for (const c of columns) {\n if (!seen.has(c.id)) ordered.push(c)\n }\n return ordered\n}\n\n/** Applies sort and pagination to the input data. Pure. */\nexport function deriveVisibleRows<T extends TableRow>(\n rows: readonly T[],\n options: {\n sort?: { columnId: string | null; direction: TableSortDirection }\n page: number\n pageSize: number\n },\n): { sorted: readonly T[]; visible: T[] } {\n const sorted =\n options.sort?.columnId != null\n ? sortRows(rows, options.sort.columnId, options.sort.direction)\n : rows\n const visible = paginateRows(sorted, options.page, options.pageSize)\n return { sorted, visible }\n}\n\nexport function tableDataToCsv(\n data: TableWidgetData,\n columns: readonly TableColumn[],\n): string {\n const head = columns.map((c) => csvEscape(stringifyHeader(c.label))).join(',')\n const lines = [head]\n for (const row of data) {\n const cells = columns.map((c) => csvEscape(stringifyCell(row[c.id])))\n lines.push(cells.join(','))\n }\n return lines.join('\\n')\n}\n\nfunction csvEscape(value: string): string {\n if (/[\",\\n\\r]/.test(value)) {\n return `\"${value.replace(/\"/g, '\"\"')}\"`\n }\n return value\n}\n\nfunction stringifyHeader(label: unknown): string {\n if (typeof label === 'string') return label\n if (typeof label === 'number' || typeof label === 'boolean')\n return String(label)\n return ''\n}\n\nfunction stringifyCell(value: unknown): string {\n if (value == null) return ''\n if (typeof value === 'string') return value\n if (typeof value === 'number' || typeof value === 'boolean')\n return String(value)\n if (Array.isArray(value) || typeof value === 'object')\n return JSON.stringify(value)\n return ''\n}\n","import { useCallback, useMemo } from 'react'\nimport {\n getWidgetStore,\n useWidget,\n useWidgetId,\n useWidgetShallow,\n} from '../stores'\nimport { TableUI, type TableUIProps } from './table-ui'\nimport {\n DEFAULT_TABLE_PAGE_SIZE,\n type TableColumn,\n type TableRow,\n type TableSortState,\n type TableWidgetState,\n} from './types'\nimport { deriveVisibleRows, resolveColumns } from './helpers'\n\nexport interface TableProps<T extends TableRow = TableRow> extends Pick<\n TableUIProps<T>,\n | 'pageSizeOptions'\n | 'selectable'\n | 'labels'\n | 'emptyContent'\n | 'size'\n | 'keyColumn'\n> {\n /**\n * Column definitions. Order can be overridden by ChangeColumn via the\n * `columnOrder` field on the extended widget state.\n */\n columns: readonly TableColumn[]\n /**\n * When set, render only the first `visibleColumns` entries **after**\n * applying the user's `columnOrder` from the store. Useful for showing\n * a compact projection while letting consumers (e.g. `Widget.ChangeColumn`)\n * see the full column list. When omitted, every column renders.\n */\n visibleColumns?: number\n /** Initial page size (only on first mount; afterwards lives on the store). */\n initialPageSize?: number\n /** Selected row ids (destination-owned). */\n selection?: readonly (string | number)[]\n onSelectionChange?: (next: readonly (string | number)[]) => void\n onRowClick?: (row: T) => void\n onRowHover?: (row: T | null) => void\n /**\n * When `true`, the bridge stops sorting and paginating locally and\n * renders `data` as-is — the consumer is then responsible for\n * refetching the slice that matches the active `page` / `pageSize` /\n * `sort` from the outbound callbacks below. `total` is required in\n * this mode (the server already knows the full row count; the\n * widget can't infer it from a partial page).\n */\n remote?: boolean\n /**\n * Server-reported total row count. Required when `remote === true`;\n * ignored in local mode (where the bridge derives total from the\n * sorted result of `deriveVisibleRows`).\n */\n total?: number\n /** Fires after the store-level sort write so the consumer can refetch. */\n onSortChange?: (next: TableSortState) => void\n /** Fires after the store-level page write so the consumer can refetch. */\n onPageChange?: (page: number) => void\n /** Fires after the store-level pageSize write so the consumer can refetch. */\n onPageSizeChange?: (pageSize: number) => void\n}\n\n/**\n * Bridge component — reads the widget store's `data`, applies sort + pagination\n * locally, and feeds `<TableUI />`. Sort, page, and pageSize live on the\n * extended widget state ({@link TableWidgetState}).\n */\nexport function Table<T extends TableRow = TableRow>({\n columns,\n visibleColumns,\n initialPageSize = DEFAULT_TABLE_PAGE_SIZE,\n selection,\n onSelectionChange,\n onRowClick,\n onRowHover,\n remote = false,\n total: remoteTotal,\n onSortChange,\n onPageChange,\n onPageSizeChange,\n ...uiProps\n}: TableProps<T>) {\n const id = useWidgetId()\n const data = useWidget(id, (s) => s.data as readonly T[] | undefined)\n const ui = useWidgetShallow<\n {\n sort: TableSortState | undefined\n page: number\n pageSize: number\n columnOrder: readonly string[] | undefined\n },\n TableWidgetState\n >(id, (s) => ({\n sort: s.sort,\n page: s.page ?? 0,\n pageSize: s.pageSize ?? initialPageSize,\n columnOrder: s.columnOrder,\n }))\n\n const orderedColumns = useMemo(() => {\n const reordered = resolveColumns(columns, ui.columnOrder)\n return visibleColumns == null\n ? reordered\n : reordered.slice(0, visibleColumns)\n }, [columns, ui.columnOrder, visibleColumns])\n\n // In remote mode the consumer already paginated / sorted server-side,\n // so pass `data` and `total` straight through. Local mode keeps the\n // bridge-driven sort + slice via `deriveVisibleRows`.\n const { rows, totalRows } = useMemo(() => {\n if (remote) {\n return {\n rows: data ?? [],\n totalRows: remoteTotal ?? 0,\n }\n }\n const { sorted, visible } = deriveVisibleRows(data ?? [], {\n sort: ui.sort,\n page: ui.page,\n pageSize: ui.pageSize,\n })\n return { rows: visible, totalRows: sorted.length }\n }, [remote, data, remoteTotal, ui.sort, ui.page, ui.pageSize])\n\n const handleSortChange = useCallback(\n (next: TableSortState) => {\n getWidgetStore(id).setState({\n sort: next,\n page: 0,\n } as Partial<TableWidgetState>)\n onSortChange?.(next)\n },\n [id, onSortChange],\n )\n\n const handlePageChange = useCallback(\n (page: number) => {\n getWidgetStore(id).setState({ page } as Partial<TableWidgetState>)\n onPageChange?.(page)\n },\n [id, onPageChange],\n )\n\n const handlePageSizeChange = useCallback(\n (pageSize: number) => {\n getWidgetStore(id).setState({\n pageSize,\n page: 0,\n } as Partial<TableWidgetState>)\n onPageSizeChange?.(pageSize)\n },\n [id, onPageSizeChange],\n )\n\n return (\n <TableUI\n {...uiProps}\n columns={orderedColumns}\n rows={rows}\n total={totalRows}\n page={ui.page}\n pageSize={ui.pageSize}\n sort={ui.sort}\n selection={selection}\n onSortChange={handleSortChange}\n onPageChange={handlePageChange}\n onPageSizeChange={handlePageSizeChange}\n onSelectionChange={onSelectionChange}\n onRowClick={onRowClick}\n onRowHover={onRowHover}\n />\n )\n}\n"],"names":["boldRange","fontWeight","color","DEFAULT_TABLE_LABELS","selectAll","selectRow","id","rowsPerPage","paginationOf","from","to","total","jsxs","Fragment","jsx","Box","firstPage","previousPage","nextPage","lastPage","DEFAULT_TABLE_PAGE_SIZE","DEFAULT_TABLE_PAGE_SIZE_OPTIONS","styles","container","width","overflowX","table","minWidth","headerCell","backgroundColor","row","border","rowClickable","cursor","pagination","borderTop","borderColor","paginationActions","display","alignItems","gap","ml","empty","textAlign","py","TableUI","t0","$","_c","columns","rows","page","pageSize","pageSizeOptions","t1","sort","keyColumn","t2","selection","selectable","t3","onSortChange","onPageChange","onPageSizeChange","onSelectionChange","onRowClick","onRowHover","labels","emptyContent","size","undefined","process","env","NODE_ENV","some","r","console","error","t4","_labels","minPageSize","Math","min","showPagination","t5","makePaginationActions","PaginationActions","t6","t7","Set","selectionSet","t8","index","resolveRowId","t9","map","pageRowIds","t10","length","every","has","allOnPageSelected","t11","id_0","someOnPageSelected","t12","columnId","direction","nextDir","handleSort","t13","filter","id_1","includes","merged","id_2","add","handleSelectAllOnPage","t14","rowId","next","delete","handleSelectRow","t15","TableCell","Checkbox","t16","t17","column","isSorted","align","sortable","TableSortLabel","label","TableHead","MuiTableRow","t18","row_0","index_0","rowId_0","isSelected","e","stopPropagation","column_0","formatter","stringifyCell","t19","TableBody","t20","TableContainer","MuiTable","t21","TablePagination","_","next_0","e_0","next_1","parseInt","target","value","t22","count","String","Array","isArray","JSON","stringify","max","ceil","IconButton","FirstPageIcon","KeyboardArrowLeft","KeyboardArrowRight","LastPageIcon","compareValues","a","b","cmp","localeCompare","sortRows","paginateRows","slice","start","resolveColumns","columnOrder","byId","Map","c","ordered","seen","get","push","deriveVisibleRows","options","sorted","visible","tableDataToCsv","data","lines","csvEscape","stringifyHeader","join","cells","test","replace","Table","remoteTotal","uiProps","visibleColumns","initialPageSize","remote","useWidgetId","useWidget","_temp","s_0","s","ui","useWidgetShallow","reordered","orderedColumns","bb0","totalRows","getWidgetStore","setState","handleSortChange","handlePageChange","handlePageSizeChange"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-BDnrRKrp.js","sources":["../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { Tooltip as MuiTooltip, type TooltipProps } from '@mui/material'\n\nlet tooltipEnterDelay = 500\n\n/**\n * A wrapper around MUI's Tooltip component with enterNextDelay set to 1000ms by default.\n *\n * This component ensures consistent tooltip behavior across the application.\n *\n * @example\n * <Tooltip title=\"This is a tooltip\">\n * <Button>Hover me</Button>\n * </Tooltip>\n */\nexport function Tooltip({\n children,\n title,\n enterNextDelay = tooltipEnterDelay,\n ...props\n}: TooltipProps) {\n return (\n <MuiTooltip title={title} enterNextDelay={enterNextDelay} {...props}>\n {children}\n </MuiTooltip>\n )\n}\n\nexport function setTooltipEnterDelay(delay: number) {\n tooltipEnterDelay = delay\n}\n"],"names":["tooltipEnterDelay","Tooltip","t0","$","_c","children","props","t1","title","enterNextDelay","undefined","t2","MuiTooltip","setTooltipEnterDelay","delay"],"mappings":";;;AAEA,IAAIA,IAAoB;AAYjB,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAL,SAAAD,KAAiB;AAAA,IAAAG,UAAAA;AAAAA,IAAAG,OAAAA;AAAAA,IAAAC,gBAAAF;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAAAJ,GAKTC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,MAAAH,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA;AAFb,QAAAM,IAAAF,MAAAG,SAAAV,IAAAO;AAAkC,MAAAI;AAAA,SAAAR,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAM,KAAAN,EAAA,CAAA,MAAAG,KAAAH,SAAAK,KAIhCG,sBAACC,GAAA,EAAkBJ,OAAAA,GAAuBC,gBAAAA,MAAoBH,gBAE9D,GAAaH,OAAAE,GAAAF,OAAAM,GAAAN,OAAAG,GAAAH,OAAAK,GAAAL,OAAAQ,KAAAA,IAAAR,EAAA,CAAA,GAFbQ;AAEa;
|
|
1
|
+
{"version":3,"file":"tooltip-BDnrRKrp.js","sources":["../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { Tooltip as MuiTooltip, type TooltipProps } from '@mui/material'\n\nlet tooltipEnterDelay = 500\n\n/**\n * A wrapper around MUI's Tooltip component with enterNextDelay set to 1000ms by default.\n *\n * This component ensures consistent tooltip behavior across the application.\n *\n * @example\n * <Tooltip title=\"This is a tooltip\">\n * <Button>Hover me</Button>\n * </Tooltip>\n */\nexport function Tooltip({\n children,\n title,\n enterNextDelay = tooltipEnterDelay,\n ...props\n}: TooltipProps) {\n return (\n <MuiTooltip title={title} enterNextDelay={enterNextDelay} {...props}>\n {children}\n </MuiTooltip>\n )\n}\n\n/**\n * Sets the global default `enterNextDelay` for all Tooltip components in the application.\n *\n * @param delay - Delay in milliseconds before showing tooltips on subsequent hovers.\n *\n * @example\n * ```tsx\n * import { setTooltipEnterDelay } from '@carto/ps-react-ui/components';\n *\n * // Set global delay to 300ms at app initialization\n * setTooltipEnterDelay(300);\n * ```\n */\nexport function setTooltipEnterDelay(delay: number) {\n tooltipEnterDelay = delay\n}\n"],"names":["tooltipEnterDelay","Tooltip","t0","$","_c","children","props","t1","title","enterNextDelay","undefined","t2","MuiTooltip","setTooltipEnterDelay","delay"],"mappings":";;;AAEA,IAAIA,IAAoB;AAYjB,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAL,SAAAD,KAAiB;AAAA,IAAAG,UAAAA;AAAAA,IAAAG,OAAAA;AAAAA,IAAAC,gBAAAF;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAAAJ,GAKTC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,MAAAH,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA;AAFb,QAAAM,IAAAF,MAAAG,SAAAV,IAAAO;AAAkC,MAAAI;AAAA,SAAAR,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAM,KAAAN,EAAA,CAAA,MAAAG,KAAAH,SAAAK,KAIhCG,sBAACC,GAAA,EAAkBJ,OAAAA,GAAuBC,gBAAAA,MAAoBH,gBAE9D,GAAaH,OAAAE,GAAAF,OAAAM,GAAAN,OAAAG,GAAAH,OAAAK,GAAAL,OAAAQ,KAAAA,IAAAR,EAAA,CAAA,GAFbQ;AAEa;AAiBV,SAASE,EAAqBC,GAAe;AAClDd,EAAAA,IAAoBc;AACtB;"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
const s = "image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4=";
|
|
2
|
+
function y(e, t = {}) {
|
|
3
|
+
const a = t.axes ?? ["x"], I = a.includes("x"), l = a.includes("y"), d = {
|
|
4
|
+
throttle: 0,
|
|
5
|
+
showDetail: !1,
|
|
6
|
+
brushSelect: !1,
|
|
7
|
+
moveHandleSize: 8,
|
|
8
|
+
handleSize: "100%",
|
|
9
|
+
...n(e)
|
|
10
|
+
};
|
|
11
|
+
return (o) => {
|
|
12
|
+
if (o == null || typeof o != "object") return o;
|
|
13
|
+
const r = o, i = [];
|
|
14
|
+
return I && i.push({
|
|
15
|
+
type: "inside",
|
|
16
|
+
xAxisIndex: [0],
|
|
17
|
+
throttle: 0
|
|
18
|
+
}), l && i.push({
|
|
19
|
+
type: "inside",
|
|
20
|
+
yAxisIndex: [0],
|
|
21
|
+
throttle: 0
|
|
22
|
+
}), I && i.push({
|
|
23
|
+
type: "slider",
|
|
24
|
+
xAxisIndex: [0],
|
|
25
|
+
height: 32,
|
|
26
|
+
bottom: 0,
|
|
27
|
+
handleIcon: s,
|
|
28
|
+
...d
|
|
29
|
+
}), l && i.push({
|
|
30
|
+
type: "slider",
|
|
31
|
+
yAxisIndex: [0],
|
|
32
|
+
width: 32,
|
|
33
|
+
right: 0,
|
|
34
|
+
...d
|
|
35
|
+
}), {
|
|
36
|
+
...r,
|
|
37
|
+
dataZoom: i
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const g = (e) => e == null || typeof e != "object" ? e : {
|
|
42
|
+
...e,
|
|
43
|
+
dataZoom: [{
|
|
44
|
+
type: "inside"
|
|
45
|
+
}, {
|
|
46
|
+
type: "slider",
|
|
47
|
+
height: 32,
|
|
48
|
+
bottom: 0
|
|
49
|
+
}]
|
|
50
|
+
};
|
|
51
|
+
function n(e) {
|
|
52
|
+
const t = e.palette.secondary?.main ?? "#358BE7";
|
|
53
|
+
return {
|
|
54
|
+
fillerColor: "rgba(53, 139, 231, 0.25)",
|
|
55
|
+
borderColor: "rgba(53, 139, 231, 0.3)",
|
|
56
|
+
borderWidth: 0.5,
|
|
57
|
+
backgroundColor: "transparent",
|
|
58
|
+
borderRadius: 4,
|
|
59
|
+
dataBackground: {
|
|
60
|
+
lineStyle: {
|
|
61
|
+
opacity: 0
|
|
62
|
+
},
|
|
63
|
+
areaStyle: {
|
|
64
|
+
opacity: 1,
|
|
65
|
+
color: t
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
selectedDataBackground: {
|
|
69
|
+
lineStyle: {
|
|
70
|
+
opacity: 0
|
|
71
|
+
},
|
|
72
|
+
areaStyle: {
|
|
73
|
+
opacity: 1,
|
|
74
|
+
color: t
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
handleStyle: {
|
|
78
|
+
color: e.palette.common?.white ?? "#fff",
|
|
79
|
+
borderColor: "rgba(3, 111, 226, 0.08)",
|
|
80
|
+
borderWidth: 1,
|
|
81
|
+
shadowBlur: 3,
|
|
82
|
+
shadowColor: "rgba(0, 0, 0, 0.1)",
|
|
83
|
+
shadowOffsetX: 0,
|
|
84
|
+
shadowOffsetY: 1
|
|
85
|
+
},
|
|
86
|
+
textStyle: {
|
|
87
|
+
color: e.palette.black?.[60] ?? e.palette.text?.primary,
|
|
88
|
+
fontSize: parseInt(e.typography.overlineDelicate?.fontSize ?? "11"),
|
|
89
|
+
fontFamily: e.typography.overlineDelicate?.fontFamily ?? e.typography.caption?.fontFamily
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const S = {
|
|
94
|
+
/** Slider height in px (matches `createAddZoom` output). */
|
|
95
|
+
sliderHeight: 32,
|
|
96
|
+
/** Vertical gap between chart grid and the slider. */
|
|
97
|
+
sliderGap: 8,
|
|
98
|
+
/** Slider `bottom` when a legend is shown — sits above the legend row. */
|
|
99
|
+
sliderBottomWithLegend: 28
|
|
100
|
+
};
|
|
101
|
+
export {
|
|
102
|
+
S as Z,
|
|
103
|
+
g as a,
|
|
104
|
+
y as c
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=transforms-Cdx4fkU5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transforms-Cdx4fkU5.js","sources":["../src/widgets-v2/actions/zoom-toggle/transforms.ts"],"sourcesContent":["import type { Theme } from '@mui/material'\n\n/**\n * v1's slider handle — 9×36 SVG with a white pill body, secondary-colored\n * stroke, and three grip lines. Inlined as a data URL so the chart can\n * render it without a network fetch.\n */\nconst SLIDER_HANDLE_ICON =\n 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4='\n\nconst SLIDER_HEIGHT = 32\nconst SLIDER_BOTTOM = 0\n\n/** Which chart axis (or axes) zoom applies to. */\nexport type ZoomAxis = 'x' | 'y'\n\nexport interface CreateAddZoomOptions {\n /**\n * Axes to enable zoom on. Default `['x']` (matches bar / histogram /\n * timeseries — horizontal pan/zoom on the category axis). Pass\n * `['x', 'y']` for a scatterplot-style 2D zoom (mouse-wheel scales both\n * axes; a horizontal slider sits at the bottom for x-range and a\n * vertical slider sits on the right for y-range).\n */\n axes?: readonly ZoomAxis[]\n}\n\n/**\n * Theme-bound zoom config transform: adds one inside `dataZoom`\n * (mouse-wheel + drag) per axis plus a styled slider per axis with the\n * v1 chrome (blue-tinted filler, secondary-color data preview, white\n * pill handles, CARTO typography). The x-slider is horizontal at the\n * bottom; the y-slider is vertical on the right.\n *\n * Returned function has stable identity for a given theme + axes\n * combination; pair with `useMemo` at the call site.\n *\n * **No `start` / `end`** are emitted: ECharts defaults to `0–100` on the\n * first `setOption` and then keeps the runtime slider state across\n * subsequent merges (no `replaceMerge` for `dataZoom`). Re-running the\n * transform on data/formatter/RelativeData updates therefore preserves the\n * user's dragged range instead of snapping it back.\n */\nexport function createAddZoom(\n theme: Theme,\n options: CreateAddZoomOptions = {},\n): (option: unknown) => unknown {\n const axes = options.axes ?? ['x']\n const includeX = axes.includes('x')\n const includeY = axes.includes('y')\n const sliderStyles = getZoomSliderStyles(theme)\n const baseSliderProps = {\n throttle: 0,\n showDetail: false,\n brushSelect: false,\n moveHandleSize: 8,\n handleSize: '100%',\n ...sliderStyles,\n }\n return (option: unknown): unknown => {\n if (option == null || typeof option !== 'object') return option\n const cfg = option as Record<string, unknown>\n const dataZoom: object[] = []\n if (includeX) {\n dataZoom.push({ type: 'inside', xAxisIndex: [0], throttle: 0 })\n }\n if (includeY) {\n dataZoom.push({ type: 'inside', yAxisIndex: [0], throttle: 0 })\n }\n if (includeX) {\n dataZoom.push({\n type: 'slider',\n xAxisIndex: [0],\n height: SLIDER_HEIGHT,\n bottom: SLIDER_BOTTOM,\n handleIcon: SLIDER_HANDLE_ICON,\n ...baseSliderProps,\n })\n }\n if (includeY) {\n // Vertical slider — `width` is its thickness, `right` pins it to\n // the right edge. We omit `handleIcon` so ECharts renders its\n // default vertical handle (the inline SVG is shaped for a\n // horizontal slider and looks wrong when rotated).\n dataZoom.push({\n type: 'slider',\n yAxisIndex: [0],\n width: SLIDER_HEIGHT,\n right: SLIDER_BOTTOM,\n ...baseSliderProps,\n })\n }\n return { ...cfg, dataZoom }\n }\n}\n\n/**\n * Back-compat untyped transform — produces the bare `dataZoom` config from\n * the original v2 implementation. Use {@link createAddZoom} when a theme is\n * available so the slider matches the v1 styling.\n *\n * `start` / `end` are intentionally omitted so ECharts preserves the user's\n * runtime range across subsequent `setOption` merges (see {@link createAddZoom}).\n */\nexport const addZoom = (option: unknown): unknown => {\n if (option == null || typeof option !== 'object') return option\n const cfg = option as Record<string, unknown>\n return {\n ...cfg,\n dataZoom: [\n { type: 'inside' },\n {\n type: 'slider',\n height: SLIDER_HEIGHT,\n bottom: SLIDER_BOTTOM,\n },\n ],\n }\n}\n\n/** Style block matching v1's `getEChartZoomSliderStyles`. */\nfunction getZoomSliderStyles(theme: Theme) {\n const secondary = theme.palette.secondary?.main ?? '#358BE7'\n return {\n fillerColor: 'rgba(53, 139, 231, 0.25)',\n borderColor: 'rgba(53, 139, 231, 0.3)',\n borderWidth: 0.5,\n backgroundColor: 'transparent',\n borderRadius: 4,\n dataBackground: {\n lineStyle: { opacity: 0 },\n areaStyle: { opacity: 1, color: secondary },\n },\n selectedDataBackground: {\n lineStyle: { opacity: 0 },\n areaStyle: { opacity: 1, color: secondary },\n },\n handleStyle: {\n color: theme.palette.common?.white ?? '#fff',\n borderColor: 'rgba(3, 111, 226, 0.08)',\n borderWidth: 1,\n shadowBlur: 3,\n shadowColor: 'rgba(0, 0, 0, 0.1)',\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n },\n textStyle: {\n color: theme.palette.black?.[60] ?? theme.palette.text?.primary,\n fontSize: parseInt(\n (theme.typography.overlineDelicate?.fontSize as string | undefined) ??\n '11',\n ),\n fontFamily:\n theme.typography.overlineDelicate?.fontFamily ??\n theme.typography.caption?.fontFamily,\n },\n }\n}\n\n/**\n * Visual layout constants used by the data-fusion mergers (bar, histogram,\n * timeseries) when laying out the slider against the legend / grid.\n */\nexport const ZOOM_LAYOUT = {\n /** Slider height in px (matches `createAddZoom` output). */\n sliderHeight: SLIDER_HEIGHT,\n /** Vertical gap between chart grid and the slider. */\n sliderGap: 8,\n /** Slider `bottom` when a legend is shown — sits above the legend row. */\n sliderBottomWithLegend: 28,\n} as const\n"],"names":["SLIDER_HANDLE_ICON","createAddZoom","theme","options","axes","includeX","includes","includeY","baseSliderProps","throttle","showDetail","brushSelect","moveHandleSize","handleSize","getZoomSliderStyles","sliderStyles","option","cfg","dataZoom","push","type","xAxisIndex","yAxisIndex","height","SLIDER_HEIGHT","bottom","SLIDER_BOTTOM","handleIcon","width","right","addZoom","secondary","palette","main","fillerColor","borderColor","borderWidth","backgroundColor","borderRadius","dataBackground","lineStyle","opacity","areaStyle","color","selectedDataBackground","handleStyle","common","white","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","textStyle","black","text","primary","fontSize","parseInt","typography","overlineDelicate","fontFamily","caption","ZOOM_LAYOUT","sliderHeight","sliderGap","sliderBottomWithLegend"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ChatContentProps } from '../types';
|
|
2
|
-
export declare
|
|
1
|
+
import { ChatContentProps, ChatContentRef } from '../types';
|
|
2
|
+
export declare const ChatContent: import('react').ForwardRefExoticComponent<ChatContentProps & import('react').RefAttributes<ChatContentRef>>;
|