@carto/ps-react-ui 5.0.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{actions-yPZwFxSZ.js → actions-KsX1xdDM.js} +388 -368
- package/dist/actions-KsX1xdDM.js.map +1 -0
- package/dist/category-CsdDqDzo.js +833 -0
- package/dist/category-CsdDqDzo.js.map +1 -0
- package/dist/chat.js +548 -526
- package/dist/chat.js.map +1 -1
- package/dist/{components-FED-ArwH.js → components-CTUpdQuj.js} +1526 -1782
- package/dist/components-CTUpdQuj.js.map +1 -0
- package/dist/components.js +4 -5
- package/dist/{download-DdaK3qgC.js → download-Vlzn2jzb.js} +12 -12
- package/dist/download-Vlzn2jzb.js.map +1 -0
- package/dist/{echart-DeBgdOtX.js → echart-DjcbtKgi.js} +34 -35
- package/dist/echart-DjcbtKgi.js.map +1 -0
- package/dist/formula-CdHWtepq.js +282 -0
- package/dist/formula-CdHWtepq.js.map +1 -0
- package/dist/legend.js +261 -256
- package/dist/legend.js.map +1 -1
- package/dist/{markdown-2dfL6Cmb.js → markdown-CY-67NRE.js} +8 -8
- package/dist/markdown-CY-67NRE.js.map +1 -0
- package/dist/{markdown-content-BWUqwx9F.js → markdown-content-kYNLOX0T.js} +2 -2
- package/dist/markdown-content-kYNLOX0T.js.map +1 -0
- package/dist/{chart-config-B_fdIcD3.js → option-builders-DQivvvbb.js} +10 -56
- package/dist/option-builders-DQivvvbb.js.map +1 -0
- package/dist/{range-BCMAl5xf.js → range-DHQSsl2_.js} +8 -8
- package/dist/range-DHQSsl2_.js.map +1 -0
- package/dist/smart-tooltip-Dc_rHhyI.js +51 -0
- package/dist/smart-tooltip-Dc_rHhyI.js.map +1 -0
- package/dist/{spread-Ccpg9fi0.js → spread-DuM5oTI1.js} +10 -10
- package/dist/spread-DuM5oTI1.js.map +1 -0
- package/dist/{stores-tiFePP0A.js → stores-B8CHbgw-.js} +11 -11
- package/dist/stores-B8CHbgw-.js.map +1 -0
- package/dist/stores-mad-9yFn.js.map +1 -1
- package/dist/styles-BCEBm7xh.js +146 -0
- package/dist/styles-BCEBm7xh.js.map +1 -0
- package/dist/{table-Bx9Uj3U0.js → table-BE4uO9pp.js} +14 -14
- package/dist/table-BE4uO9pp.js.map +1 -0
- package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +1 -1
- package/dist/types/chat/types.d.ts +5 -2
- package/dist/types/components/index.d.ts +1 -3
- package/dist/types/components/lasso-tool/geometry-toolbar.d.ts +1 -1
- package/dist/types/components/lasso-tool/toolbar/context.d.ts +1 -1
- package/dist/types/components/types.d.ts +15 -0
- package/dist/types/legend/components/legend-actions/legend-actions.d.ts +2 -2
- package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +2 -1
- package/dist/types/legend/index.d.ts +1 -1
- package/dist/types/legend/provider/legend-provider.d.ts +2 -2
- package/dist/types/migration/v4/classes.d.ts +16 -0
- package/dist/types/migration/v4/icons.d.ts +31 -0
- package/dist/types/migration/v4/index.d.ts +17 -0
- package/dist/types/migration/v4/rules.d.ts +42 -0
- package/dist/types/migration/v4/transform.d.ts +4 -0
- package/dist/types/migration/v4/transforms/helpers.d.ts +97 -0
- package/dist/types/migration/v4/transforms/meridian-5.d.ts +22 -0
- package/dist/types/migration/v4/transforms/ps-react-ui.d.ts +20 -0
- package/dist/types/migration/v4/transforms/v5-v6.d.ts +27 -0
- package/dist/types/migration/v4/transforms/v6-v7.d.ts +54 -0
- package/dist/types/migration/v4/transforms/v7-v9-dom.d.ts +63 -0
- package/dist/types/migration/v4/transforms/v7-v9-props.d.ts +64 -0
- package/dist/types/migration/v4/widgets-v1.d.ts +12 -0
- package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +51 -24
- package/dist/types/widgets/actions/brush-toggle/style.d.ts +7 -16
- package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +2 -1
- package/dist/types/widgets/actions/change-column/change-column.d.ts +26 -17
- package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +10 -5
- package/dist/types/widgets/actions/change-column/types.d.ts +9 -18
- package/dist/types/widgets/actions/download/download.d.ts +18 -13
- package/dist/types/widgets/actions/download/exports.d.ts +33 -17
- package/dist/types/{widgets-v2 → widgets}/actions/download/png-item.d.ts +1 -1
- package/dist/types/widgets/actions/download/types.d.ts +30 -16
- package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +73 -10
- package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/style.d.ts +9 -0
- package/dist/types/widgets/actions/fullscreen/types.d.ts +13 -20
- package/dist/types/widgets/actions/index.d.ts +10 -20
- package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +54 -16
- package/dist/types/widgets/actions/relative-data/relative-data.d.ts +36 -21
- package/dist/types/{widgets-v2 → widgets}/actions/relative-data/transforms.d.ts +2 -2
- package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +21 -16
- package/dist/types/widgets/actions/searcher/searcher.d.ts +9 -19
- package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +10 -17
- package/dist/types/widgets/actions/zoom-toggle/style.d.ts +7 -8
- package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +31 -22
- package/dist/types/widgets/bar/index.d.ts +3 -2
- package/dist/types/widgets/bar/skeleton.d.ts +5 -0
- package/dist/types/widgets/bar/types.d.ts +46 -9
- package/dist/types/widgets/category/category-ui.d.ts +86 -3
- package/dist/types/{widgets-v2 → widgets}/category/components/category-bar-stacked.d.ts +2 -1
- package/dist/types/widgets/category/components/category-bar.d.ts +18 -4
- package/dist/types/widgets/category/components/category-legend.d.ts +30 -4
- package/dist/types/widgets/category/components/category-row-multi.d.ts +27 -10
- package/dist/types/widgets/category/components/category-row-other.d.ts +19 -2
- package/dist/types/widgets/category/components/category-row-single.d.ts +23 -9
- package/dist/types/{widgets-v2 → widgets}/category/components/category-row-stacked.d.ts +2 -1
- package/dist/types/widgets/category/index.d.ts +10 -14
- package/dist/types/widgets/category/skeleton.d.ts +11 -1
- package/dist/types/widgets/category/style.d.ts +155 -83
- package/dist/types/widgets/category/types.d.ts +49 -29
- package/dist/types/widgets/echart/echart-ui.d.ts +44 -9
- package/dist/types/widgets/echart/echart.d.ts +80 -5
- package/dist/types/widgets/echart/index.d.ts +4 -5
- package/dist/types/widgets/echart/shared-resize-observer.d.ts +2 -9
- package/dist/types/{widgets-v2 → widgets}/echart/style.d.ts +1 -0
- package/dist/types/widgets/formula/formula-ui.d.ts +18 -3
- package/dist/types/widgets/formula/index.d.ts +11 -11
- package/dist/types/{widgets-v2 → widgets}/formula/series.d.ts +2 -1
- package/dist/types/widgets/formula/skeleton.d.ts +4 -1
- package/dist/types/widgets/formula/style.d.ts +20 -12
- package/dist/types/widgets/formula/types.d.ts +41 -39
- package/dist/types/{widgets-v2 → widgets}/formula/value.d.ts +2 -1
- package/dist/types/widgets/histogram/index.d.ts +5 -4
- package/dist/types/widgets/histogram/skeleton.d.ts +9 -1
- package/dist/types/widgets/histogram/types.d.ts +60 -12
- package/dist/types/{widgets-v2 → widgets}/index.d.ts +3 -3
- package/dist/types/widgets/markdown/index.d.ts +5 -4
- package/dist/types/widgets/markdown/markdown-ui.d.ts +10 -7
- package/dist/types/widgets/markdown/markdown.d.ts +4 -3
- package/dist/types/widgets/markdown/skeleton.d.ts +4 -1
- package/dist/types/widgets/markdown/style.d.ts +61 -2
- package/dist/types/widgets/markdown/types.d.ts +2 -16
- package/dist/types/widgets/note/style.d.ts +14 -16
- package/dist/types/widgets/pie/index.d.ts +4 -3
- package/dist/types/widgets/pie/skeleton.d.ts +13 -1
- package/dist/types/widgets/pie/types.d.ts +57 -9
- package/dist/types/widgets/range/index.d.ts +4 -6
- package/dist/types/widgets/range/range-ui.d.ts +25 -3
- package/dist/types/widgets/range/skeleton.d.ts +9 -1
- package/dist/types/widgets/range/style.d.ts +40 -2
- package/dist/types/widgets/range/types.d.ts +26 -22
- package/dist/types/widgets/scatterplot/index.d.ts +5 -3
- package/dist/types/widgets/scatterplot/skeleton.d.ts +12 -1
- package/dist/types/widgets/scatterplot/types.d.ts +54 -9
- package/dist/types/widgets/selection-summary/selection-summary.d.ts +26 -10
- package/dist/types/widgets/selection-summary/style.d.ts +32 -3
- package/dist/types/widgets/spread/index.d.ts +7 -9
- package/dist/types/widgets/spread/skeleton.d.ts +9 -1
- package/dist/types/widgets/spread/spread-ui.d.ts +16 -3
- package/dist/types/widgets/spread/types.d.ts +20 -35
- package/dist/types/widgets/stores/index.d.ts +8 -3
- package/dist/types/widgets/stores/types.d.ts +45 -172
- package/dist/types/widgets/subheader/style.d.ts +5 -14
- package/dist/types/widgets/subheader/subheader.d.ts +9 -11
- package/dist/types/widgets/table/helpers.d.ts +28 -34
- package/dist/types/widgets/table/index.d.ts +8 -17
- package/dist/types/widgets/table/skeleton.d.ts +17 -5
- package/dist/types/widgets/table/style.d.ts +21 -14
- package/dist/types/widgets/table/table-ui.d.ts +41 -29
- package/dist/types/widgets/table/types.d.ts +34 -182
- package/dist/types/widgets/timeseries/index.d.ts +4 -2
- package/dist/types/widgets/timeseries/skeleton.d.ts +7 -0
- package/dist/types/widgets/timeseries/types.d.ts +60 -9
- package/dist/types/{widgets-v2 → widgets}/types.d.ts +7 -6
- package/dist/types/widgets/utils/index.d.ts +3 -7
- package/dist/types/widgets/wrapper/index.d.ts +4 -6
- package/dist/{utils-Dr6gf3vD.js → utils-BStJWhZN.js} +5 -5
- package/dist/utils-BStJWhZN.js.map +1 -0
- package/dist/widgets/actions.js +4 -2
- package/dist/widgets/bar.js +202 -132
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +2 -450
- package/dist/widgets/echart.js +2 -3
- package/dist/widgets/formula.js +2 -3
- package/dist/widgets/histogram.js +263 -160
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/markdown.js +3 -148
- package/dist/widgets/pie.js +317 -197
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +2 -233
- package/dist/widgets/scatterplot.js +300 -196
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/spread.js +2 -158
- package/dist/widgets/stores.js +2 -3
- package/dist/widgets/table.js +2 -599
- package/dist/widgets/timeseries.js +250 -136
- package/dist/widgets/timeseries.js.map +1 -1
- package/dist/widgets/utils.js +2 -18
- package/dist/{widgets-v2.js → widgets.js} +63 -57
- package/dist/widgets.js.map +1 -0
- package/dist/{zoom-toggle-IsF8BnAp.js → zoom-toggle-D_VuA01l.js} +5 -5
- package/dist/zoom-toggle-D_VuA01l.js.map +1 -0
- package/package.json +43 -129
- package/src/chat/bubbles/chat-agent-message-markdown.tsx +1 -1
- package/src/chat/bubbles/chat-error-message.tsx +9 -3
- package/src/chat/bubbles/chat-suggestion-button.tsx +8 -3
- package/src/chat/containers/chat-footer.tsx +6 -2
- package/src/chat/containers/chat-starter.tsx +6 -4
- package/src/chat/feedback/chat-tool-full-view-dialog.tsx +3 -1
- package/src/chat/feedback/chat-tool-group.test.tsx +1 -1
- package/src/chat/feedback/chat-tool-group.tsx +40 -9
- package/src/chat/feedback/chat-tool-trace.tsx +55 -19
- package/src/chat/types.ts +5 -2
- package/src/components/basemaps/header.tsx +6 -1
- package/src/components/index.ts +2 -3
- package/src/components/lasso-tool/geometry-toolbar.tsx +1 -1
- package/src/components/lasso-tool/lasso-tool-inline.tsx +12 -4
- package/src/components/lasso-tool/lasso-tool.tsx +26 -15
- package/src/components/lasso-tool/layer-filters.tsx +36 -11
- package/src/components/lasso-tool/options-sections.test.tsx +13 -2
- package/src/components/lasso-tool/options-sections.tsx +17 -7
- package/src/components/lasso-tool/toolbar/connected.tsx +1 -1
- package/src/components/lasso-tool/toolbar/context.tsx +1 -1
- package/src/components/measurement-tools/measurement-tools.tsx +28 -13
- package/src/components/no-data-alert/no-data-alert.tsx +12 -2
- package/src/components/responsive-drawer/responsive-drawer.tsx +0 -1
- package/src/components/types.ts +17 -0
- package/src/components/zoom-controls/zoom-controls.tsx +3 -1
- package/src/legend/components/legend-actions/legend-actions.tsx +2 -2
- package/src/legend/components/legend-category/legend-category-ui.tsx +7 -3
- package/src/legend/components/legend-config-select/legend-config-select.tsx +6 -2
- package/src/legend/components/legend-group/legend-group.tsx +6 -2
- package/src/legend/components/legend-group/styles.ts +1 -1
- package/src/legend/components/legend-icon/legend-icon-ui.tsx +7 -3
- package/src/legend/components/legend-opacity/legend-opacity.tsx +9 -3
- package/src/legend/components/legend-proportion/legend-proportion-ui.tsx +19 -3
- package/src/legend/components/legend-ramp/legend-ramp-ui.tsx +31 -7
- package/src/legend/components/legend-row/legend-row.tsx +2 -2
- package/src/legend/components/legend-row/styles.ts +1 -1
- package/src/legend/components/legend-sortable/legend-sortable.tsx +7 -3
- package/src/legend/components/legend-swatch/legend-swatch.tsx +2 -1
- package/src/legend/components/legend-visible-layers/legend-visible-layers.tsx +18 -9
- package/src/legend/index.ts +1 -1
- package/src/legend/provider/legend-provider.tsx +2 -2
- package/src/legend/stores/legend-store-registry.ts +1 -1
- package/src/migration/v4/classes.ts +56 -0
- package/src/migration/v4/icons.ts +56 -0
- package/src/migration/v4/index.ts +17 -0
- package/src/migration/v4/migration.test.ts +772 -0
- package/src/migration/v4/rules.ts +444 -0
- package/src/migration/v4/transform.ts +92 -0
- package/src/migration/v4/transforms/helpers.ts +369 -0
- package/src/migration/v4/transforms/meridian-5.ts +163 -0
- package/src/migration/v4/transforms/ps-react-ui.ts +99 -0
- package/src/migration/v4/transforms/v5-v6.ts +161 -0
- package/src/migration/v4/transforms/v6-v7.ts +342 -0
- package/src/migration/v4/transforms/v7-v9-dom.ts +403 -0
- package/src/migration/v4/transforms/v7-v9-props.ts +529 -0
- package/src/migration/v4/widgets-v1.ts +199 -0
- package/src/{widgets-v2 → widgets}/PERFORMANCE.md +5 -5
- package/src/widgets/actions/brush-toggle/brush-toggle.test.tsx +144 -172
- package/src/widgets/actions/brush-toggle/brush-toggle.tsx +129 -108
- package/src/widgets/actions/brush-toggle/style.ts +5 -40
- package/src/widgets/actions/change-column/change-column-icon.tsx +14 -10
- package/src/widgets/actions/change-column/change-column.test.tsx +57 -288
- package/src/widgets/actions/change-column/change-column.tsx +116 -145
- package/src/widgets/actions/change-column/sortable-column-item.tsx +29 -17
- package/src/widgets/actions/change-column/types.ts +9 -18
- package/src/widgets/actions/download/download.test.tsx +290 -289
- package/src/widgets/actions/download/download.tsx +101 -89
- package/src/widgets/actions/download/exports.test.tsx +157 -247
- package/src/{widgets-v2 → widgets}/actions/download/exports.ts +1 -1
- package/src/{widgets-v2 → widgets}/actions/download/png-item.tsx +2 -2
- package/src/widgets/actions/download/types.ts +26 -15
- package/src/widgets/actions/fullscreen/fullscreen.test.tsx +164 -221
- package/src/widgets/actions/fullscreen/fullscreen.tsx +277 -72
- package/src/{widgets-v2 → widgets}/actions/fullscreen/style.ts +31 -4
- package/src/widgets/actions/fullscreen/types.ts +14 -31
- package/src/widgets/actions/index.ts +90 -68
- package/src/widgets/actions/lock-selection/lock-selection.test.tsx +259 -156
- package/src/widgets/actions/lock-selection/lock-selection.tsx +162 -102
- package/src/widgets/actions/relative-data/relative-data.test.tsx +65 -536
- package/src/widgets/actions/relative-data/relative-data.tsx +82 -163
- package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.ts +2 -2
- package/src/widgets/actions/searcher/searcher-toggle.tsx +75 -56
- package/src/widgets/actions/searcher/searcher.tsx +85 -168
- package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +49 -402
- package/src/widgets/actions/stack-toggle/stack-toggle.tsx +39 -114
- package/src/widgets/actions/zoom-toggle/style.ts +5 -8
- package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +88 -303
- package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +87 -199
- package/src/widgets/bar/index.ts +6 -5
- package/src/{widgets-v2 → widgets}/bar/options.ts +1 -1
- package/src/widgets/bar/skeleton.tsx +61 -52
- package/src/widgets/bar/types.ts +46 -11
- package/src/widgets/category/category-ui.test.tsx +846 -317
- package/src/widgets/category/category-ui.tsx +444 -127
- package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.tsx +2 -1
- package/src/widgets/category/components/category-bar.tsx +31 -12
- package/src/{widgets-v2 → widgets}/category/components/category-legend.test.tsx +7 -3
- package/src/widgets/category/components/category-legend.tsx +68 -18
- package/src/widgets/category/components/category-row-multi.tsx +66 -36
- package/src/widgets/category/components/category-row-other.tsx +63 -5
- package/src/widgets/category/components/category-row-single.tsx +48 -25
- package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.tsx +2 -1
- package/src/widgets/category/index.ts +25 -22
- package/src/widgets/category/skeleton.tsx +60 -10
- package/src/widgets/category/style.ts +267 -72
- package/src/widgets/category/types.ts +52 -32
- package/src/widgets/echart/echart-ui.test.tsx +250 -446
- package/src/widgets/echart/echart-ui.tsx +210 -52
- package/src/widgets/echart/echart.test.tsx +203 -518
- package/src/widgets/echart/echart.tsx +195 -52
- package/src/widgets/echart/index.ts +21 -15
- package/src/widgets/echart/shared-resize-observer.ts +30 -19
- package/src/widgets/echart/style.ts +17 -0
- package/src/widgets/formula/formula-ui.test.tsx +68 -376
- package/src/widgets/formula/formula-ui.tsx +58 -22
- package/src/widgets/formula/index.ts +14 -21
- package/src/{widgets-v2 → widgets}/formula/note.tsx +8 -2
- package/src/{widgets-v2 → widgets}/formula/series.tsx +8 -25
- package/src/widgets/formula/skeleton.tsx +21 -4
- package/src/widgets/formula/style.ts +20 -12
- package/src/widgets/formula/types.ts +44 -45
- package/src/{widgets-v2 → widgets}/formula/value.tsx +2 -1
- package/src/widgets/histogram/index.ts +10 -10
- package/src/{widgets-v2 → widgets}/histogram/options.ts +1 -1
- package/src/widgets/histogram/skeleton.tsx +63 -45
- package/src/widgets/histogram/types.ts +59 -18
- package/src/{widgets-v2 → widgets}/index.ts +3 -3
- package/src/widgets/markdown/index.ts +5 -13
- package/src/widgets/markdown/markdown-ui.test.tsx +53 -319
- package/src/widgets/markdown/markdown-ui.tsx +43 -47
- package/src/widgets/markdown/markdown.tsx +12 -15
- package/src/widgets/markdown/skeleton.tsx +26 -6
- package/src/widgets/markdown/style.ts +48 -23
- package/src/widgets/markdown/types.ts +2 -26
- package/src/widgets/note/style.ts +14 -17
- package/src/{widgets-v2 → widgets}/note/widget-note.tsx +15 -2
- package/src/widgets/pie/index.ts +7 -5
- package/src/{widgets-v2 → widgets}/pie/options.test.ts +8 -0
- package/src/{widgets-v2 → widgets}/pie/options.ts +4 -9
- package/src/widgets/pie/skeleton.tsx +84 -60
- package/src/widgets/pie/types.ts +57 -11
- package/src/widgets/range/index.ts +4 -16
- package/src/widgets/range/range-ui.test.tsx +115 -182
- package/src/widgets/range/range-ui.tsx +274 -8
- package/src/widgets/range/skeleton.tsx +41 -8
- package/src/widgets/range/style.ts +16 -12
- package/src/widgets/range/types.ts +26 -28
- package/src/widgets/scatterplot/index.ts +11 -5
- package/src/{widgets-v2 → widgets}/scatterplot/options.ts +1 -1
- package/src/widgets/scatterplot/skeleton.tsx +76 -51
- package/src/widgets/scatterplot/types.ts +54 -12
- package/src/widgets/selection-summary/selection-summary.tsx +64 -39
- package/src/widgets/selection-summary/style.ts +30 -2
- package/src/widgets/spread/index.ts +11 -23
- package/src/widgets/spread/skeleton.tsx +32 -4
- package/src/widgets/spread/spread-ui.test.tsx +98 -358
- package/src/widgets/spread/spread-ui.tsx +44 -24
- package/src/widgets/spread/types.ts +21 -41
- package/src/{widgets-v2 → widgets}/state/widget-state.tsx +13 -3
- package/src/widgets/stores/index.ts +46 -10
- package/src/{widgets-v2 → widgets}/stores/transforms.ts +1 -1
- package/src/widgets/stores/types.ts +42 -181
- package/src/{widgets-v2 → widgets}/stores/use-transform.ts +1 -1
- package/src/{widgets-v2 → widgets}/stores/widget-store-registry.ts +2 -2
- package/src/widgets/subheader/style.ts +5 -13
- package/src/widgets/subheader/subheader.test.tsx +22 -37
- package/src/widgets/subheader/subheader.tsx +11 -30
- package/src/widgets/table/helpers.test.ts +197 -208
- package/src/widgets/table/helpers.ts +108 -84
- package/src/widgets/table/index.ts +23 -54
- package/src/widgets/table/skeleton.tsx +38 -21
- package/src/widgets/table/style.ts +23 -14
- package/src/widgets/table/table-ui.tsx +348 -44
- package/src/widgets/table/types.ts +37 -205
- package/src/{widgets-v2 → widgets}/test-utils.ts +1 -1
- package/src/widgets/timeseries/index.ts +8 -5
- package/src/{widgets-v2 → widgets}/timeseries/options.ts +1 -1
- package/src/widgets/timeseries/skeleton.tsx +67 -46
- package/src/widgets/timeseries/types.ts +60 -12
- package/src/{widgets-v2 → widgets}/types.ts +8 -6
- package/src/widgets/utils/index.ts +3 -26
- package/src/widgets/wrapper/index.ts +14 -16
- package/src/{widgets-v2 → widgets}/wrapper/widget-wrapper.tsx +6 -2
- package/dist/actions-CGJD6q0t.js +0 -1318
- package/dist/actions-CGJD6q0t.js.map +0 -1
- package/dist/actions-yPZwFxSZ.js.map +0 -1
- package/dist/category-DGUDabsi.js +0 -829
- package/dist/category-DGUDabsi.js.map +0 -1
- package/dist/chart-config-B_fdIcD3.js.map +0 -1
- package/dist/cjs-CBrZjPCj.js +0 -75
- package/dist/cjs-CBrZjPCj.js.map +0 -1
- package/dist/components-FED-ArwH.js.map +0 -1
- package/dist/copy-button-TTlZONkX.js +0 -34
- package/dist/copy-button-TTlZONkX.js.map +0 -1
- package/dist/csv-modifiers-D6HGC24b.js +0 -26
- package/dist/csv-modifiers-D6HGC24b.js.map +0 -1
- package/dist/download-DdaK3qgC.js.map +0 -1
- package/dist/echart-BkaV3V5G.js +0 -133
- package/dist/echart-BkaV3V5G.js.map +0 -1
- package/dist/echart-DeBgdOtX.js.map +0 -1
- package/dist/formatter-wVO81tYk.js +0 -6
- package/dist/formatter-wVO81tYk.js.map +0 -1
- package/dist/formula-YfZmmuYX.js +0 -190
- package/dist/formula-YfZmmuYX.js.map +0 -1
- package/dist/formula-noJzQwKo.js +0 -285
- package/dist/formula-noJzQwKo.js.map +0 -1
- package/dist/hooks-zf5gKZYq.js +0 -22
- package/dist/hooks-zf5gKZYq.js.map +0 -1
- package/dist/markdown-2dfL6Cmb.js.map +0 -1
- package/dist/markdown-content-BWUqwx9F.js.map +0 -1
- package/dist/range-BCMAl5xf.js.map +0 -1
- package/dist/row-CvVGBuy_.js +0 -35
- package/dist/row-CvVGBuy_.js.map +0 -1
- package/dist/shared-resize-observer-BEiP2rQt.js +0 -157
- package/dist/shared-resize-observer-BEiP2rQt.js.map +0 -1
- package/dist/smart-tooltip-CwGHCqab.js +0 -34
- package/dist/smart-tooltip-CwGHCqab.js.map +0 -1
- package/dist/spread-Ccpg9fi0.js.map +0 -1
- package/dist/stores-tiFePP0A.js.map +0 -1
- package/dist/styles-Y-qGBELO.js +0 -13
- package/dist/styles-Y-qGBELO.js.map +0 -1
- package/dist/table-Bx9Uj3U0.js.map +0 -1
- package/dist/tooltip-DJUGNZxY.js +0 -23
- package/dist/tooltip-DJUGNZxY.js.map +0 -1
- package/dist/types/components/list-data/list-data-skeleton.d.ts +0 -5
- package/dist/types/components/list-data/list-data.d.ts +0 -19
- package/dist/types/components/list-data/styles.d.ts +0 -34
- package/dist/types/components/list-data/types.d.ts +0 -23
- package/dist/types/hooks/index.d.ts +0 -1
- package/dist/types/hooks/use-skeleton.d.ts +0 -1
- package/dist/types/hooks/use-widget-ref.d.ts +0 -21
- package/dist/types/widgets/actions/brush-toggle/brush-overlay.d.ts +0 -24
- package/dist/types/widgets/actions/brush-toggle/hit-test.d.ts +0 -19
- package/dist/types/widgets/actions/brush-toggle/types.d.ts +0 -73
- package/dist/types/widgets/actions/fullscreen/styles.d.ts +0 -16
- package/dist/types/widgets/actions/lock-selection/types.d.ts +0 -38
- package/dist/types/widgets/actions/relative-data/types.d.ts +0 -29
- package/dist/types/widgets/actions/relative-data/utils.d.ts +0 -9
- package/dist/types/widgets/actions/searcher/types.d.ts +0 -64
- package/dist/types/widgets/actions/shared/styles.d.ts +0 -11
- package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +0 -1
- package/dist/types/widgets/actions/stack-toggle/types.d.ts +0 -25
- package/dist/types/widgets/actions/zoom-toggle/types.d.ts +0 -41
- package/dist/types/widgets/bar/config.d.ts +0 -9
- package/dist/types/widgets/bar/style.d.ts +0 -37
- package/dist/types/widgets/category/config.d.ts +0 -20
- package/dist/types/widgets/echart/const.d.ts +0 -1
- package/dist/types/widgets/echart/options.d.ts +0 -9
- package/dist/types/widgets/echart/types.d.ts +0 -38
- package/dist/types/widgets/echart/utils.d.ts +0 -128
- package/dist/types/widgets/error/error.d.ts +0 -12
- package/dist/types/widgets/error/index.d.ts +0 -2
- package/dist/types/widgets/error/types.d.ts +0 -20
- package/dist/types/widgets/formula/components/item.d.ts +0 -5
- package/dist/types/widgets/formula/components/prefix.d.ts +0 -5
- package/dist/types/widgets/formula/components/row.d.ts +0 -5
- package/dist/types/widgets/formula/components/series.d.ts +0 -5
- package/dist/types/widgets/formula/components/suffix.d.ts +0 -5
- package/dist/types/widgets/formula/components/value.d.ts +0 -5
- package/dist/types/widgets/formula/config.d.ts +0 -15
- package/dist/types/widgets/formula/serializer.d.ts +0 -16
- package/dist/types/widgets/histogram/config.d.ts +0 -21
- package/dist/types/widgets/histogram/style.d.ts +0 -15
- package/dist/types/widgets/loader/index.d.ts +0 -3
- package/dist/types/widgets/loader/loader.d.ts +0 -24
- package/dist/types/widgets/loader/types.d.ts +0 -9
- package/dist/types/widgets/loader/utils.d.ts +0 -35
- package/dist/types/widgets/markdown/config.d.ts +0 -14
- package/dist/types/widgets/no-data/index.d.ts +0 -2
- package/dist/types/widgets/no-data/no-data.d.ts +0 -36
- package/dist/types/widgets/no-data/style.d.ts +0 -6
- package/dist/types/widgets/no-data/types.d.ts +0 -71
- package/dist/types/widgets/note/index.d.ts +0 -2
- package/dist/types/widgets/note/note.d.ts +0 -12
- package/dist/types/widgets/note/types.d.ts +0 -8
- package/dist/types/widgets/pie/config.d.ts +0 -9
- package/dist/types/widgets/pie/style.d.ts +0 -15
- package/dist/types/widgets/range/components/range-item.d.ts +0 -5
- package/dist/types/widgets/range/config.d.ts +0 -7
- package/dist/types/widgets/range/serializer.d.ts +0 -16
- package/dist/types/widgets/scatterplot/config.d.ts +0 -9
- package/dist/types/widgets/scatterplot/style.d.ts +0 -24
- package/dist/types/widgets/selection-summary/index.d.ts +0 -2
- package/dist/types/widgets/selection-summary/types.d.ts +0 -13
- package/dist/types/widgets/skeleton-loader/index.d.ts +0 -2
- package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +0 -12
- package/dist/types/widgets/skeleton-loader/types.d.ts +0 -7
- package/dist/types/widgets/spread/components/max-value.d.ts +0 -5
- package/dist/types/widgets/spread/components/min-value.d.ts +0 -5
- package/dist/types/widgets/spread/components/separator.d.ts +0 -5
- package/dist/types/widgets/spread/config.d.ts +0 -16
- package/dist/types/widgets/spread/style.d.ts +0 -21
- package/dist/types/widgets/stores/use-widget-selector.d.ts +0 -35
- package/dist/types/widgets/stores/widget-store.d.ts +0 -60
- package/dist/types/widgets/subheader/index.d.ts +0 -2
- package/dist/types/widgets/subheader/types.d.ts +0 -10
- package/dist/types/widgets/table/components/cell-header.d.ts +0 -5
- package/dist/types/widgets/table/components/cell.d.ts +0 -18
- package/dist/types/widgets/table/components/pagination-actions.d.ts +0 -5
- package/dist/types/widgets/table/components/pagination.d.ts +0 -5
- package/dist/types/widgets/table/components/row.d.ts +0 -5
- package/dist/types/widgets/table/config.d.ts +0 -21
- package/dist/types/widgets/table/hooks/use-pagination.d.ts +0 -41
- package/dist/types/widgets/table/hooks/use-selection.d.ts +0 -39
- package/dist/types/widgets/table/hooks/use-sort.d.ts +0 -30
- package/dist/types/widgets/table/serializer.d.ts +0 -16
- package/dist/types/widgets/timeseries/config.d.ts +0 -9
- package/dist/types/widgets/timeseries/style.d.ts +0 -38
- package/dist/types/widgets/toolbar-actions/index.d.ts +0 -2
- package/dist/types/widgets/toolbar-actions/styles.d.ts +0 -37
- package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +0 -17
- package/dist/types/widgets/toolbar-actions/types.d.ts +0 -52
- package/dist/types/widgets/utils/chart-config/config-factory.d.ts +0 -38
- package/dist/types/widgets/utils/chart-config/csv-modifiers.d.ts +0 -19
- package/dist/types/widgets/utils/chart-config/download-config.d.ts +0 -3
- package/dist/types/widgets/utils/chart-config/index.d.ts +0 -9
- package/dist/types/widgets/utils/formatter.d.ts +0 -2
- package/dist/types/widgets/utils/skeleton/index.d.ts +0 -4
- package/dist/types/widgets/utils/skeleton/styles.d.ts +0 -19
- package/dist/types/widgets/wrapper/components/actions.d.ts +0 -5
- package/dist/types/widgets/wrapper/components/options.d.ts +0 -5
- package/dist/types/widgets/wrapper/components/title.d.ts +0 -9
- package/dist/types/widgets/wrapper/styles.d.ts +0 -89
- package/dist/types/widgets/wrapper/types.d.ts +0 -37
- package/dist/types/widgets/wrapper/wrapper-ui.d.ts +0 -16
- package/dist/types/widgets/wrapper/wrapper.d.ts +0 -16
- package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +0 -56
- package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +0 -2
- package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +0 -29
- package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +0 -14
- package/dist/types/widgets-v2/actions/change-column/types.d.ts +0 -10
- package/dist/types/widgets-v2/actions/download/download.d.ts +0 -18
- package/dist/types/widgets-v2/actions/download/exports.d.ts +0 -37
- package/dist/types/widgets-v2/actions/download/types.d.ts +0 -35
- package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +0 -59
- package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +0 -14
- package/dist/types/widgets-v2/actions/index.d.ts +0 -10
- package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +0 -57
- package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +0 -39
- package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +0 -23
- package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +0 -11
- package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +0 -10
- package/dist/types/widgets-v2/actions/stack-toggle/style.d.ts +0 -12
- package/dist/types/widgets-v2/actions/zoom-toggle/style.d.ts +0 -12
- package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +0 -35
- package/dist/types/widgets-v2/bar/index.d.ts +0 -4
- package/dist/types/widgets-v2/bar/skeleton.d.ts +0 -6
- package/dist/types/widgets-v2/bar/types.d.ts +0 -46
- package/dist/types/widgets-v2/category/category-ui.d.ts +0 -88
- package/dist/types/widgets-v2/category/components/category-bar.d.ts +0 -23
- package/dist/types/widgets-v2/category/components/category-legend.d.ts +0 -34
- package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +0 -31
- package/dist/types/widgets-v2/category/components/category-row-other.d.ts +0 -26
- package/dist/types/widgets-v2/category/components/category-row-single.d.ts +0 -28
- package/dist/types/widgets-v2/category/index.d.ts +0 -10
- package/dist/types/widgets-v2/category/skeleton.d.ts +0 -11
- package/dist/types/widgets-v2/category/style.d.ts +0 -193
- package/dist/types/widgets-v2/category/types.d.ts +0 -55
- package/dist/types/widgets-v2/echart/echart-ui.d.ts +0 -44
- package/dist/types/widgets-v2/echart/echart.d.ts +0 -75
- package/dist/types/widgets-v2/echart/index.d.ts +0 -4
- package/dist/types/widgets-v2/echart/shared-resize-observer.d.ts +0 -5
- package/dist/types/widgets-v2/formula/formula-ui.d.ts +0 -20
- package/dist/types/widgets-v2/formula/index.d.ts +0 -11
- package/dist/types/widgets-v2/formula/skeleton.d.ts +0 -4
- package/dist/types/widgets-v2/formula/style.d.ts +0 -29
- package/dist/types/widgets-v2/formula/types.d.ts +0 -43
- package/dist/types/widgets-v2/histogram/index.d.ts +0 -5
- package/dist/types/widgets-v2/histogram/skeleton.d.ts +0 -9
- package/dist/types/widgets-v2/histogram/types.d.ts +0 -60
- package/dist/types/widgets-v2/markdown/index.d.ts +0 -6
- package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +0 -12
- package/dist/types/widgets-v2/markdown/markdown.d.ts +0 -6
- package/dist/types/widgets-v2/markdown/skeleton.d.ts +0 -4
- package/dist/types/widgets-v2/markdown/style.d.ts +0 -61
- package/dist/types/widgets-v2/markdown/types.d.ts +0 -4
- package/dist/types/widgets-v2/note/style.d.ts +0 -26
- package/dist/types/widgets-v2/pie/index.d.ts +0 -4
- package/dist/types/widgets-v2/pie/skeleton.d.ts +0 -13
- package/dist/types/widgets-v2/pie/types.d.ts +0 -57
- package/dist/types/widgets-v2/range/index.d.ts +0 -4
- package/dist/types/widgets-v2/range/range-ui.d.ts +0 -27
- package/dist/types/widgets-v2/range/skeleton.d.ts +0 -9
- package/dist/types/widgets-v2/range/style.d.ts +0 -40
- package/dist/types/widgets-v2/range/types.d.ts +0 -37
- package/dist/types/widgets-v2/scatterplot/index.d.ts +0 -5
- package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +0 -12
- package/dist/types/widgets-v2/scatterplot/types.d.ts +0 -54
- package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +0 -29
- package/dist/types/widgets-v2/selection-summary/style.d.ts +0 -38
- package/dist/types/widgets-v2/spread/index.d.ts +0 -7
- package/dist/types/widgets-v2/spread/skeleton.d.ts +0 -9
- package/dist/types/widgets-v2/spread/spread-ui.d.ts +0 -18
- package/dist/types/widgets-v2/spread/types.d.ts +0 -25
- package/dist/types/widgets-v2/stores/index.d.ts +0 -8
- package/dist/types/widgets-v2/stores/types.d.ts +0 -55
- package/dist/types/widgets-v2/subheader/style.d.ts +0 -10
- package/dist/types/widgets-v2/subheader/subheader.d.ts +0 -11
- package/dist/types/widgets-v2/table/helpers.d.ts +0 -32
- package/dist/types/widgets-v2/table/index.d.ts +0 -8
- package/dist/types/widgets-v2/table/skeleton.d.ts +0 -22
- package/dist/types/widgets-v2/table/style.d.ts +0 -40
- package/dist/types/widgets-v2/table/table-ui.d.ts +0 -44
- package/dist/types/widgets-v2/table/types.d.ts +0 -48
- package/dist/types/widgets-v2/timeseries/index.d.ts +0 -5
- package/dist/types/widgets-v2/timeseries/skeleton.d.ts +0 -8
- package/dist/types/widgets-v2/timeseries/types.d.ts +0 -60
- package/dist/types/widgets-v2/utils/index.d.ts +0 -3
- package/dist/types/widgets-v2/wrapper/index.d.ts +0 -4
- package/dist/use-widget-selector-VSPhfhNm.js +0 -12
- package/dist/use-widget-selector-VSPhfhNm.js.map +0 -1
- package/dist/utils-Dr6gf3vD.js.map +0 -1
- package/dist/widget-store-BFPKYm4R.js +0 -187
- package/dist/widget-store-BFPKYm4R.js.map +0 -1
- package/dist/widgets/category.js.map +0 -1
- package/dist/widgets/error.js +0 -30
- package/dist/widgets/error.js.map +0 -1
- package/dist/widgets/loader.js +0 -66
- package/dist/widgets/loader.js.map +0 -1
- package/dist/widgets/markdown.js.map +0 -1
- package/dist/widgets/no-data.js +0 -55
- package/dist/widgets/no-data.js.map +0 -1
- package/dist/widgets/note.js +0 -127
- package/dist/widgets/note.js.map +0 -1
- package/dist/widgets/range.js.map +0 -1
- package/dist/widgets/selection-summary.js +0 -41
- package/dist/widgets/selection-summary.js.map +0 -1
- package/dist/widgets/skeleton-loader.js +0 -24
- package/dist/widgets/skeleton-loader.js.map +0 -1
- package/dist/widgets/spread.js.map +0 -1
- package/dist/widgets/subheader.js +0 -51
- package/dist/widgets/subheader.js.map +0 -1
- package/dist/widgets/table.js.map +0 -1
- package/dist/widgets/toolbar-actions.js +0 -145
- package/dist/widgets/toolbar-actions.js.map +0 -1
- package/dist/widgets/utils.js.map +0 -1
- package/dist/widgets/wrapper.js +0 -273
- package/dist/widgets/wrapper.js.map +0 -1
- package/dist/widgets-v2/actions.js +0 -4
- package/dist/widgets-v2/bar.js +0 -260
- package/dist/widgets-v2/bar.js.map +0 -1
- package/dist/widgets-v2/category.js +0 -2
- package/dist/widgets-v2/echart.js +0 -2
- package/dist/widgets-v2/formula.js +0 -2
- package/dist/widgets-v2/histogram.js +0 -297
- package/dist/widgets-v2/histogram.js.map +0 -1
- package/dist/widgets-v2/markdown.js +0 -3
- package/dist/widgets-v2/pie.js +0 -374
- package/dist/widgets-v2/pie.js.map +0 -1
- package/dist/widgets-v2/range.js +0 -2
- package/dist/widgets-v2/scatterplot.js +0 -330
- package/dist/widgets-v2/scatterplot.js.map +0 -1
- package/dist/widgets-v2/spread.js +0 -2
- package/dist/widgets-v2/stores.js +0 -2
- package/dist/widgets-v2/table.js +0 -2
- package/dist/widgets-v2/timeseries.js +0 -294
- package/dist/widgets-v2/timeseries.js.map +0 -1
- package/dist/widgets-v2/utils.js +0 -2
- package/dist/widgets-v2.js.map +0 -1
- package/dist/zoom-toggle-IsF8BnAp.js.map +0 -1
- package/src/components/list-data/list-data-skeleton.test.tsx +0 -10
- package/src/components/list-data/list-data-skeleton.tsx +0 -40
- package/src/components/list-data/list-data.test.tsx +0 -167
- package/src/components/list-data/list-data.tsx +0 -124
- package/src/components/list-data/styles.ts +0 -37
- package/src/components/list-data/types.ts +0 -25
- package/src/hooks/index.ts +0 -1
- package/src/hooks/use-skeleton.test.tsx +0 -32
- package/src/hooks/use-skeleton.ts +0 -19
- package/src/hooks/use-widget-ref.ts +0 -34
- package/src/widgets/README.md +0 -277
- package/src/widgets/actions/brush-toggle/brush-overlay.test.tsx +0 -465
- package/src/widgets/actions/brush-toggle/brush-overlay.tsx +0 -408
- package/src/widgets/actions/brush-toggle/hit-test.test.ts +0 -65
- package/src/widgets/actions/brush-toggle/hit-test.ts +0 -45
- package/src/widgets/actions/brush-toggle/types.ts +0 -78
- package/src/widgets/actions/change-column/change-column-dnd.test.tsx +0 -193
- package/src/widgets/actions/change-column/sortable-column-item.test.tsx +0 -124
- package/src/widgets/actions/download/exports.tsx +0 -118
- package/src/widgets/actions/fullscreen/styles.ts +0 -17
- package/src/widgets/actions/lock-selection/types.ts +0 -43
- package/src/widgets/actions/relative-data/types.ts +0 -33
- package/src/widgets/actions/relative-data/utils.test.ts +0 -223
- package/src/widgets/actions/relative-data/utils.ts +0 -58
- package/src/widgets/actions/searcher/searcher-toggle.test.tsx +0 -354
- package/src/widgets/actions/searcher/types.ts +0 -72
- package/src/widgets/actions/shared/styles.ts +0 -12
- package/src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx +0 -14
- package/src/widgets/actions/stack-toggle/types.ts +0 -29
- package/src/widgets/actions/zoom-toggle/types.ts +0 -44
- package/src/widgets/bar/config.ts +0 -140
- package/src/widgets/bar/style.ts +0 -33
- package/src/widgets/category/components/category-rows.test.tsx +0 -213
- package/src/widgets/category/config.ts +0 -86
- package/src/widgets/echart/const.ts +0 -1
- package/src/widgets/echart/options.ts +0 -57
- package/src/widgets/echart/types.ts +0 -45
- package/src/widgets/echart/utils.test.ts +0 -277
- package/src/widgets/echart/utils.ts +0 -244
- package/src/widgets/error/error.test.tsx +0 -331
- package/src/widgets/error/error.tsx +0 -51
- package/src/widgets/error/index.ts +0 -2
- package/src/widgets/error/types.ts +0 -24
- package/src/widgets/formula/components/item.test.tsx +0 -249
- package/src/widgets/formula/components/item.tsx +0 -21
- package/src/widgets/formula/components/prefix.test.tsx +0 -341
- package/src/widgets/formula/components/prefix.tsx +0 -19
- package/src/widgets/formula/components/row.test.tsx +0 -364
- package/src/widgets/formula/components/row.tsx +0 -24
- package/src/widgets/formula/components/series.tsx +0 -35
- package/src/widgets/formula/components/suffix.test.tsx +0 -383
- package/src/widgets/formula/components/suffix.tsx +0 -29
- package/src/widgets/formula/components/value.test.tsx +0 -329
- package/src/widgets/formula/components/value.tsx +0 -24
- package/src/widgets/formula/config.test.ts +0 -37
- package/src/widgets/formula/config.ts +0 -38
- package/src/widgets/formula/serializer.test.tsx +0 -144
- package/src/widgets/formula/serializer.ts +0 -28
- package/src/widgets/histogram/config.ts +0 -230
- package/src/widgets/histogram/style.ts +0 -8
- package/src/widgets/loader/index.ts +0 -4
- package/src/widgets/loader/loader.tsx +0 -92
- package/src/widgets/loader/types.ts +0 -13
- package/src/widgets/loader/utils.test.ts +0 -112
- package/src/widgets/loader/utils.ts +0 -57
- package/src/widgets/markdown/config.ts +0 -28
- package/src/widgets/no-data/index.ts +0 -2
- package/src/widgets/no-data/no-data.test.tsx +0 -497
- package/src/widgets/no-data/no-data.tsx +0 -112
- package/src/widgets/no-data/style.ts +0 -18
- package/src/widgets/no-data/types.ts +0 -76
- package/src/widgets/note/index.ts +0 -2
- package/src/widgets/note/note.test.tsx +0 -391
- package/src/widgets/note/note.tsx +0 -124
- package/src/widgets/note/types.ts +0 -9
- package/src/widgets/pie/config.ts +0 -245
- package/src/widgets/pie/style.ts +0 -8
- package/src/widgets/range/components/range-item.test.tsx +0 -243
- package/src/widgets/range/components/range-item.tsx +0 -214
- package/src/widgets/range/config.ts +0 -10
- package/src/widgets/range/serializer.test.ts +0 -70
- package/src/widgets/range/serializer.ts +0 -27
- package/src/widgets/scatterplot/config.ts +0 -136
- package/src/widgets/scatterplot/style.ts +0 -21
- package/src/widgets/selection-summary/index.ts +0 -6
- package/src/widgets/selection-summary/types.ts +0 -14
- package/src/widgets/skeleton-loader/index.ts +0 -2
- package/src/widgets/skeleton-loader/skeleton-loader.test.tsx +0 -139
- package/src/widgets/skeleton-loader/skeleton-loader.tsx +0 -35
- package/src/widgets/skeleton-loader/types.ts +0 -8
- package/src/widgets/spread/components/max-value.tsx +0 -29
- package/src/widgets/spread/components/min-value.tsx +0 -29
- package/src/widgets/spread/components/separator.tsx +0 -9
- package/src/widgets/spread/config.ts +0 -39
- package/src/widgets/spread/style.ts +0 -22
- package/src/widgets/stores/use-widget-selector.ts +0 -47
- package/src/widgets/stores/widget-store-branches.test.ts +0 -275
- package/src/widgets/stores/widget-store-performance.test.ts +0 -750
- package/src/widgets/stores/widget-store.test.ts +0 -942
- package/src/widgets/stores/widget-store.ts +0 -484
- package/src/widgets/subheader/index.ts +0 -3
- package/src/widgets/subheader/types.ts +0 -11
- package/src/widgets/table/components/cell-header.tsx +0 -58
- package/src/widgets/table/components/cell.tsx +0 -82
- package/src/widgets/table/components/pagination-actions.tsx +0 -67
- package/src/widgets/table/components/pagination.tsx +0 -41
- package/src/widgets/table/components/row.tsx +0 -65
- package/src/widgets/table/config.test.ts +0 -65
- package/src/widgets/table/config.ts +0 -75
- package/src/widgets/table/hooks/use-pagination.test.ts +0 -294
- package/src/widgets/table/hooks/use-pagination.ts +0 -148
- package/src/widgets/table/hooks/use-selection.test.ts +0 -504
- package/src/widgets/table/hooks/use-selection.ts +0 -194
- package/src/widgets/table/hooks/use-sort.test.ts +0 -296
- package/src/widgets/table/hooks/use-sort.ts +0 -131
- package/src/widgets/table/serializer.ts +0 -54
- package/src/widgets/timeseries/config.ts +0 -136
- package/src/widgets/timeseries/style.ts +0 -36
- package/src/widgets/toolbar-actions/index.ts +0 -6
- package/src/widgets/toolbar-actions/styles.ts +0 -38
- package/src/widgets/toolbar-actions/toolbar-actions.test.tsx +0 -691
- package/src/widgets/toolbar-actions/toolbar-actions.tsx +0 -145
- package/src/widgets/toolbar-actions/types.ts +0 -60
- package/src/widgets/utils/chart-config/config-factory.ts +0 -67
- package/src/widgets/utils/chart-config/csv-modifiers.ts +0 -56
- package/src/widgets/utils/chart-config/download-config.ts +0 -22
- package/src/widgets/utils/chart-config/index.ts +0 -29
- package/src/widgets/utils/formatter.ts +0 -2
- package/src/widgets/utils/skeleton/index.ts +0 -5
- package/src/widgets/utils/skeleton/styles.ts +0 -20
- package/src/widgets/wrapper/components/actions.test.tsx +0 -105
- package/src/widgets/wrapper/components/actions.tsx +0 -35
- package/src/widgets/wrapper/components/options.test.tsx +0 -331
- package/src/widgets/wrapper/components/options.tsx +0 -81
- package/src/widgets/wrapper/components/title.test.tsx +0 -126
- package/src/widgets/wrapper/components/title.tsx +0 -35
- package/src/widgets/wrapper/styles.ts +0 -98
- package/src/widgets/wrapper/types.ts +0 -55
- package/src/widgets/wrapper/wrapper-ui.test.tsx +0 -232
- package/src/widgets/wrapper/wrapper-ui.tsx +0 -72
- package/src/widgets/wrapper/wrapper.test.tsx +0 -365
- package/src/widgets/wrapper/wrapper.tsx +0 -60
- package/src/widgets-v2/actions/brush-toggle/brush-toggle.test.tsx +0 -180
- package/src/widgets-v2/actions/brush-toggle/brush-toggle.tsx +0 -154
- package/src/widgets-v2/actions/change-column/change-column-icon.tsx +0 -14
- package/src/widgets-v2/actions/change-column/change-column.test.tsx +0 -59
- package/src/widgets-v2/actions/change-column/change-column.tsx +0 -189
- package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +0 -63
- package/src/widgets-v2/actions/change-column/types.ts +0 -11
- package/src/widgets-v2/actions/download/download.test.tsx +0 -327
- package/src/widgets-v2/actions/download/download.tsx +0 -144
- package/src/widgets-v2/actions/download/exports.test.tsx +0 -198
- package/src/widgets-v2/actions/download/types.ts +0 -32
- package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +0 -150
- package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +0 -230
- package/src/widgets-v2/actions/fullscreen/types.ts +0 -15
- package/src/widgets-v2/actions/index.ts +0 -95
- package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +0 -301
- package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +0 -188
- package/src/widgets-v2/actions/relative-data/relative-data.test.tsx +0 -71
- package/src/widgets-v2/actions/relative-data/relative-data.tsx +0 -107
- package/src/widgets-v2/actions/searcher/searcher-toggle.tsx +0 -91
- package/src/widgets-v2/actions/searcher/searcher.tsx +0 -111
- package/src/widgets-v2/actions/stack-toggle/stack-toggle.test.tsx +0 -61
- package/src/widgets-v2/actions/stack-toggle/stack-toggle.tsx +0 -54
- package/src/widgets-v2/actions/stack-toggle/style.ts +0 -11
- package/src/widgets-v2/actions/zoom-toggle/style.ts +0 -11
- package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.test.tsx +0 -107
- package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx +0 -106
- package/src/widgets-v2/bar/index.ts +0 -10
- package/src/widgets-v2/bar/skeleton.tsx +0 -69
- package/src/widgets-v2/bar/types.ts +0 -51
- package/src/widgets-v2/category/category-ui.test.tsx +0 -909
- package/src/widgets-v2/category/category-ui.tsx +0 -479
- package/src/widgets-v2/category/components/category-bar.tsx +0 -49
- package/src/widgets-v2/category/components/category-legend.tsx +0 -82
- package/src/widgets-v2/category/components/category-row-multi.tsx +0 -86
- package/src/widgets-v2/category/components/category-row-other.tsx +0 -84
- package/src/widgets-v2/category/components/category-row-single.tsx +0 -76
- package/src/widgets-v2/category/index.ts +0 -32
- package/src/widgets-v2/category/skeleton.tsx +0 -74
- package/src/widgets-v2/category/style.ts +0 -329
- package/src/widgets-v2/category/types.ts +0 -61
- package/src/widgets-v2/echart/echart-ui.test.tsx +0 -327
- package/src/widgets-v2/echart/echart-ui.tsx +0 -232
- package/src/widgets-v2/echart/echart.test.tsx +0 -229
- package/src/widgets-v2/echart/echart.tsx +0 -199
- package/src/widgets-v2/echart/index.ts +0 -22
- package/src/widgets-v2/echart/shared-resize-observer.ts +0 -56
- package/src/widgets-v2/echart/style.ts +0 -8
- package/src/widgets-v2/formula/formula-ui.test.tsx +0 -91
- package/src/widgets-v2/formula/formula-ui.tsx +0 -66
- package/src/widgets-v2/formula/index.ts +0 -17
- package/src/widgets-v2/formula/skeleton.tsx +0 -27
- package/src/widgets-v2/formula/style.ts +0 -31
- package/src/widgets-v2/formula/types.ts +0 -48
- package/src/widgets-v2/histogram/index.ts +0 -13
- package/src/widgets-v2/histogram/skeleton.tsx +0 -70
- package/src/widgets-v2/histogram/types.ts +0 -64
- package/src/widgets-v2/markdown/index.ts +0 -6
- package/src/widgets-v2/markdown/markdown-ui.test.tsx +0 -75
- package/src/widgets-v2/markdown/markdown-ui.tsx +0 -55
- package/src/widgets-v2/markdown/markdown.tsx +0 -17
- package/src/widgets-v2/markdown/skeleton.tsx +0 -32
- package/src/widgets-v2/markdown/style.ts +0 -53
- package/src/widgets-v2/markdown/types.ts +0 -4
- package/src/widgets-v2/note/style.ts +0 -26
- package/src/widgets-v2/pie/index.ts +0 -10
- package/src/widgets-v2/pie/skeleton.tsx +0 -94
- package/src/widgets-v2/pie/types.ts +0 -62
- package/src/widgets-v2/range/index.ts +0 -4
- package/src/widgets-v2/range/range-ui.test.tsx +0 -136
- package/src/widgets-v2/range/range-ui.tsx +0 -278
- package/src/widgets-v2/range/skeleton.tsx +0 -47
- package/src/widgets-v2/range/style.ts +0 -41
- package/src/widgets-v2/range/types.ts +0 -37
- package/src/widgets-v2/scatterplot/index.ts +0 -14
- package/src/widgets-v2/scatterplot/skeleton.tsx +0 -84
- package/src/widgets-v2/scatterplot/types.ts +0 -59
- package/src/widgets-v2/selection-summary/selection-summary.tsx +0 -82
- package/src/widgets-v2/selection-summary/style.ts +0 -38
- package/src/widgets-v2/spread/index.ts +0 -11
- package/src/widgets-v2/spread/skeleton.tsx +0 -38
- package/src/widgets-v2/spread/spread-ui.test.tsx +0 -108
- package/src/widgets-v2/spread/spread-ui.tsx +0 -52
- package/src/widgets-v2/spread/types.ts +0 -27
- package/src/widgets-v2/stores/index.ts +0 -49
- package/src/widgets-v2/stores/types.ts +0 -64
- package/src/widgets-v2/subheader/style.ts +0 -12
- package/src/widgets-v2/subheader/subheader.test.tsx +0 -30
- package/src/widgets-v2/subheader/subheader.tsx +0 -16
- package/src/widgets-v2/table/helpers.test.ts +0 -233
- package/src/widgets-v2/table/helpers.ts +0 -131
- package/src/widgets-v2/table/index.ts +0 -24
- package/src/widgets-v2/table/skeleton.tsx +0 -65
- package/src/widgets-v2/table/style.ts +0 -43
- package/src/widgets-v2/table/table-ui.tsx +0 -364
- package/src/widgets-v2/table/types.ts +0 -55
- package/src/widgets-v2/timeseries/index.ts +0 -11
- package/src/widgets-v2/timeseries/skeleton.tsx +0 -76
- package/src/widgets-v2/timeseries/types.ts +0 -65
- package/src/widgets-v2/utils/index.ts +0 -3
- package/src/widgets-v2/wrapper/index.ts +0 -14
- /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/brush-toggle/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/change-column/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/change-column/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/change-column/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/download/constants.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/download/csv-item.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/download/icons.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/download/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/download/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/download/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/fullscreen/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/lock-selection/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/relative-data/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/searcher/filter.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/searcher/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/searcher/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/searcher/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/show-all/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/show-all/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/show-all/show-all.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/show-all/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/stack-toggle/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/index.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/bar/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/bar/options.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/category/category.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/category/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/echart/edge-label-clamp.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/echart/use-chart-selection.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/formula/delta.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/formula/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/formula/formula.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/formula/note.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/formula/prefix.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/formula/suffix.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/histogram/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/histogram/options.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/histogram/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/markdown/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/markdown/markdown-content.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/note/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/note/widget-note.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/pie/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/pie/options.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/provider/widget-provider.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/range/range.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/scatterplot/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/scatterplot/options.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/scatterplot/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/selection-summary/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/spread/band.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/spread/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/spread/separator.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/spread/spread.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/state/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/state/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/state/widget-state.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/stores/pipeline-middleware.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/stores/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/stores/use-echart-instance.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/stores/use-transform-enabled.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/stores/use-transform.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/stores/widget-context.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/stores/widget-store-registry.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/table/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/table/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/table/table.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/table/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/timeseries/download.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/timeseries/options.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/timeseries/transforms.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/toolbox/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/toolbox/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/toolbox/toolbox.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/utils/data-zoom-layout.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/utils/merge-options.d.ts +0 -0
- /package/dist/types/widgets/utils/{chart-config/option-builders.d.ts → option-builders.d.ts} +0 -0
- /package/dist/types/{widgets-v2 → widgets}/utils/resolve-theme-color.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/wrapper/labels.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/wrapper/style.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-actions.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-content.d.ts +0 -0
- /package/dist/types/{widgets-v2 → widgets}/wrapper/widget-wrapper.d.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/brush-toggle/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/brush-toggle/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/brush-toggle/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/change-column/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/change-column/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/change-column/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/constants.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/csv-item.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/csv-item.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/icons.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/png-item.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/actions/download/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/fullscreen/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/fullscreen/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/lock-selection/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/lock-selection/labels.ts +0 -0
- /package/src/{widgets-v2/actions/brush-toggle → widgets/actions/lock-selection}/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/lock-selection/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/relative-data/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/relative-data/labels.ts +0 -0
- /package/src/{widgets-v2/actions/lock-selection → widgets/actions/relative-data}/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/relative-data/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/searcher/filter.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/searcher/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/searcher/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/searcher/searcher.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/actions/searcher/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/show-all/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/show-all/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/actions/show-all/show-all.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/actions/show-all/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/stack-toggle/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/stack-toggle/labels.ts +0 -0
- /package/src/{widgets-v2/actions/relative-data → widgets/actions/stack-toggle}/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/stack-toggle/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/index.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/actions/zoom-toggle/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/bar/download.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/bar/download.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/bar/options.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/bar/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/category.relative-data.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/category.stack-toggle.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/category.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/category.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/components/category-bar-stacked.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/components/category-bar.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/components/category-row-other.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/components/category-row-stacked.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/category/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/category/download.ts +0 -0
- /package/src/{widgets-v2 → widgets}/category/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/echart/edge-label-clamp.ts +0 -0
- /package/src/{widgets-v2 → widgets}/echart/shared-resize-observer.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/echart/use-chart-selection.ts +0 -0
- /package/src/{widgets-v2 → widgets}/formula/delta.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/download.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/download.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/formula.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/formula.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/prefix.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/subcomponents.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/formula/suffix.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/histogram/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/histogram/download.ts +0 -0
- /package/src/{widgets-v2 → widgets}/histogram/options.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/histogram/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/histogram/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/histogram/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/markdown/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/markdown/download.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/markdown/markdown-content.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/markdown/markdown-content.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/markdown/markdown.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/markdown/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/note/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/note/widget-note.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/pie/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/pie/download.ts +0 -0
- /package/src/{widgets-v2 → widgets}/pie/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/provider/widget-provider.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/provider/widget-provider.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/range/range.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/range/range.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/range/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/scatterplot/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/scatterplot/download.ts +0 -0
- /package/src/{widgets-v2 → widgets}/scatterplot/options.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/scatterplot/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/scatterplot/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/scatterplot/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/selection-summary/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/selection-summary/selection-summary.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/spread/band.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/spread/band.ts +0 -0
- /package/src/{widgets-v2 → widgets}/spread/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/spread/download.ts +0 -0
- /package/src/{widgets-v2 → widgets}/spread/separator.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/spread/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/spread/spread.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/spread/spread.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/state/labels.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/state/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/state/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/state/widget-state.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/stores/pipeline-middleware.ts +0 -0
- /package/src/{widgets-v2 → widgets}/stores/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/stores/use-echart-instance.ts +0 -0
- /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/stores/use-transform-enabled.ts +0 -0
- /package/src/{widgets-v2 → widgets}/stores/use-transform.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/stores/widget-context.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/stores/widget-context.ts +0 -0
- /package/src/{widgets-v2 → widgets}/stores/widget-store-registry.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/table/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/table/download.ts +0 -0
- /package/src/{widgets-v2 → widgets}/table/labels.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/table/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/table/table-ui.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/table/table.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/table/table.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/table/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/table/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/timeseries/download.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/timeseries/download.ts +0 -0
- /package/src/{widgets-v2 → widgets}/timeseries/options.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/timeseries/skeleton.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/timeseries/transforms.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/timeseries/transforms.ts +0 -0
- /package/src/{widgets-v2 → widgets}/toolbox/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/toolbox/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/toolbox/toolbox.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/toolbox/toolbox.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/utils/data-zoom-layout.ts +0 -0
- /package/src/{widgets-v2 → widgets}/utils/merge-options.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/utils/merge-options.ts +0 -0
- /package/src/widgets/utils/{chart-config/option-builders.test.ts → option-builders.test.ts} +0 -0
- /package/src/widgets/utils/{chart-config/option-builders.ts → option-builders.ts} +0 -0
- /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.test.ts +0 -0
- /package/src/{widgets-v2 → widgets}/utils/resolve-theme-color.ts +0 -0
- /package/src/{widgets-v2 → widgets}/wrapper/labels.ts +0 -0
- /package/src/{widgets-v2 → widgets}/wrapper/style.ts +0 -0
- /package/src/{widgets-v2 → widgets}/wrapper/widget-actions.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/wrapper/widget-actions.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/wrapper/widget-content.test.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/wrapper/widget-content.tsx +0 -0
- /package/src/{widgets-v2 → widgets}/wrapper/widget-wrapper.test.tsx +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-Bx9Uj3U0.js","names":["{\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>","pageSizeOptions = DEFAULT_TABLE_PAGE_SIZE_OPTIONS","keyColumn = 'id'","selectable = false","{ ...DEFAULT_TABLE_LABELS, ...labels }","useMemo(\n () => ({ ...DEFAULT_TABLE_LABELS, ...labels }),\n [labels],\n )","makePaginationActions(_labels)","useMemo(\n () => makePaginationActions(_labels),\n [_labels],\n )","selection ?? []","new Set<string | number>(selection ?? [])","useMemo(\n () => new Set<string | number>(selection ?? []),\n [selection],\n )","(row: T, index: number): string | number =>\n (row[keyColumn] ?? index) as string | number","useCallback(\n (row: T, index: number): string | number =>\n (row[keyColumn] ?? index) as string | number,\n [keyColumn],\n )","rows.map(resolveRowId)","useMemo(() => rows.map(resolveRowId), [rows, resolveRowId])","pageRowIds.length > 0 && pageRowIds.every((id) => selectionSet.has(id))","pageRowIds.length","!allOnPageSelected && pageRowIds.some((id) => selectionSet.has(id))","id","(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 }","columnId","direction","() => {\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 }","(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 }","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","_labels.selectAll","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 })","(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 }","<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>","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 )","columns.length","rows.length","rowId","row","index","column","<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>","<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>","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","next","e","{ from, to, count }","<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>","initialPageSize = DEFAULT_TABLE_PAGE_SIZE","remote = false","{\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>","(s) => s.data as readonly T[] | undefined","(s) => ({\n sort: s.sort,\n page: s.page ?? 0,\n pageSize: s.pageSize ?? initialPageSize,\n columnOrder: s.columnOrder,\n })","s","visibleColumns == null\n ? reordered\n : reordered.slice(0, visibleColumns)","columnOrder","useMemo(() => {\n const reordered = resolveColumns(columns, ui.columnOrder)\n return visibleColumns == null\n ? reordered\n : reordered.slice(0, visibleColumns)\n }, [columns, ui.columnOrder, visibleColumns])","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])","data ?? []","{\n rows: data ?? [],\n totalRows: remoteTotal ?? 0,\n }","remoteTotal ?? 0","deriveVisibleRows(data ?? [], {\n sort: ui.sort,\n page: ui.page,\n pageSize: ui.pageSize,\n })","page","pageSize","sort","{ rows: visible, totalRows: sorted.length }","length","(next: TableSortState) => {\n getWidgetStore(id).setState({\n sort: next,\n page: 0,\n } as Partial<TableWidgetState>)\n onSortChange?.(next)\n }","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 )","(page: number) => {\n getWidgetStore(id).setState({ page } as Partial<TableWidgetState>)\n onPageChange?.(page)\n }","useCallback(\n (page: number) => {\n getWidgetStore(id).setState({ page } as Partial<TableWidgetState>)\n onPageChange?.(page)\n },\n [id, onPageChange],\n )","(pageSize: number) => {\n getWidgetStore(id).setState({\n pageSize,\n page: 0,\n } as Partial<TableWidgetState>)\n onPageSizeChange?.(pageSize)\n }","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 )","<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 rows = 5,\n columns = 4,\n size,\n}: TableSkeletonProps","rows = 5","columns = 4","<TableHead>\n <MuiTableRow>\n {Array.from({ length: columns }).map((_, c) => (\n <TableCell key={`head-${c}`} sx={styles.headerCell}>\n <Skeleton variant='text' width='80%' height={24} />\n </TableCell>\n ))}\n </MuiTableRow>\n </TableHead>","(_, c) => (\n <TableCell key={`head-${c}`} sx={styles.headerCell}>\n <Skeleton variant='text' width='80%' height={24} />\n </TableCell>\n )","Array.from({ length: rows })","<TableBody>\n {Array.from({ length: rows }).map((_, r) => (\n <MuiTableRow key={`row-${r}`} sx={styles.row}>\n {Array.from({ length: columns }).map((__, c) => (\n <TableCell key={`cell-${r}-${c}`}>\n <Skeleton variant='text' width='70%' height={20} />\n </TableCell>\n ))}\n </MuiTableRow>\n ))}\n </TableBody>","c","<Box sx={styles.container} aria-label='Table skeleton'>\n <MuiTable size={size} sx={styles.table} stickyHeader>\n <TableHead>\n <MuiTableRow>\n {Array.from({ length: columns }).map((_, c) => (\n <TableCell key={`head-${c}`} sx={styles.headerCell}>\n <Skeleton variant='text' width='80%' height={24} />\n </TableCell>\n ))}\n </MuiTableRow>\n </TableHead>\n <TableBody>\n {Array.from({ length: rows }).map((_, r) => (\n <MuiTableRow key={`row-${r}`} sx={styles.row}>\n {Array.from({ length: columns }).map((__, c) => (\n <TableCell key={`cell-${r}-${c}`}>\n <Skeleton variant='text' width='70%' height={20} />\n </TableCell>\n ))}\n </MuiTableRow>\n ))}\n </TableBody>\n </MuiTable>\n </Box>"],"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","../src/widgets-v2/table/skeleton.tsx","../src/widgets-v2/table/download.ts","../src/widgets-v2/table/transforms.ts"],"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 { FirstPage as FirstPageIcon } from '@mui/icons-material'\nimport { KeyboardArrowLeft } from '@mui/icons-material'\nimport { KeyboardArrowRight } from '@mui/icons-material'\nimport { LastPage as LastPageIcon } from '@mui/icons-material'\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 { toCsvString } from '../actions/download'\nimport 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 // Pre-stringify with the table's own header/cell rules, then delegate the\n // CSV assembly (quoting + spreadsheet formula-injection guard) to the shared\n // `toCsvString` so escaping stays identical to every other widget's export.\n const rows: string[][] = [columns.map((c) => stringifyHeader(c.label))]\n for (const row of data) {\n rows.push(columns.map((c) => stringifyCell(row[c.id])))\n }\n return toCsvString(rows)\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","import {\n Box,\n Skeleton,\n Table as MuiTable,\n TableBody,\n TableCell,\n TableHead,\n TableRow as MuiTableRow,\n type TableProps as MuiTableProps,\n} from '@mui/material'\nimport { styles } from './style'\n\nexport interface TableSkeletonProps {\n /** Number of body rows to render. Defaults to `5` (matches v1). */\n rows?: number\n /** Number of columns to render. Defaults to `4` (matches v1). */\n columns?: number\n /**\n * Forwarded to MUI's `<Table size>` so the loading layout matches the\n * size you'll render in {@link TableUI}. Leave `undefined` (the\n * default) to use MUI's own default density.\n */\n size?: MuiTableProps['size']\n}\n\n/**\n * Loading placeholder for the Table widget. Renders the same MUI table\n * primitives that {@link TableUI} uses so the loading layout (column\n * widths, header band, row density) doesn't shift when data resolves.\n *\n * Mirrors the v1 widget's `<TableSkeleton>` structure with v2's themed\n * `styles.headerCell`.\n */\nexport function TableSkeleton({\n rows = 5,\n columns = 4,\n size,\n}: TableSkeletonProps) {\n return (\n <Box sx={styles.container} aria-label='Table skeleton'>\n <MuiTable size={size} sx={styles.table} stickyHeader>\n <TableHead>\n <MuiTableRow>\n {Array.from({ length: columns }).map((_, c) => (\n <TableCell key={`head-${c}`} sx={styles.headerCell}>\n <Skeleton variant='text' width='80%' height={24} />\n </TableCell>\n ))}\n </MuiTableRow>\n </TableHead>\n <TableBody>\n {Array.from({ length: rows }).map((_, r) => (\n <MuiTableRow key={`row-${r}`} sx={styles.row}>\n {Array.from({ length: columns }).map((__, c) => (\n <TableCell key={`cell-${r}-${c}`}>\n <Skeleton variant='text' width='70%' height={20} />\n </TableCell>\n ))}\n </MuiTableRow>\n ))}\n </TableBody>\n </MuiTable>\n </Box>\n )\n}\n","import {\n buildCsvDownloadItem,\n buildPngDownloadItem,\n type DownloadItem,\n} from '../actions/download'\nimport { tableDataToCsv } from './helpers'\nimport type { TableColumn, TableWidgetData } from './types'\n\n/**\n * Download menu items for the Table widget. Always includes a CSV item\n * that pulls the latest data from the widget store via `getData()` (so\n * locked / sorted / filtered state is honored); headers come from\n * `column.label`, cells from `row[column.id]`. When `getCaptureEl` is\n * supplied, prepends a PNG item that rasterises the captured element via\n * `html2canvas`.\n */\nexport function createTableDownloadConfig(opts: {\n filename: string\n getData: () => TableWidgetData\n columns: readonly TableColumn[]\n getCaptureEl?: () => HTMLElement | null\n pngPixelRatio?: number\n pngBackgroundColor?: string | null\n}): DownloadItem[] {\n const items: DownloadItem[] = []\n if (opts.getCaptureEl) {\n items.push(\n buildPngDownloadItem({\n filename: opts.filename,\n getCaptureEl: opts.getCaptureEl,\n pixelRatio: opts.pngPixelRatio,\n backgroundColor: opts.pngBackgroundColor,\n }),\n )\n }\n items.push(\n buildCsvDownloadItem({\n filename: opts.filename,\n getCsv: () => tableDataToCsv(opts.getData(), opts.columns),\n }),\n )\n return items\n}\n","/**\n * `LockSelection` filter for Table. Data is a FLAT `TableRow[]` (unlike every\n * other widget's `X[][]` series shape) and row identity comes from\n * `row[keyColumn]` (default `'id'`), not `name` — so `filterByLockedItems`\n * doesn't apply here (its outer `.map` treats each row as a \"series\", and a\n * plain row object isn't an array, so it would silently pass everything\n * through unfiltered). Falls back to the row's index when the identity\n * column is nullish, mirroring `TableUI`'s own `resolveRowId`.\n *\n * `keyColumn` arrives as `LockSelection`'s `filterKey`, so pass this by\n * reference: `filterFn={filterTableByLockedRows} filterKey={keyColumn}`.\n * Don't close over it — `filterFn`'s identity is not a pipeline dependency,\n * so a captured key changes without re-running anything.\n */\nexport function filterTableByLockedRows(\n input: unknown,\n lockedItems: readonly (string | number)[],\n keyColumn: string | number = 'id',\n): unknown {\n if (lockedItems.length === 0) return input\n if (!Array.isArray(input)) return input\n const locked = new Set<string | number>(lockedItems)\n return input.filter((row: unknown, index: number): boolean => {\n if (row == null || typeof row !== 'object') return false\n const id = (row as Record<string, unknown>)[keyColumn] ?? index\n return (typeof id === 'string' || typeof id === 'number') && locked.has(id)\n })\n}\n"],"mappings":"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"}
|
package/dist/tooltip-DJUGNZxY.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { c as e } from "react/compiler-runtime";
|
|
2
|
-
import { Tooltip as t } from "@mui/material";
|
|
3
|
-
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
-
//#region src/components/tooltip/tooltip.tsx
|
|
5
|
-
var r = 500;
|
|
6
|
-
function i(i) {
|
|
7
|
-
let a = e(10), o, s, c, l;
|
|
8
|
-
a[0] === i ? (o = a[1], s = a[2], c = a[3], l = a[4]) : ({children: o, title: l, enterNextDelay: c, ...s} = i, a[0] = i, a[1] = o, a[2] = s, a[3] = c, a[4] = l);
|
|
9
|
-
let u = c === void 0 ? r : c, d;
|
|
10
|
-
return a[5] !== o || a[6] !== u || a[7] !== s || a[8] !== l ? (d = /* @__PURE__ */ n(t, {
|
|
11
|
-
title: l,
|
|
12
|
-
enterNextDelay: u,
|
|
13
|
-
...s,
|
|
14
|
-
children: o
|
|
15
|
-
}), a[5] = o, a[6] = u, a[7] = s, a[8] = l, a[9] = d) : d = a[9], d;
|
|
16
|
-
}
|
|
17
|
-
function a(e) {
|
|
18
|
-
r = e;
|
|
19
|
-
}
|
|
20
|
-
//#endregion
|
|
21
|
-
export { a as n, i as t };
|
|
22
|
-
|
|
23
|
-
//# sourceMappingURL=tooltip-DJUGNZxY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-DJUGNZxY.js","names":["enterNextDelay = tooltipEnterDelay","{\n children,\n title,\n enterNextDelay = tooltipEnterDelay,\n ...props\n}: TooltipProps","<MuiTooltip title={title} enterNextDelay={enterNextDelay} {...props}>\n {children}\n </MuiTooltip>"],"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"],"mappings":";;;;AAEA,IAAI,IAAoB;AAYxB,SAAgB,EAAA,GAKC;gBAJf,GAGG,GADHA,GADA;CAFsBC,AAAAA,EAAAA,OAAAA,gDACtB,wBAEA,gBAAA,GACA,GAAA,KAJsBA;CAGtB,IAAA,IAAA,MAAA,KAAA,IAAiB,IAAjBD,GAIEE;CADF,OAEK,EAAA,OAAA,KAAA,EAAA,OADuC,KAAA,EAAA,OAAoB,KAAA,EAAA,OAA3C,KAAnB,IAAA,kBAAC,GAAD;EAAmB;EAAuB;EAAgB,GAAI;EAC3D;CACS,CAAA,GADT,EAAA,KAAA,GADuC,EAAA,KAAA,GAAoB,EAAA,KAAA,GAA3C,EAAA,KAAA,yBAAnBA;AAIJ;AAeA,SAAgB,EAAqB,GAAe;CAClD,IAAoB;AACtB"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { JSX } from 'react';
|
|
2
|
-
import { ListDataProps } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Displays structured data in an accessible list format with expandable views, interactive selection, tooltips, and loading states.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```tsx
|
|
8
|
-
* <ListDataUI
|
|
9
|
-
* data={[
|
|
10
|
-
* { id: '1', label: 'Population', value: '8.4M' },
|
|
11
|
-
* { id: '2', label: 'Median Age', value: '32 years' },
|
|
12
|
-
* ]}
|
|
13
|
-
* maxItems={3}
|
|
14
|
-
* onItemClick={(item) => setSelectedId(item.id)}
|
|
15
|
-
* selectedItemId={selectedId}
|
|
16
|
-
* />
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export declare function ListDataUI({ data, isLoading, maxItems, labels, showDivider, selectedItemId, tooltipProps, onExpand, onItemClick, }: ListDataProps): JSX.Element;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Theme } from '@mui/material';
|
|
2
|
-
export declare const styles: {
|
|
3
|
-
label: {
|
|
4
|
-
'& .MuiListItemText-primary': {
|
|
5
|
-
overflow: string;
|
|
6
|
-
textOverflow: string;
|
|
7
|
-
whiteSpace: string;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
value: {
|
|
11
|
-
'& .MuiListItemText-primary': {
|
|
12
|
-
textAlign: "right";
|
|
13
|
-
overflow: string;
|
|
14
|
-
textOverflow: string;
|
|
15
|
-
whiteSpace: string;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
clickable: {
|
|
19
|
-
cursor: "pointer";
|
|
20
|
-
'&:hover': {
|
|
21
|
-
backgroundColor: ({ palette }: Theme) => string;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
showDivider: {
|
|
25
|
-
borderBottom: ({ palette }: Theme) => string;
|
|
26
|
-
};
|
|
27
|
-
selected: {
|
|
28
|
-
backgroundColor: ({ palette }: Theme) => string;
|
|
29
|
-
};
|
|
30
|
-
disabled: {
|
|
31
|
-
opacity: number;
|
|
32
|
-
pointerEvents: "none";
|
|
33
|
-
};
|
|
34
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { TooltipProps } from '@mui/material';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
export interface DataItem {
|
|
4
|
-
id: string | number;
|
|
5
|
-
label: string | ReactElement;
|
|
6
|
-
value: string | ReactElement;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
tooltipTitle?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface ListDataProps {
|
|
11
|
-
data: DataItem[];
|
|
12
|
-
isLoading?: boolean;
|
|
13
|
-
maxItems?: number;
|
|
14
|
-
labels?: {
|
|
15
|
-
showMore: string;
|
|
16
|
-
showLess: string;
|
|
17
|
-
};
|
|
18
|
-
showDivider?: boolean;
|
|
19
|
-
selectedItemId?: string | number;
|
|
20
|
-
tooltipProps?: Omit<TooltipProps, 'title' | 'children'>;
|
|
21
|
-
onExpand?: (isExpanded: boolean) => void;
|
|
22
|
-
onItemClick?: (item: DataItem) => void;
|
|
23
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useWidgetRef } from './use-widget-ref.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useSkeleton(isLoading: boolean): boolean;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type * as echarts from 'echarts';
|
|
2
|
-
/**
|
|
3
|
-
* Registers a DOM element ref and an ECharts instance ref with the widget store.
|
|
4
|
-
* This allows other parts of the application (e.g., screenshot export) to access the widget's DOM element.
|
|
5
|
-
*
|
|
6
|
-
* @param widgetId - The widget ID to register the refs under.
|
|
7
|
-
* @returns An object with `ref` (DOM element) and `instance` (ECharts instance) refs.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```tsx
|
|
11
|
-
* function MyWidget({ id }: { id: string }) {
|
|
12
|
-
* const { ref } = useWidgetRef<HTMLDivElement>(id)
|
|
13
|
-
*
|
|
14
|
-
* return <div ref={ref}>Widget content</div>
|
|
15
|
-
* }
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export declare function useWidgetRef<T extends HTMLElement = HTMLElement>(widgetId: string): {
|
|
19
|
-
ref: import('react').RefObject<T | null>;
|
|
20
|
-
instance: import('react').RefObject<echarts.ECharts | null>;
|
|
21
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
interface BrushOverlayProps {
|
|
2
|
-
id: string;
|
|
3
|
-
multiBrush?: boolean;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Portaled overlay rendered inside the ECharts chart `<div>`. Handles brush
|
|
7
|
-
* drawing entirely in DOM, independent of ECharts' built-in brush.
|
|
8
|
-
*
|
|
9
|
-
* Rectangles are stored in x-axis data coords (category indices) in the
|
|
10
|
-
* widget store. The overlay re-projects them to pixel coords on every chart
|
|
11
|
-
* `finished` event and container resize, so `setOption({ notMerge: true })`
|
|
12
|
-
* by the config pipeline is a non-event.
|
|
13
|
-
*
|
|
14
|
-
* Pointer capture and rectangle rendering are both clamped to the ECharts
|
|
15
|
-
* grid (plot area), so the legend, axis labels, and other chart chrome
|
|
16
|
-
* receive their usual events and aren't visually covered.
|
|
17
|
-
*
|
|
18
|
-
* Hit-testing happens on `pointerup` using `hitTestRects` against the widget's
|
|
19
|
-
* data length (derived from `widget.data`). The result is written to
|
|
20
|
-
* `brushSelection` in the store; `BrushToggle` subscribes to that and invokes
|
|
21
|
-
* the consumer's `onBrushSelected` callback.
|
|
22
|
-
*/
|
|
23
|
-
export declare function BrushOverlay({ id, multiBrush }: BrushOverlayProps): import('react').ReactPortal | null;
|
|
24
|
-
export {};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { BrushRect } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Returns integer dataIndices covered by a brush rectangle on a category axis.
|
|
4
|
-
*
|
|
5
|
-
* `xStart` / `xEnd` come from `instance.convertFromPixel({ xAxisIndex: 0 }, …)`
|
|
6
|
-
* which, for a category axis, returns fractional positions around integer
|
|
7
|
-
* category indices (e.g. `1.3` lands between categories 1 and 2). We snap the
|
|
8
|
-
* range outward (`floor` / `ceil`) so a drag that visually covers any part of
|
|
9
|
-
* a category's bar includes that index.
|
|
10
|
-
*
|
|
11
|
-
* Results are clamped to `[0, dataLength - 1]` and returned in ascending order.
|
|
12
|
-
*/
|
|
13
|
-
export declare function hitTestCategoryRange(xStart: number, xEnd: number, dataLength: number): number[];
|
|
14
|
-
/**
|
|
15
|
-
* Union of `hitTestCategoryRange` across multiple rectangles. Used for
|
|
16
|
-
* multi-brush selections where each drawn rectangle contributes to the
|
|
17
|
-
* combined selection.
|
|
18
|
-
*/
|
|
19
|
-
export declare function hitTestRects(rects: BrushRect[], dataLength: number): number[];
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { IconButtonProps } from '@mui/material';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
|
-
import { BaseWidgetState } from '../../stores/types.js';
|
|
4
|
-
/**
|
|
5
|
-
* Brush selection result emitted by BrushToggle.
|
|
6
|
-
* Contains raw indices so consumers can resolve data according to their widget type.
|
|
7
|
-
*/
|
|
8
|
-
export interface BrushSelectedItems {
|
|
9
|
-
/** Data indices of the selected items in the dataset */
|
|
10
|
-
dataIndex: number[];
|
|
11
|
-
/** Series index from the brush event (defaults to 0) */
|
|
12
|
-
seriesIndex: number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* A selection rectangle in x-axis data coords. Stored in the widget store so
|
|
16
|
-
* it survives config-pipeline re-renders (which call `setOption` with
|
|
17
|
-
* `notMerge: true` and wipe any ECharts-side state). The overlay re-projects
|
|
18
|
-
* these to pixel positions on every chart render / resize.
|
|
19
|
-
*
|
|
20
|
-
* Both bar and histogram widgets use `xAxis.type === 'category'`, so the
|
|
21
|
-
* coords are category indices (possibly fractional — `convertFromPixel`
|
|
22
|
-
* returns floats like `1.3` between categories 1 and 2).
|
|
23
|
-
*/
|
|
24
|
-
export interface BrushRect {
|
|
25
|
-
xStart: number;
|
|
26
|
-
xEnd: number;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* State stored in widget store for brush functionality.
|
|
30
|
-
*/
|
|
31
|
-
export interface BrushConfig {
|
|
32
|
-
/** Whether brush mode is enabled. */
|
|
33
|
-
brush?: boolean;
|
|
34
|
-
/** Persisted selection rectangles in data-axis coords. */
|
|
35
|
-
brushRects?: BrushRect[];
|
|
36
|
-
/** Last selection emitted to the `onBrushSelected` callback. */
|
|
37
|
-
brushSelection?: BrushSelectedItems;
|
|
38
|
-
}
|
|
39
|
-
export type BrushState<T = unknown> = BaseWidgetState<T & BrushConfig>;
|
|
40
|
-
export interface BrushToggleProps {
|
|
41
|
-
/** Widget ID to update brush state in the widget store */
|
|
42
|
-
id: string;
|
|
43
|
-
/** Callback fired when items are selected via brush */
|
|
44
|
-
onBrushSelected?: (items: BrushSelectedItems) => void;
|
|
45
|
-
/** When true, allows multiple brush selection areas. Brush stays active after each selection. */
|
|
46
|
-
multiBrush?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Initial brush-enabled state. Only applied on first mount if the widget
|
|
49
|
-
* store has no `brush` value yet — subsequent remounts preserve whatever
|
|
50
|
-
* state the user has toggled to.
|
|
51
|
-
*/
|
|
52
|
-
defaultEnabled?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Current selection count from the consumer (e.g. `selectedItems.length`).
|
|
55
|
-
* When this transitions to `0` (typically when the user presses the clear
|
|
56
|
-
* button in `WidgetSelectionSummary`), BrushToggle clears its persisted
|
|
57
|
-
* brush rectangles and the on-chart selection.
|
|
58
|
-
*/
|
|
59
|
-
selections?: number;
|
|
60
|
-
/** Custom labels for the action */
|
|
61
|
-
labels?: {
|
|
62
|
-
/** Tooltip when brush is disabled (button will enable brush) */
|
|
63
|
-
enable?: string;
|
|
64
|
-
/** Tooltip when brush is enabled (button will disable brush) */
|
|
65
|
-
disable?: string;
|
|
66
|
-
/** Accessibility label */
|
|
67
|
-
ariaLabel?: string;
|
|
68
|
-
};
|
|
69
|
-
/** Props passed to the IconButton component */
|
|
70
|
-
IconButtonProps?: IconButtonProps;
|
|
71
|
-
/** Custom icon to display for brush toggle */
|
|
72
|
-
Icon?: ReactNode;
|
|
73
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Theme } from '@mui/material';
|
|
2
|
-
export declare const styles: {
|
|
3
|
-
title: {
|
|
4
|
-
container: {
|
|
5
|
-
display: "flex";
|
|
6
|
-
alignItems: "center";
|
|
7
|
-
justifyContent: "space-between";
|
|
8
|
-
gap: number;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
content: {
|
|
12
|
-
display: "flex";
|
|
13
|
-
flexDirection: "column";
|
|
14
|
-
gap: ({ spacing }: Theme) => string;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { IconButtonProps } from '@mui/material';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
|
-
import { BaseWidgetState } from '../../stores/types.js';
|
|
4
|
-
/**
|
|
5
|
-
* Widget state extension for lock selection functionality.
|
|
6
|
-
* Extends the base widget state with lock-specific properties.
|
|
7
|
-
*/
|
|
8
|
-
export type LockSelectionState<T = object> = BaseWidgetState<T & LockSelectionStateProps>;
|
|
9
|
-
export interface LockSelectionProps {
|
|
10
|
-
/** Widget ID to store lock selection state */
|
|
11
|
-
id: string;
|
|
12
|
-
/** Currently selected items (by name) */
|
|
13
|
-
selectedItems: string[];
|
|
14
|
-
/** Execution order in the tool pipeline. Lower values execute first. Defaults to 30. */
|
|
15
|
-
order?: number;
|
|
16
|
-
/** Custom labels for the action */
|
|
17
|
-
labels?: {
|
|
18
|
-
/** Tooltip when unlocked (button will lock selection) */
|
|
19
|
-
lock?: string;
|
|
20
|
-
/** Tooltip when locked (button will unlock selection) */
|
|
21
|
-
unlock?: string;
|
|
22
|
-
/** Accessibility label */
|
|
23
|
-
ariaLabel?: string;
|
|
24
|
-
};
|
|
25
|
-
/** Props passed to the IconButton component */
|
|
26
|
-
IconButtonProps?: IconButtonProps;
|
|
27
|
-
/** Custom icon to display */
|
|
28
|
-
Icon?: ReactNode;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Lock selection specific state properties.
|
|
32
|
-
*/
|
|
33
|
-
export interface LockSelectionStateProps {
|
|
34
|
-
/** Whether the selection is currently locked */
|
|
35
|
-
isLocked?: boolean;
|
|
36
|
-
/** Items locked for filtering */
|
|
37
|
-
lockedItems?: string[];
|
|
38
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { IconButtonProps } from '@mui/material';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
|
-
import { BaseWidgetState } from '../../../widgets/stores/index.js';
|
|
4
|
-
export interface RelativeDataProps {
|
|
5
|
-
/** Widget ID to update data in the widget store */
|
|
6
|
-
id: string;
|
|
7
|
-
/** Execution order in the tool pipeline. Lower values execute first. Defaults to 20. */
|
|
8
|
-
order?: number;
|
|
9
|
-
/** Initial toggle state - when true, shows relative (percentage) values */
|
|
10
|
-
defaultIsRelative?: boolean;
|
|
11
|
-
/** Custom labels for the action */
|
|
12
|
-
labels?: {
|
|
13
|
-
/** Tooltip when showing absolute values (button will switch to relative) */
|
|
14
|
-
relative?: string;
|
|
15
|
-
/** Tooltip when showing relative values (button will switch to absolute) */
|
|
16
|
-
absolute?: string;
|
|
17
|
-
/** Accessibility label */
|
|
18
|
-
ariaLabel?: string;
|
|
19
|
-
};
|
|
20
|
-
/** Props passed to the IconButton component */
|
|
21
|
-
IconButtonProps?: IconButtonProps;
|
|
22
|
-
/** Custom icon to display */
|
|
23
|
-
Icon?: ReactNode;
|
|
24
|
-
}
|
|
25
|
-
export type RelativeDataState<T = unknown> = BaseWidgetState<T & {
|
|
26
|
-
isRelative?: boolean;
|
|
27
|
-
originalFormatter?: (value: number) => string;
|
|
28
|
-
originalMax?: number;
|
|
29
|
-
}>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { EchartWidgetData } from '../../echart/types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Calculates the sum of all numeric values in the data
|
|
4
|
-
*/
|
|
5
|
-
export declare function calculateTotal(data: EchartWidgetData): number;
|
|
6
|
-
/**
|
|
7
|
-
* Transforms data to relative (percentage) values
|
|
8
|
-
*/
|
|
9
|
-
export declare function toRelativeData(data: EchartWidgetData, total: number): EchartWidgetData;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { IconButtonProps, TextFieldProps } from '@mui/material';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
|
-
import { EchartWidgetData } from '../../echart/types.js';
|
|
4
|
-
import { BaseWidgetState } from '../../stores/types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Filter function type for custom search filtering logic.
|
|
7
|
-
* Receives the original data and search text, returns filtered data.
|
|
8
|
-
* Can be synchronous or asynchronous to support remote filtering.
|
|
9
|
-
*/
|
|
10
|
-
export type SearcherFilterFn = (data: EchartWidgetData, searchText: string) => Promise<EchartWidgetData> | EchartWidgetData;
|
|
11
|
-
/**
|
|
12
|
-
* Searcher-specific state properties.
|
|
13
|
-
*/
|
|
14
|
-
export interface SearcherStateProps {
|
|
15
|
-
/** Whether search is currently enabled */
|
|
16
|
-
isSearchEnabled?: boolean;
|
|
17
|
-
/** Current search text */
|
|
18
|
-
searchText?: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Widget state extension for searcher functionality.
|
|
22
|
-
* Extends the base widget state with search-specific properties.
|
|
23
|
-
*/
|
|
24
|
-
export type SearcherState<T = object> = BaseWidgetState<T & SearcherStateProps>;
|
|
25
|
-
export interface SearcherToggleProps {
|
|
26
|
-
/** Widget ID to store search enabled state */
|
|
27
|
-
id: string;
|
|
28
|
-
/** Initial search enabled state. Defaults to false */
|
|
29
|
-
defaultEnabled?: boolean;
|
|
30
|
-
/** Custom labels for the action */
|
|
31
|
-
labels?: {
|
|
32
|
-
/** Tooltip when search is disabled (button will enable search) */
|
|
33
|
-
enable?: string;
|
|
34
|
-
/** Tooltip when search is enabled (button will disable search) */
|
|
35
|
-
disable?: string;
|
|
36
|
-
/** Accessibility label */
|
|
37
|
-
ariaLabel?: string;
|
|
38
|
-
};
|
|
39
|
-
/** Props passed to the IconButton component */
|
|
40
|
-
IconButtonProps?: IconButtonProps;
|
|
41
|
-
/** Custom icon to display */
|
|
42
|
-
Icon?: ReactNode;
|
|
43
|
-
}
|
|
44
|
-
export interface SearcherProps {
|
|
45
|
-
/** Widget ID to update filtered data in the widget store */
|
|
46
|
-
id: string;
|
|
47
|
-
/** Custom filter function. Defaults to case-insensitive search across all string fields */
|
|
48
|
-
filterFn?: SearcherFilterFn;
|
|
49
|
-
/** Execution order in the tool pipeline. Lower values execute first. Defaults to 10. */
|
|
50
|
-
order?: number;
|
|
51
|
-
/** Custom labels for the searcher input */
|
|
52
|
-
labels?: {
|
|
53
|
-
/** Placeholder text for the input */
|
|
54
|
-
placeholder?: string;
|
|
55
|
-
/** Accessibility label for clear button */
|
|
56
|
-
clearAriaLabel?: string;
|
|
57
|
-
};
|
|
58
|
-
/** Props passed to the TextField component */
|
|
59
|
-
TextFieldProps?: Omit<TextFieldProps, 'value' | 'onChange' | 'size'>;
|
|
60
|
-
/** Custom icon for clear button */
|
|
61
|
-
ClearIcon?: ReactNode;
|
|
62
|
-
/** Debounce delay in milliseconds for search input. Defaults to 300ms */
|
|
63
|
-
debounceDelay?: number;
|
|
64
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const GroupedBarChartIcon: () => import('react').JSX.Element;
|