@gooddata/sdk-ui-dashboard 11.51.0-alpha.2 → 11.51.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 (179) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/assets/timezone.svg +1 -0
  4. package/esm/index.d.ts +6 -2
  5. package/esm/index.d.ts.map +1 -1
  6. package/esm/index.js +5 -2
  7. package/esm/model/react/useWidgetExecConfig.d.ts +9 -0
  8. package/esm/model/react/useWidgetExecConfig.d.ts.map +1 -1
  9. package/esm/model/react/useWidgetExecConfig.js +21 -3
  10. package/esm/model/store/config/configSelectors.d.ts +6 -0
  11. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  12. package/esm/model/store/config/configSelectors.js +8 -0
  13. package/esm/model/store/meta/metaSelectors.d.ts +12 -0
  14. package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
  15. package/esm/model/store/meta/metaSelectors.js +19 -1
  16. package/esm/presentation/automations/connectors/ScheduledEmailConnector.d.ts.map +1 -1
  17. package/esm/presentation/automations/connectors/ScheduledEmailConnector.js +30 -32
  18. package/esm/presentation/automations/connectors/ScheduledEmailConnector.test.js +90 -9
  19. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.d.ts +8 -1
  20. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.d.ts.map +1 -1
  21. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.js +12 -3
  22. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.js +38 -8
  23. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.d.ts +6 -1
  24. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.d.ts.map +1 -1
  25. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.js +6 -1
  26. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.test.js +7 -1
  27. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.d.ts +22 -3
  28. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.d.ts.map +1 -1
  29. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.js +3 -2
  30. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.d.ts +9 -2
  31. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.d.ts.map +1 -1
  32. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.js +2 -2
  33. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts +7 -2
  34. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts.map +1 -1
  35. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +1 -1
  36. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  37. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +9 -11
  38. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +6 -12
  39. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
  40. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +5 -1
  41. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts +1 -1
  42. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
  43. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +2 -2
  44. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.d.ts +1 -3
  45. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.d.ts.map +1 -1
  46. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.js +2 -2
  47. package/esm/presentation/automations/scheduledEmail/types.d.ts +35 -5
  48. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  49. package/esm/presentation/dashboard/components/DashboardLoading.js +1 -1
  50. package/esm/presentation/dashboardContexts/useSlideData.d.ts +5 -10
  51. package/esm/presentation/dashboardContexts/useSlideData.d.ts.map +1 -1
  52. package/esm/presentation/dashboardContexts/useSlideData.js +16 -10
  53. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.d.ts.map +1 -1
  54. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js +29 -8
  55. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts.map +1 -1
  56. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js +3 -5
  57. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts.map +1 -1
  58. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js +3 -5
  59. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/ExportableDashboardLayoutSectionRenderer.d.ts +1 -1
  60. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/ExportableDashboardLayoutSectionRenderer.d.ts.map +1 -1
  61. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/ExportableDashboardLayoutSectionRenderer.js +2 -5
  62. package/esm/presentation/insightList/InsightList.d.ts.map +1 -1
  63. package/esm/presentation/insightList/InsightList.js +4 -5
  64. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +11 -0
  65. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  66. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +11 -0
  67. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +11 -0
  68. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  69. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +11 -0
  70. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +11 -0
  71. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  72. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +11 -0
  73. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +4 -0
  74. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  75. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +4 -0
  76. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +11 -0
  77. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  78. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +11 -0
  79. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +11 -0
  80. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  81. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +11 -0
  82. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +11 -0
  83. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  84. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +11 -0
  85. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +11 -0
  86. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  87. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +11 -0
  88. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +11 -0
  89. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  90. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +11 -0
  91. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +11 -0
  92. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  93. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +11 -0
  94. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +11 -0
  95. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  96. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +11 -0
  97. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +11 -0
  98. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  99. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +11 -0
  100. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +11 -0
  101. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  102. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +11 -0
  103. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +11 -0
  104. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  105. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +11 -0
  106. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +11 -0
  107. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  108. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +11 -0
  109. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +11 -0
  110. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  111. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +11 -0
  112. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +11 -0
  113. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  114. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +11 -0
  115. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +11 -0
  116. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  117. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +11 -0
  118. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +11 -0
  119. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  120. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +11 -0
  121. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +11 -0
  122. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  123. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +11 -0
  124. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +11 -0
  125. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  126. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +11 -0
  127. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +11 -0
  128. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  129. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +13 -2
  130. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +11 -0
  131. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  132. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +11 -0
  133. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +11 -0
  134. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  135. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +11 -0
  136. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +11 -0
  137. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  138. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +11 -0
  139. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +11 -0
  140. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  141. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +12 -1
  142. package/esm/presentation/topBar/timezoneIndicator/DefaultTimezoneIndicator.d.ts +10 -0
  143. package/esm/presentation/topBar/timezoneIndicator/DefaultTimezoneIndicator.d.ts.map +1 -0
  144. package/esm/presentation/topBar/timezoneIndicator/DefaultTimezoneIndicator.js +19 -0
  145. package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.d.ts +13 -0
  146. package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.d.ts.map +1 -0
  147. package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.js +27 -0
  148. package/esm/presentation/topBar/timezoneIndicator/resolveDashboardTimezoneInfo.d.ts +13 -0
  149. package/esm/presentation/topBar/timezoneIndicator/resolveDashboardTimezoneInfo.d.ts.map +1 -0
  150. package/esm/presentation/topBar/timezoneIndicator/resolveDashboardTimezoneInfo.js +20 -0
  151. package/esm/presentation/topBar/timezoneIndicator/types.d.ts +47 -0
  152. package/esm/presentation/topBar/timezoneIndicator/types.d.ts.map +1 -0
  153. package/esm/presentation/topBar/timezoneIndicator/types.js +2 -0
  154. package/esm/presentation/topBar/topBar/DefaultTopBar.d.ts.map +1 -1
  155. package/esm/presentation/topBar/topBar/DefaultTopBar.js +15 -4
  156. package/esm/presentation/topBar/topBar/types.d.ts +2 -0
  157. package/esm/presentation/topBar/topBar/types.d.ts.map +1 -1
  158. package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.d.ts.map +1 -1
  159. package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.js +3 -5
  160. package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.d.ts.map +1 -1
  161. package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.js +3 -6
  162. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +3 -5
  163. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.d.ts.map +1 -1
  164. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.js +3 -6
  165. package/esm/presentation/widget/richText/EditModeDashboardRichText.d.ts.map +1 -1
  166. package/esm/presentation/widget/richText/EditModeDashboardRichText.js +3 -5
  167. package/esm/presentation/widget/richText/ViewModeDashboardRichText.d.ts.map +1 -1
  168. package/esm/presentation/widget/richText/ViewModeDashboardRichText.js +3 -5
  169. package/esm/sdk-ui-dashboard.d.ts +162 -10
  170. package/package.json +21 -21
  171. package/styles/css/main.css +28 -1
  172. package/styles/css/main.css.map +1 -1
  173. package/styles/css/timezoneIndicator.css +20 -0
  174. package/styles/css/timezoneIndicator.css.map +1 -0
  175. package/styles/css/topBar.css +9 -1
  176. package/styles/css/topBar.css.map +1 -1
  177. package/styles/scss/main.scss +1 -0
  178. package/styles/scss/timezoneIndicator.scss +23 -0
  179. package/styles/scss/topBar.scss +13 -2
@@ -10,9 +10,9 @@ import { useRichTextWidgetFilters } from "../../../_staging/sharedHooks/useRichT
10
10
  import { eagerRemoveSectionItemByWidgetRef } from "../../../model/commands/layout.js";
11
11
  import { changeRichTextWidgetContent } from "../../../model/commands/richText.js";
12
12
  import { useDashboardDispatch, useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
13
+ import { useDashboardExecConfig } from "../../../model/react/useWidgetExecConfig.js";
13
14
  import { useWidgetSelection } from "../../../model/react/useWidgetSelection.js";
14
15
  import { selectIsWhiteLabeled, selectSeparators } from "../../../model/store/config/configSelectors.js";
15
- import { selectExecutionTimestamp } from "../../../model/store/ui/uiSelectors.js";
16
16
  import { DASHBOARD_OVERLAYS_FILTER_Z_INDEX } from "../../../presentation/constants/zIndex.js";
17
17
  import { useDashboardComponentsContext } from "../../dashboardContexts/DashboardComponentsContext.js";
18
18
  import { useEditableRichTextMenu } from "./useEditableRichTextMenu.js";
@@ -25,7 +25,7 @@ export function EditModeDashboardRichText({ widget, clientWidth, clientHeight })
25
25
  const previousIsSelected = usePrevious(isSelected);
26
26
  const isWhiteLabeled = useDashboardSelector(selectIsWhiteLabeled);
27
27
  const intl = useIntl();
28
- const executionTimestamp = useDashboardSelector(selectExecutionTimestamp);
28
+ const execConfig = useDashboardExecConfig();
29
29
  const { menuItems } = useEditableRichTextMenu({ closeMenu: closeConfigPanel, widget });
30
30
  const { filters } = useRichTextWidgetFilters(widget);
31
31
  const separators = useDashboardSelector(selectSeparators);
@@ -56,7 +56,5 @@ export function EditModeDashboardRichText({ widget, clientWidth, clientHeight })
56
56
  clientWidth > 250 &&
57
57
  typeof clientHeight !== "undefined" &&
58
58
  clientHeight > 150;
59
- return (_jsxs(_Fragment, { children: [hasConfigPanelOpen ? (_jsx(RichTextMenuComponent, { widget: widget, isOpen: hasConfigPanelOpen, onClose: closeConfigPanel, items: menuItems })) : null, _jsx(RichText, { referencesEnabled: true, filters: filters, separators: separators, className: "gd-rich-text-widget", value: richText, onChange: setRichText, renderMode: isRichTextEditing ? "edit" : "view", emptyElement: EmptyElement, LoadingComponent: LoadingComponent, execConfig: {
60
- timestamp: executionTimestamp,
61
- } }), isRichTextEditing && showLink ? (_jsx("div", { className: "gd-rich-text-widget-footer", children: _jsx("div", { className: "gd-rich-text-footer-options", children: showLink ? (_jsx("a", { className: "gd-button-link-dimmed gd-icon-circle-question", href: "https://www.gooddata.com/docs/cloud/create-dashboards/rich-text/", rel: "noopener noreferrer", target: "_blank", children: _jsx(FormattedMessage, { id: "richText.formattingOptions" }) })) : null }) })) : null, isConfirmDeleteDialogVisible ? (_jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(ConfirmDialog, { className: "s-rich-text-remove-confirm-dialog", onSubmit: () => dispatch(eagerRemoveSectionItemByWidgetRef(widget.ref)), onCancel: () => setIsConfirmDeleteDialogVisible(false), headline: intl.formatMessage({ id: "richText.deleteDialog.header" }), submitButtonText: intl.formatMessage({ id: "delete" }), cancelButtonText: intl.formatMessage({ id: "cancel" }), children: _jsx(FormattedMessage, { id: "richText.deleteDialog.message" }) }) })) : null] }));
59
+ return (_jsxs(_Fragment, { children: [hasConfigPanelOpen ? (_jsx(RichTextMenuComponent, { widget: widget, isOpen: hasConfigPanelOpen, onClose: closeConfigPanel, items: menuItems })) : null, _jsx(RichText, { referencesEnabled: true, filters: filters, separators: separators, className: "gd-rich-text-widget", value: richText, onChange: setRichText, renderMode: isRichTextEditing ? "edit" : "view", emptyElement: EmptyElement, LoadingComponent: LoadingComponent, execConfig: execConfig }), isRichTextEditing && showLink ? (_jsx("div", { className: "gd-rich-text-widget-footer", children: _jsx("div", { className: "gd-rich-text-footer-options", children: showLink ? (_jsx("a", { className: "gd-button-link-dimmed gd-icon-circle-question", href: "https://www.gooddata.com/docs/cloud/create-dashboards/rich-text/", rel: "noopener noreferrer", target: "_blank", children: _jsx(FormattedMessage, { id: "richText.formattingOptions" }) })) : null }) })) : null, isConfirmDeleteDialogVisible ? (_jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(ConfirmDialog, { className: "s-rich-text-remove-confirm-dialog", onSubmit: () => dispatch(eagerRemoveSectionItemByWidgetRef(widget.ref)), onCancel: () => setIsConfirmDeleteDialogVisible(false), headline: intl.formatMessage({ id: "richText.deleteDialog.header" }), submitButtonText: intl.formatMessage({ id: "delete" }), cancelButtonText: intl.formatMessage({ id: "cancel" }), children: _jsx(FormattedMessage, { id: "richText.deleteDialog.message" }) }) })) : null] }));
62
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ViewModeDashboardRichText.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/richText/ViewModeDashboardRichText.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACtC,MAAM,EACN,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACV,EAAE,uBAAuB,2CAwDzB"}
1
+ {"version":3,"file":"ViewModeDashboardRichText.d.ts","sourceRoot":"","sources":["../../../../src/presentation/widget/richText/ViewModeDashboardRichText.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACtC,MAAM,EACN,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACV,EAAE,uBAAuB,2CAsDzB"}
@@ -4,11 +4,11 @@ import { useIntl } from "react-intl";
4
4
  import { RichText } from "@gooddata/sdk-ui-kit";
5
5
  import { useRichTextWidgetFilters } from "../../../_staging/sharedHooks/useRichTextFilters.js";
6
6
  import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
7
+ import { useDashboardExecConfig } from "../../../model/react/useWidgetExecConfig.js";
7
8
  import { selectSeparators } from "../../../model/store/config/configSelectors.js";
8
9
  import { DASHBOARD_SUMMARY_MACRO } from "../../../model/store/dashboardSummaryWorkflow/constants.js";
9
10
  import { selectCurrentDashboardSummaryWorkflowStatus } from "../../../model/store/dashboardSummaryWorkflow/dashboardSummaryWorkflowSelectors.js";
10
11
  import { selectCurrentDashboardSummary } from "../../../model/store/listedDashboards/listedDashboardsSummarySelectors.js";
11
- import { selectExecutionTimestamp } from "../../../model/store/ui/uiSelectors.js";
12
12
  import { useDashboardComponentsContext } from "../../dashboardContexts/DashboardComponentsContext.js";
13
13
  /**
14
14
  * @internal
@@ -43,11 +43,9 @@ export function ViewModeDashboardRichText({ widget, richTextExportData, onLoadin
43
43
  })();
44
44
  const raw = widget?.content ?? "";
45
45
  const value = raw.split(DASHBOARD_SUMMARY_MACRO).join(summaryWorkflowReplaceString);
46
- const executionTimestamp = useDashboardSelector(selectExecutionTimestamp);
46
+ const execConfig = useDashboardExecConfig();
47
47
  return (_jsx(RichText, { referencesEnabled: true, className: "gd-rich-text-widget", value: value, filters: filters, separators: separators, renderMode: "view", rawContent: {
48
48
  show: !!richTextExportData,
49
49
  dataAttributes: richTextExportData?.markdown,
50
- }, execConfig: {
51
- timestamp: executionTimestamp,
52
- }, onLoadingChanged: onLoadingChanged, onError: onError, LoadingComponent: LoadingComponent }));
50
+ }, execConfig: execConfig, onLoadingChanged: onLoadingChanged, onError: onError, LoadingComponent: LoadingComponent }));
53
51
  }
@@ -4025,7 +4025,7 @@ export declare function DefaultScheduledEmailDialog(props: IScheduledEmailDialog
4025
4025
  /**
4026
4026
  * @alpha
4027
4027
  */
4028
- export declare function DefaultScheduledEmailManagementDialog({ onAdd, onEdit, onClose, isLoadingScheduleData, automations }: IScheduledEmailManagementDialogProps): JSX.Element;
4028
+ export declare function DefaultScheduledEmailManagementDialog({ onAdd, onEdit, onClose }: IScheduledEmailManagementDialogProps): JSX.Element;
4029
4029
 
4030
4030
  /**
4031
4031
  * @internal
@@ -4052,6 +4052,14 @@ export declare function DefaultShareStatus(props: IShareStatusProps): ReactEleme
4052
4052
  */
4053
4053
  export declare function DefaultShowAsTableButton(props: IShowAsTableButtonProps): ReactElement;
4054
4054
 
4055
+ /**
4056
+ * Renders the time zone indicator only when the dashboard timezone feature is enabled
4057
+ * and the dashboard is in view mode.
4058
+ *
4059
+ * @alpha
4060
+ */
4061
+ export declare function DefaultTimezoneIndicator(props: ITimezoneIndicatorProps): ReactElement | null;
4062
+
4055
4063
  /**
4056
4064
  * @alpha
4057
4065
  */
@@ -12036,6 +12044,30 @@ export declare interface IDashboardThemingProps {
12036
12044
  themeModifier?: (theme: ITheme) => ITheme;
12037
12045
  }
12038
12046
 
12047
+ /**
12048
+ * Resolved timezone information effective on the dashboard.
12049
+ *
12050
+ * @alpha
12051
+ */
12052
+ export declare interface IDashboardTimezoneInfo {
12053
+ /**
12054
+ * Concrete IANA timezone ID (e.g. "Europe/Prague"); the browser-detected sentinel is already
12055
+ * resolved.
12056
+ */
12057
+ timezoneId: string;
12058
+ /**
12059
+ * Friendly timezone name (e.g. "Prague"). This is the only value the default indicator shows
12060
+ * in its badge label.
12061
+ */
12062
+ name: string;
12063
+ /**
12064
+ * UTC offset label (e.g. "GMT+02:00"). The default indicator does NOT show the offset in the
12065
+ * badge label — it only appears in the hover tooltip. The value is provided so that custom
12066
+ * top bar / indicator renderings can display it.
12067
+ */
12068
+ offsetLabel: string;
12069
+ }
12070
+
12039
12071
  /**
12040
12072
  * This event is emitted after the user interaction that cannot be tracked by other existing events
12041
12073
  * is triggered.
@@ -16802,6 +16834,10 @@ export declare interface IScheduledEmailDialogContextValue {
16802
16834
  widgetTitle?: string;
16803
16835
  dashboardId?: string;
16804
16836
  dashboardTitle: string;
16837
+ /**
16838
+ * Dashboard filters the export will use: the saved filters when editing, otherwise the currently
16839
+ * applied dashboard filters with hidden filters resolved.
16840
+ */
16805
16841
  dashboardFilters?: FilterContextItem[];
16806
16842
  /**
16807
16843
  * Raw dashboard hidden filters (selectDashboardHiddenFilters). Combined with edited filters via
@@ -16835,6 +16871,19 @@ export declare interface IScheduledEmailDialogContextValue {
16835
16871
  createScheduledEmail(se: IAutomationMetadataObjectDefinition): Promise<IAutomationMetadataObject>;
16836
16872
  saveScheduledEmail(se: IAutomationMetadataObject): Promise<IAutomationMetadataObject>;
16837
16873
  deleteScheduledEmail(se: IAutomationMetadataObject): Promise<void>;
16874
+ /** The scheduled export being edited; undefined when creating a new one. */
16875
+ scheduledExportToEdit?: IAutomationMetadataObject;
16876
+ /**
16877
+ * Workspace users available as scheduled-export recipients. Loaded only while the create/edit dialog
16878
+ * is mounted, so opening the management dialog alone does not trigger the load.
16879
+ */
16880
+ users: IWorkspaceUser[];
16881
+ /** Error from loading workspace users, if any. */
16882
+ usersError?: GoodDataSdkError;
16883
+ /** Notification channels available as scheduled-export destinations. */
16884
+ notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
16885
+ /** True while the dialog's initial data (automations, workspace users) is still loading. */
16886
+ isLoading: boolean;
16838
16887
  }
16839
16888
 
16840
16889
  /**
@@ -16843,20 +16892,29 @@ export declare interface IScheduledEmailDialogContextValue {
16843
16892
  export declare interface IScheduledEmailDialogProps {
16844
16893
  /**
16845
16894
  * In case, we are not creating new schedule, but editing existing one, this is the active schedule to be edited.
16895
+ *
16896
+ * @deprecated read `scheduledExportToEdit` from `useScheduledEmailDialogContext()` instead. Prop will be removed.
16846
16897
  */
16847
16898
  scheduledExportToEdit?: IAutomationMetadataObject;
16848
16899
  /**
16849
16900
  * Users in workspace
16901
+ *
16902
+ * @deprecated read `users` from `useScheduledEmailDialogContext()` instead. Prop will be removed.
16850
16903
  */
16851
- users: IWorkspaceUser[];
16904
+ users?: IWorkspaceUser[];
16852
16905
  /**
16853
16906
  * Error occurred while loading users
16907
+ *
16908
+ * @deprecated read `usersError` from `useScheduledEmailDialogContext()` instead. Prop will be removed.
16854
16909
  */
16855
16910
  usersError?: GoodDataSdkError;
16856
16911
  /**
16857
16912
  * Notification channels in organization
16913
+ *
16914
+ * @deprecated read `notificationChannels` from `useScheduledEmailDialogContext()` instead.
16915
+ * Prop will be removed.
16858
16916
  */
16859
- notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
16917
+ notificationChannels?: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
16860
16918
  /**
16861
16919
  * Widget to be used for scheduled email.
16862
16920
  *
@@ -16864,12 +16922,16 @@ export declare interface IScheduledEmailDialogProps {
16864
16922
  * Typed as IWidget (not ExtendedDashboardWidget) because the dialog only
16865
16923
  * supports insight widgets; custom widgets and nested layouts are not valid
16866
16924
  * export targets and were silently discarded at the connector boundary anyway.
16925
+ *
16926
+ * @deprecated read `widget` from `useScheduledEmailDialogContext()` instead. Prop will be removed.
16867
16927
  */
16868
16928
  widget?: IWidget;
16869
16929
  /**
16870
16930
  * Insight to be used for scheduled email.
16871
16931
  *
16872
16932
  * Note: this is available only when scheduling export for widget, not dashboard.
16933
+ *
16934
+ * @deprecated read `insight` from `useScheduledEmailDialogContext()` instead. Prop will be removed.
16873
16935
  */
16874
16936
  insight?: IInsight;
16875
16937
  /**
@@ -16883,6 +16945,8 @@ export declare interface IScheduledEmailDialogProps {
16883
16945
  * the export reflects the latest intended filter configuration and we don't want to save them.
16884
16946
  *
16885
16947
  * - If we are editing an existing scheduled export, this will contain its filters, as changing saved filters is currently not allowed.
16948
+ *
16949
+ * @deprecated read `dashboardFilters` from `useScheduledEmailDialogContext()` instead. Prop will be removed.
16886
16950
  */
16887
16951
  dashboardFilters?: FilterContextItem[];
16888
16952
  /**
@@ -16895,10 +16959,15 @@ export declare interface IScheduledEmailDialogProps {
16895
16959
  * - If the resulting filters include all-time date filter, it is excluded as it has no effect on the scheduled export execution.
16896
16960
  *
16897
16961
  * - If we are editing an existing scheduled export, this will contain its filters, as changing saved filters is currently not allowed.
16962
+ *
16963
+ * @deprecated not read by the default dialog; the effective widget filters are derived from the
16964
+ * edited filters. Prop will be removed.
16898
16965
  */
16899
16966
  widgetFilters?: IFilter[];
16900
16967
  /**
16901
16968
  * Is scheduled email dialog loading initial data, before it can be rendered?
16969
+ *
16970
+ * @deprecated read `isLoading` from `useScheduledEmailDialogContext()` instead. Prop will be removed.
16902
16971
  */
16903
16972
  isLoading?: boolean;
16904
16973
  /**
@@ -16993,6 +17062,12 @@ export declare interface IScheduledEmailManagementDialogContextValue {
16993
17062
  * max-automations limit is not enforced.
16994
17063
  */
16995
17064
  unlimitedAutomations: boolean;
17065
+ /**
17066
+ * Scheduled exports visible in the management dialog, scoped to the current dashboard context.
17067
+ */
17068
+ automations: IAutomationMetadataObject[];
17069
+ /** True while the automation list is still loading. */
17070
+ isLoading: boolean;
16996
17071
  }
16997
17072
 
16998
17073
  /**
@@ -17002,20 +17077,30 @@ export declare interface IScheduledEmailManagementDialogContextValue {
17002
17077
  export declare interface IScheduledEmailManagementDialogProps {
17003
17078
  /**
17004
17079
  * Is loading schedule data?
17080
+ *
17081
+ * @deprecated read `isLoading` from `useScheduledEmailManagementDialogContext()` instead. Prop will
17082
+ * be removed.
17005
17083
  */
17006
- isLoadingScheduleData: boolean;
17084
+ isLoadingScheduleData?: boolean;
17007
17085
  /**
17008
17086
  * Error occurred while loading schedule data?
17087
+ *
17088
+ * @deprecated not read by the default dialog. Prop will be removed.
17009
17089
  */
17010
17090
  scheduleDataError?: GoodDataSdkError;
17011
17091
  /**
17012
17092
  * Notification channels in organization
17093
+ *
17094
+ * @deprecated not read by the default dialog. Prop will be removed.
17013
17095
  */
17014
- notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
17096
+ notificationChannels?: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
17015
17097
  /**
17016
17098
  * Automations in workspace
17099
+ *
17100
+ * @deprecated read `automations` from `useScheduledEmailManagementDialogContext()` instead. Prop
17101
+ * will be removed.
17017
17102
  */
17018
- automations: IAutomationMetadataObject[];
17103
+ automations?: IAutomationMetadataObject[];
17019
17104
  /**
17020
17105
  * Callback to be called, when user adds new scheduled email item.
17021
17106
  */
@@ -19303,6 +19388,29 @@ export declare interface ITabState {
19303
19388
  isRenaming?: boolean;
19304
19389
  }
19305
19390
 
19391
+ /**
19392
+ * @alpha
19393
+ */
19394
+ export declare interface ITimezoneIndicatorProps {
19395
+ /**
19396
+ * Dashboard timezone configuration driving the indicator visibility.
19397
+ */
19398
+ timezoneConfig?: IDashboardTimezoneConfig;
19399
+ /**
19400
+ * Effective workspace/organization timezone used when
19401
+ * {@link ITimezoneIndicatorProps.timezoneConfig} does not define an explicit timezone ID.
19402
+ */
19403
+ defaultTimezone?: string;
19404
+ /**
19405
+ * Resolved timezone information. The default indicator renders only
19406
+ * {@link IDashboardTimezoneInfo.name} in the badge; {@link IDashboardTimezoneInfo.offsetLabel}
19407
+ * is shown in the tooltip and exposed here for custom renderings. When not provided, the
19408
+ * indicator resolves the information from {@link ITimezoneIndicatorProps.timezoneConfig} and
19409
+ * {@link ITimezoneIndicatorProps.defaultTimezone}.
19410
+ */
19411
+ timezone?: IDashboardTimezoneInfo;
19412
+ }
19413
+
19306
19414
  /**
19307
19415
  * Set of functions you can use to customize some aspects of the Title.
19308
19416
  *
@@ -19505,6 +19613,7 @@ export declare interface ITopBarProps {
19505
19613
  buttonBarProps: IButtonBarProps;
19506
19614
  shareStatusProps: IShareStatusProps;
19507
19615
  lockedStatusProps: ILockedStatusProps;
19616
+ timezoneIndicatorProps?: ITimezoneIndicatorProps;
19508
19617
  DefaultTopBar: CustomTopBarComponent;
19509
19618
  }
19510
19619
 
@@ -22348,6 +22457,17 @@ export declare type ResolveAsyncRenderPayload = {
22348
22457
  readonly id: string;
22349
22458
  };
22350
22459
 
22460
+ /**
22461
+ * Resolves the dashboard timezone configuration to displayable timezone information: a concrete
22462
+ * IANA timezone ID, the friendly name and the UTC offset label.
22463
+ *
22464
+ * Falls back to the effective workspace/organization timezone when the timezone is not explicitly
22465
+ * configured.
22466
+ *
22467
+ * @alpha
22468
+ */
22469
+ export declare function resolveDashboardTimezoneInfo(timezoneConfig: IDashboardTimezoneConfig | undefined, defaultTimezone?: string): IDashboardTimezoneInfo | undefined;
22470
+
22351
22471
  /**
22352
22472
  * Dashboard configuration resolved using the config passed in via props and any essential data retrieved from
22353
22473
  * backend.
@@ -23962,6 +24082,19 @@ export declare const selectDrillTargetsByWidgetRef: (ref: ObjRef) => DashboardSe
23962
24082
  */
23963
24083
  export declare const selectEffectiveAttributeFiltersModeMap: DashboardSelector<Map<string, DashboardAttributeFilterConfigMode>>;
23964
24084
 
24085
+ /**
24086
+ * Selects the effective dashboard timezone as a concrete IANA timezone ID.
24087
+ *
24088
+ * @remarks
24089
+ * Returns undefined when the dashboard timezone feature is disabled or when the dashboard has no
24090
+ * timezone configured. The browser-detected sentinel is resolved to the browser's IANA timezone
24091
+ * here — this selector is the single place where the sentinel is resolved, so consumers always
24092
+ * receive a concrete timezone ID safe to pass to executions and exports.
24093
+ *
24094
+ * @alpha
24095
+ */
24096
+ export declare const selectEffectiveDashboardTimezone: DashboardSelector<string | undefined>;
24097
+
23965
24098
  /**
23966
24099
  * Returns effective date filter options from. This is created by merging the workspace-level
23967
24100
  * date filter config and the dashboard-level date filter config.
@@ -24131,6 +24264,13 @@ export declare const selectEnableDashboardShareDialogLink: DashboardSelector<boo
24131
24264
  */
24132
24265
  export declare const selectEnableDashboardTabularExport: DashboardSelector<boolean>;
24133
24266
 
24267
+ /**
24268
+ * Returns whether dashboard-level timezone configuration is enabled.
24269
+ *
24270
+ * @alpha
24271
+ */
24272
+ export declare const selectEnableDashboardTimezone: DashboardSelector<boolean>;
24273
+
24134
24274
  /**
24135
24275
  * @internal
24136
24276
  */
@@ -27412,6 +27552,17 @@ type: string;
27412
27552
  */
27413
27553
  export declare type TabsReducer<A extends Action> = CaseReducer<ITabsState, A>;
27414
27554
 
27555
+ /**
27556
+ * Read-only indicator of the time zone effective on the dashboard, shown in the top bar.
27557
+ *
27558
+ * The badge label is the friendly timezone name only (e.g. "Prague"); the UTC offset is shown
27559
+ * only in the hover tooltip and is available via {@link ITimezoneIndicatorProps.timezone} for
27560
+ * custom renderings.
27561
+ *
27562
+ * @alpha
27563
+ */
27564
+ export declare function TimezoneIndicator({ timezoneConfig, defaultTimezone, timezone }: ITimezoneIndicatorProps): ReactElement | null;
27565
+
27415
27566
  /**
27416
27567
  * @internal
27417
27568
  */
@@ -28701,8 +28852,9 @@ export declare function useSaveButtonProps(): ISaveButtonProps;
28701
28852
  * Reads the scheduled-email create/edit dialog context.
28702
28853
  *
28703
28854
  * A replacement for the scheduled-email dialog renders inside this context and reads the dialog's widget
28704
- * and insight, the dashboard filter context and export templates it should apply, and the
28705
- * create/save/delete callbacks from here.
28855
+ * and insight, the dashboard filter context and export templates it should apply, the scheduled export
28856
+ * being edited, the available workspace users and notification channels, and the create/save/delete
28857
+ * callbacks from here.
28706
28858
  *
28707
28859
  * Some members exist to wire internal machinery (`exportParametersByTab`, `widgetLocalIdToTabIdMap`,
28708
28860
  * `commonDateFilterMode`, `dateFiltersModeMap`, `attributeFiltersModeMap`) and are not intended as a
@@ -28716,8 +28868,8 @@ export declare function useScheduledEmailDialogContext(): IScheduledEmailDialogC
28716
28868
  * Reads the scheduled-email management dialog context.
28717
28869
  *
28718
28870
  * A replacement for the scheduled-email management dialog renders inside this context and reads the
28719
- * dashboard it's rendered on and the automations limit (`maxAutomations`, `unlimitedAutomations`) from
28720
- * here.
28871
+ * dashboard it's rendered on, the automations limit (`maxAutomations`, `unlimitedAutomations`), the
28872
+ * scheduled exports to list (`automations`), and whether they are still loading (`isLoading`) from here.
28721
28873
  *
28722
28874
  * Some members exist to wire internal machinery (`automationsInvalidationId`) and are not intended as a
28723
28875
  * customization surface.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-dashboard",
3
- "version": "11.51.0-alpha.2",
3
+ "version": "11.51.0-alpha.3",
4
4
  "description": "GoodData SDK - Dashboard Component",
5
5
  "license": "LicenseRef-LICENSE",
6
6
  "author": "GoodData Corporation",
@@ -60,20 +60,20 @@
60
60
  "ts-invariant": "0.10.3",
61
61
  "tslib": "2.8.1",
62
62
  "uuid": "11.1.1",
63
- "@gooddata/sdk-backend-spi": "11.51.0-alpha.2",
64
- "@gooddata/sdk-backend-base": "11.51.0-alpha.2",
65
- "@gooddata/sdk-model": "11.51.0-alpha.2",
66
- "@gooddata/sdk-ui": "11.51.0-alpha.2",
67
- "@gooddata/sdk-ui-charts": "11.51.0-alpha.2",
68
- "@gooddata/sdk-ui-ext": "11.51.0-alpha.2",
69
- "@gooddata/sdk-ui-filters": "11.51.0-alpha.2",
70
- "@gooddata/sdk-ui-pivot": "11.51.0-alpha.2",
71
- "@gooddata/sdk-ui-geo": "11.51.0-alpha.2",
72
- "@gooddata/sdk-ui-kit": "11.51.0-alpha.2",
73
- "@gooddata/sdk-ui-semantic-search": "11.51.0-alpha.2",
74
- "@gooddata/sdk-ui-theme-provider": "11.51.0-alpha.2",
75
- "@gooddata/sdk-ui-vis-commons": "11.51.0-alpha.2",
76
- "@gooddata/util": "11.51.0-alpha.2"
63
+ "@gooddata/sdk-backend-base": "11.51.0-alpha.3",
64
+ "@gooddata/sdk-backend-spi": "11.51.0-alpha.3",
65
+ "@gooddata/sdk-ui": "11.51.0-alpha.3",
66
+ "@gooddata/sdk-model": "11.51.0-alpha.3",
67
+ "@gooddata/sdk-ui-charts": "11.51.0-alpha.3",
68
+ "@gooddata/sdk-ui-ext": "11.51.0-alpha.3",
69
+ "@gooddata/sdk-ui-filters": "11.51.0-alpha.3",
70
+ "@gooddata/sdk-ui-geo": "11.51.0-alpha.3",
71
+ "@gooddata/sdk-ui-kit": "11.51.0-alpha.3",
72
+ "@gooddata/sdk-ui-pivot": "11.51.0-alpha.3",
73
+ "@gooddata/sdk-ui-theme-provider": "11.51.0-alpha.3",
74
+ "@gooddata/sdk-ui-semantic-search": "11.51.0-alpha.3",
75
+ "@gooddata/sdk-ui-vis-commons": "11.51.0-alpha.3",
76
+ "@gooddata/util": "11.51.0-alpha.3"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@microsoft/api-documenter": "^7.17.0",
@@ -119,12 +119,12 @@
119
119
  "typescript": "5.9.3",
120
120
  "vitest": "4.1.8",
121
121
  "vitest-dom": "0.1.1",
122
- "@gooddata/eslint-config": "11.51.0-alpha.2",
123
- "@gooddata/i18n-toolkit": "11.51.0-alpha.2",
124
- "@gooddata/oxlint-config": "11.51.0-alpha.2",
125
- "@gooddata/reference-workspace": "11.51.0-alpha.2",
126
- "@gooddata/stylelint-config": "11.51.0-alpha.2",
127
- "@gooddata/sdk-backend-mockingbird": "11.51.0-alpha.2"
122
+ "@gooddata/eslint-config": "11.51.0-alpha.3",
123
+ "@gooddata/oxlint-config": "11.51.0-alpha.3",
124
+ "@gooddata/i18n-toolkit": "11.51.0-alpha.3",
125
+ "@gooddata/reference-workspace": "11.51.0-alpha.3",
126
+ "@gooddata/sdk-backend-mockingbird": "11.51.0-alpha.3",
127
+ "@gooddata/stylelint-config": "11.51.0-alpha.3"
128
128
  },
129
129
  "peerDependencies": {
130
130
  "react": "^18.0.0 || ^19.0.0",
@@ -26739,7 +26739,8 @@ figure {
26739
26739
  margin-left: 15px;
26740
26740
  }
26741
26741
  .dash-header-inner .gd-locked-status,
26742
- .dash-header-inner .gd-share-status {
26742
+ .dash-header-inner .gd-share-status,
26743
+ .dash-header-inner .gd-timezone-indicator {
26743
26744
  align-self: flex-end;
26744
26745
  }
26745
26746
  .dash-header-inner .gd-locked-status {
@@ -26749,6 +26750,13 @@ figure {
26749
26750
  .dash-header-inner .gd-share-status {
26750
26751
  padding-bottom: 4px;
26751
26752
  }
26753
+ .dash-header-inner .gd-timezone-indicator {
26754
+ padding-bottom: 4px;
26755
+ margin-left: auto;
26756
+ }
26757
+ .dash-header-inner .gd-timezone-indicator + .dash-control-buttons {
26758
+ margin-left: 0;
26759
+ }
26752
26760
 
26753
26761
  .dash-title-wrapper {
26754
26762
  display: block;
@@ -28173,6 +28181,25 @@ figure {
28173
28181
  vertical-align: middle;
28174
28182
  }
28175
28183
 
28184
+ .gd-timezone-indicator {
28185
+ display: inline-block;
28186
+ }
28187
+ .gd-timezone-indicator .gd-timezone-indicator-content {
28188
+ display: inline-flex;
28189
+ align-items: center;
28190
+ margin-top: 10px;
28191
+ gap: 5px;
28192
+ color: var(--gd-palette-complementary-6, #94a1ad);
28193
+ font-size: 14px;
28194
+ white-space: nowrap;
28195
+ }
28196
+ .gd-timezone-indicator .gd-timezone-indicator-content .gd-timezone-indicator-icon {
28197
+ width: 18px;
28198
+ height: 18px;
28199
+ flex: 0 0 auto;
28200
+ background: url("@gooddata/sdk-ui-dashboard/esm/assets/timezone.svg") no-repeat center/contain;
28201
+ }
28202
+
28176
28203
  .gd-sidebar-container {
28177
28204
  position: sticky;
28178
28205
  top: 0;