@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,194 +1,297 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
//#region src/widgets/histogram/
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
let r = v(e[0]?.length ?? 0, t, n), i = e.length;
|
|
13
|
-
return [i > 1 ? ["Bin", ...Array.from({ length: i }, (e, t) => `Series ${t + 1}`)] : ["Bin", "Value"], ...r.map((t, n) => [t, ...e.map((e) => String(e[n] ?? 0))])];
|
|
14
|
-
}
|
|
15
|
-
function _({ refUI: n, ticks: r, labelFormatter: i }) {
|
|
16
|
-
return [{
|
|
17
|
-
...t,
|
|
18
|
-
modifier: () => t.modifier(n)
|
|
19
|
-
}, {
|
|
20
|
-
...e,
|
|
21
|
-
modifier: async (t) => e.modifier(g(t, r, i))
|
|
22
|
-
}];
|
|
23
|
-
}
|
|
24
|
-
function v(e, t, n) {
|
|
25
|
-
let r = (e) => String(n ? n(e) : e);
|
|
26
|
-
return Array.from({ length: e }, (e, n) => {
|
|
27
|
-
let i = t[n] ?? n, a = t[n + 1];
|
|
28
|
-
return a !== void 0 && isFinite(a) ? `${r(i)}-${r(a)}` : `${r(i)}+`;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
function y(e) {
|
|
1
|
+
import { r as e } from "../zoom-toggle-D_VuA01l.js";
|
|
2
|
+
import { n as t, t as n } from "../download-Vlzn2jzb.js";
|
|
3
|
+
import { n as r, r as i, t as a } from "../utils-BStJWhZN.js";
|
|
4
|
+
import { a as o, n as s, o as c, r as l, s as u, t as d } from "../option-builders-DQivvvbb.js";
|
|
5
|
+
import { c as f } from "react/compiler-runtime";
|
|
6
|
+
import { Box as p, Skeleton as m } from "@mui/material";
|
|
7
|
+
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
8
|
+
import * as _ from "echarts";
|
|
9
|
+
//#region src/widgets/histogram/options.ts
|
|
10
|
+
function v({ theme: e, formatter: t }) {
|
|
11
|
+
let n = 0, r = 1;
|
|
32
12
|
return {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
13
|
+
grid: {
|
|
14
|
+
left: parseInt(e.spacing(1)),
|
|
15
|
+
top: parseInt(e.spacing(3)),
|
|
16
|
+
right: parseInt(e.spacing(1)),
|
|
17
|
+
...s(!1, e),
|
|
18
|
+
containLabel: !0
|
|
19
|
+
},
|
|
20
|
+
tooltip: {
|
|
21
|
+
trigger: "axis",
|
|
22
|
+
backgroundColor: e.palette.grey[900],
|
|
23
|
+
borderWidth: 0,
|
|
24
|
+
padding: [parseInt(e.spacing(1)), parseInt(e.spacing(1))],
|
|
25
|
+
textStyle: {
|
|
26
|
+
color: e.palette.common.white,
|
|
27
|
+
fontSize: 11,
|
|
28
|
+
fontFamily: e.typography.caption.fontFamily
|
|
29
|
+
},
|
|
30
|
+
axisPointer: { type: "line" },
|
|
31
|
+
position: c(e),
|
|
32
|
+
formatter: b(t)
|
|
33
|
+
},
|
|
34
|
+
legend: { ...l({ hasLegend: !1 }) },
|
|
35
|
+
axisPointer: { lineStyle: { color: e.palette.grey[400] } },
|
|
36
|
+
color: [e.palette.secondary.main, ...Object.values(e.palette.qualitative?.bold ?? {})],
|
|
47
37
|
xAxis: {
|
|
48
38
|
type: "category",
|
|
49
|
-
data: f,
|
|
50
39
|
axisLine: { show: !1 },
|
|
40
|
+
axisTick: { show: !1 },
|
|
51
41
|
axisLabel: {
|
|
52
|
-
|
|
53
|
-
fontFamily: n.typography.overlineDelicate.fontFamily,
|
|
54
|
-
showMinLabel: void 0,
|
|
55
|
-
showMaxLabel: void 0,
|
|
56
|
-
hideOverlap: !0,
|
|
57
|
-
margin: 0,
|
|
42
|
+
...d(e),
|
|
58
43
|
padding: [
|
|
59
|
-
parseInt(
|
|
60
|
-
|
|
44
|
+
parseInt(e.spacing(.5)),
|
|
45
|
+
0,
|
|
61
46
|
0,
|
|
62
|
-
|
|
47
|
+
0
|
|
63
48
|
],
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
splitLine: {
|
|
68
|
-
show: !0,
|
|
69
|
-
lineStyle: { color: n.palette.black[4] }
|
|
49
|
+
margin: 0,
|
|
50
|
+
interval: 0,
|
|
51
|
+
hideOverlap: !0
|
|
70
52
|
}
|
|
71
53
|
},
|
|
72
54
|
yAxis: {
|
|
73
55
|
type: "value",
|
|
74
|
-
min: (e) => (
|
|
75
|
-
max: (e) => (
|
|
76
|
-
|
|
56
|
+
min: (e) => (n = e.min < 0 ? u(e.min) : 0, n),
|
|
57
|
+
max: (e) => (r = e.max <= 0 ? 1 : u(e.max), r),
|
|
58
|
+
axisLine: { show: !1 },
|
|
59
|
+
axisTick: { show: !1 },
|
|
60
|
+
splitLine: {
|
|
61
|
+
show: !0,
|
|
62
|
+
lineStyle: { color: e.palette.black?.[4] ?? e.palette.divider }
|
|
63
|
+
},
|
|
77
64
|
axisLabel: {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
margin: parseInt(n.spacing(1)),
|
|
65
|
+
...d(e),
|
|
66
|
+
margin: parseInt(e.spacing(1)),
|
|
81
67
|
show: !0,
|
|
82
68
|
showMaxLabel: !0,
|
|
83
69
|
showMinLabel: !0,
|
|
84
70
|
verticalAlign: "bottom",
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
axisLine: { show: !1 },
|
|
88
|
-
axisTick: { show: !1 },
|
|
89
|
-
splitLine: {
|
|
90
|
-
show: !0,
|
|
91
|
-
lineStyle: { color: n.palette.black[4] }
|
|
71
|
+
inside: !0,
|
|
72
|
+
formatter: (e) => e !== r && e !== n || e === 0 ? "" : t ? t(e) : String(e)
|
|
92
73
|
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function y(t) {
|
|
78
|
+
let { theme: n, formatter: o, ticks: s, series: c, labelFormatter: l, selection: d } = t, f = t.optionsOverride, p = t.lockedItems, m = d && d.length > 0 ? new Set(d) : null, h = [];
|
|
79
|
+
for (let e = 0; e < s.length - 1; e++) {
|
|
80
|
+
let t = s[e], n = s[e + 1], r = `${x(t)}–${x(n)}`;
|
|
81
|
+
h.push(l ? l(r) : r);
|
|
82
|
+
}
|
|
83
|
+
let g = p && p.length > 0 ? (() => {
|
|
84
|
+
let e = p.map(Number), t = h[Math.min(...e)], n = h[Math.max(...e)];
|
|
85
|
+
return t != null && n != null ? {
|
|
86
|
+
min: t,
|
|
87
|
+
max: n
|
|
88
|
+
} : null;
|
|
89
|
+
})() : null;
|
|
90
|
+
return (t, s, l) => {
|
|
91
|
+
if (t == null) {
|
|
92
|
+
let e = v({
|
|
93
|
+
theme: n,
|
|
94
|
+
formatter: o
|
|
95
|
+
});
|
|
96
|
+
return f ? i(e, f) : e;
|
|
97
|
+
}
|
|
98
|
+
let d = Array.isArray(s) ? s : [];
|
|
99
|
+
if (d.length === 0 || h.length === 0) return {
|
|
100
|
+
...t,
|
|
101
|
+
dataset: [],
|
|
102
|
+
series: []
|
|
103
|
+
};
|
|
104
|
+
let p = d.length > 1, y = Array.isArray(t.series) ? t.series : [], x = y[0] ?? {}, S = typeof t.yAxis == "object" && !Array.isArray(t.yAxis) ? t.yAxis : {}, C = typeof t.grid == "object" && !Array.isArray(t.grid) ? t.grid : {}, w = typeof t.tooltip == "object" && !Array.isArray(t.tooltip) ? t.tooltip : {}, T = typeof t.legend == "object" && !Array.isArray(t.legend) ? t.legend : {}, E = l?.formatter, D = 0, O = 1, k = r(t.dataZoom, p), A = typeof C.bottom == "number" ? C.bottom : 24, j = p ? 56 : A, M = k ? j + e.sliderHeight + e.sliderGap : j, N = { color: (e) => {
|
|
105
|
+
let t = e.color;
|
|
106
|
+
return m ? m.has(e.dataIndex) ? t : _.color.modifyAlpha(t, .15) : t;
|
|
107
|
+
} }, P = Array.isArray(t.xAxis) ? t.xAxis[0] : t.xAxis, F = {
|
|
108
|
+
min: g?.min ?? P?.min ?? null,
|
|
109
|
+
max: g?.max ?? P?.max ?? null
|
|
110
|
+
}, I = Array.isArray(t.xAxis) ? [{
|
|
111
|
+
...t.xAxis[0],
|
|
112
|
+
...F
|
|
113
|
+
}, ...t.xAxis.slice(1)] : {
|
|
114
|
+
...typeof t.xAxis == "object" ? t.xAxis : {},
|
|
115
|
+
...F
|
|
116
|
+
};
|
|
117
|
+
return {
|
|
118
|
+
...t,
|
|
119
|
+
xAxis: I,
|
|
120
|
+
dataset: d.map((e) => ({ source: h.map((t, n) => [t, e[n] ?? 0]) })),
|
|
121
|
+
series: d.map((e, t) => {
|
|
122
|
+
let r = y[t] ?? x, i = a(n, c?.[t]?.color);
|
|
98
123
|
return {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
124
|
+
...typeof r == "object" ? r : {},
|
|
125
|
+
type: "bar",
|
|
126
|
+
datasetIndex: t,
|
|
127
|
+
name: c?.[t]?.name ?? `Series ${t + 1}`,
|
|
128
|
+
encode: {
|
|
129
|
+
x: 0,
|
|
130
|
+
y: 1
|
|
131
|
+
},
|
|
132
|
+
barCategoryGap: "0%",
|
|
133
|
+
emphasis: { focus: "series" },
|
|
134
|
+
itemStyle: N,
|
|
135
|
+
...i ? { color: i } : {}
|
|
103
136
|
};
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
137
|
+
}),
|
|
138
|
+
legend: {
|
|
139
|
+
...T,
|
|
140
|
+
show: p
|
|
141
|
+
},
|
|
142
|
+
grid: {
|
|
143
|
+
...C,
|
|
144
|
+
bottom: M
|
|
145
|
+
},
|
|
146
|
+
...k ? { dataZoom: k } : {},
|
|
147
|
+
yAxis: {
|
|
148
|
+
...S,
|
|
149
|
+
min: (e) => (D = e.min < 0 ? u(e.min) : 0, D),
|
|
150
|
+
max: (e) => (O = e.max <= 0 ? 1 : u(e.max), O),
|
|
151
|
+
axisLabel: {
|
|
152
|
+
...S.axisLabel ?? {},
|
|
153
|
+
formatter: (e) => e !== O && e !== D || e === 0 ? "" : E ? E(e) : String(e)
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
tooltip: {
|
|
157
|
+
...w,
|
|
158
|
+
formatter: b(E)
|
|
159
|
+
}
|
|
160
|
+
};
|
|
114
161
|
};
|
|
115
162
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
alignItems: "flex-end",
|
|
127
|
-
justifyContent: "space-between",
|
|
128
|
-
gap: D,
|
|
129
|
-
height: E,
|
|
130
|
-
width: "100%"
|
|
131
|
-
},
|
|
132
|
-
children: Array(8).fill(0).map(T)
|
|
133
|
-
}), e[0] = t) : t = e[0];
|
|
134
|
-
let n;
|
|
135
|
-
return e[1] === Symbol.for("react.memo_cache_sentinel") ? (n = /* @__PURE__ */ h(f, {
|
|
136
|
-
sx: x.skeleton.graph.container,
|
|
137
|
-
children: [t, /* @__PURE__ */ m(f, {
|
|
138
|
-
sx: {
|
|
139
|
-
display: "flex",
|
|
140
|
-
alignItems: "center",
|
|
141
|
-
justifyContent: "space-between",
|
|
142
|
-
width: "100%",
|
|
143
|
-
mt: w
|
|
144
|
-
},
|
|
145
|
-
children: [
|
|
146
|
-
,
|
|
147
|
-
,
|
|
148
|
-
,
|
|
149
|
-
,
|
|
150
|
-
].fill(0).map(C)
|
|
151
|
-
})]
|
|
152
|
-
}), e[1] = n) : n = e[1], n;
|
|
163
|
+
function b(e) {
|
|
164
|
+
return o((t) => {
|
|
165
|
+
let n = t.value?.[1], r = typeof n == "number" && e ? e(n) : n ?? "", i = typeof t.marker == "string" ? t.marker : "", a = t.seriesName ? `${t.seriesName}: ` : "";
|
|
166
|
+
return {
|
|
167
|
+
name: String(t.name ?? ""),
|
|
168
|
+
seriesName: a,
|
|
169
|
+
marker: i,
|
|
170
|
+
value: r
|
|
171
|
+
};
|
|
172
|
+
});
|
|
153
173
|
}
|
|
154
|
-
function
|
|
155
|
-
return
|
|
156
|
-
width: 32,
|
|
157
|
-
height: 8
|
|
158
|
-
}, `skeleton-label-${t}`);
|
|
174
|
+
function x(e) {
|
|
175
|
+
return Number.isInteger(e) ? String(e) : Number(e.toFixed(2)).toString();
|
|
159
176
|
}
|
|
177
|
+
//#endregion
|
|
178
|
+
//#region src/widgets/histogram/skeleton.tsx
|
|
179
|
+
var S = {
|
|
180
|
+
container: {
|
|
181
|
+
display: "flex",
|
|
182
|
+
alignItems: "center",
|
|
183
|
+
justifyContent: "space-between",
|
|
184
|
+
flexDirection: "column",
|
|
185
|
+
gap: ({ spacing: e }) => e(1),
|
|
186
|
+
height: ({ spacing: e }) => e(38)
|
|
187
|
+
},
|
|
188
|
+
grid: {
|
|
189
|
+
display: "flex",
|
|
190
|
+
alignItems: "flex-end",
|
|
191
|
+
flex: "1 1 auto",
|
|
192
|
+
gap: .5,
|
|
193
|
+
width: "100%"
|
|
194
|
+
},
|
|
195
|
+
legend: {
|
|
196
|
+
display: "flex",
|
|
197
|
+
alignItems: "center",
|
|
198
|
+
gap: ({ spacing: e }) => e(2),
|
|
199
|
+
height: ({ spacing: e }) => e(5)
|
|
200
|
+
},
|
|
201
|
+
legendItem: {
|
|
202
|
+
display: "flex",
|
|
203
|
+
alignItems: "center",
|
|
204
|
+
gap: ({ spacing: e }) => e(1.5)
|
|
205
|
+
}
|
|
206
|
+
}, C = (e) => ({
|
|
207
|
+
flex: 1,
|
|
208
|
+
height: `${e}%`,
|
|
209
|
+
minWidth: 8
|
|
210
|
+
});
|
|
160
211
|
function w(e) {
|
|
161
|
-
let {
|
|
162
|
-
|
|
212
|
+
let t = f(15), { bins: n } = e, r = n === void 0 ? 12 : n, i, a, o, s, c;
|
|
213
|
+
if (t[0] !== r) {
|
|
214
|
+
let e = Array.from({ length: r }, (e, t) => {
|
|
215
|
+
let n = t / Math.max(1, r - 1);
|
|
216
|
+
return Math.round(20 + 80 * Math.exp(-((n - .5) ** 2) * 8));
|
|
217
|
+
});
|
|
218
|
+
a = p, c = S.container, i = p, o = S.grid, s = e.map(E), t[0] = r, t[1] = i, t[2] = a, t[3] = o, t[4] = s, t[5] = c;
|
|
219
|
+
} else i = t[1], a = t[2], o = t[3], s = t[4], c = t[5];
|
|
220
|
+
let l;
|
|
221
|
+
t[6] !== i || t[7] !== o || t[8] !== s ? (l = /* @__PURE__ */ h(i, {
|
|
222
|
+
sx: o,
|
|
223
|
+
children: s
|
|
224
|
+
}), t[6] = i, t[7] = o, t[8] = s, t[9] = l) : l = t[9];
|
|
225
|
+
let u;
|
|
226
|
+
t[10] === Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ h(p, {
|
|
227
|
+
sx: S.legend,
|
|
228
|
+
children: [0, 1].map(T)
|
|
229
|
+
}), t[10] = u) : u = t[10];
|
|
230
|
+
let d;
|
|
231
|
+
return t[11] !== a || t[12] !== c || t[13] !== l ? (d = /* @__PURE__ */ g(a, {
|
|
232
|
+
sx: c,
|
|
233
|
+
children: [l, u]
|
|
234
|
+
}), t[11] = a, t[12] = c, t[13] = l, t[14] = d) : d = t[14], d;
|
|
235
|
+
}
|
|
236
|
+
function T(e) {
|
|
237
|
+
return /* @__PURE__ */ g(p, {
|
|
238
|
+
sx: S.legendItem,
|
|
239
|
+
children: [/* @__PURE__ */ h(m, {
|
|
240
|
+
variant: "circular",
|
|
241
|
+
width: 8,
|
|
242
|
+
height: 8
|
|
243
|
+
}), /* @__PURE__ */ h(m, {
|
|
244
|
+
width: 48,
|
|
245
|
+
height: 8
|
|
246
|
+
})]
|
|
247
|
+
}, `legend-${e}`);
|
|
163
248
|
}
|
|
164
|
-
function
|
|
165
|
-
|
|
166
|
-
60,
|
|
167
|
-
80,
|
|
168
|
-
95,
|
|
169
|
-
85,
|
|
170
|
-
70,
|
|
171
|
-
55,
|
|
172
|
-
40,
|
|
173
|
-
30
|
|
174
|
-
][t]}%`;
|
|
175
|
-
return /* @__PURE__ */ m(p, {
|
|
249
|
+
function E(e, t) {
|
|
250
|
+
return /* @__PURE__ */ h(m, {
|
|
176
251
|
variant: "rectangular",
|
|
177
|
-
sx:
|
|
178
|
-
|
|
179
|
-
|
|
252
|
+
sx: C(e)
|
|
253
|
+
}, `bar-${t}`);
|
|
254
|
+
}
|
|
255
|
+
//#endregion
|
|
256
|
+
//#region src/widgets/histogram/download.ts
|
|
257
|
+
function D(e) {
|
|
258
|
+
let r = [];
|
|
259
|
+
return e.getCaptureEl && r.push(t({
|
|
260
|
+
filename: e.filename,
|
|
261
|
+
getCaptureEl: e.getCaptureEl,
|
|
262
|
+
pixelRatio: e.pngPixelRatio,
|
|
263
|
+
backgroundColor: e.pngBackgroundColor
|
|
264
|
+
})), r.push(n({
|
|
265
|
+
filename: e.filename,
|
|
266
|
+
getRows: () => {
|
|
267
|
+
let t = e.getData(), n = e.getTicks(), r = t.length, i = ["bin_low", "bin_high"];
|
|
268
|
+
for (let t = 0; t < r; t++) i.push(e.seriesNames?.[t] ?? `series_${t + 1}`);
|
|
269
|
+
let a = [i];
|
|
270
|
+
for (let e = 0; e < Math.max(0, n.length - 1); e++) {
|
|
271
|
+
let i = [n[e], n[e + 1]];
|
|
272
|
+
for (let n = 0; n < r; n++) i.push(t[n]?.[e] ?? 0);
|
|
273
|
+
a.push(i);
|
|
274
|
+
}
|
|
275
|
+
return a;
|
|
180
276
|
}
|
|
181
|
-
},
|
|
277
|
+
})), r;
|
|
182
278
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
279
|
+
//#endregion
|
|
280
|
+
//#region src/widgets/histogram/transforms.ts
|
|
281
|
+
var O = (e) => Array.isArray(e) ? e.map((e) => {
|
|
282
|
+
if (!k(e)) return e;
|
|
283
|
+
let t = e.reduce((e, t) => e + Math.abs(t), 0);
|
|
284
|
+
return t <= 0 ? e : e.map((e) => e / t * 100);
|
|
285
|
+
}) : e;
|
|
286
|
+
function k(e) {
|
|
287
|
+
return Array.isArray(e) ? e.every((e) => typeof e == "number" && Number.isFinite(e)) : !1;
|
|
186
288
|
}
|
|
187
|
-
function
|
|
188
|
-
|
|
189
|
-
|
|
289
|
+
function A(e, t) {
|
|
290
|
+
if (t.length === 0 || !Array.isArray(e)) return e;
|
|
291
|
+
let n = new Set(t.map(Number));
|
|
292
|
+
return e.map((e) => k(e) ? e.map((e, t) => n.has(t) ? e : 0) : e);
|
|
190
293
|
}
|
|
191
294
|
//#endregion
|
|
192
|
-
export {
|
|
295
|
+
export { w as HistogramSkeleton, D as createHistogramDownloadConfig, y as createHistogramOptionFactory, A as filterHistogramByLockedBins, v as histogramOptions, O as toRelativeHistogramData };
|
|
193
296
|
|
|
194
297
|
//# sourceMappingURL=histogram.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"histogram.js","names":["<Box\n sx={{\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n gap: ({ spacing }) => spacing(0.5),\n height: ({ spacing }) => spacing(30),\n width: '100%',\n }}\n >\n {Array(8)\n .fill(0)\n .map((_, i) => {\n // Create varying heights for histogram bars\n const heights = [60, 80, 95, 85, 70, 55, 40, 30]\n const height = `${heights[i]}%`\n return (\n <Skeleton\n key={`skeleton-bar-${i}`}\n variant='rectangular'\n sx={{\n flex: 1,\n height,\n }}\n />\n )\n })}\n </Box>","({ spacing }) => spacing(0.5)","({ spacing }) => spacing(30)","(_, i) => {\n // Create varying heights for histogram bars\n const heights = [60, 80, 95, 85, 70, 55, 40, 30]\n const height = `${heights[i]}%`\n return (\n <Skeleton\n key={`skeleton-bar-${i}`}\n variant='rectangular'\n sx={{\n flex: 1,\n height,\n }}\n />\n )\n }","<Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n gap: ({ spacing }) => spacing(0.5),\n height: ({ spacing }) => spacing(30),\n width: '100%',\n }}\n >\n {Array(8)\n .fill(0)\n .map((_, i) => {\n // Create varying heights for histogram bars\n const heights = [60, 80, 95, 85, 70, 55, 40, 30]\n const height = `${heights[i]}%`\n return (\n <Skeleton\n key={`skeleton-bar-${i}`}\n variant='rectangular'\n sx={{\n flex: 1,\n height,\n }}\n />\n )\n })}\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n mt: ({ spacing }) => spacing(1),\n }}\n >\n {Array(4)\n .fill(0)\n .map((_, i) => (\n <Skeleton key={`skeleton-label-${i}`} width={32} height={8} />\n ))}\n </Box>\n </Box>","({ spacing }) => spacing(1)","(_, i) => (\n <Skeleton key={`skeleton-label-${i}`} width={32} height={8} />\n )","i","{ spacing }","spacing"],"sources":["../../src/widgets/histogram/config.ts","../../src/widgets/histogram/style.ts","../../src/widgets/histogram/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type { HistogramConfig, HistogramWidgetConfig } from './types'\nimport {\n buildLegendConfig,\n buildGridConfig,\n createTooltipPositioner,\n createTooltipFormatter,\n niceNum,\n buildHistogramSeriesLabelConfig,\n} from '../utils/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\n\nexport interface HistogramDownloadConfigProps extends ConfigProps {\n ticks: number[]\n labelFormatter?: (value: string | number) => string | number\n}\n\nexport function histogramDataToCSV(\n data: number[][],\n ticks: number[],\n labelFormatter?: (value: string | number) => string | number,\n): string[][] {\n if (!data?.length || data[0]?.length === 0) return []\n\n const dataLength = data[0]?.length ?? 0\n const labels = createAxisLabels(dataLength, ticks, labelFormatter)\n const seriesCount = data.length\n const isMulti = seriesCount > 1\n\n const headers = isMulti\n ? [\n 'Bin',\n ...Array.from({ length: seriesCount }, (_, i) => `Series ${i + 1}`),\n ]\n : ['Bin', 'Value']\n\n return [\n headers,\n ...labels.map((label, i) => [\n label,\n ...data.map((series) => String(series[i] ?? 0)),\n ]),\n ]\n}\n\nexport function histogramDownloadConfig({\n refUI,\n ticks,\n labelFormatter,\n}: HistogramDownloadConfigProps): DownloadItem<number[][]>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) =>\n downloadToCSV.modifier(histogramDataToCSV(data, ticks, labelFormatter)),\n },\n ]\n}\n\n/**\n * Creates formatted axis labels from tick boundaries.\n *\n * @param dataLength - Number of data points (determines number of labels).\n * @param ticks - Bin boundaries. If `ticks.length === dataLength + 1`, all\n * bins are ranges. If `ticks.length === dataLength`, the last bin is\n * open-ended (`+`). A last tick of `Infinity` also produces `+`.\n * @param labelFormatter - Optional formatter applied to each individual tick\n * value when building the bin range label.\n */\nfunction createAxisLabels(\n dataLength: number,\n ticks: number[],\n labelFormatter?: (value: string | number) => string | number,\n): string[] {\n const fmt = (v: number) =>\n labelFormatter ? String(labelFormatter(v)) : String(v)\n\n return Array.from({ length: dataLength }, (_, i) => {\n const low = ticks[i] ?? i\n const high = ticks[i + 1]\n return high !== undefined && isFinite(high)\n ? `${fmt(low)}-${fmt(high)}`\n : `${fmt(low)}+`\n })\n}\n\n/**\n * Generates ECharts configuration for distribution histogram widgets with\n * adjacent bars (minimal gap) and axis formatting styled with the CARTO theme.\n *\n * Accepts raw `number[][]` data and `ticks` boundaries. The ticks and\n * `labelFormatter` are used to create the x-axis category labels; the raw\n * numeric data is embedded directly in each series.\n *\n * @param props - Histogram configuration including raw data, ticks, and theme.\n * @returns Widget config with ECharts option object.\n */\nexport function histogramConfig(props: HistogramConfig): HistogramWidgetConfig {\n return {\n type: 'histogram',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n formatter: props.formatter,\n labelFormatter: props.labelFormatter,\n }\n}\n\nfunction getOption({\n data = [],\n ticks,\n theme,\n formatter,\n labelFormatter,\n}: HistogramConfig): EchartOptionsProps {\n const hasLegend = (data?.length ?? 0) > 1\n const dataLength = data[0]?.length ?? 0\n const axisLabels = createAxisLabels(dataLength, ticks, labelFormatter)\n\n let niceMin = 0\n let niceMax = 1\n\n return {\n legend: buildLegendConfig({ hasLegend, labelFormatter }),\n grid: buildGridConfig(hasLegend, theme),\n xAxis: {\n type: 'category',\n data: axisLabels,\n axisLine: {\n show: false,\n },\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: undefined,\n showMaxLabel: undefined,\n hideOverlap: true,\n margin: 0,\n padding: [\n parseInt(theme.spacing(0.5)),\n parseInt(theme.spacing(0.5)),\n 0,\n parseInt(theme.spacing(0.5)),\n ],\n color: theme.palette.black[60],\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n },\n yAxis: {\n type: 'value' as const,\n min: (extent: { min: number }) => {\n niceMin = extent.min < 0 ? niceNum(extent.min) : 0\n return niceMin\n },\n max: (extent: { min: number; max: number }) => {\n niceMax = extent.max <= 0 ? 1 : niceNum(extent.max)\n return niceMax\n },\n splitNumber: 1,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n margin: parseInt(theme.spacing(1)),\n show: true,\n showMaxLabel: true,\n showMinLabel: true,\n verticalAlign: 'bottom' as const,\n formatter: (value: number) => {\n if (value !== niceMax && value !== niceMin) return ''\n if (value === 0) return ''\n return formatter ? formatter(value) : String(value)\n },\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n },\n tooltip: {\n position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const _value = item.value as number\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : String(_value ?? '')\n\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const seriesName = item.seriesName ? `${item.seriesName}: ` : ''\n const name = item.name\n\n return { name, seriesName, marker, value: formattedValue }\n }),\n },\n series: data.map((seriesData: number[]) => ({\n type: 'bar',\n data: seriesData,\n barGap: '1%',\n barCategoryGap: '1%',\n emphasis: {\n focus: 'series',\n },\n ...buildHistogramSeriesLabelConfig(formatter),\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../utils/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: baseSkeletonStyles.graph,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function HistogramSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n gap: ({ spacing }) => spacing(0.5),\n height: ({ spacing }) => spacing(30),\n width: '100%',\n }}\n >\n {Array(8)\n .fill(0)\n .map((_, i) => {\n // Create varying heights for histogram bars\n const heights = [60, 80, 95, 85, 70, 55, 40, 30]\n const height = `${heights[i]}%`\n return (\n <Skeleton\n key={`skeleton-bar-${i}`}\n variant='rectangular'\n sx={{\n flex: 1,\n height,\n }}\n />\n )\n })}\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n mt: ({ spacing }) => spacing(1),\n }}\n >\n {Array(4)\n .fill(0)\n .map((_, i) => (\n <Skeleton key={`skeleton-label-${i}`} width={32} height={8} />\n ))}\n </Box>\n </Box>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"histogram.js","names":["{ bins = 12 }: HistogramSkeletonProps","bins = 12","Box","styles.grid","heights.map((h, i) => (\n <Skeleton key={`bar-${i}`} variant='rectangular' sx={barSx(h)} />\n ))","styles.container","(h, i) => (\n <Skeleton key={`bar-${i}`} variant='rectangular' sx={barSx(h)} />\n )","<Box sx={styles.grid}>\n {heights.map((h, i) => (\n <Skeleton key={`bar-${i}`} variant='rectangular' sx={barSx(h)} />\n ))}\n </Box>","<Box sx={styles.legend}>\n {[0, 1].map((i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>","(i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n )","<Box sx={styles.container}>\n <Box sx={styles.grid}>\n {heights.map((h, i) => (\n <Skeleton key={`bar-${i}`} variant='rectangular' sx={barSx(h)} />\n ))}\n </Box>\n <Box sx={styles.legend}>\n {[0, 1].map((i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>","i"],"sources":["../../src/widgets/histogram/options.ts","../../src/widgets/histogram/skeleton.tsx","../../src/widgets/histogram/download.ts","../../src/widgets/histogram/transforms.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts'\nimport * as echarts from 'echarts'\nimport type { CallbackDataParams } from 'echarts/types/dist/shared'\nimport {\n buildAxisLabelStyle,\n buildGridConfig,\n buildLegendConfig,\n createTooltipFormatter,\n createTooltipPositioner,\n niceNum,\n} from '../utils/option-builders'\nimport { ZOOM_LAYOUT } from '../actions/zoom-toggle'\nimport type { OptionFactory } from '../echart'\nimport { mergeOptions, resolveThemeColor } from '../utils'\nimport { positionDataZoomForLegend } from '../utils/data-zoom-layout'\nimport type {\n HistogramEChartsOption,\n HistogramOptionFactoryInput,\n HistogramOptionsInput,\n HistogramWidgetData,\n} from './types'\n\n/**\n * Builds the **structural** ECharts option for a histogram widget — axes,\n * grid, tooltip, value-axis label formatter, themed legend. Mirrors\n * {@link import('../bar/options').barOptions} so the two widgets share v1\n * look-and-feel: themed dark tooltip with positioner, CARTO color palette,\n * structural legend (`show` toggled by the merger based on series count),\n * y-axis labels rendered inside the plot via the `niceNum` closure pattern.\n *\n * Intentional deviations from bar (histogram-specific):\n * - **No `xAxis.axisLabel.formatter`.** Bin labels are pre-formatted in\n * the merger via `formatNumber(lo)–formatNumber(hi)` and optionally\n * the consumer's `labelFormatter`. The strings on the axis are\n * already display-ready, so there's nothing to post-format here.\n * - **Tooltip formatter reads the array-tuple row shape.** The dataset\n * uses positional `encode: { x: 0, y: 1 }`, so `item.value` comes in\n * as `[binLabel, count]` rather than bar's `{ name, value }` object.\n *\n * Intentionally data-agnostic: no series, no dataset, no x-axis category\n * data (those depend on data + ticks and are added by the option factory's\n * merge phase via {@link createHistogramOptionFactory}).\n */\nexport function histogramOptions({\n theme,\n formatter,\n}: HistogramOptionsInput): HistogramEChartsOption {\n // Closure shared between yAxis min/max callbacks and the label formatter,\n // so only the rounded extents are labelled (matches v1 + bar).\n let niceMin = 0\n let niceMax = 1\n\n return {\n grid: {\n left: parseInt(theme.spacing(1)),\n top: parseInt(theme.spacing(3)),\n right: parseInt(theme.spacing(1)),\n // Default: no legend. Merger bumps this when there are >1 series.\n ...buildGridConfig(false, theme),\n containLabel: true,\n },\n tooltip: {\n trigger: 'axis',\n backgroundColor: theme.palette.grey[900],\n borderWidth: 0,\n padding: [parseInt(theme.spacing(1)), parseInt(theme.spacing(1))],\n textStyle: {\n color: theme.palette.common.white,\n fontSize: 11,\n fontFamily: theme.typography.caption.fontFamily,\n },\n axisPointer: { type: 'line' },\n position: createTooltipPositioner(theme),\n formatter: buildHistogramTooltipFormatter(formatter),\n },\n // Legend styling baked here; `show` is toggled by the merger based on\n // series count. Histogram doesn't accept `labelFormatter` at the\n // options layer (bin labels are pre-formatted in the merger), so we\n // skip the legend `labelFormatter` argument too.\n legend: {\n ...buildLegendConfig({ hasLegend: false }),\n },\n axisPointer: { lineStyle: { color: theme.palette.grey[400] } },\n color: [\n theme.palette.secondary.main,\n ...Object.values(\n (theme.palette as { qualitative?: { bold?: Record<string, string> } })\n .qualitative?.bold ?? {},\n ),\n ],\n xAxis: {\n type: 'category',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n ...buildAxisLabelStyle(theme),\n padding: [parseInt(theme.spacing(0.5)), 0, 0, 0],\n margin: 0,\n // `interval: 0` makes every bin label a candidate so `hideOverlap`\n // can pack the maximum number that physically fit. The category-axis\n // default (`'auto'`) sub-samples first and leaves only one/two labels\n // even when there's room for more.\n interval: 0,\n hideOverlap: true,\n },\n },\n yAxis: {\n type: 'value',\n min: (extent: { min: number }) => {\n niceMin = extent.min < 0 ? niceNum(extent.min) : 0\n return niceMin\n },\n max: (extent: { min: number; max: number }) => {\n niceMax = extent.max <= 0 ? 1 : niceNum(extent.max)\n return niceMax\n },\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black?.[4] ?? theme.palette.divider },\n },\n axisLabel: {\n ...buildAxisLabelStyle(theme),\n margin: parseInt(theme.spacing(1)),\n show: true,\n showMaxLabel: true,\n showMinLabel: true,\n verticalAlign: 'bottom',\n inside: true,\n formatter: (value: number) => {\n if (value !== niceMax && value !== niceMin) return ''\n if (value === 0) return ''\n return formatter ? formatter(value) : String(value)\n },\n },\n },\n } as HistogramEChartsOption\n}\n\n/**\n * Returns the histogram widget's {@link OptionFactory} — one closure that\n * owns BOTH phases of option construction:\n *\n * - **Structural phase** (`option == null`) — builds the theme-aware\n * structural option via {@link histogramOptions}, optionally merging\n * the consumer-supplied `optionsOverride`. Called once by Provider to\n * seed `rawOptions` in the store.\n * - **Merge phase** (`option != null`) — fuses post-pipeline `state.data`\n * (`HistogramWidgetData` — `number[][]`) into the option via the\n * dataset API. Each series gets its own dataset of `[binLabel, count]`\n * pairs derived from `ticks`; series reference their dataset by\n * `datasetIndex` and are encoded by column position. Reactive\n * `ctx.formatter` (driven by RelativeData → `%`) plus `niceMin`/`niceMax`\n * are re-derived here so the y-axis label formatter and the tooltip\n * pick up live store values, mirroring bar.\n */\nexport function createHistogramOptionFactory(\n options: HistogramOptionFactoryInput,\n): OptionFactory {\n const { theme, formatter, ticks, series, labelFormatter, selection } = options\n const optionsOverride = options.optionsOverride\n const lockedItems = options.lockedItems\n const selectionSet =\n selection && selection.length > 0 ? new Set<number>(selection) : null\n\n const binLabels: string[] = []\n for (let i = 0; i < ticks.length - 1; i++) {\n const lo = ticks[i]!\n const hi = ticks[i + 1]!\n const raw = `${formatNumber(lo)}–${formatNumber(hi)}`\n binLabels.push(labelFormatter ? labelFormatter(raw) : raw)\n }\n\n // Locked range → x-axis crop. `min`/`max` on a category axis accept a\n // category value (the bin label string), bounding the visible window\n // without touching `dataset`/`series` — the zeroed-out bins from\n // `filterHistogramByLockedBins` stay in the data, just scrolled out of\n // view. `null` (not omitted) on unlock, since ECharts' option merge skips\n // `undefined` keys and would otherwise leave a stale crop in place.\n const lockedRange =\n lockedItems && lockedItems.length > 0\n ? (() => {\n const indices = lockedItems.map(Number)\n const min = binLabels[Math.min(...indices)]\n const max = binLabels[Math.max(...indices)]\n return min != null && max != null ? { min, max } : null\n })()\n : null\n\n return (option, data, ctx) => {\n if (option == null) {\n const structural = histogramOptions({ theme, formatter })\n return optionsOverride\n ? (mergeOptions(\n structural as unknown as Record<string, unknown>,\n optionsOverride as Partial<Record<string, unknown>>,\n ) as EChartsOption)\n : structural\n }\n\n const seriesArr: HistogramWidgetData = Array.isArray(data)\n ? (data as HistogramWidgetData)\n : []\n if (seriesArr.length === 0 || binLabels.length === 0) {\n return { ...option, dataset: [], series: [] }\n }\n\n const hasLegend = seriesArr.length > 1\n const seriesTemplates = Array.isArray(option.series) ? option.series : []\n const broadcastTemplate = seriesTemplates[0] ?? {}\n const baseYAxis =\n typeof option.yAxis === 'object' && !Array.isArray(option.yAxis)\n ? option.yAxis\n : {}\n const baseGrid =\n typeof option.grid === 'object' && !Array.isArray(option.grid)\n ? option.grid\n : {}\n const baseTooltip =\n typeof option.tooltip === 'object' && !Array.isArray(option.tooltip)\n ? option.tooltip\n : {}\n const baseLegend =\n typeof option.legend === 'object' && !Array.isArray(option.legend)\n ? option.legend\n : {}\n // Reactive (live store) formatter from ctx — distinct from the\n // closure-time `formatter` captured for the structural-build branch\n // above. RelativeData can install a percent formatter on the store\n // after the factory was constructed; the merge phase reads `ctx` to\n // pick that up.\n const liveFormatter = ctx?.formatter\n\n // Closure shared between the yAxis min/max callbacks and the label\n // formatter, so only the rounded extents are labelled (matches v1 +\n // bar). Delegating the extent to ECharts (rather than precomputing\n // scalars from the raw counts) keeps stacked bins inside the plot:\n // when StackToggle marks the series, ECharts feeds the *post-stack*\n // extent to these callbacks, so `niceNum` rounds the stacked total.\n let niceMin = 0\n let niceMax = 1\n\n // Zoom slider layout: when ZoomToggle has installed `dataZoom`, push\n // the slider above the legend (if any) and reserve room in the grid.\n const dataZoomLayout = positionDataZoomForLegend(option.dataZoom, hasLegend)\n const fallbackBottom =\n typeof baseGrid.bottom === 'number' ? baseGrid.bottom : 24\n const baseBottom = hasLegend ? 56 : fallbackBottom\n const gridBottom = dataZoomLayout\n ? baseBottom + ZOOM_LAYOUT.sliderHeight + ZOOM_LAYOUT.sliderGap\n : baseBottom\n\n // Dim non-selected bins via `series.itemStyle.color`. Per-row\n // `itemStyle` on dataset sources is silently ignored when\n // `series.encode` is in play.\n //\n // We *always* emit `itemStyle.color` (a passthrough when nothing is\n // selected), not conditionally — dropping the key between renders\n // would let ECharts' default merge keep the previous callback alive\n // and bins would stay dimmed forever after an external clear. Always\n // emitting lets normal merge swap the callback in place, no\n // `replaceMerge` and no entry-animation flash on selection on/off.\n const dimItemStyle = {\n color: (params: CallbackDataParams) => {\n const base = params.color as string\n if (!selectionSet) return base\n return selectionSet.has(params.dataIndex)\n ? base\n : echarts.color.modifyAlpha(base, 0.15)\n },\n }\n\n // A consumer's `optionsOverride.xAxis` may legitimately be an array\n // (ECharts supports multiple x-axes on one grid). Merge the locked-range\n // crop into the primary (first) axis instead of discarding the rest via\n // an object fallback — `min`/`max` here bound a category axis by label\n // string, which is only ambiguous if `labelFormatter` produces duplicate\n // labels across bins (a structural limitation of label-string bounds,\n // not fixed here).\n //\n // `min`/`max` are ALWAYS written explicitly below (never omitted) —\n // ECharts' merge silently keeps whatever value it last received for an\n // omitted key, so omitting them while unlocked would leave a stale crop\n // in place from a previous locked render. But the fallback when there's\n // no active crop must be the CONSUMER's own `optionsOverride.xAxis.min/max`\n // (if they set one), not an unconditional `null` — `option.xAxis` here\n // is the post-structural-phase axis, which only ever carries the\n // consumer's static override (never our own prior crop — the structural\n // phase is rebuilt from scratch on every factory recreation, so it can't\n // have picked up a merge-phase write from a previous render).\n const currentAxis = (\n Array.isArray(option.xAxis) ? option.xAxis[0] : option.xAxis\n ) as { min?: unknown; max?: unknown } | undefined\n const lockedRangeAxis = {\n min: lockedRange?.min ?? currentAxis?.min ?? null,\n max: lockedRange?.max ?? currentAxis?.max ?? null,\n }\n const nextXAxis = Array.isArray(option.xAxis)\n ? [{ ...option.xAxis[0], ...lockedRangeAxis }, ...option.xAxis.slice(1)]\n : {\n ...(typeof option.xAxis === 'object' ? option.xAxis : {}),\n ...lockedRangeAxis,\n }\n\n return {\n ...option,\n xAxis: nextXAxis,\n dataset: seriesArr.map((counts) => ({\n source: binLabels.map(\n (label, i) => [label, counts[i] ?? 0] as [string, number],\n ),\n })),\n series: seriesArr.map((_, i) => {\n const template =\n (seriesTemplates[i] as object | undefined) ??\n (broadcastTemplate as object)\n const overrideColor = resolveThemeColor(theme, series?.[i]?.color)\n return {\n ...(typeof template === 'object' ? template : {}),\n type: 'bar' as const,\n datasetIndex: i,\n name: series?.[i]?.name ?? `Series ${i + 1}`,\n encode: { x: 0, y: 1 },\n barCategoryGap: '0%',\n emphasis: { focus: 'series' },\n itemStyle: dimItemStyle,\n ...(overrideColor ? { color: overrideColor } : {}),\n }\n }),\n legend: { ...baseLegend, show: hasLegend },\n grid: { ...baseGrid, bottom: gridBottom },\n ...(dataZoomLayout ? { dataZoom: dataZoomLayout } : {}),\n yAxis: {\n ...baseYAxis,\n min: (extent: { min: number }) => {\n niceMin = extent.min < 0 ? niceNum(extent.min) : 0\n return niceMin\n },\n max: (extent: { min: number; max: number }) => {\n niceMax = extent.max <= 0 ? 1 : niceNum(extent.max)\n return niceMax\n },\n axisLabel: {\n ...((baseYAxis as { axisLabel?: object }).axisLabel ?? {}),\n formatter: (value: number) => {\n if (value !== niceMax && value !== niceMin) return ''\n if (value === 0) return ''\n return liveFormatter ? liveFormatter(value) : String(value)\n },\n },\n } as EChartsOption['yAxis'],\n tooltip: {\n ...baseTooltip,\n formatter: buildHistogramTooltipFormatter(liveFormatter),\n },\n } as EChartsOption\n }\n}\n\n/**\n * Tooltip formatter for the histogram's positional `[binLabel, count]`\n * row shape. ECharts surfaces the x-axis category through `item.name`\n * (already pre-formatted by the bin-label generator), and `item.value`\n * comes in as the array tuple — distinct from bar's `{ name, value }`\n * object row.\n */\nfunction buildHistogramTooltipFormatter(\n formatter: ((value: number) => string) | undefined,\n) {\n return createTooltipFormatter((item) => {\n const row = item.value as [string, number] | undefined\n const raw = row?.[1]\n const formattedValue =\n typeof raw === 'number' && formatter ? formatter(raw) : (raw ?? '')\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const seriesName = item.seriesName ? `${item.seriesName}: ` : ''\n return {\n name: String(item.name ?? ''),\n seriesName,\n marker,\n value: formattedValue,\n }\n })\n}\n\nfunction formatNumber(n: number): string {\n if (Number.isInteger(n)) return String(n)\n return Number(n.toFixed(2)).toString()\n}\n","import { Box, Skeleton, type SxProps, type Theme } from '@mui/material'\n\nconst styles = {\n container: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(1),\n height: ({ spacing }) => spacing(38),\n },\n grid: {\n display: 'flex',\n alignItems: 'flex-end',\n flex: '1 1 auto',\n gap: 0.5,\n width: '100%',\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n },\n legendItem: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n },\n} satisfies Record<string, SxProps<Theme>>\n\nconst barSx = (height: number): SxProps<Theme> => ({\n flex: 1,\n height: `${height}%`,\n minWidth: 8,\n})\n\nexport interface HistogramSkeletonProps {\n bins?: number\n}\n\n/**\n * Loading state for the Histogram widget. Mirrors Bar's skeleton structure\n * — a grid of bars (bin-shaped silhouette, anchored to the bottom) plus a\n * legend stub — so the placeholder reads consistently with Bar.\n */\nexport function HistogramSkeleton({ bins = 12 }: HistogramSkeletonProps) {\n // Sample heights mimicking a typical bell-shaped distribution.\n const heights = Array.from({ length: bins }, (_, i) => {\n const t = i / Math.max(1, bins - 1)\n return Math.round(20 + 80 * Math.exp(-((t - 0.5) ** 2) * 8))\n })\n return (\n <Box sx={styles.container}>\n <Box sx={styles.grid}>\n {heights.map((h, i) => (\n <Skeleton key={`bar-${i}`} variant='rectangular' sx={barSx(h)} />\n ))}\n </Box>\n <Box sx={styles.legend}>\n {[0, 1].map((i) => (\n <Box key={`legend-${i}`} sx={styles.legendItem}>\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n","import {\n buildCsvDownloadItem,\n buildPngDownloadItem,\n type DownloadItem,\n} from '../actions/download'\nimport type { HistogramWidgetData } from './types'\n\n/**\n * Download menu items for histograms. Always includes a CSV item with\n * `bin_low, bin_high, series_1_count, series_2_count, …` columns (one row\n * per bin). When `getCaptureEl` is supplied, prepends a PNG item that\n * rasterises the captured element via `html2canvas`.\n */\nexport function createHistogramDownloadConfig(args: {\n filename: string\n getData: () => HistogramWidgetData\n getTicks: () => readonly number[]\n seriesNames?: readonly string[]\n getCaptureEl?: () => HTMLElement | null\n pngPixelRatio?: number\n pngBackgroundColor?: string | null\n}): DownloadItem[] {\n const items: DownloadItem[] = []\n if (args.getCaptureEl) {\n items.push(\n buildPngDownloadItem({\n filename: args.filename,\n getCaptureEl: args.getCaptureEl,\n pixelRatio: args.pngPixelRatio,\n backgroundColor: args.pngBackgroundColor,\n }),\n )\n }\n items.push(\n buildCsvDownloadItem({\n filename: args.filename,\n getRows: () => {\n const data = args.getData()\n const ticks = args.getTicks()\n const seriesCount = data.length\n const header: unknown[] = ['bin_low', 'bin_high']\n for (let i = 0; i < seriesCount; i++) {\n header.push(args.seriesNames?.[i] ?? `series_${i + 1}`)\n }\n const rows: unknown[][] = [header]\n for (let bin = 0; bin < Math.max(0, ticks.length - 1); bin++) {\n const row: unknown[] = [ticks[bin], ticks[bin + 1]]\n for (let s = 0; s < seriesCount; s++) row.push(data[s]?.[bin] ?? 0)\n rows.push(row)\n }\n return rows\n },\n }),\n )\n return items\n}\n","/**\n * Histogram-specific `RelativeData` transform. Histogram data is\n * `number[][]` — each series is a flat list of bin counts. This\n * rewrites each count to its share of the series total (0–100), so\n * pairing with `createPercentFormatter` renders the y-axis as\n * percentages.\n *\n * Pass to `<Widget.RelativeData transform={toRelativeHistogramData} />`.\n *\n * The denominator is the sum of |value| across the series so mixed-sign\n * inputs produce sane signed shares-of-magnitude. A series whose total\n * magnitude is zero (all-zero or empty input) is returned unchanged so\n * a stalled or empty data set doesn't show misleading 0% values. Inputs\n * whose shape isn't `number[][]` fall through untouched (same defensive\n * shape-check pattern as the default transform).\n */\nexport const toRelativeHistogramData = (input: unknown): unknown => {\n if (!Array.isArray(input)) return input\n return input.map((series: unknown): unknown => {\n if (!isFlatNumberArray(series)) return series\n const total = series.reduce((acc, v) => acc + Math.abs(v), 0)\n if (total <= 0) return series\n return series.map((v) => (v / total) * 100)\n })\n}\n\nfunction isFlatNumberArray(v: unknown): v is number[] {\n if (!Array.isArray(v)) return false\n return v.every((item) => typeof item === 'number' && Number.isFinite(item))\n}\n\n/**\n * `LockSelection` filter for Histogram. Data is `number[][]` — a flat list\n * of bin counts per series, positionally paired with `ticks` (bin `i` covers\n * `[ticks[i], ticks[i+1])`). Unlike name-keyed widgets, locked-out bins can't\n * be REMOVED — that would shift every later bin's index and desync it from\n * its `ticks` range. Zeroing them out instead preserves array length/position,\n * so locked bins just render as empty (height 0) rather than disappearing.\n *\n * `lockedItems` holds bin indices (numbers, from Histogram's `selection`).\n */\nexport function filterHistogramByLockedBins(\n input: unknown,\n lockedItems: readonly (string | number)[],\n): unknown {\n if (lockedItems.length === 0) return input\n if (!Array.isArray(input)) return input\n const locked = new Set<number>(lockedItems.map(Number))\n return input.map((series: unknown): unknown => {\n if (!isFlatNumberArray(series)) return series\n return series.map((count, i) => (locked.has(i) ? count : 0))\n })\n}\n"],"mappings":";;;;;;;;;AA2CA,SAAgB,EAAiB,EAC/B,UACA,gBACgD;CAGhD,IAAI,IAAU,GACV,IAAU;CAEd,OAAO;EACL,MAAM;GACJ,MAAM,SAAS,EAAM,QAAQ,CAAC,CAAC;GAC/B,KAAK,SAAS,EAAM,QAAQ,CAAC,CAAC;GAC9B,OAAO,SAAS,EAAM,QAAQ,CAAC,CAAC;GAEhC,GAAG,EAAgB,IAAO,CAAK;GAC/B,cAAc;EAChB;EACA,SAAS;GACP,SAAS;GACT,iBAAiB,EAAM,QAAQ,KAAK;GACpC,aAAa;GACb,SAAS,CAAC,SAAS,EAAM,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAM,QAAQ,CAAC,CAAC,CAAC;GAChE,WAAW;IACT,OAAO,EAAM,QAAQ,OAAO;IAC5B,UAAU;IACV,YAAY,EAAM,WAAW,QAAQ;GACvC;GACA,aAAa,EAAE,MAAM,OAAO;GAC5B,UAAU,EAAwB,CAAK;GACvC,WAAW,EAA+B,CAAS;EACrD;EAKA,QAAQ,EACN,GAAG,EAAkB,EAAE,WAAW,GAAM,CAAC,EAC3C;EACA,aAAa,EAAE,WAAW,EAAE,OAAO,EAAM,QAAQ,KAAK,KAAK,EAAE;EAC7D,OAAO,CACL,EAAM,QAAQ,UAAU,MACxB,GAAG,OAAO,OACP,EAAM,QACJ,aAAa,QAAQ,CAAC,CAC3B,CACF;EACA,OAAO;GACL,MAAM;GACN,UAAU,EAAE,MAAM,GAAM;GACxB,UAAU,EAAE,MAAM,GAAM;GACxB,WAAW;IACT,GAAG,EAAoB,CAAK;IAC5B,SAAS;KAAC,SAAS,EAAM,QAAQ,EAAG,CAAC;KAAG;KAAG;KAAG;IAAC;IAC/C,QAAQ;IAKR,UAAU;IACV,aAAa;GACf;EACF;EACA,OAAO;GACL,MAAM;GACN,MAAM,OACJ,IAAU,EAAO,MAAM,IAAI,EAAQ,EAAO,GAAG,IAAI,GAC1C;GAET,MAAM,OACJ,IAAU,EAAO,OAAO,IAAI,IAAI,EAAQ,EAAO,GAAG,GAC3C;GAET,UAAU,EAAE,MAAM,GAAM;GACxB,UAAU,EAAE,MAAM,GAAM;GACxB,WAAW;IACT,MAAM;IACN,WAAW,EAAE,OAAO,EAAM,QAAQ,QAAQ,MAAM,EAAM,QAAQ,QAAQ;GACxE;GACA,WAAW;IACT,GAAG,EAAoB,CAAK;IAC5B,QAAQ,SAAS,EAAM,QAAQ,CAAC,CAAC;IACjC,MAAM;IACN,cAAc;IACd,cAAc;IACd,eAAe;IACf,QAAQ;IACR,YAAY,MACN,MAAU,KAAW,MAAU,KAC/B,MAAU,IAAU,KACjB,IAAY,EAAU,CAAK,IAAI,OAAO,CAAK;GAEtD;EACF;CACF;AACF;AAmBA,SAAgB,EACd,GACe;CACf,IAAM,EAAE,UAAO,cAAW,UAAO,WAAQ,mBAAgB,iBAAc,GACjE,IAAkB,EAAQ,iBAC1B,IAAc,EAAQ,aACtB,IACJ,KAAa,EAAU,SAAS,IAAI,IAAI,IAAY,CAAS,IAAI,MAE7D,IAAsB,CAAC;CAC7B,KAAK,IAAI,IAAI,GAAG,IAAI,EAAM,SAAS,GAAG,KAAK;EACzC,IAAM,IAAK,EAAM,IACX,IAAK,EAAM,IAAI,IACf,IAAM,GAAG,EAAa,CAAE,EAAE,GAAG,EAAa,CAAE;EAClD,EAAU,KAAK,IAAiB,EAAe,CAAG,IAAI,CAAG;CAC3D;CAQA,IAAM,IACJ,KAAe,EAAY,SAAS,WACzB;EACL,IAAM,IAAU,EAAY,IAAI,MAAM,GAChC,IAAM,EAAU,KAAK,IAAI,GAAG,CAAO,IACnC,IAAM,EAAU,KAAK,IAAI,GAAG,CAAO;EACzC,OAAO,KAAO,QAAQ,KAAO,OAAO;GAAE;GAAK;EAAI,IAAI;CACrD,EAAA,CAAG,IACH;CAEN,QAAQ,GAAQ,GAAM,MAAQ;EAC5B,IAAI,KAAU,MAAM;GAClB,IAAM,IAAa,EAAiB;IAAE;IAAO;GAAU,CAAC;GACxD,OAAO,IACF,EACC,GACA,CACF,IACA;EACN;EAEA,IAAM,IAAiC,MAAM,QAAQ,CAAI,IACpD,IACD,CAAC;EACL,IAAI,EAAU,WAAW,KAAK,EAAU,WAAW,GACjD,OAAO;GAAE,GAAG;GAAQ,SAAS,CAAC;GAAG,QAAQ,CAAC;EAAE;EAG9C,IAAM,IAAY,EAAU,SAAS,GAC/B,IAAkB,MAAM,QAAQ,EAAO,MAAM,IAAI,EAAO,SAAS,CAAC,GAClE,IAAoB,EAAgB,MAAM,CAAC,GAC3C,IACJ,OAAO,EAAO,SAAU,YAAY,CAAC,MAAM,QAAQ,EAAO,KAAK,IAC3D,EAAO,QACP,CAAC,GACD,IACJ,OAAO,EAAO,QAAS,YAAY,CAAC,MAAM,QAAQ,EAAO,IAAI,IACzD,EAAO,OACP,CAAC,GACD,IACJ,OAAO,EAAO,WAAY,YAAY,CAAC,MAAM,QAAQ,EAAO,OAAO,IAC/D,EAAO,UACP,CAAC,GACD,IACJ,OAAO,EAAO,UAAW,YAAY,CAAC,MAAM,QAAQ,EAAO,MAAM,IAC7D,EAAO,SACP,CAAC,GAMD,IAAgB,GAAK,WAQvB,IAAU,GACV,IAAU,GAIR,IAAiB,EAA0B,EAAO,UAAU,CAAS,GACrE,IACJ,OAAO,EAAS,UAAW,WAAW,EAAS,SAAS,IACpD,IAAa,IAAY,KAAK,GAC9B,IAAa,IACf,IAAa,EAAY,eAAe,EAAY,YACpD,GAYE,IAAe,EACnB,QAAQ,MAA+B;GACrC,IAAM,IAAO,EAAO;GAEpB,OADK,IACE,EAAa,IAAI,EAAO,SAAS,IACpC,IACA,EAAQ,MAAM,YAAY,GAAM,GAAI,IAHd;EAI5B,EACF,GAoBM,IACJ,MAAM,QAAQ,EAAO,KAAK,IAAI,EAAO,MAAM,KAAK,EAAO,OAEnD,IAAkB;GACtB,KAAK,GAAa,OAAO,GAAa,OAAO;GAC7C,KAAK,GAAa,OAAO,GAAa,OAAO;EAC/C,GACM,IAAY,MAAM,QAAQ,EAAO,KAAK,IACxC,CAAC;GAAE,GAAG,EAAO,MAAM;GAAI,GAAG;EAAgB,GAAG,GAAG,EAAO,MAAM,MAAM,CAAC,CAAC,IACrE;GACE,GAAI,OAAO,EAAO,SAAU,WAAW,EAAO,QAAQ,CAAC;GACvD,GAAG;EACL;EAEJ,OAAO;GACL,GAAG;GACH,OAAO;GACP,SAAS,EAAU,KAAK,OAAY,EAClC,QAAQ,EAAU,KACf,GAAO,MAAM,CAAC,GAAO,EAAO,MAAM,CAAC,CACtC,EACF,EAAE;GACF,QAAQ,EAAU,KAAK,GAAG,MAAM;IAC9B,IAAM,IACH,EAAgB,MAChB,GACG,IAAgB,EAAkB,GAAO,IAAS,EAAE,EAAE,KAAK;IACjE,OAAO;KACL,GAAI,OAAO,KAAa,WAAW,IAAW,CAAC;KAC/C,MAAM;KACN,cAAc;KACd,MAAM,IAAS,EAAE,EAAE,QAAQ,UAAU,IAAI;KACzC,QAAQ;MAAE,GAAG;MAAG,GAAG;KAAE;KACrB,gBAAgB;KAChB,UAAU,EAAE,OAAO,SAAS;KAC5B,WAAW;KACX,GAAI,IAAgB,EAAE,OAAO,EAAc,IAAI,CAAC;IAClD;GACF,CAAC;GACD,QAAQ;IAAE,GAAG;IAAY,MAAM;GAAU;GACzC,MAAM;IAAE,GAAG;IAAU,QAAQ;GAAW;GACxC,GAAI,IAAiB,EAAE,UAAU,EAAe,IAAI,CAAC;GACrD,OAAO;IACL,GAAG;IACH,MAAM,OACJ,IAAU,EAAO,MAAM,IAAI,EAAQ,EAAO,GAAG,IAAI,GAC1C;IAET,MAAM,OACJ,IAAU,EAAO,OAAO,IAAI,IAAI,EAAQ,EAAO,GAAG,GAC3C;IAET,WAAW;KACT,GAAK,EAAqC,aAAa,CAAC;KACxD,YAAY,MACN,MAAU,KAAW,MAAU,KAC/B,MAAU,IAAU,KACjB,IAAgB,EAAc,CAAK,IAAI,OAAO,CAAK;IAE9D;GACF;GACA,SAAS;IACP,GAAG;IACH,WAAW,EAA+B,CAAa;GACzD;EACF;CACF;AACF;AASA,SAAS,EACP,GACA;CACA,OAAO,GAAwB,MAAS;EAEtC,IAAM,IADM,EAAK,QACC,IACZ,IACJ,OAAO,KAAQ,YAAY,IAAY,EAAU,CAAG,IAAK,KAAO,IAC5D,IAAS,OAAO,EAAK,UAAW,WAAW,EAAK,SAAS,IACzD,IAAa,EAAK,aAAa,GAAG,EAAK,WAAW,MAAM;EAC9D,OAAO;GACL,MAAM,OAAO,EAAK,QAAQ,EAAE;GAC5B;GACA;GACA,OAAO;EACT;CACF,CAAC;AACH;AAEA,SAAS,EAAa,GAAmB;CAEvC,OADI,OAAO,UAAU,CAAC,IAAU,OAAO,CAAC,IACjC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;AACvC;;;ACnYA,IAAM,IAAS;CACb,WAAW;EACT,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,MAAM,EAAE,iBAAc,EAAQ,CAAC;EAC/B,SAAS,EAAE,iBAAc,EAAQ,EAAE;CACrC;CACA,MAAM;EACJ,SAAS;EACT,YAAY;EACZ,MAAM;EACN,KAAK;EACL,OAAO;CACT;CACA,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,MAAM,EAAE,iBAAc,EAAQ,CAAC;EAC/B,SAAS,EAAE,iBAAc,EAAQ,CAAC;CACpC;CACA,YAAY;EACV,SAAS;EACT,YAAY;EACZ,MAAM,EAAE,iBAAc,EAAQ,GAAG;CACnC;AACF,GAEM,KAAS,OAAoC;CACjD,MAAM;CACN,QAAQ,GAAG,EAAO;CAClB,UAAU;AACZ;AAWA,SAAgB,EAAA,GAAyD;gBAAvC,EAAE,MAAA,MAAFA,GAAE,IAAA,MAAA,KAAA,IAAO,KAAPC,GAQ7BC,GADFA,GACUC,GACNC,GAFIC;CAL0B,IAAA,EAAA,OAAA,GAAA;EAArC,IAAM,IAAU,MAAM,KAAK,EAAE,QAAQ,EAAK,IAAI,GAAG,MAAM;GACrD,IAAM,IAAI,IAAI,KAAK,IAAI,GAAG,IAAO,CAAC;GAClC,OAAO,KAAK,MAAM,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,OAAQ,KAAK,CAAC,CAAC;EAC7D,CAAC;EAEE,IAAA,GAAQ,IAAA,EAAO,WACb,IAAA,GAAQ,IAAA,EAAO,MACb,IAAA,EAAQ,IAAIC,CAEZ,GAT8B,EAAA,KAAA;;CAMjCC,IAAAA;CAACL,AAAAA,EAAAA,OAAAA,KAAAA,EAAAA,OAAQC,KAAAA,EAAAA,OACNC,KADH,IAAA,kBAACF,GAAD;EAAK,IAAIC;EACNC,UAAAA;CAGE,CAAA,GAJJF,EAAAA,KAAAA,GAAQC,EAAAA,KAAAA,GACNC,EAAAA,KAAAA;CAIHI,IAAAA;sDAAC,IAAA,kBAAA,GAAD;EAAK,IAAI,EAAO;EACb,UAAA,CAAC,GAAG,CAAC,CAAC,CAAC,IAAIC,CAKX;CACE,CAAA;CAbPC,IAAAA;CADF,OACGR,EAAAA,QAAAA,KAAAA,EAAAA,QAAQG,KAAAA,EAAAA,QACPE,KADF,IAAA,kBAACL,GAAD;EAAK,IAAIG;EAAT,UAAA,CACEE,GAKAC,CAQG;KAdJN,EAAAA,MAAAA,GAAQG,EAAAA,MAAAA,GACPE,EAAAA,MAAAA,2BADFG;AAgBJ;AAToB,SAAA,EAAC,GAAA;CACX,OAAA,kBAAC,GAAD;EAAyB,IAAI,EAAO;EAApC,UAAA,CACE,kBAAC,GAAD;GAAU,SAAQ;GAAW,OAAO;GAAG,QAAQ;EAAI,CAAA,GACnD,kBAAC,GAAD;GAAU,OAAO;GAAI,QAAQ;EAAI,CAAA,CAC9B;CAHK,GAAA,UAAUC,GAGf;;AATM,SAAA,EAAC,GAAG,GAAA;CACf,OAAA,kBAAC,GAAD;EAA2B,SAAQ;EAAc,IAAI,EAAM,CAAC;CAAI,GAAjD,OAAOA,GAA0C;;;;AC3C1E,SAAgB,EAA8B,GAQ3B;CACjB,IAAM,IAAwB,CAAC;CAgC/B,OA/BI,EAAK,gBACP,EAAM,KACJ,EAAqB;EACnB,UAAU,EAAK;EACf,cAAc,EAAK;EACnB,YAAY,EAAK;EACjB,iBAAiB,EAAK;CACxB,CAAC,CACH,GAEF,EAAM,KACJ,EAAqB;EACnB,UAAU,EAAK;EACf,eAAe;GACb,IAAM,IAAO,EAAK,QAAQ,GACpB,IAAQ,EAAK,SAAS,GACtB,IAAc,EAAK,QACnB,IAAoB,CAAC,WAAW,UAAU;GAChD,KAAK,IAAI,IAAI,GAAG,IAAI,GAAa,KAC/B,EAAO,KAAK,EAAK,cAAc,MAAM,UAAU,IAAI,GAAG;GAExD,IAAM,IAAoB,CAAC,CAAM;GACjC,KAAK,IAAI,IAAM,GAAG,IAAM,KAAK,IAAI,GAAG,EAAM,SAAS,CAAC,GAAG,KAAO;IAC5D,IAAM,IAAiB,CAAC,EAAM,IAAM,EAAM,IAAM,EAAE;IAClD,KAAK,IAAI,IAAI,GAAG,IAAI,GAAa,KAAK,EAAI,KAAK,EAAK,EAAE,GAAG,MAAQ,CAAC;IAClE,EAAK,KAAK,CAAG;GACf;GACA,OAAO;EACT;CACF,CAAC,CACH,GACO;AACT;;;ACvCA,IAAa,KAA2B,MACjC,MAAM,QAAQ,CAAK,IACjB,EAAM,KAAK,MAA6B;CAC7C,IAAI,CAAC,EAAkB,CAAM,GAAG,OAAO;CACvC,IAAM,IAAQ,EAAO,QAAQ,GAAK,MAAM,IAAM,KAAK,IAAI,CAAC,GAAG,CAAC;CAE5D,OADI,KAAS,IAAU,IAChB,EAAO,KAAK,MAAO,IAAI,IAAS,GAAG;AAC5C,CAAC,IANiC;AASpC,SAAS,EAAkB,GAA2B;CAEpD,OADK,MAAM,QAAQ,CAAC,IACb,EAAE,OAAO,MAAS,OAAO,KAAS,YAAY,OAAO,SAAS,CAAI,CAAC,IAD5C;AAEhC;AAYA,SAAgB,EACd,GACA,GACS;CAET,IADI,EAAY,WAAW,KACvB,CAAC,MAAM,QAAQ,CAAK,GAAG,OAAO;CAClC,IAAM,IAAS,IAAI,IAAY,EAAY,IAAI,MAAM,CAAC;CACtD,OAAO,EAAM,KAAK,MACX,EAAkB,CAAM,IACtB,EAAO,KAAK,GAAO,MAAO,EAAO,IAAI,CAAC,IAAI,IAAQ,CAAE,IADpB,CAExC;AACH"}
|