@gooddata/sdk-ui-dashboard 11.55.0-alpha.2 → 11.55.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.
Files changed (204) hide show
  1. package/NOTICE +9 -9
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/automation/index.d.ts +19 -1
  5. package/esm/_staging/automation/index.d.ts.map +1 -1
  6. package/esm/_staging/automation/index.js +44 -8
  7. package/esm/_staging/dashboard/dashboardFilterConverter.d.ts +1 -18
  8. package/esm/_staging/dashboard/dashboardFilterConverter.d.ts.map +1 -1
  9. package/esm/_staging/dashboard/dashboardFilterConverter.js +1 -62
  10. package/esm/_staging/insight/insightWidgetProperties.d.ts +6 -0
  11. package/esm/_staging/insight/insightWidgetProperties.d.ts.map +1 -0
  12. package/esm/_staging/insight/insightWidgetProperties.js +32 -0
  13. package/esm/_staging/sharedHooks/useRichTextFilters.d.ts.map +1 -1
  14. package/esm/_staging/sharedHooks/useRichTextFilters.js +1 -2
  15. package/esm/index.d.ts +25 -7
  16. package/esm/index.d.ts.map +1 -1
  17. package/esm/index.js +22 -4
  18. package/esm/internal.d.ts +3 -3
  19. package/esm/internal.d.ts.map +1 -1
  20. package/esm/internal.js +3 -3
  21. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.d.ts.map +1 -1
  22. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js +1 -2
  23. package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.d.ts.map +1 -1
  24. package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.js +1 -2
  25. package/esm/model/commandHandlers/drill/drillToDashboardHandler.d.ts.map +1 -1
  26. package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +1 -2
  27. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.d.ts +11 -5
  28. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.d.ts.map +1 -1
  29. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.js +24 -7
  30. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.d.ts.map +1 -1
  31. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.js +1 -2
  32. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
  33. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +5 -0
  34. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.d.ts.map +1 -1
  35. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.js +21 -3
  36. package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js +1 -2
  37. package/esm/model/commands/filters.d.ts +1 -1
  38. package/esm/model/commands/filters.js +1 -1
  39. package/esm/model/events/filters.d.ts +6 -6
  40. package/esm/model/store/tabs/layout/layoutSelectors.d.ts.map +1 -1
  41. package/esm/model/store/tabs/layout/layoutSelectors.js +1 -2
  42. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +10 -22
  43. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  44. package/esm/model/store/tabs/parameters/parametersHelpers.js +13 -42
  45. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +8 -10
  46. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  47. package/esm/model/store/tabs/parameters/parametersSelectors.js +22 -32
  48. package/esm/presentation/automations/alerting/AlertingManagementDialog.d.ts +4 -0
  49. package/esm/presentation/automations/alerting/AlertingManagementDialog.d.ts.map +1 -1
  50. package/esm/presentation/automations/alerting/AlertingManagementDialog.js +6 -2
  51. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +16 -16
  52. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  53. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +34 -109
  54. package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts +10 -0
  55. package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts.map +1 -0
  56. package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.js +12 -0
  57. package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts +49 -0
  58. package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts.map +1 -0
  59. package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.js +128 -0
  60. package/esm/presentation/automations/alerting/blocks/DefaultLoadingAlertingDialog.d.ts.map +1 -0
  61. package/esm/presentation/automations/alerting/types.d.ts +109 -0
  62. package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
  63. package/esm/presentation/automations/connectors/AlertingConnector.d.ts +3 -3
  64. package/esm/presentation/automations/connectors/AlertingConnector.d.ts.map +1 -1
  65. package/esm/presentation/automations/connectors/AlertingConnector.js +6 -4
  66. package/esm/presentation/automations/connectors/ScheduledEmailConnector.d.ts +3 -3
  67. package/esm/presentation/automations/connectors/ScheduledEmailConnector.d.ts.map +1 -1
  68. package/esm/presentation/automations/connectors/ScheduledEmailConnector.js +6 -4
  69. package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.d.ts.map +1 -1
  70. package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.js +7 -0
  71. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts +22 -0
  72. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts.map +1 -1
  73. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.js +10 -0
  74. package/esm/presentation/automations/contexts/AutomationsContext.d.ts +10 -0
  75. package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
  76. package/esm/presentation/automations/contexts/AutomationsContext.js +10 -0
  77. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.d.ts +10 -0
  78. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.d.ts.map +1 -1
  79. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.js +10 -0
  80. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +15 -10
  81. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  82. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +45 -198
  83. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +2 -18
  84. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts.map +1 -1
  85. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +2 -23
  86. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -1
  87. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts +11 -0
  88. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
  89. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.js +12 -0
  90. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts +11 -0
  91. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
  92. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.js +12 -0
  93. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts +11 -0
  94. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts.map +1 -0
  95. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.js +12 -0
  96. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts +11 -0
  97. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts.map +1 -0
  98. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.js +12 -0
  99. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts +11 -0
  100. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts.map +1 -0
  101. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.js +12 -0
  102. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts +11 -0
  103. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
  104. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.js +12 -0
  105. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts +2 -17
  106. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts.map +1 -1
  107. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.js +0 -3
  108. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts +2 -6
  109. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts.map +1 -1
  110. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
  111. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts +2 -10
  112. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts.map +1 -1
  113. package/esm/presentation/automations/scheduledEmail/ScheduledEmailManagementDialog.d.ts +4 -0
  114. package/esm/presentation/automations/scheduledEmail/ScheduledEmailManagementDialog.d.ts.map +1 -1
  115. package/esm/presentation/automations/scheduledEmail/ScheduledEmailManagementDialog.js +6 -2
  116. package/esm/presentation/automations/scheduledEmail/blocks/DefaultLoadingScheduledEmailDialog.d.ts.map +1 -0
  117. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts +16 -0
  118. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
  119. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.js +28 -0
  120. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts +16 -0
  121. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
  122. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.js +28 -0
  123. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts +15 -0
  124. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts.map +1 -0
  125. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.js +27 -0
  126. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts +16 -0
  127. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts.map +1 -0
  128. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.js +24 -0
  129. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts +59 -0
  130. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts.map +1 -0
  131. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.js +195 -0
  132. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts +16 -0
  133. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts.map +1 -0
  134. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.js +29 -0
  135. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts +16 -0
  136. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
  137. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.js +28 -0
  138. package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts +6 -0
  139. package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts.map +1 -0
  140. package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.js +13 -0
  141. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts +73 -0
  142. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts.map +1 -0
  143. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.js +168 -0
  144. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts +30 -0
  145. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts.map +1 -0
  146. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.js +26 -0
  147. package/esm/presentation/automations/scheduledEmail/types.d.ts +351 -1
  148. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  149. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts +8 -4
  150. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts.map +1 -1
  151. package/esm/presentation/automations/shared/automationFilters/automationParameters.js +30 -13
  152. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts.map +1 -1
  153. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.js +1 -4
  154. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
  155. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.js +12 -7
  156. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts.map +1 -1
  157. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.js +3 -1
  158. package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -1
  159. package/esm/presentation/automations/shared/filters/conversions.js +1 -2
  160. package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts +51 -0
  161. package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts.map +1 -0
  162. package/esm/presentation/automations/{scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect → shared/hooks}/useWorkspaceUsersSearch.js +13 -0
  163. package/esm/presentation/dashboard/components/DashboardRenderer.d.ts.map +1 -1
  164. package/esm/presentation/dashboard/components/DashboardRenderer.js +4 -1
  165. package/esm/presentation/dashboard/components/DashboardScreenSizeContext.js +1 -1
  166. package/esm/presentation/dashboard/types.d.ts +32 -2
  167. package/esm/presentation/dashboard/types.d.ts.map +1 -1
  168. package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts +6 -2
  169. package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts.map +1 -1
  170. package/esm/presentation/dashboardContexts/DashboardComponentsContext.js +3 -0
  171. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.d.ts.map +1 -1
  172. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.js +1 -2
  173. package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.d.ts.map +1 -1
  174. package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js +1 -2
  175. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js +1 -3
  176. package/esm/presentation/filterBar/attributeFilter/useParentFilters.d.ts.map +1 -1
  177. package/esm/presentation/filterBar/attributeFilter/useParentFilters.js +1 -2
  178. package/esm/presentation/filterBar/parameterFilter/DashboardParameterFilter.d.ts.map +1 -1
  179. package/esm/presentation/filterBar/parameterFilter/DashboardParameterFilter.js +12 -8
  180. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +91 -91
  181. package/esm/presentation/widget/insight/ViewModeDashboardInsight/useResolveDashboardInsightProperties.d.ts.map +1 -1
  182. package/esm/presentation/widget/insight/ViewModeDashboardInsight/useResolveDashboardInsightProperties.js +3 -35
  183. package/esm/presentation/widget/insightMenu/types.js +1 -1
  184. package/esm/presentation/widget/richTextMenu/types.d.ts.map +1 -1
  185. package/esm/presentation/widget/richTextMenu/types.js +2 -1
  186. package/esm/presentation/widget/widget/DefaultDashboardWidget.d.ts +2 -1
  187. package/esm/presentation/widget/widget/DefaultDashboardWidget.d.ts.map +1 -1
  188. package/esm/sdk-ui-dashboard.d.ts +1118 -161
  189. package/esm/types.d.ts +59 -3
  190. package/esm/types.d.ts.map +1 -1
  191. package/esm/types.js +2 -4
  192. package/package.json +23 -24
  193. package/styles/scss/dashboard.scss +4 -4
  194. package/esm/converters/filterConverters.d.ts +0 -93
  195. package/esm/converters/filterConverters.d.ts.map +0 -1
  196. package/esm/converters/filterConverters.js +0 -199
  197. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts.map +0 -1
  198. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts.map +0 -1
  199. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts +0 -13
  200. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts.map +0 -1
  201. /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.d.ts +0 -0
  202. /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.js +0 -0
  203. /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.d.ts +0 -0
  204. /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.js +0 -0
@@ -25,9 +25,13 @@ import { CurrentUserPermissions } from '@gooddata/sdk-ui-kit';
25
25
  import { DashboardAttachmentType } from '@gooddata/sdk-model';
26
26
  import { DashboardAttributeFilterConfigMode } from '@gooddata/sdk-model';
27
27
  import { DashboardAttributeFilterItem } from '@gooddata/sdk-model';
28
+ import { dashboardAttributeFilterItemToAttributeFilter } from '@gooddata/sdk-model';
28
29
  import { DashboardAttributeFilterSelectionMode } from '@gooddata/sdk-model';
29
30
  import { DashboardAttributeFilterSelectionType } from '@gooddata/sdk-model';
31
+ import { dashboardAttributeFilterToAttributeFilter } from '@gooddata/sdk-model';
30
32
  import { DashboardDateFilterConfigMode } from '@gooddata/sdk-model';
33
+ import { dashboardDateFilterToDateFilterByDateDataSet } from '@gooddata/sdk-model';
34
+ import { dashboardDateFilterToDateFilterByWidget } from '@gooddata/sdk-model';
31
35
  import { DashboardFiltersApplyMode } from '@gooddata/sdk-model';
32
36
  import { DashboardParameterMode } from '@gooddata/sdk-model';
33
37
  import { DashboardSummaryWorkflowStatus } from '@gooddata/sdk-backend-spi';
@@ -46,10 +50,14 @@ import { EntityState } from '@reduxjs/toolkit';
46
50
  import { ExecutionResultLimitType } from '@gooddata/sdk-model';
47
51
  import { ExplicitDrill } from '@gooddata/sdk-ui';
48
52
  import { FilterContextItem } from '@gooddata/sdk-model';
53
+ import { filterContextItemsToDashboardFiltersByDateDataSet } from '@gooddata/sdk-model';
54
+ import { filterContextItemsToDashboardFiltersByRichTextWidget } from '@gooddata/sdk-model';
55
+ import { filterContextItemsToDashboardFiltersByWidget } from '@gooddata/sdk-model';
56
+ import { filterContextToDashboardFiltersByDateDataSet } from '@gooddata/sdk-model';
57
+ import { filterContextToDashboardFiltersByWidget } from '@gooddata/sdk-model';
49
58
  import { FocusEvent as FocusEvent_2 } from 'react';
50
59
  import { ForwardRefExoticComponent } from 'react';
51
60
  import { GoodDataSdkError } from '@gooddata/sdk-ui';
52
- import { IAbsoluteDateFilter } from '@gooddata/sdk-model';
53
61
  import { IAccessControlAware } from '@gooddata/sdk-model';
54
62
  import { IAccessGrantee } from '@gooddata/sdk-model';
55
63
  import { IActiveCalendars } from '@gooddata/sdk-model';
@@ -61,7 +69,6 @@ import { IAlertRelativeOperator } from '@gooddata/sdk-model';
61
69
  import { IAlertTriggerInterval } from '@gooddata/sdk-model';
62
70
  import { IAlertTriggerMode } from '@gooddata/sdk-model';
63
71
  import { IAnalyticalBackend } from '@gooddata/sdk-backend-spi';
64
- import { IArbitraryAttributeFilter } from '@gooddata/sdk-model';
65
72
  import { IAttribute } from '@gooddata/sdk-model';
66
73
  import { IAttributeDescriptorBody } from '@gooddata/sdk-model';
67
74
  import { IAttributeDisplayFormMetadataObject } from '@gooddata/sdk-model';
@@ -100,6 +107,7 @@ import { IDashboardDefinition } from '@gooddata/sdk-model';
100
107
  import { IDashboardExportParameter } from '@gooddata/sdk-model';
101
108
  import { IDashboardExportPresentationOptions } from '@gooddata/sdk-backend-spi';
102
109
  import { IDashboardExportRawOptions } from '@gooddata/sdk-backend-spi';
110
+ import { IDashboardFilter as IDashboardFilter_2 } from '@gooddata/sdk-model';
103
111
  import { IDashboardFilterGroup } from '@gooddata/sdk-model';
104
112
  import { IDashboardFilterGroupsConfig } from '@gooddata/sdk-model';
105
113
  import { IDashboardFilterReference } from '@gooddata/sdk-model';
@@ -146,10 +154,9 @@ import { IExecutionResult } from '@gooddata/sdk-backend-spi';
146
154
  import { IExecutionResultLimitBreak } from '@gooddata/sdk-model';
147
155
  import { IExportDefinitionVisualizationObjectSettings } from '@gooddata/sdk-model';
148
156
  import { IExportResult } from '@gooddata/sdk-backend-spi';
149
- import type { IExportTemplate } from '@gooddata/sdk-model';
157
+ import { IExportTemplate } from '@gooddata/sdk-model';
150
158
  import { IFilter } from '@gooddata/sdk-model';
151
159
  import { IFilterableWidget } from '@gooddata/sdk-model';
152
- import { IFilterContext } from '@gooddata/sdk-model';
153
160
  import { IFilterContextDefinition } from '@gooddata/sdk-model';
154
161
  import { IHeaderPredicate } from '@gooddata/sdk-ui';
155
162
  import { IInsight } from '@gooddata/sdk-model';
@@ -170,13 +177,11 @@ import { IListedDashboard } from '@gooddata/sdk-model';
170
177
  import { ILoadingProps } from '@gooddata/sdk-ui';
171
178
  import { ILocale } from '@gooddata/sdk-ui';
172
179
  import { ILowerBoundedFilter } from '@gooddata/sdk-model';
173
- import { IMatchAttributeFilter } from '@gooddata/sdk-model';
174
180
  import { IMeasure } from '@gooddata/sdk-model';
175
181
  import { IMeasureDescriptor } from '@gooddata/sdk-model';
176
182
  import { IMeasureMetadataObject } from '@gooddata/sdk-model';
177
183
  import { IMeasureValueFilter } from '@gooddata/sdk-model';
178
184
  import { IMeasureValueFilterProps } from '@gooddata/sdk-ui-filters';
179
- import { INegativeAttributeFilter } from '@gooddata/sdk-model';
180
185
  import { INotificationChannelIdentifier } from '@gooddata/sdk-model';
181
186
  import { INotificationChannelMetadataObject } from '@gooddata/sdk-model';
182
187
  import { INotificationChannelMetadataObjectBase } from '@gooddata/sdk-model';
@@ -185,13 +190,12 @@ import { InsightDrillDefinition } from '@gooddata/sdk-model';
185
190
  import { IntlShape } from 'react-intl';
186
191
  import { IParameterDefinition } from '@gooddata/sdk-model';
187
192
  import { IParameterMetadataObject } from '@gooddata/sdk-model';
188
- import { IPositiveAttributeFilter } from '@gooddata/sdk-model';
189
193
  import { IPushData } from '@gooddata/sdk-ui';
190
194
  import { IRawExportCustomOverrides } from '@gooddata/sdk-backend-spi';
191
- import { IRelativeDateFilter } from '@gooddata/sdk-model';
192
195
  import { IRenderListItemProps } from '@gooddata/sdk-ui-kit';
193
196
  import { IResultWarning } from '@gooddata/sdk-model';
194
197
  import { IRichTextWidget } from '@gooddata/sdk-model';
198
+ import { isDashboardFilter as isDashboardFilter_2 } from '@gooddata/sdk-model';
195
199
  import { ISeparators } from '@gooddata/sdk-model';
196
200
  import { ISettings } from '@gooddata/sdk-model';
197
201
  import { IShareDialogInteractionData } from '@gooddata/sdk-ui-kit';
@@ -199,7 +203,6 @@ import { ISharedObject } from '@gooddata/sdk-ui-kit';
199
203
  import { ISharingApplyPayload as ISharingApplyPayload_2 } from '@gooddata/sdk-ui-kit';
200
204
  import { ISlotProps } from '@gooddata/sdk-ui-kit';
201
205
  import { ITableDataAttributeScope } from '@gooddata/sdk-ui';
202
- import { ITempFilterContext } from '@gooddata/sdk-model';
203
206
  import { ITheme } from '@gooddata/sdk-model';
204
207
  import type { ITranslations } from '@gooddata/sdk-ui';
205
208
  import { IUnavailableDashboardReference } from '@gooddata/sdk-backend-spi';
@@ -212,6 +215,7 @@ import { IVisualizationSwitcherWidget } from '@gooddata/sdk-model';
212
215
  import { IWidget } from '@gooddata/sdk-model';
213
216
  import { IWidgetDefinition } from '@gooddata/sdk-model';
214
217
  import { IWorkspacePermissions } from '@gooddata/sdk-model';
218
+ import { IWorkspaceUser } from '@gooddata/sdk-model';
215
219
  import { JSX } from 'react/jsx-runtime';
216
220
  import { KeyboardEvent as KeyboardEvent_2 } from 'react';
217
221
  import { LocalIdRef } from '@gooddata/sdk-model';
@@ -671,6 +675,14 @@ export declare function AlertingDialogDestination(overrides: Partial<IAutomation
671
675
  */
672
676
  export declare function AlertingDialogFilters(overrides: Partial<IAlertingDialogFiltersProps>): JSX.Element;
673
677
 
678
+ /**
679
+ * A heading with a column of field rows under it — the default alerting dialog's "When" (the condition
680
+ * fields) and "Do" (the action fields) groups. Layout only; reads no dialog context.
681
+ *
682
+ * @alpha
683
+ */
684
+ export declare function AlertingDialogFormFieldGroup({ label, children }: IAlertingDialogFormFieldGroupProps): ReactElement;
685
+
674
686
  /**
675
687
  * The alerting dialog's granularity field (the period anomaly detection evaluates over), connected
676
688
  * to the dialog's state and rendered as a labelled form row.
@@ -772,6 +784,53 @@ export declare function AlertingDialogRecipients(overrides: Partial<IAutomationD
772
784
  */
773
785
  export declare function AlertingDialogSensitivity(overrides: Partial<IAlertingDialogSensitivityProps>): ReactElement;
774
786
 
787
+ /**
788
+ * The alerting dialog's chrome, connected to the dialog's state: the modal overlay, the dialog frame
789
+ * with the header row (the title input) and the action bar, the scrollable content area around
790
+ * `children`, the dialog's warning and validation messages, the stale-filters confirmation step shown
791
+ * before the dialog when the saved filters no longer match the dashboard, and the delete confirmation
792
+ * reached from the action bar in edit mode. While `useAlertingDialogContext().isLoading` is true it
793
+ * renders the loading skeleton and none of its children.
794
+ *
795
+ * The default dialog is `<AlertingDialogShell>` around the region and field blocks; a custom
796
+ * `AlertingDialogComponent` that keeps this chrome and arranges the blocks differently renders the shell
797
+ * itself. The shell does not own the submit: call {@link useAlertSubmit} and pass its `submit` and
798
+ * `isSaving`, so the footer button and any Enter handler in the body share one instance. Call that hook
799
+ * only once `useAlertingDialogContext().isLoading` is false — the state hooks throw while the dialog
800
+ * loads — and render the shell alone (any `onSubmit`, `isSaving: false`) until then, as the example does.
801
+ *
802
+ * Needs an ambient `IntlProvider`; inside a `Dashboard` the dashboard's provider covers it.
803
+ *
804
+ * @example
805
+ * ```tsx
806
+ * function MyAlertingDialog(props: IAlertingDialogProps) {
807
+ * const { isLoading } = useAlertingDialogContext();
808
+ * // the state hooks throw while the dialog loads; the shell renders the loading skeleton
809
+ * if (isLoading) {
810
+ * return <AlertingDialogShell {...props} onSubmit={() => {}} isSaving={false} />;
811
+ * }
812
+ * return <MyAlertingDialogBody {...props} />;
813
+ * }
814
+ *
815
+ * function MyAlertingDialogBody(props: IAlertingDialogProps) {
816
+ * const { isSaving, submit } = useAlertSubmit(props);
817
+ * return (
818
+ * <AlertingDialogShell {...props} onSubmit={() => void submit()} isSaving={isSaving}>
819
+ * <AlertingDialogFormFieldGroup label="When">
820
+ * <AlertingDialogMeasure />
821
+ * <AlertingDialogComparisonOperator />
822
+ * <AlertingDialogThreshold />
823
+ * </AlertingDialogFormFieldGroup>
824
+ * <AlertingDialogRecipients />
825
+ * </AlertingDialogShell>
826
+ * );
827
+ * }
828
+ * ```
829
+ *
830
+ * @alpha
831
+ */
832
+ export declare function AlertingDialogShell(props: IAlertingDialogShellProps): ReactElement;
833
+
775
834
  /**
776
835
  * The alerting dialog's threshold field (the value a fixed-threshold, change or difference
777
836
  * condition is compared against), connected to the dialog's state and rendered as a labelled form
@@ -823,10 +882,26 @@ export declare function AlertingDialogTriggerMode(overrides: Partial<IAlertingDi
823
882
  export declare type AlertingDisabledReason = "noDestinations" | "oldWidget" | "disabledOnInsight";
824
883
 
825
884
  /**
885
+ * Resolves the management dialog component from DashboardComponentsContext and mounts it inside
886
+ * the resolved context decorator — so a decorated management context is what the dialog (default
887
+ * or replacement) reads.
888
+ *
826
889
  * @internal
827
890
  */
828
891
  export declare function AlertingManagementDialog(props: IAlertingManagementDialogProps): ReactElement;
829
892
 
893
+ /**
894
+ * Provides the alerting management dialog context.
895
+ *
896
+ * The dashboard's connector mounts the original value. Exported so a context-decorator
897
+ * component (`CustomAlertingManagementDialogContextDecoratorComponent`) can re-provide a decorated
898
+ * value read from `useAlertingManagementDialogContext()`; it is not a way to run the management
899
+ * dialog outside a dashboard.
900
+ *
901
+ * @alpha
902
+ */
903
+ export declare const AlertingManagementDialogContextProvider: Provider<IAlertingManagementDialogContextValue | undefined>;
904
+
830
905
  /**
831
906
  * A measure of the insight the alerting dialog can build a condition on, with the comparisons
832
907
  * available for it.
@@ -933,7 +1008,7 @@ export declare function anyEventHandler(handler: DashboardEventHandler["handler"
933
1008
  * The {@link ChangeAttributeFilterSelectionPayload}'s `selectionType` and `elements` are derived from the
934
1009
  * provided attribute filter.
935
1010
  *
936
- * To convert {@link IDashboardFilter} to {@link @gooddata/sdk-model#IFilter} use {@link dashboardAttributeFilterToAttributeFilter}.
1011
+ * To convert {@link IDashboardFilter} to {@link @gooddata/sdk-model#IFilter} use {@link @gooddata/sdk-model#dashboardAttributeFilterToAttributeFilter}.
937
1012
  * Converted filter can be used within the command's payload.
938
1013
  *
939
1014
  * @param filterLocalId - dashboard attribute filter's local id
@@ -1116,6 +1191,18 @@ export declare type AutomationInteractionPayload = IUserInteractionPayloadWithDa
1116
1191
  */
1117
1192
  export declare type AutomationInteractionType = "scheduledExportInitialized" | "scheduledExportCreated" | "alertInitialized" | "alertCreated";
1118
1193
 
1194
+ /**
1195
+ * Provides the automation dialogs' shared context.
1196
+ *
1197
+ * The dashboard's connectors mount the original value once per tree. Exported so a
1198
+ * context-decorator component (`CustomAutomationsContextDecoratorComponent`) can re-provide a
1199
+ * decorated value read from `useAutomationsContext()`; it is not a way to run the dialogs outside
1200
+ * a dashboard.
1201
+ *
1202
+ * @alpha
1203
+ */
1204
+ export declare const AutomationsContextProvider: Provider<IAutomationsContextValue | undefined>;
1205
+
1119
1206
  /**
1120
1207
  * @public
1121
1208
  */
@@ -2210,6 +2297,12 @@ export declare type CustomAlertingDialogComponent = ComponentType<IAlertingDialo
2210
2297
  * false, and a decorator that overrides it corrupts the draft seed. Define the decorator
2211
2298
  * outside render, or the dialog remounts (and reseeds) on every parent render.
2212
2299
  *
2300
+ * The contract: change the data, not what it means — every member keeps its documented meaning.
2301
+ * The dialog does not check the decorated value; when you override a member, everything that
2302
+ * reads it is your responsibility. Spread the value you read (`{ ...ctx, member }`) so the other
2303
+ * members pass through. Wrap functions instead of replacing them. Do not touch members marked as
2304
+ * internal machinery.
2305
+ *
2213
2306
  * @alpha
2214
2307
  */
2215
2308
  export declare type CustomAlertingDialogContextDecoratorComponent = ComponentType<{
@@ -2221,6 +2314,106 @@ export declare type CustomAlertingDialogContextDecoratorComponent = ComponentTyp
2221
2314
  */
2222
2315
  export declare type CustomAlertingManagementDialogComponent = ComponentType<IAlertingManagementDialogProps>;
2223
2316
 
2317
+ /**
2318
+ * Decorates the data the alerting management dialog reads.
2319
+ *
2320
+ * The dashboard mounts this component between the connector-provided management dialog context and
2321
+ * the resolved management dialog component (default or replacement), so the value it re-provides is
2322
+ * what the dialog reads. Read the current value with `useAlertingManagementDialogContext()`,
2323
+ * decorate the members to adjust, and re-provide via `AlertingManagementDialogContextProvider`:
2324
+ *
2325
+ * @example
2326
+ * ```tsx
2327
+ * function AlertsListDecorator({ children }: { children?: ReactNode }) {
2328
+ * const ctx = useAlertingManagementDialogContext();
2329
+ * const { alerts, loading } = useMySelfFetchedAlerts(ctx.automations);
2330
+ * const decorated = useMemo(
2331
+ * () => ({ ...ctx, automations: alerts, isLoading: ctx.isLoading || loading }),
2332
+ * [ctx, alerts, loading],
2333
+ * );
2334
+ * return (
2335
+ * <AlertingManagementDialogContextProvider value={decorated}>
2336
+ * {children}
2337
+ * </AlertingManagementDialogContextProvider>
2338
+ * );
2339
+ * }
2340
+ * // <Dashboard AlertingManagementDialogContextDecoratorComponent={AlertsListDecorator} />
2341
+ * ```
2342
+ *
2343
+ * The management dialog has no state seeding — it renders from the context on every change, so a
2344
+ * decorator may replace `automations` or extend `isLoading` (as above). Extend `isLoading` only
2345
+ * as `ctx.isLoading || yourOwnLoading`, never force it: forced false shows the list before its
2346
+ * data arrives, forced true hides it forever. `isLoading` here covers the automations load only —
2347
+ * deliberately narrower than the scheduled-email management context's flag. Define the decorator
2348
+ * outside render, or the dialog remounts on every parent render.
2349
+ *
2350
+ * The contract: change the data, not what it means — every member keeps its documented meaning.
2351
+ * The dialog does not check the decorated value; when you override a member, everything that
2352
+ * reads it is your responsibility. Spread the value you read (`{ ...ctx, member }`) so the other
2353
+ * members pass through. Wrap functions instead of replacing them. Do not touch members marked as
2354
+ * internal machinery.
2355
+ *
2356
+ * @alpha
2357
+ */
2358
+ export declare type CustomAlertingManagementDialogContextDecoratorComponent = ComponentType<{
2359
+ children?: ReactNode;
2360
+ }>;
2361
+
2362
+ /**
2363
+ * Decorates the data the automation dialogs' shared context carries.
2364
+ *
2365
+ * The dashboard mounts this component directly inside each connector-provided automations context
2366
+ * — once in the alerting tree and once in the scheduled-email tree — so the value it re-provides
2367
+ * is what everything in both trees reads: the default dialogs, wholesale replacements, exported
2368
+ * blocks and hooks, and the dialogs' state seeding. A decorator must therefore be tree-agnostic.
2369
+ * Read the current value with `useAutomationsContext()`, decorate the members to adjust, and
2370
+ * re-provide via `AutomationsContextProvider`:
2371
+ *
2372
+ * @example
2373
+ * ```tsx
2374
+ * function GranularityDecorator({ children }: { children?: ReactNode }) {
2375
+ * const ctx = useAutomationsContext();
2376
+ * const decorated = useMemo(
2377
+ * () => ({
2378
+ * ...ctx,
2379
+ * dateFilterConfig: {
2380
+ * ...ctx.dateFilterConfig,
2381
+ * availableGranularities: ctx.dateFilterConfig.availableGranularities.filter(
2382
+ * (g) => g !== "GDC.time.hour",
2383
+ * ),
2384
+ * getGranularitiesForTab: (tabId: string) =>
2385
+ * ctx.dateFilterConfig
2386
+ * .getGranularitiesForTab(tabId)
2387
+ * .filter((g) => g !== "GDC.time.hour"),
2388
+ * },
2389
+ * }),
2390
+ * [ctx],
2391
+ * );
2392
+ * return <AutomationsContextProvider value={decorated}>{children}</AutomationsContextProvider>;
2393
+ * }
2394
+ * // <Dashboard AutomationsContextDecoratorComponent={GranularityDecorator} />
2395
+ * ```
2396
+ *
2397
+ * To constrain the date-filter granularities the dialogs offer, override
2398
+ * `dateFilterConfig.availableGranularities` and `dateFilterConfig.getGranularitiesForTab`
2399
+ * together, as above — the date filter falls back per tab. Components that build this context
2400
+ * themselves (the standalone connected dialogs, the widget-panel alerts list) are not decorated.
2401
+ * Define the decorator outside render, or both dialog trees remount on every parent render.
2402
+ * Both instances mount with the dashboard, not only while a dialog is open — a decorator that
2403
+ * fetches data runs on every dashboard.
2404
+ *
2405
+ * The contract: change the data, not what it means — every member keeps its documented meaning.
2406
+ * The dialog does not check the decorated value; when you override a member, everything that
2407
+ * reads it is your responsibility. Spread the value you read (`{ ...ctx, member }`) so the other
2408
+ * members pass through. Wrap functions instead of replacing them. Do not touch members marked as
2409
+ * internal machinery.
2410
+ *
2411
+ * @alpha
2412
+ */
2413
+ export declare type CustomAutomationsContextDecoratorComponent = ComponentType<{
2414
+ children?: ReactNode;
2415
+ }>;
2416
+
2224
2417
  /**
2225
2418
  * @beta
2226
2419
  */
@@ -2454,6 +2647,12 @@ export declare type CustomScheduledEmailDialogComponent = ComponentType<ISchedul
2454
2647
  * corrupts the draft seed on every such open, not in an edge case. Define the decorator outside
2455
2648
  * render, or the dialog remounts (and reseeds) on every parent render.
2456
2649
  *
2650
+ * The contract: change the data, not what it means — every member keeps its documented meaning.
2651
+ * The dialog does not check the decorated value; when you override a member, everything that
2652
+ * reads it is your responsibility. Spread the value you read (`{ ...ctx, member }`) so the other
2653
+ * members pass through. Wrap functions instead of replacing them. Do not touch members marked as
2654
+ * internal machinery.
2655
+ *
2457
2656
  * @alpha
2458
2657
  */
2459
2658
  export declare type CustomScheduledEmailDialogContextDecoratorComponent = ComponentType<{
@@ -2465,6 +2664,53 @@ export declare type CustomScheduledEmailDialogContextDecoratorComponent = Compon
2465
2664
  */
2466
2665
  export declare type CustomScheduledEmailManagementDialogComponent = ComponentType<IScheduledEmailManagementDialogProps>;
2467
2666
 
2667
+ /**
2668
+ * Decorates the data the scheduled email management dialog reads.
2669
+ *
2670
+ * The dashboard mounts this component between the connector-provided management dialog context and
2671
+ * the resolved management dialog component (default or replacement), so the value it re-provides is
2672
+ * what the dialog reads. Read the current value with `useScheduledEmailManagementDialogContext()`,
2673
+ * decorate the members to adjust, and re-provide via
2674
+ * `ScheduledEmailManagementDialogContextProvider`:
2675
+ *
2676
+ * @example
2677
+ * ```tsx
2678
+ * function SchedulesListDecorator({ children }: { children?: ReactNode }) {
2679
+ * const ctx = useScheduledEmailManagementDialogContext();
2680
+ * const { schedules, loading } = useMySelfFetchedSchedules(ctx.automations);
2681
+ * const decorated = useMemo(
2682
+ * () => ({ ...ctx, automations: schedules, isLoading: ctx.isLoading || loading }),
2683
+ * [ctx, schedules, loading],
2684
+ * );
2685
+ * return (
2686
+ * <ScheduledEmailManagementDialogContextProvider value={decorated}>
2687
+ * {children}
2688
+ * </ScheduledEmailManagementDialogContextProvider>
2689
+ * );
2690
+ * }
2691
+ * // <Dashboard ScheduledEmailManagementDialogContextDecoratorComponent={SchedulesListDecorator} />
2692
+ * ```
2693
+ *
2694
+ * The management dialog has no state seeding — it renders from the context on every change, so a
2695
+ * decorator may replace `automations` or extend `isLoading` (as above). Extend `isLoading` only
2696
+ * as `ctx.isLoading || yourOwnLoading`, never force it: forced false shows the list before its
2697
+ * data arrives, forced true hides it forever. `isLoading` here may also cover a widget-filters
2698
+ * load while a widget-scoped create/edit dialog is open — deliberately broader than the alerting
2699
+ * management context's automations-only flag. Define the decorator outside render, or the dialog
2700
+ * remounts on every parent render.
2701
+ *
2702
+ * The contract: change the data, not what it means — every member keeps its documented meaning.
2703
+ * The dialog does not check the decorated value; when you override a member, everything that
2704
+ * reads it is your responsibility. Spread the value you read (`{ ...ctx, member }`) so the other
2705
+ * members pass through. Wrap functions instead of replacing them. Do not touch members marked as
2706
+ * internal machinery.
2707
+ *
2708
+ * @alpha
2709
+ */
2710
+ export declare type CustomScheduledEmailManagementDialogContextDecoratorComponent = ComponentType<{
2711
+ children?: ReactNode;
2712
+ }>;
2713
+
2468
2714
  /**
2469
2715
  * @beta
2470
2716
  */
@@ -2619,24 +2865,14 @@ export declare type DashboardAttributeFilterItemSelectionReplacedPayload = {
2619
2865
  readonly filter: DashboardAttributeFilterItem;
2620
2866
  };
2621
2867
 
2622
- /**
2623
- * Converts any {@link @gooddata/sdk-model#DashboardAttributeFilterItem} to {@link @gooddata/sdk-model#IAttributeFilter} instance.
2624
- *
2625
- * @remarks
2626
- * Handles all attribute filter types: element-based (positive/negative selection),
2627
- * arbitrary value filters, and match (text) filters.
2628
- *
2629
- * @param filter - dashboard attribute filter item to convert
2630
- * @public
2631
- */
2632
- export declare function dashboardAttributeFilterItemToAttributeFilter(filter: DashboardAttributeFilterItem): IAttributeFilter;
2868
+ export { dashboardAttributeFilterItemToAttributeFilter }
2633
2869
 
2634
2870
  /**
2635
2871
  * This event is emitted after new elements are selected and applied in an attribute filter.
2636
2872
  *
2637
2873
  * @remarks
2638
2874
  *
2639
- * See also {@link dashboardAttributeFilterToAttributeFilter} convertor – this allows you to convert the `filter`
2875
+ * See also {@link @gooddata/sdk-model#dashboardAttributeFilterToAttributeFilter} convertor – this allows you to convert the `filter`
2640
2876
  * in the event payload to an {@link @gooddata/sdk-model#IAttributeFilter} instance you can use with visualizations,
2641
2877
  * filter UI components and so on.
2642
2878
  *
@@ -2652,7 +2888,7 @@ export declare type DashboardAttributeFilterSelectionChanged = IDashboardEvent &
2652
2888
  *
2653
2889
  * @remarks
2654
2890
  *
2655
- * See also {@link dashboardAttributeFilterToAttributeFilter} convertor – this allows you to convert the `filter`
2891
+ * See also {@link @gooddata/sdk-model#dashboardAttributeFilterToAttributeFilter} convertor – this allows you to convert the `filter`
2656
2892
  * object to an {@link @gooddata/sdk-model#IAttributeFilter} instance you can use with visualizations,
2657
2893
  * filter UI components and so on.
2658
2894
  *
@@ -2667,15 +2903,7 @@ export declare type DashboardAttributeFilterSelectionChangedPayload = {
2667
2903
  readonly filter: IDashboardAttributeFilter;
2668
2904
  };
2669
2905
 
2670
- /**
2671
- * Converts {@link @gooddata/sdk-backend-spi#IDashboardAttributeFilter} to {@link @gooddata/sdk-model#IAttributeFilter} instance.
2672
- *
2673
- * @param filter - filter context attribute filter to convert
2674
- * @deprecated Use {@link dashboardAttributeFilterItemToAttributeFilter} instead,
2675
- * which supports all attribute filter types including text filters.
2676
- * @public
2677
- */
2678
- export declare function dashboardAttributeFilterToAttributeFilter(filter: IDashboardAttributeFilter): IAttributeFilter;
2906
+ export { dashboardAttributeFilterToAttributeFilter }
2679
2907
 
2680
2908
  /**
2681
2909
  * Union type that contains all available built-in dashboard commands.
@@ -3121,7 +3349,7 @@ export declare type DashboardCopySavedPayload = {
3121
3349
  *
3122
3350
  * @remarks
3123
3351
  *
3124
- * See also {@link dashboardDateFilterToDateFilterByWidget} and {@link dashboardDateFilterToDateFilterByDateDataSet} convertors
3352
+ * See also {@link @gooddata/sdk-model#dashboardDateFilterToDateFilterByWidget} and {@link @gooddata/sdk-model#dashboardDateFilterToDateFilterByDateDataSet} convertors
3125
3353
  * – those allow you to convert the `filter` in the event payload to an {@link @gooddata/sdk-model#IDateFilter} instance you can use
3126
3354
  * with visualizations, filter UI components and so on.
3127
3355
  *
@@ -3137,7 +3365,7 @@ export declare type DashboardDateFilterSelectionChanged = IDashboardEvent & {
3137
3365
  *
3138
3366
  * @remarks
3139
3367
  *
3140
- * See also {@link dashboardDateFilterToDateFilterByWidget} and {@link dashboardDateFilterToDateFilterByDateDataSet} convertors
3368
+ * See also {@link @gooddata/sdk-model#dashboardDateFilterToDateFilterByWidget} and {@link @gooddata/sdk-model#dashboardDateFilterToDateFilterByDateDataSet} convertors
3141
3369
  * – those allow you to convert the `filter` object to an {@link @gooddata/sdk-model#IDateFilter} instance you can use
3142
3370
  * with visualizations, filter UI components and so on.
3143
3371
  *
@@ -3154,23 +3382,9 @@ export declare type DashboardDateFilterSelectionChangedPayload = {
3154
3382
  readonly dateFilterOptionLocalId?: string;
3155
3383
  };
3156
3384
 
3157
- /**
3158
- * Converts {@link @gooddata/sdk-backend-spi#IDashboardDateFilter} to {@link @gooddata/sdk-model#IDateFilter} instance.
3159
- *
3160
- * @param filter - filter context attribute filter to convert
3161
- * @param dateDataSet - date data set to define {@link @gooddata/sdk-model#IDateFilter}
3162
- * @public
3163
- */
3164
- export declare function dashboardDateFilterToDateFilterByDateDataSet(filter: IDashboardDateFilter, dateDataSet: ObjRef): IDateFilter;
3385
+ export { dashboardDateFilterToDateFilterByDateDataSet }
3165
3386
 
3166
- /**
3167
- * Converts {@link @gooddata/sdk-backend-spi#IDashboardDateFilter} to {@link @gooddata/sdk-model#IDateFilter} instance.
3168
- *
3169
- * @param filter - filter context attribute filter to convert
3170
- * @param widget - widget to use to get dateDataSet for date filters
3171
- * @public
3172
- */
3173
- export declare function dashboardDateFilterToDateFilterByWidget(filter: IDashboardDateFilter, widget?: Partial<IFilterableWidget>): IDateFilter;
3387
+ export { dashboardDateFilterToDateFilterByWidget }
3174
3388
 
3175
3389
  /**
3176
3390
  * This event is emitted when a dashboard is deinitialized. The event contains contextual information such as
@@ -3319,7 +3533,7 @@ export declare type DashboardEventType = "GDC.DASH/EVT.COMMAND.FAILED" | "GDC.DA
3319
3533
  * This event is emitted as convenience - more granular events describe all the possible
3320
3534
  * changes to the dashboard filters and can be used to even source the state of filter context.
3321
3535
  *
3322
- * See also {@link filterContextToDashboardFiltersByWidget} and {@link filterContextToDashboardFiltersByDateDataSet} convertors
3536
+ * See also {@link @gooddata/sdk-model#filterContextToDashboardFiltersByWidget} and {@link @gooddata/sdk-model#filterContextToDashboardFiltersByDateDataSet} convertors
3323
3537
  * – those allow you to convert the `filterContext` in the event payload to array of {@link @gooddata/sdk-model#IFilter} instances you can use
3324
3538
  * with visualizations, filter UI components and so on.
3325
3539
  *
@@ -3335,7 +3549,7 @@ export declare type DashboardFilterContextChanged = IDashboardEvent & {
3335
3549
  *
3336
3550
  * @remarks
3337
3551
  *
3338
- * See also {@link filterContextToDashboardFiltersByWidget} and {@link filterContextToDashboardFiltersByDateDataSet} convertors
3552
+ * See also {@link @gooddata/sdk-model#filterContextToDashboardFiltersByWidget} and {@link @gooddata/sdk-model#filterContextToDashboardFiltersByDateDataSet} convertors
3339
3553
  * – those allow you to convert the `filterContext` object to array of {@link @gooddata/sdk-model#IFilter} instances you can use
3340
3554
  * with visualizations, filter UI components and so on.
3341
3555
  *
@@ -4335,27 +4549,27 @@ export declare const DEFAULT_TAB_ID = "defaultTabId";
4335
4549
  * that is what lets a wholesale replacement receive the same contexts. Rendering this component
4336
4550
  * outside those providers throws at runtime.
4337
4551
  *
4338
- * The dialog is composed from the exported region renders — {@link DefaultAlertingDialogHeader},
4339
- * {@link DefaultAlertingDialogFilters}, {@link DefaultAlertingDialogDestination},
4340
- * {@link DefaultAlertingDialogRecipients}, {@link DefaultAutomationDialogActionBar} — fed by the
4341
- * matching `use*Props` hooks ({@link useAlertingDialogFiltersProps} and siblings), and from the
4342
- * connected field blocks — {@link AlertingDialogMeasure}, {@link AlertingDialogAttribute},
4343
- * {@link AlertingDialogComparisonOperator}, {@link AlertingDialogThreshold},
4344
- * {@link AlertingDialogComparisonPeriod}, {@link AlertingDialogSensitivity},
4345
- * {@link AlertingDialogGranularity}, {@link AlertingDialogTriggerMode},
4346
- * {@link AlertingDialogTriggerInterval} — each a labelled {@link AutomationDialogFormField} row; the
4347
- * conditional ones (Attribute, Threshold, ComparisonPeriod, Sensitivity, Granularity, TriggerInterval)
4348
- * gate themselves on the draft. A custom `AlertingDialogComponent` that keeps our regions and fields
4349
- * but owns the markup places the connected blocks ({@link AlertingDialogFilters},
4350
- * {@link AlertingDialogThreshold} and siblings) instead of this component, and reads or writes the
4351
- * same draft through {@link useAlertDraft} and {@link useAlertActions}.
4552
+ * The dialog is {@link AlertingDialogShell} — the chrome: overlay, frame, header row, action bar, the
4553
+ * dialog's messages, the stale-filters and delete confirmation steps, the loading skeleton — around the
4554
+ * exported region renders ({@link DefaultAlertingDialogFilters}, {@link DefaultAlertingDialogDestination},
4555
+ * {@link DefaultAlertingDialogRecipients}, fed by {@link useAlertingDialogFiltersProps} and siblings; the
4556
+ * header and action bar are the shell's) and the connected field blocks — {@link AlertingDialogMeasure},
4557
+ * {@link AlertingDialogAttribute}, {@link AlertingDialogComparisonOperator}, {@link AlertingDialogThreshold},
4558
+ * {@link AlertingDialogComparisonPeriod}, {@link AlertingDialogSensitivity}, {@link AlertingDialogGranularity},
4559
+ * {@link AlertingDialogTriggerMode}, {@link AlertingDialogTriggerInterval} — grouped under the "When" and
4560
+ * "Do" headings by {@link AlertingDialogFormFieldGroup}; each field is a labelled
4561
+ * {@link AutomationDialogFormField} row and the conditional ones gate themselves on the draft. A custom
4562
+ * `AlertingDialogComponent` that keeps this chrome but owns the arrangement renders
4563
+ * {@link AlertingDialogShell} around the blocks it wants (see its example); one that owns the chrome too
4564
+ * places the blocks in its own markup and reads or writes the same draft through {@link useAlertDraft} and
4565
+ * {@link useAlertActions}.
4352
4566
  *
4353
4567
  * Slots render only in the fully rendered dialog: not while the dialog context reports loading,
4354
4568
  * and not while the stale-filters confirmation step is shown.
4355
4569
  *
4356
4570
  * @alpha
4357
4571
  */
4358
- export declare function DefaultAlertingDialog(props: IDefaultAlertingDialogProps): JSX.Element;
4572
+ export declare function DefaultAlertingDialog(props: IDefaultAlertingDialogProps): ReactElement;
4359
4573
 
4360
4574
  /**
4361
4575
  * Default render of the alerting dialog's attribute field: the dropdown slicing the condition by an
@@ -4757,14 +4971,19 @@ export declare function DefaultSaveButton({ isVisible, isEnabled, isSaving, butt
4757
4971
  * that is what lets a wholesale replacement receive the same contexts. Rendering this component
4758
4972
  * outside those providers throws at runtime.
4759
4973
  *
4760
- * The dialog is composed from the exported region renders — {@link DefaultScheduledEmailDialogHeader},
4761
- * {@link DefaultScheduledEmailDialogFilters}, {@link DefaultScheduledEmailDialogDestination},
4762
- * {@link DefaultScheduledEmailDialogRecipients}, {@link DefaultScheduledEmailDialogTimezone},
4763
- * {@link DefaultAutomationDialogActionBar} — fed by the matching `use*Props` hooks
4764
- * ({@link useScheduledEmailDialogFiltersProps} and siblings). A custom `ScheduledEmailDialogComponent`
4765
- * that keeps our regions but owns the markup places the connected blocks
4766
- * ({@link ScheduledEmailDialogFilters} and siblings) instead of this component, and reads or writes
4767
- * the same draft through {@link useScheduledExportDraft} and {@link useScheduledExportActions}.
4974
+ * The dialog is {@link ScheduledEmailDialogShell} — the chrome: overlay, frame, header row, action bar, the
4975
+ * General/Filters tabs, the body's messages, the stale-filters and delete confirmation steps, the loading
4976
+ * skeleton — around the exported region renders ({@link DefaultScheduledEmailDialogDestination},
4977
+ * {@link DefaultScheduledEmailDialogRecipients}, {@link DefaultScheduledEmailDialogTimezone}, fed by
4978
+ * {@link useScheduledEmailDialogDestinationProps} and siblings; the header, action bar and the Filters tab's
4979
+ * {@link DefaultScheduledEmailDialogFilters} are the shell's) and the General-tab field blocks
4980
+ * ({@link ScheduledEmailDialogRecurrence}, {@link ScheduledEmailDialogSubject}, {@link ScheduledEmailDialogMessage},
4981
+ * {@link ScheduledEmailDialogWidgetAttachments}, {@link ScheduledEmailDialogDashboardAttachments},
4982
+ * {@link ScheduledEmailDialogEvaluationMode}). A custom `ScheduledEmailDialogComponent` that keeps this chrome
4983
+ * but owns the arrangement renders {@link ScheduledEmailDialogShell} around the blocks it wants (see its
4984
+ * example); one that owns the chrome too places the blocks ({@link ScheduledEmailDialogFilters} and
4985
+ * siblings) in its own markup and reads or writes the same draft through {@link useScheduledExportDraft}
4986
+ * and {@link useScheduledExportActions}.
4768
4987
  *
4769
4988
  * Slots render only in the fully rendered dialog: not while the dialog context reports loading,
4770
4989
  * and not while the stale-filters confirmation step is shown. The Filters slot additionally
@@ -4772,7 +4991,16 @@ export declare function DefaultSaveButton({ isVisible, isEnabled, isSaving, butt
4772
4991
  *
4773
4992
  * @alpha
4774
4993
  */
4775
- export declare function DefaultScheduledEmailDialog(props: IDefaultScheduledEmailDialogProps): JSX.Element;
4994
+ export declare function DefaultScheduledEmailDialog(props: IDefaultScheduledEmailDialogProps): ReactElement;
4995
+
4996
+ /**
4997
+ * Default render of the scheduled-export dialog's dashboard-attachments field.
4998
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogDashboardAttachments}
4999
+ * render it with {@link useScheduledEmailDialogDashboardAttachmentsProps}.
5000
+ *
5001
+ * @alpha
5002
+ */
5003
+ export declare function DefaultScheduledEmailDialogDashboardAttachments(props: IScheduledEmailDialogDashboardAttachmentsProps): ReactElement;
4776
5004
 
4777
5005
  /**
4778
5006
  * Default render of the scheduled-export dialog's destination region: the notification-channel
@@ -4784,6 +5012,15 @@ export declare function DefaultScheduledEmailDialog(props: IDefaultScheduledEmai
4784
5012
  */
4785
5013
  export declare function DefaultScheduledEmailDialogDestination({ notificationChannels, selectedNotificationChannelId, onChange }: IAutomationDialogDestinationProps): JSX.Element;
4786
5014
 
5015
+ /**
5016
+ * Default render of the scheduled-export dialog's evaluation-mode field.
5017
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogEvaluationMode}
5018
+ * render it with {@link useScheduledEmailDialogEvaluationModeProps}.
5019
+ *
5020
+ * @alpha
5021
+ */
5022
+ export declare function DefaultScheduledEmailDialogEvaluationMode(props: IScheduledEmailDialogEvaluationModeProps): ReactElement;
5023
+
4787
5024
  /**
4788
5025
  * Default render of the scheduled-export dialog's filters region: the filter and parameter chips of
4789
5026
  * the Filters tab, flat or per dashboard tab. The title is hidden and the list always expanded
@@ -4805,6 +5042,15 @@ export declare function DefaultScheduledEmailDialogFilters(props: IScheduledEmai
4805
5042
  */
4806
5043
  export declare const DefaultScheduledEmailDialogHeader: ForwardRefExoticComponent<IScheduledEmailDialogHeaderProps & RefAttributes<HTMLInputElement>>;
4807
5044
 
5045
+ /**
5046
+ * Default render of the scheduled-export dialog's message field.
5047
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogMessage}
5048
+ * render it with {@link useScheduledEmailDialogMessageProps}.
5049
+ *
5050
+ * @alpha
5051
+ */
5052
+ export declare function DefaultScheduledEmailDialogMessage(props: IScheduledEmailDialogMessageProps): ReactElement;
5053
+
4808
5054
  /**
4809
5055
  * Default render of the scheduled-export dialog's recipients region: the recipients select.
4810
5056
  * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogRecipients}
@@ -4815,6 +5061,24 @@ export declare const DefaultScheduledEmailDialogHeader: ForwardRefExoticComponen
4815
5061
  */
4816
5062
  export declare function DefaultScheduledEmailDialogRecipients(props: IScheduledEmailDialogRecipientsProps): JSX.Element;
4817
5063
 
5064
+ /**
5065
+ * Default render of the scheduled-export dialog's recurrence field: the recurrence form.
5066
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogRecurrence}
5067
+ * render it with {@link useScheduledEmailDialogRecurrenceProps}.
5068
+ *
5069
+ * @alpha
5070
+ */
5071
+ export declare function DefaultScheduledEmailDialogRecurrence(props: IScheduledEmailDialogRecurrenceProps): ReactElement;
5072
+
5073
+ /**
5074
+ * Default render of the scheduled-export dialog's subject field.
5075
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogSubject}
5076
+ * render it with {@link useScheduledEmailDialogSubjectProps}.
5077
+ *
5078
+ * @alpha
5079
+ */
5080
+ export declare function DefaultScheduledEmailDialogSubject(props: IScheduledEmailDialogSubjectProps): ReactElement;
5081
+
4818
5082
  /**
4819
5083
  * The "Time zone" section of the scheduled-email dialog's General tab. Unlike the
4820
5084
  * dashboard-settings timezone picker, the dropdown offers no browser-detected option — the
@@ -4831,6 +5095,15 @@ export declare function DefaultScheduledEmailDialogRecipients(props: IScheduledE
4831
5095
  */
4832
5096
  export declare function DefaultScheduledEmailDialogTimezone({ isWidget, selection, defaultResolvedTimezone, onTimezoneChange }: IScheduledEmailDialogTimezoneProps): JSX.Element;
4833
5097
 
5098
+ /**
5099
+ * Default render of the scheduled-export dialog's widget-attachments field.
5100
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogWidgetAttachments}
5101
+ * render it with {@link useScheduledEmailDialogWidgetAttachmentsProps}.
5102
+ *
5103
+ * @alpha
5104
+ */
5105
+ export declare function DefaultScheduledEmailDialogWidgetAttachments(props: IScheduledEmailDialogWidgetAttachmentsProps): ReactElement;
5106
+
4834
5107
  /**
4835
5108
  * @alpha
4836
5109
  */
@@ -5691,32 +5964,11 @@ export declare type FilterBarMeasureValueFilterIndexed = {
5691
5964
  */
5692
5965
  export declare type FilterBarRenderingMode = "default" | "hidden";
5693
5966
 
5694
- /**
5695
- * Gets {@link IDashboardFilter} items for filters specified as {@link @gooddata/sdk-backend-spi#FilterContextItem} instances.
5696
- *
5697
- * @param filterContextItems - filter context items to get filters for
5698
- * @param dateDataSet - date data set to define {@link @gooddata/sdk-model#IDateFilter}
5699
- * @public
5700
- */
5701
- export declare function filterContextItemsToDashboardFiltersByDateDataSet(filterContextItems: FilterContextItem[], dateDataSet: ObjRef): IDashboardFilter[];
5967
+ export { filterContextItemsToDashboardFiltersByDateDataSet }
5702
5968
 
5703
- /**
5704
- * Gets {@link IDashboardFilter} items for filters specified as {@link @gooddata/sdk-backend-spi#FilterContextItem} instances.
5705
- *
5706
- * @param filterContextItems - filter context items to get filters for
5707
- * @param widget - widget to use to get dateDataSet for date filters
5708
- * @public
5709
- */
5710
- export declare function filterContextItemsToDashboardFiltersByRichTextWidget(filterContextItems: FilterContextItem[], widget?: Partial<IFilterableWidget>): IDashboardFilter[];
5969
+ export { filterContextItemsToDashboardFiltersByRichTextWidget }
5711
5970
 
5712
- /**
5713
- * Gets {@link IDashboardFilter} items for filters specified as {@link @gooddata/sdk-backend-spi#FilterContextItem} instances.
5714
- *
5715
- * @param filterContextItems - filter context items to get filters for
5716
- * @param widget - widget to use to get dateDataSet for date filters
5717
- * @public
5718
- */
5719
- export declare function filterContextItemsToDashboardFiltersByWidget(filterContextItems: FilterContextItem[], widget?: Partial<IFilterableWidget>): IDashboardFilter[];
5971
+ export { filterContextItemsToDashboardFiltersByWidget }
5720
5972
 
5721
5973
  /**
5722
5974
  * @alpha
@@ -5795,24 +6047,9 @@ export declare type FilterContextState = {
5795
6047
  defaultFilterOverrides?: FilterContextItem[];
5796
6048
  };
5797
6049
 
5798
- /**
5799
- * Gets {@link IDashboardFilter} items for filters specified in given filterContext in relation to the
5800
- * given dateDataSet.
5801
- *
5802
- * @param filterContext - filter context to get filters for
5803
- * @param dateDataSet - widget to use to get dateDataSet for date filters
5804
- * @public
5805
- */
5806
- export declare function filterContextToDashboardFiltersByDateDataSet(filterContext: IFilterContextDefinition | IFilterContext | ITempFilterContext | undefined, dateDataSet: ObjRef): IDashboardFilter[];
6050
+ export { filterContextToDashboardFiltersByDateDataSet }
5807
6051
 
5808
- /**
5809
- * Gets {@link IDashboardFilter} items for filters specified in given filterContext in relation to the given widget.
5810
- *
5811
- * @param filterContext - filter context to get filters for
5812
- * @param widget - widget to use to get dateDataSet for date filters
5813
- * @public
5814
- */
5815
- export declare function filterContextToDashboardFiltersByWidget(filterContext: IFilterContextDefinition | IFilterContext | ITempFilterContext | undefined, widget: IWidgetDefinition): IDashboardFilter[];
6052
+ export { filterContextToDashboardFiltersByWidget }
5816
6053
 
5817
6054
  /**
5818
6055
  * @alpha
@@ -6866,6 +7103,22 @@ export declare interface IAlertingDialogFiltersProps extends IAutomationDialogFi
6866
7103
  disableDateFilters: boolean;
6867
7104
  }
6868
7105
 
7106
+ /**
7107
+ * Props of {@link AlertingDialogFormFieldGroup}.
7108
+ *
7109
+ * @alpha
7110
+ */
7111
+ export declare interface IAlertingDialogFormFieldGroupProps {
7112
+ /**
7113
+ * The group heading in the label column — "When" (the condition) and "Do" (the action) in the default dialog.
7114
+ */
7115
+ label: ReactNode;
7116
+ /**
7117
+ * The field rows of the group — {@link AlertingDialogMeasure} and its siblings.
7118
+ */
7119
+ children: ReactNode;
7120
+ }
7121
+
6869
7122
  /**
6870
7123
  * Props of the default alerting dialog's granularity field (anomaly detection).
6871
7124
  *
@@ -7055,6 +7308,51 @@ export declare interface IAlertingDialogSensitivityProps {
7055
7308
  closeOnParentScroll?: boolean;
7056
7309
  }
7057
7310
 
7311
+ /**
7312
+ * Props of {@link AlertingDialogShell}.
7313
+ *
7314
+ * @alpha
7315
+ */
7316
+ export declare interface IAlertingDialogShellProps extends Pick<IAlertingDialogProps, "onCancel" | "onDeleteSuccess" | "onDeleteError"> {
7317
+ /**
7318
+ * The dialog's single submit — `submit` of the caller's {@link useAlertSubmit} instance. Drives the
7319
+ * footer's submit button and the Enter key on it. The shell does not own the submit hook, so a
7320
+ * caller's own Enter handler or button can share the same instance. Create the hook instance only
7321
+ * once the dialog context reports `isLoading: false`.
7322
+ */
7323
+ onSubmit: () => void;
7324
+ /**
7325
+ * `isSaving` of the same {@link useAlertSubmit} instance: disables submit and Delete and shows the
7326
+ * footer's progress indicator.
7327
+ */
7328
+ isSaving: boolean;
7329
+ /**
7330
+ * Header and action-bar overrides — the Level 1 slot contract ({@link IAlertingDialogSlots.Header},
7331
+ * {@link IAlertingDialogSlots.ActionBar}): each slot receives `{ Default, defaultProps }`, where
7332
+ * `defaultProps` are the shell's live values (the header's `onCancel` and initial-focus `ref`; the
7333
+ * action bar's `onSubmit`, `isSaving`, `onDelete`). Slot components need a stable reference identity —
7334
+ * see {@link @gooddata/sdk-ui-kit#ISlotProps}. The body regions have no slot here: place their blocks
7335
+ * ({@link AlertingDialogFilters} and siblings) as children instead.
7336
+ */
7337
+ slots?: Pick<IAlertingDialogSlots, "Header" | "ActionBar">;
7338
+ /**
7339
+ * Rendered first inside the dialog's scrollable content area, above `children`.
7340
+ */
7341
+ topContent?: ReactNode;
7342
+ /**
7343
+ * Rendered last inside the scrollable content area, below `children` and the dialog's warning and
7344
+ * validation messages.
7345
+ */
7346
+ bottomContent?: ReactNode;
7347
+ /**
7348
+ * The body: the regions and fields, in the caller's order — {@link AlertingDialogFilters},
7349
+ * {@link AlertingDialogFormFieldGroup} with the condition and action blocks, and so on. Not mounted
7350
+ * while `useAlertingDialogContext().isLoading` is true (the shell shows its loading skeleton) or while
7351
+ * the stale-filters confirmation step is shown.
7352
+ */
7353
+ children?: ReactNode;
7354
+ }
7355
+
7058
7356
  /**
7059
7357
  * Section-level overrides of the default alerting dialog.
7060
7358
  *
@@ -7226,6 +7524,18 @@ export declare interface IAlertingManagementDialogContextValue {
7226
7524
  automationsInvalidationId?: number;
7227
7525
  isEmbedded: boolean;
7228
7526
  enableAccessibilityMode: boolean;
7527
+ /**
7528
+ * Alerts visible in the management dialog, scoped to the current dashboard context.
7529
+ */
7530
+ automations: IAutomationMetadataObject[];
7531
+ /**
7532
+ * True while the automation list is still loading.
7533
+ *
7534
+ * The automations load only — deliberately narrower than the scheduled-email management
7535
+ * context's flag, which also folds in a widget-filters load that has no bearing on a
7536
+ * management list.
7537
+ */
7538
+ isLoading: boolean;
7229
7539
  getWidgetByRef: (ref: ObjRef | undefined) => IWidget | undefined;
7230
7540
  getInsightByWidgetRef: (ref: ObjRef | undefined) => IInsight | undefined;
7231
7541
  pauseAlert(alert: IAutomationMetadataObject): Promise<IAutomationMetadataObject>;
@@ -9917,12 +10227,41 @@ export declare interface IDashboardCustomComponentProps {
9917
10227
  * @alpha
9918
10228
  */
9919
10229
  ScheduledEmailManagementDialogComponent?: CustomScheduledEmailManagementDialogComponent;
10230
+ /**
10231
+ * Specify component to decorate the data the scheduled email management dialog reads.
10232
+ *
10233
+ * Rendered between the connector-provided management dialog context and the resolved
10234
+ * management dialog component; see `CustomScheduledEmailManagementDialogContextDecoratorComponent`
10235
+ * for the contract and an example.
10236
+ *
10237
+ * @alpha
10238
+ */
10239
+ ScheduledEmailManagementDialogContextDecoratorComponent?: CustomScheduledEmailManagementDialogContextDecoratorComponent;
9920
10240
  /**
9921
10241
  * Specify component to use for rendering the alerting management dialog.
9922
10242
  *
9923
10243
  * @alpha
9924
10244
  */
9925
10245
  AlertingManagementDialogComponent?: CustomAlertingManagementDialogComponent;
10246
+ /**
10247
+ * Specify component to decorate the data the alerting management dialog reads.
10248
+ *
10249
+ * Rendered between the connector-provided management dialog context and the resolved
10250
+ * management dialog component; see `CustomAlertingManagementDialogContextDecoratorComponent`
10251
+ * for the contract and an example.
10252
+ *
10253
+ * @alpha
10254
+ */
10255
+ AlertingManagementDialogContextDecoratorComponent?: CustomAlertingManagementDialogContextDecoratorComponent;
10256
+ /**
10257
+ * Specify component to decorate the data the automation dialogs' shared context carries.
10258
+ *
10259
+ * Rendered once per dialog tree, directly inside each connector-provided automations context;
10260
+ * see `CustomAutomationsContextDecoratorComponent` for the contract and an example.
10261
+ *
10262
+ * @alpha
10263
+ */
10264
+ AutomationsContextDecoratorComponent?: CustomAutomationsContextDecoratorComponent;
9926
10265
  /**
9927
10266
  * Specify component to use for rendering the alerting dialog.
9928
10267
  *
@@ -11259,9 +11598,10 @@ export declare interface IDashboardExtensionProps extends IDashboardEventing, ID
11259
11598
 
11260
11599
  /**
11261
11600
  * Supported dashboard filter type.
11601
+ *
11262
11602
  * @public
11263
11603
  */
11264
- export declare type IDashboardFilter = IAbsoluteDateFilter | IRelativeDateFilter | IPositiveAttributeFilter | INegativeAttributeFilter | IArbitraryAttributeFilter | IMatchAttributeFilter | IMeasureValueFilter;
11604
+ export declare type IDashboardFilter = IDashboardFilter_2;
11265
11605
 
11266
11606
  /**
11267
11607
  * This event is emitted after dashboard selection filters have been reset.
@@ -19013,59 +19353,132 @@ export declare interface IScheduledEmailDialogContextValue {
19013
19353
  }
19014
19354
 
19015
19355
  /**
19016
- * Props of the default scheduled email dialog's filters region (the Filters tab content).
19017
- *
19018
- * @remarks
19019
- * The region is bimodal: whenever `filtersByTab` is present with more than one tab, the by-tab
19020
- * members (`filtersByTab` and the `*ByTab` parameter family) drive rendering and the flat
19021
- * handlers are unused; otherwise the flat members drive it and the by-tab members are unused.
19022
- * `defaultProps` always carries both families so a wrap stays faithful in either mode.
19356
+ * Props of the scheduled-export dialog's dashboard-attachments field.
19023
19357
  *
19024
19358
  * @alpha
19025
19359
  */
19026
- export declare interface IScheduledEmailDialogFiltersProps extends IAutomationDialogFiltersProps {
19360
+ export declare interface IScheduledEmailDialogDashboardAttachmentsProps {
19027
19361
  /**
19028
- * Whether the schedule stores its own filters instead of using the latest saved dashboard
19029
- * filters.
19362
+ * The selected export formats.
19030
19363
  */
19031
- storeFilters: boolean;
19364
+ selectedAttachments: DashboardAttachmentType[];
19032
19365
  /**
19033
- * Toggles filter (and parameter) persistence. The current filters must be passed back —
19034
- * flat mode as `(value, selectedFilters, undefined)`, by-tab mode as
19035
- * `(value, undefined, editedFiltersByTab)`; calling it with the value alone leaves the
19036
- * draft's export definitions out of sync with the toggle.
19366
+ * Dashboard filters the export is scoped to; the control passes them back as the second
19367
+ * argument of every {@link IScheduledEmailDialogDashboardAttachmentsProps.onDashboardAttachmentsChange}
19368
+ * call.
19037
19369
  */
19038
- onStoreFiltersChange: (value: boolean, filters?: FilterContextItem[], filtersByTab?: Record<string, FilterContextItem[]>) => void;
19370
+ dashboardFilters?: FilterContextItem[];
19039
19371
  /**
19040
- * Whether the schedule targets the whole dashboard (shows the store-filters checkbox)
19041
- * rather than a single widget.
19372
+ * When true and at least one attachment is selected, the control shows the notice that
19373
+ * exports do not reflect cross-filtering.
19042
19374
  */
19043
- isDashboardAutomation: boolean;
19375
+ isCrossFiltering: boolean;
19044
19376
  /**
19045
- * Filters structured per dashboard tab; when present with more than one tab, the region
19046
- * renders in by-tab mode.
19377
+ * Replaces the selected dashboard export formats. Called with the complete new selection and
19378
+ * the current {@link IScheduledEmailDialogDashboardAttachmentsProps.dashboardFilters}.
19047
19379
  */
19048
- filtersByTab?: IAutomationFiltersTab[];
19380
+ onDashboardAttachmentsChange: (formats: DashboardAttachmentType[], filters?: FilterContextItem[]) => void;
19049
19381
  /**
19050
- * Edited filter selection per tab.
19382
+ * XLSX export settings shown in the attachment's settings editor.
19051
19383
  */
19052
- editedFiltersByTab?: Record<string, FilterContextItem[]>;
19384
+ xlsxSettings: IExportDefinitionVisualizationObjectSettings;
19053
19385
  /**
19054
- * Replaces a tab's filter selection with the complete updated record.
19386
+ * Sets the XLSX export settings.
19055
19387
  */
19056
- onFiltersByTabChange?: (filtersByTab: Record<string, FilterContextItem[]>) => void;
19388
+ onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19057
19389
  /**
19058
- * Parameter chips per tab (by-tab mode).
19390
+ * Whether the slide-based formats (PPTX, PDF slides) are offered; when false they are
19391
+ * excluded from the add-attachment options.
19059
19392
  */
19060
- parametersByTab?: Record<string, IAutomationParameter[]>;
19393
+ isSlidesExportEnabled: boolean;
19061
19394
  /**
19062
- * Addable workspace parameters per tab (by-tab mode).
19395
+ * Export templates offered in the template picker of the slide-based formats.
19063
19396
  */
19064
- availableParametersByTab?: Record<string, IAutomationParameter[]>;
19397
+ exportTemplates?: IExportTemplate[];
19065
19398
  /**
19066
- * Called when a parameter is added in a tab section (by-tab mode).
19399
+ * The template chosen per slide-based format; undefined where the default template applies.
19067
19400
  */
19068
- onParameterAddByTab?: (tabId: string, ref: IdentifierRef) => void;
19401
+ slidesTemplateIds?: {
19402
+ PPTX?: string;
19403
+ PDF_SLIDES?: string;
19404
+ PDF?: string;
19405
+ };
19406
+ /**
19407
+ * Sets the export template of one slide-based format.
19408
+ */
19409
+ onSlidesTemplateIdChange?: (templateId: string | undefined, format: "PPTX" | "PDF_SLIDES" | "PDF") => void;
19410
+ }
19411
+
19412
+ /**
19413
+ * Props of the scheduled-export dialog's evaluation-mode checkbox.
19414
+ *
19415
+ * @alpha
19416
+ */
19417
+ export declare interface IScheduledEmailDialogEvaluationModeProps {
19418
+ /**
19419
+ * Whether the evaluation mode is SHARED.
19420
+ */
19421
+ isShared: boolean;
19422
+ /**
19423
+ * Switches between a shared and a per-recipient evaluation of the export.
19424
+ */
19425
+ onChange: (isShared: boolean) => void;
19426
+ }
19427
+
19428
+ /**
19429
+ * Props of the default scheduled email dialog's filters region (the Filters tab content).
19430
+ *
19431
+ * @remarks
19432
+ * The region is bimodal: whenever `filtersByTab` is present with more than one tab, the by-tab
19433
+ * members (`filtersByTab` and the `*ByTab` parameter family) drive rendering and the flat
19434
+ * handlers are unused; otherwise the flat members drive it and the by-tab members are unused.
19435
+ * `defaultProps` always carries both families so a wrap stays faithful in either mode.
19436
+ *
19437
+ * @alpha
19438
+ */
19439
+ export declare interface IScheduledEmailDialogFiltersProps extends IAutomationDialogFiltersProps {
19440
+ /**
19441
+ * Whether the schedule stores its own filters instead of using the latest saved dashboard
19442
+ * filters.
19443
+ */
19444
+ storeFilters: boolean;
19445
+ /**
19446
+ * Toggles filter (and parameter) persistence. The current filters must be passed back —
19447
+ * flat mode as `(value, selectedFilters, undefined)`, by-tab mode as
19448
+ * `(value, undefined, editedFiltersByTab)`; calling it with the value alone leaves the
19449
+ * draft's export definitions out of sync with the toggle.
19450
+ */
19451
+ onStoreFiltersChange: (value: boolean, filters?: FilterContextItem[], filtersByTab?: Record<string, FilterContextItem[]>) => void;
19452
+ /**
19453
+ * Whether the schedule targets the whole dashboard (shows the store-filters checkbox)
19454
+ * rather than a single widget.
19455
+ */
19456
+ isDashboardAutomation: boolean;
19457
+ /**
19458
+ * Filters structured per dashboard tab; when present with more than one tab, the region
19459
+ * renders in by-tab mode.
19460
+ */
19461
+ filtersByTab?: IAutomationFiltersTab[];
19462
+ /**
19463
+ * Edited filter selection per tab.
19464
+ */
19465
+ editedFiltersByTab?: Record<string, FilterContextItem[]>;
19466
+ /**
19467
+ * Replaces a tab's filter selection with the complete updated record.
19468
+ */
19469
+ onFiltersByTabChange?: (filtersByTab: Record<string, FilterContextItem[]>) => void;
19470
+ /**
19471
+ * Parameter chips per tab (by-tab mode).
19472
+ */
19473
+ parametersByTab?: Record<string, IAutomationParameter[]>;
19474
+ /**
19475
+ * Addable workspace parameters per tab (by-tab mode).
19476
+ */
19477
+ availableParametersByTab?: Record<string, IAutomationParameter[]>;
19478
+ /**
19479
+ * Called when a parameter is added in a tab section (by-tab mode).
19480
+ */
19481
+ onParameterAddByTab?: (tabId: string, ref: IdentifierRef) => void;
19069
19482
  /**
19070
19483
  * Called when a parameter chip's value is edited in a tab section (by-tab mode).
19071
19484
  */
@@ -19096,6 +19509,22 @@ export declare interface IScheduledEmailDialogHeaderProps extends IAutomationDia
19096
19509
  onBack?: () => void;
19097
19510
  }
19098
19511
 
19512
+ /**
19513
+ * Props of the scheduled-export dialog's message field.
19514
+ *
19515
+ * @alpha
19516
+ */
19517
+ export declare interface IScheduledEmailDialogMessageProps {
19518
+ /**
19519
+ * The e-mail message text.
19520
+ */
19521
+ value: string;
19522
+ /**
19523
+ * Sets the e-mail message; `isValid` is the field's own length verdict.
19524
+ */
19525
+ onChange: (value: string, isValid: boolean) => void;
19526
+ }
19527
+
19099
19528
  /**
19100
19529
  * @alpha
19101
19530
  */
@@ -19232,6 +19661,120 @@ export declare interface IScheduledEmailDialogRecipientsProps extends IAutomatio
19232
19661
  onKeyDownSubmit: (e: KeyboardEvent_2) => void;
19233
19662
  }
19234
19663
 
19664
+ /**
19665
+ * Props of the scheduled-export dialog's recurrence field.
19666
+ *
19667
+ * @alpha
19668
+ */
19669
+ export declare interface IScheduledEmailDialogRecurrenceProps {
19670
+ /**
19671
+ * First-run date the cron editor is anchored to.
19672
+ */
19673
+ startDate: Date;
19674
+ /**
19675
+ * The draft's cron expression.
19676
+ */
19677
+ cronExpression: string;
19678
+ /**
19679
+ * Human-readable description of the cron expression, when the draft carries one.
19680
+ */
19681
+ cronDescription?: string;
19682
+ /**
19683
+ * Display-only timezone label shown in the occurrence description.
19684
+ */
19685
+ timezone: string;
19686
+ /**
19687
+ * Date format used by the first-run date picker.
19688
+ */
19689
+ dateFormat: string;
19690
+ /**
19691
+ * Locale of the recurrence editor.
19692
+ */
19693
+ locale: string;
19694
+ /**
19695
+ * First day of the week in the date picker.
19696
+ */
19697
+ weekStart: WeekStart;
19698
+ /**
19699
+ * Whether the hourly recurrence option is offered.
19700
+ */
19701
+ allowHourlyRecurrence: boolean;
19702
+ /**
19703
+ * Hides GoodData-specific copy when white-labeled.
19704
+ */
19705
+ isWhiteLabeled: boolean;
19706
+ /**
19707
+ * Closes the recurrence dropdowns when the dialog body scrolls.
19708
+ */
19709
+ closeDropdownsOnParentScroll: boolean;
19710
+ /**
19711
+ * Sets the cron expression and first run; `isValid` is the recurrence form's own verdict.
19712
+ */
19713
+ onChange: (cronExpression: string, startDate: Date | null, isValid: boolean) => void;
19714
+ /**
19715
+ * Key-down handler; the dialog submits on Enter through it.
19716
+ */
19717
+ onKeyDownSubmit: (event: KeyboardEvent_2) => void;
19718
+ }
19719
+
19720
+ /**
19721
+ * Props of {@link ScheduledEmailDialogShell}.
19722
+ *
19723
+ * @alpha
19724
+ */
19725
+ export declare interface IScheduledEmailDialogShellProps extends Pick<IScheduledEmailDialogProps, "onCancel" | "onBack" | "onDeleteSuccess" | "onDeleteError"> {
19726
+ /**
19727
+ * The dialog's single save — `handleSaveScheduledEmail` of the caller's
19728
+ * {@link useSaveScheduledEmailToBackend} instance. Drives the footer's submit button, the Enter key on
19729
+ * it, and the header's Enter-to-submit. (Not the `onSubmit` observer of {@link IScheduledEmailDialogProps};
19730
+ * that one goes to the save hook.) The shell does not own the save hook, so the caller's own Enter
19731
+ * handlers — {@link useScheduledEmailSubmitOnEnter} — share the same instance. Create the hook instance
19732
+ * only once the dialog context reports `isLoading: false`.
19733
+ */
19734
+ onSubmit: () => void;
19735
+ /**
19736
+ * `isSavingScheduledEmail` of the same instance: disables submit and Delete and shows the footer's
19737
+ * progress indicator.
19738
+ */
19739
+ isSaving: boolean;
19740
+ /**
19741
+ * `savingErrorMessage` of the same instance; shown as the body's error message, ahead of the form's
19742
+ * validation message.
19743
+ */
19744
+ savingErrorMessage?: string;
19745
+ /**
19746
+ * Header, action-bar and Filters-tab overrides — the Level 1 slot contract
19747
+ * ({@link IScheduledEmailDialogSlots.Header}, {@link IScheduledEmailDialogSlots.ActionBar},
19748
+ * {@link IScheduledEmailDialogSlots.Filters}): each slot receives `{ Default, defaultProps }` with the
19749
+ * shell's live values. Slot components need a stable reference identity — see
19750
+ * {@link @gooddata/sdk-ui-kit#ISlotProps}. `Filters` is ignored when `filtersTabContent` is passed. The
19751
+ * General-tab regions have no slot here: place their blocks ({@link ScheduledEmailDialogDestination} and
19752
+ * siblings) as children instead.
19753
+ */
19754
+ slots?: Pick<IScheduledEmailDialogSlots, "Header" | "ActionBar" | "Filters">;
19755
+ /**
19756
+ * Rendered first inside the dialog's scrollable content area, above the selected tab's content.
19757
+ */
19758
+ topContent?: ReactNode;
19759
+ /**
19760
+ * Rendered last inside the scrollable content area, below the selected tab's content.
19761
+ */
19762
+ bottomContent?: ReactNode;
19763
+ /**
19764
+ * The General tab's content: the regions and fields, in the caller's order. Rendered only while the
19765
+ * General tab is selected; not mounted while `useScheduledEmailDialogContext().isLoading` is true (the
19766
+ * shell shows its loading skeleton — on scheduled email the ordinary path while a widget export's
19767
+ * filters load) or while the stale-filters confirmation step is shown.
19768
+ */
19769
+ children?: ReactNode;
19770
+ /**
19771
+ * The Filters tab's content. Defaults to the dialog's filters region ({@link DefaultScheduledEmailDialogFilters}
19772
+ * with {@link useScheduledEmailDialogFiltersProps}, or the `Filters` slot). Rendered only while the Filters
19773
+ * tab is selected. An explicit `null` counts as provided and renders an empty Filters tab.
19774
+ */
19775
+ filtersTabContent?: ReactNode;
19776
+ }
19777
+
19235
19778
  /**
19236
19779
  * Section-level overrides of the default scheduled email dialog.
19237
19780
  *
@@ -19304,6 +19847,34 @@ export declare interface IScheduledEmailDialogSlots {
19304
19847
  ActionBar?: ComponentType<ISlotProps<IAutomationDialogActionBarProps>>;
19305
19848
  }
19306
19849
 
19850
+ /**
19851
+ * Props of the scheduled-export dialog's subject field.
19852
+ *
19853
+ * @alpha
19854
+ */
19855
+ export declare interface IScheduledEmailDialogSubjectProps {
19856
+ /**
19857
+ * Dashboard title, used as the subject placeholder (truncated to the title max length).
19858
+ */
19859
+ dashboardTitle: string;
19860
+ /**
19861
+ * The export draft; the field renders `details.subject`.
19862
+ */
19863
+ editedAutomation: IAutomationMetadataObjectDefinition;
19864
+ /**
19865
+ * Disables submit-on-Enter while the dialog is not submittable.
19866
+ */
19867
+ isSubmitDisabled?: boolean;
19868
+ /**
19869
+ * Sets the e-mail subject; `isValid` is the field's own length verdict.
19870
+ */
19871
+ onChange: (value: string, isValid: boolean) => void;
19872
+ /**
19873
+ * Called on Enter when submit is not disabled.
19874
+ */
19875
+ onKeyDownSubmit: () => void;
19876
+ }
19877
+
19307
19878
  /**
19308
19879
  * Props of the default scheduled email dialog's "Time zone" section (the export-content timezone
19309
19880
  * picker on the General tab; unrelated to the schedule cron timezone).
@@ -19331,6 +19902,80 @@ export declare interface IScheduledEmailDialogTimezoneProps {
19331
19902
  onTimezoneChange: (timezoneId: string | undefined) => void;
19332
19903
  }
19333
19904
 
19905
+ /**
19906
+ * Props of the scheduled-export dialog's widget-attachments field.
19907
+ *
19908
+ * @alpha
19909
+ */
19910
+ export declare interface IScheduledEmailDialogWidgetAttachmentsProps {
19911
+ /**
19912
+ * The selected export formats.
19913
+ */
19914
+ selectedAttachments: WidgetAttachmentType[];
19915
+ /**
19916
+ * Replaces the selected widget export formats with the complete new selection.
19917
+ */
19918
+ onWidgetAttachmentsChange: (formats: WidgetAttachmentType[]) => void;
19919
+ /**
19920
+ * XLSX export settings shown in the attachment's settings editor.
19921
+ */
19922
+ xlsxSettings: IExportDefinitionVisualizationObjectSettings;
19923
+ /**
19924
+ * Sets the XLSX export settings.
19925
+ */
19926
+ onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19927
+ /**
19928
+ * Tabular-PDF export settings shown in the attachment's settings editor.
19929
+ */
19930
+ pdfSettings: IExportDefinitionVisualizationObjectSettings;
19931
+ /**
19932
+ * Sets the tabular-PDF export settings.
19933
+ */
19934
+ onPdfSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19935
+ /**
19936
+ * CSV export settings shown in the attachment's settings editor.
19937
+ */
19938
+ csvSettings: IExportDefinitionVisualizationObjectSettings;
19939
+ /**
19940
+ * Sets the CSV export settings.
19941
+ */
19942
+ onCsvSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19943
+ /**
19944
+ * Raw-CSV export settings shown in the attachment's settings editor.
19945
+ */
19946
+ csvRawSettings: IExportDefinitionVisualizationObjectSettings;
19947
+ /**
19948
+ * Sets the raw-CSV export settings.
19949
+ */
19950
+ onCsvRawSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19951
+ /**
19952
+ * Whether the slide-based formats (PPTX, PDF) are offered; when false they are excluded
19953
+ * from the add-attachment options.
19954
+ */
19955
+ isSlidesExportEnabled: boolean;
19956
+ /**
19957
+ * When true, formats without an accessible rendering (PDF_TABULAR) are excluded from the
19958
+ * add-attachment options.
19959
+ */
19960
+ isAccessibilityModeEnabled: boolean;
19961
+ /**
19962
+ * Export templates offered in the template picker of the slide-based formats.
19963
+ */
19964
+ exportTemplates?: IExportTemplate[];
19965
+ /**
19966
+ * The template chosen per slide-based format; undefined where the default template applies.
19967
+ */
19968
+ slidesTemplateIds?: {
19969
+ PPTX?: string;
19970
+ PDF_SLIDES?: string;
19971
+ PDF?: string;
19972
+ };
19973
+ /**
19974
+ * Sets the export template of one slide-based format.
19975
+ */
19976
+ onSlidesTemplateIdChange?: (templateId: string | undefined, format: "PPTX" | "PDF_SLIDES" | "PDF") => void;
19977
+ }
19978
+
19334
19979
  /**
19335
19980
  * Sub-context for the scheduled-email management dialog.
19336
19981
  * The connector hydrates this from dashboard state.
@@ -20335,7 +20980,7 @@ export declare const isDashboardExportToPptPresentationResolved: (obj: unknown)
20335
20980
  *
20336
20981
  * @alpha
20337
20982
  */
20338
- export declare function isDashboardFilter(obj: unknown): obj is IDashboardFilter;
20983
+ export declare const isDashboardFilter: typeof isDashboardFilter_2;
20339
20984
 
20340
20985
  /**
20341
20986
  * Tests whether the provided object is an instance of {@link DashboardFilterContextChanged}.
@@ -22972,6 +23617,47 @@ export declare interface IUseScheduledEmailDialogRecipientsPropsInput {
22972
23617
  onKeyDownSubmit: (event: KeyboardEvent_2) => void;
22973
23618
  }
22974
23619
 
23620
+ /**
23621
+ * Inputs of {@link useScheduledEmailDialogRecurrenceProps} that come from the dialog rather than its state.
23622
+ *
23623
+ * @alpha
23624
+ */
23625
+ export declare interface IUseScheduledEmailDialogRecurrencePropsInput {
23626
+ /**
23627
+ * Key-down handler of the recurrence inputs; the dialog submits on Enter through it.
23628
+ */
23629
+ onKeyDownSubmit: (event: KeyboardEvent_2) => void;
23630
+ }
23631
+
23632
+ /**
23633
+ * Inputs of {@link useScheduledEmailDialogSubjectProps} that come from the dialog rather than its state.
23634
+ *
23635
+ * @alpha
23636
+ */
23637
+ export declare interface IUseScheduledEmailDialogSubjectPropsInput {
23638
+ /**
23639
+ * Called on Enter in the subject input when submit is not disabled.
23640
+ */
23641
+ onKeyDownSubmit: () => void;
23642
+ }
23643
+
23644
+ /**
23645
+ * Inputs of {@link useScheduledEmailSubmitOnEnter} — the dialog's single save, from one
23646
+ * {@link useSaveScheduledEmailToBackend} instance.
23647
+ *
23648
+ * @alpha
23649
+ */
23650
+ export declare interface IUseScheduledEmailSubmitOnEnterInput {
23651
+ /**
23652
+ * `handleSaveScheduledEmail` of the dialog's {@link useSaveScheduledEmailToBackend} instance.
23653
+ */
23654
+ onSubmit: () => void;
23655
+ /**
23656
+ * `isSavingScheduledEmail` of the same instance; Enter does nothing while a save is in flight.
23657
+ */
23658
+ isSaving: boolean;
23659
+ }
23660
+
22975
23661
  /**
22976
23662
  * @internal
22977
23663
  */
@@ -23002,6 +23688,39 @@ export declare interface IUseWidgetSelectionResult {
23002
23688
  hasConfigPanelOpen: boolean;
23003
23689
  }
23004
23690
 
23691
+ /**
23692
+ * What {@link useWorkspaceUsersSearch} returns.
23693
+ *
23694
+ * @alpha
23695
+ */
23696
+ export declare interface IUseWorkspaceUsersSearchResult {
23697
+ /**
23698
+ * The current, not yet debounced, search string.
23699
+ */
23700
+ search: string;
23701
+ /**
23702
+ * The workspace users of the last settled query; undefined until the first query settles.
23703
+ */
23704
+ users: IWorkspaceUser[] | undefined;
23705
+ /**
23706
+ * The last query's error, if it failed.
23707
+ */
23708
+ usersError: GoodDataSdkError | undefined;
23709
+ /**
23710
+ * True while the search debounce window or a query is open.
23711
+ */
23712
+ isLoading: boolean;
23713
+ /**
23714
+ * Sets the search string; the query fires after a 300 ms debounce.
23715
+ */
23716
+ onSearch: (search: string) => void;
23717
+ /**
23718
+ * Starts the first fetch — nothing loads on mount until this is called (wire it to the
23719
+ * control's open/focus). After an error it doubles as retry.
23720
+ */
23721
+ onActivate: () => void;
23722
+ }
23723
+
23005
23724
  /**
23006
23725
  * Set of functions you can use to customize some aspects of the VisualizationSwitcher.
23007
23726
  *
@@ -25677,6 +26396,20 @@ export declare function ScheduledEmailDialogActionBar(props: IScheduledEmailDial
25677
26396
  */
25678
26397
  export declare const ScheduledEmailDialogContextProvider: Provider<IScheduledEmailDialogContextValue | undefined>;
25679
26398
 
26399
+ /**
26400
+ * The scheduled-export dialog's dashboard-attachments field, connected to the dialog's state.
26401
+ *
26402
+ * Renders {@link DefaultScheduledEmailDialogDashboardAttachments} with the props of
26403
+ * {@link useScheduledEmailDialogDashboardAttachmentsProps}; every prop passed here replaces the
26404
+ * hook's value for that prop wholesale. Renders nothing while
26405
+ * `useScheduledEmailDialogContext().isLoading` is true and when the dialog context has a `widget`
26406
+ * (a widget schedule renders {@link ScheduledEmailDialogWidgetAttachments} instead), the same
26407
+ * visibility the default dialog gives the field.
26408
+ *
26409
+ * @alpha
26410
+ */
26411
+ export declare function ScheduledEmailDialogDashboardAttachments(props: Partial<IScheduledEmailDialogDashboardAttachmentsProps>): ReactElement;
26412
+
25680
26413
  /**
25681
26414
  * The scheduled-export dialog's destination region (the notification-channel select), connected to
25682
26415
  * the dialog's state.
@@ -25689,6 +26422,20 @@ export declare const ScheduledEmailDialogContextProvider: Provider<IScheduledEma
25689
26422
  */
25690
26423
  export declare function ScheduledEmailDialogDestination(overrides: Partial<IAutomationDialogDestinationProps>): JSX.Element;
25691
26424
 
26425
+ /**
26426
+ * The scheduled-export dialog's evaluation-mode checkbox, connected to the dialog's state.
26427
+ *
26428
+ * Renders {@link DefaultScheduledEmailDialogEvaluationMode} with the props of
26429
+ * {@link useScheduledEmailDialogEvaluationModeProps}; every prop passed here replaces the hook's
26430
+ * value for that prop wholesale. Renders nothing while
26431
+ * `useScheduledEmailDialogContext().isLoading` is true and while
26432
+ * `useAutomationsContext().features.enableAutomationEvaluationMode` is off, the same visibility the
26433
+ * default dialog gives the field.
26434
+ *
26435
+ * @alpha
26436
+ */
26437
+ export declare function ScheduledEmailDialogEvaluationMode(props: Partial<IScheduledEmailDialogEvaluationModeProps>): ReactElement;
26438
+
25692
26439
  /**
25693
26440
  * The scheduled-export dialog's filters region (the filter and parameter chips, flat or per tab),
25694
26441
  * connected to the dialog's state.
@@ -25731,6 +26478,19 @@ export declare type ScheduledEmailDialogHeaderDefaultProps = IScheduledEmailDial
25731
26478
  ref?: Ref<HTMLInputElement>;
25732
26479
  };
25733
26480
 
26481
+ /**
26482
+ * The scheduled-export dialog's message field, connected to the dialog's state.
26483
+ *
26484
+ * Renders {@link DefaultScheduledEmailDialogMessage} with the props of
26485
+ * {@link useScheduledEmailDialogMessageProps}; every prop passed here replaces the hook's value for
26486
+ * that prop wholesale. Renders nothing while `useScheduledEmailDialogContext().isLoading` is true
26487
+ * and for an in-platform notification channel (which has no e-mail message), the same visibility
26488
+ * the default dialog gives the field.
26489
+ *
26490
+ * @alpha
26491
+ */
26492
+ export declare function ScheduledEmailDialogMessage(props: Partial<IScheduledEmailDialogMessageProps>): ReactElement;
26493
+
25734
26494
  /**
25735
26495
  * The scheduled-export dialog's recipients region, connected to the dialog's state.
25736
26496
  *
@@ -25745,6 +26505,91 @@ export declare type ScheduledEmailDialogHeaderDefaultProps = IScheduledEmailDial
25745
26505
  */
25746
26506
  export declare function ScheduledEmailDialogRecipients(props: Partial<IScheduledEmailDialogRecipientsProps>): JSX.Element;
25747
26507
 
26508
+ /**
26509
+ * The scheduled-export dialog's recurrence field, connected to the dialog's state.
26510
+ *
26511
+ * Renders {@link DefaultScheduledEmailDialogRecurrence} with the props of
26512
+ * {@link useScheduledEmailDialogRecurrenceProps}; every prop passed here replaces the hook's value
26513
+ * for that prop wholesale. Pass `onKeyDownSubmit` to submit on Enter from the recurrence inputs —
26514
+ * the default dialog passes its save action; without it Enter does nothing here. Renders nothing
26515
+ * while `useScheduledEmailDialogContext().isLoading` is true; otherwise ungated, unlike the other
26516
+ * General-tab fields.
26517
+ *
26518
+ * @alpha
26519
+ */
26520
+ export declare function ScheduledEmailDialogRecurrence(props: Partial<IScheduledEmailDialogRecurrenceProps>): ReactElement;
26521
+
26522
+ /**
26523
+ * The scheduled-export dialog's chrome, connected to the dialog's state: the modal overlay, the dialog
26524
+ * frame with the header row (the back button and the title input) and the action bar, the General and
26525
+ * Filters tabs, the scrollable content area around the selected tab's content, the body's error and
26526
+ * validation messages, the stale-filters confirmation step shown before the dialog when the saved filters
26527
+ * or schedule timezone no longer match the dashboard, and the delete confirmation reached from the
26528
+ * action bar in edit mode. While `useScheduledEmailDialogContext().isLoading` is true — on scheduled
26529
+ * email the ordinary path while a widget export's filters load — it renders the loading skeleton and
26530
+ * none of its children.
26531
+ *
26532
+ * The default dialog is `<ScheduledEmailDialogShell>` around the region blocks and form; a custom
26533
+ * `ScheduledEmailDialogComponent` that keeps this chrome and arranges the blocks differently renders the
26534
+ * shell itself. The shell does not own the save: call {@link useSaveScheduledEmailToBackend} and pass its
26535
+ * `handleSaveScheduledEmail`, `isSavingScheduledEmail` and `savingErrorMessage`; build Enter handlers for
26536
+ * the blocks you place with {@link useScheduledEmailSubmitOnEnter} over the same `handleSaveScheduledEmail`.
26537
+ * Call that hook only once `useScheduledEmailDialogContext().isLoading` is false — the state hooks throw
26538
+ * while the dialog loads — and render the shell alone (any `onSubmit`, `isSaving: false`) until then, as
26539
+ * the example does.
26540
+ *
26541
+ * Needs an ambient `IntlProvider`; inside a `Dashboard` the dashboard's provider covers it.
26542
+ *
26543
+ * @example
26544
+ * ```tsx
26545
+ * function MyScheduledEmailDialog(props: IScheduledEmailDialogProps) {
26546
+ * const { isLoading } = useScheduledEmailDialogContext();
26547
+ * // the state hooks throw while the dialog loads; the shell renders the loading skeleton
26548
+ * if (isLoading) {
26549
+ * return <ScheduledEmailDialogShell {...props} onSubmit={() => {}} isSaving={false} />;
26550
+ * }
26551
+ * return <MyScheduledEmailDialogBody {...props} />;
26552
+ * }
26553
+ *
26554
+ * function MyScheduledEmailDialogBody(props: IScheduledEmailDialogProps) {
26555
+ * const { handleSaveScheduledEmail, isSavingScheduledEmail, savingErrorMessage } =
26556
+ * useSaveScheduledEmailToBackend(props);
26557
+ * const submitOnEnter = useScheduledEmailSubmitOnEnter({
26558
+ * onSubmit: handleSaveScheduledEmail,
26559
+ * isSaving: isSavingScheduledEmail,
26560
+ * });
26561
+ * return (
26562
+ * <ScheduledEmailDialogShell
26563
+ * {...props}
26564
+ * onSubmit={handleSaveScheduledEmail}
26565
+ * isSaving={isSavingScheduledEmail}
26566
+ * savingErrorMessage={savingErrorMessage}
26567
+ * >
26568
+ * <ScheduledEmailDialogDestination />
26569
+ * <ScheduledEmailDialogRecipients onKeyDownSubmit={submitOnEnter} />
26570
+ * </ScheduledEmailDialogShell>
26571
+ * );
26572
+ * }
26573
+ * ```
26574
+ *
26575
+ * @alpha
26576
+ */
26577
+ export declare function ScheduledEmailDialogShell(props: IScheduledEmailDialogShellProps): ReactElement;
26578
+
26579
+ /**
26580
+ * The scheduled-export dialog's subject field, connected to the dialog's state.
26581
+ *
26582
+ * Renders {@link DefaultScheduledEmailDialogSubject} with the props of
26583
+ * {@link useScheduledEmailDialogSubjectProps}; every prop passed here replaces the hook's value for
26584
+ * that prop wholesale. Pass `onKeyDownSubmit` to submit on Enter from the subject input — the
26585
+ * default dialog passes its save action; without it Enter does nothing here. Renders nothing while
26586
+ * `useScheduledEmailDialogContext().isLoading` is true and for an in-platform notification channel
26587
+ * (which has no e-mail subject), the same visibility the default dialog gives the field.
26588
+ *
26589
+ * @alpha
26590
+ */
26591
+ export declare function ScheduledEmailDialogSubject(props: Partial<IScheduledEmailDialogSubjectProps>): ReactElement;
26592
+
25748
26593
  /**
25749
26594
  * The scheduled-export dialog's "Time zone" section (the export-content timezone picker), connected
25750
26595
  * to the dialog's state.
@@ -25767,10 +26612,40 @@ export declare function ScheduledEmailDialogTimezone(overrides: Partial<Schedule
25767
26612
  export declare type ScheduledEmailDialogTimezoneDefaultProps = IScheduledEmailDialogTimezoneProps;
25768
26613
 
25769
26614
  /**
26615
+ * The scheduled-export dialog's widget-attachments field, connected to the dialog's state.
26616
+ *
26617
+ * Renders {@link DefaultScheduledEmailDialogWidgetAttachments} with the props of
26618
+ * {@link useScheduledEmailDialogWidgetAttachmentsProps}; every prop passed here replaces the hook's
26619
+ * value for that prop wholesale. Renders nothing while `useScheduledEmailDialogContext().isLoading`
26620
+ * is true and when the dialog context has no `widget` (a dashboard schedule renders
26621
+ * {@link ScheduledEmailDialogDashboardAttachments} instead), the same visibility the default dialog
26622
+ * gives the field.
26623
+ *
26624
+ * @alpha
26625
+ */
26626
+ export declare function ScheduledEmailDialogWidgetAttachments(props: Partial<IScheduledEmailDialogWidgetAttachmentsProps>): ReactElement;
26627
+
26628
+ /**
26629
+ * Resolves the management dialog component from DashboardComponentsContext and mounts it inside
26630
+ * the resolved context decorator — so a decorated management context is what the dialog (default
26631
+ * or replacement) reads.
26632
+ *
25770
26633
  * @internal
25771
26634
  */
25772
26635
  export declare function ScheduledEmailManagementDialog(props: IScheduledEmailManagementDialogProps): ReactElement;
25773
26636
 
26637
+ /**
26638
+ * Provides the scheduled email management dialog context.
26639
+ *
26640
+ * The dashboard's connector mounts the original value. Exported so a context-decorator
26641
+ * component (`CustomScheduledEmailManagementDialogContextDecoratorComponent`) can re-provide a decorated
26642
+ * value read from `useScheduledEmailManagementDialogContext()`; it is not a way to run the management
26643
+ * dialog outside a dashboard.
26644
+ *
26645
+ * @alpha
26646
+ */
26647
+ export declare const ScheduledEmailManagementDialogContextProvider: Provider<IScheduledEmailManagementDialogContextValue | undefined>;
26648
+
25774
26649
  /**
25775
26650
  * @internal
25776
26651
  */
@@ -27443,23 +28318,21 @@ export declare const selectExecutionResultLimitBreaksByRef: (ref: ObjRef | undef
27443
28318
  export declare const selectExecutionTimestamp: DashboardSelector<string | undefined>;
27444
28319
 
27445
28320
  /**
27446
- * Returns the per-tab parameter overrides to send on dashboard tabular export, keyed by
27447
- * tab `localIdentifier`. The shape matches the backend's `dashboardTabsParametersOverrides`
28321
+ * Returns the per-tab parameter overrides to send on dashboard export, keyed by tab
28322
+ * `localIdentifier`. The shape matches the backend's `dashboardTabsParametersOverrides`
27448
28323
  * field directly.
27449
28324
  *
27450
28325
  * @remarks
27451
- * Scope rules:
27452
- * - When `widgetIds` is empty/undefined (whole-dashboard export), every tab in scope contributes
27453
- * parameter entries with a `runtimeOverride`.
27454
- * - When `widgetIds` is non-empty, each widget's owning tab contributes only entries with a
27455
- * `runtimeOverride` whose ref is referenced by the widget's insight metrics via the dashboard-wide
27456
- * metric → parameter dependency map. Multi-widget across distinct owning tabs yields one
27457
- * map entry per owning tab; entries for the same tab are unioned and deduplicated by ref.
28326
+ * The request sends every `runtimeOverride` entry of each tab in scope; the query drops the
28327
+ * parameters a widget's metrics do not use.
28328
+ * - When `widgetIds` is empty/undefined (whole-dashboard export), every tab is in scope.
28329
+ * - When `widgetIds` is non-empty, only the owning tabs of those widgets are in scope. Send only
28330
+ * these tabs. A non-empty map tells the backend that the map is complete, and the backend then
28331
+ * does not resolve pinned values for any tab.
27458
28332
  *
27459
28333
  * Returns `{}` (signalling "omit the field on the wire") when:
27460
28334
  * - `enableParameters` is off,
27461
28335
  * - the workspace catalog parameters are not loaded,
27462
- * - (widget scope only) the `measureParameters` dependency map is not loaded,
27463
28336
  * - or no in-scope parameter has a `runtimeOverride`.
27464
28337
  *
27465
28338
  * @alpha
@@ -32200,6 +33073,15 @@ export declare function useScheduledEmailDialogActionBarProps({ onCancel, onSubm
32200
33073
  */
32201
33074
  export declare function useScheduledEmailDialogContext(): IScheduledEmailDialogContextValue;
32202
33075
 
33076
+ /**
33077
+ * The exact props the default scheduled-email dialog renders its dashboard-attachments field with.
33078
+ *
33079
+ * Throws outside the scheduled-export dialog's state providers.
33080
+ *
33081
+ * @alpha
33082
+ */
33083
+ export declare function useScheduledEmailDialogDashboardAttachmentsProps(): IScheduledEmailDialogDashboardAttachmentsProps;
33084
+
32203
33085
  /**
32204
33086
  * The exact props the default scheduled-email dialog renders its destination region with.
32205
33087
  *
@@ -32209,6 +33091,15 @@ export declare function useScheduledEmailDialogContext(): IScheduledEmailDialogC
32209
33091
  */
32210
33092
  export declare function useScheduledEmailDialogDestinationProps(): IAutomationDialogDestinationProps;
32211
33093
 
33094
+ /**
33095
+ * The exact props the default scheduled-email dialog renders its evaluation-mode checkbox with.
33096
+ *
33097
+ * Throws outside the scheduled-export dialog's state providers.
33098
+ *
33099
+ * @alpha
33100
+ */
33101
+ export declare function useScheduledEmailDialogEvaluationModeProps(): IScheduledEmailDialogEvaluationModeProps;
33102
+
32212
33103
  /**
32213
33104
  * The exact props the default scheduled-email dialog renders its filters region with.
32214
33105
  *
@@ -32227,6 +33118,15 @@ export declare function useScheduledEmailDialogFiltersProps(): IScheduledEmailDi
32227
33118
  */
32228
33119
  export declare function useScheduledEmailDialogHeaderProps({ onBack, onTitleKeyDown, ref }: IUseScheduledEmailDialogHeaderPropsInput): ScheduledEmailDialogHeaderDefaultProps;
32229
33120
 
33121
+ /**
33122
+ * The exact props the default scheduled-email dialog renders its message field with.
33123
+ *
33124
+ * Throws outside the scheduled-export dialog's state providers.
33125
+ *
33126
+ * @alpha
33127
+ */
33128
+ export declare function useScheduledEmailDialogMessageProps(): IScheduledEmailDialogMessageProps;
33129
+
32230
33130
  /**
32231
33131
  * The exact props the default scheduled-email dialog renders its recipients region with.
32232
33132
  *
@@ -32236,6 +33136,24 @@ export declare function useScheduledEmailDialogHeaderProps({ onBack, onTitleKeyD
32236
33136
  */
32237
33137
  export declare function useScheduledEmailDialogRecipientsProps({ onKeyDownSubmit }: IUseScheduledEmailDialogRecipientsPropsInput): IScheduledEmailDialogRecipientsProps;
32238
33138
 
33139
+ /**
33140
+ * The exact props the default scheduled-email dialog renders its recurrence field with.
33141
+ *
33142
+ * Throws outside the scheduled-export dialog's state providers.
33143
+ *
33144
+ * @alpha
33145
+ */
33146
+ export declare function useScheduledEmailDialogRecurrenceProps({ onKeyDownSubmit }: IUseScheduledEmailDialogRecurrencePropsInput): IScheduledEmailDialogRecurrenceProps;
33147
+
33148
+ /**
33149
+ * The exact props the default scheduled-email dialog renders its subject field with.
33150
+ *
33151
+ * Throws outside the scheduled-export dialog's state providers.
33152
+ *
33153
+ * @alpha
33154
+ */
33155
+ export declare function useScheduledEmailDialogSubjectProps({ onKeyDownSubmit }: IUseScheduledEmailDialogSubjectPropsInput): IScheduledEmailDialogSubjectProps;
33156
+
32239
33157
  /**
32240
33158
  * The exact props the default scheduled-email dialog renders its "Time zone" section with.
32241
33159
  *
@@ -32245,6 +33163,15 @@ export declare function useScheduledEmailDialogRecipientsProps({ onKeyDownSubmit
32245
33163
  */
32246
33164
  export declare function useScheduledEmailDialogTimezoneProps(): ScheduledEmailDialogTimezoneDefaultProps;
32247
33165
 
33166
+ /**
33167
+ * The exact props the default scheduled-email dialog renders its widget-attachments field with.
33168
+ *
33169
+ * Throws outside the scheduled-export dialog's state providers.
33170
+ *
33171
+ * @alpha
33172
+ */
33173
+ export declare function useScheduledEmailDialogWidgetAttachmentsProps(): IScheduledEmailDialogWidgetAttachmentsProps;
33174
+
32248
33175
  /**
32249
33176
  * Reads the scheduled-email management dialog context.
32250
33177
  *
@@ -32259,6 +33186,19 @@ export declare function useScheduledEmailDialogTimezoneProps(): ScheduledEmailDi
32259
33186
  */
32260
33187
  export declare function useScheduledEmailManagementDialogContext(): IScheduledEmailManagementDialogContextValue;
32261
33188
 
33189
+ /**
33190
+ * The Enter-to-submit key handler the default scheduled-export dialog attaches to its title, recipients
33191
+ * and recurrence inputs: calls `onSubmit` on Enter unless the submit button would be disabled — the same
33192
+ * guard {@link useScheduledEmailDialogActionBarProps} puts on the button (form validity, a save in
33193
+ * flight, execution-timestamp mode). Pass the result as `onTitleKeyDown` / `onKeyDownSubmit` to the
33194
+ * header and recipients blocks so every Enter path shares the dialog's one save.
33195
+ *
33196
+ * Throws outside the scheduled-export dialog's state providers.
33197
+ *
33198
+ * @alpha
33199
+ */
33200
+ export declare function useScheduledEmailSubmitOnEnter({ onSubmit, isSaving }: IUseScheduledEmailSubmitOnEnterInput): (event: KeyboardEvent_2) => void;
33201
+
32262
33202
  /**
32263
33203
  * Reads the scheduled-export dialog's draft mutators.
32264
33204
  *
@@ -32404,6 +33344,23 @@ export declare function useWidgetFilters(widget: FilterableDashboardWidget | und
32404
33344
  */
32405
33345
  export declare function useWidgetSelection(widgetRef?: ObjRef): IUseWidgetSelectionResult;
32406
33346
 
33347
+ /**
33348
+ * Debounced workspace-user search for a recipients control.
33349
+ *
33350
+ * Queries the first 50 matching workspace users, 300 ms debounced, lazily: no request is made
33351
+ * until {@link IUseWorkspaceUsersSearchResult.onActivate} is called. Requires only the ambient
33352
+ * `BackendProvider` and `WorkspaceProvider` from `@gooddata/sdk-ui` — it reads no automation
33353
+ * context, so a custom recipients control can call it anywhere inside a `Dashboard` (or any
33354
+ * backend/workspace scope). The default recipients select of both automation dialogs is built
33355
+ * on it. Pass `enabled: false` to keep it inert (the default select does so when an external
33356
+ * recipient override or a logged-user-only constraint removes server search).
33357
+ *
33358
+ * @alpha
33359
+ */
33360
+ export declare function useWorkspaceUsersSearch({ enabled }: {
33361
+ enabled: boolean;
33362
+ }): IUseWorkspaceUsersSearchResult;
33363
+
32407
33364
  /**
32408
33365
  * @internal
32409
33366
  */