@gooddata/sdk-ui-dashboard 11.58.0-alpha.2 → 11.58.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/NOTICE +8 -8
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/index.d.ts +5 -5
  5. package/esm/index.d.ts.map +1 -1
  6. package/esm/index.js +3 -3
  7. package/esm/internal.d.ts +1 -0
  8. package/esm/internal.d.ts.map +1 -1
  9. package/esm/internal.js +1 -0
  10. package/esm/model/DashboardTester.d.ts.map +1 -1
  11. package/esm/model/DashboardTester.js +7 -1
  12. package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.d.ts.map +1 -1
  13. package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.js +6 -1
  14. package/esm/model/commandHandlers/common/validateDrills.d.ts.map +1 -1
  15. package/esm/model/commandHandlers/common/validateDrills.js +12 -3
  16. package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.d.ts +4 -0
  17. package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.d.ts.map +1 -0
  18. package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.js +53 -0
  19. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  20. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +13 -6
  21. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.d.ts.map +1 -1
  22. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js +4 -1
  23. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
  24. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +30 -6
  25. package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.d.ts.map +1 -1
  26. package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.js +2 -0
  27. package/esm/model/commandHandlers/drill/drillToCustomUrlHandler.d.ts.map +1 -1
  28. package/esm/model/commandHandlers/drill/drillToCustomUrlHandler.js +2 -0
  29. package/esm/model/commandHandlers/drill/drillToDashboardHandler.d.ts.map +1 -1
  30. package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +2 -0
  31. package/esm/model/commandHandlers/drill/drillToInsightHandler.d.ts.map +1 -1
  32. package/esm/model/commandHandlers/drill/drillToInsightHandler.js +3 -1
  33. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
  34. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +30 -29
  35. package/esm/model/commandHandlers/drill/validateDrillAccess.d.ts +6 -0
  36. package/esm/model/commandHandlers/drill/validateDrillAccess.d.ts.map +1 -0
  37. package/esm/model/commandHandlers/drill/validateDrillAccess.js +10 -0
  38. package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.d.ts +45 -0
  39. package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.d.ts.map +1 -0
  40. package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.js +99 -0
  41. package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.d.ts +11 -0
  42. package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.d.ts.map +1 -0
  43. package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.js +71 -0
  44. package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.d.ts +22 -0
  45. package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.d.ts.map +1 -0
  46. package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.js +39 -0
  47. package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.d.ts +21 -0
  48. package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.d.ts.map +1 -0
  49. package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.js +86 -0
  50. package/esm/model/react/useInitializeDashboardStore.d.ts.map +1 -1
  51. package/esm/model/react/useInitializeDashboardStore.js +4 -0
  52. package/esm/model/react/useWidgetExecConfig.d.ts +4 -4
  53. package/esm/model/react/useWidgetExecConfig.d.ts.map +1 -1
  54. package/esm/model/react/useWidgetExecConfig.js +2 -2
  55. package/esm/model/store/catalog/catalogReducers.d.ts +16 -4
  56. package/esm/model/store/catalog/catalogReducers.d.ts.map +1 -1
  57. package/esm/model/store/catalog/catalogReducers.js +15 -3
  58. package/esm/model/store/catalog/catalogSelectors.d.ts +47 -7
  59. package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
  60. package/esm/model/store/catalog/catalogSelectors.js +33 -7
  61. package/esm/model/store/catalog/catalogState.d.ts +30 -9
  62. package/esm/model/store/catalog/catalogState.d.ts.map +1 -1
  63. package/esm/model/store/catalog/catalogState.js +2 -1
  64. package/esm/model/store/catalog/index.d.ts +4 -1
  65. package/esm/model/store/catalog/index.d.ts.map +1 -1
  66. package/esm/model/store/filtering/dashboardFilterSelectors.d.ts +8 -2
  67. package/esm/model/store/filtering/dashboardFilterSelectors.d.ts.map +1 -1
  68. package/esm/model/store/filtering/dashboardFilterSelectors.js +41 -25
  69. package/esm/model/store/filtering/types.d.ts +5 -0
  70. package/esm/model/store/filtering/types.d.ts.map +1 -1
  71. package/esm/model/store/tabs/layout/layoutSelectors.d.ts.map +1 -1
  72. package/esm/model/store/tabs/layout/layoutSelectors.js +2 -1
  73. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +42 -8
  74. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  75. package/esm/model/store/tabs/parameters/parametersHelpers.js +88 -19
  76. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +13 -6
  77. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  78. package/esm/model/store/tabs/parameters/parametersSelectors.js +24 -13
  79. package/esm/model/store/ui/index.d.ts +1 -0
  80. package/esm/model/store/ui/index.d.ts.map +1 -1
  81. package/esm/model/store/ui/uiReducers.d.ts +5 -1
  82. package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
  83. package/esm/model/store/ui/uiReducers.js +8 -4
  84. package/esm/model/store/ui/uiSelectors.d.ts +5 -1
  85. package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
  86. package/esm/model/store/ui/uiSelectors.js +4 -0
  87. package/esm/model/store/ui/uiState.d.ts +2 -1
  88. package/esm/model/store/ui/uiState.d.ts.map +1 -1
  89. package/esm/model/store/ui/uiState.js +1 -0
  90. package/esm/model/store/widgetDrills/drillRestrictionSelectors.d.ts +23 -0
  91. package/esm/model/store/widgetDrills/drillRestrictionSelectors.d.ts.map +1 -0
  92. package/esm/model/store/widgetDrills/drillRestrictionSelectors.js +5 -0
  93. package/esm/model/store/widgetDrills/drillRestrictionUtils.d.ts +5 -0
  94. package/esm/model/store/widgetDrills/drillRestrictionUtils.d.ts.map +1 -0
  95. package/esm/model/store/widgetDrills/drillRestrictionUtils.js +27 -0
  96. package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
  97. package/esm/model/store/widgetDrills/widgetDrillSelectors.js +9 -5
  98. package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.js +1 -0
  99. package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts +4 -2
  100. package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts.map +1 -1
  101. package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.js +12 -3
  102. package/esm/presentation/automations/alerting/utils/items.js +8 -14
  103. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
  104. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +8 -2
  105. package/esm/presentation/automations/contexts/AutomationsContext.d.ts +4 -2
  106. package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
  107. package/esm/presentation/automations/scheduledEmail/hooks/useExportTimezones.js +1 -1
  108. package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +1 -0
  109. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts +4 -2
  110. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts.map +1 -1
  111. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.js +25 -6
  112. package/esm/presentation/automations/shared/automationFilters/components/AutomationAttributeFilter.d.ts.map +1 -1
  113. package/esm/presentation/automations/shared/automationFilters/components/AutomationAttributeFilter.js +16 -2
  114. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
  115. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.js +16 -11
  116. package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.d.ts +9 -0
  117. package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.d.ts.map +1 -0
  118. package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.js +22 -0
  119. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts +2 -2
  120. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts.map +1 -1
  121. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js +17 -5
  122. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts +8 -0
  123. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
  124. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +54 -10
  125. package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.d.ts.map +1 -1
  126. package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.js +3 -2
  127. package/esm/presentation/automations/shared/filters/conversions.d.ts +10 -2
  128. package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -1
  129. package/esm/presentation/automations/shared/filters/conversions.js +15 -6
  130. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.d.ts.map +1 -1
  131. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.js +3 -4
  132. package/esm/presentation/dashboardSettingsDialog/TimezoneOption.d.ts.map +1 -1
  133. package/esm/presentation/dashboardSettingsDialog/TimezoneOption.js +20 -7
  134. package/esm/presentation/dialogs/ExportCsvDialog.d.ts.map +1 -1
  135. package/esm/presentation/dialogs/ExportCsvDialog.js +2 -1
  136. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/IdentifierParametersSection.js +1 -1
  137. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts +2 -1
  138. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts.map +1 -1
  139. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js +19 -1
  140. package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
  141. package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +12 -4
  142. package/esm/presentation/drill/DrillSelect/types.d.ts +1 -0
  143. package/esm/presentation/drill/DrillSelect/types.d.ts.map +1 -1
  144. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts.map +1 -1
  145. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js +4 -2
  146. package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.d.ts.map +1 -1
  147. package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.js +4 -5
  148. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +3 -0
  149. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  150. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +5 -2
  151. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +3 -0
  152. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  153. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +5 -2
  154. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +3 -0
  155. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  156. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +5 -2
  157. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +21 -1
  158. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  159. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +27 -7
  160. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +3 -0
  161. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  162. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +5 -2
  163. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +3 -0
  164. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  165. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +5 -2
  166. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +3 -0
  167. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  168. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +5 -2
  169. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +3 -0
  170. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  171. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +5 -2
  172. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +3 -0
  173. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  174. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +5 -2
  175. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +3 -0
  176. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  177. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +5 -2
  178. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +3 -0
  179. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  180. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +5 -2
  181. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +3 -0
  182. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  183. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +5 -2
  184. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +3 -0
  185. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  186. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +5 -2
  187. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +3 -0
  188. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  189. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +5 -2
  190. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +3 -0
  191. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  192. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +5 -2
  193. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +3 -0
  194. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  195. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +5 -2
  196. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +3 -0
  197. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  198. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +5 -2
  199. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +3 -0
  200. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  201. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +5 -2
  202. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +3 -0
  203. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  204. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +5 -2
  205. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +3 -0
  206. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  207. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +5 -2
  208. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +3 -0
  209. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  210. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +5 -2
  211. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +3 -0
  212. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  213. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +5 -2
  214. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +3 -0
  215. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  216. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +5 -2
  217. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +3 -0
  218. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  219. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +5 -2
  220. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +3 -0
  221. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  222. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +5 -2
  223. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +3 -0
  224. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  225. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +5 -2
  226. package/esm/presentation/widget/common/RestrictedPlaceholder.d.ts +4 -8
  227. package/esm/presentation/widget/common/RestrictedPlaceholder.d.ts.map +1 -1
  228. package/esm/presentation/widget/common/RestrictedPlaceholder.js +16 -23
  229. package/esm/presentation/widget/insight/DefaultInsightBody/DefaultInsightBody.d.ts.map +1 -1
  230. package/esm/presentation/widget/insight/DefaultInsightBody/DefaultInsightBody.js +2 -4
  231. package/esm/presentation/widget/insight/LayeredTableView.d.ts +1 -1
  232. package/esm/presentation/widget/insight/LayeredTableView.d.ts.map +1 -1
  233. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.d.ts.map +1 -1
  234. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js +2 -3
  235. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
  236. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +1 -1
  237. package/esm/presentation/widget/insight/types.d.ts +1 -1
  238. package/esm/presentation/widget/insight/types.d.ts.map +1 -1
  239. package/esm/presentation/widget/richText/RestrictedReferencesDialog.d.ts.map +1 -1
  240. package/esm/presentation/widget/richText/RestrictedReferencesDialog.js +5 -6
  241. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +1 -1
  242. package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList/VisualizationListItem.d.ts.map +1 -1
  243. package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList/VisualizationListItem.js +1 -4
  244. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +2 -3
  245. package/esm/sdk-ui-dashboard.d.ts +88 -61
  246. package/package.json +21 -21
  247. package/styles/css/dashboard.css +1 -7
  248. package/styles/css/dashboard.css.map +1 -1
  249. package/styles/css/dashboardSettingsDialog.css +4 -0
  250. package/styles/css/dashboardSettingsDialog.css.map +1 -1
  251. package/styles/css/export.css +0 -6
  252. package/styles/css/export.css.map +1 -1
  253. package/styles/css/main.css +13 -20
  254. package/styles/css/main.css.map +1 -1
  255. package/styles/css/notifications_channels_dialog.css +1 -7
  256. package/styles/css/notifications_channels_dialog.css.map +1 -1
  257. package/styles/css/richTextWidget.css +4 -0
  258. package/styles/css/richTextWidget.css.map +1 -1
  259. package/styles/scss/dashboardSettingsDialog.scss +5 -0
  260. package/styles/scss/export.scss +0 -9
  261. package/styles/scss/notifications_channels_dialog.scss +1 -10
  262. package/styles/scss/richTextWidget.scss +5 -1
  263. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadMeasureParameterDependencies.d.ts +0 -13
  264. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadMeasureParameterDependencies.d.ts.map +0 -1
  265. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadMeasureParameterDependencies.js +0 -98
  266. package/esm/model/types/drillTypes.d.ts +0 -13
  267. package/esm/model/types/drillTypes.d.ts.map +0 -1
  268. package/esm/model/types/drillTypes.js +0 -14
  269. package/esm/presentation/widget/insight/geoDefaultDisplayFormRefs.d.ts +0 -5
  270. package/esm/presentation/widget/insight/geoDefaultDisplayFormRefs.d.ts.map +0 -1
  271. package/esm/presentation/widget/insight/geoDefaultDisplayFormRefs.js +0 -28
  272. package/esm/presentation/widget/insight/insightToTable.d.ts +0 -74
  273. package/esm/presentation/widget/insight/insightToTable.d.ts.map +0 -1
  274. package/esm/presentation/widget/insight/insightToTable.js +0 -482
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insightParameterDependenciesWorker.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/parameters/insightParameterDependenciesWorker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAW/C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKnE,wBAAgB,qCAAqC,UACQ,gBAAgB,KAAG,YAAY,CAAC,IAAI,CAAC,CAKjG;AA4DD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAElD"}
@@ -0,0 +1,71 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { call, put, select, takeEvery } from "redux-saga/effects";
3
+ import { insightRef, serializeObjRef } from "@gooddata/sdk-model";
4
+ import { selectCatalogInsightParameters, selectCatalogInsightParametersStatus, } from "../../store/catalog/catalogSelectors.js";
5
+ import { catalogActions } from "../../store/catalog/index.js";
6
+ import { insightsActions } from "../../store/insights/index.js";
7
+ import { loadInsightParameterDependencies } from "./loadInsightParameterDependencies.js";
8
+ export function newInsightParameterDependenciesWorker() {
9
+ return function* insightParameterDependenciesWorker(ctx) {
10
+ yield takeEvery(writesInsights, function* onInsightsWritten(action) {
11
+ yield call(registerInsightParameterDependencies, ctx, action);
12
+ });
13
+ };
14
+ }
15
+ function* registerInsightParameterDependencies(ctx, action) {
16
+ const status = yield select(selectCatalogInsightParametersStatus);
17
+ if (status !== "loaded") {
18
+ return;
19
+ }
20
+ const known = yield select(selectCatalogInsightParameters);
21
+ const insights = [
22
+ ...writtenInsights(action),
23
+ ...replacedInsights(action).filter((insight) => !(serializeObjRef(insightRef(insight)) in known)),
24
+ ];
25
+ if (insights.length === 0) {
26
+ return;
27
+ }
28
+ const dependencies = yield call(loadInsightParameterDependencies, ctx, insights, true);
29
+ if (dependencies.status === "loaded") {
30
+ yield put(catalogActions.mergeCatalogInsightParameters(dependencies.byInsight));
31
+ }
32
+ }
33
+ function writesInsights(action) {
34
+ return writtenInsights(action).length > 0 || replacedInsights(action).length > 0;
35
+ }
36
+ function writtenInsights(action) {
37
+ return unbatched(action).flatMap(writtenInsightsOf);
38
+ }
39
+ function writtenInsightsOf(action) {
40
+ if (insightsActions.addInsights.match(action)) {
41
+ return entityPayloadInsights(action.payload);
42
+ }
43
+ if (insightsActions.upsertInsight.match(action)) {
44
+ return [action.payload];
45
+ }
46
+ return [];
47
+ }
48
+ function replacedInsights(action) {
49
+ return unbatched(action).flatMap(replacedInsightsOf);
50
+ }
51
+ function replacedInsightsOf(action) {
52
+ return insightsActions.setInsights.match(action) ? entityPayloadInsights(action.payload) : [];
53
+ }
54
+ function entityPayloadInsights(payload) {
55
+ return Array.isArray(payload) ? [...payload] : Object.values(payload);
56
+ }
57
+ /**
58
+ * The plain actions an action stands for: itself, or the (recursively unbatched) members of a batch.
59
+ *
60
+ * @internal
61
+ */
62
+ export function unbatched(action) {
63
+ return isBatchAction(action) ? action.payload.flatMap(unbatched) : [action];
64
+ }
65
+ function isBatchAction(action) {
66
+ return ("meta" in action &&
67
+ typeof action.meta === "object" &&
68
+ action.meta !== null &&
69
+ "batch" in action.meta &&
70
+ action.meta.batch === true);
71
+ }
@@ -0,0 +1,22 @@
1
+ import { type FilterContextItem, type IDashboard } from "@gooddata/sdk-model";
2
+ import { type ICatalogFilterParametersState } from "../../store/catalog/catalogState.js";
3
+ import { type DashboardContext } from "../../types/commonTypes.js";
4
+ /**
5
+ * Loads the dashboard-wide dashboard-filter → parameter dependency map from the workspace references
6
+ * service.
7
+ *
8
+ * @remarks
9
+ * A dashboard filter is not part of any insight, so the insight-rooted map cannot see the parameters a
10
+ * widget depends on through it. The roots are the objects the filters read (see
11
+ * {@link collectFilterParameterRoots}); they go to the service in the same single `direction: "down"`
12
+ * request shape as the insight roots, and the map is keyed by `serializeObjRef(root)`. Disabled
13
+ * parameters return `uninitialized`; backend errors return `failed`.
14
+ */
15
+ export declare function loadFilterParameterDependencies(ctx: DashboardContext, filters: ReadonlyArray<FilterContextItem>, enableParameters: boolean): Promise<ICatalogFilterParametersState>;
16
+ /**
17
+ * Every dashboard filter of the dashboard being initialized: the filters of each tab plus those of the root
18
+ * filter context. The root context is the single tab of a dashboard without tabs, and the tab state keeps
19
+ * it as a default tab even when tabs exist, so it is always included; roots are deduped downstream.
20
+ */
21
+ export declare function collectDashboardFilterContextItems(dashboard: IDashboard): FilterContextItem[];
22
+ //# sourceMappingURL=loadFilterParameterDependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadFilterParameterDependencies.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/parameters/loadFilterParameterDependencies.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEzF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACjD,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACzC,gBAAgB,EAAE,OAAO,GAC1B,OAAO,CAAC,6BAA6B,CAAC,CAgBxC;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,UAAU,GAAG,iBAAiB,EAAE,CAG7F"}
@@ -0,0 +1,39 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { collectFilterParameterRoots } from "../../store/tabs/parameters/parametersHelpers.js";
3
+ import { loadReachableParameterMap } from "./loadInsightParameterDependencies.js";
4
+ /**
5
+ * Loads the dashboard-wide dashboard-filter → parameter dependency map from the workspace references
6
+ * service.
7
+ *
8
+ * @remarks
9
+ * A dashboard filter is not part of any insight, so the insight-rooted map cannot see the parameters a
10
+ * widget depends on through it. The roots are the objects the filters read (see
11
+ * {@link collectFilterParameterRoots}); they go to the service in the same single `direction: "down"`
12
+ * request shape as the insight roots, and the map is keyed by `serializeObjRef(root)`. Disabled
13
+ * parameters return `uninitialized`; backend errors return `failed`.
14
+ */
15
+ export async function loadFilterParameterDependencies(ctx, filters, enableParameters) {
16
+ if (!enableParameters) {
17
+ return { status: "uninitialized", byRef: {} };
18
+ }
19
+ const roots = collectFilterParameterRoots(filters);
20
+ if (roots.length === 0) {
21
+ return { status: "loaded", byRef: {} };
22
+ }
23
+ try {
24
+ const byRef = await loadReachableParameterMap(ctx, roots);
25
+ return { status: "loaded", byRef };
26
+ }
27
+ catch {
28
+ return { status: "failed", byRef: {} };
29
+ }
30
+ }
31
+ /**
32
+ * Every dashboard filter of the dashboard being initialized: the filters of each tab plus those of the root
33
+ * filter context. The root context is the single tab of a dashboard without tabs, and the tab state keeps
34
+ * it as a default tab even when tabs exist, so it is always included; roots are deduped downstream.
35
+ */
36
+ export function collectDashboardFilterContextItems(dashboard) {
37
+ const tabFilters = (dashboard.tabs ?? []).flatMap((tab) => tab.filterContext?.filters ?? []);
38
+ return [...tabFilters, ...(dashboard.filterContext?.filters ?? [])];
39
+ }
@@ -0,0 +1,21 @@
1
+ import { type IInsight, type IdentifierRef } from "@gooddata/sdk-model";
2
+ import { type ICatalogInsightParametersState } from "../../store/catalog/catalogState.js";
3
+ import { type DashboardContext } from "../../types/commonTypes.js";
4
+ /**
5
+ * Loads the dashboard-wide insight -> parameter dependency map from the workspace references service.
6
+ *
7
+ * @remarks
8
+ * Walks the dependency graph in `direction: "down"` from each insight, then collects the parameter
9
+ * nodes reachable from it through metrics and computed attributes. Disabled parameters return
10
+ * `uninitialized`; backend errors return `failed`.
11
+ */
12
+ export declare function loadInsightParameterDependencies(ctx: DashboardContext, insights: IInsight[], enableParameters: boolean): Promise<ICatalogInsightParametersState>;
13
+ /**
14
+ * Asks the workspace references service for the dependency graph below `roots` (one request for all of
15
+ * them) and maps each root (keyed by `serializeObjRef`) to the parameter refs reachable from it. Throws
16
+ * when the service does; the caller decides how that degrades.
17
+ *
18
+ * @internal
19
+ */
20
+ export declare function loadReachableParameterMap(ctx: DashboardContext, roots: IdentifierRef[]): Promise<Record<string, IdentifierRef[]>>;
21
+ //# sourceMappingURL=loadInsightParameterDependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadInsightParameterDependencies.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/parameters/loadInsightParameterDependencies.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,aAAa,EAIrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CAClD,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,QAAQ,EAAE,EACpB,gBAAgB,EAAE,OAAO,GAC1B,OAAO,CAAC,8BAA8B,CAAC,CAgBzC;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC3C,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAO1C"}
@@ -0,0 +1,86 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { insightRef, isIdentifierRef, serializeObjRef, } from "@gooddata/sdk-model";
3
+ /**
4
+ * Loads the dashboard-wide insight -> parameter dependency map from the workspace references service.
5
+ *
6
+ * @remarks
7
+ * Walks the dependency graph in `direction: "down"` from each insight, then collects the parameter
8
+ * nodes reachable from it through metrics and computed attributes. Disabled parameters return
9
+ * `uninitialized`; backend errors return `failed`.
10
+ */
11
+ export async function loadInsightParameterDependencies(ctx, insights, enableParameters) {
12
+ if (!enableParameters) {
13
+ return { status: "uninitialized", byInsight: {} };
14
+ }
15
+ const roots = insights.map(insightRef).filter(isIdentifierRef);
16
+ if (roots.length === 0) {
17
+ return { status: "loaded", byInsight: {} };
18
+ }
19
+ try {
20
+ const byInsight = await loadReachableParameterMap(ctx, roots);
21
+ return { status: "loaded", byInsight };
22
+ }
23
+ catch {
24
+ return { status: "failed", byInsight: {} };
25
+ }
26
+ }
27
+ /**
28
+ * Asks the workspace references service for the dependency graph below `roots` (one request for all of
29
+ * them) and maps each root (keyed by `serializeObjRef`) to the parameter refs reachable from it. Throws
30
+ * when the service does; the caller decides how that degrades.
31
+ *
32
+ * @internal
33
+ */
34
+ export async function loadReachableParameterMap(ctx, roots) {
35
+ const result = await ctx.backend
36
+ .workspace(ctx.workspace)
37
+ .references()
38
+ .getReferences(roots, { direction: "down" });
39
+ return buildReachableParameterMap(roots, result.edges);
40
+ }
41
+ function buildReachableParameterMap(roots, edges) {
42
+ const adjacency = buildAdjacency(edges);
43
+ const result = {};
44
+ for (const root of roots) {
45
+ result[serializeObjRef(root)] = reachableParameterRefs(graphInsightRef(root), adjacency);
46
+ }
47
+ return result;
48
+ }
49
+ function graphInsightRef(root) {
50
+ return root.type ? root : { ...root, type: "insight" };
51
+ }
52
+ function buildAdjacency(edges) {
53
+ const adjacency = new Map();
54
+ for (const edge of edges) {
55
+ const fromKey = serializeObjRef(edge.from);
56
+ const neighbors = adjacency.get(fromKey);
57
+ if (neighbors) {
58
+ neighbors.push(edge.to);
59
+ }
60
+ else {
61
+ adjacency.set(fromKey, [edge.to]);
62
+ }
63
+ }
64
+ return adjacency;
65
+ }
66
+ function reachableParameterRefs(start, adjacency) {
67
+ const parameters = [];
68
+ const visited = new Set([serializeObjRef(start)]);
69
+ const queue = [start];
70
+ for (let i = 0; i < queue.length; i++) {
71
+ for (const neighbor of adjacency.get(serializeObjRef(queue[i])) ?? []) {
72
+ const key = serializeObjRef(neighbor);
73
+ if (visited.has(key)) {
74
+ continue;
75
+ }
76
+ visited.add(key);
77
+ if (neighbor.type === "parameter") {
78
+ parameters.push(neighbor);
79
+ }
80
+ else {
81
+ queue.push(neighbor);
82
+ }
83
+ }
84
+ }
85
+ return parameters;
86
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"useInitializeDashboardStore.d.ts","sourceRoot":"","sources":["../../../src/model/react/useInitializeDashboardStore.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,KAAK,sBAAsB,EAAwB,MAAM,4BAA4B,CAAC;AAI/F,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,YAAY,CAAC;AA6D/D;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,UAC7B,4BAA4B,KACpC,sBAAsB,GAAG,IA0G3B,CAAC"}
1
+ {"version":3,"file":"useInitializeDashboardStore.d.ts","sourceRoot":"","sources":["../../../src/model/react/useInitializeDashboardStore.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,KAAK,sBAAsB,EAAwB,MAAM,4BAA4B,CAAC;AAI/F,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,YAAY,CAAC;AA6D/D;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,UAC7B,4BAA4B,KACpC,sBAAsB,GAAG,IA4G3B,CAAC"}
@@ -6,6 +6,8 @@ import { enrichMapboxToken, useMapboxToken } from "@gooddata/sdk-ui-geo";
6
6
  import { enrichAgGridToken, useAgGridToken } from "@gooddata/sdk-ui-pivot/next";
7
7
  import { shallowEqualObjects } from "@gooddata/util";
8
8
  import { newDashboardSummaryWorkflowWorker } from "../commandHandlers/dashboard/dashboardSummaryWorkflowWorker.js";
9
+ import { newFilterParameterDependenciesWorker } from "../commandHandlers/parameters/filterParameterDependenciesWorker.js";
10
+ import { newInsightParameterDependenciesWorker } from "../commandHandlers/parameters/insightParameterDependenciesWorker.js";
9
11
  import { newRenderingWorker } from "../commandHandlers/render/renderingWorker.js";
10
12
  import { InitialLoadCorrelationId, initializeDashboardWithPersistedDashboard, } from "../commands/dashboard.js";
11
13
  import { dashboardDeinitialized } from "../events/dashboard.js";
@@ -111,6 +113,8 @@ export const useInitializeDashboardStore = (props) => {
111
113
  isExport: config?.isExport,
112
114
  }),
113
115
  newDashboardSummaryWorkflowWorker(),
116
+ newInsightParameterDependenciesWorker(),
117
+ newFilterParameterDependenciesWorker(),
114
118
  ];
115
119
  // Create new store and fire load dashboard command.
116
120
  const newDashboardStore = createDashboardStore({
@@ -1,4 +1,4 @@
1
- import { type IExecutionConfig, type IInsightDefinition, type ObjRef } from "@gooddata/sdk-model";
1
+ import { type IExecutionConfig, type IInsight, type ObjRef } from "@gooddata/sdk-model";
2
2
  /**
3
3
  * Dashboard-level execution config shared by every execution the dashboard spawns: the execution
4
4
  * timestamp and the effective dashboard timezone. Use this hook for executions that do not go
@@ -13,9 +13,9 @@ export declare function useDashboardExecConfig(): IExecutionConfig;
13
13
  * drill overlay execute consistently instead of each duplicating (and drifting) the logic.
14
14
  *
15
15
  * @param ref - source widget whose tab provides the parameter overrides
16
- * @param insight - the insight being executed (the drill target, not `ref`'s own insight); its metrics
17
- * decide which parameters apply
16
+ * @param insight - the insight being executed (the drill target, not `ref`'s own insight); its
17
+ * dependencies decide which parameters apply
18
18
  * @internal
19
19
  */
20
- export declare function useWidgetExecConfig(ref: ObjRef, insight: IInsightDefinition): IExecutionConfig;
20
+ export declare function useWidgetExecConfig(ref: ObjRef, insight: IInsight): IExecutionConfig;
21
21
  //# sourceMappingURL=useWidgetExecConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetExecConfig.d.ts","sourceRoot":"","sources":["../../../src/model/react/useWidgetExecConfig.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AASlG;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAWzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,gBAAgB,CAe9F"}
1
+ {"version":3,"file":"useWidgetExecConfig.d.ts","sourceRoot":"","sources":["../../../src/model/react/useWidgetExecConfig.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AASxF;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAWzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,gBAAgB,CAepF"}
@@ -27,8 +27,8 @@ export function useDashboardExecConfig() {
27
27
  * drill overlay execute consistently instead of each duplicating (and drifting) the logic.
28
28
  *
29
29
  * @param ref - source widget whose tab provides the parameter overrides
30
- * @param insight - the insight being executed (the drill target, not `ref`'s own insight); its metrics
31
- * decide which parameters apply
30
+ * @param insight - the insight being executed (the drill target, not `ref`'s own insight); its
31
+ * dependencies decide which parameters apply
32
32
  * @internal
33
33
  */
34
34
  export function useWidgetExecConfig(ref, insight) {
@@ -1,6 +1,6 @@
1
1
  import { type Action, type CaseReducer } from "@reduxjs/toolkit";
2
- import { type ICatalogAttribute, type ICatalogAttributeHierarchy, type ICatalogComputedAttribute, type ICatalogDateDataset, type ICatalogFact, type ICatalogMeasure, type IDateHierarchyTemplate } from "@gooddata/sdk-model";
3
- import { type CatalogState, type ICatalogMeasureParametersState, type ICatalogParametersState } from "./catalogState.js";
2
+ import { type ICatalogAttribute, type ICatalogAttributeHierarchy, type ICatalogComputedAttribute, type ICatalogDateDataset, type ICatalogFact, type ICatalogMeasure, type IDateHierarchyTemplate, type IdentifierRef } from "@gooddata/sdk-model";
3
+ import { type CatalogState, type ICatalogFilterParametersState, type ICatalogInsightParametersState, type ICatalogParametersState } from "./catalogState.js";
4
4
  type CatalogReducer<A extends Action> = CaseReducer<CatalogState, A>;
5
5
  /**
6
6
  * @public
@@ -46,8 +46,20 @@ export declare const catalogReducers: {
46
46
  payload: ICatalogParametersState;
47
47
  type: string;
48
48
  }>;
49
- setCatalogMeasureParameters: CatalogReducer<{
50
- payload: ICatalogMeasureParametersState;
49
+ setCatalogInsightParameters: CatalogReducer<{
50
+ payload: ICatalogInsightParametersState;
51
+ type: string;
52
+ }>;
53
+ mergeCatalogInsightParameters: CatalogReducer<{
54
+ payload: Record<string, IdentifierRef[]>;
55
+ type: string;
56
+ }>;
57
+ setCatalogFilterParameters: CatalogReducer<{
58
+ payload: ICatalogFilterParametersState;
59
+ type: string;
60
+ }>;
61
+ mergeCatalogFilterParameters: CatalogReducer<{
62
+ payload: Record<string, IdentifierRef[]>;
51
63
  type: string;
52
64
  }>;
53
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"catalogReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC9B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC/B,MAAM,mBAAmB,CAAC;AAE3B,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpD,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACjD,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACrD,CAAC;AAsBF;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC5C,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAqDF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ3B,CAAC"}
1
+ {"version":3,"file":"catalogReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC/B,MAAM,mBAAmB,CAAC;AAE3B,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpD,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACjD,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACrD,CAAC;AAsBF;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC5C,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AA0EF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW3B,CAAC"}
@@ -33,8 +33,17 @@ const deleteAttributeHierarchy = (state, action) => {
33
33
  const setCatalogParameters = (state, action) => {
34
34
  state.parameters = action.payload;
35
35
  };
36
- const setCatalogMeasureParameters = (state, action) => {
37
- state.measureParameters = action.payload;
36
+ const setCatalogInsightParameters = (state, action) => {
37
+ state.insightParameters = action.payload;
38
+ };
39
+ const mergeCatalogInsightParameters = (state, action) => {
40
+ Object.assign(state.insightParameters.byInsight, action.payload);
41
+ };
42
+ const setCatalogFilterParameters = (state, action) => {
43
+ state.filterParameters = action.payload;
44
+ };
45
+ const mergeCatalogFilterParameters = (state, action) => {
46
+ Object.assign(state.filterParameters.byRef, action.payload);
38
47
  };
39
48
  export const catalogReducers = {
40
49
  setCatalogItems,
@@ -43,5 +52,8 @@ export const catalogReducers = {
43
52
  updateAttributeHierarchy,
44
53
  deleteAttributeHierarchy,
45
54
  setCatalogParameters,
46
- setCatalogMeasureParameters,
55
+ setCatalogInsightParameters,
56
+ mergeCatalogInsightParameters,
57
+ setCatalogFilterParameters,
58
+ mergeCatalogFilterParameters,
47
59
  };
@@ -1,8 +1,8 @@
1
1
  import { type IAttributeDisplayFormMetadataObject, type ICatalogAttribute, type ICatalogAttributeHierarchy, type ICatalogComputedAttribute, type ICatalogDateAttribute, type ICatalogDateAttributeHierarchy, type ICatalogDateDataset, type ICatalogFact, type ICatalogMeasure, type IDateHierarchyTemplate, type IParameterMetadataObject, type IdentifierRef, type ObjRef } from "@gooddata/sdk-model";
2
2
  import { type CatalogDateAttributeWithDataset } from "../../../_staging/catalog/dateAttributeWithDatasetMap.js";
3
3
  import { type ObjRefMap } from "../../../_staging/metadata/objRefMap.js";
4
- import { type DashboardSelector } from "../types.js";
5
- import { type CatalogMeasureParametersStatus, type CatalogParametersStatus } from "./catalogState.js";
4
+ import { type DashboardSelector, type DashboardState } from "../types.js";
5
+ import { type CatalogFilterParametersStatus, type CatalogInsightParametersStatus, type CatalogParametersStatus } from "./catalogState.js";
6
6
  /**
7
7
  * @public
8
8
  */
@@ -53,18 +53,33 @@ export declare const selectCatalogParametersStatus: DashboardSelector<CatalogPar
53
53
  */
54
54
  export declare const selectCatalogParametersIsLoaded: DashboardSelector<boolean>;
55
55
  /**
56
- * Returns the dashboard-wide map from metric ref string to the parameter refs the metric depends on.
57
- * The map is populated during dashboard initialization from the workspace references service.
56
+ * Returns the dashboard-wide map from serialized insight ref to the parameter refs the insight depends on.
57
+ * The map is populated during dashboard initialization from the workspace references service and extended
58
+ * when insights are added later.
58
59
  *
59
60
  * @alpha
60
61
  */
61
- export declare const selectCatalogMeasureParameters: DashboardSelector<Record<string, IdentifierRef[]>>;
62
+ export declare const selectCatalogInsightParameters: DashboardSelector<Record<string, IdentifierRef[]>>;
62
63
  /**
63
- * Returns the load status of the dashboard-wide metric → parameter dependency map.
64
+ * Returns the load status of the dashboard-wide insight → parameter dependency map.
64
65
  *
65
66
  * @alpha
66
67
  */
67
- export declare const selectCatalogMeasureParametersStatus: DashboardSelector<CatalogMeasureParametersStatus>;
68
+ export declare const selectCatalogInsightParametersStatus: DashboardSelector<CatalogInsightParametersStatus>;
69
+ /**
70
+ * Returns the dashboard-wide map from the serialized ref of an object a dashboard filter reads (a computed
71
+ * attribute, a metric) to the parameter refs it depends on. Populated during dashboard initialization from
72
+ * the workspace references service and extended when the filter context gains filters on other objects.
73
+ *
74
+ * @alpha
75
+ */
76
+ export declare const selectCatalogFilterParameters: DashboardSelector<Record<string, IdentifierRef[]>>;
77
+ /**
78
+ * Returns the load status of the dashboard-wide dashboard-filter → parameter dependency map.
79
+ *
80
+ * @alpha
81
+ */
82
+ export declare const selectCatalogFilterParametersStatus: DashboardSelector<CatalogFilterParametersStatus>;
68
83
  /**
69
84
  * @alpha
70
85
  */
@@ -125,6 +140,31 @@ export declare const selectAdhocDateHierarchies: DashboardSelector<ICatalogDateA
125
140
  * @alpha
126
141
  */
127
142
  export declare const selectAllCatalogAttributeHierarchies: DashboardSelector<(ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[]>;
143
+ /**
144
+ * Hierarchies used for drilling must be readable in their entirety. Do not bridge a missing
145
+ * level, or offer an entry point that will encounter an inaccessible level later.
146
+ */
147
+ export declare const selectDrillableAttributeHierarchies: ((state: DashboardState) => (ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[]) & {
148
+ clearCache: () => void;
149
+ resultsCount: () => number;
150
+ resetResultsCount: () => void;
151
+ } & {
152
+ resultFunc: (resultFuncArgs_0: (ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[], resultFuncArgs_1: ICatalogAttribute[], resultFuncArgs_2: ICatalogDateAttribute[], resultFuncArgs_3: boolean) => (ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[];
153
+ memoizedResultFunc: ((resultFuncArgs_0: (ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[], resultFuncArgs_1: ICatalogAttribute[], resultFuncArgs_2: ICatalogDateAttribute[], resultFuncArgs_3: boolean) => (ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[]) & {
154
+ clearCache: () => void;
155
+ resultsCount: () => number;
156
+ resetResultsCount: () => void;
157
+ };
158
+ lastResult: () => (ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[];
159
+ dependencies: [DashboardSelector<(ICatalogAttributeHierarchy | ICatalogDateAttributeHierarchy)[]>, DashboardSelector<ICatalogAttribute[]>, DashboardSelector<ICatalogDateAttribute[]>, DashboardSelector<boolean>];
160
+ recomputations: () => number;
161
+ resetRecomputations: () => void;
162
+ dependencyRecomputations: () => number;
163
+ resetDependencyRecomputations: () => void;
164
+ } & {
165
+ memoize: typeof import("@reduxjs/toolkit").weakMapMemoize;
166
+ argsMemoize: typeof import("@reduxjs/toolkit").weakMapMemoize;
167
+ };
128
168
  /**
129
169
  * @alpha
130
170
  */
@@ -1 +1 @@
1
- {"version":3,"file":"catalogSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogSelectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalogSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogSelectors.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { createDisplayFormMap } from "../../../_staging/catalog/displayFormMap.j
8
8
  import { newCatalogAttributeMap, newCatalogDateDatasetMap, newCatalogMeasureMap, } from "../../../_staging/metadata/objRefMap.js";
9
9
  import { createMemoizedSelector } from "../_infra/selectors.js";
10
10
  import { selectBackendCapabilities, selectSupportsAttributeHierarchies, } from "../backendCapabilities/backendCapabilitiesSelectors.js";
11
- import { selectLocale } from "../config/configSelectors.js";
11
+ import { selectEnableDashboardPartialRendering, selectLocale } from "../config/configSelectors.js";
12
12
  const selectSelf = createSelector((state) => state, (state) => state.catalog);
13
13
  /**
14
14
  * @public
@@ -64,18 +64,33 @@ export const selectCatalogParametersStatus = createSelector(selectSelf, (state)
64
64
  */
65
65
  export const selectCatalogParametersIsLoaded = createSelector(selectCatalogParametersStatus, (status) => status === "loaded");
66
66
  /**
67
- * Returns the dashboard-wide map from metric ref string to the parameter refs the metric depends on.
68
- * The map is populated during dashboard initialization from the workspace references service.
67
+ * Returns the dashboard-wide map from serialized insight ref to the parameter refs the insight depends on.
68
+ * The map is populated during dashboard initialization from the workspace references service and extended
69
+ * when insights are added later.
69
70
  *
70
71
  * @alpha
71
72
  */
72
- export const selectCatalogMeasureParameters = createSelector(selectSelf, (state) => state.measureParameters.byMetric);
73
+ export const selectCatalogInsightParameters = createSelector(selectSelf, (state) => state.insightParameters.byInsight);
73
74
  /**
74
- * Returns the load status of the dashboard-wide metric → parameter dependency map.
75
+ * Returns the load status of the dashboard-wide insight → parameter dependency map.
75
76
  *
76
77
  * @alpha
77
78
  */
78
- export const selectCatalogMeasureParametersStatus = createSelector(selectSelf, (state) => state.measureParameters.status);
79
+ export const selectCatalogInsightParametersStatus = createSelector(selectSelf, (state) => state.insightParameters.status);
80
+ /**
81
+ * Returns the dashboard-wide map from the serialized ref of an object a dashboard filter reads (a computed
82
+ * attribute, a metric) to the parameter refs it depends on. Populated during dashboard initialization from
83
+ * the workspace references service and extended when the filter context gains filters on other objects.
84
+ *
85
+ * @alpha
86
+ */
87
+ export const selectCatalogFilterParameters = createSelector(selectSelf, (state) => state.filterParameters.byRef);
88
+ /**
89
+ * Returns the load status of the dashboard-wide dashboard-filter → parameter dependency map.
90
+ *
91
+ * @alpha
92
+ */
93
+ export const selectCatalogFilterParametersStatus = createSelector(selectSelf, (state) => state.filterParameters.status);
79
94
  /**
80
95
  * @alpha
81
96
  */
@@ -174,6 +189,17 @@ export const selectAdhocDateHierarchies = createSelector([selectDateHierarchyTem
174
189
  export const selectAllCatalogAttributeHierarchies = createSelector([selectCatalogAttributeHierarchies, selectAdhocDateHierarchies], (catalogAttributeHierarchies, adhocDateHierarchies) => {
175
190
  return [...catalogAttributeHierarchies, ...adhocDateHierarchies];
176
191
  });
192
+ /**
193
+ * Hierarchies used for drilling must be readable in their entirety. Do not bridge a missing
194
+ * level, or offer an entry point that will encounter an inaccessible level later.
195
+ */
196
+ export const selectDrillableAttributeHierarchies = createSelector(selectAllCatalogAttributeHierarchies, selectCatalogAttributes, selectCatalogDateAttributes, selectEnableDashboardPartialRendering, (hierarchies, attributes, dateAttributes, partialRendering) => {
197
+ if (!partialRendering) {
198
+ return hierarchies;
199
+ }
200
+ const readableAttributes = [...attributes, ...dateAttributes];
201
+ return hierarchies.filter((hierarchy) => getHierarchyAttributes(hierarchy).every((ref) => readableAttributes.some(({ attribute }) => areObjRefsEqual(attribute.ref, ref))));
202
+ });
177
203
  /**
178
204
  * @alpha
179
205
  */
@@ -183,7 +209,7 @@ export const selectAttributesWithDrillDown = createSelector([selectCatalogAttrib
183
209
  /**
184
210
  * @alpha
185
211
  */
186
- export const selectAttributesWithHierarchyDescendants = createSelector([selectCatalogAttributes, selectCatalogDateAttributes, selectAllCatalogAttributeHierarchies], (attributes = [], dateAttributes = [], attributeHierarchies = []) => {
212
+ export const selectAttributesWithHierarchyDescendants = createSelector([selectCatalogAttributes, selectCatalogDateAttributes, selectDrillableAttributeHierarchies], (attributes = [], dateAttributes = [], attributeHierarchies = []) => {
187
213
  return getAttributesWithHierarchyDescendants(attributes, dateAttributes, attributeHierarchies);
188
214
  });
189
215
  /**
@@ -15,21 +15,40 @@ export interface ICatalogParametersState {
15
15
  parameters: IParameterMetadataObject[];
16
16
  }
17
17
  /**
18
- * Status of the dashboard-wide metric → parameter dependency map.
18
+ * Status of the dashboard-wide insight → parameter dependency map.
19
19
  *
20
20
  * @alpha
21
21
  */
22
- export type CatalogMeasureParametersStatus = "uninitialized" | "loading" | "loaded" | "failed";
22
+ export type CatalogInsightParametersStatus = "uninitialized" | "loading" | "loaded" | "failed";
23
23
  /**
24
- * Maps each referenced metric (keyed by `objRefToString(metricRef)`) to the parameter refs the
25
- * metric depends on, as reported by the workspace references service. Drives runtime parameter
26
- * applicability for widget execution.
24
+ * Maps each dashboard insight (keyed by `serializeObjRef(insightRef)`) to the parameter refs it
25
+ * depends on through its metrics and computed attributes, as reported by the workspace references
26
+ * service. Drives runtime parameter applicability for widget execution.
27
27
  *
28
28
  * @alpha
29
29
  */
30
- export interface ICatalogMeasureParametersState {
31
- status: CatalogMeasureParametersStatus;
32
- byMetric: Record<string, IdentifierRef[]>;
30
+ export interface ICatalogInsightParametersState {
31
+ status: CatalogInsightParametersStatus;
32
+ byInsight: Record<string, IdentifierRef[]>;
33
+ }
34
+ /**
35
+ * Status of the dashboard-wide dashboard-filter → parameter dependency map.
36
+ *
37
+ * @alpha
38
+ */
39
+ export type CatalogFilterParametersStatus = "uninitialized" | "loading" | "loaded" | "failed";
40
+ /**
41
+ * Maps each object a dashboard filter reads (keyed by `serializeObjRef(ref)`: the computed attribute
42
+ * of an attribute filter, the metric or a computed-attribute dimension of a measure value filter) to
43
+ * the parameter refs it depends on, as reported by the workspace references service. Complements
44
+ * {@link ICatalogInsightParametersState} for the parameters a widget reaches only through dashboard
45
+ * filters, which are not part of its insight.
46
+ *
47
+ * @alpha
48
+ */
49
+ export interface ICatalogFilterParametersState {
50
+ status: CatalogFilterParametersStatus;
51
+ byRef: Record<string, IdentifierRef[]>;
33
52
  }
34
53
  /**
35
54
  * @public
@@ -57,7 +76,9 @@ export type CatalogState = {
57
76
  /** @alpha */
58
77
  parameters: ICatalogParametersState;
59
78
  /** @alpha */
60
- measureParameters: ICatalogMeasureParametersState;
79
+ insightParameters: ICatalogInsightParametersState;
80
+ /** @alpha */
81
+ filterParameters: ICatalogFilterParametersState;
61
82
  };
62
83
  export declare const catalogInitialState: CatalogState;
63
84
  //# sourceMappingURL=catalogState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalogState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogState.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtG;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/F;;;;;;GAMG;AACH,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,8BAA8B,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY;IACZ,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,YAAY;IACZ,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,YAAY;IACZ,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY;IACZ,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY;IACZ,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACjD,YAAY;IACZ,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,aAAa;IACb,UAAU,EAAE,uBAAuB,CAAC;IACpC,aAAa;IACb,iBAAiB,EAAE,8BAA8B,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAUjC,CAAC"}
1
+ {"version":3,"file":"catalogState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogState.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtG;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/F;;;;;;GAMG;AACH,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,8BAA8B,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9F;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC1C,MAAM,EAAE,6BAA6B,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY;IACZ,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,YAAY;IACZ,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,YAAY;IACZ,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY;IACZ,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY;IACZ,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACjD,YAAY;IACZ,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,aAAa;IACb,UAAU,EAAE,uBAAuB,CAAC;IACpC,aAAa;IACb,iBAAiB,EAAE,8BAA8B,CAAC;IAClD,aAAa;IACb,gBAAgB,EAAE,6BAA6B,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAWjC,CAAC"}