@sisense/sdk-ui 2.28.0 → 2.30.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/ai.cjs +57 -57
- package/dist/ai.js +767 -797
- package/dist/analytics-composer/node.cjs +1 -1
- package/dist/analytics-composer/node.js +1310 -1230
- package/dist/analytics-composer.cjs +7 -7
- package/dist/analytics-composer.js +19 -18
- package/dist/apply-styled-options-to-query-BK1NnV4P.js +6453 -0
- package/dist/apply-styled-options-to-query-Dl8vVNxo.cjs +1 -0
- package/dist/{index-C77YCBVd.js → index-DCYw3JUB.js} +29 -7
- package/dist/index-DTvxJdqZ.cjs +1 -0
- package/dist/index.cjs +611 -518
- package/dist/index.js +26556 -24829
- package/dist/index.umd.js +952 -829
- package/dist/packages/sdk-ui/src/domains/dashboarding/common-filters/utils.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-container.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header-config.d.ts +127 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header-targets.d.ts +30 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header-title.d.ts +20 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header.d.ts +10 -1
- package/dist/packages/sdk-ui/src/domains/dashboarding/constants.d.ts +2 -2
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-helpers.d.ts +21 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/get-dashboard-model.d.ts +7 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/translate-dashboard-utils.d.ts +45 -3
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/persist-dashboard-model-middleware.d.ts +10 -1
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/types.d.ts +36 -1
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/utils.d.ts +2 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-module/dashboard-module.d.ts +34 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-module/types.d.ts +58 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/duplicate-widget/use-duplicate-widget-menu-item.d.ts +7 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-dashboard-header-menu-item.d.ts +9 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-widget-updates-persistence.d.ts +27 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/deep-merge.d.ts +17 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/types.d.ts +26 -1
- package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/update-types.d.ts +51 -0
- package/dist/packages/sdk-ui/src/domains/dashboarding/types.d.ts +18 -7
- package/dist/packages/sdk-ui/src/domains/dashboarding/utils.d.ts +9 -0
- package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/add-measure-data-browser.d.ts +11 -0
- package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/add-measure-popover.d.ts +14 -0
- package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/measure-ranking-title.d.ts +21 -0
- package/dist/packages/sdk-ui/src/domains/data-browser/add-measure-popover/measures.d.ts +13 -0
- package/dist/packages/sdk-ui/src/domains/filters/components/criteria-filter-tile/criteria-filter-menu.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/filters/components/criteria-filter-tile/criteria-filter-operations.d.ts +1 -0
- package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/filter-editor-context.d.ts +1 -0
- package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/filter-editor-popover.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/filter-editor.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/numeric-condition-section/types.d.ts +5 -0
- package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/ranking-condition/index.d.ts +3 -0
- package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/ranking-condition/ranking-condition-controls.d.ts +33 -0
- package/dist/packages/sdk-ui/src/domains/filters/components/filter-editor-popover/sections/ranking-condition/ranking-condition-utils.d.ts +13 -0
- package/dist/packages/sdk-ui/src/domains/filters/components/filters-panel/hooks/use-existing-filter-editing.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/narrative/components/narrative-collapsible.d.ts +22 -4
- package/dist/packages/sdk-ui/src/domains/narrative/components/narrative-top-slot-shell.d.ts +2 -0
- package/dist/packages/sdk-ui/src/domains/narrative/components/narrative-trigger-button.d.ts +17 -0
- package/dist/packages/sdk-ui/src/domains/narrative/components/widget-narrative-interactive.d.ts +20 -2
- package/dist/packages/sdk-ui/src/domains/narrative/components/widget-narrative.d.ts +11 -9
- package/dist/packages/sdk-ui/src/domains/narrative/core/build-narrative-request.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/narrative/core/get-narrative-dimensions-and-measures.d.ts +2 -2
- package/dist/packages/sdk-ui/src/domains/narrative/core/get-widget-narrative-from-widget-props.d.ts +18 -0
- package/dist/packages/sdk-ui/src/domains/narrative/core/to-nlg-api-verbosity.d.ts +7 -0
- package/dist/packages/sdk-ui/src/domains/narrative/core/widget-narrative-options.d.ts +101 -23
- package/dist/packages/sdk-ui/src/domains/narrative/core/widget-props-to-narrative-params.d.ts +35 -32
- package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-get-widget-narrative.d.ts +11 -22
- package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-line-height.d.ts +10 -0
- package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-widget-narrative-state.d.ts +8 -9
- package/dist/packages/sdk-ui/src/domains/query-execution/core/execute-query.d.ts +34 -1
- package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/excel-export/build-jaql-excel-export.d.ts +13 -5
- package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-excel-query/excel-export/build-xlsx-export-payload.d.ts +5 -0
- package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-query-by-widget-id/use-execute-query-by-widget-id.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/query-execution/types.d.ts +55 -3
- package/dist/packages/sdk-ui/src/domains/shared/header/header-item-size.d.ts +30 -0
- package/dist/packages/sdk-ui/src/domains/shared/header/header-items-renderer.d.ts +19 -0
- package/dist/packages/sdk-ui/src/domains/shared/header/header-spacer-item.d.ts +9 -0
- package/dist/packages/sdk-ui/src/domains/shared/header/index.d.ts +6 -0
- package/dist/packages/sdk-ui/src/domains/shared/header/resolve-header-items.d.ts +17 -0
- package/dist/packages/sdk-ui/src/domains/shared/header/types.d.ts +98 -0
- package/dist/packages/sdk-ui/src/domains/shared/header/use-resolved-header-items.d.ts +10 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/areamap-chart/data/areamap-data.d.ts +3 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/calendar-heatmap-chart/data.d.ts +0 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/cartesians/helpers/data.d.ts +3 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/cartesians/stackable/streamgraph-chart/helpers/chart-data.d.ts +3 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/categoricals/helpers/data.d.ts +3 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/categoricals/sunburst-chart/data/index.d.ts +3 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/categoricals/treemap-chart/data/index.d.ts +3 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/build-highchart-options.d.ts +1 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/alerts/index.d.ts +5 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/data/index.d.ts +22 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/data-options/index.d.ts +33 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/design-options/index.d.ts +21 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/highchart-options/highcharts-options-builder.d.ts +3 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/sankey-chart-builder.d.ts +3 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/sankey-node-colors.d.ts +10 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/sankey-chart/types.d.ts +38 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/types.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/types.d.ts +12 -9
- package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/data-cell-formatters/data-cell-value-formatter.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/header-cell-formatters/header-cell-value-formatter.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/hooks/use-pivot-data-loading.d.ts +1 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/resolve-pivot-container-size.d.ts +28 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/sankey-chart.d.ts +30 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/components/table/pure-table/helpers/format-numbers.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/cartesian-data.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/categorical-data.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/chart-data-service.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/filter-and-aggregate-chart-data.d.ts +2 -2
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/scatter-data.d.ts +2 -2
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data/types.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/apply-styled-options-to-query.d.ts +4 -4
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/types.d.ts +74 -30
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/utils.d.ts +4 -4
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/chart-options-service.d.ts +3 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/tooltip.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/design-options.d.ts +10 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/funnel-plot-options.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/number-format-config.d.ts +12 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/pie-plot-options.d.ts +2 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-levels.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-options.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/treemap/treemap-tooltip.d.ts +2 -2
- package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/types.d.ts +12 -3
- package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/filter-to-readable-label.d.ts +14 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/index.d.ts +1 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-definition.d.ts +5 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-pill.d.ts +5 -0
- package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/truncate-pill-label.d.ts +10 -0
- package/dist/packages/sdk-ui/src/domains/widgets/change-events.d.ts +6 -0
- package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/types.d.ts +8 -1
- package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/use-chart-widget-excel-download.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/use-chart-widget-narrative.d.ts +28 -0
- package/dist/packages/sdk-ui/src/domains/widgets/components/custom-widget/types.d.ts +11 -0
- package/dist/packages/sdk-ui/src/domains/widgets/components/custom-widget/use-custom-widget-excel-download.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/pivot-table-widget.d.ts +15 -0
- package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/types.d.ts +7 -1
- package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/use-pivot-widget-excel-download.d.ts +1 -1
- package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/index.d.ts +1 -0
- package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/tabber.d.ts +17 -1
- package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/to-widget-dto-style.d.ts +41 -2
- package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/widget-narrative-style.d.ts +31 -0
- package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/types.d.ts +36 -1
- package/dist/packages/sdk-ui/src/domains/widgets/helpers/excel-export-map-dimensions-measures.d.ts +17 -2
- package/dist/packages/sdk-ui/src/domains/widgets/helpers/number-format-config-to-numeric-mask.d.ts +5 -0
- package/dist/packages/sdk-ui/src/domains/widgets/hooks/use-track-widget-init.d.ts +44 -0
- package/dist/packages/sdk-ui/src/domains/widgets/hooks/widget-entity-id.d.ts +30 -0
- package/dist/packages/sdk-ui/src/domains/widgets/hooks/widget-tracking-adapters.d.ts +41 -0
- package/dist/packages/sdk-ui/src/domains/widgets/shared/widget-container/widget-container.d.ts +7 -1
- package/dist/packages/sdk-ui/src/domains/widgets/shared/widget-style-utils.d.ts +29 -0
- package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model-translator/to-widget-dto-panels.d.ts +29 -1
- package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model.d.ts +6 -1
- package/dist/packages/sdk-ui/src/infra/api/narrative/narrative-endpoints.d.ts +2 -2
- package/dist/packages/sdk-ui/src/infra/api/rest-api.d.ts +2 -1
- package/dist/packages/sdk-ui/src/infra/app/settings/settings.d.ts +1 -7
- package/dist/packages/sdk-ui/src/infra/app/settings/types/features.d.ts +1 -9
- package/dist/packages/sdk-ui/src/infra/app/types.d.ts +32 -0
- package/dist/packages/sdk-ui/src/infra/contexts/sisense-context/sisense-context-provider.d.ts +1 -1
- package/dist/packages/sdk-ui/src/infra/formatting/format-data-set.d.ts +21 -0
- package/dist/packages/sdk-ui/src/infra/formatting/format-date.d.ts +67 -0
- package/dist/packages/sdk-ui/src/infra/formatting/format-number.d.ts +24 -0
- package/dist/packages/sdk-ui/src/infra/formatting/index.d.ts +5 -0
- package/dist/packages/sdk-ui/src/infra/modules/build-module-graph.d.ts +31 -0
- package/dist/packages/sdk-ui/src/infra/modules/build-module-registry.d.ts +31 -0
- package/dist/packages/sdk-ui/src/infra/modules/core-module-providers-tree.d.ts +11 -0
- package/dist/packages/sdk-ui/src/infra/modules/core-module.d.ts +26 -0
- package/dist/packages/sdk-ui/src/infra/modules/index.d.ts +3 -0
- package/dist/packages/sdk-ui/src/infra/modules/module-provider.d.ts +17 -0
- package/dist/packages/sdk-ui/src/infra/modules/modules-context.d.ts +20 -0
- package/dist/packages/sdk-ui/src/infra/modules/types.d.ts +79 -0
- package/dist/packages/sdk-ui/src/infra/plugins/types.d.ts +34 -6
- package/dist/packages/sdk-ui/src/infra/plugins/widget-plugins/types.d.ts +219 -49
- package/dist/packages/sdk-ui/src/infra/plugins/widget-plugins/widget-plugin-registry.d.ts +3 -3
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/de-de.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/en-us.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-ar.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/es-es.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/fr-fr.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/it-it.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ja-jp.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ko-kr.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/nl-nl.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/pt-br.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/ru-ru.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/tr-tr.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/__external__/zh-cn.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/en.d.ts +22 -0
- package/dist/packages/sdk-ui/src/infra/translation/resources/index.d.ts +44 -0
- package/dist/packages/sdk-ui/src/modules/ai/common/collapsible.d.ts +38 -2
- package/dist/packages/sdk-ui/src/modules/ai/get-nlg-insights-from-widget.d.ts +4 -13
- package/dist/packages/sdk-ui/src/modules/ai/index.d.ts +1 -1
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/dimensions/get-dimension-name.d.ts +9 -0
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/dimensions/translate-dimensions-to-json.d.ts +4 -3
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/filters/get-filter-name.d.ts +10 -0
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/filters/translate-filters-to-json.d.ts +3 -3
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/get-query-element-summary.d.ts +23 -0
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/measures/get-measure-name.d.ts +10 -0
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/constructs/measures/translate-measures-to-json.d.ts +4 -3
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/index.d.ts +3 -1
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/translate-query-from-json.d.ts +1 -1
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/translate-query-to-json.d.ts +4 -3
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/adapters.d.ts +3 -2
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/data-options/index.d.ts +1 -1
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/process-measured-value.d.ts +14 -0
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/types.d.ts +70 -9
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/to-widget-props.d.ts +3 -3
- package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/widget/helpers/translate-envelope-widget-from-json.d.ts +2 -3
- package/dist/packages/sdk-ui/src/modules/analytics-composer/types.d.ts +1 -18
- package/dist/packages/sdk-ui/src/props.d.ts +55 -2
- package/dist/packages/sdk-ui/src/public-api/alpha.d.ts +6 -1
- package/dist/packages/sdk-ui/src/public-api/beta.d.ts +6 -0
- package/dist/packages/sdk-ui/src/public-api/internal.d.ts +1 -1
- package/dist/packages/sdk-ui/src/public-api/public.d.ts +3 -1
- package/dist/packages/sdk-ui/src/public-api/sisense-internal.d.ts +5 -3
- package/dist/packages/sdk-ui/src/shared/components/loading-overlay.d.ts +1 -0
- package/dist/packages/sdk-ui/src/shared/hooks/use-element-height.d.ts +19 -0
- package/dist/packages/sdk-ui/src/shared/hooks/use-synced-state.d.ts +23 -2
- package/dist/packages/sdk-ui/src/shared/utils/filter-relations.d.ts +8 -0
- package/dist/packages/sdk-ui/src/shared/utils/gradient.d.ts +5 -0
- package/dist/packages/sdk-ui/src/types.d.ts +78 -6
- package/dist/{use-hover-B6VmMb06.js → quota-notification-DqabeDbO.js} +24790 -22993
- package/dist/quota-notification-gYE6PTWA.cjs +750 -0
- package/dist/translations/de-de.cjs +1 -1
- package/dist/translations/de-de.js +27 -5
- package/dist/translations/en-us.cjs +1 -1
- package/dist/translations/en-us.js +1 -1
- package/dist/translations/es-ar.cjs +1 -1
- package/dist/translations/es-ar.js +27 -5
- package/dist/translations/es-es.cjs +1 -1
- package/dist/translations/es-es.js +27 -5
- package/dist/translations/fr-fr.cjs +1 -1
- package/dist/translations/fr-fr.js +27 -5
- package/dist/translations/it-it.cjs +1 -1
- package/dist/translations/it-it.js +29 -7
- package/dist/translations/ja-jp.cjs +1 -1
- package/dist/translations/ja-jp.js +27 -5
- package/dist/translations/ko-kr.cjs +1 -1
- package/dist/translations/ko-kr.js +27 -5
- package/dist/translations/nl-nl.cjs +1 -1
- package/dist/translations/nl-nl.js +29 -7
- package/dist/translations/pt-br.cjs +1 -1
- package/dist/translations/pt-br.js +27 -5
- package/dist/translations/ru-ru.cjs +1 -1
- package/dist/translations/ru-ru.js +27 -5
- package/dist/translations/tr-tr.cjs +1 -1
- package/dist/translations/tr-tr.js +27 -5
- package/dist/translations/zh-cn.cjs +1 -1
- package/dist/translations/zh-cn.js +27 -5
- package/dist/{types-CzgBH2kL.cjs → types-DSNnndG6.cjs} +1 -1
- package/dist/types-DecTaxy7.js +74 -0
- package/dist/{utils-BwGnDoB0.cjs → utils-Cpeyj9TN.cjs} +52 -52
- package/dist/{utils-CsV-iYtb.js → utils-L-HO2pCd.js} +2521 -2469
- package/dist/{widget-composer-C72Io-3c.cjs → widget-composer-CyWQaInf.cjs} +1 -1
- package/dist/{widget-composer-Bv_OVu1o.js → widget-composer-u6NMLm1C.js} +3 -3
- package/package.json +9 -8
- package/dist/apply-styled-options-to-query-23D9br-S.cjs +0 -1
- package/dist/apply-styled-options-to-query-BagjzMqm.js +0 -5992
- package/dist/dimensions-Bn1EaWiP.js +0 -204
- package/dist/dimensions-D8r34WRI.cjs +0 -1
- package/dist/index-C9G8giSk.cjs +0 -1
- package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-dashboard-header-toolbar.d.ts +0 -25
- package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-widget-scroll-persistence.d.ts +0 -16
- package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/with-navigator-scroll-save.d.ts +0 -10
- package/dist/types-D3fPN43o.js +0 -74
- package/dist/use-hover-CaSOzp0i.cjs +0 -720
|
@@ -3,6 +3,7 @@ import { PivotQueryClient } from '@sisense/sdk-pivot-query-client';
|
|
|
3
3
|
import { QueryClient } from '@sisense/sdk-query-client';
|
|
4
4
|
import { HttpClient } from '@sisense/sdk-rest-client';
|
|
5
5
|
import { TrackingEventDetails } from '@sisense/sdk-tracking';
|
|
6
|
+
import type { Locale } from 'date-fns';
|
|
6
7
|
import { DateConfig, LoadingIndicatorConfig, TranslationConfig } from '../../types';
|
|
7
8
|
import { AppSettings } from './settings/settings';
|
|
8
9
|
/**
|
|
@@ -159,6 +160,24 @@ export type AppConfig = {
|
|
|
159
160
|
*/
|
|
160
161
|
enabled?: boolean;
|
|
161
162
|
};
|
|
163
|
+
/**
|
|
164
|
+
* Configuration of the Narrative feature for widgets
|
|
165
|
+
* Temporary feature flag to explicitly enable narrative on widgets
|
|
166
|
+
* (avoid narratives appearing in fusion dashboards/widgets before this feature is released)
|
|
167
|
+
* @sisenseInternal
|
|
168
|
+
*/
|
|
169
|
+
narrativeConfig?: {
|
|
170
|
+
/**
|
|
171
|
+
* Whether to enable or disable the Widget Narrative feature
|
|
172
|
+
*
|
|
173
|
+
* When `true`, the Widget Narrative feature is enabled if the Fusion server supports it.
|
|
174
|
+
*
|
|
175
|
+
* When `false`, the Widget Narrative feature is disabled.
|
|
176
|
+
*
|
|
177
|
+
* @default false
|
|
178
|
+
*/
|
|
179
|
+
widgetNarrativeEnabled?: boolean;
|
|
180
|
+
};
|
|
162
181
|
/**
|
|
163
182
|
* Global configuration for some specific aspects of data visualizations.
|
|
164
183
|
*/
|
|
@@ -190,6 +209,19 @@ export type AppConfig = {
|
|
|
190
209
|
*/
|
|
191
210
|
alwaysShowResultsPerPage?: boolean;
|
|
192
211
|
};
|
|
212
|
+
/**
|
|
213
|
+
* Configuration of the default number formatting for visualizations.
|
|
214
|
+
*
|
|
215
|
+
* @sisenseInternal
|
|
216
|
+
*/
|
|
217
|
+
defaultNumberFormatting?: {
|
|
218
|
+
/**
|
|
219
|
+
* If `false`, raw values are displayed without applying the default number formatting configuration.
|
|
220
|
+
*
|
|
221
|
+
* @default true
|
|
222
|
+
*/
|
|
223
|
+
enabled?: boolean;
|
|
224
|
+
};
|
|
193
225
|
};
|
|
194
226
|
};
|
|
195
227
|
/**
|
package/dist/packages/sdk-ui/src/infra/contexts/sisense-context/sisense-context-provider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FunctionComponent, PropsWithChildren } from 'react';
|
|
1
|
+
import { type FunctionComponent, type PropsWithChildren } from 'react';
|
|
2
2
|
import { SisenseContextProviderProps } from '../../../props';
|
|
3
3
|
/**
|
|
4
4
|
* Sisense Context Provider Component allowing you to connect to
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Data, QueryResultData } from '@sisense/sdk-data';
|
|
2
|
+
import { CommonDataOptions } from '../../domains/visualizations/core/chart-data-options/types';
|
|
3
|
+
import { FormatDateOptions } from './format-date';
|
|
4
|
+
/**
|
|
5
|
+
* Options for {@link formatDataSet}.
|
|
6
|
+
*/
|
|
7
|
+
export type FormatDataSetOptions = FormatDateOptions;
|
|
8
|
+
/**
|
|
9
|
+
* Formats a data set by applying the number and date formatting declared in `dataOptions` to a data set.
|
|
10
|
+
* Writes the formatted result into each affected cell's `text` property.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const formattedData = formatDataSet(data, dataOptions);
|
|
14
|
+
*
|
|
15
|
+
* @param data - Query result or user-provided data set.
|
|
16
|
+
* @param dataOptions - Any chart, pivot, or custom-widget data options.
|
|
17
|
+
* @param options - Formatting options.
|
|
18
|
+
* @returns A new data set with formatted `text` values on affected cells.
|
|
19
|
+
* @group Formatting
|
|
20
|
+
*/
|
|
21
|
+
export declare function formatDataSet<DataSet extends QueryResultData | Data>(data: DataSet, dataOptions: CommonDataOptions, options?: FormatDataSetOptions): DataSet;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Locale } from 'date-fns';
|
|
2
|
+
import type { DateConfig } from '../../domains/query-execution/core/date-formats';
|
|
3
|
+
/**
|
|
4
|
+
* Options for {@link formatDate}.
|
|
5
|
+
*/
|
|
6
|
+
export type FormatDateOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* A [date-fns Locale](https://date-fns.org/v2.30.0/docs/Locale) for language-specific formatting.
|
|
9
|
+
* Defaults to 'en-US'.
|
|
10
|
+
*/
|
|
11
|
+
locale?: Locale;
|
|
12
|
+
/**
|
|
13
|
+
* Fiscal year, timezone, and date-level configuration.
|
|
14
|
+
*/
|
|
15
|
+
dateConfig?: DateConfig;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Formats a single date value (Date instance or ISO 8601 string) using the
|
|
19
|
+
* provided format mask.
|
|
20
|
+
*
|
|
21
|
+
* Accepts standard [date-fns format tokens](https://date-fns.org/v2.30.0/docs/format)
|
|
22
|
+
* plus the SDK's extended Angular-style masks (locale-aware; examples use en-US):
|
|
23
|
+
*
|
|
24
|
+
* ```
|
|
25
|
+
* shortDate → '3/15/26' (M/d/yy)
|
|
26
|
+
* mediumDate → 'Mar 15, 2026' (MMM d, y)
|
|
27
|
+
* longDate → 'March 15, 2026' (MMMM d, y)
|
|
28
|
+
* fullDate → 'Sunday, March 15, 2026' (EEEE, MMMM d, y)
|
|
29
|
+
* shortTime → '1:45 PM' (h:mm a)
|
|
30
|
+
* mediumTime → '1:45:00 PM' (h:mm:ss a)
|
|
31
|
+
* short → '3/15/26 1:45 PM' (M/d/yy h:mm a)
|
|
32
|
+
* medium → 'Mar 15, 2026 1:45:00 PM' (MMM d, y h:mm:ss a)
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* Returns the input unchanged if it matches the reserved "not available" value (`'N\A'`).
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* formatDate(new Date('2026-03-15'), 'MM/yyyy');
|
|
39
|
+
* // returns '03/2026'
|
|
40
|
+
*
|
|
41
|
+
* formatDate('2026-03-15T13:45:00Z', 'shortDate');
|
|
42
|
+
* // returns '3/15/26' (en-US locale)
|
|
43
|
+
*
|
|
44
|
+
* formatDate('2026-03-15T13:45:00Z', 'mediumDate');
|
|
45
|
+
* // returns 'Mar 15, 2026'
|
|
46
|
+
*
|
|
47
|
+
* @param value - Date value to format.
|
|
48
|
+
* @param format - Format mask string (date-fns tokens or SDK extended masks).
|
|
49
|
+
* @param options - Optional locale and date configuration.
|
|
50
|
+
* @returns Formatted date string.
|
|
51
|
+
* @group Formatting
|
|
52
|
+
*/
|
|
53
|
+
export declare function formatDate(value: Date | string, format: string, options?: FormatDateOptions): string;
|
|
54
|
+
/**
|
|
55
|
+
* Returns a default date-format mask for a given granularity level from {@link @sisense/sdk-data!DateLevels | `DateLevels`}
|
|
56
|
+
*
|
|
57
|
+
* Falls back to default `'fullDate'` for unknown or absent granularities.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* getDefaultDateFormat('months'); // 'MM/yyyy'
|
|
61
|
+
* getDefaultDateFormat('years'); // 'yyyy'
|
|
62
|
+
* getDefaultDateFormat('days'); // 'shortDate'
|
|
63
|
+
* @param granularity - Optional granularity string.
|
|
64
|
+
* @returns A date-format mask string.
|
|
65
|
+
* @group Formatting
|
|
66
|
+
*/
|
|
67
|
+
export declare function getDefaultDateFormat(granularity?: string): string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { NumberFormatConfig } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Formats a single numeric value using the provided {@link NumberFormatConfig}.
|
|
4
|
+
*
|
|
5
|
+
* Missing config falls back to defaults:
|
|
6
|
+
* Numbers type, auto decimal scale, thousand separator enabled, all abbreviations (K/M/B/T) enabled.
|
|
7
|
+
*
|
|
8
|
+
* Returns an empty string when `value` is `NaN`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* formatNumber(1234567);
|
|
12
|
+
* // returns '1.23M'
|
|
13
|
+
*
|
|
14
|
+
* formatNumber(0.42, { name: 'Percent', decimalScale: 1 });
|
|
15
|
+
* // returns '42.0%'
|
|
16
|
+
*
|
|
17
|
+
* formatNumber(1500, { name: 'Currency', symbol: '€', prefix: true });
|
|
18
|
+
* // returns '€1.5K'
|
|
19
|
+
* @param value - The numeric value to format.
|
|
20
|
+
* @param config - Formatting configuration.
|
|
21
|
+
* @returns Formatted string representation of the value.
|
|
22
|
+
* @group Formatting
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatNumber(value: number, config?: NumberFormatConfig): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { formatNumber } from './format-number';
|
|
2
|
+
export { formatDate, getDefaultDateFormat } from './format-date';
|
|
3
|
+
export { formatDataSet } from './format-data-set';
|
|
4
|
+
export type { FormatDateOptions } from './format-date';
|
|
5
|
+
export type { FormatDataSetOptions } from './format-data-set';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Module } from './types.js';
|
|
2
|
+
/** Normalised view of a `ModuleRequirement`. */
|
|
3
|
+
interface NormalizedRequirement {
|
|
4
|
+
name: string;
|
|
5
|
+
optional: boolean;
|
|
6
|
+
requiredVersion?: string;
|
|
7
|
+
}
|
|
8
|
+
/** A module after graph resolution, with its normalised requirements attached. */
|
|
9
|
+
export interface ResolvedModule {
|
|
10
|
+
module: Module;
|
|
11
|
+
requirements: NormalizedRequirement[];
|
|
12
|
+
/**
|
|
13
|
+
* Names of soft requirements that were absent or version-incompatible at boot.
|
|
14
|
+
* Integrations targeting these names are silently dropped.
|
|
15
|
+
*/
|
|
16
|
+
missingOptionalTargets: Set<string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Builds the validated, topologically-ordered module graph from the given roots.
|
|
20
|
+
*
|
|
21
|
+
* - Recursively expands `includes` and dedupes by `name` (versions must match).
|
|
22
|
+
* - Validates every hard `requires` target is present and its version satisfies
|
|
23
|
+
* any declared `requiredVersion`.
|
|
24
|
+
* - Drops contributions to soft requirements (`optional: true`) that are missing
|
|
25
|
+
* or version-incompatible.
|
|
26
|
+
* - Validates each integration targets a declared requirement and a known field
|
|
27
|
+
* on the target's `api`.
|
|
28
|
+
* - Returns modules sorted so each appears after its requirements.
|
|
29
|
+
*/
|
|
30
|
+
export declare const buildModuleGraph: (modules: ReadonlyArray<Module>) => ResolvedModule[];
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Module } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Modules API registry.
|
|
4
|
+
*
|
|
5
|
+
* Each registry is an opaque value produced by the owning module's
|
|
6
|
+
* `ApiField.createRegistry` and written to by every contributor's
|
|
7
|
+
* `ApiField.register`. Keyed by `(moduleName, fieldName)` to keep field names
|
|
8
|
+
* scoped to their owning module.
|
|
9
|
+
*/
|
|
10
|
+
export interface ModulesApiRegistry {
|
|
11
|
+
/** Returns the registry for a module's API field, or `undefined` if absent. */
|
|
12
|
+
get(moduleName: string, fieldName: string): unknown;
|
|
13
|
+
/** Whether the given module's API field has a registry in this store. */
|
|
14
|
+
has(moduleName: string, fieldName: string): boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Result of building a module registry from a set of user-provided modules. */
|
|
17
|
+
export interface ModulesRegistry {
|
|
18
|
+
/** Registered modules array (in topological order) */
|
|
19
|
+
modules: Module[];
|
|
20
|
+
/** Modules api registry. */
|
|
21
|
+
apiRegistry: ModulesApiRegistry;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Builds a per-`ModuleProvider` registry from the given user-provided modules.
|
|
25
|
+
*
|
|
26
|
+
* - Always includes `CoreModule`.
|
|
27
|
+
* - Builds and validates the module graph (`buildModuleGraph`).
|
|
28
|
+
* - Creates a fresh registry per API field via `ApiField.createRegistry`.
|
|
29
|
+
* - Applies every contribution in topological order via `ApiField.register`.
|
|
30
|
+
*/
|
|
31
|
+
export declare const buildModuleRegistry: (modules?: ReadonlyArray<Module>) => ModulesRegistry;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type FunctionComponent, type PropsWithChildren } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Registers providers passed via the `core.providers` API.
|
|
4
|
+
*
|
|
5
|
+
* The registry is read from the enclosing `ModuleProvider`, so each
|
|
6
|
+
* `SisenseContextProvider` instance mounts only the providers contributed by
|
|
7
|
+
* the modules it registered. Providers are mounted in registration
|
|
8
|
+
* (topological) order — the first entry is the outermost wrapper.
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export declare const CoreModuleProvidersTree: FunctionComponent<PropsWithChildren>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import type { ApiContract, ApiField, Module } from './types.js';
|
|
3
|
+
type ProviderComponent = ComponentType<{
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}>;
|
|
6
|
+
/**
|
|
7
|
+
* API declaration for the `core` module.
|
|
8
|
+
*/
|
|
9
|
+
export interface CoreModuleApiDefinition {
|
|
10
|
+
/** Root-level React providers mounted by `SisenseContextProvider`. */
|
|
11
|
+
providers: ApiField<ProviderComponent[], ProviderComponent[]>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* API contract for contributing to the `core` module.
|
|
15
|
+
*/
|
|
16
|
+
export type CoreModuleApi = ApiContract<CoreModuleApiDefinition>;
|
|
17
|
+
export declare const CORE_MODULE_NAME = "core";
|
|
18
|
+
/**
|
|
19
|
+
* The `core` module.
|
|
20
|
+
* Always registered automatically by `ModuleProvider`; consumers do not need to list it in the `modules` prop.
|
|
21
|
+
*
|
|
22
|
+
* Owns the `providers` registry — other modules contribute root-level React
|
|
23
|
+
* providers there, which `CoreModuleProvidersTree` mounts inside `SisenseContextProvider`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CoreModule: Module<CoreModuleApiDefinition>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type FunctionComponent, type PropsWithChildren } from 'react';
|
|
2
|
+
import type { Module } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Props for `ModuleProvider`.
|
|
5
|
+
*/
|
|
6
|
+
export interface ModuleProviderProps {
|
|
7
|
+
/**
|
|
8
|
+
* Modules to register.
|
|
9
|
+
*
|
|
10
|
+
* `CoreModule` is registered automatically; consumers do not need to list it.
|
|
11
|
+
*/
|
|
12
|
+
modules?: ReadonlyArray<Module>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Registers the given modules and makes the API registry available to the children.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ModuleProvider: FunctionComponent<PropsWithChildren<ModuleProviderProps>>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { ModulesApiRegistry } from './build-module-registry.js';
|
|
3
|
+
import type { Module, RegistryOf } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Modules API registry context.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ModulesContext: import("react").Context<ModulesApiRegistry | null>;
|
|
8
|
+
/**
|
|
9
|
+
* Gives access to the API registry for a given module and field.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const chartBuilders = useModuleApiRegistry(VisualizationsModule, 'chartBuilders');
|
|
14
|
+
* ```
|
|
15
|
+
* @throws if used outside a `ModuleProvider`.
|
|
16
|
+
* @throws if `module` was not registered in the enclosing provider.
|
|
17
|
+
*
|
|
18
|
+
* @alpha
|
|
19
|
+
*/
|
|
20
|
+
export declare const useModuleApiRegistry: <TSchema, K extends keyof TSchema & string>(module: Module<TSchema>, field: K) => RegistryOf<TSchema, K>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Producer-side declaration of a single API field on a module.
|
|
3
|
+
*/
|
|
4
|
+
export interface ApiField<TValue, TRegistry> {
|
|
5
|
+
/** Creates the per-registration registry holding contributions for this field. */
|
|
6
|
+
createRegistry: () => TRegistry;
|
|
7
|
+
/** Writes a contribution into the registry. Invoked once per contributor. */
|
|
8
|
+
register: (value: TValue, registry: TRegistry, fromModule: Module) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The shape of a producer module's `api` property — a record of `ApiField` declarations.
|
|
12
|
+
* Each module declares its own concrete schema (e.g. `CoreModuleApiDefinition`);
|
|
13
|
+
*/
|
|
14
|
+
export type ApiSchema = Record<string, ApiField<any, any>>;
|
|
15
|
+
/**
|
|
16
|
+
* Module definition
|
|
17
|
+
*
|
|
18
|
+
* @alpha
|
|
19
|
+
*/
|
|
20
|
+
export interface Module<TSchema = any> {
|
|
21
|
+
/** Unique module identifier, e.g. `'dashboard'`. */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Module version */
|
|
24
|
+
version: string;
|
|
25
|
+
/**
|
|
26
|
+
* Modules this module integrates with.
|
|
27
|
+
* - `'name'` → hard requirement.
|
|
28
|
+
* - `{ name }` → hard requirement.
|
|
29
|
+
* - `{ name, optional: true }` → soft; contributions to it are dropped if absent.
|
|
30
|
+
* - `{ ..., requiredVersion: '^2.0.0' }` → optional semver range constraint.
|
|
31
|
+
*/
|
|
32
|
+
requires?: ReadonlyArray<ModuleRequirement>;
|
|
33
|
+
/** Modules this one ships as part of its own feature */
|
|
34
|
+
includes?: ReadonlyArray<Module>;
|
|
35
|
+
/**
|
|
36
|
+
* Declarative contributions to other modules, keyed by target module name.
|
|
37
|
+
*/
|
|
38
|
+
integrations?: Record<string, unknown>;
|
|
39
|
+
/** Producer-side API declaration; defines registries other modules contribute to. */
|
|
40
|
+
api?: TSchema;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Hard or soft requirement on another module, optionally version-constrained.
|
|
44
|
+
*
|
|
45
|
+
* @alpha
|
|
46
|
+
*/
|
|
47
|
+
export type ModuleRequirement = string | {
|
|
48
|
+
name: string;
|
|
49
|
+
/** If true, the requirement may be missing and contributions to it are dropped. */
|
|
50
|
+
optional?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Semver range the registered target's `version` must satisfy
|
|
53
|
+
* (e.g. `'^2.0.0'`). Mismatches throw at boot unless `optional`.
|
|
54
|
+
*/
|
|
55
|
+
requiredVersion?: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Resolves the registry type owned by a producer module's API field — the
|
|
59
|
+
* value `useModuleApiRegistry(module, field)` returns.
|
|
60
|
+
*/
|
|
61
|
+
export type RegistryOf<TSchema, K extends keyof TSchema> = TSchema[K] extends ApiField<any, infer R> ? R : never;
|
|
62
|
+
/**
|
|
63
|
+
* Resolves the contribution value type a consumer must supply for a producer's API field.
|
|
64
|
+
*/
|
|
65
|
+
export type ValueOf<TSchema, K extends keyof TSchema> = TSchema[K] extends ApiField<infer V, any> ? V : never;
|
|
66
|
+
/**
|
|
67
|
+
* Derives the consumer-facing `*ModuleApi` contract from a producer schema.
|
|
68
|
+
* Each field becomes optional and typed as its contribution value.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* export type CoreModuleApi = ApiContract<CoreModuleApiDefinition>;
|
|
73
|
+
* // → { providers?: ComponentType<{ children: ReactNode }>[] }
|
|
74
|
+
* ```
|
|
75
|
+
* @alpha
|
|
76
|
+
*/
|
|
77
|
+
export type ApiContract<TSchema> = {
|
|
78
|
+
[K in keyof TSchema]?: ValueOf<TSchema, K>;
|
|
79
|
+
};
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WidgetPlugin } from './widget-plugins/types.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Defines base information shared by all plugin types.
|
|
4
4
|
*
|
|
5
|
-
* @
|
|
5
|
+
* @group Plugin System
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* const info: BasePluginInfo = {
|
|
9
|
+
* name: 'my-widget-plugin',
|
|
10
|
+
* version: '1.0.0',
|
|
11
|
+
* requiredApiVersion: '^2.9.0',
|
|
12
|
+
* };
|
|
13
|
+
* ```
|
|
14
|
+
* @beta
|
|
6
15
|
*/
|
|
7
16
|
export interface BasePluginInfo {
|
|
8
17
|
/**
|
|
@@ -50,9 +59,28 @@ export interface PluginValidationResult {
|
|
|
50
59
|
reason?: string;
|
|
51
60
|
}
|
|
52
61
|
/**
|
|
53
|
-
*
|
|
62
|
+
* Declares a plugin for registration with the Compose SDK.
|
|
54
63
|
* Currently only widget plugins are supported.
|
|
55
64
|
*
|
|
56
|
-
* @
|
|
65
|
+
* @group Plugin System
|
|
66
|
+
* @example
|
|
67
|
+
* ```tsx
|
|
68
|
+
* import { SisenseContextProvider } from '@sisense/sdk-ui';
|
|
69
|
+
*
|
|
70
|
+
* const myPlugin: Plugin = {
|
|
71
|
+
* name: 'my-widget-plugin',
|
|
72
|
+
* version: '1.0.0',
|
|
73
|
+
* requiredApiVersion: '^2.9.0',
|
|
74
|
+
* pluginType: 'widget',
|
|
75
|
+
* customWidget: {
|
|
76
|
+
* name: 'my-widget',
|
|
77
|
+
* displayName: 'My Widget',
|
|
78
|
+
* visualization: { Component: MyVisualization },
|
|
79
|
+
* },
|
|
80
|
+
* };
|
|
81
|
+
*
|
|
82
|
+
* <SisenseContextProvider plugins={[myPlugin]} {...props} />
|
|
83
|
+
* ```
|
|
84
|
+
* @beta
|
|
57
85
|
*/
|
|
58
|
-
export type Plugin =
|
|
86
|
+
export type Plugin = WidgetPlugin<any>;
|