@gooddata/sdk-ui-dashboard 11.52.0-alpha.5 → 11.52.0-alpha.7

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 (186) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/index.d.ts +8 -7
  4. package/esm/index.d.ts.map +1 -1
  5. package/esm/index.js +8 -7
  6. package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.js +5 -0
  7. package/esm/model/commandHandlers/index.d.ts.map +1 -1
  8. package/esm/model/commandHandlers/index.js +2 -0
  9. package/esm/model/commandHandlers/widgets/changeVisualizationSwitcherActiveVisualizationHandler.d.ts +6 -0
  10. package/esm/model/commandHandlers/widgets/changeVisualizationSwitcherActiveVisualizationHandler.d.ts.map +1 -0
  11. package/esm/model/commandHandlers/widgets/changeVisualizationSwitcherActiveVisualizationHandler.js +12 -0
  12. package/esm/model/commands/base.d.ts +1 -1
  13. package/esm/model/commands/base.d.ts.map +1 -1
  14. package/esm/model/commands/index.d.ts +2 -2
  15. package/esm/model/commands/index.d.ts.map +1 -1
  16. package/esm/model/commands/visualizationSwitcher.d.ts +33 -0
  17. package/esm/model/commands/visualizationSwitcher.d.ts.map +1 -1
  18. package/esm/model/commands/visualizationSwitcher.js +21 -0
  19. package/esm/model/events/base.d.ts +1 -1
  20. package/esm/model/events/base.d.ts.map +1 -1
  21. package/esm/model/events/index.d.ts +2 -2
  22. package/esm/model/events/index.d.ts.map +1 -1
  23. package/esm/model/events/visualizationSwitcher.d.ts +34 -0
  24. package/esm/model/events/visualizationSwitcher.d.ts.map +1 -1
  25. package/esm/model/events/visualizationSwitcher.js +21 -0
  26. package/esm/model/react/useDashboardCommand.d.ts +1 -0
  27. package/esm/model/react/useDashboardCommand.d.ts.map +1 -1
  28. package/esm/model/react/useDashboardCommandProcessing.d.ts +4 -0
  29. package/esm/model/react/useDashboardCommandProcessing.d.ts.map +1 -1
  30. package/esm/model/store/config/configSelectors.d.ts +6 -0
  31. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  32. package/esm/model/store/config/configSelectors.js +8 -0
  33. package/esm/model/store/keyDriverAnalysis/const.d.ts +6 -6
  34. package/esm/model/store/keyDriverAnalysis/const.d.ts.map +1 -1
  35. package/esm/model/store/keyDriverAnalysis/const.js +12 -26
  36. package/esm/model/store/ui/index.d.ts +4 -0
  37. package/esm/model/store/ui/index.d.ts.map +1 -1
  38. package/esm/model/store/ui/uiReducers.d.ts +7 -0
  39. package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
  40. package/esm/model/store/ui/uiReducers.js +6 -0
  41. package/esm/model/store/ui/uiSelectors.d.ts +8 -0
  42. package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
  43. package/esm/model/store/ui/uiSelectors.js +10 -0
  44. package/esm/model/store/ui/uiState.d.ts +6 -0
  45. package/esm/model/store/ui/uiState.d.ts.map +1 -1
  46. package/esm/model/store/ui/uiState.js +1 -0
  47. package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
  48. package/esm/model/store/widgetDrills/widgetDrillSelectors.js +5 -5
  49. package/esm/presentation/automations/alerting/AlertingDialog.d.ts +3 -0
  50. package/esm/presentation/automations/alerting/AlertingDialog.d.ts.map +1 -1
  51. package/esm/presentation/automations/alerting/AlertingDialog.js +5 -1
  52. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +10 -7
  53. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  54. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +36 -16
  55. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertThreshold.d.ts +9 -0
  56. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertThreshold.d.ts.map +1 -1
  57. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertThreshold.js +9 -0
  58. package/esm/presentation/automations/alerting/state/AlertActionsContext.d.ts +23 -0
  59. package/esm/presentation/automations/alerting/state/AlertActionsContext.d.ts.map +1 -0
  60. package/esm/presentation/automations/alerting/state/AlertActionsContext.js +19 -0
  61. package/esm/presentation/automations/alerting/state/AlertDataContext.d.ts +24 -0
  62. package/esm/presentation/automations/alerting/state/AlertDataContext.d.ts.map +1 -0
  63. package/esm/presentation/automations/alerting/state/AlertDataContext.js +19 -0
  64. package/esm/presentation/automations/alerting/state/AlertDraftContext.d.ts +24 -0
  65. package/esm/presentation/automations/alerting/state/AlertDraftContext.d.ts.map +1 -0
  66. package/esm/presentation/automations/alerting/state/AlertDraftContext.js +19 -0
  67. package/esm/presentation/automations/alerting/state/AlertFiltersContext.d.ts +26 -0
  68. package/esm/presentation/automations/alerting/state/AlertFiltersContext.d.ts.map +1 -0
  69. package/esm/presentation/automations/alerting/state/AlertFiltersContext.js +19 -0
  70. package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.d.ts +25 -0
  71. package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.d.ts.map +1 -0
  72. package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.js +172 -0
  73. package/esm/presentation/automations/alerting/state/missingAlertStateProvider.d.ts +7 -0
  74. package/esm/presentation/automations/alerting/state/missingAlertStateProvider.d.ts.map +1 -0
  75. package/esm/presentation/automations/alerting/state/missingAlertStateProvider.js +9 -0
  76. package/esm/presentation/automations/alerting/state/useAlertDialogValidity.d.ts +15 -0
  77. package/esm/presentation/automations/alerting/state/useAlertDialogValidity.d.ts.map +1 -0
  78. package/esm/presentation/automations/alerting/state/useAlertDialogValidity.js +45 -0
  79. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertFiltersModel.d.ts +2 -2
  80. package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts.map +1 -0
  81. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertFiltersModel.js +3 -3
  82. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertFormState.d.ts +4 -4
  83. package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts.map +1 -0
  84. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertFormState.js +8 -8
  85. package/esm/presentation/automations/alerting/state/useAlertFormValidation.d.ts.map +1 -0
  86. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertFormValidation.js +3 -3
  87. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertSelectedValues.d.ts +17 -7
  88. package/esm/presentation/automations/alerting/state/useAlertSelectedValues.d.ts.map +1 -0
  89. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertSelectedValues.js +27 -4
  90. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertSupportedMetrics.d.ts +3 -3
  91. package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.d.ts.map +1 -0
  92. package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertSupportedMetrics.js +5 -5
  93. package/esm/presentation/automations/alerting/types.d.ts +15 -1
  94. package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
  95. package/esm/presentation/automations/contexts/AlertingDialogContext.d.ts +26 -0
  96. package/esm/presentation/automations/contexts/AlertingDialogContext.d.ts.map +1 -1
  97. package/esm/presentation/automations/contexts/AlertingDialogContext.js +26 -0
  98. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.d.ts +10 -1
  99. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.d.ts.map +1 -1
  100. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.js +9 -0
  101. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +1 -1
  102. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  103. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +19 -17
  104. package/esm/presentation/automations/scheduledEmail/ScheduledEmailDialog.d.ts +3 -0
  105. package/esm/presentation/automations/scheduledEmail/ScheduledEmailDialog.d.ts.map +1 -1
  106. package/esm/presentation/automations/scheduledEmail/ScheduledEmailDialog.js +5 -1
  107. package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.d.ts +22 -0
  108. package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.d.ts.map +1 -0
  109. package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +150 -0
  110. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts +28 -0
  111. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts.map +1 -0
  112. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.js +20 -0
  113. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts +25 -0
  114. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts.map +1 -0
  115. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.js +20 -0
  116. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts +25 -0
  117. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts.map +1 -0
  118. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.js +20 -0
  119. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts +26 -0
  120. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts.map +1 -0
  121. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.js +20 -0
  122. package/esm/presentation/automations/scheduledEmail/state/exportDefinitions.d.ts.map +1 -0
  123. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/utils → state}/exportDefinitions.js +1 -1
  124. package/esm/presentation/automations/scheduledEmail/state/missingScheduledExportStateProvider.d.ts +7 -0
  125. package/esm/presentation/automations/scheduledEmail/state/missingScheduledExportStateProvider.d.ts.map +1 -0
  126. package/esm/presentation/automations/scheduledEmail/state/missingScheduledExportStateProvider.js +9 -0
  127. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailEffectiveFilters.d.ts +2 -2
  128. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailEffectiveFilters.d.ts.map +1 -0
  129. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailEffectiveFilters.js +4 -4
  130. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailExportSettings.d.ts +12 -25
  131. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts.map +1 -0
  132. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailExportSettings.js +38 -86
  133. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks/useScheduledEmailFilters.d.ts → state/useScheduledEmailFiltersModel.d.ts} +7 -7
  134. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.d.ts.map +1 -0
  135. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks/useScheduledEmailFilters.js → state/useScheduledEmailFiltersModel.js} +26 -9
  136. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.d.ts.map +1 -0
  137. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailFormState.js +25 -25
  138. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormValidity.d.ts.map +1 -0
  139. package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailFormValidity.js +3 -3
  140. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts +39 -0
  141. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.d.ts.map +1 -0
  142. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportAttachments.js +102 -0
  143. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportDialogValidity.d.ts +13 -0
  144. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportDialogValidity.d.ts.map +1 -0
  145. package/esm/presentation/automations/scheduledEmail/state/useScheduledExportDialogValidity.js +34 -0
  146. package/esm/presentation/automations/scheduledEmail/types.d.ts +15 -1
  147. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  148. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForNewAutomation.d.ts.map +1 -1
  149. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForNewAutomation.js +2 -1
  150. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts +2 -1
  151. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts.map +1 -1
  152. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js +6 -2
  153. package/esm/presentation/drill/utils/kdaUtils.d.ts +1 -1
  154. package/esm/presentation/drill/utils/kdaUtils.d.ts.map +1 -1
  155. package/esm/presentation/drill/utils/kdaUtils.js +6 -5
  156. package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.d.ts +1 -1
  157. package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.d.ts.map +1 -1
  158. package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.js +2 -2
  159. package/esm/presentation/filterBar/dateFilter/types.d.ts +8 -1
  160. package/esm/presentation/filterBar/dateFilter/types.d.ts.map +1 -1
  161. package/esm/presentation/filterBar/dateFilter/types.js +1 -1
  162. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
  163. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +11 -2
  164. package/esm/sdk-ui-dashboard.d.ts +240 -28
  165. package/package.json +21 -21
  166. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertFiltersModel.d.ts.map +0 -1
  167. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertFormState.d.ts.map +0 -1
  168. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertFormValidation.d.ts.map +0 -1
  169. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSelectedValues.d.ts.map +0 -1
  170. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSupportedMetrics.d.ts.map +0 -1
  171. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts +0 -69
  172. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts.map +0 -1
  173. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.js +0 -145
  174. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +0 -89
  175. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +0 -1
  176. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +0 -131
  177. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduledEmailEffectiveFilters.d.ts.map +0 -1
  178. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduledEmailExportSettings.d.ts.map +0 -1
  179. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduledEmailFilters.d.ts.map +0 -1
  180. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduledEmailFormState.d.ts.map +0 -1
  181. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduledEmailFormValidity.d.ts.map +0 -1
  182. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/utils/exportDefinitions.d.ts.map +0 -1
  183. /package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → state}/useAlertFormValidation.d.ts +0 -0
  184. /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/utils → state}/exportDefinitions.d.ts +0 -0
  185. /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailFormState.d.ts +0 -0
  186. /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog/hooks → state}/useScheduledEmailFormValidity.d.ts +0 -0
@@ -27,7 +27,7 @@ export interface IScheduledEmailDialogContextValue {
27
27
  commonDateFilterId?: string;
28
28
  /**
29
29
  * Effective export parameter overrides keyed by tab, scoped to the dialog's widget when present.
30
- * Replaces the direct selectExportEffectiveParameters read in useEditScheduledEmail.
30
+ * Hydrated by the connector, so the dialog tree reads no store selector for them.
31
31
  */
32
32
  exportParametersByTab: Record<string, IDashboardExportParameter[]>;
33
33
  /**
@@ -55,6 +55,15 @@ export interface IScheduledEmailDialogContextValue {
55
55
  /** True while the dialog's initial data (automations) is still loading. */
56
56
  isLoading: boolean;
57
57
  }
58
+ /**
59
+ * Provider for {@link IScheduledEmailDialogContextValue}.
60
+ *
61
+ * Besides the connector's own use, a custom `ScheduledEmailDialogComponent` can decorate the context for
62
+ * the default dialog: read the value via {@link useScheduledEmailDialogContext}, adjust it, and
63
+ * re-provide it around `DefaultScheduledEmailDialog`.
64
+ *
65
+ * @alpha
66
+ */
58
67
  export declare const ScheduledEmailDialogContextProvider: import("react").Provider<IScheduledEmailDialogContextValue | undefined>;
59
68
  /**
60
69
  * Reads the scheduled-email create/edit dialog context.
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledEmailDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/ScheduledEmailDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,kCAAkC,EAClC,6BAA6B,EAC7B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EACnC,yBAAyB,EACzB,eAAe,EACf,QAAQ,EACR,8BAA8B,EAC9B,kCAAkC,EAClC,OAAO,EACV,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC;;;OAGG;IACH,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,wEAAwE;IACxE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,kFAAgF;IAChF,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAC/D,2EAAyE;IACzE,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAEzE,oBAAoB,CAAC,EAAE,EAAE,mCAAmC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAClG,kBAAkB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,wEAAwE;IACxE,oBAAoB,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC9F,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;CACtB;AAID,eAAO,MAAM,mCAAmC,yEAAuC,CAAC;AAExF;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,IAAI,iCAAiC,CAQlF"}
1
+ {"version":3,"file":"ScheduledEmailDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/ScheduledEmailDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,kCAAkC,EAClC,6BAA6B,EAC7B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EACnC,yBAAyB,EACzB,eAAe,EACf,QAAQ,EACR,8BAA8B,EAC9B,kCAAkC,EAClC,OAAO,EACV,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC;;;OAGG;IACH,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,wEAAwE;IACxE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,kFAAgF;IAChF,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAC/D,2EAAyE;IACzE,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAEzE,oBAAoB,CAAC,EAAE,EAAE,mCAAmC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAClG,kBAAkB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,wEAAwE;IACxE,oBAAoB,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC9F,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;CACtB;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC,yEAAuC,CAAC;AAExF;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,IAAI,iCAAiC,CAQlF"}
@@ -1,6 +1,15 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { createContext, useContext } from "react";
3
3
  const ScheduledEmailDialogContext = createContext(undefined);
4
+ /**
5
+ * Provider for {@link IScheduledEmailDialogContextValue}.
6
+ *
7
+ * Besides the connector's own use, a custom `ScheduledEmailDialogComponent` can decorate the context for
8
+ * the default dialog: read the value via {@link useScheduledEmailDialogContext}, adjust it, and
9
+ * re-provide it around `DefaultScheduledEmailDialog`.
10
+ *
11
+ * @alpha
12
+ */
4
13
  export const ScheduledEmailDialogContextProvider = ScheduledEmailDialogContext.Provider;
5
14
  /**
6
15
  * Reads the scheduled-email create/edit dialog context.
@@ -1,5 +1,5 @@
1
1
  import { type IScheduledEmailDialogProps } from "../types.js";
2
- export declare function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess, onDeleteError, onError, onSave, onSaveError, onSaveSuccess, onSubmit, onSuccess }: IScheduledEmailDialogProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess, onDeleteError, onError, onSave, onSaveError, onSaveSuccess, onSubmit, onSuccess, topContent, bottomContent }: IScheduledEmailDialogProps): import("react/jsx-runtime").JSX.Element;
3
3
  /**
4
4
  * @alpha
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA+D9D,wBAAgB,2BAA2B,CAAC,EACxC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,EAAE,0BAA0B,2CAqgB5B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,2CAY5E"}
1
+ {"version":3,"file":"DefaultScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.tsx"],"names":[],"mappings":"AA8CA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA6D9D,wBAAgB,2BAA2B,CAAC,EACxC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EAChB,EAAE,0BAA0B,2CAqgB5B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,2CAY5E"}
@@ -13,8 +13,13 @@ import { ApplyCurrentFiltersConfirmDialog } from "../../shared/automationFilters
13
13
  import { AutomationFiltersSelect } from "../../shared/automationFilters/components/AutomationFiltersSelect.js";
14
14
  import { DeleteScheduleConfirmDialog } from "../DefaultScheduledEmailManagementDialog/components/DeleteScheduleConfirmDialog.js";
15
15
  import { useScheduleEmailDialogAccessibility } from "../hooks/useScheduleEmailDialogAccessibility.js";
16
+ import { useScheduledExportActions } from "../state/ScheduledExportActionsContext.js";
17
+ import { useScheduledExportData } from "../state/ScheduledExportDataContext.js";
18
+ import { useScheduledExportDraft } from "../state/ScheduledExportDraftContext.js";
19
+ import { useScheduledExportFilters } from "../state/ScheduledExportFiltersContext.js";
20
+ import { useScheduledExportAttachments } from "../state/useScheduledExportAttachments.js";
21
+ import { useScheduledExportDialogValidity } from "../state/useScheduledExportDialogValidity.js";
16
22
  import { getDefaultCronExpression } from "../utils/cron.js";
17
- import { getDefaultPdfPageSize } from "../utils/pdfPageSize.js";
18
23
  import { isMobileView } from "../utils/responsive.js";
19
24
  import { TIMEZONE_DEFAULT } from "../utils/timezone.js";
20
25
  import { DashboardAttachments } from "./components/Attachments/DashboardAttachments.js";
@@ -27,7 +32,6 @@ import { RecipientsSelect } from "./components/RecipientsSelect/RecipientsSelect
27
32
  import { SubjectForm } from "./components/SubjectForm/SubjectForm.js";
28
33
  import { SCHEDULED_EMAIL_DIALOG_ID } from "./constants.js";
29
34
  import { DefaultLoadingScheduledEmailDialog } from "./DefaultLoadingScheduledEmailDialog.js";
30
- import { useEditScheduledEmail } from "./hooks/useEditScheduledEmail.js";
31
35
  import { useElementHeightSnapshot } from "./hooks/useElementHeightSnapshot.js";
32
36
  import { useSaveScheduledEmailToBackend } from "./hooks/useSaveScheduledEmailToBackend.js";
33
37
  const OVERLAY_POSITION_TYPE = "sameAsTarget";
@@ -37,7 +41,7 @@ function ScheduledEmailDialogFooter({ isWhiteLabeled, helpTextId, scheduledExpor
37
41
  const intl = useIntl();
38
42
  return (_jsxs("div", { className: "gd-notifications-channels-dialog-footer-link", children: [isWhiteLabeled ? null : (_jsx(Hyperlink, { text: intl.formatMessage({ id: helpTextId }), href: "https://www.gooddata.com/docs/cloud/create-dashboards/automation/scheduled-exports/#ScheduleExportsinDashboards-ScheduleExport", iconClass: "gd-icon-circle-question" })), scheduledExportToEdit ? (_jsx(Button, { className: "gd-button-link-dimmed", value: intl.formatMessage({ id: "delete" }), onClick: onDeleteClick, disabled: isSavingScheduledEmail })) : null] }));
39
43
  }
40
- export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess, onDeleteError, onError, onSave, onSaveError, onSaveSuccess, onSubmit, onSuccess, }) {
44
+ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess, onDeleteError, onError, onSave, onSaveError, onSaveSuccess, onSubmit, onSuccess, topContent, bottomContent, }) {
41
45
  const intl = useIntl();
42
46
  const dialogTitleRef = useRef(null);
43
47
  const generalTabContentRef = useRef(null);
@@ -45,17 +49,18 @@ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess,
45
49
  const [scheduledEmailToDelete, setScheduledEmailToDelete] = useState(null);
46
50
  const [selectedTabId, setSelectedTabId] = useState("general");
47
51
  const { isWhiteLabeled, externalRecipient: externalRecipientOverride, isSecondaryTitleVisible, tabIds, } = useAutomationsContext();
48
- const { exportTemplates, widgetTitle, scheduledExportToEdit, widget, dashboardFilters } = useScheduledEmailDialogContext();
52
+ const { exportTemplates, widgetTitle, scheduledExportToEdit, widget, dashboardFilters, notificationChannels, } = useScheduledEmailDialogContext();
49
53
  const handleScheduleDeleteSuccess = () => {
50
54
  onDeleteSuccess?.();
51
55
  setScheduledEmailToDelete(null);
52
56
  };
53
- const { locale, dashboardTitle, dateFormat, weekStart, maxAutomationsRecipients, allowHourlyRecurrence, isCrossFiltering, isExecutionTimestampMode, isSlidesExportEnabled, isAccessibilityModeEnabled, defaultPdfPageSize, } = useDefaultScheduledEmailDialogData();
54
- const { defaultUser, editedAutomation, originalAutomation, isSubmitDisabled, xlsxSettings, pdfSettings, csvSettings, csvRawSettings, startDate, allowExternalRecipients, allowOnlyLoggedUserRecipients, validationErrorMessage, selectedAttachments, isParentValid, onDashboardAttachmentsChange, onWidgetAttachmentsChange, onXlsxSettingsChange, onPdfSettingsChange, onCsvSettingsChange, onCsvRawSettingsChange, slidesTemplateIds, onSlidesTemplateIdChange, onDestinationChange, onMessageChange, onRecipientsChange, onRecurrenceChange, onEvaluationModeChange, onSubjectChange, onTitleChange, onFiltersChange, onApplyCurrentFilters, onStoreFiltersChange, onFiltersByTabChange, enableAutomationEvaluationMode, notificationChannels, selectedFilters, availableFilters, storeFilters, filtersByTab, editedFiltersByTab, automationIsValid, parametersEnabled, visibleParametersByTab, availableParametersByTab, flatTabId, onParameterAdd, onParameterChange, onParameterDelete, onParameterAddByTab, onParameterChangeByTab, onParameterDeleteByTab, applyLatest: applyLatestParameters, } = useEditScheduledEmail({
55
- maxAutomationsRecipients,
56
- externalRecipientOverride,
57
- defaultPdfPageSize,
58
- });
57
+ const { locale, dashboardTitle, dateFormat, weekStart, maxAutomationsRecipients, allowHourlyRecurrence, isCrossFiltering, isExecutionTimestampMode, isSlidesExportEnabled, isAccessibilityModeEnabled, enableAutomationEvaluationMode, } = useDefaultScheduledEmailDialogData();
58
+ const { editedAutomation, originalAutomation, startDate } = useScheduledExportDraft();
59
+ const { onTitleChange, onRecurrenceChange, onEvaluationModeChange, onDestinationChange, onRecipientsChange, onSubjectChange, onMessageChange, onDashboardAttachmentsChange, onWidgetAttachmentsChange, onXlsxSettingsChange, onPdfSettingsChange, onCsvSettingsChange, onCsvRawSettingsChange, onSlidesTemplateIdChange, } = useScheduledExportActions();
60
+ const { defaultUser } = useScheduledExportData();
61
+ const { selectedFilters, availableFilters, storeFilters, filtersByTab, editedFiltersByTab, onFiltersChange, onFiltersByTabChange, onApplyCurrentFilters, onStoreFiltersChange, automationIsValid, parametersEnabled, visibleParametersByTab, availableParametersByTab, flatTabId, onParameterAdd, onParameterChange, onParameterDelete, onParameterAddByTab, onParameterChangeByTab, onParameterDeleteByTab, applyLatest: applyLatestParameters, } = useScheduledExportFilters();
62
+ const { selectedAttachments, xlsxSettings, pdfSettings, csvSettings, csvRawSettings, slidesTemplateIds } = useScheduledExportAttachments();
63
+ const { isSubmitDisabled, validationErrorMessage, isParentValid, allowExternalRecipients, allowOnlyLoggedUserRecipients, } = useScheduledExportDialogValidity();
59
64
  const [isApplyCurrentFiltersDialogOpen, setIsApplyCurrentFiltersDialogOpen] = useState(!automationIsValid);
60
65
  const { handleSaveScheduledEmail, isSavingScheduledEmail, savingErrorMessage } = useSaveScheduledEmailToBackend(editedAutomation, {
61
66
  onSuccess,
@@ -156,8 +161,7 @@ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess,
156
161
  }, disableBottomBorder: true })) : null, _jsxs(ScrollablePanel, { className: cx("gd-notifications-channel-dialog-content-wrapper", {
157
162
  "gd-notification-channel-dialog-with-automation-filters": true,
158
163
  "gd-notification-channel-dialog-with-tabs": tabs.length > 1,
159
- }), children: [
160
- _jsx("div", { className: "gd-divider-with-margin" }), selectedTabId === "filters" ? (_jsx("div", { ref: filtersTabContentRef, className: "gd-schedule-dialog-tab-content", style: tabContentHeight
164
+ }), children: [topContent, _jsx("div", { className: "gd-divider-with-margin" }), selectedTabId === "filters" ? (_jsx("div", { ref: filtersTabContentRef, className: "gd-schedule-dialog-tab-content", style: tabContentHeight
161
165
  ? { minHeight: `${tabContentHeight}px` }
162
166
  : undefined, children: _jsx(AutomationFiltersSelect, { availableFilters: availableFilters, selectedFilters: selectedFilters, onFiltersChange: onFiltersChange, storeFilters: storeFilters, onStoreFiltersChange: onStoreFiltersChange, isDashboardAutomation: !widget, overlayPositionType: OVERLAY_POSITION_TYPE, hideTitle: true, showAllFilters: true, filtersByTab: filtersByTab, editedFiltersByTab: editedFiltersByTab, onFiltersByTabChange: onFiltersByTabChange, parameters: flatTabId ? visibleParametersByTab[flatTabId] : undefined, availableParameters: flatTabId ? availableParametersByTab[flatTabId] : undefined, onParameterChange: onParameterChange, onParameterDelete: onParameterDelete, onParameterAdd: onParameterAdd, parametersByTab: visibleParametersByTab, availableParametersByTab: availableParametersByTab, onParameterChangeByTab: onParameterChangeByTab, onParameterDeleteByTab: onParameterDeleteByTab, onParameterAddByTab: onParameterAddByTab, parametersEnabled: parametersEnabled }) })) : (_jsxs("div", { ref: generalTabContentRef, className: "gd-schedule-dialog-tab-content", children: [!widget && tabIds.length > 1 ? (_jsx(Message, { type: "progress", className: "gd-schedule-dialog-tab-content-info", children: intl.formatMessage({
163
167
  id: "dialogs.schedule.email.tabs.info",
@@ -171,7 +175,7 @@ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess,
171
175
  .filter((invalidDatapoint) => invalidDatapoint.severity === "error")
172
176
  .map((invalidDatapoint) => (_jsx(Message, { id: invalidDatapoint.id, type: "error", className: cx("gd-notifications-channels-dialog-error", {
173
177
  "gd-notifications-channels-dialog-error-scrollable": true,
174
- }), children: invalidDatapoint.message }, invalidDatapoint.id)))] }))] })
178
+ }), children: invalidDatapoint.message }, invalidDatapoint.id)))] })), bottomContent] })
175
179
  ] }) }) }) }), scheduledEmailToDelete ? (_jsx(DeleteScheduleConfirmDialog, { scheduledEmail: scheduledEmailToDelete, onCancel: () => setScheduledEmailToDelete(null), onSuccess: handleScheduleDeleteSuccess, onError: onDeleteError })) : null] }));
176
180
  }
177
181
  /**
@@ -190,10 +194,8 @@ function DefaultScheduledEmailDialogBody(props) {
190
194
  return (_jsx(IntlWrapper, { locale: locale, children: _jsx(ScheduledMailDialogRenderer, { ...props }) }));
191
195
  }
192
196
  function useDefaultScheduledEmailDialogData() {
193
- const { locale, settings, weekStart, maxAutomationsRecipients, allowHourlyRecurrence, isExecutionTimestampMode, features: { enableSlideshowExports }, } = useAutomationsContext();
197
+ const { locale, settings, weekStart, maxAutomationsRecipients, allowHourlyRecurrence, isExecutionTimestampMode, features: { enableSlideshowExports, enableAutomationEvaluationMode }, } = useAutomationsContext();
194
198
  const { dashboardTitle, dateFormat, isCrossFiltering } = useScheduledEmailDialogContext();
195
- const formatLocale = settings?.formatLocale;
196
- const defaultPdfPageSize = getDefaultPdfPageSize(formatLocale);
197
199
  return {
198
200
  locale,
199
201
  dashboardTitle,
@@ -205,6 +207,6 @@ function useDefaultScheduledEmailDialogData() {
205
207
  isExecutionTimestampMode,
206
208
  isSlidesExportEnabled: enableSlideshowExports,
207
209
  isAccessibilityModeEnabled: settings?.enableAccessibilityMode === true,
208
- defaultPdfPageSize,
210
+ enableAutomationEvaluationMode,
209
211
  };
210
212
  }
@@ -1,6 +1,9 @@
1
1
  import { type ReactElement } from "react";
2
2
  import { type IScheduledEmailDialogProps } from "./types.js";
3
3
  /**
4
+ * Resolves the dialog component from DashboardComponentsContext and mounts it under the
5
+ * scheduled-export dialog's state contexts.
6
+ *
4
7
  * @internal
5
8
  */
6
9
  export declare function ScheduledEmailDialog(props: IScheduledEmailDialogProps): ReactElement;
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/scheduledEmail/ScheduledEmailDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,GAAG,YAAY,CAIpF"}
1
+ {"version":3,"file":"ScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/scheduledEmail/ScheduledEmailDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,GAAG,YAAY,CAQpF"}
@@ -1,9 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useDashboardComponentsContext } from "../../dashboardContexts/DashboardComponentsContext.js";
3
+ import { ScheduledEmailDialogStateProvider } from "./state/ScheduledEmailDialogStateProvider.js";
3
4
  /**
5
+ * Resolves the dialog component from DashboardComponentsContext and mounts it under the
6
+ * scheduled-export dialog's state contexts.
7
+ *
4
8
  * @internal
5
9
  */
6
10
  export function ScheduledEmailDialog(props) {
7
11
  const { ScheduledEmailDialogComponent } = useDashboardComponentsContext();
8
- return _jsx(ScheduledEmailDialogComponent, { ...props });
12
+ return (_jsx(ScheduledEmailDialogStateProvider, { children: _jsx(ScheduledEmailDialogComponent, { ...props }) }));
9
13
  }
@@ -0,0 +1,22 @@
1
+ import { type ReactNode } from "react";
2
+ /**
3
+ * Publishes the scheduled-export create/edit dialog's state as the four scheduled-export state
4
+ * contexts once the dialog's data has loaded.
5
+ *
6
+ * Mounts above the resolved `ScheduledEmailDialogComponent`, so the default dialog, a shell of
7
+ * blocks and a wholesale replacement all read the same state with no extra wiring. Defers mounting
8
+ * the state model itself until `useScheduledEmailDialogContext().isLoading` is false, because the
9
+ * state model seeds its draft from the dialog's loaded data in `useState` initializers that never
10
+ * re-run — mounting earlier would freeze that seed against not-yet-loaded data. That is the
11
+ * ordinary path here, not an edge case: a widget export's filters load after the dialog opens.
12
+ *
13
+ * Runs `useIntl`-calling hooks, so an `IntlProvider` must sit above it. Inside a `Dashboard` the
14
+ * ambient wrapper in `DashboardInner` supplies one with the same locale; a mount site without one
15
+ * throws in react-intl.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function ScheduledEmailDialogStateProvider({ children }: {
20
+ children: ReactNode;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ //# sourceMappingURL=ScheduledEmailDialogStateProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduledEmailDialogStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAyBhD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iCAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAQtF"}
@@ -0,0 +1,150 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { useMemo } from "react";
4
+ import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
5
+ import { useScheduledEmailDialogContext } from "../../contexts/ScheduledEmailDialogContext.js";
6
+ import { useAutomationFiltersSelect } from "../../shared/automationFilters/useAutomationFiltersSelect.js";
7
+ import { getDefaultPdfPageSize } from "../utils/pdfPageSize.js";
8
+ import { ScheduledExportActionsContextProvider, } from "./ScheduledExportActionsContext.js";
9
+ import { ScheduledExportDataContextProvider, } from "./ScheduledExportDataContext.js";
10
+ import { ScheduledExportDraftContextProvider, } from "./ScheduledExportDraftContext.js";
11
+ import { ScheduledExportFiltersContextProvider } from "./ScheduledExportFiltersContext.js";
12
+ import { useScheduledEmailEffectiveFilters } from "./useScheduledEmailEffectiveFilters.js";
13
+ import { useScheduledEmailExportSettings } from "./useScheduledEmailExportSettings.js";
14
+ import { useScheduledEmailFiltersModel } from "./useScheduledEmailFiltersModel.js";
15
+ import { useScheduledEmailFormState } from "./useScheduledEmailFormState.js";
16
+ /**
17
+ * Publishes the scheduled-export create/edit dialog's state as the four scheduled-export state
18
+ * contexts once the dialog's data has loaded.
19
+ *
20
+ * Mounts above the resolved `ScheduledEmailDialogComponent`, so the default dialog, a shell of
21
+ * blocks and a wholesale replacement all read the same state with no extra wiring. Defers mounting
22
+ * the state model itself until `useScheduledEmailDialogContext().isLoading` is false, because the
23
+ * state model seeds its draft from the dialog's loaded data in `useState` initializers that never
24
+ * re-run — mounting earlier would freeze that seed against not-yet-loaded data. That is the
25
+ * ordinary path here, not an edge case: a widget export's filters load after the dialog opens.
26
+ *
27
+ * Runs `useIntl`-calling hooks, so an `IntlProvider` must sit above it. Inside a `Dashboard` the
28
+ * ambient wrapper in `DashboardInner` supplies one with the same locale; a mount site without one
29
+ * throws in react-intl.
30
+ *
31
+ * @internal
32
+ */
33
+ export function ScheduledEmailDialogStateProvider({ children }) {
34
+ const { isLoading } = useScheduledEmailDialogContext();
35
+ return isLoading ? (_jsx(_Fragment, { children: children })) : (_jsx(LoadedScheduledEmailDialogState, { children: children }));
36
+ }
37
+ function LoadedScheduledEmailDialogState({ children }) {
38
+ const { settings, externalRecipient } = useAutomationsContext();
39
+ const { scheduledExportToEdit, widget, insight, notificationChannels } = useScheduledEmailDialogContext();
40
+ const defaultPdfPageSize = getDefaultPdfPageSize(settings?.formatLocale);
41
+ const { editedAutomationFilters, setEditedAutomationFilters, availableFilters, availableFiltersAsVisibleFilters, filtersForNewAutomation, storeFilters, setStoreFilters, filtersByTab, editedAutomationFiltersByTab, setEditedAutomationFiltersByTab, availableFiltersAsVisibleFiltersByTab, } = useAutomationFiltersSelect({ automationToEdit: scheduledExportToEdit, widget });
42
+ const { effectiveWidgetFilters, effectiveWidgetFiltersWithInsight, effectiveVisibleWidgetFilters, effectiveDashboardFilters, effectiveDashboardFiltersByTab, effectiveVisibleDashboardFilters, effectiveVisibleDashboardFiltersByTab, parametersByTabForNewAutomation, } = useScheduledEmailEffectiveFilters({
43
+ widget,
44
+ insight,
45
+ editedAutomationFilters,
46
+ editedAutomationFiltersByTab,
47
+ availableFiltersAsVisibleFilters,
48
+ availableFiltersAsVisibleFiltersByTab,
49
+ filtersDataByTab: filtersByTab,
50
+ storeFilters,
51
+ });
52
+ const formState = useScheduledEmailFormState({
53
+ scheduledExportToEdit,
54
+ widget,
55
+ insight,
56
+ notificationChannels,
57
+ externalRecipientOverride: externalRecipient,
58
+ effectiveWidgetFilters,
59
+ effectiveWidgetFiltersWithInsight,
60
+ effectiveVisibleWidgetFilters,
61
+ effectiveDashboardFilters,
62
+ effectiveDashboardFiltersByTab,
63
+ effectiveVisibleDashboardFilters,
64
+ effectiveVisibleDashboardFiltersByTab,
65
+ parametersByTabForNewAutomation,
66
+ defaultPdfPageSize,
67
+ });
68
+ const exportSettings = useScheduledEmailExportSettings({
69
+ editedAutomation: formState.editedAutomation,
70
+ setEditedAutomation: formState.setEditedAutomation,
71
+ insight,
72
+ widget,
73
+ storeFilters,
74
+ effectiveDashboardFilters,
75
+ effectiveDashboardFiltersByTab,
76
+ effectiveWidgetFilters,
77
+ effectiveWidgetFiltersWithInsight,
78
+ defaultPdfPageSize,
79
+ });
80
+ const filtersModel = useScheduledEmailFiltersModel({
81
+ setEditedAutomation: formState.setEditedAutomation,
82
+ scheduledExportToEdit,
83
+ widget,
84
+ insight,
85
+ editedAutomationFilters,
86
+ setEditedAutomationFilters,
87
+ editedAutomationFiltersByTab,
88
+ setEditedAutomationFiltersByTab,
89
+ availableFilters,
90
+ availableFiltersAsVisibleFilters,
91
+ availableFiltersAsVisibleFiltersByTab,
92
+ filtersByTab,
93
+ storeFilters,
94
+ setStoreFilters,
95
+ filtersForNewAutomation,
96
+ setParametersWire: exportSettings.setParametersWire,
97
+ });
98
+ const draft = useMemo(() => ({
99
+ editedAutomation: formState.editedAutomation,
100
+ originalAutomation: formState.originalAutomation,
101
+ startDate: formState.startDate,
102
+ isCronValid: formState.isCronValid,
103
+ isTitleValid: formState.isTitleValid,
104
+ isSubjectValid: formState.isSubjectValid,
105
+ isOnMessageValid: formState.isOnMessageValid,
106
+ }), [
107
+ formState.editedAutomation,
108
+ formState.originalAutomation,
109
+ formState.startDate,
110
+ formState.isCronValid,
111
+ formState.isTitleValid,
112
+ formState.isSubjectValid,
113
+ formState.isOnMessageValid,
114
+ ]);
115
+ const actions = useMemo(() => ({
116
+ setEditedAutomation: formState.setEditedAutomation,
117
+ onTitleChange: formState.onTitleChange,
118
+ onRecurrenceChange: formState.onRecurrenceChange,
119
+ onEvaluationModeChange: formState.onEvaluationModeChange,
120
+ onDestinationChange: formState.onDestinationChange,
121
+ onRecipientsChange: formState.onRecipientsChange,
122
+ onSubjectChange: formState.onSubjectChange,
123
+ onMessageChange: formState.onMessageChange,
124
+ onDashboardAttachmentsChange: exportSettings.onDashboardAttachmentsChange,
125
+ onWidgetAttachmentsChange: exportSettings.onWidgetAttachmentsChange,
126
+ onXlsxSettingsChange: exportSettings.onXlsxSettingsChange,
127
+ onPdfSettingsChange: exportSettings.onPdfSettingsChange,
128
+ onCsvSettingsChange: exportSettings.onCsvSettingsChange,
129
+ onCsvRawSettingsChange: exportSettings.onCsvRawSettingsChange,
130
+ onSlidesTemplateIdChange: exportSettings.onSlidesTemplateIdChange,
131
+ }), [
132
+ formState.setEditedAutomation,
133
+ formState.onTitleChange,
134
+ formState.onRecurrenceChange,
135
+ formState.onEvaluationModeChange,
136
+ formState.onDestinationChange,
137
+ formState.onRecipientsChange,
138
+ formState.onSubjectChange,
139
+ formState.onMessageChange,
140
+ exportSettings.onDashboardAttachmentsChange,
141
+ exportSettings.onWidgetAttachmentsChange,
142
+ exportSettings.onXlsxSettingsChange,
143
+ exportSettings.onPdfSettingsChange,
144
+ exportSettings.onCsvSettingsChange,
145
+ exportSettings.onCsvRawSettingsChange,
146
+ exportSettings.onSlidesTemplateIdChange,
147
+ ]);
148
+ const data = useMemo(() => ({ defaultUser: formState.defaultUser, defaultRecipient: formState.defaultRecipient }), [formState.defaultUser, formState.defaultRecipient]);
149
+ return (_jsx(ScheduledExportDraftContextProvider, { value: draft, children: _jsx(ScheduledExportActionsContextProvider, { value: actions, children: _jsx(ScheduledExportDataContextProvider, { value: data, children: _jsx(ScheduledExportFiltersContextProvider, { value: filtersModel, children: children }) }) }) }));
150
+ }
@@ -0,0 +1,28 @@
1
+ import { type useScheduledEmailExportSettings } from "./useScheduledEmailExportSettings.js";
2
+ import { type useScheduledEmailFormState } from "./useScheduledEmailFormState.js";
3
+ /**
4
+ * The scheduled-export dialog's draft mutators: the form fields' change handlers, the raw draft
5
+ * setter, and the attachment handlers, which rebuild the automation's export definitions while
6
+ * carrying the stored export-parameter wire across the rebuild.
7
+ *
8
+ * Every handler holds its identity across a keystroke, so a consumer that only mutates does not
9
+ * re-render while the draft changes. The two attachment handlers are rebuilt when the filters they
10
+ * write into a new export definition change. The shape is derived from `useScheduledEmailFormState`
11
+ * and `useScheduledEmailExportSettings`, which own these handlers.
12
+ *
13
+ * @internal
14
+ */
15
+ export type IScheduledExportActionsContextValue = Pick<ReturnType<typeof useScheduledEmailFormState>, "setEditedAutomation" | "onTitleChange" | "onRecurrenceChange" | "onEvaluationModeChange" | "onDestinationChange" | "onRecipientsChange" | "onSubjectChange" | "onMessageChange"> & Pick<ReturnType<typeof useScheduledEmailExportSettings>, "onDashboardAttachmentsChange" | "onWidgetAttachmentsChange" | "onXlsxSettingsChange" | "onPdfSettingsChange" | "onCsvSettingsChange" | "onCsvRawSettingsChange" | "onSlidesTemplateIdChange">;
16
+ export declare const ScheduledExportActionsContextProvider: import("react").Provider<IScheduledExportActionsContextValue | undefined>;
17
+ /**
18
+ * Reads the scheduled-export dialog's draft mutators.
19
+ *
20
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
21
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
22
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
23
+ * ordinary path here: a widget export renders while its filters load.
24
+ *
25
+ * @internal
26
+ */
27
+ export declare function useScheduledExportActions(): IScheduledExportActionsContextValue;
28
+ //# sourceMappingURL=ScheduledExportActionsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduledExportActionsContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAC5F,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mCAAmC,GAAG,IAAI,CAClD,UAAU,CAAC,OAAO,0BAA0B,CAAC,EAC3C,qBAAqB,GACrB,eAAe,GACf,oBAAoB,GACpB,wBAAwB,GACxB,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,CACtB,GACG,IAAI,CACA,UAAU,CAAC,OAAO,+BAA+B,CAAC,EAChD,8BAA8B,GAC9B,2BAA2B,GAC3B,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,wBAAwB,GACxB,0BAA0B,CAC/B,CAAC;AAON,eAAO,MAAM,qCAAqC,2EAAyC,CAAC;AAE5F;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,mCAAmC,CAK/E"}
@@ -0,0 +1,20 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { createContext, useContext } from "react";
3
+ import { missingScheduledExportStateProvider } from "./missingScheduledExportStateProvider.js";
4
+ const ScheduledExportActionsContext = createContext(undefined);
5
+ ScheduledExportActionsContext.displayName = "ScheduledExportActionsContext";
6
+ export const ScheduledExportActionsContextProvider = ScheduledExportActionsContext.Provider;
7
+ /**
8
+ * Reads the scheduled-export dialog's draft mutators.
9
+ *
10
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
11
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
12
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
13
+ * ordinary path here: a widget export renders while its filters load.
14
+ *
15
+ * @internal
16
+ */
17
+ export function useScheduledExportActions() {
18
+ return (useContext(ScheduledExportActionsContext) ??
19
+ missingScheduledExportStateProvider("useScheduledExportActions"));
20
+ }
@@ -0,0 +1,25 @@
1
+ import { type useScheduledEmailFormState } from "./useScheduledEmailFormState.js";
2
+ /**
3
+ * The scheduled-export dialog's recipient defaults: the logged-in user as a recipient, and the
4
+ * recipient a new schedule is seeded with, which an external-recipient override replaces.
5
+ *
6
+ * Changes when the current user or the override changes, so not while the draft is edited. Two
7
+ * members is the whole of it: this dialog loads no execution data. The shape is derived from
8
+ * `useScheduledEmailFormState`, which owns these values.
9
+ *
10
+ * @internal
11
+ */
12
+ export type IScheduledExportDataContextValue = Pick<ReturnType<typeof useScheduledEmailFormState>, "defaultUser" | "defaultRecipient">;
13
+ export declare const ScheduledExportDataContextProvider: import("react").Provider<IScheduledExportDataContextValue | undefined>;
14
+ /**
15
+ * Reads the scheduled-export dialog's recipient defaults.
16
+ *
17
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
18
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
19
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
20
+ * ordinary path here: a widget export renders while its filters load.
21
+ *
22
+ * @internal
23
+ */
24
+ export declare function useScheduledExportData(): IScheduledExportDataContextValue;
25
+ //# sourceMappingURL=ScheduledExportDataContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduledExportDataContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,MAAM,gCAAgC,GAAG,IAAI,CAC/C,UAAU,CAAC,OAAO,0BAA0B,CAAC,EAC7C,aAAa,GAAG,kBAAkB,CACrC,CAAC;AAKF,eAAO,MAAM,kCAAkC,wEAAsC,CAAC;AAEtF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,gCAAgC,CAKzE"}
@@ -0,0 +1,20 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { createContext, useContext } from "react";
3
+ import { missingScheduledExportStateProvider } from "./missingScheduledExportStateProvider.js";
4
+ const ScheduledExportDataContext = createContext(undefined);
5
+ ScheduledExportDataContext.displayName = "ScheduledExportDataContext";
6
+ export const ScheduledExportDataContextProvider = ScheduledExportDataContext.Provider;
7
+ /**
8
+ * Reads the scheduled-export dialog's recipient defaults.
9
+ *
10
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
11
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
12
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
13
+ * ordinary path here: a widget export renders while its filters load.
14
+ *
15
+ * @internal
16
+ */
17
+ export function useScheduledExportData() {
18
+ return (useContext(ScheduledExportDataContext) ??
19
+ missingScheduledExportStateProvider("useScheduledExportData"));
20
+ }
@@ -0,0 +1,25 @@
1
+ import { type useScheduledEmailFormState } from "./useScheduledEmailFormState.js";
2
+ /**
3
+ * The scheduled-export dialog's edit draft: the automation being edited, the baseline it is
4
+ * compared against for the submit gate, the normalized start date, and the per-field validity
5
+ * flags the form fields report back.
6
+ *
7
+ * Changes on every keystroke; consumers re-render by design. The shape is derived from
8
+ * `useScheduledEmailFormState`, which owns these values.
9
+ *
10
+ * @internal
11
+ */
12
+ export type IScheduledExportDraftContextValue = Pick<ReturnType<typeof useScheduledEmailFormState>, "editedAutomation" | "originalAutomation" | "startDate" | "isCronValid" | "isTitleValid" | "isSubjectValid" | "isOnMessageValid">;
13
+ export declare const ScheduledExportDraftContextProvider: import("react").Provider<IScheduledExportDraftContextValue | undefined>;
14
+ /**
15
+ * Reads the scheduled-export dialog's edit draft.
16
+ *
17
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
18
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
19
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
20
+ * ordinary path here: a widget export renders while its filters load.
21
+ *
22
+ * @internal
23
+ */
24
+ export declare function useScheduledExportDraft(): IScheduledExportDraftContextValue;
25
+ //# sourceMappingURL=ScheduledExportDraftContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduledExportDraftContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,MAAM,iCAAiC,GAAG,IAAI,CAChD,UAAU,CAAC,OAAO,0BAA0B,CAAC,EAC3C,kBAAkB,GAClB,oBAAoB,GACpB,WAAW,GACX,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,kBAAkB,CACvB,CAAC;AAKF,eAAO,MAAM,mCAAmC,yEAAuC,CAAC;AAExF;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,IAAI,iCAAiC,CAK3E"}
@@ -0,0 +1,20 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { createContext, useContext } from "react";
3
+ import { missingScheduledExportStateProvider } from "./missingScheduledExportStateProvider.js";
4
+ const ScheduledExportDraftContext = createContext(undefined);
5
+ ScheduledExportDraftContext.displayName = "ScheduledExportDraftContext";
6
+ export const ScheduledExportDraftContextProvider = ScheduledExportDraftContext.Provider;
7
+ /**
8
+ * Reads the scheduled-export dialog's edit draft.
9
+ *
10
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
11
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
12
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
13
+ * ordinary path here: a widget export renders while its filters load.
14
+ *
15
+ * @internal
16
+ */
17
+ export function useScheduledExportDraft() {
18
+ return (useContext(ScheduledExportDraftContext) ??
19
+ missingScheduledExportStateProvider("useScheduledExportDraft"));
20
+ }
@@ -0,0 +1,26 @@
1
+ import { type useScheduledEmailFiltersModel } from "./useScheduledEmailFiltersModel.js";
2
+ /**
3
+ * The scheduled-export dialog's filter and export-parameter model: the current selection and the
4
+ * available filters, flat and per-tab, the handlers that mutate them and mirror the result into the
5
+ * draft, the store-filters toggle, the staleness gate that opens the apply-current-filters dialog,
6
+ * and the parameter chips with their add, change, delete and apply-latest handlers.
7
+ *
8
+ * The model's whole return is the context value rather than a selection from it, because the model
9
+ * is the unit a replacement reads: a member cannot be dropped from it.
10
+ *
11
+ * @internal
12
+ */
13
+ export type IScheduledExportFiltersContextValue = ReturnType<typeof useScheduledEmailFiltersModel>;
14
+ export declare const ScheduledExportFiltersContextProvider: import("react").Provider<import("./useScheduledEmailFiltersModel.js").IUseScheduledEmailFiltersModel | undefined>;
15
+ /**
16
+ * Reads the scheduled-export dialog's filter and export-parameter model.
17
+ *
18
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
19
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
20
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
21
+ * ordinary path here: a widget export renders while its filters load.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare function useScheduledExportFilters(): IScheduledExportFiltersContextValue;
26
+ //# sourceMappingURL=ScheduledExportFiltersContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduledExportFiltersContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAExF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mCAAmC,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAOnG,eAAO,MAAM,qCAAqC,mHAAyC,CAAC;AAE5F;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,mCAAmC,CAK/E"}
@@ -0,0 +1,20 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { createContext, useContext } from "react";
3
+ import { missingScheduledExportStateProvider } from "./missingScheduledExportStateProvider.js";
4
+ const ScheduledExportFiltersContext = createContext(undefined);
5
+ ScheduledExportFiltersContext.displayName = "ScheduledExportFiltersContext";
6
+ export const ScheduledExportFiltersContextProvider = ScheduledExportFiltersContext.Provider;
7
+ /**
8
+ * Reads the scheduled-export dialog's filter and export-parameter model.
9
+ *
10
+ * Throws outside the scheduled-export dialog's state providers, which mount only once
11
+ * `useScheduledEmailDialogContext().isLoading` is false — a replacement for
12
+ * `ScheduledEmailDialogComponent` must check that flag before calling this. That state is on the
13
+ * ordinary path here: a widget export renders while its filters load.
14
+ *
15
+ * @internal
16
+ */
17
+ export function useScheduledExportFilters() {
18
+ return (useContext(ScheduledExportFiltersContext) ??
19
+ missingScheduledExportStateProvider("useScheduledExportFilters"));
20
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportDefinitions.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/exportDefinitions.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,yCAAyC,EAC9C,KAAK,4CAA4C,EACjD,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAE5B,MAAM,qBAAqB,CAAC;AAI7B;;;;GAIG;AACH,wBAAgB,4BAA4B,CACxC,UAAU,EAAE,mCAAmC,EAC/C,iBAAiB,EAAE,WAAW,CAAC,mCAAmC,CAAC,mBAAmB,CAAC,CAAC,EACxF,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,GAAG,SAAS,GACzE,mCAAmC,CAGrC;AAED,wBAAgB,oDAAoD,CAAC,EACjE,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,UAAU,EACb,EAAE;IACC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACnD,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,yCAAyC,CAyB5C;AAED,wBAAgB,iDAAiD,CAAC,EAC9D,OAAO,EACP,MAAM,EACN,WAAW,EACX,MAAM,EACN,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACtB,EAAE;IACC,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,wBAAwB,CAAC,EAAE,OAAO,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,kBAAkB,CAAC,EAAE,4CAA4C,CAAC,UAAU,CAAC,CAAC;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC,GAAG,yCAAyC,CAiE5C"}
@@ -1,6 +1,6 @@
1
1
  // (C) 2019-2026 GoodData Corporation
2
2
  import { insightProperties, } from "@gooddata/sdk-model";
3
- import { setExportParametersByTab } from "../../../../../_staging/automation/index.js";
3
+ import { setExportParametersByTab } from "../../../../_staging/automation/index.js";
4
4
  /**
5
5
  * Rebuilds the export definitions and re-applies the parameter wire (fresh definitions carry no
6
6
  * `content.parametersByTab`). The wire is passed in rather than read off `automation` so it survives
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The single error every scheduled-export dialog state accessor throws when no provider is above it.
3
+ *
4
+ * @internal
5
+ */
6
+ export declare function missingScheduledExportStateProvider(accessor: string): never;
7
+ //# sourceMappingURL=missingScheduledExportStateProvider.d.ts.map