@gooddata/sdk-ui-dashboard 11.56.0-alpha.7 → 11.56.0-alpha.8
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/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/catalog/computedAttributes.d.ts +43 -0
- package/esm/_staging/catalog/computedAttributes.d.ts.map +1 -0
- package/esm/_staging/catalog/computedAttributes.js +93 -0
- package/esm/_staging/catalog/displayFormMap.d.ts +3 -2
- package/esm/_staging/catalog/displayFormMap.d.ts.map +1 -1
- package/esm/_staging/catalog/displayFormMap.js +9 -3
- package/esm/_staging/metadata/objRefMap.d.ts.map +1 -1
- package/esm/_staging/metadata/objRefMap.js +11 -1
- package/esm/index.d.ts +9 -5
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +7 -3
- package/esm/kdaDialog/composition/hooks/useKdaValidAttributes.js +2 -2
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.d.ts.map +1 -1
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.js +21 -6
- package/esm/kdaDialog/hooks/useAttribute.d.ts.map +1 -1
- package/esm/kdaDialog/hooks/useAttribute.js +16 -8
- package/esm/locales.d.ts +3 -0
- package/esm/locales.d.ts.map +1 -1
- package/esm/locales.js +3 -0
- package/esm/model/commandHandlers/dashboard/common/loadAvailableDisplayFormRefs.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/loadAvailableDisplayFormRefs.js +15 -6
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts +2 -3
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +26 -17
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadCatalog.d.ts +6 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadCatalog.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadCatalog.js +37 -4
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.d.ts +7 -2
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js +15 -3
- package/esm/model/commandHandlers/filterContext/attributeFilter/validation/filterDisplayFormValidation.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/validation/filterDisplayFormValidation.js +10 -3
- package/esm/model/commandHandlers/filterContext/attributeFilter/validation/uniqueFiltersValidation.d.ts.map +1 -1
- package/esm/model/commandHandlers/filterContext/attributeFilter/validation/uniqueFiltersValidation.js +24 -14
- package/esm/model/commandHandlers/scheduledEmail/createScheduledEmailHandler.js +2 -2
- package/esm/model/commandHandlers/scheduledEmail/saveScheduledEmailHandler.js +2 -2
- package/esm/model/commandHandlers/widgets/attributeHierarchyModifiedHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/attributeHierarchyModifiedHandler.js +6 -0
- package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.js +2 -2
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js +2 -2
- package/esm/model/queries/base.d.ts +1 -1
- package/esm/model/queries/base.d.ts.map +1 -1
- package/esm/model/queries/base.js +1 -1
- package/esm/model/queries/computedAttributeExpression.d.ts +27 -0
- package/esm/model/queries/computedAttributeExpression.d.ts.map +1 -0
- package/esm/model/queries/computedAttributeExpression.js +21 -0
- package/esm/model/queries/connectedAttributes.d.ts +19 -1
- package/esm/model/queries/connectedAttributes.d.ts.map +1 -1
- package/esm/model/queries/connectedAttributes.js +3 -1
- package/esm/model/queries/index.d.ts +2 -1
- package/esm/model/queries/index.d.ts.map +1 -1
- package/esm/model/queryServices/index.d.ts +1 -1
- package/esm/model/queryServices/index.d.ts.map +1 -1
- package/esm/model/queryServices/index.js +2 -0
- package/esm/model/queryServices/queryAttributeByDisplayForm.d.ts.map +1 -1
- package/esm/model/queryServices/queryAttributeByDisplayForm.js +12 -3
- package/esm/model/queryServices/queryAttributeDataset.d.ts.map +1 -1
- package/esm/model/queryServices/queryAttributeDataset.js +9 -1
- package/esm/model/queryServices/queryComputedAttributeExpression.d.ts +4 -0
- package/esm/model/queryServices/queryComputedAttributeExpression.d.ts.map +1 -0
- package/esm/model/queryServices/queryComputedAttributeExpression.js +17 -0
- package/esm/model/queryServices/queryConnectedAttributes.d.ts.map +1 -1
- package/esm/model/queryServices/queryConnectedAttributes.js +20 -5
- package/esm/model/queryServices/queryInsightAttributesMeta.d.ts.map +1 -1
- package/esm/model/queryServices/queryInsightAttributesMeta.js +20 -11
- package/esm/model/react/useIsWidgetRestricted.d.ts +9 -0
- package/esm/model/react/useIsWidgetRestricted.d.ts.map +1 -0
- package/esm/model/react/useIsWidgetRestricted.js +14 -0
- package/esm/model/store/catalog/catalogReducers.d.ts +2 -1
- package/esm/model/store/catalog/catalogReducers.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogReducers.js +2 -1
- package/esm/model/store/catalog/catalogSelectors.d.ts +21 -1
- package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogSelectors.js +26 -2
- package/esm/model/store/catalog/catalogState.d.ts +8 -1
- package/esm/model/store/catalog/catalogState.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogState.js +1 -0
- package/esm/model/store/config/configSelectors.d.ts +11 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +13 -0
- package/esm/model/store/insights/insightsSelectors.js +3 -3
- package/esm/model/store/tabs/filterContext/filterContextSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/filterContext/filterContextSelectors.js +8 -4
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts +8 -0
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts.map +1 -1
- package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.js +8 -0
- package/esm/model/utils/displayFormResolver.d.ts.map +1 -1
- package/esm/model/utils/displayFormResolver.js +11 -1
- package/esm/plugins/customizationApis/customizationBuilder.d.ts.map +1 -1
- package/esm/plugins/customizationApis/customizationBuilder.js +1 -0
- package/esm/plugins/customizationApis/insightCustomizer.d.ts +4 -2
- package/esm/plugins/customizationApis/insightCustomizer.d.ts.map +1 -1
- package/esm/plugins/customizationApis/insightCustomizer.js +43 -3
- package/esm/plugins/customizer.d.ts +14 -1
- package/esm/plugins/customizer.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +1 -1
- package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.js +23 -58
- package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts +33 -0
- package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.js +61 -0
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts +3 -17
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.js +3 -52
- package/esm/presentation/automations/alerting/state/useAlertFormState.js +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +2 -2
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +1 -1
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.js +2 -5
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +22 -40
- package/esm/presentation/automations/scheduledEmail/state/useSaveScheduledEmailToBackend.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useSaveScheduledEmailToBackend.js +14 -3
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts +27 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.js +142 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.d.ts +4 -6
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.js +9 -151
- package/esm/presentation/automations/shared/filters/conversions.d.ts +4 -0
- package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -1
- package/esm/presentation/automations/shared/filters/conversions.js +28 -24
- package/esm/presentation/automations/shared/hooks/useShallowStable.d.ts +10 -0
- package/esm/presentation/automations/shared/hooks/useShallowStable.d.ts.map +1 -0
- package/esm/presentation/automations/shared/hooks/useShallowStable.js +18 -0
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.js +17 -4
- package/esm/presentation/dashboard/DashboardSidebar/SidebarCollapseToggle.d.ts +10 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarCollapseToggle.d.ts.map +1 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarCollapseToggle.js +19 -0
- package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js +8 -2
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.js +4 -2
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.d.ts +8 -3
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.js +65 -25
- package/esm/presentation/dashboard/components/DashboardInner.d.ts.map +1 -1
- package/esm/presentation/dashboard/components/DashboardInner.js +4 -4
- package/esm/presentation/dashboard/components/DashboardRenderer.d.ts.map +1 -1
- package/esm/presentation/dashboard/components/DashboardRenderer.js +2 -2
- package/esm/presentation/dashboard/hooks/useDashboard.d.ts +2 -1
- package/esm/presentation/dashboard/hooks/useDashboard.d.ts.map +1 -1
- package/esm/presentation/dashboard/hooks/useDashboard.js +7 -1
- package/esm/presentation/dashboard/types.d.ts +14 -1
- package/esm/presentation/dashboard/types.d.ts.map +1 -1
- package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts +2 -1
- package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts.map +1 -1
- package/esm/presentation/dashboardContexts/DashboardComponentsContext.js +1 -0
- package/esm/presentation/dashboardContexts/types.d.ts +20 -0
- package/esm/presentation/dashboardContexts/types.d.ts.map +1 -1
- package/esm/presentation/dragAndDrop/draggableAttributeFilter/DefaultAttributeFilterDraggingComponent.d.ts.map +1 -1
- package/esm/presentation/dragAndDrop/draggableAttributeFilter/DefaultAttributeFilterDraggingComponent.js +4 -3
- package/esm/presentation/export/useExportData.js +2 -2
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/attributeListItemTooltip/AttributeListItemTooltip.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/attributeListItemTooltip/AttributeListItemTooltip.js +8 -2
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/attributeListItemTooltip/AttributeListItemTooltipContent.d.ts +12 -1
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/attributeListItemTooltip/AttributeListItemTooltipContent.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/attributeListItemTooltip/AttributeListItemTooltipContent.js +19 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/displayForms/AttributeDisplayFormsDropdown.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/displayForms/AttributeDisplayFormsDropdown.js +3 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useComputedAttributeExpression.d.ts +14 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useComputedAttributeExpression.d.ts.map +1 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useComputedAttributeExpression.js +28 -0
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useDisplayFormConfiguration.js +2 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useValidNeighbourAttributes.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useValidNeighbourAttributes.js +12 -2
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/limitValues/shared/limitingItemsHook.js +6 -5
- package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/parentFilters/ParentFiltersDisabledItem.js +2 -2
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarItem.js +2 -2
- package/esm/presentation/filterBar/filterBar/useFiltersWithAddedPlaceholder.js +2 -2
- package/esm/presentation/filterBar/measureValueFilter/useDashboardMeasureValueFilterData.d.ts.map +1 -1
- package/esm/presentation/filterBar/measureValueFilter/useDashboardMeasureValueFilterData.js +55 -17
- package/esm/presentation/flexibleLayout/DashboardLayoutWidget.d.ts.map +1 -1
- package/esm/presentation/flexibleLayout/DashboardLayoutWidget.js +6 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +40 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +40 -0
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +5 -0
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +5 -0
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +5 -0
- package/esm/presentation/widget/common/RestrictedPlaceholder.d.ts +54 -0
- package/esm/presentation/widget/common/RestrictedPlaceholder.d.ts.map +1 -0
- package/esm/presentation/widget/common/RestrictedPlaceholder.js +49 -0
- package/esm/presentation/widget/common/configuration/DateDatasetFilter.d.ts +6 -1
- package/esm/presentation/widget/common/configuration/DateDatasetFilter.d.ts.map +1 -1
- package/esm/presentation/widget/common/configuration/DateDatasetFilter.js +2 -2
- package/esm/presentation/widget/common/configuration/DateFilterCheckbox.d.ts +6 -1
- package/esm/presentation/widget/common/configuration/DateFilterCheckbox.d.ts.map +1 -1
- package/esm/presentation/widget/common/configuration/DateFilterCheckbox.js +10 -3
- package/esm/presentation/widget/insight/DefaultInsightBody/DefaultInsightBody.js +2 -2
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js +2 -2
- package/esm/presentation/widget/insight/configuration/InsightDateDataSetFilter.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDateDataSetFilter.js +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigList.d.ts +6 -1
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigList.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigList.js +13 -2
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigPanel/InsightDrillConfigPanel.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightDrillConfigPanel/InsightDrillConfigPanel.js +5 -1
- package/esm/presentation/widget/insight/configuration/useDrillTargetTypeItems.d.ts +1 -1
- package/esm/presentation/widget/insight/configuration/useDrillTargetTypeItems.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/useDrillTargetTypeItems.js +2 -2
- package/esm/presentation/widget/richText/configuration/RichTextDateDataSetFilter.d.ts.map +1 -1
- package/esm/presentation/widget/richText/configuration/RichTextDateDataSetFilter.js +1 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +8 -0
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcherRestricted.d.ts +16 -0
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcherRestricted.d.ts.map +1 -0
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcherRestricted.js +19 -0
- package/esm/presentation/widget/widget/InsightWidget/DashboardWidgetInsightGuard.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/DashboardWidgetInsightGuard.js +11 -1
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +2 -2
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.d.ts.map +1 -1
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.js +25 -12
- package/esm/sdk-ui-dashboard.d.ts +201 -3
- package/package.json +21 -21
- package/styles/css/configurationPanel.css +1 -5
- package/styles/css/configurationPanel.css.map +1 -1
- package/styles/css/filterBar.css +29 -0
- package/styles/css/filterBar.css.map +1 -1
- package/styles/css/main.css +203 -5
- package/styles/css/main.css.map +1 -1
- package/styles/css/sidebar.css +165 -0
- package/styles/css/sidebar.css.map +1 -1
- package/styles/css/visualizationSwitcherWidget.css +8 -0
- package/styles/css/visualizationSwitcherWidget.css.map +1 -1
- package/styles/scss/configurationPanel.scss +1 -7
- package/styles/scss/filterBar.scss +38 -0
- package/styles/scss/sidebar.scss +215 -0
- package/styles/scss/visualizationSwitcherWidget.scss +9 -0
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2007-2026 GoodData Corporation
|
|
3
|
-
import { useMemo } from "react";
|
|
3
|
+
import { useMemo, useState } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { compact, sortBy } from "lodash-es";
|
|
6
|
-
import { FormattedMessage } from "react-intl";
|
|
7
|
-
import { Typography } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
7
|
+
import { Typography, UiIconButton } from "@gooddata/sdk-ui-kit";
|
|
8
8
|
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
9
9
|
import { selectSupportsRichTextWidgets } from "../../../model/store/backendCapabilities/backendCapabilitiesSelectors.js";
|
|
10
10
|
import { selectIsAiGenerating } from "../../../model/store/config/configSelectors.js";
|
|
11
11
|
import { selectIsNewDashboard } from "../../../model/store/meta/metaSelectors.js";
|
|
12
12
|
import { DraggableInsightList } from "./DraggableInsightList/DraggableInsightList.js";
|
|
13
|
+
import { SidebarCollapseToggle } from "./SidebarCollapseToggle.js";
|
|
14
|
+
import { useResizableSidebar } from "./SidebarResizeContext.js";
|
|
13
15
|
export function CreationPanel(props) {
|
|
14
16
|
const { className, WrapCreatePanelItemWithDragComponent, WrapInsightListItemWithDragComponent } = props;
|
|
17
|
+
const intl = useIntl();
|
|
15
18
|
const supportsRichText = useDashboardSelector(selectSupportsRichTextWidgets);
|
|
16
19
|
const isNewDashboard = useDashboardSelector(selectIsNewDashboard);
|
|
17
20
|
const isAiGenerating = useDashboardSelector(selectIsAiGenerating);
|
|
21
|
+
const { canCollapse, isCollapsed, setCollapsed } = useResizableSidebar();
|
|
22
|
+
const [focusSearch, setFocusSearch] = useState(undefined);
|
|
18
23
|
const AttributeFilterComponentSet = props.AttributeFilterComponentSet;
|
|
19
24
|
const InsightWidgetComponentSet = props.InsightWidgetComponentSet;
|
|
20
25
|
const RichTextWidgetComponentSet = props.RichTextWidgetComponentSet;
|
|
@@ -41,5 +46,13 @@ export function CreationPanel(props) {
|
|
|
41
46
|
WrapCreatePanelItemWithDragComponent,
|
|
42
47
|
isAiGenerating,
|
|
43
48
|
]);
|
|
44
|
-
return (_jsx("div", { className: cx("configuration-panel creation-panel", className), children: _jsxs("div", { className: "configuration-panel-content", children: [
|
|
49
|
+
return (_jsx("div", { className: cx("configuration-panel creation-panel", className), children: _jsxs("div", { className: "configuration-panel-content", children: [_jsxs("div", { className: "gd-creation-panel-header flex-panel-item-nostretch", children: [_jsx(Typography, { tagName: "h2", children: _jsx(FormattedMessage, { id: "visualizationsList.dragToAdd" }) }), canCollapse ? (_jsx(SidebarCollapseToggle, { isCollapsed: isCollapsed, onToggle: () => {
|
|
50
|
+
setFocusSearch(false);
|
|
51
|
+
setCollapsed(!isCollapsed);
|
|
52
|
+
} })) : null] }), _jsx("div", { className: "configuration-category drag-to-add", role: "group", "aria-label": intl.formatMessage({ id: "addPanel.newItem" }), children: _jsx("div", { className: "add-item-panel", children: addItemPanelItems }) }), _jsxs("div", { className: "configuration-category configuration-category-vis drag-to-add flex-panel-item-stretch", role: "group", "aria-label": intl.formatMessage({ id: "visualizationsList.savedVisualizations" }), children: [canCollapse ? (_jsx("div", { className: "gd-sidebar-rail-search", children: _jsx(UiIconButton, { icon: "search", label: intl.formatMessage({ id: "sidebar.search" }), size: "medium", variant: "tertiary", dataTestId: "s-dashboard-sidebar-rail-search", accessibilityConfig: {
|
|
53
|
+
ariaLabel: intl.formatMessage({ id: "sidebar.search" }),
|
|
54
|
+
}, onClick: () => {
|
|
55
|
+
setFocusSearch(true);
|
|
56
|
+
setCollapsed(false);
|
|
57
|
+
} }) })) : null, _jsx(DraggableInsightList, { WrapInsightListItemWithDragComponent: WrapInsightListItemWithDragComponent, recalculateSizeReference: className, searchAutofocus: !isCollapsed && (focusSearch ?? !isNewDashboard), disabled: isAiGenerating })] })] }) }));
|
|
45
58
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collapses the dashboard sidebar to the icon rail and expands it back.
|
|
3
|
+
*
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare function SidebarCollapseToggle({ isCollapsed, onToggle, }: {
|
|
7
|
+
isCollapsed: boolean;
|
|
8
|
+
onToggle: () => void;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=SidebarCollapseToggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SidebarCollapseToggle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarCollapseToggle.tsx"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,WAAW,EACX,QAAQ,GACX,EAAE;IACC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB,2CAsBA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useIntl } from "react-intl";
|
|
4
|
+
import { UiIconButton } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
/**
|
|
6
|
+
* Collapses the dashboard sidebar to the icon rail and expands it back.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export function SidebarCollapseToggle({ isCollapsed, onToggle, }) {
|
|
11
|
+
const intl = useIntl();
|
|
12
|
+
const label = isCollapsed
|
|
13
|
+
? intl.formatMessage({ id: "sidebar.expand" })
|
|
14
|
+
: intl.formatMessage({ id: "sidebar.collapse" });
|
|
15
|
+
return (_jsx("div", { className: "gd-sidebar-collapse-toggle", children: _jsx(UiIconButton, { icon: isCollapsed ? "sidePanelExpand" : "sidePanelCollapse", label: label, size: "medium", variant: "tertiary", dataTestId: "s-dashboard-sidebar-collapse-toggle", accessibilityConfig: {
|
|
16
|
+
ariaLabel: label,
|
|
17
|
+
ariaExpanded: !isCollapsed,
|
|
18
|
+
}, onClick: onToggle }) }));
|
|
19
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarConfigurationPanel.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SidebarConfigurationPanel.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAa1C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,YAAY,GAAG,IAAI,CAmE3G"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import cx from "classnames";
|
|
2
3
|
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
3
4
|
import { useWidgetSelection } from "../../../model/react/useWidgetSelection.js";
|
|
4
5
|
import { selectSettings } from "../../../model/store/config/configSelectors.js";
|
|
5
6
|
import { CreationPanel } from "./CreationPanel.js";
|
|
6
7
|
import { FloatingToolbar } from "./FloatingToolbar.js";
|
|
8
|
+
import { SidebarCollapseToggle } from "./SidebarCollapseToggle.js";
|
|
7
9
|
import { SidebarResizeChrome } from "./SidebarResizeChrome.js";
|
|
10
|
+
import { useResizableSidebar } from "./SidebarResizeContext.js";
|
|
8
11
|
/**
|
|
9
12
|
* @internal
|
|
10
13
|
*/
|
|
@@ -15,12 +18,15 @@ export function SidebarConfigurationPanel(props) {
|
|
|
15
18
|
const settings = useDashboardSelector(selectSettings);
|
|
16
19
|
const enableEnhancedInsightPicker = settings?.enableEnhancedInsightPicker ?? false;
|
|
17
20
|
const enableDashboardSidebarResize = settings?.enableDashboardSidebarResize ?? false;
|
|
21
|
+
const { isCollapsed, canCollapse, setCollapsed, expandedWidth } = useResizableSidebar();
|
|
18
22
|
if (enableEnhancedInsightPicker) {
|
|
19
23
|
return _jsx(FloatingToolbar, {});
|
|
20
24
|
}
|
|
21
|
-
const content = (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex-panel-full-height", children: _jsx(CreationPanel, { className: configurationPanelClassName, WrapCreatePanelItemWithDragComponent: WrapCreatePanelItemWithDragComponent, WrapInsightListItemWithDragComponent: WrapInsightListItemWithDragComponent, AttributeFilterComponentSet: AttributeFilterComponentSet, InsightWidgetComponentSet: InsightWidgetComponentSet, RichTextWidgetComponentSet: RichTextWidgetComponentSet, VisualizationSwitcherWidgetComponentSet: VisualizationSwitcherWidgetComponentSet, DashboardLayoutWidgetComponentSet: DashboardLayoutWidgetComponentSet }) }), _jsx(DeleteDropZoneComponent, {})] }));
|
|
25
|
+
const content = (_jsxs(_Fragment, { children: [canCollapse ? (_jsx("div", { className: "gd-sidebar-rail", children: _jsx(SidebarCollapseToggle, { isCollapsed: isCollapsed, onToggle: () => setCollapsed(!isCollapsed) }) })) : null, _jsx("div", { className: cx("gd-sidebar-panel", { "gd-sidebar-panel--collapsible": canCollapse }), children: _jsx("div", { className: "flex-panel-full-height", style: canCollapse ? { width: expandedWidth } : undefined, children: _jsx(CreationPanel, { className: configurationPanelClassName, WrapCreatePanelItemWithDragComponent: WrapCreatePanelItemWithDragComponent, WrapInsightListItemWithDragComponent: WrapInsightListItemWithDragComponent, AttributeFilterComponentSet: AttributeFilterComponentSet, InsightWidgetComponentSet: InsightWidgetComponentSet, RichTextWidgetComponentSet: RichTextWidgetComponentSet, VisualizationSwitcherWidgetComponentSet: VisualizationSwitcherWidgetComponentSet, DashboardLayoutWidgetComponentSet: DashboardLayoutWidgetComponentSet }) }) }), _jsx(DeleteDropZoneComponent, {})] }));
|
|
22
26
|
if (enableDashboardSidebarResize) {
|
|
23
27
|
return _jsx(SidebarResizeChrome, { onContainerClick: deselectWidgets, children: content });
|
|
24
28
|
}
|
|
25
|
-
return (_jsx("div", { className: "col gd-flex-item gd-sidebar-container",
|
|
29
|
+
return (_jsx("div", { className: cx("col gd-flex-item gd-sidebar-container", {
|
|
30
|
+
"gd-sidebar-container--collapsed": isCollapsed,
|
|
31
|
+
}), onClick: deselectWidgets, children: content }));
|
|
26
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarResizeChrome.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,SAAS,EAIjB,MAAM,OAAO,CAAC;AAkBf;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,gBAAgB,EAChB,QAAQ,GACX,EAAE;IACC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;CACvB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"SidebarResizeChrome.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeChrome.tsx"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,SAAS,EAIjB,MAAM,OAAO,CAAC;AAkBf;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,gBAAgB,EAChB,QAAQ,GACX,EAAE;IACC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;CACvB,GAAG,YAAY,CAmHf"}
|
|
@@ -32,7 +32,7 @@ const handleSeparatorKeyboardNavigation = makeKeyboardNavigation({
|
|
|
32
32
|
export function SidebarResizeChrome({ onContainerClick, children, }) {
|
|
33
33
|
const [dragWidth, setDragWidth] = useState(null);
|
|
34
34
|
const dragOriginRef = useRef(null);
|
|
35
|
-
const { width, min, max, canResize, setWidth } = useResizableSidebar();
|
|
35
|
+
const { width, min, max, canResize, setWidth, isCollapsed } = useResizableSidebar();
|
|
36
36
|
const isDragging = dragWidth !== null;
|
|
37
37
|
// Tear down the drag without committing — used when the user presses Escape.
|
|
38
38
|
const endDrag = () => {
|
|
@@ -85,7 +85,9 @@ export function SidebarResizeChrome({ onContainerClick, children, }) {
|
|
|
85
85
|
return (_jsx("div", { className: cx("gd-resizable-sidebar", {
|
|
86
86
|
"gd-resizable-sidebar--resizable": canResize,
|
|
87
87
|
"gd-resizable-sidebar--dragging": isDragging,
|
|
88
|
-
}), style: { width }, children: _jsxs("div", { className: "col gd-flex-item gd-sidebar-container gd-sidebar-container--resizable",
|
|
88
|
+
}), style: { width }, children: _jsxs("div", { className: cx("col gd-flex-item gd-sidebar-container gd-sidebar-container--resizable", {
|
|
89
|
+
"gd-sidebar-container--collapsed": isCollapsed,
|
|
90
|
+
}), onClick: onContainerClick, children: [children, _jsx("button", { type: "button", style: {
|
|
89
91
|
"--drag-x": `${isDragging ? dragWidth : width}px`,
|
|
90
92
|
}, className: cx("gd-resizable-sidebar__handle", {
|
|
91
93
|
"gd-resizable-sidebar__handle--dragging": isDragging,
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
interface IResizableSidebar {
|
|
3
3
|
width: number;
|
|
4
|
+
expandedWidth: number;
|
|
4
5
|
min: number;
|
|
5
6
|
max: number;
|
|
6
7
|
canResize: boolean;
|
|
7
8
|
setWidth: (width: number) => void;
|
|
9
|
+
canCollapse: boolean;
|
|
10
|
+
isCollapsed: boolean;
|
|
11
|
+
setCollapsed: (collapsed: boolean) => void;
|
|
8
12
|
}
|
|
9
13
|
/**
|
|
10
|
-
* Computes the
|
|
11
|
-
*
|
|
12
|
-
*
|
|
14
|
+
* Computes the sidebar width state — both the drag-to-resize bounds and the collapsed/expanded
|
|
15
|
+
* state of the panel. When the sidebar is neither resizable nor collapsible (not edit mode, both
|
|
16
|
+
* features are off, or it is replaced by the enhanced insight picker) it returns the static
|
|
17
|
+
* {@link STATIC_SIDEBAR} — no window resize listener, no width math.
|
|
13
18
|
*
|
|
14
19
|
* Reads the config store, so it must be called below the dashboard loading gate where the config is
|
|
15
20
|
* initialized.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarResizeContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"SidebarResizeContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2D,MAAM,OAAO,CAAC;AAwChG,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,CAiE5D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,KAAK,EACL,QAAQ,GACX,EAAE;IACC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACvB,2CAEA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAEvD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2026 GoodData Corporation
|
|
3
|
-
import { createContext, useContext, useEffect, useState } from "react";
|
|
3
|
+
import { createContext, useContext, useEffect, useMemo, useState } from "react";
|
|
4
4
|
import { clamp } from "lodash-es";
|
|
5
5
|
import { useLocalStorage } from "@gooddata/sdk-ui";
|
|
6
6
|
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
@@ -8,8 +8,10 @@ import { selectSettings } from "../../../model/store/config/configSelectors.js";
|
|
|
8
8
|
import { selectIsInEditMode } from "../../../model/store/renderMode/renderModeSelectors.js";
|
|
9
9
|
const SIDEBAR_MIN_WIDTH = 230;
|
|
10
10
|
const SIDEBAR_MAX_WIDTH = 500;
|
|
11
|
+
const SIDEBAR_COLLAPSED_WIDTH = 48;
|
|
11
12
|
const EDITOR_MIN_WIDTH = 960;
|
|
12
|
-
const
|
|
13
|
+
const WIDTH_STORAGE_KEY = "gd-dashboard-sidebar-width";
|
|
14
|
+
const COLLAPSED_STORAGE_KEY = "gd-dashboard-sidebar-collapsed";
|
|
13
15
|
/**
|
|
14
16
|
* Returns the current `window.innerWidth`, kept in sync with the `resize` event. Only attaches the
|
|
15
17
|
* listener while `active`, so a non-resizable sidebar triggers no resize-driven re-renders.
|
|
@@ -27,21 +29,26 @@ function useWindowWidth(active) {
|
|
|
27
29
|
}, [active]);
|
|
28
30
|
return width;
|
|
29
31
|
}
|
|
30
|
-
// Stable value used whenever the sidebar is
|
|
31
|
-
//
|
|
32
|
-
const
|
|
32
|
+
// Stable value used whenever the sidebar is neither resizable nor collapsible: it is fixed at the
|
|
33
|
+
// minimum width and ignores writes — so consumers never have to null-check.
|
|
34
|
+
const STATIC_SIDEBAR = {
|
|
33
35
|
width: SIDEBAR_MIN_WIDTH,
|
|
36
|
+
expandedWidth: SIDEBAR_MIN_WIDTH,
|
|
34
37
|
min: SIDEBAR_MIN_WIDTH,
|
|
35
38
|
max: SIDEBAR_MIN_WIDTH,
|
|
36
39
|
canResize: false,
|
|
37
40
|
setWidth: () => { },
|
|
41
|
+
canCollapse: false,
|
|
42
|
+
isCollapsed: false,
|
|
43
|
+
setCollapsed: () => { },
|
|
38
44
|
};
|
|
39
|
-
const ResizableSidebarContext = createContext(
|
|
45
|
+
const ResizableSidebarContext = createContext(STATIC_SIDEBAR);
|
|
40
46
|
ResizableSidebarContext.displayName = "ResizableSidebarContext";
|
|
41
47
|
/**
|
|
42
|
-
* Computes the
|
|
43
|
-
*
|
|
44
|
-
*
|
|
48
|
+
* Computes the sidebar width state — both the drag-to-resize bounds and the collapsed/expanded
|
|
49
|
+
* state of the panel. When the sidebar is neither resizable nor collapsible (not edit mode, both
|
|
50
|
+
* features are off, or it is replaced by the enhanced insight picker) it returns the static
|
|
51
|
+
* {@link STATIC_SIDEBAR} — no window resize listener, no width math.
|
|
45
52
|
*
|
|
46
53
|
* Reads the config store, so it must be called below the dashboard loading gate where the config is
|
|
47
54
|
* initialized.
|
|
@@ -53,23 +60,56 @@ export function useResizableSidebarState() {
|
|
|
53
60
|
const isEditMode = useDashboardSelector(selectIsInEditMode);
|
|
54
61
|
const isSidebarResizeEnabled = settings?.enableDashboardSidebarResize ?? false;
|
|
55
62
|
const enableEnhancedInsightPicker = settings?.enableEnhancedInsightPicker ?? false;
|
|
56
|
-
const
|
|
63
|
+
const isGenAiRightPanelEnabled = settings?.enableGenAiRightPanel ?? false;
|
|
64
|
+
const hasCreationPanel = isEditMode && !enableEnhancedInsightPicker;
|
|
65
|
+
const isResizable = hasCreationPanel && isSidebarResizeEnabled;
|
|
66
|
+
const canCollapse = hasCreationPanel && isGenAiRightPanelEnabled;
|
|
57
67
|
const containerWidth = useWindowWidth(isResizable);
|
|
58
|
-
const [persistedWidth, setPersistedWidth] = useLocalStorage(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
const [persistedWidth, setPersistedWidth] = useLocalStorage(WIDTH_STORAGE_KEY, SIDEBAR_MIN_WIDTH);
|
|
69
|
+
const [persistedCollapsed, setPersistedCollapsed] = useLocalStorage(COLLAPSED_STORAGE_KEY, false);
|
|
70
|
+
return useMemo(() => {
|
|
71
|
+
const max = clamp(containerWidth - EDITOR_MIN_WIDTH, SIDEBAR_MIN_WIDTH, SIDEBAR_MAX_WIDTH);
|
|
72
|
+
const expandedWidth = isResizable ? clamp(persistedWidth, SIDEBAR_MIN_WIDTH, max) : SIDEBAR_MIN_WIDTH;
|
|
73
|
+
if (canCollapse && persistedCollapsed) {
|
|
74
|
+
return {
|
|
75
|
+
width: SIDEBAR_COLLAPSED_WIDTH,
|
|
76
|
+
expandedWidth,
|
|
77
|
+
min: SIDEBAR_COLLAPSED_WIDTH,
|
|
78
|
+
max: SIDEBAR_COLLAPSED_WIDTH,
|
|
79
|
+
canResize: false,
|
|
80
|
+
setWidth: () => { },
|
|
81
|
+
canCollapse,
|
|
82
|
+
isCollapsed: true,
|
|
83
|
+
setCollapsed: setPersistedCollapsed,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (!isResizable) {
|
|
87
|
+
return canCollapse
|
|
88
|
+
? { ...STATIC_SIDEBAR, canCollapse, setCollapsed: setPersistedCollapsed }
|
|
89
|
+
: STATIC_SIDEBAR;
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
width: expandedWidth,
|
|
93
|
+
expandedWidth,
|
|
94
|
+
min: SIDEBAR_MIN_WIDTH,
|
|
95
|
+
max,
|
|
96
|
+
canResize: max > SIDEBAR_MIN_WIDTH,
|
|
97
|
+
// Clamp every write to the current bounds, so callers can't persist an out-of-range width and
|
|
98
|
+
// a non-resizable sidebar (max === min) collapses any value back to the minimum.
|
|
99
|
+
setWidth: (next) => setPersistedWidth(clamp(next, SIDEBAR_MIN_WIDTH, max)),
|
|
100
|
+
canCollapse,
|
|
101
|
+
isCollapsed: false,
|
|
102
|
+
setCollapsed: setPersistedCollapsed,
|
|
103
|
+
};
|
|
104
|
+
}, [
|
|
105
|
+
canCollapse,
|
|
106
|
+
persistedCollapsed,
|
|
107
|
+
setPersistedCollapsed,
|
|
108
|
+
isResizable,
|
|
109
|
+
containerWidth,
|
|
110
|
+
persistedWidth,
|
|
111
|
+
setPersistedWidth,
|
|
112
|
+
]);
|
|
73
113
|
}
|
|
74
114
|
/**
|
|
75
115
|
* Shares the resize state produced by {@link useResizableSidebarState} with descendants such as the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardInner.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/components/DashboardInner.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAQnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"DashboardInner.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/components/DashboardInner.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAQnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,2CAyHpD"}
|
|
@@ -60,10 +60,10 @@ export function DashboardInner(props) {
|
|
|
60
60
|
"gd-dash-content--density-compact": density === "compact",
|
|
61
61
|
});
|
|
62
62
|
const resizableSidebar = useResizableSidebarState();
|
|
63
|
-
// When the sidebar can be resized, expose its live width so the
|
|
64
|
-
// it (see `--gd-dashboard-sidebar-width` in sdk-dashboard.scss).
|
|
65
|
-
// content falls back to the static sidebar width.
|
|
66
|
-
const dashboardsRootStyle = resizableSidebar.canResize
|
|
63
|
+
// When the sidebar can be resized or is collapsed to the icon rail, expose its live width so the
|
|
64
|
+
// sibling content area can subtract it (see `--gd-dashboard-sidebar-width` in sdk-dashboard.scss).
|
|
65
|
+
// Otherwise leave it unset so the content falls back to the static per-breakpoint sidebar width.
|
|
66
|
+
const dashboardsRootStyle = resizableSidebar.canResize || resizableSidebar.isCollapsed
|
|
67
67
|
? {
|
|
68
68
|
"--gd-dashboard-sidebar-width": `${resizableSidebar.width}px`,
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/components/DashboardRenderer.tsx"],"names":[],"mappings":"AA8CA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAqEnD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"DashboardRenderer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/components/DashboardRenderer.tsx"],"names":[],"mappings":"AA8CA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAqEnD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,2CA0MvD"}
|
|
@@ -92,9 +92,9 @@ function shouldUseThemeProvider(props, hasThemeProvider) {
|
|
|
92
92
|
* @internal
|
|
93
93
|
*/
|
|
94
94
|
export function DashboardRenderer(props) {
|
|
95
|
-
const { backend, workspace, hasThemeProvider, dashboardOrRef, attributeFilterProvider, dateFilterProvider, measureValueFilterProvider, filterGroupProvider, widgetProvider, insightProvider, insightBodyProvider, insightMenuButtonProvider, dashboardContentProvider, insightMenuProvider, richTextMenuProvider, richTextMenuTitleProvider, insightMenuTitleProvider, insightWidgetComponentSet, attributeFilterComponentSet, dateFilterComponentSet, richTextProvider, visualizationSwitcherProvider, richTextWidgetComponentSet, visualizationSwitcherWidgetComponentSet, visualizationSwitcherToolbarComponentProvider, dashboardLayoutWidgetComponentSet, showAsTableButtonComponentProvider, drillDialogExportDropdownProvider, } = useDashboard(props);
|
|
95
|
+
const { backend, workspace, hasThemeProvider, dashboardOrRef, attributeFilterProvider, dateFilterProvider, measureValueFilterProvider, filterGroupProvider, widgetProvider, insightProvider, insightBodyProvider, insightMenuButtonProvider, dashboardContentProvider, insightMenuProvider, richTextMenuProvider, richTextMenuTitleProvider, insightMenuTitleProvider, insightWidgetComponentSet, attributeFilterComponentSet, dateFilterComponentSet, richTextProvider, restrictedPlaceholderProvider, visualizationSwitcherProvider, richTextWidgetComponentSet, visualizationSwitcherWidgetComponentSet, visualizationSwitcherToolbarComponentProvider, dashboardLayoutWidgetComponentSet, showAsTableButtonComponentProvider, drillDialogExportDropdownProvider, } = useDashboard(props);
|
|
96
96
|
const components = resolveComponentsWithDefaults(props);
|
|
97
|
-
const dashboardRender = (_jsx(BackendProvider, { backend: backend, children: _jsx(WorkspaceProvider, { workspace: workspace, children: _jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(DashboardStoreProvider, { backend: props.backend, workspace: props.workspace, dashboard: dashboardOrRef, persistedDashboard: props.persistedDashboard, filterContextRef: props.filterContextRef, eventHandlers: props.eventHandlers, config: props.config, permissions: props.permissions, onStateChange: props.onStateChange, onEventingInitialized: props.onEventingInitialized, additionalReduxContext: props.additionalReduxContext, customizationFns: props.customizationFns, widgetsOverlayFn: props.widgetsOverlayFn, initialTabId: props.initialTabId, children: _jsx(ExportTemplateDialogContextProvider, { children: _jsx(ExportXlsxDialogContextProvider, { children: _jsx(ExportCsvDialogContextProvider, { children: _jsx(ExportTabularPdfDialogContextProvider, { children: _jsx(DashboardCustomizationsProvider, { insightMenuItemsProvider: props.insightMenuItemsProvider, richTextMenuItemsProvider: props.richTextMenuItemsProvider, existingExportTransformFn: props.customizationFns?.existingExportTransformFn, slideConfig: props.config?.slideConfig, children: _jsx(DashboardComponentsProvider, { ErrorComponent: components.ErrorComponent, LoadingComponent: components.LoadingComponent, LayoutComponent: components.LayoutComponent, InsightComponentProvider: insightProvider, InsightBodyComponentProvider: insightBodyProvider, InsightMenuButtonComponentProvider: insightMenuButtonProvider, InsightMenuTitleComponentProvider: insightMenuTitleProvider, InsightMenuComponentProvider: insightMenuProvider, VisualizationSwitcherToolbarComponentProvider: visualizationSwitcherToolbarComponentProvider, RichTextComponentProvider: richTextProvider, RichTextMenuComponentProvider: richTextMenuProvider, RichTextMenuTitleComponentProvider: richTextMenuTitleProvider, VisualizationSwitcherComponentProvider: visualizationSwitcherProvider, WidgetComponentProvider: widgetProvider, ButtonBarComponent: components.ButtonBarComponent, MenuButtonComponent: components.MenuButtonComponent, TopBarComponent: components.TopBarComponent, ToolbarComponent: components.ToolbarComponent, TitleComponent: components.TitleComponent, ScheduledEmailDialogComponent: components.ScheduledEmailDialogComponent, ScheduledEmailDialogContextDecoratorComponent: components.ScheduledEmailDialogContextDecoratorComponent, ScheduledEmailManagementDialogComponent: components.ScheduledEmailManagementDialogComponent, ScheduledEmailManagementDialogContextDecoratorComponent: components.ScheduledEmailManagementDialogContextDecoratorComponent, ShareDialogComponent: components.ShareDialogComponent, AlertingManagementDialogComponent: components.AlertingManagementDialogComponent, AlertingManagementDialogContextDecoratorComponent: components.AlertingManagementDialogContextDecoratorComponent, AutomationsContextDecoratorComponent: components.AutomationsContextDecoratorComponent, AlertingDialogComponent: components.AlertingDialogComponent, AlertingDialogContextDecoratorComponent: components.AlertingDialogContextDecoratorComponent, SaveAsDialogComponent: components.SaveAsDialogComponent, DashboardAttributeFilterComponentProvider: attributeFilterProvider, DashboardDateFilterComponentProvider: dateFilterProvider, DashboardMeasureValueFilterComponentProvider: measureValueFilterProvider, DashboardFilterGroupComponentProvider: filterGroupProvider, FilterBarComponent: components.FilterBarComponent, SidebarComponent: components.SidebarComponent, InsightWidgetComponentSet: insightWidgetComponentSet, RichTextWidgetComponentSet: richTextWidgetComponentSet, VisualizationSwitcherWidgetComponentSet: visualizationSwitcherWidgetComponentSet, DashboardLayoutWidgetComponentSet: dashboardLayoutWidgetComponentSet, AttributeFilterComponentSet: attributeFilterComponentSet, DateFilterComponentSet: dateFilterComponentSet, EmptyLayoutDropZoneBodyComponent: components.EmptyLayoutDropZoneBodyComponent, SaveButtonComponent: components.SaveButtonComponent, DashboardContentComponentProvider: dashboardContentProvider, SettingButtonComponent: components.SettingButtonComponent, DashboardSettingsDialogComponent: components.DashboardSettingsDialogComponent, ShowAsTableButtonComponentProvider: showAsTableButtonComponentProvider, DrillDialogExportDropdownComponentProvider: drillDialogExportDropdownProvider, children: _jsx(DashboardConfigProvider, { menuButtonConfig: props.menuButtonConfig, children: _jsx(DndProvider, { backend: HTML5Backend, children: _jsx(LayoutResizeStateProvider, { children: _jsx(DashboardItemPathAndSizeProvider, { children: _jsxs(HoveredWidgetProvider, { children: [_jsx(DensityInitializer, {}), _jsx(DashboardLoading, { ...props })] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
97
|
+
const dashboardRender = (_jsx(BackendProvider, { backend: backend, children: _jsx(WorkspaceProvider, { workspace: workspace, children: _jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(DashboardStoreProvider, { backend: props.backend, workspace: props.workspace, dashboard: dashboardOrRef, persistedDashboard: props.persistedDashboard, filterContextRef: props.filterContextRef, eventHandlers: props.eventHandlers, config: props.config, permissions: props.permissions, onStateChange: props.onStateChange, onEventingInitialized: props.onEventingInitialized, additionalReduxContext: props.additionalReduxContext, customizationFns: props.customizationFns, widgetsOverlayFn: props.widgetsOverlayFn, initialTabId: props.initialTabId, children: _jsx(ExportTemplateDialogContextProvider, { children: _jsx(ExportXlsxDialogContextProvider, { children: _jsx(ExportCsvDialogContextProvider, { children: _jsx(ExportTabularPdfDialogContextProvider, { children: _jsx(DashboardCustomizationsProvider, { insightMenuItemsProvider: props.insightMenuItemsProvider, richTextMenuItemsProvider: props.richTextMenuItemsProvider, existingExportTransformFn: props.customizationFns?.existingExportTransformFn, slideConfig: props.config?.slideConfig, children: _jsx(DashboardComponentsProvider, { ErrorComponent: components.ErrorComponent, LoadingComponent: components.LoadingComponent, LayoutComponent: components.LayoutComponent, InsightComponentProvider: insightProvider, InsightBodyComponentProvider: insightBodyProvider, InsightMenuButtonComponentProvider: insightMenuButtonProvider, InsightMenuTitleComponentProvider: insightMenuTitleProvider, InsightMenuComponentProvider: insightMenuProvider, VisualizationSwitcherToolbarComponentProvider: visualizationSwitcherToolbarComponentProvider, RichTextComponentProvider: richTextProvider, RestrictedPlaceholderComponentProvider: restrictedPlaceholderProvider, RichTextMenuComponentProvider: richTextMenuProvider, RichTextMenuTitleComponentProvider: richTextMenuTitleProvider, VisualizationSwitcherComponentProvider: visualizationSwitcherProvider, WidgetComponentProvider: widgetProvider, ButtonBarComponent: components.ButtonBarComponent, MenuButtonComponent: components.MenuButtonComponent, TopBarComponent: components.TopBarComponent, ToolbarComponent: components.ToolbarComponent, TitleComponent: components.TitleComponent, ScheduledEmailDialogComponent: components.ScheduledEmailDialogComponent, ScheduledEmailDialogContextDecoratorComponent: components.ScheduledEmailDialogContextDecoratorComponent, ScheduledEmailManagementDialogComponent: components.ScheduledEmailManagementDialogComponent, ScheduledEmailManagementDialogContextDecoratorComponent: components.ScheduledEmailManagementDialogContextDecoratorComponent, ShareDialogComponent: components.ShareDialogComponent, AlertingManagementDialogComponent: components.AlertingManagementDialogComponent, AlertingManagementDialogContextDecoratorComponent: components.AlertingManagementDialogContextDecoratorComponent, AutomationsContextDecoratorComponent: components.AutomationsContextDecoratorComponent, AlertingDialogComponent: components.AlertingDialogComponent, AlertingDialogContextDecoratorComponent: components.AlertingDialogContextDecoratorComponent, SaveAsDialogComponent: components.SaveAsDialogComponent, DashboardAttributeFilterComponentProvider: attributeFilterProvider, DashboardDateFilterComponentProvider: dateFilterProvider, DashboardMeasureValueFilterComponentProvider: measureValueFilterProvider, DashboardFilterGroupComponentProvider: filterGroupProvider, FilterBarComponent: components.FilterBarComponent, SidebarComponent: components.SidebarComponent, InsightWidgetComponentSet: insightWidgetComponentSet, RichTextWidgetComponentSet: richTextWidgetComponentSet, VisualizationSwitcherWidgetComponentSet: visualizationSwitcherWidgetComponentSet, DashboardLayoutWidgetComponentSet: dashboardLayoutWidgetComponentSet, AttributeFilterComponentSet: attributeFilterComponentSet, DateFilterComponentSet: dateFilterComponentSet, EmptyLayoutDropZoneBodyComponent: components.EmptyLayoutDropZoneBodyComponent, SaveButtonComponent: components.SaveButtonComponent, DashboardContentComponentProvider: dashboardContentProvider, SettingButtonComponent: components.SettingButtonComponent, DashboardSettingsDialogComponent: components.DashboardSettingsDialogComponent, ShowAsTableButtonComponentProvider: showAsTableButtonComponentProvider, DrillDialogExportDropdownComponentProvider: drillDialogExportDropdownProvider, children: _jsx(DashboardConfigProvider, { menuButtonConfig: props.menuButtonConfig, children: _jsx(DndProvider, { backend: HTML5Backend, children: _jsx(LayoutResizeStateProvider, { children: _jsx(DashboardItemPathAndSizeProvider, { children: _jsxs(HoveredWidgetProvider, { children: [_jsx(DensityInitializer, {}), _jsx(DashboardLoading, { ...props })] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
98
98
|
if (shouldUseThemeProvider(props, hasThemeProvider)) {
|
|
99
99
|
return (_jsx(ThemeProvider, { theme: props.theme, modifier: props.themeModifier ?? defaultDashboardThemeModifier, backend: backend, workspace: workspace,
|
|
100
100
|
// Do not remove global theme styles on unmount, if the theme is provided as a prop,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
2
|
import { type IdentifierRef, type UriRef } from "@gooddata/sdk-model";
|
|
3
3
|
import { type AttributeFilterComponentSet, type DashboardLayoutWidgetComponentSet, type DateFilterComponentSet, type InsightWidgetComponentSet, type RichTextWidgetComponentSet, type VisualizationSwitcherWidgetComponentSet } from "../../componentDefinition/types.js";
|
|
4
|
-
import { type AttributeFilterComponentProvider, type DashboardContentComponentProvider, type DashboardLayoutComponentProvider, type DateFilterComponentProvider, type DrillDialogExportDropdownComponentProvider, type FilterGroupComponentProvider, type InsightBodyComponentProvider, type InsightComponentProvider, type InsightMenuButtonComponentProvider, type InsightMenuComponentProvider, type InsightMenuTitleComponentProvider, type MeasureValueFilterComponentProvider, type RichTextComponentProvider, type RichTextMenuComponentProvider, type RichTextMenuTitleComponentProvider, type ShowAsTableButtonComponentProvider, type VisualizationSwitcherComponentProvider, type VisualizationSwitcherToolbarComponentProvider, type WidgetComponentProvider } from "../../dashboardContexts/types.js";
|
|
4
|
+
import { type AttributeFilterComponentProvider, type DashboardContentComponentProvider, type DashboardLayoutComponentProvider, type DateFilterComponentProvider, type DrillDialogExportDropdownComponentProvider, type FilterGroupComponentProvider, type InsightBodyComponentProvider, type InsightComponentProvider, type InsightMenuButtonComponentProvider, type InsightMenuComponentProvider, type InsightMenuTitleComponentProvider, type MeasureValueFilterComponentProvider, type RestrictedPlaceholderComponentProvider, type RichTextComponentProvider, type RichTextMenuComponentProvider, type RichTextMenuTitleComponentProvider, type ShowAsTableButtonComponentProvider, type VisualizationSwitcherComponentProvider, type VisualizationSwitcherToolbarComponentProvider, type WidgetComponentProvider } from "../../dashboardContexts/types.js";
|
|
5
5
|
import { type IDashboardProps } from "../types.js";
|
|
6
6
|
interface IUseDashboardResult {
|
|
7
7
|
backend: IAnalyticalBackend;
|
|
@@ -25,6 +25,7 @@ interface IUseDashboardResult {
|
|
|
25
25
|
attributeFilterComponentSet: AttributeFilterComponentSet;
|
|
26
26
|
dateFilterComponentSet: DateFilterComponentSet;
|
|
27
27
|
richTextProvider: RichTextComponentProvider;
|
|
28
|
+
restrictedPlaceholderProvider: RestrictedPlaceholderComponentProvider;
|
|
28
29
|
richTextWidgetComponentSet: RichTextWidgetComponentSet;
|
|
29
30
|
visualizationSwitcherProvider: VisualizationSwitcherComponentProvider;
|
|
30
31
|
visualizationSwitcherWidgetComponentSet: VisualizationSwitcherWidgetComponentSet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/hooks/useDashboard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAS,MAAM,qBAAqB,CAAC;AAI7E,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,0CAA0C,EAC/C,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,sCAAsC,EAC3C,KAAK,6CAA6C,EAClD,KAAK,uBAAuB,EAC/B,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/hooks/useDashboard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAS,MAAM,qBAAqB,CAAC;AAI7E,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC/C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,KAAK,0CAA0C,EAC/C,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,KAAK,mCAAmC,EACxC,KAAK,sCAAsC,EAC3C,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,sCAAsC,EAC3C,KAAK,6CAA6C,EAClD,KAAK,uBAAuB,EAC/B,MAAM,kCAAkC,CAAC;AA2B1C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,UAAU,mBAAmB;IACzB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACnD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,0BAA0B,EAAE,mCAAmC,CAAC;IAChE,cAAc,EAAE,uBAAuB,CAAC;IACxC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,kCAAkC,CAAC;IAC9D,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,2BAA2B,EAAE,2BAA2B,CAAC;IACzD,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,uCAAuC,EAAE,uCAAuC,CAAC;IACjF,6CAA6C,EAAE,6CAA6C,CAAC;IAC7F,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,iCAAiC,EAAE,iCAAiC,CAAC;IACrE,kCAAkC,EAAE,kCAAkC,CAAC;IACvE,iCAAiC,EAAE,0CAA0C,CAAC;CACjF;AAED,eAAO,MAAM,YAAY,UAAW,eAAe,KAAG,mBAqQrD,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { DefaultDashboardDateFilter } from "../../filterBar/dateFilter/DefaultDa
|
|
|
9
9
|
import { DefaultDashboardDateFilterComponentSetFactory } from "../../filterBar/dateFilter/DefaultDashboardDateFilterComponentSetFactory.js";
|
|
10
10
|
import { DefaultDashboardFilterGroup } from "../../filterBar/filterBar/DefaultDashboardFilterGroup.js";
|
|
11
11
|
import { DefaultDashboardMeasureValueFilter } from "../../filterBar/measureValueFilter/DefaultDashboardMeasureValueFilter.js";
|
|
12
|
+
import { RestrictedPlaceholderContent } from "../../widget/common/RestrictedPlaceholder.js";
|
|
12
13
|
import { DefaultDashboardLayout as DefaultDashboardNestedLayout } from "../../widget/dashboardLayout/DefaultDashboardLayout.js";
|
|
13
14
|
import { DefaultDashboardLayoutComponentSetFactory } from "../../widget/dashboardLayout/DefaultDashboardLayoutComponentSetFactory.js";
|
|
14
15
|
import { DefaultDashboardInsight } from "../../widget/insight/DefaultDashboardInsight.js";
|
|
@@ -29,7 +30,7 @@ import { DefaultDashboardVisualizationSwitcherComponentSetFactory } from "../../
|
|
|
29
30
|
import { DefaultDashboardWidget } from "../../widget/widget/DefaultDashboardWidget.js";
|
|
30
31
|
import { DefaultDashboardMainContent } from "../DefaultDashboardContent/DefaultDashboardMainContent.js";
|
|
31
32
|
export const useDashboard = (props) => {
|
|
32
|
-
const { dashboard, DashboardAttributeFilterComponentProvider, DashboardDateFilterComponentProvider, DashboardMeasureValueFilterComponentProvider, DashboardFilterGroupComponentProvider, WidgetComponentProvider, InsightComponentProvider, InsightBodyComponentProvider, InsightMenuButtonComponentProvider, InsightMenuComponentProvider, InsightMenuTitleComponentProvider, InsightComponentSetProvider, DashboardContentComponentProvider, RichTextComponentProvider, RichTextMenuComponentProvider, RichTextMenuTitleComponentProvider, VisualizationSwitcherComponentProvider, VisualizationSwitcherToolbarComponentProvider, DashboardLayoutComponentProvider, ShowAsTableButtonComponentProvider, DrillDialogExportDropdownComponentProvider, } = props;
|
|
33
|
+
const { dashboard, DashboardAttributeFilterComponentProvider, DashboardDateFilterComponentProvider, DashboardMeasureValueFilterComponentProvider, DashboardFilterGroupComponentProvider, WidgetComponentProvider, InsightComponentProvider, InsightBodyComponentProvider, InsightMenuButtonComponentProvider, InsightMenuComponentProvider, InsightMenuTitleComponentProvider, InsightComponentSetProvider, DashboardContentComponentProvider, RichTextComponentProvider, RestrictedPlaceholderComponentProvider, RichTextMenuComponentProvider, RichTextMenuTitleComponentProvider, VisualizationSwitcherComponentProvider, VisualizationSwitcherToolbarComponentProvider, DashboardLayoutComponentProvider, ShowAsTableButtonComponentProvider, DrillDialogExportDropdownComponentProvider, } = props;
|
|
33
34
|
const backend = useBackendStrict(props.backend);
|
|
34
35
|
const workspace = useWorkspaceStrict(props.workspace);
|
|
35
36
|
const attributeFilterProvider = useCallback((filter) => {
|
|
@@ -101,6 +102,10 @@ export const useDashboard = (props) => {
|
|
|
101
102
|
const userSpecified = RichTextComponentProvider?.(richText);
|
|
102
103
|
return userSpecified ?? DefaultDashboardRichText;
|
|
103
104
|
}, [RichTextComponentProvider]);
|
|
105
|
+
const restrictedPlaceholderProvider = useCallback((widget) => {
|
|
106
|
+
const userSpecified = RestrictedPlaceholderComponentProvider?.(widget);
|
|
107
|
+
return userSpecified ?? RestrictedPlaceholderContent;
|
|
108
|
+
}, [RestrictedPlaceholderComponentProvider]);
|
|
104
109
|
const richTextMenuProvider = useCallback((richText) => {
|
|
105
110
|
const userSpecified = RichTextMenuComponentProvider?.(richText);
|
|
106
111
|
// if user customizes the items, always use the "new" default menu
|
|
@@ -157,6 +162,7 @@ export const useDashboard = (props) => {
|
|
|
157
162
|
attributeFilterComponentSet,
|
|
158
163
|
dateFilterComponentSet,
|
|
159
164
|
richTextProvider,
|
|
165
|
+
restrictedPlaceholderProvider,
|
|
160
166
|
richTextMenuProvider,
|
|
161
167
|
richTextMenuTitleProvider,
|
|
162
168
|
richTextWidgetComponentSet,
|
|
@@ -10,7 +10,7 @@ import { type CustomAutomationsContextDecoratorComponent } from "../../types.js"
|
|
|
10
10
|
import { type CustomAlertingDialogComponent, type CustomAlertingDialogContextDecoratorComponent, type CustomAlertingManagementDialogComponent, type CustomAlertingManagementDialogContextDecoratorComponent } from "../automations/alerting/types.js";
|
|
11
11
|
import { type CustomScheduledEmailDialogComponent, type CustomScheduledEmailDialogContextDecoratorComponent, type CustomScheduledEmailManagementDialogComponent, type CustomScheduledEmailManagementDialogContextDecoratorComponent } from "../automations/scheduledEmail/types.js";
|
|
12
12
|
import { type InsightComponentSetProvider } from "../componentDefinition/types.js";
|
|
13
|
-
import { type InsightMenuItemsProvider, type OptionalAttributeFilterComponentProvider, type OptionalDashboardContentComponentProvider, type OptionalDashboardLayoutComponentProvider, type OptionalDateFilterComponentProvider, type OptionalDrillDialogExportDropdownComponentProvider, type OptionalFilterGroupComponentProvider, type OptionalInsightBodyComponentProvider, type OptionalInsightComponentProvider, type OptionalInsightMenuButtonComponentProvider, type OptionalInsightMenuComponentProvider, type OptionalInsightMenuTitleComponentProvider, type OptionalMeasureValueFilterComponentProvider, type OptionalRichTextComponentProvider, type OptionalRichTextMenuComponentProvider, type OptionalRichTextMenuTitleComponentProvider, type OptionalShowAsTableButtonComponentProvider, type OptionalVisualizationSwitcherComponentProvider, type OptionalVisualizationSwitcherToolbarComponentProvider, type OptionalWidgetComponentProvider, type RichTextMenuItemsProvider } from "../dashboardContexts/types.js";
|
|
13
|
+
import { type InsightMenuItemsProvider, type OptionalAttributeFilterComponentProvider, type OptionalDashboardContentComponentProvider, type OptionalDashboardLayoutComponentProvider, type OptionalDateFilterComponentProvider, type OptionalDrillDialogExportDropdownComponentProvider, type OptionalFilterGroupComponentProvider, type OptionalInsightBodyComponentProvider, type OptionalInsightComponentProvider, type OptionalInsightMenuButtonComponentProvider, type OptionalInsightMenuComponentProvider, type OptionalInsightMenuTitleComponentProvider, type OptionalMeasureValueFilterComponentProvider, type OptionalRestrictedPlaceholderComponentProvider, type OptionalRichTextComponentProvider, type OptionalRichTextMenuComponentProvider, type OptionalRichTextMenuTitleComponentProvider, type OptionalShowAsTableButtonComponentProvider, type OptionalVisualizationSwitcherComponentProvider, type OptionalVisualizationSwitcherToolbarComponentProvider, type OptionalWidgetComponentProvider, type RichTextMenuItemsProvider } from "../dashboardContexts/types.js";
|
|
14
14
|
import { type CustomDashboardSettingsDialogComponent } from "../dashboardSettingsDialog/types.js";
|
|
15
15
|
import { type CustomFilterBarComponent } from "../filterBar/filterBar/types.js";
|
|
16
16
|
import { type CustomEmptyLayoutDropZoneBodyComponent } from "../flexibleLayout/types.js";
|
|
@@ -197,6 +197,19 @@ export interface IDashboardCustomComponentProps {
|
|
|
197
197
|
* @public
|
|
198
198
|
*/
|
|
199
199
|
RichTextComponentProvider?: OptionalRichTextComponentProvider;
|
|
200
|
+
/**
|
|
201
|
+
* Specify function to obtain a custom component standing in for an insight widget the current
|
|
202
|
+
* user is not allowed to see.
|
|
203
|
+
*
|
|
204
|
+
* @remarks
|
|
205
|
+
* - If not provided, the default access placeholder is used.
|
|
206
|
+
* - If the factory function returns undefined, the default is used for that widget. This is
|
|
207
|
+
* useful to customize the placeholder for particular widgets only.
|
|
208
|
+
* - The insight is deliberately not passed to the factory: it is the object being withheld.
|
|
209
|
+
*
|
|
210
|
+
* @alpha
|
|
211
|
+
*/
|
|
212
|
+
RestrictedPlaceholderComponentProvider?: OptionalRestrictedPlaceholderComponentProvider;
|
|
200
213
|
/**
|
|
201
214
|
* Specify function to obtain custom component to use for rendering a visualization switcher.
|
|
202
215
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/dashboard/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/dashboard/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ import { type CustomMenuButtonComponent } from "../topBar/menuButton/types.js";
|
|
|
18
18
|
import { type CustomTitleComponent } from "../topBar/title/types.js";
|
|
19
19
|
import { type CustomTopBarComponent } from "../topBar/topBar/types.js";
|
|
20
20
|
import { type CustomDashboardLayoutComponent } from "../widget/dashboardLayout/types.js";
|
|
21
|
-
import { type AttributeFilterComponentProvider, type DashboardContentComponentProvider, type DateFilterComponentProvider, type DrillDialogExportDropdownComponentProvider, type FilterGroupComponentProvider, type InsightBodyComponentProvider, type InsightComponentProvider, type InsightMenuButtonComponentProvider, type InsightMenuComponentProvider, type InsightMenuTitleComponentProvider, type MeasureValueFilterComponentProvider, type RichTextComponentProvider, type RichTextMenuComponentProvider, type RichTextMenuTitleComponentProvider, type ShowAsTableButtonComponentProvider, type VisualizationSwitcherComponentProvider, type VisualizationSwitcherToolbarComponentProvider, type WidgetComponentProvider } from "./types.js";
|
|
21
|
+
import { type AttributeFilterComponentProvider, type DashboardContentComponentProvider, type DateFilterComponentProvider, type DrillDialogExportDropdownComponentProvider, type FilterGroupComponentProvider, type InsightBodyComponentProvider, type InsightComponentProvider, type InsightMenuButtonComponentProvider, type InsightMenuComponentProvider, type InsightMenuTitleComponentProvider, type MeasureValueFilterComponentProvider, type RestrictedPlaceholderComponentProvider, type RichTextComponentProvider, type RichTextMenuComponentProvider, type RichTextMenuTitleComponentProvider, type ShowAsTableButtonComponentProvider, type VisualizationSwitcherComponentProvider, type VisualizationSwitcherToolbarComponentProvider, type WidgetComponentProvider } from "./types.js";
|
|
22
22
|
/**
|
|
23
23
|
* @internal
|
|
24
24
|
*/
|
|
@@ -36,6 +36,7 @@ interface IDashboardComponentsContext {
|
|
|
36
36
|
RichTextMenuTitleComponentProvider: RichTextMenuTitleComponentProvider;
|
|
37
37
|
VisualizationSwitcherToolbarComponentProvider: VisualizationSwitcherToolbarComponentProvider;
|
|
38
38
|
RichTextComponentProvider: RichTextComponentProvider;
|
|
39
|
+
RestrictedPlaceholderComponentProvider: RestrictedPlaceholderComponentProvider;
|
|
39
40
|
VisualizationSwitcherComponentProvider: VisualizationSwitcherComponentProvider;
|
|
40
41
|
ButtonBarComponent: CustomButtonBarComponent;
|
|
41
42
|
MenuButtonComponent: CustomMenuButtonComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardComponentsContext.d.ts","sourceRoot":"","sources":["../../../src/presentation/dashboardContexts/DashboardComponentsContext.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DashboardComponentsContext.d.ts","sourceRoot":"","sources":["../../../src/presentation/dashboardContexts/DashboardComponentsContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ const DashboardComponentsContext = createContext({
|
|
|
20
20
|
RichTextMenuComponentProvider: ThrowMissingComponentError("RichTextMenuComponent"),
|
|
21
21
|
RichTextMenuTitleComponentProvider: ThrowMissingComponentError("RichTextMenuTitleComponentProvider"),
|
|
22
22
|
RichTextComponentProvider: ThrowMissingComponentError("RichTextComponent"),
|
|
23
|
+
RestrictedPlaceholderComponentProvider: ThrowMissingComponentError("RestrictedPlaceholderComponent"),
|
|
23
24
|
VisualizationSwitcherComponentProvider: ThrowMissingComponentError("VisualizationSwitcherComponent"),
|
|
24
25
|
WidgetComponentProvider: ThrowMissingComponentError("WidgetComponent"),
|
|
25
26
|
ButtonBarComponent: ThrowMissingComponentError("ButtonBarComponent"),
|
|
@@ -11,6 +11,7 @@ import { type CustomFilterBarComponent, type IFilterBarProps } from "../filterBa
|
|
|
11
11
|
import { type CustomDashboardMeasureValueFilterComponent } from "../filterBar/measureValueFilter/types.js";
|
|
12
12
|
import { type CustomTitleComponent, type ITitleProps } from "../topBar/title/types.js";
|
|
13
13
|
import { type CustomTopBarComponent, type ITopBarProps } from "../topBar/topBar/types.js";
|
|
14
|
+
import { type IRestrictedPlaceholderContentProps } from "../widget/common/RestrictedPlaceholder.js";
|
|
14
15
|
import { type CustomDashboardLayoutComponent, type CustomDashboardLayoutComponent as CustomDashboardNestedLayoutComponent, type IDashboardLayoutProps } from "../widget/dashboardLayout/types.js";
|
|
15
16
|
import { type CustomDashboardInsightComponent, type CustomInsightBodyComponent } from "../widget/insight/types.js";
|
|
16
17
|
import { type CustomDrillDialogExportDropdownComponent } from "../widget/insight/ViewModeDashboardInsight/InsightDrillDialog/drillDialogExportDropdownTypes.js";
|
|
@@ -97,6 +98,25 @@ export type RichTextComponentProvider = (widget: IRichTextWidget) => CustomDashb
|
|
|
97
98
|
* @public
|
|
98
99
|
*/
|
|
99
100
|
export type OptionalRichTextComponentProvider = OptionalProvider<RichTextComponentProvider>;
|
|
101
|
+
/**
|
|
102
|
+
* Content shown inside a restricted placeholder. The dashboard owns the surrounding tile, and for a
|
|
103
|
+
* visualization switcher also its entry list, so this component supplies only the inner content and
|
|
104
|
+
* is therefore usable in both places.
|
|
105
|
+
*
|
|
106
|
+
* @alpha
|
|
107
|
+
*/
|
|
108
|
+
export type CustomRestrictedPlaceholderComponent = ComponentType<IRestrictedPlaceholderContentProps>;
|
|
109
|
+
/**
|
|
110
|
+
* Provides the content shown in place of a widget the current user may not see. The insight itself
|
|
111
|
+
* is deliberately not passed — it is the object being withheld.
|
|
112
|
+
*
|
|
113
|
+
* @alpha
|
|
114
|
+
*/
|
|
115
|
+
export type RestrictedPlaceholderComponentProvider = (widget: IInsightWidget) => CustomRestrictedPlaceholderComponent;
|
|
116
|
+
/**
|
|
117
|
+
* @alpha
|
|
118
|
+
*/
|
|
119
|
+
export type OptionalRestrictedPlaceholderComponentProvider = OptionalProvider<RestrictedPlaceholderComponentProvider>;
|
|
100
120
|
/**
|
|
101
121
|
* @alpha
|
|
102
122
|
*/
|