@carto/ps-react-ui 4.19.0 → 4.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions-DKX98LlI.js +1318 -0
- package/dist/actions-DKX98LlI.js.map +1 -0
- package/dist/actions-Dy9JVr7F.js +1004 -0
- package/dist/actions-Dy9JVr7F.js.map +1 -0
- package/dist/category-DHZscHaS.js +826 -0
- package/dist/category-DHZscHaS.js.map +1 -0
- package/dist/chart-config-BGt7wkK7.js +108 -0
- package/dist/chart-config-BGt7wkK7.js.map +1 -0
- package/dist/chat.js +1589 -1711
- package/dist/chat.js.map +1 -1
- package/dist/cjs-CBrZjPCj.js +75 -0
- package/dist/cjs-CBrZjPCj.js.map +1 -0
- package/dist/components-DDt4mOQn.js +2403 -0
- package/dist/components-DDt4mOQn.js.map +1 -0
- package/dist/components.js +5 -1841
- package/dist/copy-button-DaQqWVu0.js +25 -0
- package/dist/copy-button-DaQqWVu0.js.map +1 -0
- package/dist/csv-modifiers-D6HGC24b.js +26 -0
- package/dist/csv-modifiers-D6HGC24b.js.map +1 -0
- package/dist/download-BT6qBamM.js +232 -0
- package/dist/download-BT6qBamM.js.map +1 -0
- package/dist/echart-BkaV3V5G.js +133 -0
- package/dist/echart-BkaV3V5G.js.map +1 -0
- package/dist/echart-DSz2Tu0z.js +250 -0
- package/dist/echart-DSz2Tu0z.js.map +1 -0
- package/dist/formatter-wVO81tYk.js +6 -0
- package/dist/formatter-wVO81tYk.js.map +1 -0
- package/dist/formula-Bk9CBzm2.js +190 -0
- package/dist/formula-Bk9CBzm2.js.map +1 -0
- package/dist/formula-Dsru_p-g.js +285 -0
- package/dist/formula-Dsru_p-g.js.map +1 -0
- package/dist/hooks-zf5gKZYq.js +22 -0
- package/dist/hooks-zf5gKZYq.js.map +1 -0
- package/dist/legend/stores.js +2 -24
- package/dist/legend.js +2274 -2323
- package/dist/legend.js.map +1 -1
- package/dist/markdown-DnSJMPjQ.js +165 -0
- package/dist/markdown-DnSJMPjQ.js.map +1 -0
- package/dist/markdown-content-BzKoX3eu.js +8764 -0
- package/dist/markdown-content-BzKoX3eu.js.map +1 -0
- package/dist/range-BPWVrAsY.js +277 -0
- package/dist/range-BPWVrAsY.js.map +1 -0
- package/dist/rolldown-runtime-B0aSnxlc.js +20 -0
- package/dist/row-CvVGBuy_.js +35 -0
- package/dist/row-CvVGBuy_.js.map +1 -0
- package/dist/shared-resize-observer-BEiP2rQt.js +157 -0
- package/dist/shared-resize-observer-BEiP2rQt.js.map +1 -0
- package/dist/smart-tooltip-CwGHCqab.js +34 -0
- package/dist/smart-tooltip-CwGHCqab.js.map +1 -0
- package/dist/spread-Dy8pshpN.js +149 -0
- package/dist/spread-Dy8pshpN.js.map +1 -0
- package/dist/stores-B81-IU1G.js +374 -0
- package/dist/stores-B81-IU1G.js.map +1 -0
- package/dist/stores-BVFMfgyo.js +248 -0
- package/dist/stores-BVFMfgyo.js.map +1 -0
- package/dist/styles-Y-qGBELO.js +13 -0
- package/dist/styles-Y-qGBELO.js.map +1 -0
- package/dist/table-BfTG6rrs.js +439 -0
- package/dist/table-BfTG6rrs.js.map +1 -0
- package/dist/tooltip-DJUGNZxY.js +23 -0
- package/dist/tooltip-DJUGNZxY.js.map +1 -0
- package/dist/types/chat/bubbles/chat-agent-message-markdown.d.ts +1 -1
- package/dist/types/chat/bubbles/chat-error-message.d.ts +1 -1
- package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +1 -1
- package/dist/types/chat/bubbles/chat-user-message.d.ts +1 -1
- package/dist/types/chat/containers/chat-footer.d.ts +1 -1
- package/dist/types/chat/containers/chat-header.d.ts +1 -1
- package/dist/types/chat/containers/chat-starter.d.ts +1 -1
- package/dist/types/chat/feedback/chat-loader.d.ts +1 -1
- package/dist/types/chat/feedback/chat-rating-action.d.ts +1 -1
- package/dist/types/chat/feedback/chat-thinking.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-code-area.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-full-view-dialog.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-group.d.ts +1 -1
- package/dist/types/chat/feedback/chat-tool-trace.d.ts +2 -2
- package/dist/types/components/basemaps/group-wrapper.d.ts +1 -1
- package/dist/types/components/basemaps/group.d.ts +1 -1
- package/dist/types/components/basemaps/header.d.ts +1 -1
- package/dist/types/components/copy-button/copy-button.d.ts +1 -1
- package/dist/types/components/lasso-tool/chip.d.ts +1 -1
- package/dist/types/components/lasso-tool/icons.d.ts +7 -7
- package/dist/types/components/lasso-tool/lasso-tool.d.ts +4 -4
- package/dist/types/components/lasso-tool/message.d.ts +1 -1
- package/dist/types/components/list-data/list-data-skeleton.d.ts +1 -1
- package/dist/types/components/measurement-tools/icons.d.ts +3 -3
- package/dist/types/components/no-data-alert/no-data-alert.d.ts +1 -1
- package/dist/types/components/responsive-drawer/responsive-drawer.d.ts +1 -1
- package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +1 -1
- package/dist/types/hooks/use-widget-ref.d.ts +2 -1
- package/dist/types/legend/components/legend-actions/legend-actions.d.ts +1 -1
- package/dist/types/legend/components/legend-category/legend-category-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-config-select/legend-config-select.d.ts +1 -1
- package/dist/types/legend/components/legend-group/legend-group.d.ts +1 -1
- package/dist/types/legend/components/legend-group-menu/legend-group-menu-items.d.ts +4 -4
- package/dist/types/legend/components/legend-group-menu/legend-group-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-icon/legend-icon-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-item/legend-item-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-item/legend-item.d.ts +1 -1
- package/dist/types/legend/components/legend-opacity/legend-opacity.d.ts +2 -2
- package/dist/types/legend/components/legend-overflow-menu/legend-overflow-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-panel-menu/legend-panel-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-proportion/legend-proportion-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-ramp/legend-ramp-ui.d.ts +1 -1
- package/dist/types/legend/components/legend-row/legend-row.d.ts +1 -1
- package/dist/types/legend/components/legend-row-menu/legend-row-menu-items.d.ts +2 -2
- package/dist/types/legend/components/legend-row-menu/legend-row-menu.d.ts +1 -1
- package/dist/types/legend/components/legend-row-menu/legend-zoom-to.d.ts +1 -1
- package/dist/types/legend/components/legend-sortable/legend-sortable.d.ts +1 -1
- package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +1 -1
- package/dist/types/legend/components/legend-visibility-toggle/legend-visibility-toggle.d.ts +1 -1
- package/dist/types/legend/components/legend-visible-layers/legend-visible-layers.d.ts +1 -1
- package/dist/types/legend/index.d.ts +2 -2
- package/dist/types/legend/provider/legend-provider.d.ts +1 -1
- package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +1 -1
- package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -1
- package/dist/types/widgets/actions/change-column/change-column.d.ts +1 -1
- package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +1 -1
- package/dist/types/widgets/actions/download/download.d.ts +1 -1
- package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +1 -1
- package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +1 -1
- package/dist/types/widgets/actions/relative-data/relative-data.d.ts +1 -1
- package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +1 -1
- package/dist/types/widgets/actions/searcher/searcher.d.ts +1 -1
- package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -1
- package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +1 -1
- package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +1 -1
- package/dist/types/widgets/bar/skeleton.d.ts +1 -1
- package/dist/types/widgets/category/category-ui.d.ts +1 -1
- package/dist/types/widgets/category/components/category-bar.d.ts +1 -1
- package/dist/types/widgets/category/components/category-legend.d.ts +1 -1
- package/dist/types/widgets/category/components/category-row-multi.d.ts +1 -1
- package/dist/types/widgets/category/components/category-row-other.d.ts +1 -1
- package/dist/types/widgets/category/components/category-row-single.d.ts +1 -1
- package/dist/types/widgets/category/skeleton.d.ts +1 -1
- package/dist/types/widgets/echart/echart-ui.d.ts +1 -1
- package/dist/types/widgets/echart/echart.d.ts +1 -1
- package/dist/types/widgets/error/error.d.ts +1 -1
- package/dist/types/widgets/formula/components/item.d.ts +1 -1
- package/dist/types/widgets/formula/components/prefix.d.ts +1 -1
- package/dist/types/widgets/formula/components/row.d.ts +1 -1
- package/dist/types/widgets/formula/components/series.d.ts +1 -1
- package/dist/types/widgets/formula/components/suffix.d.ts +1 -1
- package/dist/types/widgets/formula/components/value.d.ts +1 -1
- package/dist/types/widgets/formula/formula-ui.d.ts +1 -1
- package/dist/types/widgets/formula/skeleton.d.ts +1 -1
- package/dist/types/widgets/histogram/skeleton.d.ts +1 -1
- package/dist/types/widgets/markdown/markdown-ui.d.ts +1 -1
- package/dist/types/widgets/markdown/markdown.d.ts +1 -1
- package/dist/types/widgets/markdown/skeleton.d.ts +1 -1
- package/dist/types/widgets/no-data/no-data.d.ts +1 -1
- package/dist/types/widgets/note/note.d.ts +1 -1
- package/dist/types/widgets/pie/skeleton.d.ts +1 -1
- package/dist/types/widgets/range/components/range-item.d.ts +1 -1
- package/dist/types/widgets/range/range-ui.d.ts +1 -1
- package/dist/types/widgets/range/skeleton.d.ts +1 -1
- package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -1
- package/dist/types/widgets/selection-summary/selection-summary.d.ts +1 -1
- package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +1 -1
- package/dist/types/widgets/spread/components/max-value.d.ts +1 -1
- package/dist/types/widgets/spread/components/min-value.d.ts +1 -1
- package/dist/types/widgets/spread/components/separator.d.ts +1 -1
- package/dist/types/widgets/spread/skeleton.d.ts +1 -1
- package/dist/types/widgets/spread/spread-ui.d.ts +1 -1
- package/dist/types/widgets/subheader/subheader.d.ts +1 -1
- package/dist/types/widgets/table/components/cell-header.d.ts +1 -1
- package/dist/types/widgets/table/components/cell.d.ts +1 -1
- package/dist/types/widgets/table/components/pagination-actions.d.ts +1 -1
- package/dist/types/widgets/table/components/pagination.d.ts +1 -1
- package/dist/types/widgets/table/components/row.d.ts +1 -1
- package/dist/types/widgets/table/skeleton.d.ts +1 -1
- package/dist/types/widgets/table/table-ui.d.ts +2 -2
- package/dist/types/widgets/timeseries/skeleton.d.ts +1 -1
- package/dist/types/widgets/wrapper/components/actions.d.ts +1 -1
- package/dist/types/widgets/wrapper/components/options.d.ts +1 -1
- package/dist/types/widgets/wrapper/components/title.d.ts +1 -1
- package/dist/types/widgets/wrapper/wrapper-ui.d.ts +1 -1
- package/dist/types/widgets/wrapper/wrapper.d.ts +1 -1
- package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +1 -1
- package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +1 -1
- package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +1 -1
- package/dist/types/widgets-v2/actions/download/download.d.ts +1 -1
- package/dist/types/widgets-v2/actions/download/icons.d.ts +3 -3
- package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +2 -2
- package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +1 -1
- package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +1 -1
- package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +1 -1
- package/dist/types/widgets-v2/actions/show-all/show-all.d.ts +1 -1
- package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +1 -1
- package/dist/types/widgets-v2/bar/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/category/category-ui.d.ts +1 -1
- package/dist/types/widgets-v2/category/category.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-bar-stacked.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-bar.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-legend.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-other.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-single.d.ts +1 -1
- package/dist/types/widgets-v2/category/components/category-row-stacked.d.ts +1 -1
- package/dist/types/widgets-v2/category/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/echart/echart-ui.d.ts +1 -1
- package/dist/types/widgets-v2/echart/echart.d.ts +1 -1
- package/dist/types/widgets-v2/formula/delta.d.ts +1 -1
- package/dist/types/widgets-v2/formula/formula-ui.d.ts +1 -1
- package/dist/types/widgets-v2/formula/formula.d.ts +1 -1
- package/dist/types/widgets-v2/formula/note.d.ts +1 -1
- package/dist/types/widgets-v2/formula/prefix.d.ts +1 -1
- package/dist/types/widgets-v2/formula/series.d.ts +1 -1
- package/dist/types/widgets-v2/formula/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/formula/suffix.d.ts +1 -1
- package/dist/types/widgets-v2/formula/value.d.ts +1 -1
- package/dist/types/widgets-v2/histogram/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/index.d.ts +5 -5
- package/dist/types/widgets-v2/markdown/markdown-content.d.ts +1 -1
- package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +1 -1
- package/dist/types/widgets-v2/markdown/markdown.d.ts +1 -1
- package/dist/types/widgets-v2/markdown/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/note/widget-note.d.ts +2 -2
- package/dist/types/widgets-v2/pie/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/provider/widget-provider.d.ts +1 -1
- package/dist/types/widgets-v2/range/range-ui.d.ts +1 -1
- package/dist/types/widgets-v2/range/range.d.ts +1 -1
- package/dist/types/widgets-v2/range/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +1 -1
- package/dist/types/widgets-v2/spread/band.d.ts +37 -0
- package/dist/types/widgets-v2/spread/band.test.d.ts +1 -0
- package/dist/types/widgets-v2/spread/index.d.ts +1 -0
- package/dist/types/widgets-v2/spread/separator.d.ts +1 -1
- package/dist/types/widgets-v2/spread/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/spread/spread-ui.d.ts +1 -1
- package/dist/types/widgets-v2/spread/spread.d.ts +1 -1
- package/dist/types/widgets-v2/state/widget-state.d.ts +1 -1
- package/dist/types/widgets-v2/subheader/subheader.d.ts +1 -1
- package/dist/types/widgets-v2/table/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/table/table-ui.d.ts +1 -1
- package/dist/types/widgets-v2/table/table.d.ts +1 -1
- package/dist/types/widgets-v2/timeseries/skeleton.d.ts +1 -1
- package/dist/types/widgets-v2/toolbox/toolbox.d.ts +1 -1
- package/dist/types/widgets-v2/wrapper/widget-actions.d.ts +2 -2
- package/dist/types/widgets-v2/wrapper/widget-content.d.ts +2 -2
- package/dist/types/widgets-v2/wrapper/widget-wrapper.d.ts +1 -1
- package/dist/use-widget-selector-VSPhfhNm.js +12 -0
- package/dist/{use-widget-selector-DFl2hW0R.js.map → use-widget-selector-VSPhfhNm.js.map} +1 -1
- package/dist/utils-DtvTjjMq.js +58 -0
- package/dist/utils-DtvTjjMq.js.map +1 -0
- package/dist/widget-store-BFPKYm4R.js +187 -0
- package/dist/widget-store-BFPKYm4R.js.map +1 -0
- package/dist/widgets/actions.js +2 -1317
- package/dist/widgets/bar.js +183 -175
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +429 -434
- package/dist/widgets/category.js.map +1 -1
- package/dist/widgets/echart.js +3 -120
- package/dist/widgets/error.js +28 -38
- package/dist/widgets/error.js.map +1 -1
- package/dist/widgets/formula.js +3 -123
- package/dist/widgets/histogram.js +183 -202
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/loader.js +63 -61
- package/dist/widgets/loader.js.map +1 -1
- package/dist/widgets/markdown.js +141 -123
- package/dist/widgets/markdown.js.map +1 -1
- package/dist/widgets/no-data.js +52 -58
- package/dist/widgets/no-data.js.map +1 -1
- package/dist/widgets/note.js +125 -122
- package/dist/widgets/note.js.map +1 -1
- package/dist/widgets/pie.js +245 -259
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +225 -204
- package/dist/widgets/range.js.map +1 -1
- package/dist/widgets/scatterplot.js +220 -215
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/selection-summary.js +39 -38
- package/dist/widgets/selection-summary.js.map +1 -1
- package/dist/widgets/skeleton-loader.js +22 -23
- package/dist/widgets/skeleton-loader.js.map +1 -1
- package/dist/widgets/spread.js +150 -156
- package/dist/widgets/spread.js.map +1 -1
- package/dist/widgets/stores.js +3 -8
- package/dist/widgets/subheader.js +49 -50
- package/dist/widgets/subheader.js.map +1 -1
- package/dist/widgets/table.js +576 -644
- package/dist/widgets/table.js.map +1 -1
- package/dist/widgets/timeseries.js +175 -170
- package/dist/widgets/timeseries.js.map +1 -1
- package/dist/widgets/toolbar-actions.js +140 -145
- package/dist/widgets/toolbar-actions.js.map +1 -1
- package/dist/widgets/utils.js +17 -33
- package/dist/widgets/utils.js.map +1 -1
- package/dist/widgets/wrapper.js +265 -276
- package/dist/widgets/wrapper.js.map +1 -1
- package/dist/widgets-v2/actions.js +4 -51
- package/dist/widgets-v2/bar.js +253 -307
- package/dist/widgets-v2/bar.js.map +1 -1
- package/dist/widgets-v2/category.js +2 -98
- package/dist/widgets-v2/echart.js +2 -57
- package/dist/widgets-v2/formula.js +2 -68
- package/dist/widgets-v2/histogram.js +285 -350
- package/dist/widgets-v2/histogram.js.map +1 -1
- package/dist/widgets-v2/markdown.js +3 -69
- package/dist/widgets-v2/pie.js +363 -461
- package/dist/widgets-v2/pie.js.map +1 -1
- package/dist/widgets-v2/range.js +2 -52
- package/dist/widgets-v2/scatterplot.js +316 -391
- package/dist/widgets-v2/scatterplot.js.map +1 -1
- package/dist/widgets-v2/spread.js +2 -66
- package/dist/widgets-v2/stores.js +2 -42
- package/dist/widgets-v2/table.js +2 -78
- package/dist/widgets-v2/timeseries.js +285 -340
- package/dist/widgets-v2/timeseries.js.map +1 -1
- package/dist/widgets-v2/utils.js +2 -8
- package/dist/widgets-v2.js +955 -951
- package/dist/widgets-v2.js.map +1 -1
- package/dist/zoom-toggle-CA0ifG23.js +164 -0
- package/dist/zoom-toggle-CA0ifG23.js.map +1 -0
- package/package.json +4 -4
- package/src/hooks/use-widget-ref.ts +1 -0
- package/src/widgets-v2/index.ts +6 -1
- package/src/widgets-v2/spread/band.test.ts +46 -0
- package/src/widgets-v2/spread/band.ts +47 -0
- package/src/widgets-v2/spread/index.ts +1 -0
- package/dist/category-Ct2BzADB.js +0 -753
- package/dist/category-Ct2BzADB.js.map +0 -1
- package/dist/change-column-Fu1DCYQ3.js +0 -1186
- package/dist/change-column-Fu1DCYQ3.js.map +0 -1
- package/dist/cjs-D4KH3azB.js +0 -85
- package/dist/cjs-D4KH3azB.js.map +0 -1
- package/dist/components.js.map +0 -1
- package/dist/copy-button-DGL1tyli.js +0 -26
- package/dist/copy-button-DGL1tyli.js.map +0 -1
- package/dist/csv-item-hH_Gt7ur.js +0 -32
- package/dist/csv-item-hH_Gt7ur.js.map +0 -1
- package/dist/data-zoom-layout-D_FYdnap.js +0 -28
- package/dist/data-zoom-layout-D_FYdnap.js.map +0 -1
- package/dist/download-config-OKlLLSW_.js +0 -58
- package/dist/download-config-OKlLLSW_.js.map +0 -1
- package/dist/echart-B10dhEaM.js +0 -262
- package/dist/echart-B10dhEaM.js.map +0 -1
- package/dist/exports-Cr43OCul.js +0 -51
- package/dist/exports-Cr43OCul.js.map +0 -1
- package/dist/exports-Cx-f6m6U.js +0 -63
- package/dist/exports-Cx-f6m6U.js.map +0 -1
- package/dist/formatter-B9Bxn1k7.js +0 -6
- package/dist/formatter-B9Bxn1k7.js.map +0 -1
- package/dist/formula-DuC0NQLH.js +0 -79
- package/dist/formula-DuC0NQLH.js.map +0 -1
- package/dist/lasso-tool-YLFRgb-S.js +0 -582
- package/dist/lasso-tool-YLFRgb-S.js.map +0 -1
- package/dist/legend/stores.js.map +0 -1
- package/dist/legend-store-registry-p1tSwJXH.js +0 -472
- package/dist/legend-store-registry-p1tSwJXH.js.map +0 -1
- package/dist/markdown-DdqANCiN.js +0 -102
- package/dist/markdown-DdqANCiN.js.map +0 -1
- package/dist/markdown-content-Dk2DSgbf.js +0 -10287
- package/dist/markdown-content-Dk2DSgbf.js.map +0 -1
- package/dist/option-builders-DPeoyQaM.js +0 -130
- package/dist/option-builders-DPeoyQaM.js.map +0 -1
- package/dist/options-CthfUJDz.js +0 -46
- package/dist/options-CthfUJDz.js.map +0 -1
- package/dist/png-item-9dNbB37T.js +0 -57
- package/dist/png-item-9dNbB37T.js.map +0 -1
- package/dist/range-l4fNHLEg.js +0 -213
- package/dist/range-l4fNHLEg.js.map +0 -1
- package/dist/resolve-theme-color-BdojIw0K.js +0 -47
- package/dist/resolve-theme-color-BdojIw0K.js.map +0 -1
- package/dist/row-DZSP99LW.js +0 -34
- package/dist/row-DZSP99LW.js.map +0 -1
- package/dist/series-DLNHDWs0.js +0 -90
- package/dist/series-DLNHDWs0.js.map +0 -1
- package/dist/shared-resize-observer-98b1SK1e.js +0 -17
- package/dist/shared-resize-observer-98b1SK1e.js.map +0 -1
- package/dist/smart-tooltip-DFV6GD8R.js +0 -40
- package/dist/smart-tooltip-DFV6GD8R.js.map +0 -1
- package/dist/spread-4MYPOntd.js +0 -66
- package/dist/spread-4MYPOntd.js.map +0 -1
- package/dist/style-DVnT6HC1.js +0 -131
- package/dist/style-DVnT6HC1.js.map +0 -1
- package/dist/styles-cohnxh9F.js +0 -23
- package/dist/styles-cohnxh9F.js.map +0 -1
- package/dist/table-CTcLOycx.js +0 -383
- package/dist/table-CTcLOycx.js.map +0 -1
- package/dist/tooltip-BDnrRKrp.js +0 -25
- package/dist/tooltip-BDnrRKrp.js.map +0 -1
- package/dist/transforms-Cdx4fkU5.js +0 -106
- package/dist/transforms-Cdx4fkU5.js.map +0 -1
- package/dist/use-transform-DXPN3nY7.js +0 -110
- package/dist/use-transform-DXPN3nY7.js.map +0 -1
- package/dist/use-widget-ref-Ddr_SlJJ.js +0 -22
- package/dist/use-widget-ref-Ddr_SlJJ.js.map +0 -1
- package/dist/use-widget-selector-DFl2hW0R.js +0 -12
- package/dist/utils-BOhInag6.js +0 -170
- package/dist/utils-BOhInag6.js.map +0 -1
- package/dist/widget-context-DTGO0Yta.js +0 -13
- package/dist/widget-context-DTGO0Yta.js.map +0 -1
- package/dist/widget-store-Bw5zRUGg.js +0 -261
- package/dist/widget-store-Bw5zRUGg.js.map +0 -1
- package/dist/widget-store-registry-_W4Z4xp-.js +0 -178
- package/dist/widget-store-registry-_W4Z4xp-.js.map +0 -1
- package/dist/widgets/actions.js.map +0 -1
- package/dist/widgets/echart.js.map +0 -1
- package/dist/widgets/formula.js.map +0 -1
- package/dist/widgets/stores.js.map +0 -1
- package/dist/widgets-v2/actions.js.map +0 -1
- package/dist/widgets-v2/category.js.map +0 -1
- package/dist/widgets-v2/echart.js.map +0 -1
- package/dist/widgets-v2/formula.js.map +0 -1
- package/dist/widgets-v2/markdown.js.map +0 -1
- package/dist/widgets-v2/range.js.map +0 -1
- package/dist/widgets-v2/spread.js.map +0 -1
- package/dist/widgets-v2/stores.js.map +0 -1
- package/dist/widgets-v2/table.js.map +0 -1
- package/dist/widgets-v2/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sources":["../../src/widgets/loader/loader.tsx","../../src/widgets/loader/utils.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport type { WidgetLoaderProps } from './types'\nimport { useWidgetStore, widgetStoreActions } from '../stores/widget-store'\nimport type { WrapperState } from '../wrapper'\n\n/**\n * Foundation component for all widgets that manages state initialization, synchronization with the widget store, and data transformation pipeline execution.\n *\n * @remarks\n * The WidgetLoader is stateless -- it manages data flow but does not render any UI. Always wrap it with WidgetWrapper for consistent widget appearance.\n *\n * @example\n * ```tsx\n * <WidgetLoader\n * id=\"sales-chart\"\n * type=\"bar\"\n * data={data}\n * isLoading={false}\n * isFetching={false}\n * config={barConfig({ data })}\n * >\n * <WidgetWrapper id=\"sales-chart\" title=\"Sales\">\n * <Echart id=\"sales-chart\" />\n * </WidgetWrapper>\n * </WidgetLoader>\n * ```\n */\nexport function WidgetLoader<T extends object = Record<string, unknown>>(\n props: WidgetLoaderProps<T>,\n) {\n // Subscribe only to this widget's registeredTools via Zustand selector.\n // The selector returns a stable reference when other widgets change,\n // avoiding unnecessary re-evaluations of Effect 4.\n const registeredTools = useWidgetStore(\n (state) => state.widgets[props.id]?.registeredTools,\n )\n\n const dataRef = useRef(props.data)\n const configRef = useRef(props.config)\n const isMountedRef = useRef(false)\n\n useEffect(() => {\n dataRef.current = props.data\n configRef.current = props.config\n })\n\n // Effect 1: Metadata — type, loading, and error states in a single setWidget call.\n // Merged to reduce store updates from 2 to 1 per widget during initialization.\n useEffect(() => {\n widgetStoreActions.setWidget<WrapperState>(props.id, {\n type: props.type,\n isLoading: props.isLoading ?? false,\n isFetching: props.isFetching ?? false,\n error: props.error,\n })\n }, [props.id, props.type, props.isLoading, props.isFetching, props.error])\n\n // Effect 2: Config updates — run through config pipeline\n useEffect(() => {\n if (props.config) {\n void widgetStoreActions.executeConfigPipeline(props.id, props.config)\n }\n }, [props.id, props.config])\n\n // Effect 3: Execute tool pipeline when props.data changes\n useEffect(() => {\n void widgetStoreActions.executeToolPipeline(props.id, props.data)\n }, [props.id, props.data])\n\n // Effect 4: Re-execute pipelines when registered tools change.\n // Uses requestAnimationFrame to coalesce rapid successive registeredTools\n // changes (e.g., 6 action components each calling registerTool on mount)\n // into a single pipeline execution instead of 6 pairs.\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true\n return\n }\n\n const rafId = requestAnimationFrame(() => {\n const { executeToolPipeline, executeConfigPipeline } = widgetStoreActions\n void executeToolPipeline(props.id, dataRef.current)\n if (configRef.current) {\n void executeConfigPipeline(props.id, configRef.current)\n }\n })\n\n return () => cancelAnimationFrame(rafId)\n }, [registeredTools, props.id])\n\n return props.children\n}\n","import deepmerge from 'deepmerge'\n\n/**\n * Config can be either an object or a function that receives baseConfig and data\n * and returns a partial config to be merged with the base.\n */\nexport type ConfigOrFn<TConfig, TData = unknown> =\n | Partial<TConfig>\n | ((baseConfig: TConfig, data: TData) => Partial<TConfig>)\n\n/**\n * Resolves a widget config that may be either a partial object or a function receiving the computed base config and data. If it is a function, calls it with `baseConfig` and `data`; otherwise returns the value as-is.\n *\n * @param config - The config object or function to resolve.\n * @param baseConfig - The computed base configuration.\n * @param data - The widget data.\n * @returns Resolved partial config, or undefined.\n *\n * @example\n * ```tsx\n * const resolved = resolveConfig(\n * (base, data) => ({ maxItems: base.maxItems + 5 }),\n * baseConfig,\n * widgetData,\n * )\n * ```\n */\nexport function resolveConfig<TConfig, TData>(\n config: ConfigOrFn<TConfig, TData> | undefined,\n baseConfig: TConfig,\n data: TData,\n): Partial<TConfig> | undefined {\n if (typeof config === 'function') {\n return config(baseConfig, data)\n }\n return config\n}\n\n/**\n * Deep-merges two partial widget config objects using `deepmerge`, with arrays replaced rather than concatenated.\n *\n * @param options - A tuple of two partial configs to merge (base and override).\n * @returns The merged config object.\n *\n * @example\n * ```tsx\n * const finalConfig = mergeWidgetConfig(baseConfig, resolvedConfig)\n * ```\n */\nexport function mergeWidgetConfig<T>(\n ...options: [Partial<T> | undefined, Partial<T> | undefined]\n): T {\n return deepmerge(options[0] ?? {}, options[1] ?? {}, {\n arrayMerge(_, source) {\n return source as T[keyof T][]\n },\n })\n}\n"],"
|
|
1
|
+
{"version":3,"file":"loader.js","names":["useEffect","useRef","WidgetLoaderProps","useWidgetStore","widgetStoreActions","WrapperState","WidgetLoader","props","$","_c","t0","id","state","widgets","registeredTools","dataRef","data","configRef","config","isMountedRef","t1","current","t2","t3","error","isFetching","isLoading","type","setWidget","t4","t5","executeConfigPipeline","t6","t7","executeToolPipeline","t8","rafId","requestAnimationFrame","cancelAnimationFrame","t9","children","deepmerge","ConfigOrFn","Partial","TConfig","baseConfig","data","TData","resolveConfig","config","mergeWidgetConfig","options","T","arrayMerge","_","source"],"sources":["../../src/widgets/loader/loader.tsx","../../src/widgets/loader/utils.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport type { WidgetLoaderProps } from './types'\nimport { useWidgetStore, widgetStoreActions } from '../stores/widget-store'\nimport type { WrapperState } from '../wrapper'\n\n/**\n * Foundation component for all widgets that manages state initialization, synchronization with the widget store, and data transformation pipeline execution.\n *\n * @remarks\n * The WidgetLoader is stateless -- it manages data flow but does not render any UI. Always wrap it with WidgetWrapper for consistent widget appearance.\n *\n * @example\n * ```tsx\n * <WidgetLoader\n * id=\"sales-chart\"\n * type=\"bar\"\n * data={data}\n * isLoading={false}\n * isFetching={false}\n * config={barConfig({ data })}\n * >\n * <WidgetWrapper id=\"sales-chart\" title=\"Sales\">\n * <Echart id=\"sales-chart\" />\n * </WidgetWrapper>\n * </WidgetLoader>\n * ```\n */\nexport function WidgetLoader<T extends object = Record<string, unknown>>(\n props: WidgetLoaderProps<T>,\n) {\n // Subscribe only to this widget's registeredTools via Zustand selector.\n // The selector returns a stable reference when other widgets change,\n // avoiding unnecessary re-evaluations of Effect 4.\n const registeredTools = useWidgetStore(\n (state) => state.widgets[props.id]?.registeredTools,\n )\n\n const dataRef = useRef(props.data)\n const configRef = useRef(props.config)\n const isMountedRef = useRef(false)\n\n useEffect(() => {\n dataRef.current = props.data\n configRef.current = props.config\n })\n\n // Effect 1: Metadata — type, loading, and error states in a single setWidget call.\n // Merged to reduce store updates from 2 to 1 per widget during initialization.\n useEffect(() => {\n widgetStoreActions.setWidget<WrapperState>(props.id, {\n type: props.type,\n isLoading: props.isLoading ?? false,\n isFetching: props.isFetching ?? false,\n error: props.error,\n })\n }, [props.id, props.type, props.isLoading, props.isFetching, props.error])\n\n // Effect 2: Config updates — run through config pipeline\n useEffect(() => {\n if (props.config) {\n void widgetStoreActions.executeConfigPipeline(props.id, props.config)\n }\n }, [props.id, props.config])\n\n // Effect 3: Execute tool pipeline when props.data changes\n useEffect(() => {\n void widgetStoreActions.executeToolPipeline(props.id, props.data)\n }, [props.id, props.data])\n\n // Effect 4: Re-execute pipelines when registered tools change.\n // Uses requestAnimationFrame to coalesce rapid successive registeredTools\n // changes (e.g., 6 action components each calling registerTool on mount)\n // into a single pipeline execution instead of 6 pairs.\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true\n return\n }\n\n const rafId = requestAnimationFrame(() => {\n const { executeToolPipeline, executeConfigPipeline } = widgetStoreActions\n void executeToolPipeline(props.id, dataRef.current)\n if (configRef.current) {\n void executeConfigPipeline(props.id, configRef.current)\n }\n })\n\n return () => cancelAnimationFrame(rafId)\n }, [registeredTools, props.id])\n\n return props.children\n}\n","import deepmerge from 'deepmerge'\n\n/**\n * Config can be either an object or a function that receives baseConfig and data\n * and returns a partial config to be merged with the base.\n */\nexport type ConfigOrFn<TConfig, TData = unknown> =\n | Partial<TConfig>\n | ((baseConfig: TConfig, data: TData) => Partial<TConfig>)\n\n/**\n * Resolves a widget config that may be either a partial object or a function receiving the computed base config and data. If it is a function, calls it with `baseConfig` and `data`; otherwise returns the value as-is.\n *\n * @param config - The config object or function to resolve.\n * @param baseConfig - The computed base configuration.\n * @param data - The widget data.\n * @returns Resolved partial config, or undefined.\n *\n * @example\n * ```tsx\n * const resolved = resolveConfig(\n * (base, data) => ({ maxItems: base.maxItems + 5 }),\n * baseConfig,\n * widgetData,\n * )\n * ```\n */\nexport function resolveConfig<TConfig, TData>(\n config: ConfigOrFn<TConfig, TData> | undefined,\n baseConfig: TConfig,\n data: TData,\n): Partial<TConfig> | undefined {\n if (typeof config === 'function') {\n return config(baseConfig, data)\n }\n return config\n}\n\n/**\n * Deep-merges two partial widget config objects using `deepmerge`, with arrays replaced rather than concatenated.\n *\n * @param options - A tuple of two partial configs to merge (base and override).\n * @returns The merged config object.\n *\n * @example\n * ```tsx\n * const finalConfig = mergeWidgetConfig(baseConfig, resolvedConfig)\n * ```\n */\nexport function mergeWidgetConfig<T>(\n ...options: [Partial<T> | undefined, Partial<T> | undefined]\n): T {\n return deepmerge(options[0] ?? {}, options[1] ?? {}, {\n arrayMerge(_, source) {\n return source as T[keyof T][]\n },\n })\n}\n"],"mappings":";;;;;;AA2BA,SAAOM,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAAC;CAAA,AAAAF,EAAA,OAAAD,EAAAI,KAOgDD,IAAAF,EAAA,MAAnDE,KAAAE,MAAWA,EAAKC,QAASN,EAAKI,GAAqB,EAAAG,iBAAAN,EAAA,KAAAD,EAAAI,IAAAH,EAAA,KAAAE;CADrD,IAAAI,IAAwBX,EACtBO,CACF,GAEAK,IAAgBd,EAAOM,EAAKS,IAAK,GACjCC,IAAkBhB,EAAOM,EAAKW,MAAO,GACrCC,IAAqBlB,EAAO,EAAK,GAACmB;CAElCpB,AAFkCQ,EAAA,OAAAD,EAAAW,UAAAV,EAAA,OAAAD,EAAAS,QAExBI,UAAA;EAERH,AADAF,EAAOM,UAAWd,EAAKS,MACvBC,EAASI,UAAWd,EAAKW;CAAR,GAClBV,EAAA,KAAAD,EAAAW,QAAAV,EAAA,KAAAD,EAAAS,MAAAR,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAHDR,EAAUoB,CAGT;CAAC,IAAAE,GAAAC;CAIFvB,AAJEQ,EAAA,OAAAD,EAAAiB,SAAAhB,EAAA,OAAAD,EAAAI,MAAAH,EAAA,OAAAD,EAAAkB,cAAAjB,EAAA,OAAAD,EAAAmB,aAAAlB,EAAA,OAAAD,EAAAoB,QAIQL,UAAA;EACRlB,EAAkBwB,UAAyBrB,EAAKI,IAAK;GAAAgB,MAC7CpB,EAAKoB;GAAKD,WACLnB,EAAKmB,aAAL;GAAwBD,YACvBlB,EAAKkB,cAAL;GAAyBD,OAC9BjB,EAAKiB;EACd,CAAC;CAAC,GACDD,IAAA;EAAChB,EAAKI;EAAKJ,EAAKoB;EAAOpB,EAAKmB;EAAYnB,EAAKkB;EAAalB,EAAKiB;CAAM,GAAChB,EAAA,KAAAD,EAAAiB,OAAAhB,EAAA,KAAAD,EAAAI,IAAAH,EAAA,KAAAD,EAAAkB,YAAAjB,EAAA,KAAAD,EAAAmB,WAAAlB,EAAA,KAAAD,EAAAoB,MAAAnB,EAAA,MAAAc,GAAAd,EAAA,MAAAe,MAAAD,IAAAd,EAAA,KAAAe,IAAAf,EAAA,MAPzER,EAAUsB,GAOPC,CAAsE;CAAC,IAAAM,GAAAC;CAG1E9B,AAH0EQ,EAAA,QAAAD,EAAAW,UAAAV,EAAA,QAAAD,EAAAI,MAGhEkB,UAAA;EACR,AAAItB,EAAKW,UACFd,EAAkB2B,sBAAuBxB,EAAKI,IAAKJ,EAAKW,MAAO;CACrE,GACAY,IAAA,CAACvB,EAAKI,IAAKJ,EAAKW,MAAO,GAACV,EAAA,MAAAD,EAAAW,QAAAV,EAAA,MAAAD,EAAAI,IAAAH,EAAA,MAAAqB,GAAArB,EAAA,MAAAsB,MAAAD,IAAArB,EAAA,KAAAsB,IAAAtB,EAAA,MAJ3BR,EAAU6B,GAIPC,CAAwB;CAAC,IAAAE,GAAAC;CAG5BjC,AAH4BQ,EAAA,QAAAD,EAAAS,QAAAR,EAAA,QAAAD,EAAAI,MAGlBqB,UAAA;EACH5B,EAAkB8B,oBAAqB3B,EAAKI,IAAKJ,EAAKS,IAAK;CAAC,GAChEiB,IAAA,CAAC1B,EAAKI,IAAKJ,EAAKS,IAAK,GAACR,EAAA,MAAAD,EAAAS,MAAAR,EAAA,MAAAD,EAAAI,IAAAH,EAAA,MAAAwB,GAAAxB,EAAA,MAAAyB,MAAAD,IAAAxB,EAAA,KAAAyB,IAAAzB,EAAA,MAFzBR,EAAUgC,GAEPC,CAAsB;CAAC,IAAAE;CAAA,AAAA3B,EAAA,QAAAD,EAAAI,KAqBzBwB,IAAA3B,EAAA,OAfS2B,UAAA;EACR,IAAI,CAAChB,EAAYE,SAAQ;GACvBF,EAAYE,UAAW;GAAH;EAAA;EAItB,IAAAe,IAAcC,4BAAsB;GAClC,IAAA,EAAAH,wBAAAH,6BAAuD3B;GAEvD,AADK8B,EAAoB3B,EAAKI,IAAKI,EAAOM,OAAQ,GAC9CJ,EAASI,WACNU,EAAsBxB,EAAKI,IAAKM,EAASI,OAAQ;EACvD,CACF;EAAC,aAEWiB,qBAAqBF,CAAK;CAAC,GACzC5B,EAAA,MAAAD,EAAAI,IAAAH,EAAA,MAAA2B;CAAA,IAAAI;CAA8B,OAA9B/B,EAAA,QAAAD,EAAAI,MAAAH,EAAA,QAAAM,KAAEyB,IAAA,CAACzB,GAAiBP,EAAKI,EAAG,GAACH,EAAA,MAAAD,EAAAI,IAAAH,EAAA,MAAAM,GAAAN,EAAA,MAAA+B,KAAAA,IAAA/B,EAAA,KAf9BR,EAAUmC,GAePI,CAA2B,GAEvBhC,EAAKiC;AAAS;;;;AC/DvB,SAAgBQ,EACdC,GACAJ,GACAC,GAC8B;CAI9B,OAHI,OAAOG,KAAW,aACbA,EAAOJ,GAAYC,CAAI,IAEzBG;AACT;AAaA,SAAgBC,EACd,GAAGC,GACA;CACH,QAAA,GAAOV,EAAAA,QAAAA,CAAUU,EAAQ,MAAM,CAAC,GAAGA,EAAQ,MAAM,CAAC,GAAG,EACnDE,WAAWC,GAAGC,GAAQ;EACpB,OAAOA;CACT,EACF,CAAC;AACH"}
|
package/dist/widgets/markdown.js
CHANGED
|
@@ -1,130 +1,148 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import "
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import "@dnd-kit/core";
|
|
14
|
-
import "@dnd-kit/sortable";
|
|
15
|
-
import "@dnd-kit/utilities";
|
|
16
|
-
import "react-dom";
|
|
17
|
-
import "zustand/shallow";
|
|
18
|
-
import { a as d } from "../exports-Cr43OCul.js";
|
|
19
|
-
function V(t) {
|
|
20
|
-
const o = s(2), {
|
|
21
|
-
id: n
|
|
22
|
-
} = t, e = f(n, y);
|
|
23
|
-
if (!e)
|
|
24
|
-
return null;
|
|
25
|
-
let i;
|
|
26
|
-
return o[0] !== e ? (i = /* @__PURE__ */ r(S, { children: e }), o[0] = e, o[1] = i) : i = o[1], i;
|
|
1
|
+
import { t as e } from "../use-widget-selector-VSPhfhNm.js";
|
|
2
|
+
import { _ as t } from "../actions-DKX98LlI.js";
|
|
3
|
+
import { c as n } from "react/compiler-runtime";
|
|
4
|
+
import { Box as r, Link as i, List as a, ListItem as o, Skeleton as s, Typography as c } from "@mui/material";
|
|
5
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
6
|
+
import d from "react-markdown";
|
|
7
|
+
//#region src/widgets/markdown/markdown.tsx
|
|
8
|
+
function f(t) {
|
|
9
|
+
let r = n(2), { id: i } = t, a = e(i, p);
|
|
10
|
+
if (!a) return null;
|
|
11
|
+
let o;
|
|
12
|
+
return r[0] === a ? o = r[1] : (o = /* @__PURE__ */ l(g, { children: a }), r[0] = a, r[1] = o), o;
|
|
27
13
|
}
|
|
28
|
-
function
|
|
29
|
-
|
|
14
|
+
function p(e) {
|
|
15
|
+
return e?.data?.content;
|
|
30
16
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/widgets/markdown/style.ts
|
|
19
|
+
var m = {
|
|
20
|
+
container: {
|
|
21
|
+
display: "flex",
|
|
22
|
+
flexDirection: "column",
|
|
23
|
+
gap: ({ spacing: e }) => e(2)
|
|
24
|
+
},
|
|
25
|
+
markdown: {
|
|
26
|
+
overflow: "hidden",
|
|
27
|
+
typography: ({ typography: e }) => ({ ...e.body1 })
|
|
28
|
+
},
|
|
29
|
+
li: {
|
|
30
|
+
display: "list-item",
|
|
31
|
+
paddingTop: 0,
|
|
32
|
+
paddingBottom: 0
|
|
33
|
+
},
|
|
34
|
+
ul: {
|
|
35
|
+
listStyleType: "disc",
|
|
36
|
+
paddingLeft: ({ spacing: e }) => e(2)
|
|
37
|
+
},
|
|
38
|
+
ol: {
|
|
39
|
+
listStyleType: "decimal",
|
|
40
|
+
paddingLeft: ({ spacing: e }) => e(2)
|
|
41
|
+
}
|
|
42
|
+
}, h = {
|
|
43
|
+
h1: ({ children: e }) => /* @__PURE__ */ l(c, {
|
|
44
|
+
variant: "h4",
|
|
45
|
+
gutterBottom: !0,
|
|
46
|
+
color: "inherit",
|
|
47
|
+
children: e
|
|
48
|
+
}),
|
|
49
|
+
h2: ({ children: e }) => /* @__PURE__ */ l(c, {
|
|
50
|
+
variant: "h5",
|
|
51
|
+
gutterBottom: !0,
|
|
52
|
+
color: "inherit",
|
|
53
|
+
children: e
|
|
54
|
+
}),
|
|
55
|
+
h3: ({ children: e }) => /* @__PURE__ */ l(c, {
|
|
56
|
+
variant: "h6",
|
|
57
|
+
gutterBottom: !0,
|
|
58
|
+
color: "inherit",
|
|
59
|
+
children: e
|
|
60
|
+
}),
|
|
61
|
+
p: ({ children: e }) => /* @__PURE__ */ l(c, {
|
|
62
|
+
paragraph: !0,
|
|
63
|
+
color: "inherit",
|
|
64
|
+
children: e
|
|
65
|
+
}),
|
|
66
|
+
a: ({ children: e, href: t, target: n = "_blank", rel: r = "noopener noreferrer" }) => /* @__PURE__ */ l(i, {
|
|
67
|
+
href: t,
|
|
68
|
+
target: n,
|
|
69
|
+
rel: r,
|
|
70
|
+
children: e
|
|
71
|
+
}),
|
|
72
|
+
ul: ({ children: e }) => /* @__PURE__ */ l(a, {
|
|
73
|
+
sx: m.ul,
|
|
74
|
+
children: e
|
|
75
|
+
}),
|
|
76
|
+
ol: ({ children: e }) => /* @__PURE__ */ l(a, {
|
|
77
|
+
component: "ol",
|
|
78
|
+
sx: m.ol,
|
|
79
|
+
children: e
|
|
80
|
+
}),
|
|
81
|
+
li: ({ children: e }) => /* @__PURE__ */ l(o, {
|
|
82
|
+
sx: m.li,
|
|
83
|
+
children: e
|
|
84
|
+
})
|
|
77
85
|
};
|
|
78
|
-
function
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return o[2] !== n || o[3] !== i ? (l = /* @__PURE__ */ r(k, { components: i, children: n }), o[2] = n, o[3] = i, o[4] = l) : l = o[4], l;
|
|
86
|
+
function g(e) {
|
|
87
|
+
let t = n(5), { children: r, overrides: i } = e, a;
|
|
88
|
+
t[0] === i ? a = t[1] : (a = {
|
|
89
|
+
...h,
|
|
90
|
+
...i
|
|
91
|
+
}, t[0] = i, t[1] = a);
|
|
92
|
+
let o;
|
|
93
|
+
return t[2] !== r || t[3] !== a ? (o = /* @__PURE__ */ l(d, {
|
|
94
|
+
components: a,
|
|
95
|
+
children: r
|
|
96
|
+
}), t[2] = r, t[3] = a, t[4] = o) : o = t[4], o;
|
|
90
97
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region src/widgets/markdown/skeleton.tsx
|
|
100
|
+
function _() {
|
|
101
|
+
let e = n(3), t;
|
|
102
|
+
e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ l(s, {
|
|
103
|
+
width: "80%",
|
|
104
|
+
height: 24,
|
|
105
|
+
sx: { mb: 1 }
|
|
106
|
+
}), e[0] = t) : t = e[0];
|
|
107
|
+
let i;
|
|
108
|
+
e[1] === Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ l(s, {
|
|
109
|
+
width: "90%",
|
|
110
|
+
height: 20,
|
|
111
|
+
sx: { mb: .5 }
|
|
112
|
+
}), e[1] = i) : i = e[1];
|
|
113
|
+
let a;
|
|
114
|
+
return e[2] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ u(r, {
|
|
115
|
+
"aria-label": "Markdown skeleton",
|
|
116
|
+
children: [
|
|
117
|
+
t,
|
|
118
|
+
i,
|
|
119
|
+
/* @__PURE__ */ l(s, {
|
|
120
|
+
width: "85%",
|
|
121
|
+
height: 20,
|
|
122
|
+
sx: { mb: .5 }
|
|
123
|
+
}),
|
|
124
|
+
/* @__PURE__ */ l(s, {
|
|
125
|
+
width: "75%",
|
|
126
|
+
height: 20
|
|
127
|
+
})
|
|
128
|
+
]
|
|
129
|
+
}), e[2] = a) : a = e[2], a;
|
|
110
130
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/widgets/markdown/config.ts
|
|
133
|
+
function v() {
|
|
134
|
+
return [{
|
|
135
|
+
...t,
|
|
136
|
+
modifier: async (e) => {
|
|
137
|
+
let n = e?.content ?? "";
|
|
138
|
+
return t.modifier([["Content"], [n]]);
|
|
139
|
+
}
|
|
140
|
+
}];
|
|
119
141
|
}
|
|
120
|
-
function
|
|
121
|
-
|
|
142
|
+
function y() {
|
|
143
|
+
return {};
|
|
122
144
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
z as markdownConfig,
|
|
128
|
-
q as markdownDownloadConfig
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=markdown.js.map
|
|
145
|
+
//#endregion
|
|
146
|
+
export { f as Markdown, _ as MarkdownSkeleton, g as MarkdownUI, y as markdownConfig, v as markdownDownloadConfig };
|
|
147
|
+
|
|
148
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sources":["../../src/widgets/markdown/markdown.tsx","../../src/widgets/markdown/style.ts","../../src/widgets/markdown/markdown-ui.tsx","../../src/widgets/markdown/skeleton.tsx","../../src/widgets/markdown/config.ts"],"sourcesContent":["import type { MarkdownUIProps } from './types'\nimport type { MarkdownWidgetData } from './types'\nimport { MarkdownUI } from '.'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\n\n/**\n * Stateful markdown widget component that reads content from the widget store and renders it as formatted rich text.\n */\nexport function Markdown({ id }: MarkdownUIProps) {\n const content = useWidgetSelector(\n id,\n (w) => (w?.data as MarkdownWidgetData | undefined)?.content,\n )\n\n if (!content) {\n return null\n }\n\n return <MarkdownUI>{content}</MarkdownUI>\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(2),\n },\n markdown: {\n overflow: 'hidden',\n typography: ({ typography }) => ({\n ...typography.body1,\n }),\n },\n li: {\n display: 'list-item',\n paddingTop: 0,\n paddingBottom: 0,\n },\n ul: {\n listStyleType: 'disc',\n paddingLeft: ({ spacing }) => spacing(2),\n },\n ol: {\n listStyleType: 'decimal',\n paddingLeft: ({ spacing }) => spacing(2),\n },\n}\n","import { Link, List, ListItem, Typography } from '@mui/material'\nimport ReactMarkdown, { type Components } from 'react-markdown'\nimport { styles } from '../markdown/style'\nimport type { MarkdownComponentProps } from './types'\n\nconst COMPONENTS: Components = {\n h1: ({ children }) => (\n <Typography variant='h4' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n h2: ({ children }) => (\n <Typography variant='h5' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n h3: ({ children }) => (\n <Typography variant='h6' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n p: ({ children }) => (\n <Typography paragraph color='inherit'>\n {children}\n </Typography>\n ),\n a: ({ children, href, target = '_blank', rel = 'noopener noreferrer' }) => (\n <Link href={href} target={target} rel={rel}>\n {children}\n </Link>\n ),\n ul: ({ children }) => <List sx={styles.ul}>{children}</List>,\n ol: ({ children }) => (\n <List component='ol' sx={styles.ol}>\n {children}\n </List>\n ),\n li: ({ children }) => <ListItem sx={styles.li}>{children}</ListItem>,\n}\n\n/**\n * Presentational component that renders a Markdown string as MUI-styled HTML using react-markdown.\n *\n * @remarks\n * Maps Markdown elements (headings, paragraphs, links, lists) to MUI Typography and Link components.\n * Custom component overrides can be passed via the `overrides` prop.\n */\nexport function MarkdownUI({ children, overrides }: MarkdownComponentProps) {\n return (\n <ReactMarkdown\n components={{\n ...COMPONENTS,\n ...overrides,\n }}\n >\n {children}\n </ReactMarkdown>\n )\n}\n","import { Box, Skeleton } from '@mui/material'\n\nexport function MarkdownSkeleton() {\n return (\n <Box aria-label='Markdown skeleton'>\n <Skeleton width='80%' height={24} sx={{ mb: 1 }} />\n <Skeleton width='90%' height={20} sx={{ mb: 0.5 }} />\n <Skeleton width='85%' height={20} sx={{ mb: 0.5 }} />\n <Skeleton width='75%' height={20} />\n </Box>\n )\n}\n","import { downloadToCSV, type DownloadItem } from '../actions'\nimport type { MarkdownWidgetConfig, MarkdownWidgetData } from './types'\n\n/**\n * Creates download configuration for markdown widgets, supporting CSV export of text content. Does not require `refUI` since it only exports text.\n *\n * @returns Array of download items for use with the Download action.\n */\nexport function markdownDownloadConfig(): DownloadItem<MarkdownWidgetData>[] {\n return [\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const content = data?.content ?? ''\n return downloadToCSV.modifier([['Content'], [content]])\n },\n },\n ]\n}\n\n/**\n * Returns the default configuration for markdown content display widgets.\n *\n * @returns Default markdown widget config (empty object).\n */\nexport function markdownConfig(): MarkdownWidgetConfig {\n return {}\n}\n"],"
|
|
1
|
+
{"version":3,"file":"markdown.js","names":["MarkdownUIProps","MarkdownWidgetData","MarkdownUI","useWidgetSelector","Markdown","t0","$","_c","id","content","_temp","t1","w","data","SxProps","Theme","styles","Record","container","display","flexDirection","gap","spacing","markdown","overflow","typography","body1","li","paddingTop","paddingBottom","ul","listStyleType","paddingLeft","ol","Link","List","ListItem","Typography","ReactMarkdown","Components","styles","MarkdownComponentProps","COMPONENTS","h1","children","h2","h3","p","a","href","target","rel","ul","ol","li","MarkdownUI","t0","$","_c","overrides","t1","t2","Box","Skeleton","MarkdownSkeleton","$","_c","t0","Symbol","for","mb","t1","t2","downloadToCSV","DownloadItem","MarkdownWidgetConfig","MarkdownWidgetData","markdownDownloadConfig","modifier","data","content","markdownConfig"],"sources":["../../src/widgets/markdown/markdown.tsx","../../src/widgets/markdown/style.ts","../../src/widgets/markdown/markdown-ui.tsx","../../src/widgets/markdown/skeleton.tsx","../../src/widgets/markdown/config.ts"],"sourcesContent":["import type { MarkdownUIProps } from './types'\nimport type { MarkdownWidgetData } from './types'\nimport { MarkdownUI } from '.'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\n\n/**\n * Stateful markdown widget component that reads content from the widget store and renders it as formatted rich text.\n */\nexport function Markdown({ id }: MarkdownUIProps) {\n const content = useWidgetSelector(\n id,\n (w) => (w?.data as MarkdownWidgetData | undefined)?.content,\n )\n\n if (!content) {\n return null\n }\n\n return <MarkdownUI>{content}</MarkdownUI>\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(2),\n },\n markdown: {\n overflow: 'hidden',\n typography: ({ typography }) => ({\n ...typography.body1,\n }),\n },\n li: {\n display: 'list-item',\n paddingTop: 0,\n paddingBottom: 0,\n },\n ul: {\n listStyleType: 'disc',\n paddingLeft: ({ spacing }) => spacing(2),\n },\n ol: {\n listStyleType: 'decimal',\n paddingLeft: ({ spacing }) => spacing(2),\n },\n}\n","import { Link, List, ListItem, Typography } from '@mui/material'\nimport ReactMarkdown, { type Components } from 'react-markdown'\nimport { styles } from '../markdown/style'\nimport type { MarkdownComponentProps } from './types'\n\nconst COMPONENTS: Components = {\n h1: ({ children }) => (\n <Typography variant='h4' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n h2: ({ children }) => (\n <Typography variant='h5' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n h3: ({ children }) => (\n <Typography variant='h6' gutterBottom color='inherit'>\n {children}\n </Typography>\n ),\n p: ({ children }) => (\n <Typography paragraph color='inherit'>\n {children}\n </Typography>\n ),\n a: ({ children, href, target = '_blank', rel = 'noopener noreferrer' }) => (\n <Link href={href} target={target} rel={rel}>\n {children}\n </Link>\n ),\n ul: ({ children }) => <List sx={styles.ul}>{children}</List>,\n ol: ({ children }) => (\n <List component='ol' sx={styles.ol}>\n {children}\n </List>\n ),\n li: ({ children }) => <ListItem sx={styles.li}>{children}</ListItem>,\n}\n\n/**\n * Presentational component that renders a Markdown string as MUI-styled HTML using react-markdown.\n *\n * @remarks\n * Maps Markdown elements (headings, paragraphs, links, lists) to MUI Typography and Link components.\n * Custom component overrides can be passed via the `overrides` prop.\n */\nexport function MarkdownUI({ children, overrides }: MarkdownComponentProps) {\n return (\n <ReactMarkdown\n components={{\n ...COMPONENTS,\n ...overrides,\n }}\n >\n {children}\n </ReactMarkdown>\n )\n}\n","import { Box, Skeleton } from '@mui/material'\n\nexport function MarkdownSkeleton() {\n return (\n <Box aria-label='Markdown skeleton'>\n <Skeleton width='80%' height={24} sx={{ mb: 1 }} />\n <Skeleton width='90%' height={20} sx={{ mb: 0.5 }} />\n <Skeleton width='85%' height={20} sx={{ mb: 0.5 }} />\n <Skeleton width='75%' height={20} />\n </Box>\n )\n}\n","import { downloadToCSV, type DownloadItem } from '../actions'\nimport type { MarkdownWidgetConfig, MarkdownWidgetData } from './types'\n\n/**\n * Creates download configuration for markdown widgets, supporting CSV export of text content. Does not require `refUI` since it only exports text.\n *\n * @returns Array of download items for use with the Download action.\n */\nexport function markdownDownloadConfig(): DownloadItem<MarkdownWidgetData>[] {\n return [\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const content = data?.content ?? ''\n return downloadToCSV.modifier([['Content'], [content]])\n },\n },\n ]\n}\n\n/**\n * Returns the default configuration for markdown content display widgets.\n *\n * @returns Default markdown widget config (empty object).\n */\nexport function markdownConfig(): MarkdownWidgetConfig {\n return {}\n}\n"],"mappings":"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"}
|
package/dist/widgets/no-data.js
CHANGED
|
@@ -1,61 +1,55 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return t[4] !== r || t[5] !== i ? (o = /* @__PURE__ */ x(b, { sx: D.root, children: [
|
|
42
|
-
r,
|
|
43
|
-
i
|
|
44
|
-
] }), t[4] = r, t[5] = i, t[6] = o) : o = t[6], o;
|
|
45
|
-
}
|
|
46
|
-
return a;
|
|
1
|
+
import { t as e } from "../use-widget-selector-VSPhfhNm.js";
|
|
2
|
+
import { c as t } from "react/compiler-runtime";
|
|
3
|
+
import { Box as n, Typography as r } from "@mui/material";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region src/widgets/no-data/style.ts
|
|
6
|
+
var o = { root: {
|
|
7
|
+
display: "flex",
|
|
8
|
+
flexDirection: "column",
|
|
9
|
+
gap: 1,
|
|
10
|
+
paddingTop: 1,
|
|
11
|
+
paddingBottom: 2,
|
|
12
|
+
paddingX: 2,
|
|
13
|
+
width: "100%",
|
|
14
|
+
minHeight: "100%"
|
|
15
|
+
} };
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/widgets/no-data/no-data.tsx
|
|
18
|
+
function s(s) {
|
|
19
|
+
let u = t(7), { id: d, children: f, title: p, description: m, isEmpty: h } = s, g = p === void 0 ? "No data available" : p, _ = m === void 0 ? "There are no results for the combination of filters applied to your data. Try tweaking your filters, or zoom and pan the map to adjust filters" : m, v = h === void 0 ? l : h, { isLoading: y, isFetching: b, sourceData: x } = e(d, c);
|
|
20
|
+
if (y || b) return f;
|
|
21
|
+
if (v(x)) {
|
|
22
|
+
let e;
|
|
23
|
+
u[0] === g ? e = u[1] : (e = /* @__PURE__ */ i(r, {
|
|
24
|
+
variant: "body2",
|
|
25
|
+
color: "text.primary",
|
|
26
|
+
children: g
|
|
27
|
+
}), u[0] = g, u[1] = e);
|
|
28
|
+
let t;
|
|
29
|
+
u[2] === _ ? t = u[3] : (t = /* @__PURE__ */ i(r, {
|
|
30
|
+
variant: "caption",
|
|
31
|
+
color: "text.secondary",
|
|
32
|
+
children: _
|
|
33
|
+
}), u[2] = _, u[3] = t);
|
|
34
|
+
let s;
|
|
35
|
+
return u[4] !== e || u[5] !== t ? (s = /* @__PURE__ */ a(n, {
|
|
36
|
+
sx: o.root,
|
|
37
|
+
children: [e, t]
|
|
38
|
+
}), u[4] = e, u[5] = t, u[6] = s) : s = u[6], s;
|
|
39
|
+
}
|
|
40
|
+
return f;
|
|
47
41
|
}
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
42
|
+
function c(e) {
|
|
43
|
+
return {
|
|
44
|
+
isLoading: e?.isLoading,
|
|
45
|
+
isFetching: e?.isFetching,
|
|
46
|
+
sourceData: e?.sourceData
|
|
47
|
+
};
|
|
54
48
|
}
|
|
55
|
-
function
|
|
56
|
-
|
|
49
|
+
function l(e) {
|
|
50
|
+
return e == null ? !0 : Array.isArray(e) ? !!(e.length === 0 || e.every((e) => Array.isArray(e) && e.length === 0)) : typeof e == "object" && Object.keys(e).length === 0;
|
|
57
51
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
//# sourceMappingURL=no-data.js.map
|
|
52
|
+
//#endregion
|
|
53
|
+
export { s as WidgetNoData };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=no-data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-data.js","sources":["../../src/widgets/no-data/style.ts","../../src/widgets/no-data/no-data.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\n/**\n * Styles for NoData component matching Figma design specifications\n * Design reference: node 5781-11028\n */\nexport const styles: Record<string, SxProps<Theme>> = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1, // 8px\n paddingTop: 1, // 8px\n paddingBottom: 2, // 16px\n paddingX: 2, // 16px\n width: '100%',\n minHeight: '100%',\n },\n}\n","import { Box, Typography } from '@mui/material'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport type { WidgetNoDataProps } from './types'\nimport { styles } from './style'\n\n/**\n * NoData wrapper component that displays empty state UI when widget has no data\n *\n * Integrates with widget store to check loading/fetching state and source data availability.\n * Uses `sourceData` (pre-pipeline data) instead of `data` (post-pipeline) to distinguish\n * \"API returned nothing\" from \"pipeline tools filtered everything out\".\n *\n * @example Basic usage\n * ```tsx\n * <NoData id=\"my-widget\">\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * ```\n *\n * @example With SkeletonLoader\n * ```tsx\n * <SkeletonLoader id=\"my-widget\" Skeleton={MySkeleton}>\n * <NoData id=\"my-widget\">\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * </SkeletonLoader>\n * ```\n *\n * @example With custom messages\n * ```tsx\n * <NoData\n * id=\"my-widget\"\n * title=\"No results found\"\n * description=\"Try adjusting your filters\"\n * >\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * ```\n */\nexport function WidgetNoData({\n id,\n children,\n title = 'No data available',\n description = 'There are no results for the combination of filters applied to your data. Try tweaking your filters, or zoom and pan the map to adjust filters',\n isEmpty = defaultIsEmpty,\n}: WidgetNoDataProps) {\n // Single consolidated subscription instead of 3 separate ones.\n // Reads sourceData (pre-pipeline) to check emptiness, not data (post-pipeline).\n const { isLoading, isFetching, sourceData } = useWidgetSelector(id, (w) => ({\n isLoading: w?.isLoading,\n isFetching: w?.isFetching,\n sourceData: w?.sourceData,\n }))\n\n // If loading or fetching, show children\n // SkeletonLoader handles loading state, this allows proper composition\n if (isLoading || isFetching) {\n return children\n }\n\n // Check if data is empty\n if (isEmpty(sourceData)) {\n return (\n <Box sx={styles.root}>\n <Typography variant='body2' color='text.primary'>\n {title}\n </Typography>\n <Typography variant='caption' color='text.secondary'>\n {description}\n </Typography>\n </Box>\n )\n }\n\n // Data exists, render children\n return children\n}\n\n/**\n * Default function to determine if data is empty\n * Handles various data structures commonly used in widgets\n */\nfunction defaultIsEmpty(data: unknown): boolean {\n // Null or undefined\n if (data == null) {\n return true\n }\n\n // Arrays (most common case)\n if (Array.isArray(data)) {\n // Empty array\n if (data.length === 0) {\n return true\n }\n\n // Array of arrays (CategoryWidget pattern: [[],[]])\n // Check if all inner arrays are empty\n if (data.every((item) => Array.isArray(item) && item.length === 0)) {\n return true\n }\n\n return false\n }\n\n // Objects\n if (typeof data === 'object') {\n return Object.keys(data).length === 0\n }\n\n // Primitives (numbers, strings, booleans) are considered valid data\n return false\n}\n"],"
|
|
1
|
+
{"version":3,"file":"no-data.js","names":["SxProps","Theme","styles","Record","root","display","flexDirection","gap","paddingTop","paddingBottom","paddingX","width","minHeight","Box","Typography","useWidgetSelector","WidgetNoDataProps","styles","WidgetNoData","t0","$","_c","id","children","title","t1","description","t2","isEmpty","t3","undefined","defaultIsEmpty","isLoading","isFetching","sourceData","_temp","t4","t5","t6","root","w","data","Array","isArray","length","every","item","Object","keys"],"sources":["../../src/widgets/no-data/style.ts","../../src/widgets/no-data/no-data.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\n/**\n * Styles for NoData component matching Figma design specifications\n * Design reference: node 5781-11028\n */\nexport const styles: Record<string, SxProps<Theme>> = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1, // 8px\n paddingTop: 1, // 8px\n paddingBottom: 2, // 16px\n paddingX: 2, // 16px\n width: '100%',\n minHeight: '100%',\n },\n}\n","import { Box, Typography } from '@mui/material'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport type { WidgetNoDataProps } from './types'\nimport { styles } from './style'\n\n/**\n * NoData wrapper component that displays empty state UI when widget has no data\n *\n * Integrates with widget store to check loading/fetching state and source data availability.\n * Uses `sourceData` (pre-pipeline data) instead of `data` (post-pipeline) to distinguish\n * \"API returned nothing\" from \"pipeline tools filtered everything out\".\n *\n * @example Basic usage\n * ```tsx\n * <NoData id=\"my-widget\">\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * ```\n *\n * @example With SkeletonLoader\n * ```tsx\n * <SkeletonLoader id=\"my-widget\" Skeleton={MySkeleton}>\n * <NoData id=\"my-widget\">\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * </SkeletonLoader>\n * ```\n *\n * @example With custom messages\n * ```tsx\n * <NoData\n * id=\"my-widget\"\n * title=\"No results found\"\n * description=\"Try adjusting your filters\"\n * >\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * ```\n */\nexport function WidgetNoData({\n id,\n children,\n title = 'No data available',\n description = 'There are no results for the combination of filters applied to your data. Try tweaking your filters, or zoom and pan the map to adjust filters',\n isEmpty = defaultIsEmpty,\n}: WidgetNoDataProps) {\n // Single consolidated subscription instead of 3 separate ones.\n // Reads sourceData (pre-pipeline) to check emptiness, not data (post-pipeline).\n const { isLoading, isFetching, sourceData } = useWidgetSelector(id, (w) => ({\n isLoading: w?.isLoading,\n isFetching: w?.isFetching,\n sourceData: w?.sourceData,\n }))\n\n // If loading or fetching, show children\n // SkeletonLoader handles loading state, this allows proper composition\n if (isLoading || isFetching) {\n return children\n }\n\n // Check if data is empty\n if (isEmpty(sourceData)) {\n return (\n <Box sx={styles.root}>\n <Typography variant='body2' color='text.primary'>\n {title}\n </Typography>\n <Typography variant='caption' color='text.secondary'>\n {description}\n </Typography>\n </Box>\n )\n }\n\n // Data exists, render children\n return children\n}\n\n/**\n * Default function to determine if data is empty\n * Handles various data structures commonly used in widgets\n */\nfunction defaultIsEmpty(data: unknown): boolean {\n // Null or undefined\n if (data == null) {\n return true\n }\n\n // Arrays (most common case)\n if (Array.isArray(data)) {\n // Empty array\n if (data.length === 0) {\n return true\n }\n\n // Array of arrays (CategoryWidget pattern: [[],[]])\n // Check if all inner arrays are empty\n if (data.every((item) => Array.isArray(item) && item.length === 0)) {\n return true\n }\n\n return false\n }\n\n // Objects\n if (typeof data === 'object') {\n return Object.keys(data).length === 0\n }\n\n // Primitives (numbers, strings, booleans) are considered valid data\n return false\n}\n"],"mappings":";;;;;AAMA,IAAaE,IAAyC,EACpDE,MAAM;CACJC,SAAS;CACTC,eAAe;CACfC,KAAK;CACLC,YAAY;CACZC,eAAe;CACfC,UAAU;CACVC,OAAO;CACPC,WAAW;AACb,EACF;;;ACsBA,SAAOM,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAsB,EAAAC,OAAAC,aAAAC,OAAAC,GAAAC,aAAAC,GAAAC,SAAAC,MAAAV,GAG3BK,IAAAC,MAAAK,KAAAA,IAAA,sBAAAL,GACAC,IAAAC,MAAAG,KAAAA,IAAA,mJAAAH,GACAC,IAAAC,MAAAC,KAAAA,IAAAC,IAAAF,GAIA,EAAAG,cAAAC,eAAAC,kBAA8CnB,EAAkBO,GAAIa,CAIlE;CAIF,IAAIH,KAAAC,GAAuB,OAClBV;CAIT,IAAIK,EAAQM,CAAU,GAAC;EAAA,IAAAE;EAAA,AAAAhB,EAAA,OAAAI,IAKJY,IAAAhB,EAAA,MAFbgB,IAAA,kBAAC,GAAD;GAAoB,SAAA;GAAc,OAAA;GAC/BZ,UAAAA;EADQ,CAAA,GAEEJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAgB;EAAA,IAAAC;EAAA,AAAAjB,EAAA,OAAAM,IAGAW,IAAAjB,EAAA,MAFbiB,IAAA,kBAAC,GAAD;GAAoB,SAAA;GAAgB,OAAA;GACjCX,UAAAA;EADQ,CAAA,GAEEN,EAAA,KAAAM,GAAAN,EAAA,KAAAiB;EAAA,IAAAC;EACT,OADSlB,EAAA,OAAAgB,KAAAhB,EAAA,OAAAiB,KANfC,IAAA,kBAAC,GAAD;GAAS,IAAArB,EAAMsB;GAAf,UAAA,CACEH,GAGAC,CAJE;MAOEjB,EAAA,KAAAgB,GAAAhB,EAAA,KAAAiB,GAAAjB,EAAA,KAAAkB,KAAAA,IAAAlB,EAAA,IAPNkB;CAOM;CAET,OAGMf;AAAQ;AApCV,SAAAY,EAAAK,GAAA;CAAA,OASuE;EAAAR,WAC/DQ,GAACR;EAAWC,YACXO,GAACP;EAAYC,YACbM,GAACN;CACf;AAAC;AA8BH,SAASH,EAAeU,GAAwB;CA4B9C,OA1BIA,KAAQ,OACH,KAILC,MAAMC,QAAQF,CAAI,IAQpB,GANIA,EAAKG,WAAW,KAMhBH,EAAKI,OAAOC,MAASJ,MAAMC,QAAQG,CAAI,KAAKA,EAAKF,WAAW,CAAC,KAQ/D,OAAOH,KAAS,YACXM,OAAOC,KAAKP,CAAI,CAAC,CAACG,WAAW;AAKxC"}
|