@gooddata/sdk-ui-dashboard 11.55.0-alpha.2 → 11.55.0-alpha.3

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 (115) hide show
  1. package/NOTICE +4 -4
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/index.d.ts +20 -2
  5. package/esm/index.d.ts.map +1 -1
  6. package/esm/index.js +18 -0
  7. package/esm/internal.d.ts +1 -1
  8. package/esm/internal.d.ts.map +1 -1
  9. package/esm/internal.js +1 -1
  10. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +10 -22
  11. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  12. package/esm/model/store/tabs/parameters/parametersHelpers.js +13 -42
  13. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +8 -10
  14. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  15. package/esm/model/store/tabs/parameters/parametersSelectors.js +22 -32
  16. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +16 -16
  17. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  18. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +34 -109
  19. package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts +10 -0
  20. package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts.map +1 -0
  21. package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.js +12 -0
  22. package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts +49 -0
  23. package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts.map +1 -0
  24. package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.js +128 -0
  25. package/esm/presentation/automations/alerting/blocks/DefaultLoadingAlertingDialog.d.ts.map +1 -0
  26. package/esm/presentation/automations/alerting/types.d.ts +59 -0
  27. package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
  28. package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.d.ts.map +1 -1
  29. package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.js +7 -0
  30. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts +12 -0
  31. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts.map +1 -1
  32. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +15 -10
  33. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  34. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +45 -198
  35. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +2 -18
  36. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts.map +1 -1
  37. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +2 -23
  38. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -1
  39. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts +11 -0
  40. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
  41. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.js +12 -0
  42. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts +11 -0
  43. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
  44. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.js +12 -0
  45. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts +11 -0
  46. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts.map +1 -0
  47. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.js +12 -0
  48. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts +11 -0
  49. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts.map +1 -0
  50. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.js +12 -0
  51. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts +11 -0
  52. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts.map +1 -0
  53. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.js +12 -0
  54. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts +11 -0
  55. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
  56. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.js +12 -0
  57. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts +2 -17
  58. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts.map +1 -1
  59. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.js +0 -3
  60. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts +2 -6
  61. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts.map +1 -1
  62. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
  63. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts +2 -10
  64. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts.map +1 -1
  65. package/esm/presentation/automations/scheduledEmail/blocks/DefaultLoadingScheduledEmailDialog.d.ts.map +1 -0
  66. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts +16 -0
  67. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
  68. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.js +28 -0
  69. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts +16 -0
  70. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
  71. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.js +28 -0
  72. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts +15 -0
  73. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts.map +1 -0
  74. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.js +27 -0
  75. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts +16 -0
  76. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts.map +1 -0
  77. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.js +24 -0
  78. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts +59 -0
  79. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts.map +1 -0
  80. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.js +195 -0
  81. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts +16 -0
  82. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts.map +1 -0
  83. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.js +29 -0
  84. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts +16 -0
  85. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
  86. package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.js +28 -0
  87. package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts +6 -0
  88. package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts.map +1 -0
  89. package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.js +13 -0
  90. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts +73 -0
  91. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts.map +1 -0
  92. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.js +168 -0
  93. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts +30 -0
  94. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts.map +1 -0
  95. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.js +26 -0
  96. package/esm/presentation/automations/scheduledEmail/types.d.ts +299 -1
  97. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  98. package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts +51 -0
  99. package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts.map +1 -0
  100. package/esm/presentation/automations/{scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect → shared/hooks}/useWorkspaceUsersSearch.js +13 -0
  101. package/esm/presentation/dashboard/components/DashboardScreenSizeContext.js +1 -1
  102. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +91 -91
  103. package/esm/presentation/widget/insightMenu/types.js +1 -1
  104. package/esm/presentation/widget/richTextMenu/types.d.ts.map +1 -1
  105. package/esm/presentation/widget/richTextMenu/types.js +2 -1
  106. package/esm/sdk-ui-dashboard.d.ts +824 -35
  107. package/package.json +22 -22
  108. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts.map +0 -1
  109. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts.map +0 -1
  110. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts +0 -13
  111. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts.map +0 -1
  112. /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.d.ts +0 -0
  113. /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.js +0 -0
  114. /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.d.ts +0 -0
  115. /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.js +0 -0
@@ -146,7 +146,7 @@ import { IExecutionResult } from '@gooddata/sdk-backend-spi';
146
146
  import { IExecutionResultLimitBreak } from '@gooddata/sdk-model';
147
147
  import { IExportDefinitionVisualizationObjectSettings } from '@gooddata/sdk-model';
148
148
  import { IExportResult } from '@gooddata/sdk-backend-spi';
149
- import type { IExportTemplate } from '@gooddata/sdk-model';
149
+ import { IExportTemplate } from '@gooddata/sdk-model';
150
150
  import { IFilter } from '@gooddata/sdk-model';
151
151
  import { IFilterableWidget } from '@gooddata/sdk-model';
152
152
  import { IFilterContext } from '@gooddata/sdk-model';
@@ -212,6 +212,7 @@ import { IVisualizationSwitcherWidget } from '@gooddata/sdk-model';
212
212
  import { IWidget } from '@gooddata/sdk-model';
213
213
  import { IWidgetDefinition } from '@gooddata/sdk-model';
214
214
  import { IWorkspacePermissions } from '@gooddata/sdk-model';
215
+ import { IWorkspaceUser } from '@gooddata/sdk-model';
215
216
  import { JSX } from 'react/jsx-runtime';
216
217
  import { KeyboardEvent as KeyboardEvent_2 } from 'react';
217
218
  import { LocalIdRef } from '@gooddata/sdk-model';
@@ -671,6 +672,14 @@ export declare function AlertingDialogDestination(overrides: Partial<IAutomation
671
672
  */
672
673
  export declare function AlertingDialogFilters(overrides: Partial<IAlertingDialogFiltersProps>): JSX.Element;
673
674
 
675
+ /**
676
+ * A heading with a column of field rows under it — the default alerting dialog's "When" (the condition
677
+ * fields) and "Do" (the action fields) groups. Layout only; reads no dialog context.
678
+ *
679
+ * @alpha
680
+ */
681
+ export declare function AlertingDialogFormFieldGroup({ label, children }: IAlertingDialogFormFieldGroupProps): ReactElement;
682
+
674
683
  /**
675
684
  * The alerting dialog's granularity field (the period anomaly detection evaluates over), connected
676
685
  * to the dialog's state and rendered as a labelled form row.
@@ -772,6 +781,53 @@ export declare function AlertingDialogRecipients(overrides: Partial<IAutomationD
772
781
  */
773
782
  export declare function AlertingDialogSensitivity(overrides: Partial<IAlertingDialogSensitivityProps>): ReactElement;
774
783
 
784
+ /**
785
+ * The alerting dialog's chrome, connected to the dialog's state: the modal overlay, the dialog frame
786
+ * with the header row (the title input) and the action bar, the scrollable content area around
787
+ * `children`, the dialog's warning and validation messages, the stale-filters confirmation step shown
788
+ * before the dialog when the saved filters no longer match the dashboard, and the delete confirmation
789
+ * reached from the action bar in edit mode. While `useAlertingDialogContext().isLoading` is true it
790
+ * renders the loading skeleton and none of its children.
791
+ *
792
+ * The default dialog is `<AlertingDialogShell>` around the region and field blocks; a custom
793
+ * `AlertingDialogComponent` that keeps this chrome and arranges the blocks differently renders the shell
794
+ * itself. The shell does not own the submit: call {@link useAlertSubmit} and pass its `submit` and
795
+ * `isSaving`, so the footer button and any Enter handler in the body share one instance. Call that hook
796
+ * only once `useAlertingDialogContext().isLoading` is false — the state hooks throw while the dialog
797
+ * loads — and render the shell alone (any `onSubmit`, `isSaving: false`) until then, as the example does.
798
+ *
799
+ * Needs an ambient `IntlProvider`; inside a `Dashboard` the dashboard's provider covers it.
800
+ *
801
+ * @example
802
+ * ```tsx
803
+ * function MyAlertingDialog(props: IAlertingDialogProps) {
804
+ * const { isLoading } = useAlertingDialogContext();
805
+ * // the state hooks throw while the dialog loads; the shell renders the loading skeleton
806
+ * if (isLoading) {
807
+ * return <AlertingDialogShell {...props} onSubmit={() => {}} isSaving={false} />;
808
+ * }
809
+ * return <MyAlertingDialogBody {...props} />;
810
+ * }
811
+ *
812
+ * function MyAlertingDialogBody(props: IAlertingDialogProps) {
813
+ * const { isSaving, submit } = useAlertSubmit(props);
814
+ * return (
815
+ * <AlertingDialogShell {...props} onSubmit={() => void submit()} isSaving={isSaving}>
816
+ * <AlertingDialogFormFieldGroup label="When">
817
+ * <AlertingDialogMeasure />
818
+ * <AlertingDialogComparisonOperator />
819
+ * <AlertingDialogThreshold />
820
+ * </AlertingDialogFormFieldGroup>
821
+ * <AlertingDialogRecipients />
822
+ * </AlertingDialogShell>
823
+ * );
824
+ * }
825
+ * ```
826
+ *
827
+ * @alpha
828
+ */
829
+ export declare function AlertingDialogShell(props: IAlertingDialogShellProps): ReactElement;
830
+
775
831
  /**
776
832
  * The alerting dialog's threshold field (the value a fixed-threshold, change or difference
777
833
  * condition is compared against), connected to the dialog's state and rendered as a labelled form
@@ -4335,27 +4391,27 @@ export declare const DEFAULT_TAB_ID = "defaultTabId";
4335
4391
  * that is what lets a wholesale replacement receive the same contexts. Rendering this component
4336
4392
  * outside those providers throws at runtime.
4337
4393
  *
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}.
4394
+ * The dialog is {@link AlertingDialogShell} — the chrome: overlay, frame, header row, action bar, the
4395
+ * dialog's messages, the stale-filters and delete confirmation steps, the loading skeleton — around the
4396
+ * exported region renders ({@link DefaultAlertingDialogFilters}, {@link DefaultAlertingDialogDestination},
4397
+ * {@link DefaultAlertingDialogRecipients}, fed by {@link useAlertingDialogFiltersProps} and siblings; the
4398
+ * header and action bar are the shell's) and the connected field blocks — {@link AlertingDialogMeasure},
4399
+ * {@link AlertingDialogAttribute}, {@link AlertingDialogComparisonOperator}, {@link AlertingDialogThreshold},
4400
+ * {@link AlertingDialogComparisonPeriod}, {@link AlertingDialogSensitivity}, {@link AlertingDialogGranularity},
4401
+ * {@link AlertingDialogTriggerMode}, {@link AlertingDialogTriggerInterval} — grouped under the "When" and
4402
+ * "Do" headings by {@link AlertingDialogFormFieldGroup}; each field is a labelled
4403
+ * {@link AutomationDialogFormField} row and the conditional ones gate themselves on the draft. A custom
4404
+ * `AlertingDialogComponent` that keeps this chrome but owns the arrangement renders
4405
+ * {@link AlertingDialogShell} around the blocks it wants (see its example); one that owns the chrome too
4406
+ * places the blocks in its own markup and reads or writes the same draft through {@link useAlertDraft} and
4407
+ * {@link useAlertActions}.
4352
4408
  *
4353
4409
  * Slots render only in the fully rendered dialog: not while the dialog context reports loading,
4354
4410
  * and not while the stale-filters confirmation step is shown.
4355
4411
  *
4356
4412
  * @alpha
4357
4413
  */
4358
- export declare function DefaultAlertingDialog(props: IDefaultAlertingDialogProps): JSX.Element;
4414
+ export declare function DefaultAlertingDialog(props: IDefaultAlertingDialogProps): ReactElement;
4359
4415
 
4360
4416
  /**
4361
4417
  * Default render of the alerting dialog's attribute field: the dropdown slicing the condition by an
@@ -4757,14 +4813,19 @@ export declare function DefaultSaveButton({ isVisible, isEnabled, isSaving, butt
4757
4813
  * that is what lets a wholesale replacement receive the same contexts. Rendering this component
4758
4814
  * outside those providers throws at runtime.
4759
4815
  *
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}.
4816
+ * The dialog is {@link ScheduledEmailDialogShell} — the chrome: overlay, frame, header row, action bar, the
4817
+ * General/Filters tabs, the body's messages, the stale-filters and delete confirmation steps, the loading
4818
+ * skeleton — around the exported region renders ({@link DefaultScheduledEmailDialogDestination},
4819
+ * {@link DefaultScheduledEmailDialogRecipients}, {@link DefaultScheduledEmailDialogTimezone}, fed by
4820
+ * {@link useScheduledEmailDialogDestinationProps} and siblings; the header, action bar and the Filters tab's
4821
+ * {@link DefaultScheduledEmailDialogFilters} are the shell's) and the General-tab field blocks
4822
+ * ({@link ScheduledEmailDialogRecurrence}, {@link ScheduledEmailDialogSubject}, {@link ScheduledEmailDialogMessage},
4823
+ * {@link ScheduledEmailDialogWidgetAttachments}, {@link ScheduledEmailDialogDashboardAttachments},
4824
+ * {@link ScheduledEmailDialogEvaluationMode}). A custom `ScheduledEmailDialogComponent` that keeps this chrome
4825
+ * but owns the arrangement renders {@link ScheduledEmailDialogShell} around the blocks it wants (see its
4826
+ * example); one that owns the chrome too places the blocks ({@link ScheduledEmailDialogFilters} and
4827
+ * siblings) in its own markup and reads or writes the same draft through {@link useScheduledExportDraft}
4828
+ * and {@link useScheduledExportActions}.
4768
4829
  *
4769
4830
  * Slots render only in the fully rendered dialog: not while the dialog context reports loading,
4770
4831
  * and not while the stale-filters confirmation step is shown. The Filters slot additionally
@@ -4772,7 +4833,16 @@ export declare function DefaultSaveButton({ isVisible, isEnabled, isSaving, butt
4772
4833
  *
4773
4834
  * @alpha
4774
4835
  */
4775
- export declare function DefaultScheduledEmailDialog(props: IDefaultScheduledEmailDialogProps): JSX.Element;
4836
+ export declare function DefaultScheduledEmailDialog(props: IDefaultScheduledEmailDialogProps): ReactElement;
4837
+
4838
+ /**
4839
+ * Default render of the scheduled-export dialog's dashboard-attachments field.
4840
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogDashboardAttachments}
4841
+ * render it with {@link useScheduledEmailDialogDashboardAttachmentsProps}.
4842
+ *
4843
+ * @alpha
4844
+ */
4845
+ export declare function DefaultScheduledEmailDialogDashboardAttachments(props: IScheduledEmailDialogDashboardAttachmentsProps): ReactElement;
4776
4846
 
4777
4847
  /**
4778
4848
  * Default render of the scheduled-export dialog's destination region: the notification-channel
@@ -4784,6 +4854,15 @@ export declare function DefaultScheduledEmailDialog(props: IDefaultScheduledEmai
4784
4854
  */
4785
4855
  export declare function DefaultScheduledEmailDialogDestination({ notificationChannels, selectedNotificationChannelId, onChange }: IAutomationDialogDestinationProps): JSX.Element;
4786
4856
 
4857
+ /**
4858
+ * Default render of the scheduled-export dialog's evaluation-mode field.
4859
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogEvaluationMode}
4860
+ * render it with {@link useScheduledEmailDialogEvaluationModeProps}.
4861
+ *
4862
+ * @alpha
4863
+ */
4864
+ export declare function DefaultScheduledEmailDialogEvaluationMode(props: IScheduledEmailDialogEvaluationModeProps): ReactElement;
4865
+
4787
4866
  /**
4788
4867
  * Default render of the scheduled-export dialog's filters region: the filter and parameter chips of
4789
4868
  * the Filters tab, flat or per dashboard tab. The title is hidden and the list always expanded
@@ -4805,6 +4884,15 @@ export declare function DefaultScheduledEmailDialogFilters(props: IScheduledEmai
4805
4884
  */
4806
4885
  export declare const DefaultScheduledEmailDialogHeader: ForwardRefExoticComponent<IScheduledEmailDialogHeaderProps & RefAttributes<HTMLInputElement>>;
4807
4886
 
4887
+ /**
4888
+ * Default render of the scheduled-export dialog's message field.
4889
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogMessage}
4890
+ * render it with {@link useScheduledEmailDialogMessageProps}.
4891
+ *
4892
+ * @alpha
4893
+ */
4894
+ export declare function DefaultScheduledEmailDialogMessage(props: IScheduledEmailDialogMessageProps): ReactElement;
4895
+
4808
4896
  /**
4809
4897
  * Default render of the scheduled-export dialog's recipients region: the recipients select.
4810
4898
  * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogRecipients}
@@ -4815,6 +4903,24 @@ export declare const DefaultScheduledEmailDialogHeader: ForwardRefExoticComponen
4815
4903
  */
4816
4904
  export declare function DefaultScheduledEmailDialogRecipients(props: IScheduledEmailDialogRecipientsProps): JSX.Element;
4817
4905
 
4906
+ /**
4907
+ * Default render of the scheduled-export dialog's recurrence field: the recurrence form.
4908
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogRecurrence}
4909
+ * render it with {@link useScheduledEmailDialogRecurrenceProps}.
4910
+ *
4911
+ * @alpha
4912
+ */
4913
+ export declare function DefaultScheduledEmailDialogRecurrence(props: IScheduledEmailDialogRecurrenceProps): ReactElement;
4914
+
4915
+ /**
4916
+ * Default render of the scheduled-export dialog's subject field.
4917
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogSubject}
4918
+ * render it with {@link useScheduledEmailDialogSubjectProps}.
4919
+ *
4920
+ * @alpha
4921
+ */
4922
+ export declare function DefaultScheduledEmailDialogSubject(props: IScheduledEmailDialogSubjectProps): ReactElement;
4923
+
4818
4924
  /**
4819
4925
  * The "Time zone" section of the scheduled-email dialog's General tab. Unlike the
4820
4926
  * dashboard-settings timezone picker, the dropdown offers no browser-detected option — the
@@ -4831,6 +4937,15 @@ export declare function DefaultScheduledEmailDialogRecipients(props: IScheduledE
4831
4937
  */
4832
4938
  export declare function DefaultScheduledEmailDialogTimezone({ isWidget, selection, defaultResolvedTimezone, onTimezoneChange }: IScheduledEmailDialogTimezoneProps): JSX.Element;
4833
4939
 
4940
+ /**
4941
+ * Default render of the scheduled-export dialog's widget-attachments field.
4942
+ * Props-driven — reads no context. The default dialog and {@link ScheduledEmailDialogWidgetAttachments}
4943
+ * render it with {@link useScheduledEmailDialogWidgetAttachmentsProps}.
4944
+ *
4945
+ * @alpha
4946
+ */
4947
+ export declare function DefaultScheduledEmailDialogWidgetAttachments(props: IScheduledEmailDialogWidgetAttachmentsProps): ReactElement;
4948
+
4834
4949
  /**
4835
4950
  * @alpha
4836
4951
  */
@@ -6866,6 +6981,22 @@ export declare interface IAlertingDialogFiltersProps extends IAutomationDialogFi
6866
6981
  disableDateFilters: boolean;
6867
6982
  }
6868
6983
 
6984
+ /**
6985
+ * Props of {@link AlertingDialogFormFieldGroup}.
6986
+ *
6987
+ * @alpha
6988
+ */
6989
+ export declare interface IAlertingDialogFormFieldGroupProps {
6990
+ /**
6991
+ * The group heading in the label column — "When" (the condition) and "Do" (the action) in the default dialog.
6992
+ */
6993
+ label: ReactNode;
6994
+ /**
6995
+ * The field rows of the group — {@link AlertingDialogMeasure} and its siblings.
6996
+ */
6997
+ children: ReactNode;
6998
+ }
6999
+
6869
7000
  /**
6870
7001
  * Props of the default alerting dialog's granularity field (anomaly detection).
6871
7002
  *
@@ -7055,6 +7186,51 @@ export declare interface IAlertingDialogSensitivityProps {
7055
7186
  closeOnParentScroll?: boolean;
7056
7187
  }
7057
7188
 
7189
+ /**
7190
+ * Props of {@link AlertingDialogShell}.
7191
+ *
7192
+ * @alpha
7193
+ */
7194
+ export declare interface IAlertingDialogShellProps extends Pick<IAlertingDialogProps, "onCancel" | "onDeleteSuccess" | "onDeleteError"> {
7195
+ /**
7196
+ * The dialog's single submit — `submit` of the caller's {@link useAlertSubmit} instance. Drives the
7197
+ * footer's submit button and the Enter key on it. The shell does not own the submit hook, so a
7198
+ * caller's own Enter handler or button can share the same instance. Create the hook instance only
7199
+ * once the dialog context reports `isLoading: false`.
7200
+ */
7201
+ onSubmit: () => void;
7202
+ /**
7203
+ * `isSaving` of the same {@link useAlertSubmit} instance: disables submit and Delete and shows the
7204
+ * footer's progress indicator.
7205
+ */
7206
+ isSaving: boolean;
7207
+ /**
7208
+ * Header and action-bar overrides — the Level 1 slot contract ({@link IAlertingDialogSlots.Header},
7209
+ * {@link IAlertingDialogSlots.ActionBar}): each slot receives `{ Default, defaultProps }`, where
7210
+ * `defaultProps` are the shell's live values (the header's `onCancel` and initial-focus `ref`; the
7211
+ * action bar's `onSubmit`, `isSaving`, `onDelete`). Slot components need a stable reference identity —
7212
+ * see {@link @gooddata/sdk-ui-kit#ISlotProps}. The body regions have no slot here: place their blocks
7213
+ * ({@link AlertingDialogFilters} and siblings) as children instead.
7214
+ */
7215
+ slots?: Pick<IAlertingDialogSlots, "Header" | "ActionBar">;
7216
+ /**
7217
+ * Rendered first inside the dialog's scrollable content area, above `children`.
7218
+ */
7219
+ topContent?: ReactNode;
7220
+ /**
7221
+ * Rendered last inside the scrollable content area, below `children` and the dialog's warning and
7222
+ * validation messages.
7223
+ */
7224
+ bottomContent?: ReactNode;
7225
+ /**
7226
+ * The body: the regions and fields, in the caller's order — {@link AlertingDialogFilters},
7227
+ * {@link AlertingDialogFormFieldGroup} with the condition and action blocks, and so on. Not mounted
7228
+ * while `useAlertingDialogContext().isLoading` is true (the shell shows its loading skeleton) or while
7229
+ * the stale-filters confirmation step is shown.
7230
+ */
7231
+ children?: ReactNode;
7232
+ }
7233
+
7058
7234
  /**
7059
7235
  * Section-level overrides of the default alerting dialog.
7060
7236
  *
@@ -7226,6 +7402,18 @@ export declare interface IAlertingManagementDialogContextValue {
7226
7402
  automationsInvalidationId?: number;
7227
7403
  isEmbedded: boolean;
7228
7404
  enableAccessibilityMode: boolean;
7405
+ /**
7406
+ * Alerts visible in the management dialog, scoped to the current dashboard context.
7407
+ */
7408
+ automations: IAutomationMetadataObject[];
7409
+ /**
7410
+ * True while the automation list is still loading.
7411
+ *
7412
+ * The automations load only — deliberately narrower than the scheduled-email management
7413
+ * context's flag, which also folds in a widget-filters load that has no bearing on a
7414
+ * management list.
7415
+ */
7416
+ isLoading: boolean;
7229
7417
  getWidgetByRef: (ref: ObjRef | undefined) => IWidget | undefined;
7230
7418
  getInsightByWidgetRef: (ref: ObjRef | undefined) => IInsight | undefined;
7231
7419
  pauseAlert(alert: IAutomationMetadataObject): Promise<IAutomationMetadataObject>;
@@ -19012,6 +19200,79 @@ export declare interface IScheduledEmailDialogContextValue {
19012
19200
  isLoading: boolean;
19013
19201
  }
19014
19202
 
19203
+ /**
19204
+ * Props of the scheduled-export dialog's dashboard-attachments field.
19205
+ *
19206
+ * @alpha
19207
+ */
19208
+ export declare interface IScheduledEmailDialogDashboardAttachmentsProps {
19209
+ /**
19210
+ * The selected export formats.
19211
+ */
19212
+ selectedAttachments: DashboardAttachmentType[];
19213
+ /**
19214
+ * Dashboard filters the export is scoped to; the control passes them back as the second
19215
+ * argument of every {@link IScheduledEmailDialogDashboardAttachmentsProps.onDashboardAttachmentsChange}
19216
+ * call.
19217
+ */
19218
+ dashboardFilters?: FilterContextItem[];
19219
+ /**
19220
+ * When true and at least one attachment is selected, the control shows the notice that
19221
+ * exports do not reflect cross-filtering.
19222
+ */
19223
+ isCrossFiltering: boolean;
19224
+ /**
19225
+ * Replaces the selected dashboard export formats. Called with the complete new selection and
19226
+ * the current {@link IScheduledEmailDialogDashboardAttachmentsProps.dashboardFilters}.
19227
+ */
19228
+ onDashboardAttachmentsChange: (formats: DashboardAttachmentType[], filters?: FilterContextItem[]) => void;
19229
+ /**
19230
+ * XLSX export settings shown in the attachment's settings editor.
19231
+ */
19232
+ xlsxSettings: IExportDefinitionVisualizationObjectSettings;
19233
+ /**
19234
+ * Sets the XLSX export settings.
19235
+ */
19236
+ onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19237
+ /**
19238
+ * Whether the slide-based formats (PPTX, PDF slides) are offered; when false they are
19239
+ * excluded from the add-attachment options.
19240
+ */
19241
+ isSlidesExportEnabled: boolean;
19242
+ /**
19243
+ * Export templates offered in the template picker of the slide-based formats.
19244
+ */
19245
+ exportTemplates?: IExportTemplate[];
19246
+ /**
19247
+ * The template chosen per slide-based format; undefined where the default template applies.
19248
+ */
19249
+ slidesTemplateIds?: {
19250
+ PPTX?: string;
19251
+ PDF_SLIDES?: string;
19252
+ PDF?: string;
19253
+ };
19254
+ /**
19255
+ * Sets the export template of one slide-based format.
19256
+ */
19257
+ onSlidesTemplateIdChange?: (templateId: string | undefined, format: "PPTX" | "PDF_SLIDES" | "PDF") => void;
19258
+ }
19259
+
19260
+ /**
19261
+ * Props of the scheduled-export dialog's evaluation-mode checkbox.
19262
+ *
19263
+ * @alpha
19264
+ */
19265
+ export declare interface IScheduledEmailDialogEvaluationModeProps {
19266
+ /**
19267
+ * Whether the evaluation mode is SHARED.
19268
+ */
19269
+ isShared: boolean;
19270
+ /**
19271
+ * Switches between a shared and a per-recipient evaluation of the export.
19272
+ */
19273
+ onChange: (isShared: boolean) => void;
19274
+ }
19275
+
19015
19276
  /**
19016
19277
  * Props of the default scheduled email dialog's filters region (the Filters tab content).
19017
19278
  *
@@ -19096,6 +19357,22 @@ export declare interface IScheduledEmailDialogHeaderProps extends IAutomationDia
19096
19357
  onBack?: () => void;
19097
19358
  }
19098
19359
 
19360
+ /**
19361
+ * Props of the scheduled-export dialog's message field.
19362
+ *
19363
+ * @alpha
19364
+ */
19365
+ export declare interface IScheduledEmailDialogMessageProps {
19366
+ /**
19367
+ * The e-mail message text.
19368
+ */
19369
+ value: string;
19370
+ /**
19371
+ * Sets the e-mail message; `isValid` is the field's own length verdict.
19372
+ */
19373
+ onChange: (value: string, isValid: boolean) => void;
19374
+ }
19375
+
19099
19376
  /**
19100
19377
  * @alpha
19101
19378
  */
@@ -19232,6 +19509,120 @@ export declare interface IScheduledEmailDialogRecipientsProps extends IAutomatio
19232
19509
  onKeyDownSubmit: (e: KeyboardEvent_2) => void;
19233
19510
  }
19234
19511
 
19512
+ /**
19513
+ * Props of the scheduled-export dialog's recurrence field.
19514
+ *
19515
+ * @alpha
19516
+ */
19517
+ export declare interface IScheduledEmailDialogRecurrenceProps {
19518
+ /**
19519
+ * First-run date the cron editor is anchored to.
19520
+ */
19521
+ startDate: Date;
19522
+ /**
19523
+ * The draft's cron expression.
19524
+ */
19525
+ cronExpression: string;
19526
+ /**
19527
+ * Human-readable description of the cron expression, when the draft carries one.
19528
+ */
19529
+ cronDescription?: string;
19530
+ /**
19531
+ * Display-only timezone label shown in the occurrence description.
19532
+ */
19533
+ timezone: string;
19534
+ /**
19535
+ * Date format used by the first-run date picker.
19536
+ */
19537
+ dateFormat: string;
19538
+ /**
19539
+ * Locale of the recurrence editor.
19540
+ */
19541
+ locale: string;
19542
+ /**
19543
+ * First day of the week in the date picker.
19544
+ */
19545
+ weekStart: WeekStart;
19546
+ /**
19547
+ * Whether the hourly recurrence option is offered.
19548
+ */
19549
+ allowHourlyRecurrence: boolean;
19550
+ /**
19551
+ * Hides GoodData-specific copy when white-labeled.
19552
+ */
19553
+ isWhiteLabeled: boolean;
19554
+ /**
19555
+ * Closes the recurrence dropdowns when the dialog body scrolls.
19556
+ */
19557
+ closeDropdownsOnParentScroll: boolean;
19558
+ /**
19559
+ * Sets the cron expression and first run; `isValid` is the recurrence form's own verdict.
19560
+ */
19561
+ onChange: (cronExpression: string, startDate: Date | null, isValid: boolean) => void;
19562
+ /**
19563
+ * Key-down handler; the dialog submits on Enter through it.
19564
+ */
19565
+ onKeyDownSubmit: (event: KeyboardEvent_2) => void;
19566
+ }
19567
+
19568
+ /**
19569
+ * Props of {@link ScheduledEmailDialogShell}.
19570
+ *
19571
+ * @alpha
19572
+ */
19573
+ export declare interface IScheduledEmailDialogShellProps extends Pick<IScheduledEmailDialogProps, "onCancel" | "onBack" | "onDeleteSuccess" | "onDeleteError"> {
19574
+ /**
19575
+ * The dialog's single save — `handleSaveScheduledEmail` of the caller's
19576
+ * {@link useSaveScheduledEmailToBackend} instance. Drives the footer's submit button, the Enter key on
19577
+ * it, and the header's Enter-to-submit. (Not the `onSubmit` observer of {@link IScheduledEmailDialogProps};
19578
+ * that one goes to the save hook.) The shell does not own the save hook, so the caller's own Enter
19579
+ * handlers — {@link useScheduledEmailSubmitOnEnter} — share the same instance. Create the hook instance
19580
+ * only once the dialog context reports `isLoading: false`.
19581
+ */
19582
+ onSubmit: () => void;
19583
+ /**
19584
+ * `isSavingScheduledEmail` of the same instance: disables submit and Delete and shows the footer's
19585
+ * progress indicator.
19586
+ */
19587
+ isSaving: boolean;
19588
+ /**
19589
+ * `savingErrorMessage` of the same instance; shown as the body's error message, ahead of the form's
19590
+ * validation message.
19591
+ */
19592
+ savingErrorMessage?: string;
19593
+ /**
19594
+ * Header, action-bar and Filters-tab overrides — the Level 1 slot contract
19595
+ * ({@link IScheduledEmailDialogSlots.Header}, {@link IScheduledEmailDialogSlots.ActionBar},
19596
+ * {@link IScheduledEmailDialogSlots.Filters}): each slot receives `{ Default, defaultProps }` with the
19597
+ * shell's live values. Slot components need a stable reference identity — see
19598
+ * {@link @gooddata/sdk-ui-kit#ISlotProps}. `Filters` is ignored when `filtersTabContent` is passed. The
19599
+ * General-tab regions have no slot here: place their blocks ({@link ScheduledEmailDialogDestination} and
19600
+ * siblings) as children instead.
19601
+ */
19602
+ slots?: Pick<IScheduledEmailDialogSlots, "Header" | "ActionBar" | "Filters">;
19603
+ /**
19604
+ * Rendered first inside the dialog's scrollable content area, above the selected tab's content.
19605
+ */
19606
+ topContent?: ReactNode;
19607
+ /**
19608
+ * Rendered last inside the scrollable content area, below the selected tab's content.
19609
+ */
19610
+ bottomContent?: ReactNode;
19611
+ /**
19612
+ * The General tab's content: the regions and fields, in the caller's order. Rendered only while the
19613
+ * General tab is selected; not mounted while `useScheduledEmailDialogContext().isLoading` is true (the
19614
+ * shell shows its loading skeleton — on scheduled email the ordinary path while a widget export's
19615
+ * filters load) or while the stale-filters confirmation step is shown.
19616
+ */
19617
+ children?: ReactNode;
19618
+ /**
19619
+ * The Filters tab's content. Defaults to the dialog's filters region ({@link DefaultScheduledEmailDialogFilters}
19620
+ * with {@link useScheduledEmailDialogFiltersProps}, or the `Filters` slot). Rendered only while the Filters
19621
+ * tab is selected. An explicit `null` counts as provided and renders an empty Filters tab.
19622
+ */
19623
+ filtersTabContent?: ReactNode;
19624
+ }
19625
+
19235
19626
  /**
19236
19627
  * Section-level overrides of the default scheduled email dialog.
19237
19628
  *
@@ -19304,6 +19695,34 @@ export declare interface IScheduledEmailDialogSlots {
19304
19695
  ActionBar?: ComponentType<ISlotProps<IAutomationDialogActionBarProps>>;
19305
19696
  }
19306
19697
 
19698
+ /**
19699
+ * Props of the scheduled-export dialog's subject field.
19700
+ *
19701
+ * @alpha
19702
+ */
19703
+ export declare interface IScheduledEmailDialogSubjectProps {
19704
+ /**
19705
+ * Dashboard title, used as the subject placeholder (truncated to the title max length).
19706
+ */
19707
+ dashboardTitle: string;
19708
+ /**
19709
+ * The export draft; the field renders `details.subject`.
19710
+ */
19711
+ editedAutomation: IAutomationMetadataObjectDefinition;
19712
+ /**
19713
+ * Disables submit-on-Enter while the dialog is not submittable.
19714
+ */
19715
+ isSubmitDisabled?: boolean;
19716
+ /**
19717
+ * Sets the e-mail subject; `isValid` is the field's own length verdict.
19718
+ */
19719
+ onChange: (value: string, isValid: boolean) => void;
19720
+ /**
19721
+ * Called on Enter when submit is not disabled.
19722
+ */
19723
+ onKeyDownSubmit: () => void;
19724
+ }
19725
+
19307
19726
  /**
19308
19727
  * Props of the default scheduled email dialog's "Time zone" section (the export-content timezone
19309
19728
  * picker on the General tab; unrelated to the schedule cron timezone).
@@ -19331,6 +19750,80 @@ export declare interface IScheduledEmailDialogTimezoneProps {
19331
19750
  onTimezoneChange: (timezoneId: string | undefined) => void;
19332
19751
  }
19333
19752
 
19753
+ /**
19754
+ * Props of the scheduled-export dialog's widget-attachments field.
19755
+ *
19756
+ * @alpha
19757
+ */
19758
+ export declare interface IScheduledEmailDialogWidgetAttachmentsProps {
19759
+ /**
19760
+ * The selected export formats.
19761
+ */
19762
+ selectedAttachments: WidgetAttachmentType[];
19763
+ /**
19764
+ * Replaces the selected widget export formats with the complete new selection.
19765
+ */
19766
+ onWidgetAttachmentsChange: (formats: WidgetAttachmentType[]) => void;
19767
+ /**
19768
+ * XLSX export settings shown in the attachment's settings editor.
19769
+ */
19770
+ xlsxSettings: IExportDefinitionVisualizationObjectSettings;
19771
+ /**
19772
+ * Sets the XLSX export settings.
19773
+ */
19774
+ onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19775
+ /**
19776
+ * Tabular-PDF export settings shown in the attachment's settings editor.
19777
+ */
19778
+ pdfSettings: IExportDefinitionVisualizationObjectSettings;
19779
+ /**
19780
+ * Sets the tabular-PDF export settings.
19781
+ */
19782
+ onPdfSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19783
+ /**
19784
+ * CSV export settings shown in the attachment's settings editor.
19785
+ */
19786
+ csvSettings: IExportDefinitionVisualizationObjectSettings;
19787
+ /**
19788
+ * Sets the CSV export settings.
19789
+ */
19790
+ onCsvSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19791
+ /**
19792
+ * Raw-CSV export settings shown in the attachment's settings editor.
19793
+ */
19794
+ csvRawSettings: IExportDefinitionVisualizationObjectSettings;
19795
+ /**
19796
+ * Sets the raw-CSV export settings.
19797
+ */
19798
+ onCsvRawSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
19799
+ /**
19800
+ * Whether the slide-based formats (PPTX, PDF) are offered; when false they are excluded
19801
+ * from the add-attachment options.
19802
+ */
19803
+ isSlidesExportEnabled: boolean;
19804
+ /**
19805
+ * When true, formats without an accessible rendering (PDF_TABULAR) are excluded from the
19806
+ * add-attachment options.
19807
+ */
19808
+ isAccessibilityModeEnabled: boolean;
19809
+ /**
19810
+ * Export templates offered in the template picker of the slide-based formats.
19811
+ */
19812
+ exportTemplates?: IExportTemplate[];
19813
+ /**
19814
+ * The template chosen per slide-based format; undefined where the default template applies.
19815
+ */
19816
+ slidesTemplateIds?: {
19817
+ PPTX?: string;
19818
+ PDF_SLIDES?: string;
19819
+ PDF?: string;
19820
+ };
19821
+ /**
19822
+ * Sets the export template of one slide-based format.
19823
+ */
19824
+ onSlidesTemplateIdChange?: (templateId: string | undefined, format: "PPTX" | "PDF_SLIDES" | "PDF") => void;
19825
+ }
19826
+
19334
19827
  /**
19335
19828
  * Sub-context for the scheduled-email management dialog.
19336
19829
  * The connector hydrates this from dashboard state.
@@ -22972,6 +23465,47 @@ export declare interface IUseScheduledEmailDialogRecipientsPropsInput {
22972
23465
  onKeyDownSubmit: (event: KeyboardEvent_2) => void;
22973
23466
  }
22974
23467
 
23468
+ /**
23469
+ * Inputs of {@link useScheduledEmailDialogRecurrenceProps} that come from the dialog rather than its state.
23470
+ *
23471
+ * @alpha
23472
+ */
23473
+ export declare interface IUseScheduledEmailDialogRecurrencePropsInput {
23474
+ /**
23475
+ * Key-down handler of the recurrence inputs; the dialog submits on Enter through it.
23476
+ */
23477
+ onKeyDownSubmit: (event: KeyboardEvent_2) => void;
23478
+ }
23479
+
23480
+ /**
23481
+ * Inputs of {@link useScheduledEmailDialogSubjectProps} that come from the dialog rather than its state.
23482
+ *
23483
+ * @alpha
23484
+ */
23485
+ export declare interface IUseScheduledEmailDialogSubjectPropsInput {
23486
+ /**
23487
+ * Called on Enter in the subject input when submit is not disabled.
23488
+ */
23489
+ onKeyDownSubmit: () => void;
23490
+ }
23491
+
23492
+ /**
23493
+ * Inputs of {@link useScheduledEmailSubmitOnEnter} — the dialog's single save, from one
23494
+ * {@link useSaveScheduledEmailToBackend} instance.
23495
+ *
23496
+ * @alpha
23497
+ */
23498
+ export declare interface IUseScheduledEmailSubmitOnEnterInput {
23499
+ /**
23500
+ * `handleSaveScheduledEmail` of the dialog's {@link useSaveScheduledEmailToBackend} instance.
23501
+ */
23502
+ onSubmit: () => void;
23503
+ /**
23504
+ * `isSavingScheduledEmail` of the same instance; Enter does nothing while a save is in flight.
23505
+ */
23506
+ isSaving: boolean;
23507
+ }
23508
+
22975
23509
  /**
22976
23510
  * @internal
22977
23511
  */
@@ -23002,6 +23536,39 @@ export declare interface IUseWidgetSelectionResult {
23002
23536
  hasConfigPanelOpen: boolean;
23003
23537
  }
23004
23538
 
23539
+ /**
23540
+ * What {@link useWorkspaceUsersSearch} returns.
23541
+ *
23542
+ * @alpha
23543
+ */
23544
+ export declare interface IUseWorkspaceUsersSearchResult {
23545
+ /**
23546
+ * The current, not yet debounced, search string.
23547
+ */
23548
+ search: string;
23549
+ /**
23550
+ * The workspace users of the last settled query; undefined until the first query settles.
23551
+ */
23552
+ users: IWorkspaceUser[] | undefined;
23553
+ /**
23554
+ * The last query's error, if it failed.
23555
+ */
23556
+ usersError: GoodDataSdkError | undefined;
23557
+ /**
23558
+ * True while the search debounce window or a query is open.
23559
+ */
23560
+ isLoading: boolean;
23561
+ /**
23562
+ * Sets the search string; the query fires after a 300 ms debounce.
23563
+ */
23564
+ onSearch: (search: string) => void;
23565
+ /**
23566
+ * Starts the first fetch — nothing loads on mount until this is called (wire it to the
23567
+ * control's open/focus). After an error it doubles as retry.
23568
+ */
23569
+ onActivate: () => void;
23570
+ }
23571
+
23005
23572
  /**
23006
23573
  * Set of functions you can use to customize some aspects of the VisualizationSwitcher.
23007
23574
  *
@@ -25677,6 +26244,20 @@ export declare function ScheduledEmailDialogActionBar(props: IScheduledEmailDial
25677
26244
  */
25678
26245
  export declare const ScheduledEmailDialogContextProvider: Provider<IScheduledEmailDialogContextValue | undefined>;
25679
26246
 
26247
+ /**
26248
+ * The scheduled-export dialog's dashboard-attachments field, connected to the dialog's state.
26249
+ *
26250
+ * Renders {@link DefaultScheduledEmailDialogDashboardAttachments} with the props of
26251
+ * {@link useScheduledEmailDialogDashboardAttachmentsProps}; every prop passed here replaces the
26252
+ * hook's value for that prop wholesale. Renders nothing while
26253
+ * `useScheduledEmailDialogContext().isLoading` is true and when the dialog context has a `widget`
26254
+ * (a widget schedule renders {@link ScheduledEmailDialogWidgetAttachments} instead), the same
26255
+ * visibility the default dialog gives the field.
26256
+ *
26257
+ * @alpha
26258
+ */
26259
+ export declare function ScheduledEmailDialogDashboardAttachments(props: Partial<IScheduledEmailDialogDashboardAttachmentsProps>): ReactElement;
26260
+
25680
26261
  /**
25681
26262
  * The scheduled-export dialog's destination region (the notification-channel select), connected to
25682
26263
  * the dialog's state.
@@ -25689,6 +26270,20 @@ export declare const ScheduledEmailDialogContextProvider: Provider<IScheduledEma
25689
26270
  */
25690
26271
  export declare function ScheduledEmailDialogDestination(overrides: Partial<IAutomationDialogDestinationProps>): JSX.Element;
25691
26272
 
26273
+ /**
26274
+ * The scheduled-export dialog's evaluation-mode checkbox, connected to the dialog's state.
26275
+ *
26276
+ * Renders {@link DefaultScheduledEmailDialogEvaluationMode} with the props of
26277
+ * {@link useScheduledEmailDialogEvaluationModeProps}; every prop passed here replaces the hook's
26278
+ * value for that prop wholesale. Renders nothing while
26279
+ * `useScheduledEmailDialogContext().isLoading` is true and while
26280
+ * `useAutomationsContext().features.enableAutomationEvaluationMode` is off, the same visibility the
26281
+ * default dialog gives the field.
26282
+ *
26283
+ * @alpha
26284
+ */
26285
+ export declare function ScheduledEmailDialogEvaluationMode(props: Partial<IScheduledEmailDialogEvaluationModeProps>): ReactElement;
26286
+
25692
26287
  /**
25693
26288
  * The scheduled-export dialog's filters region (the filter and parameter chips, flat or per tab),
25694
26289
  * connected to the dialog's state.
@@ -25731,6 +26326,19 @@ export declare type ScheduledEmailDialogHeaderDefaultProps = IScheduledEmailDial
25731
26326
  ref?: Ref<HTMLInputElement>;
25732
26327
  };
25733
26328
 
26329
+ /**
26330
+ * The scheduled-export dialog's message field, connected to the dialog's state.
26331
+ *
26332
+ * Renders {@link DefaultScheduledEmailDialogMessage} with the props of
26333
+ * {@link useScheduledEmailDialogMessageProps}; every prop passed here replaces the hook's value for
26334
+ * that prop wholesale. Renders nothing while `useScheduledEmailDialogContext().isLoading` is true
26335
+ * and for an in-platform notification channel (which has no e-mail message), the same visibility
26336
+ * the default dialog gives the field.
26337
+ *
26338
+ * @alpha
26339
+ */
26340
+ export declare function ScheduledEmailDialogMessage(props: Partial<IScheduledEmailDialogMessageProps>): ReactElement;
26341
+
25734
26342
  /**
25735
26343
  * The scheduled-export dialog's recipients region, connected to the dialog's state.
25736
26344
  *
@@ -25745,6 +26353,91 @@ export declare type ScheduledEmailDialogHeaderDefaultProps = IScheduledEmailDial
25745
26353
  */
25746
26354
  export declare function ScheduledEmailDialogRecipients(props: Partial<IScheduledEmailDialogRecipientsProps>): JSX.Element;
25747
26355
 
26356
+ /**
26357
+ * The scheduled-export dialog's recurrence field, connected to the dialog's state.
26358
+ *
26359
+ * Renders {@link DefaultScheduledEmailDialogRecurrence} with the props of
26360
+ * {@link useScheduledEmailDialogRecurrenceProps}; every prop passed here replaces the hook's value
26361
+ * for that prop wholesale. Pass `onKeyDownSubmit` to submit on Enter from the recurrence inputs —
26362
+ * the default dialog passes its save action; without it Enter does nothing here. Renders nothing
26363
+ * while `useScheduledEmailDialogContext().isLoading` is true; otherwise ungated, unlike the other
26364
+ * General-tab fields.
26365
+ *
26366
+ * @alpha
26367
+ */
26368
+ export declare function ScheduledEmailDialogRecurrence(props: Partial<IScheduledEmailDialogRecurrenceProps>): ReactElement;
26369
+
26370
+ /**
26371
+ * The scheduled-export dialog's chrome, connected to the dialog's state: the modal overlay, the dialog
26372
+ * frame with the header row (the back button and the title input) and the action bar, the General and
26373
+ * Filters tabs, the scrollable content area around the selected tab's content, the body's error and
26374
+ * validation messages, the stale-filters confirmation step shown before the dialog when the saved filters
26375
+ * or schedule timezone no longer match the dashboard, and the delete confirmation reached from the
26376
+ * action bar in edit mode. While `useScheduledEmailDialogContext().isLoading` is true — on scheduled
26377
+ * email the ordinary path while a widget export's filters load — it renders the loading skeleton and
26378
+ * none of its children.
26379
+ *
26380
+ * The default dialog is `<ScheduledEmailDialogShell>` around the region blocks and form; a custom
26381
+ * `ScheduledEmailDialogComponent` that keeps this chrome and arranges the blocks differently renders the
26382
+ * shell itself. The shell does not own the save: call {@link useSaveScheduledEmailToBackend} and pass its
26383
+ * `handleSaveScheduledEmail`, `isSavingScheduledEmail` and `savingErrorMessage`; build Enter handlers for
26384
+ * the blocks you place with {@link useScheduledEmailSubmitOnEnter} over the same `handleSaveScheduledEmail`.
26385
+ * Call that hook only once `useScheduledEmailDialogContext().isLoading` is false — the state hooks throw
26386
+ * while the dialog loads — and render the shell alone (any `onSubmit`, `isSaving: false`) until then, as
26387
+ * the example does.
26388
+ *
26389
+ * Needs an ambient `IntlProvider`; inside a `Dashboard` the dashboard's provider covers it.
26390
+ *
26391
+ * @example
26392
+ * ```tsx
26393
+ * function MyScheduledEmailDialog(props: IScheduledEmailDialogProps) {
26394
+ * const { isLoading } = useScheduledEmailDialogContext();
26395
+ * // the state hooks throw while the dialog loads; the shell renders the loading skeleton
26396
+ * if (isLoading) {
26397
+ * return <ScheduledEmailDialogShell {...props} onSubmit={() => {}} isSaving={false} />;
26398
+ * }
26399
+ * return <MyScheduledEmailDialogBody {...props} />;
26400
+ * }
26401
+ *
26402
+ * function MyScheduledEmailDialogBody(props: IScheduledEmailDialogProps) {
26403
+ * const { handleSaveScheduledEmail, isSavingScheduledEmail, savingErrorMessage } =
26404
+ * useSaveScheduledEmailToBackend(props);
26405
+ * const submitOnEnter = useScheduledEmailSubmitOnEnter({
26406
+ * onSubmit: handleSaveScheduledEmail,
26407
+ * isSaving: isSavingScheduledEmail,
26408
+ * });
26409
+ * return (
26410
+ * <ScheduledEmailDialogShell
26411
+ * {...props}
26412
+ * onSubmit={handleSaveScheduledEmail}
26413
+ * isSaving={isSavingScheduledEmail}
26414
+ * savingErrorMessage={savingErrorMessage}
26415
+ * >
26416
+ * <ScheduledEmailDialogDestination />
26417
+ * <ScheduledEmailDialogRecipients onKeyDownSubmit={submitOnEnter} />
26418
+ * </ScheduledEmailDialogShell>
26419
+ * );
26420
+ * }
26421
+ * ```
26422
+ *
26423
+ * @alpha
26424
+ */
26425
+ export declare function ScheduledEmailDialogShell(props: IScheduledEmailDialogShellProps): ReactElement;
26426
+
26427
+ /**
26428
+ * The scheduled-export dialog's subject field, connected to the dialog's state.
26429
+ *
26430
+ * Renders {@link DefaultScheduledEmailDialogSubject} with the props of
26431
+ * {@link useScheduledEmailDialogSubjectProps}; every prop passed here replaces the hook's value for
26432
+ * that prop wholesale. Pass `onKeyDownSubmit` to submit on Enter from the subject input — the
26433
+ * default dialog passes its save action; without it Enter does nothing here. Renders nothing while
26434
+ * `useScheduledEmailDialogContext().isLoading` is true and for an in-platform notification channel
26435
+ * (which has no e-mail subject), the same visibility the default dialog gives the field.
26436
+ *
26437
+ * @alpha
26438
+ */
26439
+ export declare function ScheduledEmailDialogSubject(props: Partial<IScheduledEmailDialogSubjectProps>): ReactElement;
26440
+
25748
26441
  /**
25749
26442
  * The scheduled-export dialog's "Time zone" section (the export-content timezone picker), connected
25750
26443
  * to the dialog's state.
@@ -25766,6 +26459,20 @@ export declare function ScheduledEmailDialogTimezone(overrides: Partial<Schedule
25766
26459
  */
25767
26460
  export declare type ScheduledEmailDialogTimezoneDefaultProps = IScheduledEmailDialogTimezoneProps;
25768
26461
 
26462
+ /**
26463
+ * The scheduled-export dialog's widget-attachments field, connected to the dialog's state.
26464
+ *
26465
+ * Renders {@link DefaultScheduledEmailDialogWidgetAttachments} with the props of
26466
+ * {@link useScheduledEmailDialogWidgetAttachmentsProps}; every prop passed here replaces the hook's
26467
+ * value for that prop wholesale. Renders nothing while `useScheduledEmailDialogContext().isLoading`
26468
+ * is true and when the dialog context has no `widget` (a dashboard schedule renders
26469
+ * {@link ScheduledEmailDialogDashboardAttachments} instead), the same visibility the default dialog
26470
+ * gives the field.
26471
+ *
26472
+ * @alpha
26473
+ */
26474
+ export declare function ScheduledEmailDialogWidgetAttachments(props: Partial<IScheduledEmailDialogWidgetAttachmentsProps>): ReactElement;
26475
+
25769
26476
  /**
25770
26477
  * @internal
25771
26478
  */
@@ -27443,23 +28150,21 @@ export declare const selectExecutionResultLimitBreaksByRef: (ref: ObjRef | undef
27443
28150
  export declare const selectExecutionTimestamp: DashboardSelector<string | undefined>;
27444
28151
 
27445
28152
  /**
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`
28153
+ * Returns the per-tab parameter overrides to send on dashboard export, keyed by tab
28154
+ * `localIdentifier`. The shape matches the backend's `dashboardTabsParametersOverrides`
27448
28155
  * field directly.
27449
28156
  *
27450
28157
  * @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.
28158
+ * The request sends every `runtimeOverride` entry of each tab in scope; the query drops the
28159
+ * parameters a widget's metrics do not use.
28160
+ * - When `widgetIds` is empty/undefined (whole-dashboard export), every tab is in scope.
28161
+ * - When `widgetIds` is non-empty, only the owning tabs of those widgets are in scope. Send only
28162
+ * these tabs. A non-empty map tells the backend that the map is complete, and the backend then
28163
+ * does not resolve pinned values for any tab.
27458
28164
  *
27459
28165
  * Returns `{}` (signalling "omit the field on the wire") when:
27460
28166
  * - `enableParameters` is off,
27461
28167
  * - the workspace catalog parameters are not loaded,
27462
- * - (widget scope only) the `measureParameters` dependency map is not loaded,
27463
28168
  * - or no in-scope parameter has a `runtimeOverride`.
27464
28169
  *
27465
28170
  * @alpha
@@ -32200,6 +32905,15 @@ export declare function useScheduledEmailDialogActionBarProps({ onCancel, onSubm
32200
32905
  */
32201
32906
  export declare function useScheduledEmailDialogContext(): IScheduledEmailDialogContextValue;
32202
32907
 
32908
+ /**
32909
+ * The exact props the default scheduled-email dialog renders its dashboard-attachments field with.
32910
+ *
32911
+ * Throws outside the scheduled-export dialog's state providers.
32912
+ *
32913
+ * @alpha
32914
+ */
32915
+ export declare function useScheduledEmailDialogDashboardAttachmentsProps(): IScheduledEmailDialogDashboardAttachmentsProps;
32916
+
32203
32917
  /**
32204
32918
  * The exact props the default scheduled-email dialog renders its destination region with.
32205
32919
  *
@@ -32209,6 +32923,15 @@ export declare function useScheduledEmailDialogContext(): IScheduledEmailDialogC
32209
32923
  */
32210
32924
  export declare function useScheduledEmailDialogDestinationProps(): IAutomationDialogDestinationProps;
32211
32925
 
32926
+ /**
32927
+ * The exact props the default scheduled-email dialog renders its evaluation-mode checkbox with.
32928
+ *
32929
+ * Throws outside the scheduled-export dialog's state providers.
32930
+ *
32931
+ * @alpha
32932
+ */
32933
+ export declare function useScheduledEmailDialogEvaluationModeProps(): IScheduledEmailDialogEvaluationModeProps;
32934
+
32212
32935
  /**
32213
32936
  * The exact props the default scheduled-email dialog renders its filters region with.
32214
32937
  *
@@ -32227,6 +32950,15 @@ export declare function useScheduledEmailDialogFiltersProps(): IScheduledEmailDi
32227
32950
  */
32228
32951
  export declare function useScheduledEmailDialogHeaderProps({ onBack, onTitleKeyDown, ref }: IUseScheduledEmailDialogHeaderPropsInput): ScheduledEmailDialogHeaderDefaultProps;
32229
32952
 
32953
+ /**
32954
+ * The exact props the default scheduled-email dialog renders its message field with.
32955
+ *
32956
+ * Throws outside the scheduled-export dialog's state providers.
32957
+ *
32958
+ * @alpha
32959
+ */
32960
+ export declare function useScheduledEmailDialogMessageProps(): IScheduledEmailDialogMessageProps;
32961
+
32230
32962
  /**
32231
32963
  * The exact props the default scheduled-email dialog renders its recipients region with.
32232
32964
  *
@@ -32236,6 +32968,24 @@ export declare function useScheduledEmailDialogHeaderProps({ onBack, onTitleKeyD
32236
32968
  */
32237
32969
  export declare function useScheduledEmailDialogRecipientsProps({ onKeyDownSubmit }: IUseScheduledEmailDialogRecipientsPropsInput): IScheduledEmailDialogRecipientsProps;
32238
32970
 
32971
+ /**
32972
+ * The exact props the default scheduled-email dialog renders its recurrence field with.
32973
+ *
32974
+ * Throws outside the scheduled-export dialog's state providers.
32975
+ *
32976
+ * @alpha
32977
+ */
32978
+ export declare function useScheduledEmailDialogRecurrenceProps({ onKeyDownSubmit }: IUseScheduledEmailDialogRecurrencePropsInput): IScheduledEmailDialogRecurrenceProps;
32979
+
32980
+ /**
32981
+ * The exact props the default scheduled-email dialog renders its subject field with.
32982
+ *
32983
+ * Throws outside the scheduled-export dialog's state providers.
32984
+ *
32985
+ * @alpha
32986
+ */
32987
+ export declare function useScheduledEmailDialogSubjectProps({ onKeyDownSubmit }: IUseScheduledEmailDialogSubjectPropsInput): IScheduledEmailDialogSubjectProps;
32988
+
32239
32989
  /**
32240
32990
  * The exact props the default scheduled-email dialog renders its "Time zone" section with.
32241
32991
  *
@@ -32245,6 +32995,15 @@ export declare function useScheduledEmailDialogRecipientsProps({ onKeyDownSubmit
32245
32995
  */
32246
32996
  export declare function useScheduledEmailDialogTimezoneProps(): ScheduledEmailDialogTimezoneDefaultProps;
32247
32997
 
32998
+ /**
32999
+ * The exact props the default scheduled-email dialog renders its widget-attachments field with.
33000
+ *
33001
+ * Throws outside the scheduled-export dialog's state providers.
33002
+ *
33003
+ * @alpha
33004
+ */
33005
+ export declare function useScheduledEmailDialogWidgetAttachmentsProps(): IScheduledEmailDialogWidgetAttachmentsProps;
33006
+
32248
33007
  /**
32249
33008
  * Reads the scheduled-email management dialog context.
32250
33009
  *
@@ -32259,6 +33018,19 @@ export declare function useScheduledEmailDialogTimezoneProps(): ScheduledEmailDi
32259
33018
  */
32260
33019
  export declare function useScheduledEmailManagementDialogContext(): IScheduledEmailManagementDialogContextValue;
32261
33020
 
33021
+ /**
33022
+ * The Enter-to-submit key handler the default scheduled-export dialog attaches to its title, recipients
33023
+ * and recurrence inputs: calls `onSubmit` on Enter unless the submit button would be disabled — the same
33024
+ * guard {@link useScheduledEmailDialogActionBarProps} puts on the button (form validity, a save in
33025
+ * flight, execution-timestamp mode). Pass the result as `onTitleKeyDown` / `onKeyDownSubmit` to the
33026
+ * header and recipients blocks so every Enter path shares the dialog's one save.
33027
+ *
33028
+ * Throws outside the scheduled-export dialog's state providers.
33029
+ *
33030
+ * @alpha
33031
+ */
33032
+ export declare function useScheduledEmailSubmitOnEnter({ onSubmit, isSaving }: IUseScheduledEmailSubmitOnEnterInput): (event: KeyboardEvent_2) => void;
33033
+
32262
33034
  /**
32263
33035
  * Reads the scheduled-export dialog's draft mutators.
32264
33036
  *
@@ -32404,6 +33176,23 @@ export declare function useWidgetFilters(widget: FilterableDashboardWidget | und
32404
33176
  */
32405
33177
  export declare function useWidgetSelection(widgetRef?: ObjRef): IUseWidgetSelectionResult;
32406
33178
 
33179
+ /**
33180
+ * Debounced workspace-user search for a recipients control.
33181
+ *
33182
+ * Queries the first 50 matching workspace users, 300 ms debounced, lazily: no request is made
33183
+ * until {@link IUseWorkspaceUsersSearchResult.onActivate} is called. Requires only the ambient
33184
+ * `BackendProvider` and `WorkspaceProvider` from `@gooddata/sdk-ui` — it reads no automation
33185
+ * context, so a custom recipients control can call it anywhere inside a `Dashboard` (or any
33186
+ * backend/workspace scope). The default recipients select of both automation dialogs is built
33187
+ * on it. Pass `enabled: false` to keep it inert (the default select does so when an external
33188
+ * recipient override or a logged-user-only constraint removes server search).
33189
+ *
33190
+ * @alpha
33191
+ */
33192
+ export declare function useWorkspaceUsersSearch({ enabled }: {
33193
+ enabled: boolean;
33194
+ }): IUseWorkspaceUsersSearchResult;
33195
+
32407
33196
  /**
32408
33197
  * @internal
32409
33198
  */