@gooddata/sdk-ui-dashboard 11.54.0-alpha.3 → 11.54.0-alpha.5

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 (142) hide show
  1. package/NOTICE +92923 -17333
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/automation/index.d.ts +6 -0
  5. package/esm/_staging/automation/index.d.ts.map +1 -1
  6. package/esm/_staging/automation/index.js +7 -0
  7. package/esm/_staging/dashboard/flexibleLayout/builder/utils.d.ts +45 -0
  8. package/esm/_staging/dashboard/flexibleLayout/builder/utils.d.ts.map +1 -0
  9. package/esm/_staging/dashboard/flexibleLayout/builder/utils.js +54 -0
  10. package/esm/_staging/dateFilterConfig/fixtures.d.ts +10 -0
  11. package/esm/_staging/dateFilterConfig/fixtures.d.ts.map +1 -0
  12. package/esm/_staging/dateFilterConfig/fixtures.js +60 -0
  13. package/esm/_staging/layout/coordinates.mock.d.ts +17 -0
  14. package/esm/_staging/layout/coordinates.mock.d.ts.map +1 -0
  15. package/esm/_staging/layout/coordinates.mock.js +103 -0
  16. package/esm/index.d.ts +2 -2
  17. package/esm/index.d.ts.map +1 -1
  18. package/esm/model/DashboardTester.d.ts +150 -0
  19. package/esm/model/DashboardTester.d.ts.map +1 -0
  20. package/esm/model/DashboardTester.js +208 -0
  21. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  22. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +27 -1
  23. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts +9 -0
  24. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts.map +1 -0
  25. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.js +27 -0
  26. package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.d.ts.map +1 -1
  27. package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.js +2 -11
  28. package/esm/model/commands/timezone.d.ts +10 -2
  29. package/esm/model/commands/timezone.d.ts.map +1 -1
  30. package/esm/model/commands/timezone.js +5 -2
  31. package/esm/model/fixtures/CatalogAvailability.fixtures.d.ts +14 -0
  32. package/esm/model/fixtures/CatalogAvailability.fixtures.d.ts.map +1 -0
  33. package/esm/model/fixtures/CatalogAvailability.fixtures.js +57 -0
  34. package/esm/model/fixtures/ComplexDashboard.fixtures.d.ts +56 -0
  35. package/esm/model/fixtures/ComplexDashboard.fixtures.d.ts.map +1 -0
  36. package/esm/model/fixtures/ComplexDashboard.fixtures.js +71 -0
  37. package/esm/model/fixtures/Dashboard.fixtures.d.ts +10 -0
  38. package/esm/model/fixtures/Dashboard.fixtures.d.ts.map +1 -0
  39. package/esm/model/fixtures/Dashboard.fixtures.js +13 -0
  40. package/esm/model/fixtures/Insights.fixtures.d.ts +6 -0
  41. package/esm/model/fixtures/Insights.fixtures.d.ts.map +1 -0
  42. package/esm/model/fixtures/Insights.fixtures.js +11 -0
  43. package/esm/model/fixtures/Layout.fixtures.d.ts +14 -0
  44. package/esm/model/fixtures/Layout.fixtures.d.ts.map +1 -0
  45. package/esm/model/fixtures/Layout.fixtures.js +115 -0
  46. package/esm/model/fixtures/SimpleDashboard.fixtures.d.ts +46 -0
  47. package/esm/model/fixtures/SimpleDashboard.fixtures.d.ts.map +1 -0
  48. package/esm/model/fixtures/SimpleDashboard.fixtures.js +315 -0
  49. package/esm/model/fixtures/SimpleDashboardNoDrills.fixtures.d.ts +28 -0
  50. package/esm/model/fixtures/SimpleDashboardNoDrills.fixtures.d.ts.map +1 -0
  51. package/esm/model/fixtures/SimpleDashboardNoDrills.fixtures.js +40 -0
  52. package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.d.ts +16 -0
  53. package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.d.ts.map +1 -0
  54. package/esm/plugins/customizationApis/fixtures/TestingDashboardCustomizationLogger.js +30 -0
  55. package/esm/plugins/customizationApis/utils.d.ts +3 -0
  56. package/esm/plugins/customizationApis/utils.d.ts.map +1 -0
  57. package/esm/plugins/customizationApis/utils.js +17 -0
  58. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts +6 -0
  59. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts.map +1 -0
  60. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.js +13 -0
  61. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts +7 -0
  62. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts.map +1 -0
  63. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.js +12 -0
  64. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  65. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +25 -13
  66. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts +8 -0
  67. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts.map +1 -0
  68. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.js +8 -0
  69. package/esm/presentation/automations/alerting/state/fixtures.d.ts +13 -0
  70. package/esm/presentation/automations/alerting/state/fixtures.d.ts.map +1 -0
  71. package/esm/presentation/automations/alerting/state/fixtures.js +37 -0
  72. package/esm/presentation/automations/alerting/types.d.ts +42 -2
  73. package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
  74. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  75. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +24 -5
  76. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts +1 -5
  77. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts.map +1 -1
  78. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +2 -2
  79. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts +0 -4
  80. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts.map +1 -1
  81. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts +6 -0
  82. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts.map +1 -0
  83. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.js +10 -0
  84. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts +6 -0
  85. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts.map +1 -0
  86. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.js +8 -0
  87. package/esm/presentation/automations/scheduledEmail/state/fixtures.d.ts +18 -0
  88. package/esm/presentation/automations/scheduledEmail/state/fixtures.d.ts.map +1 -0
  89. package/esm/presentation/automations/scheduledEmail/state/fixtures.js +105 -0
  90. package/esm/presentation/automations/scheduledEmail/types.d.ts +52 -3
  91. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  92. package/esm/presentation/automations/shared/automationFilters/parameterFixtures.d.ts +5 -0
  93. package/esm/presentation/automations/shared/automationFilters/parameterFixtures.d.ts.map +1 -0
  94. package/esm/presentation/automations/shared/automationFilters/parameterFixtures.js +22 -0
  95. package/esm/presentation/automations/shared/slots/types.d.ts +67 -1
  96. package/esm/presentation/automations/shared/slots/types.d.ts.map +1 -1
  97. package/esm/presentation/automations/shared/test/fixtures.d.ts +9 -0
  98. package/esm/presentation/automations/shared/test/fixtures.d.ts.map +1 -0
  99. package/esm/presentation/automations/shared/test/fixtures.js +101 -0
  100. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayout.d.ts +17 -0
  101. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayout.d.ts.map +1 -0
  102. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayout.js +18 -0
  103. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutItemRenderer.d.ts +12 -0
  104. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutItemRenderer.d.ts.map +1 -0
  105. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutItemRenderer.js +26 -0
  106. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutMocks.d.ts +20 -0
  107. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutMocks.d.ts.map +1 -0
  108. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutMocks.js +95 -0
  109. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutRowRenderer.d.ts +14 -0
  110. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutRowRenderer.d.ts.map +1 -0
  111. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutRowRenderer.js +9 -0
  112. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorder.d.ts +9 -0
  113. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorder.d.ts.map +1 -0
  114. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorder.js +17 -0
  115. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorderMarker.d.ts +6 -0
  116. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorderMarker.d.ts.map +1 -0
  117. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorderMarker.js +10 -0
  118. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeader.d.ts +9 -0
  119. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeader.d.ts.map +1 -0
  120. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeader.js +14 -0
  121. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeaderRenderer.d.ts +8 -0
  122. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeaderRenderer.d.ts.map +1 -0
  123. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeaderRenderer.js +49 -0
  124. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionRenderer.d.ts +7 -0
  125. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionRenderer.d.ts.map +1 -0
  126. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionRenderer.js +33 -0
  127. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutTypes.d.ts +62 -0
  128. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutTypes.d.ts.map +1 -0
  129. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutTypes.js +2 -0
  130. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidget.d.ts +11 -0
  131. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidget.d.ts.map +1 -0
  132. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidget.js +4 -0
  133. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidgetRenderer.d.ts +8 -0
  134. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidgetRenderer.d.ts.map +1 -0
  135. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidgetRenderer.js +28 -0
  136. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/LayoutTypes.d.ts +26 -0
  137. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/LayoutTypes.d.ts.map +1 -0
  138. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/LayoutTypes.js +21 -0
  139. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
  140. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +1 -1
  141. package/esm/sdk-ui-dashboard.d.ts +172 -5
  142. package/package.json +21 -21
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/scheduledEmail/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/scheduledEmail/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type IDashboardParameter, type INumberParameterConstraints, type IParameterMetadataObject, type IStringParameterConstraints } from "@gooddata/sdk-model";
2
+ export declare const workspaceNumberParameter: (id: string, title: string, defaultValue: number, constraints?: INumberParameterConstraints | undefined) => IParameterMetadataObject;
3
+ export declare const workspaceStringParameter: (id: string, title: string, defaultValue: string, constraints?: IStringParameterConstraints | undefined) => IParameterMetadataObject;
4
+ export declare const dashboardParameter: (id: string, overrides?: Partial<IDashboardParameter>) => IDashboardParameter;
5
+ //# sourceMappingURL=parameterFixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameterFixtures.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/automationFilters/parameterFixtures.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEhC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAEnC,MAAM,qBAAqB,CAAC;AAmB7B,eAAO,MAAM,wBAAwB,sIAMyD,CAAC;AAE/F,eAAO,MAAM,wBAAwB,sIAMyD,CAAC;AAE/F,eAAO,MAAM,kBAAkB,+EAQ7B,CAAC"}
@@ -0,0 +1,22 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { idRef, } from "@gooddata/sdk-model";
3
+ const workspaceParameterWithDefinition = (id, title, definition) => ({
4
+ type: "parameter",
5
+ id,
6
+ title,
7
+ ref: idRef(id, "parameter"),
8
+ uri: id,
9
+ production: true,
10
+ deprecated: false,
11
+ unlisted: false,
12
+ description: "",
13
+ definition,
14
+ });
15
+ export const workspaceNumberParameter = (id, title, defaultValue, constraints) => workspaceParameterWithDefinition(id, title, { type: "NUMBER", defaultValue, constraints });
16
+ export const workspaceStringParameter = (id, title, defaultValue, constraints) => workspaceParameterWithDefinition(id, title, { type: "STRING", defaultValue, constraints });
17
+ export const dashboardParameter = (id, overrides = {}) => ({
18
+ ref: idRef(id, "parameter"),
19
+ mode: "active",
20
+ parameterType: "NUMBER",
21
+ ...overrides,
22
+ });
@@ -1,5 +1,5 @@
1
1
  import { type ComponentType, type ReactNode } from "react";
2
- import { type FilterContextItem, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
2
+ import { type FilterContextItem, type IAutomationRecipient, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
3
3
  import { type IAutomationParameter } from "../automationFilters/automationParameters.js";
4
4
  /**
5
5
  * Contract of a section-level slot: the default implementation and the exact props the default
@@ -97,4 +97,70 @@ export interface IAutomationDialogFiltersProps {
97
97
  */
98
98
  onParameterDelete: (ref: IdentifierRef) => void;
99
99
  }
100
+ /**
101
+ * Members shared by both automation dialogs' destination regions.
102
+ *
103
+ * @alpha
104
+ */
105
+ export interface IAutomationDialogDestinationProps {
106
+ /**
107
+ * Notification channels the automation can target.
108
+ */
109
+ notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
110
+ /**
111
+ * Id of the automation's currently selected notification channel.
112
+ */
113
+ selectedNotificationChannelId: string | undefined;
114
+ /**
115
+ * Called with the id of the newly selected notification channel.
116
+ */
117
+ onChange: (notificationChannelId: string) => void;
118
+ }
119
+ /**
120
+ * Members shared by both automation dialogs' recipients regions.
121
+ *
122
+ * @alpha
123
+ */
124
+ export interface IAutomationDialogRecipientsProps {
125
+ /**
126
+ * Currently selected recipients.
127
+ */
128
+ value: IAutomationRecipient[];
129
+ /**
130
+ * Replaces the selection with the complete updated array.
131
+ */
132
+ onChange: (recipients: IAutomationRecipient[]) => void;
133
+ /**
134
+ * The logged-in user as a recipient candidate.
135
+ */
136
+ loggedUser?: IAutomationRecipient;
137
+ /**
138
+ * Restricts the selection to the logged-in user.
139
+ */
140
+ allowOnlyLoggedUserRecipients?: boolean;
141
+ /**
142
+ * Allows removing the last recipient.
143
+ */
144
+ allowEmptySelection?: boolean;
145
+ /**
146
+ * Allows recipients that are not workspace users.
147
+ */
148
+ allowExternalRecipients?: boolean;
149
+ /**
150
+ * Maximum number of recipients.
151
+ */
152
+ maxRecipients?: number;
153
+ /**
154
+ * Notification channels, used to derive channel-specific recipient constraints.
155
+ */
156
+ notificationChannels?: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
157
+ /**
158
+ * Id of the automation's currently selected notification channel.
159
+ */
160
+ notificationChannelId?: string;
161
+ /**
162
+ * When set, the only addable recipient is this external address.
163
+ */
164
+ externalRecipientOverride?: string;
165
+ }
100
166
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/slots/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEtG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEzF;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM;IAC9B;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,kBAAkB,EAAE,SAAS,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C;;OAEG;IACH,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAElD;;OAEG;IACH,eAAe,EAAE,iBAAiB,EAAE,CAAC;IAErC;;;OAGG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAExD;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAEpC;;OAEG;IACH,mBAAmB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAEvE;;OAEG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;CACnD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/slots/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEzF;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM;IAC9B;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,kBAAkB,EAAE,SAAS,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C;;OAEG;IACH,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAElD;;OAEG;IACH,eAAe,EAAE,iBAAiB,EAAE,CAAC;IAErC;;;OAGG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IAExD;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAEpC;;OAEG;IACH,mBAAmB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAEvE;;OAEG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;CACnD;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAC9C;;OAEG;IACH,oBAAoB,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAE9F;;OAEG;IACH,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC;IAElD;;OAEG;IACH,QAAQ,EAAE,CAAC,qBAAqB,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAC7C;;OAEG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAEvD;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAE/F;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC"}
@@ -0,0 +1,9 @@
1
+ import { type FilterContextItem, type IInsightWidget, type INotificationChannelIdentifier, type IUser } from "@gooddata/sdk-model";
2
+ import { type IAutomationsContextValue } from "../../contexts/AutomationsContext.js";
3
+ export declare const CURRENT_USER: IUser;
4
+ export declare const SENTINEL_CHANNEL: INotificationChannelIdentifier;
5
+ export declare const SENTINEL_WIDGET: IInsightWidget;
6
+ export declare const WORKSPACE_PARAMETER: import("@gooddata/sdk-model").IParameterMetadataObject;
7
+ export declare const NEXT_FILTER: FilterContextItem;
8
+ export declare const AUTOMATIONS_CONTEXT: IAutomationsContextValue;
9
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/test/fixtures.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,8BAA8B,EACnC,KAAK,KAAK,EAEb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGrF,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,8BAK9B,CAAC;AAKF,eAAO,MAAM,eAAe,EAAE,cAW7B,CAAC;AAIF,eAAO,MAAM,mBAAmB,wDAA4D,CAAC;AAE7F,eAAO,MAAM,WAAW,EAAE,iBAOzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,wBA4DjC,CAAC"}
@@ -0,0 +1,101 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { idRef, } from "@gooddata/sdk-model";
3
+ import { workspaceStringParameter } from "../automationFilters/parameterFixtures.js";
4
+ export const CURRENT_USER = {
5
+ ref: idRef("user-1"),
6
+ login: "user1@example.com",
7
+ email: "user1@example.com",
8
+ };
9
+ export const SENTINEL_CHANNEL = {
10
+ type: "notificationChannel",
11
+ destinationType: "webhook",
12
+ id: "channel-1",
13
+ allowedRecipients: "internal",
14
+ };
15
+ // Only `ref`/`localIdentifier`/`type`/`ignoreDashboardFilters` are read by the code exercised here
16
+ // (widget identity, the insight-widget type guard, and the ignored-filters check); the remaining
17
+ // required IWidget fields are filler values.
18
+ export const SENTINEL_WIDGET = {
19
+ ref: { identifier: "widget-1" },
20
+ uri: "/widget-1",
21
+ identifier: "widget-1",
22
+ localIdentifier: "widget-1",
23
+ type: "insight",
24
+ title: "Widget",
25
+ description: "",
26
+ insight: { identifier: "insight-1" },
27
+ drills: [],
28
+ ignoreDashboardFilters: [],
29
+ };
30
+ // A catalog parameter with a matching workspace definition, so a stored `{ref, value}` override
31
+ // survives reconstruction instead of being dropped as unresolvable.
32
+ export const WORKSPACE_PARAMETER = workspaceStringParameter("param-1", "Param 1", "default");
33
+ export const NEXT_FILTER = {
34
+ attributeFilter: {
35
+ localIdentifier: "f1",
36
+ displayForm: idRef("df1"),
37
+ negativeSelection: false,
38
+ attributeElements: { uris: ["/e1"] },
39
+ },
40
+ };
41
+ export const AUTOMATIONS_CONTEXT = {
42
+ locale: "en-US",
43
+ separators: { decimal: ".", thousand: "," },
44
+ settings: undefined,
45
+ catalogAttributes: [],
46
+ catalogDateDatasets: [],
47
+ catalogMeasures: [],
48
+ dateFilterConfig: {
49
+ availableGranularities: [],
50
+ dateFilterOptions: {},
51
+ getGranularitiesForTab: () => [],
52
+ getOptionsForTab: () => undefined,
53
+ },
54
+ dateFilterContextConfig: undefined,
55
+ attributeFilterConfigs: [],
56
+ attributeFilterConfigsByTab: {},
57
+ attributeFilterSelectionTypeMap: new Map(),
58
+ attributeFilterSelectionTypeMapByTab: {},
59
+ dateFilterConfigs: [],
60
+ dateFilterConfigsByTab: {},
61
+ dateFilterConfigOverridesByTab: {},
62
+ measureValueFilterConfigs: [],
63
+ measureValueFilterConfigsByTab: {},
64
+ commonDateFilterId: undefined,
65
+ lockedFilters: [],
66
+ hiddenFilters: [],
67
+ availableFilters: [],
68
+ automationFiltersByTab: [],
69
+ defaultSelectedFilters: [],
70
+ automationAvailableFilters: [],
71
+ maxAutomationsRecipients: 5,
72
+ isExecutionTimestampMode: false,
73
+ allowHourlyRecurrence: false,
74
+ currentUser: CURRENT_USER,
75
+ weekStart: "Monday",
76
+ timezone: "Europe/Prague",
77
+ isWhiteLabeled: false,
78
+ isSecondaryTitleVisible: false,
79
+ externalRecipient: undefined,
80
+ features: {
81
+ canCreateAutomation: true,
82
+ enableAlertOncePerInterval: false,
83
+ enableAnomalyDetectionAlert: false,
84
+ canUseAiAssistant: false,
85
+ canManageWorkspace: false,
86
+ enableSlideshowExports: false,
87
+ enableAutomationEvaluationMode: false,
88
+ },
89
+ parameters: {
90
+ enabled: true,
91
+ stringParametersEnabled: true,
92
+ catalog: [WORKSPACE_PARAMETER],
93
+ catalogIsLoaded: true,
94
+ dashboardParametersByTab: {},
95
+ },
96
+ tabIds: [],
97
+ widgetLocalIdToTabIdMap: {},
98
+ getCatalogAttributeByRef: () => undefined,
99
+ getAttributeFilterDisplayForm: () => undefined,
100
+ widgetExistsByRef: () => false,
101
+ };
@@ -0,0 +1,17 @@
1
+ import { type IDashboardEditLayout } from "./DashboardEditLayoutTypes.js";
2
+ export interface IDashboardEditLayoutStateProps {
3
+ isDragging?: boolean;
4
+ isResizingColumn?: boolean;
5
+ isResizingRow?: boolean;
6
+ shouldRenderSectionHotspots?: boolean;
7
+ layout: IDashboardEditLayout;
8
+ rowIdsByRowOrder?: any;
9
+ shouldUseRowRenderer?: boolean;
10
+ isEditMode?: boolean;
11
+ }
12
+ export interface IDashboardEditLayoutDispatchProps {
13
+ removeDropZones?: () => void;
14
+ }
15
+ export type IDashboardEditLayoutProps = IDashboardEditLayoutStateProps & IDashboardEditLayoutDispatchProps;
16
+ export declare function RenderDashboardEditLayout({ layout, rowIdsByRowOrder, shouldUseRowRenderer }: IDashboardEditLayoutProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=DashboardEditLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayout.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayout.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,MAAM,WAAW,8BAA8B;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iCAAiC;IAC9C,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,GAAG,iCAAiC,CAAC;AAI3G,wBAAgB,yBAAyB,CAAC,EACtC,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACvB,EAAE,yBAAyB,2CAmC3B"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2007-2026 GoodData Corporation
3
+ import { Fragment } from "react";
4
+ import { objRefToString } from "@gooddata/sdk-model";
5
+ import { DashboardLayout } from "../../DefaultDashboardLayoutRenderer/DashboardLayout.js";
6
+ import { DashboardEditLayoutItemRenderer } from "./DashboardEditLayoutItemRenderer.js";
7
+ import { DashboardEditLayoutRowRenderer } from "./DashboardEditLayoutRowRenderer.js";
8
+ import { DashboardEditLayoutSectionHeaderRenderer } from "./DashboardEditLayoutSectionHeaderRenderer.js";
9
+ import { DashboardEditLayoutSectionRenderer } from "./DashboardEditLayoutSectionRenderer.js";
10
+ import { DashboardEditLayoutWidgetRenderer } from "./DashboardEditLayoutWidgetRenderer.js";
11
+ const screen = "xl"; // Todo: figure out what this was supposed to be?
12
+ export function RenderDashboardEditLayout({ layout, rowIdsByRowOrder, shouldUseRowRenderer, }) {
13
+ return (layout && (
14
+ // @ts-expect-error Unknown
15
+ _jsx(DashboardLayout, { layout: layout, sectionKeyGetter: (p) => rowIdsByRowOrder?.[p.section.index()] ?? p.section.index().toString(), sectionRenderer: (renderProps) => _jsx(DashboardEditLayoutSectionRenderer, { ...renderProps }), sectionHeaderRenderer: (renderProps) => (_jsx(DashboardEditLayoutSectionHeaderRenderer, { ...renderProps })), itemKeyGetter: (p) =>
16
+ // We want to rerender kpi/insight, when we resize the widget (to recalculate rendered visualization size).
17
+ objRefToString(p.item.widget().ref) + p.item.sizeForScreen(p.screen).gridWidth, itemRenderer: (renderProps) => _jsx(DashboardEditLayoutItemRenderer, { ...renderProps }), widgetRenderer: (renderProps) => _jsx(DashboardEditLayoutWidgetRenderer, { ...renderProps }), gridRowRenderer: (renderProps) => shouldUseRowRenderer ? (_jsx(DashboardEditLayoutRowRenderer, { layoutItems: renderProps.items, screen: screen, section: renderProps.section, children: renderProps.children })) : (_jsx(Fragment, { children: renderProps.children })) })));
18
+ }
@@ -0,0 +1,12 @@
1
+ import { type ObjRef } from "@gooddata/sdk-model";
2
+ import { type IDashboardLayoutItemRenderProps } from "../../DefaultDashboardLayoutRenderer/interfaces.js";
3
+ import { type IDashboardEditLayoutContent } from "./DashboardEditLayoutTypes.js";
4
+ export interface IDashboardEditLayoutItemRendererStateProps {
5
+ hiddenWidgetRef?: ObjRef;
6
+ }
7
+ export type IDashboardEditLayoutItemRendererOwnProps = IDashboardLayoutItemRenderProps<IDashboardEditLayoutContent>;
8
+ export type IDashboardEditLayoutItemRendererProps = IDashboardEditLayoutItemRendererOwnProps & IDashboardEditLayoutItemRendererStateProps;
9
+ export declare function RenderDashboardEditLayoutItemRenderer(props: IDashboardEditLayoutItemRendererProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare const DashboardEditLayoutItemRenderer: typeof RenderDashboardEditLayoutItemRenderer;
11
+ export declare const isHiddenContent: (content: IDashboardEditLayoutContent, hiddenWidgetRef: ObjRef) => boolean;
12
+ //# sourceMappingURL=DashboardEditLayoutItemRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayoutItemRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutItemRenderer.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAE1G,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,WAAW,0CAA0C;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,wCAAwC,GAChD,+BAA+B,CAAC,2BAA2B,CAAC,CAAC;AAEjE,MAAM,MAAM,qCAAqC,GAAG,wCAAwC,GACxF,0CAA0C,CAAC;AAE/C,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,qCAAqC,2CAqBjG;AAED,eAAO,MAAM,+BAA+B,8CAAwC,CAAC;AAErF,eAAO,MAAM,eAAe,4EAM3B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2007-2026 GoodData Corporation
3
+ import cx from "classnames";
4
+ import { areObjRefsEqual, idRef } from "@gooddata/sdk-model";
5
+ import { DashboardLayoutItemViewRenderer } from "../../DefaultDashboardLayoutRenderer/DashboardLayoutItemViewRenderer.js";
6
+ export function RenderDashboardEditLayoutItemRenderer(props) {
7
+ const { children, item, hiddenWidgetRef = idRef("hiddenWidget") } = props;
8
+ const content = item.widget();
9
+ const isLastInSection = item.isLastInSection();
10
+ const isLastSection = item.section().isLast();
11
+ const isLast = isLastSection && isLastInSection;
12
+ const className = cx({
13
+ last: content?.type === "widget" ? isLast : false,
14
+ });
15
+ const isHidden = content && isHiddenContent(content, hiddenWidgetRef);
16
+ return (
17
+ // @ts-expect-error Unknown
18
+ _jsx(DashboardLayoutItemViewRenderer, { isHidden: isHidden, ...props, className: className, children: children }));
19
+ }
20
+ export const DashboardEditLayoutItemRenderer = RenderDashboardEditLayoutItemRenderer;
21
+ export const isHiddenContent = (content, hiddenWidgetRef) => {
22
+ if (content.type === "widgetDropzoneHotspot") {
23
+ return areObjRefsEqual(content.widgetRef, hiddenWidgetRef);
24
+ }
25
+ return areObjRefsEqual(content.ref, hiddenWidgetRef);
26
+ };
@@ -0,0 +1,20 @@
1
+ import { type ObjRef } from "@gooddata/sdk-model";
2
+ import { type VisType } from "@gooddata/sdk-ui";
3
+ import { type IDashboardEditLayout, type IDashboardEditLayoutContent, type IDashboardEditLayoutContentWidget, type IDashboardEditLayoutContentWidgetDropzone, type IDashboardEditLayoutContentWidgetDropzoneHotspot, type IDashboardEditLayoutContentWidgetKpiPlaceholder, type IDashboardEditLayoutContentWidgetNewInsightPlaceholder } from "./DashboardEditLayoutTypes.js";
4
+ import { DropZoneType, WidgetPosition } from "./LayoutTypes.js";
5
+ export type DashboardEditLayoutContentGenerator = (ref: ObjRef, rowId?: string) => IDashboardEditLayoutContent;
6
+ export type DashboardEditLayoutRowMock = {
7
+ title?: string;
8
+ description?: string;
9
+ isDropzone?: boolean;
10
+ contentGeneratorColumnWidthAndHeightAsRatioTuples: ([DashboardEditLayoutContentGenerator, number, number | undefined] | [DashboardEditLayoutContentGenerator, number] | [DashboardEditLayoutContentGenerator])[];
11
+ };
12
+ export declare const widgetMock: () => (ref: ObjRef) => IDashboardEditLayoutContentWidget;
13
+ export declare const widgetDropzoneMock: (visType?: VisType, isInitialDropzone?: boolean, position?: WidgetPosition) => (ref: ObjRef) => IDashboardEditLayoutContentWidgetDropzone;
14
+ export declare const widgetDropzoneHotspotMock: (widgetRef: ObjRef, dropZoneType?: DropZoneType) => (ref: ObjRef) => IDashboardEditLayoutContentWidgetDropzoneHotspot;
15
+ export declare const widgetKpiPlaceholderMock: () => (ref: ObjRef) => IDashboardEditLayoutContentWidgetKpiPlaceholder;
16
+ export declare const widgetNewInsightPlaceholderMock: () => (ref: ObjRef) => IDashboardEditLayoutContentWidgetNewInsightPlaceholder;
17
+ export declare const rowMock: (contentGeneratorColumnWidthAndHeightAsRatioTuples: ([DashboardEditLayoutContentGenerator] | [DashboardEditLayoutContentGenerator, number] | [DashboardEditLayoutContentGenerator, number, number | undefined])[], title?: string | undefined, description?: string | undefined, isDropzone?: boolean | undefined) => DashboardEditLayoutRowMock;
18
+ export declare const getWidgetMockRef: (itemIndex: number, sectionIndex: number) => import("@gooddata/sdk-model").IdentifierRef;
19
+ export declare const layoutMock: (rowMocks: DashboardEditLayoutRowMock[]) => IDashboardEditLayout;
20
+ //# sourceMappingURL=DashboardEditLayoutMocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayoutMocks.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutMocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAS,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,yCAAyC,EAC9C,KAAK,gDAAgD,EACrD,KAAK,+CAA+C,EACpD,KAAK,sDAAsD,EAE9D,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,mCAAmC,GAAG,CAC9C,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,KACb,2BAA2B,CAAC;AACjC,MAAM,MAAM,0BAA0B,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD,EAAE,CAC7C,CAAC,mCAAmC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACjE,CAAC,mCAAmC,EAAE,MAAM,CAAC,GAC7C,CAAC,mCAAmC,CAAC,CAC1C,EAAE,CAAC;CACP,CAAC;AAEF,eAAO,MAAM,UAAU,0DAOlB,CAAC;AAEN,eAAO,MAAM,kBAAkB,2IAgB1B,CAAC;AAEN,eAAO,MAAM,yBAAyB,uHASjC,CAAC;AAEN,eAAO,MAAM,wBAAwB,wEAOhC,CAAC;AAEN,eAAO,MAAM,+BAA+B,+EAOvC,CAAC;AAEN,eAAO,MAAM,OAAO,kVAgBnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FACuB,CAAC;AAErD,eAAO,MAAM,UAAU,kEAkDtB,CAAC"}
@@ -0,0 +1,95 @@
1
+ // (C) 2007-2026 GoodData Corporation
2
+ import { idRef } from "@gooddata/sdk-model";
3
+ import { newInsight } from "../../../../_staging/insight/insightBuilder.js";
4
+ import { DropZoneType, WidgetPosition } from "./LayoutTypes.js";
5
+ export const widgetMock = () => (ref) => {
6
+ return {
7
+ type: "widget",
8
+ ref,
9
+ };
10
+ };
11
+ export const widgetDropzoneMock = (visType = "bar", isInitialDropzone = false, position = WidgetPosition.next) => (ref) => {
12
+ return {
13
+ type: "widgetDropzone",
14
+ dragZoneWidget: {
15
+ dropzone: {
16
+ ref,
17
+ widgetType: "insight",
18
+ content: newInsight(`local:${visType}`, (m) => m.title("Some vis").uri("gdc/some/vis")),
19
+ isInitialDropzone,
20
+ position,
21
+ },
22
+ },
23
+ ref,
24
+ };
25
+ };
26
+ export const widgetDropzoneHotspotMock = (widgetRef, dropZoneType = DropZoneType.next) => (ref) => {
27
+ return {
28
+ type: "widgetDropzoneHotspot",
29
+ dropZoneType,
30
+ ref,
31
+ widgetRef,
32
+ };
33
+ };
34
+ export const widgetKpiPlaceholderMock = () => (ref) => {
35
+ return {
36
+ type: "widgetKpiPlaceholder",
37
+ ref,
38
+ };
39
+ };
40
+ export const widgetNewInsightPlaceholderMock = () => (ref) => {
41
+ return {
42
+ type: "widgetNewInsightPlaceholder",
43
+ ref,
44
+ };
45
+ };
46
+ export const rowMock = (contentGeneratorColumnWidthAndHeightAsRatioTuples, title, description, isDropzone) => {
47
+ return {
48
+ contentGeneratorColumnWidthAndHeightAsRatioTuples,
49
+ title,
50
+ description,
51
+ isDropzone,
52
+ };
53
+ };
54
+ export const getWidgetMockRef = (itemIndex, sectionIndex) => idRef(`widget_${itemIndex}_row_${sectionIndex}`);
55
+ export const layoutMock = (rowMocks) => {
56
+ const emptyLayout = {
57
+ type: "IDashboardLayout",
58
+ sections: [],
59
+ };
60
+ return rowMocks.reduce((acc, rowMock, sectionIndex) => {
61
+ const rowId = `row_${sectionIndex}`;
62
+ if (!acc.sections[sectionIndex]) {
63
+ acc.sections[sectionIndex] = {
64
+ type: "IDashboardLayoutSection",
65
+ items: [],
66
+ ...(rowMock.title || rowMock.description
67
+ ? {
68
+ header: {
69
+ title: rowMock.title,
70
+ description: rowMock.description,
71
+ },
72
+ }
73
+ : {}),
74
+ };
75
+ }
76
+ return rowMock.contentGeneratorColumnWidthAndHeightAsRatioTuples.reduce((acc2, [contentGenerator, gridWidth = 12, heightAsRatio = undefined], itemIndex) => {
77
+ const widgetRef = getWidgetMockRef(itemIndex, sectionIndex);
78
+ const widget = contentGenerator(widgetRef, rowId);
79
+ const item = {
80
+ type: "IDashboardLayoutItem",
81
+ size: {
82
+ xl: {
83
+ gridWidth,
84
+ },
85
+ },
86
+ widget,
87
+ };
88
+ if (heightAsRatio) {
89
+ item.size.xl.heightAsRatio = heightAsRatio;
90
+ }
91
+ acc2.sections[sectionIndex].items[itemIndex] = item;
92
+ return acc2;
93
+ }, acc);
94
+ }, emptyLayout);
95
+ };
@@ -0,0 +1,14 @@
1
+ import { type ReactNode } from "react";
2
+ import { type ScreenSize } from "@gooddata/sdk-model";
3
+ import { type IDashboardLayoutItemFacade, type IDashboardLayoutSectionFacade } from "../../../../_staging/dashboard/flexibleLayout/facade/interfaces.js";
4
+ import { type IDashboardEditLayoutContent } from "./DashboardEditLayoutTypes.js";
5
+ export interface IDashboardEditLayoutRowRendererOwnProps {
6
+ layoutItems: IDashboardLayoutItemFacade<IDashboardEditLayoutContent>[];
7
+ screen: ScreenSize;
8
+ section: IDashboardLayoutSectionFacade<IDashboardEditLayoutContent>;
9
+ children?: ReactNode;
10
+ }
11
+ export type IDashboardEditLayoutRowRendererProps = IDashboardEditLayoutRowRendererOwnProps;
12
+ export declare function RenderDashboardEditLayoutRowRenderer({ children }: IDashboardEditLayoutRowRendererProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare const DashboardEditLayoutRowRenderer: typeof RenderDashboardEditLayoutRowRenderer;
14
+ //# sourceMappingURL=DashboardEditLayoutRowRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayoutRowRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutRowRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EACrC,MAAM,oEAAoE,CAAC;AAE5E,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,WAAW,uCAAuC;IACpD,WAAW,EAAE,0BAA0B,CAAC,2BAA2B,CAAC,EAAE,CAAC;IACvE,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,6BAA6B,CAAC,2BAA2B,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,oCAAoC,GAAG,uCAAuC,CAAC;AAE3F,wBAAgB,oCAAoC,CAAC,EAAE,QAAQ,EAAE,EAAE,oCAAoC,2CAQtG;AAED,eAAO,MAAM,8BAA8B,6CAAuC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2007-2026 GoodData Corporation
3
+ import { Fragment, useRef } from "react";
4
+ export function RenderDashboardEditLayoutRowRenderer({ children }) {
5
+ const rowId = "rowId";
6
+ const contentRef = useRef(null);
7
+ return (_jsx("div", { ref: contentRef, className: "gd-fluid-layout-row s-gd-fluid-layout-row", children: _jsx(Fragment, { children: children }) }, rowId));
8
+ }
9
+ export const DashboardEditLayoutRowRenderer = RenderDashboardEditLayoutRowRenderer;
@@ -0,0 +1,9 @@
1
+ import { type ReactNode } from "react";
2
+ export type DashboardEditLayoutSectionBorderStatus = "active" | "muted" | "invisible";
3
+ interface IDashboardEditLayoutSectionBorderProps {
4
+ children?: ReactNode;
5
+ status: DashboardEditLayoutSectionBorderStatus;
6
+ }
7
+ export declare function DashboardEditLayoutSectionBorder(props: IDashboardEditLayoutSectionBorderProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=DashboardEditLayoutSectionBorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayoutSectionBorder.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorder.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMjD,MAAM,MAAM,sCAAsC,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;AAEtF,UAAU,sCAAsC;IAC5C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,sCAAsC,CAAC;CAClD;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,sCAAsC,2CA0B7F"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2019-2026 GoodData Corporation
3
+ import { Fragment } from "react";
4
+ import cx from "classnames";
5
+ import { DashboardEditLayoutSectionBorderMarker } from "./DashboardEditLayoutSectionBorderMarker.js";
6
+ export function DashboardEditLayoutSectionBorder(props) {
7
+ return (_jsxs(Fragment, { children: [
8
+ _jsxs("div", { className: classNames("top", props.status), children: [
9
+ _jsx(DashboardEditLayoutSectionBorderMarker, { className: "gd-fluidlayout-row-separator-icon gd-fluidlayout-row-separator-icon-left", active: props.status === "active" }), _jsx(DashboardEditLayoutSectionBorderMarker, { className: "gd-fluidlayout-row-separator-icon gd-fluidlayout-row-separator-icon-right", active: props.status === "active" })
10
+ ] }), props.children, _jsxs("div", { className: classNames("bottom", props.status), children: [
11
+ _jsx(DashboardEditLayoutSectionBorderMarker, { className: "gd-fluidlayout-row-separator-icon gd-fluidlayout-row-separator-icon-left", active: props.status === "active" }), _jsx(DashboardEditLayoutSectionBorderMarker, { className: "gd-fluidlayout-row-separator-icon gd-fluidlayout-row-separator-icon-right", active: props.status === "active" })
12
+ ] })
13
+ ] }));
14
+ }
15
+ function classNames(position, status) {
16
+ return cx("gd-fluidlayout-row-separator", "s-fluidlayout-row-separator", position, status);
17
+ }
@@ -0,0 +1,6 @@
1
+ export interface IDashboardEditLayoutSectionBorderMarkerProps {
2
+ active?: boolean;
3
+ className?: string;
4
+ }
5
+ export declare function DashboardEditLayoutSectionBorderMarker({ active, className }: IDashboardEditLayoutSectionBorderMarkerProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=DashboardEditLayoutSectionBorderMarker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayoutSectionBorderMarker.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorderMarker.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,4CAA4C;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,sCAAsC,CAAC,EACnD,MAAM,EACN,SAAS,EACZ,EAAE,4CAA4C,2CAsB9C"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2020-2026 GoodData Corporation
3
+ import { GD_COLOR_HIGHLIGHT, GD_COLOR_WHITE, INFO_TEXT_COLOR } from "@gooddata/sdk-ui-kit";
4
+ export function DashboardEditLayoutSectionBorderMarker({ active, className, }) {
5
+ const background = active ? `var(--gd-palette-primary-base, ${GD_COLOR_HIGHLIGHT})` : "#E6E6E6";
6
+ const color = active ? GD_COLOR_WHITE : INFO_TEXT_COLOR;
7
+ return (_jsx("svg", { width: "20", height: "20", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", className: className, children: _jsxs("g", { fill: "none", fillRule: "evenodd", children: [
8
+ _jsx("circle", { cx: "10", cy: "10", r: "10", fill: background }), _jsx("path", { d: "M6.5 9.5H14c.2761424 0 .5.22385763.5.5 0 .2761424-.2238576.5-.5.5H6.5V14c0 .2761424-.22385763.5-.5.5-.27614237 0-.5-.2238576-.5-.5V6c0-.27614237.22385763-.5.5-.5.27614237 0 .5.22385763.5.5v3.5z", fill: color, fillRule: "nonzero" })
9
+ ] }) }));
10
+ }
@@ -0,0 +1,9 @@
1
+ export interface IDashboardEditLayoutSectionHeaderOwnProps {
2
+ title: string;
3
+ description: string;
4
+ rowId: string;
5
+ }
6
+ export type IDashboardEditLayoutSectionHeaderProps = IDashboardEditLayoutSectionHeaderOwnProps;
7
+ export declare function RenderDashboardEditLayoutSectionHeader({ description, title }: IDashboardEditLayoutSectionHeaderProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare const DashboardEditLayoutSectionHeader: typeof RenderDashboardEditLayoutSectionHeader;
9
+ //# sourceMappingURL=DashboardEditLayoutSectionHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayoutSectionHeader.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeader.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,yCAAyC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,sCAAsC,GAAG,yCAAyC,CAAC;AAE/F,wBAAgB,sCAAsC,CAAC,EACnD,WAAW,EACX,KAAK,EACR,EAAE,sCAAsC,2CAexC;AAED,eAAO,MAAM,gCAAgC,+CAAyC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2019-2026 GoodData Corporation
3
+ import { DashboardLayoutEditSectionHeader } from "../../DefaultDashboardLayoutRenderer/DashboardLayoutEditSectionHeader.js";
4
+ export function RenderDashboardEditLayoutSectionHeader({ description, title, }) {
5
+ const isDashboardEditing = true;
6
+ return (_jsx(DashboardLayoutEditSectionHeader
7
+ // @ts-expect-error this is weird, who did this?
8
+ , {
9
+ // @ts-expect-error this is weird, who did this?
10
+ title: title, description: description, renderHeader: isDashboardEditing
11
+ ? "<SectionHeaderEditable title={title} description={description} rowId={rowId} />"
12
+ : null }));
13
+ }
14
+ export const DashboardEditLayoutSectionHeader = RenderDashboardEditLayoutSectionHeader;
@@ -0,0 +1,8 @@
1
+ import { type IDashboardLayoutSectionHeaderRenderProps } from "../../DefaultDashboardLayoutRenderer/interfaces.js";
2
+ import { type IDashboardEditLayoutContent } from "./DashboardEditLayoutTypes.js";
3
+ type IDashboardLayoutSectionHeaderRendererOwnProps = IDashboardLayoutSectionHeaderRenderProps<IDashboardEditLayoutContent>;
4
+ type IDashboardLayoutSectionHeaderRendererProps = IDashboardLayoutSectionHeaderRendererOwnProps;
5
+ export declare function RenderDashboardEditLayoutSectionHeaderRenderer(props: IDashboardLayoutSectionHeaderRendererProps): import("react/jsx-runtime").JSX.Element | null;
6
+ export declare const DashboardEditLayoutSectionHeaderRenderer: typeof RenderDashboardEditLayoutSectionHeaderRenderer;
7
+ export {};
8
+ //# sourceMappingURL=DashboardEditLayoutSectionHeaderRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardEditLayoutSectionHeaderRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeaderRenderer.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,wCAAwC,EAAE,MAAM,oDAAoD,CAAC;AAGnH,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAEjF,KAAK,6CAA6C,GAC9C,wCAAwC,CAAC,2BAA2B,CAAC,CAAC;AAE1E,KAAK,0CAA0C,GAAG,6CAA6C,CAAC;AAkChG,wBAAgB,8CAA8C,CAC1D,KAAK,EAAE,0CAA0C,kDA+BpD;AAED,eAAO,MAAM,wCAAwC,uDAAiD,CAAC"}