@gooddata/sdk-ui-dashboard 11.43.0-alpha.3 → 11.43.0-alpha.4
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/index.d.ts +3 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/model/react/useWidgetExecConfig.d.ts +5 -3
- package/esm/model/react/useWidgetExecConfig.d.ts.map +1 -1
- package/esm/model/react/useWidgetExecConfig.js +8 -4
- package/esm/model/store/config/configSelectors.js +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +19 -0
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.js +46 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +13 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +24 -30
- package/esm/presentation/automations/_staging/alerting/AlertingManagementDialog.d.ts +1 -1
- package/esm/presentation/automations/_staging/alerting/AlertingManagementDialog.d.ts.map +1 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.js +1 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.js +3 -3
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts +1 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts.map +1 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/components/Alert.js +2 -2
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts +1 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts.map +1 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingManagementDialog/hooks/useAlertValidation.d.ts.map +1 -0
- package/esm/presentation/automations/_staging/alerting/{DefaultAlertingDialog → DefaultAlertingManagementDialog}/hooks/useAlertValidation.js +2 -2
- package/esm/presentation/automations/alerting/AlertingDialog.d.ts.map +1 -0
- package/esm/presentation/automations/{_staging/alerting → alerting}/AlertingDialog.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogHeader.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +21 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -0
- package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/DefaultAlertingDialog.js +58 -56
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts.map +1 -0
- package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/DefaultLoadingAlertingDialog.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertDeleteDialog.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertGranularitySelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertSensitivitySelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertThresholdInput.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/constants.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.d.ts +7 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.js +16 -0
- package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.d.ts +6 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.d.ts.map +1 -0
- package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.js +31 -5
- package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useEditAlert.d.ts +7 -7
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts.map +1 -0
- package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useEditAlert.js +15 -45
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useOperators.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useThresholdValue.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/messages.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/convertors.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/cron.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/getters.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/granularity.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/guards.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/items.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/responsive.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/threshold.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/transformation.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.d.ts +11 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.js +35 -0
- package/esm/presentation/automations/alerting/hooks/useGetSupportedMeasures.d.ts.map +1 -0
- package/esm/presentation/automations/{_staging/alerting → alerting}/hooks/useGetSupportedMeasures.js +2 -6
- package/esm/presentation/automations/{_staging/alerting → alerting}/types.d.ts +5 -3
- package/esm/presentation/automations/alerting/types.d.ts.map +1 -0
- package/esm/presentation/automations/connectors/AlertingConnector.d.ts +27 -0
- package/esm/presentation/automations/connectors/AlertingConnector.d.ts.map +1 -0
- package/esm/presentation/automations/connectors/AlertingConnector.js +72 -0
- package/esm/presentation/automations/connectors/hooks/sanitizeAutomationForSave.d.ts +15 -0
- package/esm/presentation/automations/connectors/hooks/sanitizeAutomationForSave.d.ts.map +1 -0
- package/esm/presentation/automations/connectors/hooks/sanitizeAutomationForSave.js +25 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.d.ts +9 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.d.ts.map +1 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.js +128 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.d.ts +2 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.d.ts.map +1 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.js +66 -0
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +65 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.test.js +27 -0
- package/esm/presentation/automations/contexts/AlertingDialogContext.d.ts +32 -0
- package/esm/presentation/automations/contexts/AlertingDialogContext.d.ts.map +1 -0
- package/esm/presentation/automations/contexts/AlertingDialogContext.js +11 -0
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts +20 -1
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/contexts/AutomationsContext.js +4 -1
- package/esm/presentation/automations/contexts/AutomationsContext.test.js +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +2 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.test.js +19 -0
- package/esm/presentation/dashboard/DashboardHeader/AlertingDialogProvider.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardHeader/AlertingDialogProvider.js +18 -4
- package/esm/presentation/dashboard/components/DashboardRenderer.js +1 -1
- package/esm/presentation/dashboard/types.d.ts +1 -1
- package/esm/presentation/dashboard/types.d.ts.map +1 -1
- package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts +1 -1
- package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.d.ts +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.js +6 -28
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts +0 -3
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts.map +1 -1
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js +16 -3
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.js +11 -2
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +4 -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 +4 -0
- package/esm/presentation/topBar/menuButton/DefaultMenuButton.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/DefaultMenuButton.js +9 -9
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.js +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +23 -14
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.js +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +4 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.d.ts +3 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.js +5 -5
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useSaveAlertToBackend.d.ts +0 -11
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useSaveAlertToBackend.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useSaveAlertToBackend.js +2 -17
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.js +3 -3
- package/esm/sdk-ui-dashboard.d.ts +18 -1
- package/package.json +20 -20
- package/styles/css/dashboard.css +7 -7
- package/styles/css/drillSelect.css +0 -49
- package/styles/css/drillSelect.css.map +1 -1
- package/styles/css/main.css +10 -61
- package/styles/css/main.css.map +1 -1
- package/styles/css/notifications_channels_dialog.css +7 -7
- package/styles/css/topBar.css +3 -5
- package/styles/css/topBar.css.map +1 -1
- package/styles/scss/drillSelect.scss +0 -65
- package/styles/scss/notifications_channels_dialog.scss +1 -1
- package/styles/scss/topBar.scss +3 -9
- package/esm/presentation/automations/_staging/alerting/AlertingDialog.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/AlertingDialogHeader.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +0 -7
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertDeleteDialog.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertGranularitySelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertSensitivitySelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertThresholdInput.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/constants.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/hooks/useAlertValidation.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/hooks/useOperators.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/hooks/useThresholdValue.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/messages.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/convertors.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/cron.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/getters.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/granularity.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/guards.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/items.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/responsive.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/threshold.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/DefaultAlertingDialog/utils/transformation.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/hooks/useGetSupportedMeasures.d.ts.map +0 -1
- package/esm/presentation/automations/_staging/alerting/types.d.ts.map +0 -1
- package/esm/presentation/dashboard/DashboardHeader/AlertingDialogProviderNew.d.ts +0 -2
- package/esm/presentation/dashboard/DashboardHeader/AlertingDialogProviderNew.d.ts.map +0 -1
- package/esm/presentation/dashboard/DashboardHeader/AlertingDialogProviderNew.js +0 -28
- /package/esm/presentation/automations/_staging/alerting/{DefaultAlertingDialog → DefaultAlertingManagementDialog}/hooks/useAlertValidation.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/AlertingDialog.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/AlertingDialogHeader.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/AlertingDialogHeader.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertAttributeSelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertDeleteDialog.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertDeleteDialog.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertDestinationSelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertDestinationSelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertGranularitySelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertGranularitySelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertMeasureSelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertSensitivitySelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertSensitivitySelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertThresholdInput.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertThresholdInput.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/components/AlertTriggerModeSelect.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/constants.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/constants.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useOperators.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useOperators.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useThresholdValue.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/hooks/useThresholdValue.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/messages.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/messages.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/convertors.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/convertors.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/cron.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/cron.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/getters.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/getters.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/granularity.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/granularity.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/guards.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/guards.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/items.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/items.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/responsive.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/responsive.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/threshold.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/threshold.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/transformation.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/DefaultAlertingDialog/utils/transformation.js +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/hooks/useGetSupportedMeasures.d.ts +0 -0
- /package/esm/presentation/automations/{_staging/alerting → alerting}/types.js +0 -0
|
@@ -126,7 +126,7 @@ export function DrillSelectDropdown({ isOpen, dropDownAnchorClass, onClose, onCl
|
|
|
126
126
|
}
|
|
127
127
|
return (_jsx("div", { className: "gd-drill-modal-picker-overlay-mask", children: _jsx(Overlay, { closeOnOutsideClick: true, closeOnEscape: true, alignTo: `.${dropDownAnchorClass}`, alignPoints: alignPoints, onClose: onCloseReturnFocus, children: _jsx(UiFocusManager, { enableFocusTrap: true, enableAutofocus: true, children: _jsx("div", { onScroll: stopPropagation, className: "gd-drill-modal-picker-dropdown s-drill-item-selector-dropdown", children: _jsx(UiMenu, { items: menuItems, onSelect: (item) => {
|
|
128
128
|
item.data.onSelect();
|
|
129
|
-
}, shouldCloseOnSelect: false, onClose: onCloseReturnFocus, onUnhandledKeyDown: handleKeyDown, maxHeight: 160, containerBottomPadding: "medium", ariaAttributes: {
|
|
129
|
+
}, shouldCloseOnSelect: false, onClose: onCloseReturnFocus, onUnhandledKeyDown: handleKeyDown, maxHeight: 160, containerBottomPadding: "medium", size: "small", ariaAttributes: {
|
|
130
130
|
id: "drill-select-menu",
|
|
131
131
|
"aria-label": intl.formatMessage({
|
|
132
132
|
id: "drill_modal_picker.label",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type IUiMenuInteractiveItemProps } from "@gooddata/sdk-ui-kit";
|
|
2
2
|
import { type IDrillSelectDropdownMenuItemData } from "../hooks/useDrillSelectDropdownMenuItems.js";
|
|
3
|
-
export declare function DrillSelectDropdownMenuItem(
|
|
3
|
+
export declare function DrillSelectDropdownMenuItem(props: IUiMenuInteractiveItemProps<IDrillSelectDropdownMenuItemData>): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=DrillSelectDropdownMenuItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillSelectDropdownMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrillSelectDropdownMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAEpG,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,2CAiBvE"}
|
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2025-2026 GoodData Corporation
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const DRILL_ICON_NAME = {
|
|
8
|
-
[DrillType.DRILL_TO_DASHBOARD]: "drillTo",
|
|
9
|
-
[DrillType.DRILL_TO_INSIGHT]: "drillTo",
|
|
10
|
-
[DrillType.DRILL_TO_URL]: "link",
|
|
11
|
-
[DrillType.DRILL_DOWN]: "trendDown",
|
|
12
|
-
[DrillType.CROSS_FILTERING]: "filter",
|
|
13
|
-
[DrillType.KEY_DRIVER_ANALYSIS]: "explainai",
|
|
14
|
-
};
|
|
15
|
-
export function DrillSelectDropdownMenuItem({ item, }) {
|
|
16
|
-
const { type, name, attributeValue } = item.data;
|
|
17
|
-
const { isDisabled, tooltip } = item;
|
|
18
|
-
const renderLoading = () => {
|
|
3
|
+
import { DefaultUiMenuInteractiveItem } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
export function DrillSelectDropdownMenuItem(props) {
|
|
5
|
+
const { item, isFocused } = props;
|
|
6
|
+
if (!item.stringTitle) {
|
|
19
7
|
return (_jsx("div", { className: "gd-drill-to-url-modal-picker s-drill-to-url-modal-picker", children: _jsx("div", { className: "gd-spinner small" }) }));
|
|
20
|
-
};
|
|
21
|
-
const itemClassName = cx("gd-drill-modal-picker-list-item", "s-gd-drill-modal-picker-item", `s-${type}`, {
|
|
22
|
-
"is-disabled": isDisabled,
|
|
23
|
-
});
|
|
24
|
-
// make sure there is no trailing space in case attributeLabel is empty
|
|
25
|
-
const title = compact([name, attributeValue]).join(" ");
|
|
26
|
-
const content = (_jsxs("div", { className: itemClassName, title: title, children: [
|
|
27
|
-
_jsx("div", { className: "gd-drill-modal-picker-icon-wrapper", children: _jsx(UiIcon, { type: DRILL_ICON_NAME[type], size: 16, color: "complementary-5" }) }), name ? (_jsxs("p", { children: [name, attributeValue ? _jsxs("span", { children: ["\u00A0(", attributeValue, ")"] }) : null] })) : (renderLoading())] }));
|
|
28
|
-
if (tooltip) {
|
|
29
|
-
return (_jsx(UiTooltip, { anchor: content, content: tooltip, optimalPlacement: true, triggerBy: ["hover"], arrowPlacement: "left" }));
|
|
30
8
|
}
|
|
31
|
-
return
|
|
9
|
+
return (_jsx("div", { className: `s-gd-drill-modal-picker-item s-${item.data.type}`, children: _jsx(DefaultUiMenuInteractiveItem, { item: item, isFocused: isFocused }) }));
|
|
32
10
|
}
|
|
@@ -4,10 +4,7 @@ import { DrillType, type IDrillSelectItem } from "../DrillSelect/types.js";
|
|
|
4
4
|
export interface IDrillSelectDropdownMenuItemData {
|
|
5
5
|
interactive: {
|
|
6
6
|
type: DrillType;
|
|
7
|
-
name: string;
|
|
8
7
|
drillDefinition: DashboardDrillDefinition;
|
|
9
|
-
context?: unknown;
|
|
10
|
-
attributeValue?: string | null;
|
|
11
8
|
onSelect: () => void;
|
|
12
9
|
};
|
|
13
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDrillSelectDropdownMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDrillSelectDropdownMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAuB3E,MAAM,WAAW,gCAAgC;IAC7C,WAAW,EAAE;QACT,IAAI,EAAE,SAAS,CAAC;QAChB,eAAe,EAAE,wBAAwB,CAAC;QAC1C,QAAQ,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;CACL;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjF,eAAO,MAAM,+BAA+B;;;;;;;4BAiG3C,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
// (C) 2025-2026 GoodData Corporation
|
|
2
3
|
import { useMemo } from "react";
|
|
4
|
+
import { compact } from "lodash-es";
|
|
3
5
|
import { defineMessages, useIntl } from "react-intl";
|
|
6
|
+
import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
4
7
|
import { DrillType } from "../DrillSelect/types.js";
|
|
5
8
|
const groupMenuItemMessages = defineMessages({
|
|
6
9
|
drillDown: { id: "drill_modal_picker.drill-down" },
|
|
@@ -9,6 +12,17 @@ const groupMenuItemMessages = defineMessages({
|
|
|
9
12
|
keyDriverAnalysis: { id: "drill_modal_picker.key-driver-analysis" },
|
|
10
13
|
drillToUrl: { id: "drill_modal_picker.drill-to-url" },
|
|
11
14
|
});
|
|
15
|
+
const DRILL_ICON_NAME = {
|
|
16
|
+
[DrillType.DRILL_TO_DASHBOARD]: "drillTo",
|
|
17
|
+
[DrillType.DRILL_TO_INSIGHT]: "drillTo",
|
|
18
|
+
[DrillType.DRILL_TO_URL]: "link",
|
|
19
|
+
[DrillType.DRILL_DOWN]: "trendDown",
|
|
20
|
+
[DrillType.CROSS_FILTERING]: "filter",
|
|
21
|
+
[DrillType.KEY_DRIVER_ANALYSIS]: "explainai",
|
|
22
|
+
};
|
|
23
|
+
function getMenuItemStringTitle(item) {
|
|
24
|
+
return compact([item.name, item.attributeValue ? `(${item.attributeValue})` : null]).join(" ");
|
|
25
|
+
}
|
|
12
26
|
export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, crossFilteringItems, keyDriverAnalysisItems, drillToUrlItems, onSelect, }) => {
|
|
13
27
|
const { formatMessage } = useIntl();
|
|
14
28
|
return useMemo(() => {
|
|
@@ -20,7 +34,8 @@ export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, cr
|
|
|
20
34
|
subItems: items.map((item, index) => ({
|
|
21
35
|
type: "interactive",
|
|
22
36
|
id: `${groupId}-${index}`,
|
|
23
|
-
stringTitle: item
|
|
37
|
+
stringTitle: getMenuItemStringTitle(item),
|
|
38
|
+
iconLeft: _jsx(UiIcon, { type: DRILL_ICON_NAME[item.type], size: 16, color: "complementary-5" }),
|
|
24
39
|
isDisabled: item.isDisabled,
|
|
25
40
|
tooltip: item.tooltipText,
|
|
26
41
|
ariaAttributes: {
|
|
@@ -30,8 +45,6 @@ export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, cr
|
|
|
30
45
|
},
|
|
31
46
|
data: {
|
|
32
47
|
type: item.type,
|
|
33
|
-
name: item.name,
|
|
34
|
-
attributeValue: item.attributeValue,
|
|
35
48
|
drillDefinition: item.drillDefinition,
|
|
36
49
|
onSelect: () => {
|
|
37
50
|
onSelect(item.drillDefinition, item.context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultFilterBarContainer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/filterBar/filterBar/DefaultFilterBarContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,SAAS,EAOjB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultFilterBarContainer.d.ts","sourceRoot":"","sources":["../../../../src/presentation/filterBar/filterBar/DefaultFilterBarContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,SAAS,EAOjB,MAAM,OAAO,CAAC;AAqbf;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,2CAQ/E"}
|
|
@@ -46,11 +46,13 @@ function DefaultFilterBarContainerCore({ children }) {
|
|
|
46
46
|
}), [isApplyAllAtOnceEnabledAndSet]);
|
|
47
47
|
const intl = useIntl();
|
|
48
48
|
const [expandedAutomatically, setExpandedAutomatically] = useState(false);
|
|
49
|
+
const [collapseAnnouncement, setCollapseAnnouncement] = useState("");
|
|
49
50
|
const onContainerFocus = useCallback(() => {
|
|
50
51
|
// detect if event is mouse
|
|
51
52
|
if (!isFocusVisible()) {
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
55
|
+
setCollapseAnnouncement("");
|
|
54
56
|
setFilterBarExpanded(true);
|
|
55
57
|
setExpandedAutomatically(true);
|
|
56
58
|
}, [setFilterBarExpanded]);
|
|
@@ -58,8 +60,15 @@ function DefaultFilterBarContainerCore({ children }) {
|
|
|
58
60
|
if (isFocusVisible() && expandedAutomatically) {
|
|
59
61
|
setFilterBarExpanded(false);
|
|
60
62
|
setExpandedAutomatically(false);
|
|
63
|
+
const message = `${intl.formatMessage({ id: "filterBar.label" })}. ${intl.formatMessage({
|
|
64
|
+
id: "filterBar.filterListAutoCollapsed",
|
|
65
|
+
})}`;
|
|
66
|
+
setCollapseAnnouncement(message);
|
|
61
67
|
}
|
|
62
|
-
|
|
68
|
+
else {
|
|
69
|
+
setCollapseAnnouncement("");
|
|
70
|
+
}
|
|
71
|
+
}, [setFilterBarExpanded, expandedAutomatically, intl]);
|
|
63
72
|
const bubbleText = hasInvalidFilterSelections
|
|
64
73
|
? intl.formatMessage({ id: "filterBar.invalidFilterSelection" }, { names: filtersWithInvalidSelection.join(", ") })
|
|
65
74
|
: intl.formatMessage({ id: "filterBar.applyFilters" });
|
|
@@ -83,7 +92,7 @@ function DefaultFilterBarContainerCore({ children }) {
|
|
|
83
92
|
date: formattedDate,
|
|
84
93
|
} }), _jsx("span", { className: "filters-message-spacer" }), _jsx(FormattedMessage, { id: "filterBar.executionTimestampNotificationAction", values: {
|
|
85
94
|
link: (chunks) => _jsx("a", { onClick: onShowCurrentTimestampDashboard, children: chunks }),
|
|
86
|
-
} })] }) })) : null] }));
|
|
95
|
+
} })] }) })) : null, !isFilterBarExpanded && collapseAnnouncement ? (_jsx("div", { className: "sr-only", role: "alert", children: collapseAnnouncement })) : null] }));
|
|
87
96
|
}
|
|
88
97
|
function AllFiltersContainer({ setCalculatedRows, isAutoExpanded, children, }) {
|
|
89
98
|
const ref = useRef(null);
|
|
@@ -99,6 +99,10 @@ export declare const en_US: {
|
|
|
99
99
|
text: string;
|
|
100
100
|
crowdinContext: string;
|
|
101
101
|
};
|
|
102
|
+
"filterBar.filterListAutoCollapsed": {
|
|
103
|
+
text: string;
|
|
104
|
+
crowdinContext: string;
|
|
105
|
+
};
|
|
102
106
|
"filterBar.unappliedFiltersNotification": {
|
|
103
107
|
text: string;
|
|
104
108
|
crowdinContext: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA65GjB,CAAC"}
|
|
@@ -101,6 +101,10 @@ export const en_US = {
|
|
|
101
101
|
"text": "Filter list has been auto-expanded",
|
|
102
102
|
"crowdinContext": "Screen reader announcement when the filter bar is automatically expanded to show all filters on keyboard focus."
|
|
103
103
|
},
|
|
104
|
+
"filterBar.filterListAutoCollapsed": {
|
|
105
|
+
"text": "Filter list has been auto-collapsed",
|
|
106
|
+
"crowdinContext": "Screen reader announcement when the filter bar is automatically collapsed to show fewer filters on keyboard focus out."
|
|
107
|
+
},
|
|
104
108
|
"filterBar.unappliedFiltersNotification": {
|
|
105
109
|
"text": "<link>Apply filters</link> to see updated data.",
|
|
106
110
|
"crowdinContext": "Message banner shown when filters are changed but not yet applied. The <link> tags create a clickable action to apply the filters."
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultMenuButton.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/menuButton/DefaultMenuButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,YAAY,EAOpB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultMenuButton.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/menuButton/DefaultMenuButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,YAAY,EAOpB,MAAM,OAAO,CAAC;AA4Bf,OAAO,EAIH,KAAK,gBAAgB,EACxB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CA+NtF"}
|
|
@@ -3,7 +3,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
6
|
-
import {
|
|
6
|
+
import { ItemsWrapper, Overlay, SingleSelectListItem, UiFocusManager, UiIcon, UiIconButton, UiTooltip, findFocusableElementOutsideContainer, getFocusableElements, isActionKey, makeMenuKeyboardNavigation, useId, useIdPrefixed, useMediaQuery, } from "@gooddata/sdk-ui-kit";
|
|
7
7
|
import { DEFAULT_MENU_BUTTON_ID } from "../../../_staging/accessibility/elementId.js";
|
|
8
8
|
import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
9
9
|
import { selectDashboardDensity } from "../../../model/store/ui/uiSelectors.js";
|
|
@@ -16,6 +16,7 @@ export function DefaultMenuButton({ menuItems }) {
|
|
|
16
16
|
const [isOpen, setIsOpen] = useState(false);
|
|
17
17
|
const [autofocusSubmenu, setAutofocusSubmenu] = useState(false);
|
|
18
18
|
const intl = useIntl();
|
|
19
|
+
const smallScreen = useMediaQuery("mobileDevice");
|
|
19
20
|
const tooltipText = intl.formatMessage({ id: "controlButtons.options.tooltip" });
|
|
20
21
|
const backLabel = intl.formatMessage({ id: "controlButtons.options.back" });
|
|
21
22
|
const closeLabel = intl.formatMessage({ id: "controlButtons.options.closeMenu" });
|
|
@@ -139,14 +140,13 @@ export function DefaultMenuButton({ menuItems }) {
|
|
|
139
140
|
] }) }) }) }, "topBarMenuButton"));
|
|
140
141
|
};
|
|
141
142
|
return (_jsxs(_Fragment, { children: [
|
|
142
|
-
_jsx(UiTooltip, { arrowPlacement: "top-end", content: tooltipText, anchor: _jsx(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
} }), triggerBy: ["hover", "focus"] }), isOpen ? renderMenuItems() : null] }));
|
|
143
|
+
_jsx("div", { className: cx("dash-header-options-button", dropdownAnchorClassName), children: _jsx(UiTooltip, { arrowPlacement: "top-end", content: tooltipText, anchor: _jsx(UiIconButton, { ref: triggerButtonRef, onClick: onMenuButtonClick, icon: "ellipsis", id: DEFAULT_MENU_BUTTON_ID, dataTestId: "s-header-options-button", variant: smallScreen ? "tertiary" : "secondary", size: smallScreen ? "xlarge" : density === "compact" ? "small" : "medium", accessibilityConfig: {
|
|
144
|
+
role: "button",
|
|
145
|
+
ariaLabel: tooltipText,
|
|
146
|
+
ariaExpanded: isOpen,
|
|
147
|
+
ariaHaspopup: "menu",
|
|
148
|
+
ariaControls: isOpen ? menuId : undefined,
|
|
149
|
+
} }), triggerBy: ["hover", "focus"] }) }), isOpen ? renderMenuItems() : null] }));
|
|
150
150
|
}
|
|
151
151
|
function MenuItem({ menuItem, selectedMenuItem, setMenuItemRef, setSelectedMenuItem, setParentItemId, setAutofocusSubmenu, setIsOpen, }) {
|
|
152
152
|
const tooltipId = useIdPrefixed(`menu-tooltip-${menuItem.itemId}`);
|
package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js
CHANGED
|
@@ -164,7 +164,7 @@ export function DashboardInsight({ insight, widget, clientHeight, clientWidth, b
|
|
|
164
164
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
165
165
|
[onError, executionsHandler.onError, onResolveAsyncRender]);
|
|
166
166
|
const effectiveError = filtersError ?? visualizationError;
|
|
167
|
-
const execConfig = useWidgetExecConfig(ref);
|
|
167
|
+
const execConfig = useWidgetExecConfig(ref, insight);
|
|
168
168
|
useEffect(() => {
|
|
169
169
|
// Clear a stale error (e.g. "no data") on any execution change — parameters flow via execConfig, not filters.
|
|
170
170
|
setVisualizationError(undefined);
|
|
@@ -116,7 +116,7 @@ export function DrillDialogInsight({ insight, widget, backend, workspace, drillS
|
|
|
116
116
|
useEffect(() => {
|
|
117
117
|
onWidgetFiltersReady?.(filtersForInsight);
|
|
118
118
|
}, [filtersForInsight, onWidgetFiltersReady]);
|
|
119
|
-
const execConfig = useWidgetExecConfig(widget.ref);
|
|
119
|
+
const execConfig = useWidgetExecConfig(widget.ref, insight);
|
|
120
120
|
return (_jsx("div", { style: insightStyle, children: _jsx("div", { style: insightPositionStyle, children: _jsxs(IntlWrapper, { locale: locale, children: [filtersStatus === "running" || isVisualizationLoading ? _jsx(LoadingComponent, {}) : null, effectiveError ? (_jsx(CustomError, { error: effectiveError,
|
|
121
121
|
// drill dialog does not measure its size but is always large enough to fit the full content
|
|
122
122
|
forceFullContent: true })) : null, filtersStatus === "success" ? (_jsx("div", { ref: visualizationContainerRef, className: "insight-view-visualization", style: insightWrapperStyle, children: _jsx(InsightBody, { widget: widget, insight: finalInsight, layerTables: layerTables && layerTables.length > 1 ? layerTables : undefined, backend: effectiveBackend, workspace: effectiveWorkspace, drillableItems: drillableItems, onDrill: onDrill, config: chartConfig, onLoadingChanged: handleLoadingChanged, locale: locale, settings: settings, permissions: permissions, colorPalette: colorPalette, onError: handleError, onExportReady: onExportReady, pushData: handlePushData, ErrorComponent: ErrorComponent, LoadingComponent: LoadingComponent, execConfig: execConfig, drillStep: drillStep }) })) : null] }) }) }));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type IAutomationMetadataObject, type ISeparators } from "@gooddata/sdk-model";
|
|
2
2
|
import { type IInputPureProps } from "@gooddata/sdk-ui-kit";
|
|
3
|
-
import { type AlertMetric } from "../../../../automations/
|
|
3
|
+
import { type AlertMetric } from "../../../../automations/alerting/types.js";
|
|
4
4
|
export interface IAlertTitleProps {
|
|
5
5
|
id?: string;
|
|
6
6
|
measures: AlertMetric[];
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertTitle.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,KAAK,eAAe,EAAS,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AlertTitle.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,KAAK,eAAe,EAAS,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAC7C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CACzC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAkBzF"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
// (C) 2025-2026 GoodData Corporation
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { Input } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { getDescription } from "../../../../automations/
|
|
5
|
+
import { getDescription } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
6
6
|
export function AlertTitle({ id, alert, measures, separators, onChange }) {
|
|
7
7
|
const intl = useIntl();
|
|
8
8
|
const description = getDescription(intl, measures, alert, separators);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type IAutomationMetadataObjectDefinition, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators, type IWorkspaceUser } from "@gooddata/sdk-model";
|
|
2
2
|
import { type IExecutionResultEnvelope } from "../../../../../model/store/executionResults/types.js";
|
|
3
|
-
import { type IMeasureFormatMap } from "../../../../automations/
|
|
4
|
-
import { type AlertAttribute, type AlertMetric } from "../../../../automations/
|
|
3
|
+
import { type IMeasureFormatMap } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
4
|
+
import { type AlertAttribute, type AlertMetric } from "../../../../automations/alerting/types.js";
|
|
5
5
|
interface ICreateAlertProps {
|
|
6
6
|
canManageAttributes: boolean;
|
|
7
7
|
canManageComparison: boolean;
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAChB,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AACrG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"CreateAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAChB,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AACrG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yEAAyE,CAAC;AACjH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAIlG,UAAU,iBAAiB;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjD,KAAK,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,WAAW,CAAC,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EAC3B,EAAE,iBAAiB,2CAyBnB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators, type IWorkspaceUser } from "@gooddata/sdk-model";
|
|
2
2
|
import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
|
|
3
3
|
import { type IExecutionResultEnvelope } from "../../../../../model/store/executionResults/types.js";
|
|
4
|
-
import { type IMeasureFormatMap } from "../../../../automations/
|
|
5
|
-
import { type AlertAttribute, type AlertMetric } from "../../../../automations/
|
|
4
|
+
import { type IMeasureFormatMap } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
5
|
+
import { type AlertAttribute, type AlertMetric } from "../../../../automations/alerting/types.js";
|
|
6
6
|
interface IEditAlertProps {
|
|
7
7
|
canManageAttributes: boolean;
|
|
8
8
|
canManageComparison: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"EditAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAExB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAChB,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAMH,KAAK,mBAAmB,EAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAgBrG,OAAO,EACH,KAAK,iBAAiB,EAWzB,MAAM,yEAAyE,CAAC;AAMjF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAwBlG,UAAU,eAAe;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjD,KAAK,EAAE,yBAAyB,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,wBAAgB,SAAS,CAAC,EACtB,KAAK,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,qBAA6B,EAC7B,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EAC3B,EAAE,eAAe,2CA8XjB"}
|
|
@@ -2,19 +2,22 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
// (C) 2022-2026 GoodData Corporation
|
|
3
3
|
import { FormattedMessage, defineMessages, useIntl } from "react-intl";
|
|
4
4
|
import { Bubble, BubbleHoverTrigger, Button, Input, Message, } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
5
|
+
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
6
|
+
import { selectInsightByWidgetRef } from "../../../../../model/store/insights/insightsSelectors.js";
|
|
7
|
+
import { selectWidgets } from "../../../../../model/store/tabs/layout/layoutSelectors.js";
|
|
8
|
+
import { AlertAttributeSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.js";
|
|
9
|
+
import { AlertComparisonOperatorSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js";
|
|
10
|
+
import { AlertComparisonPeriodSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js";
|
|
11
|
+
import { AlertDestinationSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.js";
|
|
12
|
+
import { AlertGranularitySelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertGranularitySelect.js";
|
|
13
|
+
import { AlertMeasureSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.js";
|
|
14
|
+
import { AlertSensitivitySelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertSensitivitySelect.js";
|
|
15
|
+
import { useAlertValidation, } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useAlertValidation.js";
|
|
16
|
+
import { useAttributeValuesFromExecResults } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.js";
|
|
17
|
+
import { useThresholdValue } from "../../../../automations/alerting/DefaultAlertingDialog/hooks/useThresholdValue.js";
|
|
18
|
+
import { getAlertAiOperator, getAlertAttribute, getAlertCompareOperator, getAlertComparison, getAlertFilters, getAlertGranularity, getAlertMeasure, getAlertRelativeOperator, getAlertSensitivity, getValueSuffix, } from "../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
19
|
+
import { translateGranularity } from "../../../../automations/alerting/DefaultAlertingDialog/utils/granularity.js";
|
|
20
|
+
import { isAnomalyDetection, isChangeOrDifferenceOperator, } from "../../../../automations/alerting/DefaultAlertingDialog/utils/guards.js";
|
|
18
21
|
import { RecipientsSelect } from "../../../../automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js";
|
|
19
22
|
import { DashboardInsightSubmenuContainer } from "../../../insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightSubmenuContainer.js";
|
|
20
23
|
import { AlertTitle } from "./AlertTitle.js";
|
|
@@ -63,7 +66,13 @@ export function EditAlert({ alert, execResult, isNewAlert, hasAlerts, destinatio
|
|
|
63
66
|
const selectedAiOperator = getAlertAiOperator(updatedAlert.alert);
|
|
64
67
|
const selectedSensitivity = getAlertSensitivity(updatedAlert.alert);
|
|
65
68
|
const selectedGranularity = getAlertGranularity(updatedAlert.alert);
|
|
66
|
-
const
|
|
69
|
+
const widgetLocalId = alert?.metadata?.widget;
|
|
70
|
+
const allWidgets = useDashboardSelector(selectWidgets);
|
|
71
|
+
const alertWidget = widgetLocalId
|
|
72
|
+
? allWidgets.find((w) => w.localIdentifier === widgetLocalId)
|
|
73
|
+
: undefined;
|
|
74
|
+
const alertInsight = useDashboardSelector(selectInsightByWidgetRef(alertWidget?.ref));
|
|
75
|
+
const { isValid, invalidityReason } = useAlertValidation(alert, alertWidget, alertInsight, catalogDateDatasets, isNewAlert, canManageComparison);
|
|
67
76
|
const showFilterInfo = filters.length > 0 || Boolean(selectedComparator?.granularity);
|
|
68
77
|
const { isResultLoading, getAttributeValues, getMetricValue } = useAttributeValuesFromExecResults(execResult);
|
|
69
78
|
const { value, onChange, onBlur } = useThresholdValue(changeValue, getMetricValue, isNewAlert, updatedAlert.alert, selectedRelativeOperator, selectedMeasure, selectedAttribute, selectedValue);
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useState } from "react";
|
|
|
4
4
|
import { FormattedMessage } from "react-intl";
|
|
5
5
|
import { Bubble, BubbleHoverTrigger, Button, IconQuestionMark, } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import { useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
7
|
-
import { AlertTriggerModeSelect } from "../../../../automations/
|
|
7
|
+
import { AlertTriggerModeSelect } from "../../../../automations/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.js";
|
|
8
8
|
import { gdColorStateBlank } from "../../../../constants/colors.js";
|
|
9
9
|
const TOOLTIP_ALIGN_POINTS = [
|
|
10
10
|
{ align: "cr cl", offset: { x: 0, y: -1 } },
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type DateAttributeGranularity, type IAlertAnomalyDetectionGranularity, type IAlertAnomalyDetectionSensitivity, type IAlertComparisonOperator, type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators } from "@gooddata/sdk-model";
|
|
2
|
-
import { type IMeasureFormatMap } from "../../../../../automations/
|
|
3
|
-
import { type AlertAttribute, type AlertMetric, type AlertMetricComparatorType } from "../../../../../automations/
|
|
2
|
+
import { type IMeasureFormatMap } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
3
|
+
import { type AlertAttribute, type AlertMetric, type AlertMetricComparatorType } from "../../../../../automations/alerting/types.js";
|
|
4
4
|
export interface IUseEditAlertProps {
|
|
5
5
|
metrics: AlertMetric[];
|
|
6
6
|
attributes: AlertAttribute[];
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditAlert.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAInB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useEditAlert.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAInB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,EACH,KAAK,iBAAiB,EAEzB,MAAM,4EAA4E,CAAC;AAiBpF,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EACjC,MAAM,8CAA8C,CAAC;AAStD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,KAAK,EAAE,yBAAyB,CAAC;IACjC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmRxB,CAAC"}
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js
CHANGED
|
@@ -3,17 +3,17 @@ import { useCallback, useState } from "react";
|
|
|
3
3
|
import { isEqual } from "lodash-es";
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
import { isAutomationExternalUserRecipient, isAutomationUnknownUserRecipient, isAutomationUserRecipient, } from "@gooddata/sdk-model";
|
|
6
|
-
import { convertCurrentUserToAutomationRecipient, convertCurrentUserToWorkspaceUser, } from "../../../../../../_staging/automation/index.js";
|
|
7
6
|
import { useDashboardSelector } from "../../../../../../model/react/DashboardStoreProvider.js";
|
|
8
7
|
import { selectEnableAnomalyDetectionAlert, selectEnableExternalRecipients, selectTimezone, selectWeekStart, } from "../../../../../../model/store/config/configSelectors.js";
|
|
9
8
|
import { selectEntitlementMinimumRecurrenceMinutes } from "../../../../../../model/store/entitlements/entitlementsSelectors.js";
|
|
10
9
|
import { selectCanUseAiAssistant } from "../../../../../../model/store/permissions/permissionsSelectors.js";
|
|
11
10
|
import { selectCurrentUser } from "../../../../../../model/store/user/userSelectors.js";
|
|
12
11
|
import { selectUsers } from "../../../../../../model/store/users/usersSelectors.js";
|
|
13
|
-
import { getDescription, } from "../../../../../automations/
|
|
14
|
-
import { isAlertRecipientsValid, isAlertValueDefined, } from "../../../../../automations/
|
|
15
|
-
import { transformAlertByAnomalyDetection, transformAlertByAttribute, transformAlertByComparisonOperator, transformAlertByDestination, transformAlertByGranularity, transformAlertByMetric, transformAlertByRelativeOperator, transformAlertBySensitivity, transformAlertByTitle, transformAlertByValue, } from "../../../../../automations/
|
|
12
|
+
import { getDescription, } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
13
|
+
import { isAlertRecipientsValid, isAlertValueDefined, } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/guards.js";
|
|
14
|
+
import { transformAlertByAnomalyDetection, transformAlertByAttribute, transformAlertByComparisonOperator, transformAlertByDestination, transformAlertByGranularity, transformAlertByMetric, transformAlertByRelativeOperator, transformAlertBySensitivity, transformAlertByTitle, transformAlertByValue, } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/transformation.js";
|
|
16
15
|
import { isEmail } from "../../../../../automations/scheduledEmail/utils/validate.js";
|
|
16
|
+
import { convertCurrentUserToAutomationRecipient, convertCurrentUserToWorkspaceUser, } from "../../../../../automations/shared/utils/automationUtils.js";
|
|
17
17
|
const DEFAULT_MIN_RECURRENCE_MINUTES = "60";
|
|
18
18
|
export const useEditAlert = ({ metrics, attributes, alert, onCreate, onUpdate, measureFormatMap, destinations, separators, }) => {
|
|
19
19
|
const [viewMode, setViewMode] = useState("edit");
|
|
@@ -27,14 +27,14 @@ export declare const useInsightWidgetAlerting: ({ widget, closeInsightWidgetMenu
|
|
|
27
27
|
hasAlerts: boolean;
|
|
28
28
|
execResult: import("../../../../../../index.js").IExecutionResultEnvelope | undefined;
|
|
29
29
|
separators: import("@gooddata/sdk-model").ISeparators;
|
|
30
|
-
supportedMeasures: import("../../../../../automations/
|
|
31
|
-
supportedAttributes: import("../../../../../automations/
|
|
30
|
+
supportedMeasures: import("../../../../../automations/alerting/types.js").AlertMetric[];
|
|
31
|
+
supportedAttributes: import("../../../../../automations/alerting/types.js").AlertAttribute[];
|
|
32
32
|
maxAutomationsReached: boolean;
|
|
33
33
|
maxAutomationsRecipients: number;
|
|
34
34
|
canManageAttributes: boolean;
|
|
35
35
|
canManageComparison: boolean;
|
|
36
36
|
canCreateAutomation: boolean;
|
|
37
|
-
measureFormatMap: import("../../../../../automations/
|
|
37
|
+
measureFormatMap: import("../../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js").IMeasureFormatMap;
|
|
38
38
|
catalogAttributes: import("@gooddata/sdk-model").ICatalogAttribute[];
|
|
39
39
|
catalogDateDatasets: import("@gooddata/sdk-model").ICatalogDateDataset[];
|
|
40
40
|
isExecutionTimestampMode: boolean;
|
|
@@ -3,7 +3,6 @@ import { useCallback, useEffect, useMemo, useState } from "react";
|
|
|
3
3
|
import { v4 as uuidv4 } from "uuid";
|
|
4
4
|
import { fillMissingTitles, useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
5
5
|
import { useToastMessage } from "@gooddata/sdk-ui-kit";
|
|
6
|
-
import { convertCurrentUserToAutomationRecipient } from "../../../../../../_staging/automation/index.js";
|
|
7
6
|
import { refreshAutomations } from "../../../../../../model/commands/scheduledEmail.js";
|
|
8
7
|
import { useDashboardDispatch, useDashboardSelector, } from "../../../../../../model/react/DashboardStoreProvider.js";
|
|
9
8
|
import { DEFAULT_MAX_AUTOMATIONS } from "../../../../../../model/react/useDashboardAutomations/constants.js";
|
|
@@ -21,10 +20,11 @@ import { selectNotificationChannels } from "../../../../../../model/store/notifi
|
|
|
21
20
|
import { selectCanCreateAutomation, selectCanManageWorkspace, } from "../../../../../../model/store/permissions/permissionsSelectors.js";
|
|
22
21
|
import { selectExecutionTimestamp } from "../../../../../../model/store/ui/uiSelectors.js";
|
|
23
22
|
import { selectCurrentUser } from "../../../../../../model/store/user/userSelectors.js";
|
|
24
|
-
import { messages } from "../../../../../automations/
|
|
25
|
-
import { createDefaultAlert } from "../../../../../automations/
|
|
26
|
-
import { getMeasureFormatsFromExecution } from "../../../../../automations/
|
|
27
|
-
import { getSupportedInsightAttributesByInsight, getSupportedInsightMeasuresByInsight, } from "../../../../../automations/
|
|
23
|
+
import { messages } from "../../../../../automations/alerting/DefaultAlertingDialog/messages.js";
|
|
24
|
+
import { createDefaultAlert } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/convertors.js";
|
|
25
|
+
import { getMeasureFormatsFromExecution } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
26
|
+
import { getSupportedInsightAttributesByInsight, getSupportedInsightMeasuresByInsight, } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/items.js";
|
|
27
|
+
import { convertCurrentUserToAutomationRecipient } from "../../../../../automations/shared/utils/automationUtils.js";
|
|
28
28
|
import { useSaveAlertToBackend } from "./useSaveAlertToBackend.js";
|
|
29
29
|
import { useWidgetAutomationFilters } from "./useWidgetAutomationFilters.js";
|
|
30
30
|
export const useInsightWidgetAlerting = ({ widget, closeInsightWidgetMenu }) => {
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
* @param onCreateSuccess - callback to be called when alert is created successfully
|
|
5
|
-
* @param onCreateError - callback to be called when alert creation fails
|
|
6
|
-
* @param onUpdateSuccess - callback to be called when alert is updated successfully
|
|
7
|
-
* @param onUpdateError - callback to be called when alert update fails
|
|
8
|
-
* @param onPauseSuccess - callback to be called when alert is paused successfully
|
|
9
|
-
* @param onPauseError - callback to be called when alert pausing fails
|
|
10
|
-
* @param onResumeSuccess - callback to be called when alert is resumed successfully
|
|
11
|
-
* @param onResumeError - callback to be called when alert resuming fails
|
|
12
|
-
*/
|
|
13
2
|
export declare function useSaveAlertToBackend({ onCreateSuccess, onCreateError, onUpdateSuccess, onUpdateError, onPauseSuccess, onPauseError, onResumeSuccess, onResumeError }: {
|
|
14
3
|
onCreateSuccess?: (alert: IAutomationMetadataObject) => void;
|
|
15
4
|
onCreateError?: (error: Error) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveAlertToBackend.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useSaveAlertToBackend.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EAG3C,MAAM,qBAAqB,CAAC;AAK7B
|
|
1
|
+
{"version":3,"file":"useSaveAlertToBackend.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useSaveAlertToBackend.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EAG3C,MAAM,qBAAqB,CAAC;AAK7B,wBAAgB,qBAAqB,CAAC,EAClC,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EAChB,EAAE;IACC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC7D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC7D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC5D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC7D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC1C;;;;;;EA0DA"}
|