@gooddata/sdk-ui-dashboard 11.2.0-alpha.3 → 11.2.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 (323) hide show
  1. package/NOTICE +3 -3
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/index.d.ts +1 -0
  5. package/esm/index.d.ts.map +1 -1
  6. package/esm/index.js +1 -0
  7. package/esm/index.js.map +1 -1
  8. package/esm/internal.d.ts +2 -0
  9. package/esm/internal.d.ts.map +1 -1
  10. package/esm/internal.js +2 -0
  11. package/esm/internal.js.map +1 -1
  12. package/esm/kdaDialog/KdaDialog.d.ts +6 -0
  13. package/esm/kdaDialog/KdaDialog.d.ts.map +1 -0
  14. package/esm/kdaDialog/KdaDialog.js +12 -0
  15. package/esm/kdaDialog/KdaDialog.js.map +1 -0
  16. package/esm/kdaDialog/components/KdaBar.d.ts +8 -0
  17. package/esm/kdaDialog/components/KdaBar.d.ts.map +1 -0
  18. package/esm/kdaDialog/components/KdaBar.js +6 -0
  19. package/esm/kdaDialog/components/KdaBar.js.map +1 -0
  20. package/esm/kdaDialog/components/KdaContent.d.ts +12 -0
  21. package/esm/kdaDialog/components/KdaContent.d.ts.map +1 -0
  22. package/esm/kdaDialog/components/KdaContent.js +12 -0
  23. package/esm/kdaDialog/components/KdaContent.js.map +1 -0
  24. package/esm/kdaDialog/components/KdaFooter.d.ts +8 -0
  25. package/esm/kdaDialog/components/KdaFooter.d.ts.map +1 -0
  26. package/esm/kdaDialog/components/KdaFooter.js +10 -0
  27. package/esm/kdaDialog/components/KdaFooter.js.map +1 -0
  28. package/esm/kdaDialog/components/KdaHeader.d.ts +9 -0
  29. package/esm/kdaDialog/components/KdaHeader.d.ts.map +1 -0
  30. package/esm/kdaDialog/components/KdaHeader.js +6 -0
  31. package/esm/kdaDialog/components/KdaHeader.js.map +1 -0
  32. package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts +2 -0
  33. package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts.map +1 -0
  34. package/esm/kdaDialog/components/KdaKeyDriverChart.js +19 -0
  35. package/esm/kdaDialog/components/KdaKeyDriverChart.js.map +1 -0
  36. package/esm/kdaDialog/components/KdaSummaryDrivers.d.ts +2 -0
  37. package/esm/kdaDialog/components/KdaSummaryDrivers.d.ts.map +1 -0
  38. package/esm/kdaDialog/components/KdaSummaryDrivers.js +29 -0
  39. package/esm/kdaDialog/components/KdaSummaryDrivers.js.map +1 -0
  40. package/esm/kdaDialog/components/KdaSummaryHeadline.d.ts +2 -0
  41. package/esm/kdaDialog/components/KdaSummaryHeadline.d.ts.map +1 -0
  42. package/esm/kdaDialog/components/KdaSummaryHeadline.js +17 -0
  43. package/esm/kdaDialog/components/KdaSummaryHeadline.js.map +1 -0
  44. package/esm/kdaDialog/components/bars/AttributeBar.d.ts +11 -0
  45. package/esm/kdaDialog/components/bars/AttributeBar.d.ts.map +1 -0
  46. package/esm/kdaDialog/components/bars/AttributeBar.js +49 -0
  47. package/esm/kdaDialog/components/bars/AttributeBar.js.map +1 -0
  48. package/esm/kdaDialog/components/bars/DateBar.d.ts +8 -0
  49. package/esm/kdaDialog/components/bars/DateBar.d.ts.map +1 -0
  50. package/esm/kdaDialog/components/bars/DateBar.js +38 -0
  51. package/esm/kdaDialog/components/bars/DateBar.js.map +1 -0
  52. package/esm/kdaDialog/components/bars/MetricBar.d.ts +7 -0
  53. package/esm/kdaDialog/components/bars/MetricBar.d.ts.map +1 -0
  54. package/esm/kdaDialog/components/bars/MetricBar.js +9 -0
  55. package/esm/kdaDialog/components/bars/MetricBar.js.map +1 -0
  56. package/esm/kdaDialog/components/columns/driverColumn.d.ts +5 -0
  57. package/esm/kdaDialog/components/columns/driverColumn.d.ts.map +1 -0
  58. package/esm/kdaDialog/components/columns/driverColumn.js +13 -0
  59. package/esm/kdaDialog/components/columns/driverColumn.js.map +1 -0
  60. package/esm/kdaDialog/components/columns/driversCount.d.ts +5 -0
  61. package/esm/kdaDialog/components/columns/driversCount.d.ts.map +1 -0
  62. package/esm/kdaDialog/components/columns/driversCount.js +10 -0
  63. package/esm/kdaDialog/components/columns/driversCount.js.map +1 -0
  64. package/esm/kdaDialog/components/columns/titleColumn.d.ts +5 -0
  65. package/esm/kdaDialog/components/columns/titleColumn.d.ts.map +1 -0
  66. package/esm/kdaDialog/components/columns/titleColumn.js +11 -0
  67. package/esm/kdaDialog/components/columns/titleColumn.js.map +1 -0
  68. package/esm/kdaDialog/components/headlines/DateHeadline.d.ts +6 -0
  69. package/esm/kdaDialog/components/headlines/DateHeadline.d.ts.map +1 -0
  70. package/esm/kdaDialog/components/headlines/DateHeadline.js +8 -0
  71. package/esm/kdaDialog/components/headlines/DateHeadline.js.map +1 -0
  72. package/esm/kdaDialog/components/headlines/DiffHeadline.d.ts +6 -0
  73. package/esm/kdaDialog/components/headlines/DiffHeadline.d.ts.map +1 -0
  74. package/esm/kdaDialog/components/headlines/DiffHeadline.js +8 -0
  75. package/esm/kdaDialog/components/headlines/DiffHeadline.js.map +1 -0
  76. package/esm/kdaDialog/components/items/KeyDriverItem.d.ts +7 -0
  77. package/esm/kdaDialog/components/items/KeyDriverItem.d.ts.map +1 -0
  78. package/esm/kdaDialog/components/items/KeyDriverItem.js +12 -0
  79. package/esm/kdaDialog/components/items/KeyDriverItem.js.map +1 -0
  80. package/esm/kdaDialog/components/items/SummaryItem.d.ts +6 -0
  81. package/esm/kdaDialog/components/items/SummaryItem.d.ts.map +1 -0
  82. package/esm/kdaDialog/components/items/SummaryItem.js +20 -0
  83. package/esm/kdaDialog/components/items/SummaryItem.js.map +1 -0
  84. package/esm/kdaDialog/composition/FiltersBar.d.ts +2 -0
  85. package/esm/kdaDialog/composition/FiltersBar.d.ts.map +1 -0
  86. package/esm/kdaDialog/composition/FiltersBar.js +41 -0
  87. package/esm/kdaDialog/composition/FiltersBar.js.map +1 -0
  88. package/esm/kdaDialog/composition/KeyDriversFooter.d.ts +2 -0
  89. package/esm/kdaDialog/composition/KeyDriversFooter.d.ts.map +1 -0
  90. package/esm/kdaDialog/composition/KeyDriversFooter.js +32 -0
  91. package/esm/kdaDialog/composition/KeyDriversFooter.js.map +1 -0
  92. package/esm/kdaDialog/composition/KeyDriversOverview.d.ts +6 -0
  93. package/esm/kdaDialog/composition/KeyDriversOverview.d.ts.map +1 -0
  94. package/esm/kdaDialog/composition/KeyDriversOverview.js +42 -0
  95. package/esm/kdaDialog/composition/KeyDriversOverview.js.map +1 -0
  96. package/esm/kdaDialog/composition/KeyDriversPanel.d.ts +6 -0
  97. package/esm/kdaDialog/composition/KeyDriversPanel.d.ts.map +1 -0
  98. package/esm/kdaDialog/composition/KeyDriversPanel.js +64 -0
  99. package/esm/kdaDialog/composition/KeyDriversPanel.js.map +1 -0
  100. package/esm/kdaDialog/composition/MetricsBar.d.ts +2 -0
  101. package/esm/kdaDialog/composition/MetricsBar.d.ts.map +1 -0
  102. package/esm/kdaDialog/composition/MetricsBar.js +12 -0
  103. package/esm/kdaDialog/composition/MetricsBar.js.map +1 -0
  104. package/esm/kdaDialog/dialog/KdaDialog.d.ts +6 -0
  105. package/esm/kdaDialog/dialog/KdaDialog.d.ts.map +1 -0
  106. package/esm/kdaDialog/dialog/KdaDialog.js +29 -0
  107. package/esm/kdaDialog/dialog/KdaDialog.js.map +1 -0
  108. package/esm/kdaDialog/dialog/KdaDialogSections.d.ts +12 -0
  109. package/esm/kdaDialog/dialog/KdaDialogSections.d.ts.map +1 -0
  110. package/esm/kdaDialog/dialog/KdaDialogSections.js +16 -0
  111. package/esm/kdaDialog/dialog/KdaDialogSections.js.map +1 -0
  112. package/esm/kdaDialog/dialog/hooks/useKdaDialogAccessibility.d.ts +10 -0
  113. package/esm/kdaDialog/dialog/hooks/useKdaDialogAccessibility.d.ts.map +1 -0
  114. package/esm/kdaDialog/dialog/hooks/useKdaDialogAccessibility.js +25 -0
  115. package/esm/kdaDialog/dialog/hooks/useKdaDialogAccessibility.js.map +1 -0
  116. package/esm/kdaDialog/index.d.ts +3 -0
  117. package/esm/kdaDialog/index.d.ts.map +1 -0
  118. package/esm/kdaDialog/index.js +3 -0
  119. package/esm/kdaDialog/index.js.map +1 -0
  120. package/esm/kdaDialog/internal.d.ts +5 -0
  121. package/esm/kdaDialog/internal.d.ts.map +1 -0
  122. package/esm/kdaDialog/internal.js +5 -0
  123. package/esm/kdaDialog/internal.js.map +1 -0
  124. package/esm/kdaDialog/internalTypes.d.ts +41 -0
  125. package/esm/kdaDialog/internalTypes.d.ts.map +1 -0
  126. package/esm/kdaDialog/internalTypes.js +3 -0
  127. package/esm/kdaDialog/internalTypes.js.map +1 -0
  128. package/esm/kdaDialog/providers/KdaState.d.ts +11 -0
  129. package/esm/kdaDialog/providers/KdaState.d.ts.map +1 -0
  130. package/esm/kdaDialog/providers/KdaState.js +42 -0
  131. package/esm/kdaDialog/providers/KdaState.js.map +1 -0
  132. package/esm/kdaDialog/providers/KdaStore.d.ts +6 -0
  133. package/esm/kdaDialog/providers/KdaStore.d.ts.map +1 -0
  134. package/esm/kdaDialog/providers/KdaStore.js +9 -0
  135. package/esm/kdaDialog/providers/KdaStore.js.map +1 -0
  136. package/esm/kdaDialog/types.d.ts +22 -0
  137. package/esm/kdaDialog/types.d.ts.map +1 -0
  138. package/esm/kdaDialog/types.js +3 -0
  139. package/esm/kdaDialog/types.js.map +1 -0
  140. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.d.ts.map +1 -1
  141. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js +2 -3
  142. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js.map +1 -1
  143. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts +1 -1
  144. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
  145. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +11 -13
  146. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js.map +1 -1
  147. package/esm/model/commandHandlers/widgets/validation/filterValidation.d.ts.map +1 -1
  148. package/esm/model/commandHandlers/widgets/validation/filterValidation.js +3 -10
  149. package/esm/model/commandHandlers/widgets/validation/filterValidation.js.map +1 -1
  150. package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
  151. package/esm/model/store/catalog/catalogSelectors.js +2 -8
  152. package/esm/model/store/catalog/catalogSelectors.js.map +1 -1
  153. package/esm/model/store/config/configSelectors.d.ts +0 -45
  154. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  155. package/esm/model/store/config/configSelectors.js +1 -61
  156. package/esm/model/store/config/configSelectors.js.map +1 -1
  157. package/esm/model/store/entitlements/entitlementsSelectors.d.ts +0 -4
  158. package/esm/model/store/entitlements/entitlementsSelectors.d.ts.map +1 -1
  159. package/esm/model/store/entitlements/entitlementsSelectors.js +0 -6
  160. package/esm/model/store/entitlements/entitlementsSelectors.js.map +1 -1
  161. package/esm/model/store/index.d.ts +3 -3
  162. package/esm/model/store/index.d.ts.map +1 -1
  163. package/esm/model/store/index.js +3 -3
  164. package/esm/model/store/index.js.map +1 -1
  165. package/esm/model/store/topBar/topBarSelectors.d.ts +0 -14
  166. package/esm/model/store/topBar/topBarSelectors.d.ts.map +1 -1
  167. package/esm/model/store/topBar/topBarSelectors.js +7 -36
  168. package/esm/model/store/topBar/topBarSelectors.js.map +1 -1
  169. package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
  170. package/esm/model/store/widgetDrills/widgetDrillSelectors.js +18 -26
  171. package/esm/model/store/widgetDrills/widgetDrillSelectors.js.map +1 -1
  172. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.d.ts.map +1 -1
  173. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js +4 -3
  174. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js.map +1 -1
  175. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts.map +1 -1
  176. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.js +19 -21
  177. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.js.map +1 -1
  178. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts.map +1 -1
  179. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js +4 -8
  180. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js.map +1 -1
  181. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts.map +1 -1
  182. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js +19 -19
  183. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js.map +1 -1
  184. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.d.ts.map +1 -1
  185. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.js +5 -9
  186. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertDestinationSelect.js.map +1 -1
  187. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts.map +1 -1
  188. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.js +2 -8
  189. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.js.map +1 -1
  190. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertThresholdInput.d.ts +12 -0
  191. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertThresholdInput.d.ts.map +1 -0
  192. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertThresholdInput.js +7 -0
  193. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertThresholdInput.js.map +1 -0
  194. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts.map +1 -1
  195. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.js +2 -9
  196. package/esm/presentation/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.js.map +1 -1
  197. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts +1 -0
  198. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts.map +1 -1
  199. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useEditAlert.js +5 -1
  200. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useEditAlert.js.map +1 -1
  201. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useThresholdValue.d.ts +1 -0
  202. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useThresholdValue.d.ts.map +1 -1
  203. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useThresholdValue.js +14 -0
  204. package/esm/presentation/alerting/DefaultAlertingDialog/hooks/useThresholdValue.js.map +1 -1
  205. package/esm/presentation/automationFilters/components/AutomationAttributeFilter.d.ts.map +1 -1
  206. package/esm/presentation/automationFilters/components/AutomationAttributeFilter.js +22 -12
  207. package/esm/presentation/automationFilters/components/AutomationAttributeFilter.js.map +1 -1
  208. package/esm/presentation/automationFilters/components/AutomationAttributeFilterContext.d.ts +3 -1
  209. package/esm/presentation/automationFilters/components/AutomationAttributeFilterContext.d.ts.map +1 -1
  210. package/esm/presentation/automationFilters/components/AutomationAttributeFilterContext.js +10 -2
  211. package/esm/presentation/automationFilters/components/AutomationAttributeFilterContext.js.map +1 -1
  212. package/esm/presentation/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
  213. package/esm/presentation/automationFilters/components/AutomationFiltersSelect.js +26 -11
  214. package/esm/presentation/automationFilters/components/AutomationFiltersSelect.js.map +1 -1
  215. package/esm/presentation/automationFilters/useAutomationFilters.d.ts +3 -0
  216. package/esm/presentation/automationFilters/useAutomationFilters.d.ts.map +1 -1
  217. package/esm/presentation/automationFilters/useAutomationFilters.js +43 -5
  218. package/esm/presentation/automationFilters/useAutomationFilters.js.map +1 -1
  219. package/esm/presentation/automationFilters/utils.d.ts +2 -0
  220. package/esm/presentation/automationFilters/utils.d.ts.map +1 -1
  221. package/esm/presentation/automationFilters/utils.js +15 -0
  222. package/esm/presentation/automationFilters/utils.js.map +1 -1
  223. package/esm/presentation/constants/automations.d.ts +3 -0
  224. package/esm/presentation/constants/automations.d.ts.map +1 -1
  225. package/esm/presentation/constants/automations.js +5 -0
  226. package/esm/presentation/constants/automations.js.map +1 -1
  227. package/esm/presentation/filterBar/attributeFilter/CustomDropdownActions.d.ts +1 -2
  228. package/esm/presentation/filterBar/attributeFilter/CustomDropdownActions.d.ts.map +1 -1
  229. package/esm/presentation/filterBar/attributeFilter/CustomDropdownActions.js +5 -6
  230. package/esm/presentation/filterBar/attributeFilter/CustomDropdownActions.js.map +1 -1
  231. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.d.ts.map +1 -1
  232. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js +3 -7
  233. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js.map +1 -1
  234. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts +1 -1
  235. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts.map +1 -1
  236. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js +3 -3
  237. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js.map +1 -1
  238. package/esm/presentation/filterBar/attributeFilter/types.d.ts +13 -0
  239. package/esm/presentation/filterBar/attributeFilter/types.d.ts.map +1 -1
  240. package/esm/presentation/localization/bundles/en-US.json +137 -21
  241. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +35 -6
  242. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  243. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +38 -9
  244. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  245. package/esm/presentation/saveAs/DefaultSaveAsDialog/SaveAsDialogRenderer.d.ts.map +1 -1
  246. package/esm/presentation/saveAs/DefaultSaveAsDialog/SaveAsDialogRenderer.js +1 -4
  247. package/esm/presentation/saveAs/DefaultSaveAsDialog/SaveAsDialogRenderer.js.map +1 -1
  248. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.d.ts +1 -1
  249. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.d.ts.map +1 -1
  250. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.js +3 -8
  251. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.js.map +1 -1
  252. package/esm/presentation/topBar/buttonBar/button/saveButton/types.d.ts +0 -1
  253. package/esm/presentation/topBar/buttonBar/button/saveButton/types.d.ts.map +1 -1
  254. package/esm/presentation/topBar/menuButton/useDefaultMenuItems.d.ts.map +1 -1
  255. package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js +4 -14
  256. package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js.map +1 -1
  257. package/esm/presentation/topBar/shareIndicators/shareStatus/DefaultShareStatus.d.ts.map +1 -1
  258. package/esm/presentation/topBar/shareIndicators/shareStatus/DefaultShareStatus.js +2 -3
  259. package/esm/presentation/topBar/shareIndicators/shareStatus/DefaultShareStatus.js.map +1 -1
  260. package/esm/presentation/widget/common/configuration/DateDatasetDropdown.d.ts +0 -1
  261. package/esm/presentation/widget/common/configuration/DateDatasetDropdown.d.ts.map +1 -1
  262. package/esm/presentation/widget/common/configuration/DateDatasetDropdown.js +20 -32
  263. package/esm/presentation/widget/common/configuration/DateDatasetDropdown.js.map +1 -1
  264. package/esm/presentation/widget/common/configuration/DateDatasetFilter.d.ts.map +1 -1
  265. package/esm/presentation/widget/common/configuration/DateDatasetFilter.js +3 -7
  266. package/esm/presentation/widget/common/configuration/DateDatasetFilter.js.map +1 -1
  267. package/esm/presentation/widget/common/configuration/DateDatasetPicker.d.ts +0 -1
  268. package/esm/presentation/widget/common/configuration/DateDatasetPicker.d.ts.map +1 -1
  269. package/esm/presentation/widget/common/configuration/DateDatasetPicker.js +2 -2
  270. package/esm/presentation/widget/common/configuration/DateDatasetPicker.js.map +1 -1
  271. package/esm/presentation/widget/common/configuration/DateFilterCheckbox.d.ts +0 -1
  272. package/esm/presentation/widget/common/configuration/DateFilterCheckbox.d.ts.map +1 -1
  273. package/esm/presentation/widget/common/configuration/DateFilterCheckbox.js +2 -3
  274. package/esm/presentation/widget/common/configuration/DateFilterCheckbox.js.map +1 -1
  275. package/esm/presentation/widget/common/configuration/utils.d.ts +1 -1
  276. package/esm/presentation/widget/common/configuration/utils.d.ts.map +1 -1
  277. package/esm/presentation/widget/common/configuration/utils.js +2 -10
  278. package/esm/presentation/widget/common/configuration/utils.js.map +1 -1
  279. package/esm/presentation/widget/common/useInsightExport.d.ts +1 -1
  280. package/esm/presentation/widget/common/useInsightExport.d.ts.map +1 -1
  281. package/esm/presentation/widget/common/useInsightExport.js +21 -18
  282. package/esm/presentation/widget/common/useInsightExport.js.map +1 -1
  283. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.d.ts.map +1 -1
  284. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.js +1 -2
  285. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialog.js.map +1 -1
  286. package/esm/presentation/widget/insight/configuration/useDrillTargetTypeItems.d.ts.map +1 -1
  287. package/esm/presentation/widget/insight/configuration/useDrillTargetTypeItems.js +6 -6
  288. package/esm/presentation/widget/insight/configuration/useDrillTargetTypeItems.js.map +1 -1
  289. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.js +2 -2
  290. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getDefaultInsightMenuItems.js.map +1 -1
  291. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getExportTooltips.d.ts +3 -3
  292. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getExportTooltips.d.ts.map +1 -1
  293. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getExportTooltips.js +4 -4
  294. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/getExportTooltips.js.map +1 -1
  295. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/index.d.ts +1 -1
  296. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/index.d.ts.map +1 -1
  297. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/index.js.map +1 -1
  298. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/types.d.ts +2 -2
  299. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/types.d.ts.map +1 -1
  300. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
  301. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +2 -1
  302. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js.map +1 -1
  303. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +2 -2
  304. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js.map +1 -1
  305. package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts +2 -2
  306. package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts.map +1 -1
  307. package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js +3 -3
  308. package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js.map +1 -1
  309. package/esm/sdk-ui-dashboard.d.ts +49 -82
  310. package/package.json +16 -16
  311. package/styles/css/alerting.css +8 -0
  312. package/styles/css/alerting.css.map +1 -1
  313. package/styles/css/kdaDialog.css +466 -0
  314. package/styles/css/kdaDialog.css.map +1 -0
  315. package/styles/css/main.css +473 -0
  316. package/styles/css/main.css.map +1 -1
  317. package/styles/scss/alerting.scss +8 -0
  318. package/styles/scss/kdaDialog.scss +571 -0
  319. package/styles/scss/main.scss +1 -0
  320. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/PoweredByGDLogo.d.ts +0 -8
  321. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/PoweredByGDLogo.d.ts.map +0 -1
  322. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/PoweredByGDLogo.js +0 -26
  323. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/PoweredByGDLogo.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ // (C) 2025 GoodData Corporation
2
+ export const titleColumn = (intl, width) => {
3
+ return {
4
+ label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.table.attribute" }),
5
+ key: "title",
6
+ bold: true,
7
+ width,
8
+ align: "left",
9
+ };
10
+ };
11
+ //# sourceMappingURL=titleColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"titleColumn.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/columns/titleColumn.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAQhC,MAAM,CAAC,MAAM,WAAW,GAAoE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IACxG,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,4DAA4D,EAAE,CAAC;QAC/F,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,IAAI;QACV,KAAK;QACL,KAAK,EAAE,MAAM;KAChB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface DateHeadlineProps {
2
+ when: string;
3
+ amount: string;
4
+ }
5
+ export declare function DateHeadline({ when, amount }: DateHeadlineProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=DateHeadline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateHeadline.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/headlines/DateHeadline.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAU/D"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import cx from "classnames";
4
+ import { UiIcon } from "@gooddata/sdk-ui-kit";
5
+ export function DateHeadline({ when, amount }) {
6
+ return (_jsxs("div", { className: cx("gd-kda-headline-date"), children: [_jsx(UiIcon, { type: "date", size: 14, color: "primary" }), _jsx("div", { children: when }), _jsx("div", { children: _jsx("strong", { children: amount }) })] }));
7
+ }
8
+ //# sourceMappingURL=DateHeadline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateHeadline.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/headlines/DateHeadline.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAqB;IAC5D,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC,aACtC,KAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,SAAS,GAAG,EAChD,wBAAM,IAAI,GAAO,EACjB,wBACI,2BAAS,MAAM,GAAU,GACvB,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface DiffHeadlineProps {
2
+ amount: string;
3
+ change: number;
4
+ }
5
+ export declare function DiffHeadline({ change, amount }: DiffHeadlineProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=DiffHeadline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffHeadline.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/headlines/DiffHeadline.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAYjE"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import cx from "classnames";
4
+ import { UiIcon } from "@gooddata/sdk-ui-kit";
5
+ export function DiffHeadline({ change, amount }) {
6
+ return (_jsxs("div", { className: cx("gd-kda-headline-diff"), children: [_jsx(UiIcon, { type: "trendDown", size: 14, color: "complementary-5" }), _jsx("div", { children: "Diff" }), _jsx("div", { children: _jsxs("strong", { children: [amount, " (", change * 100, "%)"] }) })] }));
7
+ }
8
+ //# sourceMappingURL=DiffHeadline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffHeadline.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/headlines/DiffHeadline.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAqB;IAC9D,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC,aACtC,KAAC,MAAM,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,EAC7D,iCAAe,EACf,wBACI,6BACK,MAAM,QAAI,MAAM,GAAG,GAAG,UAClB,GACP,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from "react";
2
+ import { UiListboxInteractiveItemProps } from "@gooddata/sdk-ui-kit";
3
+ import { KdaItem } from "../../internalTypes.js";
4
+ export declare function KeyDriverItem({ maximum, item, onSelect, isSelected, isFocused, }: UiListboxInteractiveItemProps<KdaItem> & {
5
+ maximum: number;
6
+ }): ReactNode;
7
+ //# sourceMappingURL=KeyDriverItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriverItem.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/items/KeyDriverItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAU,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,wBAAgB,aAAa,CAAC,EAC1B,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,6BAA6B,CAAC,OAAO,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA0B1E"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import cx from "classnames";
3
+ import { UiIcon } from "@gooddata/sdk-ui-kit";
4
+ export function KeyDriverItem({ maximum, item, onSelect, isSelected, isFocused, }) {
5
+ const trend = item.data.from.value < item.data.to.value ? "up" : "down";
6
+ const width = `${(Math.abs(item.data.to.value - item.data.from.value) / maximum) * 100}%`;
7
+ return (_jsxs("div", { className: cx("gd-kda-item", {
8
+ "gd-kda-item-selected": isSelected,
9
+ "gd-kda-item-focused": isFocused,
10
+ }), onClick: onSelect, children: [_jsxs("div", { className: cx("gd-kda-item-text"), children: [item.data.title, ": ", _jsx("strong", { children: item.data.category })] }), _jsx("div", { className: cx("gd-kda-item-value"), children: item.data.formatValue(item.data.to.value - item.data.from.value) }), trend === "up" ? _jsx(UiIcon, { type: "trendUp", size: 16, color: "complementary-5" }) : null, trend === "down" ? _jsx(UiIcon, { type: "trendDown", size: 16, color: "complementary-5" }) : null, _jsx("div", { className: cx("gd-kda-item-progress"), style: { "--kda-item-width": width } })] }));
11
+ }
12
+ //# sourceMappingURL=KeyDriverItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriverItem.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/items/KeyDriverItem.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAiC,MAAM,sBAAsB,CAAC;AAI7E,MAAM,UAAU,aAAa,CAAC,EAC1B,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,SAAS,GACkD;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;IAE1F,OAAO,CACH,eACI,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE;YACzB,sBAAsB,EAAE,UAAU;YAClC,qBAAqB,EAAE,SAAS;SACnC,CAAC,EACF,OAAO,EAAE,QAAQ,aAEjB,eAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,aACjC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAG,2BAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAU,IACtD,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAC/D,EACL,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,IAAI,EACnF,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,IAAI,EACxF,cACI,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC,EACrC,KAAK,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAmB,GACvD,IACA,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ import { UiListboxInteractiveItemProps } from "@gooddata/sdk-ui-kit";
3
+ export declare function SummaryItem({ onSelect, isSelected, detailsId, }: Omit<UiListboxInteractiveItemProps<undefined>, "item" | "isCompact" | "isFocused"> & {
4
+ detailsId: string;
5
+ }): ReactNode;
6
+ //# sourceMappingURL=SummaryItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SummaryItem.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/items/SummaryItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAK5C,OAAO,EAAU,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE7E,wBAAgB,WAAW,CAAC,EACxB,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG;IACpF,SAAS,EAAE,MAAM,CAAC;CACrB,GAAG,SAAS,CA8BZ"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { useState } from "react";
4
+ import cx from "classnames";
5
+ import { useIntl } from "react-intl";
6
+ import { UiIcon } from "@gooddata/sdk-ui-kit";
7
+ export function SummaryItem({ onSelect, isSelected, detailsId, }) {
8
+ const intl = useIntl();
9
+ const [isFocused, setFocused] = useState(false);
10
+ const label = intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.summary.title" });
11
+ return (_jsxs("div", { tabIndex: 0, role: "button", "aria-selected": isSelected, "aria-controls": detailsId, className: cx("gd-kda-item-summary", {
12
+ "gd-kda-item-summary-selected": isSelected,
13
+ "gd-kda-item-summary-focused": isFocused,
14
+ }), onClick: onSelect, onFocus: () => setFocused(true), onBlur: () => setFocused(false), onKeyDown: (e) => {
15
+ if (e.key === "Enter" || e.key === " ") {
16
+ e.currentTarget.click();
17
+ }
18
+ }, children: [_jsx("div", { children: _jsx("div", { className: cx("gd-kda-item-summary-title"), children: label }) }), _jsx(UiIcon, { type: "navigateRight", size: 16 })] }));
19
+ }
20
+ //# sourceMappingURL=SummaryItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SummaryItem.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/items/SummaryItem.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,EAAiC,MAAM,sBAAsB,CAAC;AAE7E,MAAM,UAAU,WAAW,CAAC,EACxB,QAAQ,EACR,UAAU,EACV,SAAS,GAGZ;IACG,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,mDAAmD,EAAE,CAAC,CAAC;IAE9F,OAAO,CACH,eACI,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,mBACE,UAAU,mBACV,SAAS,EACxB,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE;YACjC,8BAA8B,EAAE,UAAU;YAC1C,6BAA6B,EAAE,SAAS;SAC3C,CAAC,EACF,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACrC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC,aAED,wBACI,cAAK,SAAS,EAAE,EAAE,CAAC,2BAA2B,CAAC,YAAG,KAAK,GAAO,GAC5D,EACN,KAAC,MAAM,IAAC,IAAI,EAAC,eAAe,EAAC,IAAI,EAAE,EAAE,GAAI,IACvC,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function FiltersBar(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=FiltersBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiltersBar.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":"AAeA,wBAAgB,UAAU,4CA4DzB"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { useCallback } from "react";
4
+ import { useIntl } from "react-intl";
5
+ import { selectAttributeFilterConfigsOverrides, useDashboardSelector } from "../../model/index.js";
6
+ import { AttributeBar } from "../components/bars/AttributeBar.js";
7
+ import { DateBar } from "../components/bars/DateBar.js";
8
+ import { KdaBar } from "../components/KdaBar.js";
9
+ import { useKdaState } from "../providers/KdaState.js";
10
+ export function FiltersBar() {
11
+ const intl = useIntl();
12
+ const attributeConfigs = useDashboardSelector(selectAttributeFilterConfigsOverrides);
13
+ const { state, setState } = useKdaState();
14
+ const onChangeAttributeFilter = useCallback((newFilter) => {
15
+ // eslint-disable-next-line
16
+ console.log("on Change Attribute Filter", newFilter);
17
+ //TODO: onChangeAttributeFilter
18
+ }, []);
19
+ const onDeleteAttributeFilter = useCallback((filter) => {
20
+ // eslint-disable-next-line
21
+ console.log("on Delete Attribute Filter", filter);
22
+ //TODO: onDeleteAttributeFilter
23
+ }, []);
24
+ const onPeriodChange = useCallback((item, period) => {
25
+ // eslint-disable-next-line
26
+ console.log("on Period Change", period);
27
+ //TODO: onPeriodChange
28
+ const i = state.dateFilters.indexOf(item);
29
+ const newDateFilters = [...state.dateFilters];
30
+ newDateFilters[i] = {
31
+ ...item,
32
+ selectedPeriod: period,
33
+ };
34
+ setState({
35
+ dateFilters: newDateFilters,
36
+ });
37
+ }, [setState, state.dateFilters]);
38
+ //TODO: AttributesDropdown will be used to add new filter
39
+ return (_jsx(KdaBar, { title: intl.formatMessage({ id: "kdaDialog.dialog.bars.filters.title" }), content: _jsxs(_Fragment, { children: [state.dateFilters.map((dateFilter, i) => (_jsx(DateBar, { date: dateFilter, onPeriodChange: onPeriodChange }, i))), state.attributeFilters.map((attributeFilter, i) => (_jsx(AttributeBar, { attribute: attributeFilter, attributeConfigs: attributeConfigs, onChange: onChangeAttributeFilter, onDelete: onDeleteAttributeFilter }, i)))] }) }));
40
+ }
41
+ //# sourceMappingURL=FiltersBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiltersBar.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,OAAO,EAAE,qCAAqC,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,UAAU,UAAU;IACtB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IAErF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAE1C,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,SAAoC,EAAE,EAAE;QACjF,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;QACrD,+BAA+B;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,MAAiC,EAAE,EAAE;QAC9E,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QAClD,+BAA+B;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,IAAmB,EAAE,MAAuC,EAAE,EAAE;QAC7D,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACxC,sBAAsB;QACtB,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9C,cAAc,CAAC,CAAC,CAAC,GAAG;YAChB,GAAG,IAAI;YACP,cAAc,EAAE,MAAM;SACzB,CAAC;QACF,QAAQ,CAAC;YACL,WAAW,EAAE,cAAc;SAC9B,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAChC,CAAC;IAEF,yDAAyD;IAEzD,OAAO,CACH,KAAC,MAAM,IACH,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,qCAAqC,EAAE,CAAC,EACxE,OAAO,EACH,8BACK,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CACtC,KAAC,OAAO,IAAS,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,IAAnD,CAAC,CAAsD,CACxE,CAAC,EACD,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAChD,KAAC,YAAY,IAET,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,uBAAuB,EACjC,QAAQ,EAAE,uBAAuB,IAJ5B,CAAC,CAKR,CACL,CAAC,IACH,GAET,CACL,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function KeyDriversFooter(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=KeyDriversFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriversFooter.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,4CAmE/B"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { FormattedMessage } from "react-intl";
3
+ import { areObjRefsEqual } from "@gooddata/sdk-model";
4
+ import { DropdownInvertableSelect, UiButton, UiSkeleton } from "@gooddata/sdk-ui-kit";
5
+ import { selectCatalogAttributes, selectCatalogIsLoaded, useDashboardSelector } from "../../model/index.js";
6
+ import { useKdaState } from "../providers/KdaState.js";
7
+ export function KeyDriversFooter() {
8
+ const { state, setState } = useKdaState();
9
+ const isCatalogLoaded = useDashboardSelector(selectCatalogIsLoaded);
10
+ const isLoading = state.itemsStatus === "pending" || state.itemsStatus === "loading" || !isCatalogLoaded;
11
+ const allAttributes = useDashboardSelector(selectCatalogAttributes);
12
+ const initialAttributes = state.attributes
13
+ .map((attr) => {
14
+ return allAttributes.find((a) => a.displayForms.some((df) => areObjRefsEqual(df.ref, attr)));
15
+ })
16
+ .filter(Boolean);
17
+ return (_jsx("div", { children: isLoading ? (_jsx(UiSkeleton, { itemHeight: 23, itemWidth: 300 })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.overview.summary.drivers.description", values: {
18
+ combinations: state.combinations,
19
+ attributes: state.attributes.length,
20
+ button: (chunks) => {
21
+ return (_jsx(DropdownInvertableSelect, { className: "gd-kda-attributes-dropdown", initialValue: initialAttributes, initialIsInverted: false, options: allAttributes, alignPoints: [{ align: "tl bl" }], getItemTitle: (item) => item.attribute.title, getItemKey: (item) => item.attribute.id, onChange: (selectedItems, isInverted) => {
22
+ const selected = isInverted
23
+ ? allAttributes.filter((a) => !selectedItems.includes(a))
24
+ : selectedItems;
25
+ setState({
26
+ attributes: selected.map((item) => item.defaultDisplayForm.ref),
27
+ });
28
+ }, header: _jsx("div", { className: "gd-kda-attributes-dropdown__header", children: _jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.overview.summary.drivers.attributes" }) }), renderSearchBar: () => (_jsx("div", { className: "gd-kda-attributes-dropdown__no-search" })), renderButton: ({ buttonRef, isOpen, toggleDropdown }) => (_jsx(UiButton, { ref: buttonRef, variant: "tertiary", iconAfter: "settings", isSelected: isOpen, label: chunks.join(""), onClick: toggleDropdown })) }));
29
+ },
30
+ } })) }));
31
+ }
32
+ //# sourceMappingURL=KeyDriversFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriversFooter.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface KeyDriversOverviewProps {
2
+ loading?: boolean;
3
+ detailsId?: string;
4
+ }
5
+ export declare function KeyDriversOverview({ loading, detailsId }: KeyDriversOverviewProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=KeyDriversOverview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriversOverview.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAQjF"}
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import cx from "classnames";
4
+ import { useIntl } from "react-intl";
5
+ import { UiIcon, UiSkeleton } from "@gooddata/sdk-ui-kit";
6
+ import { KdaKeyDriverChart } from "../components/KdaKeyDriverChart.js";
7
+ import { KdaSummaryDrivers } from "../components/KdaSummaryDrivers.js";
8
+ import { KdaSummaryHeadline } from "../components/KdaSummaryHeadline.js";
9
+ import { useKdaState } from "../providers/KdaState.js";
10
+ export function KeyDriversOverview({ loading, detailsId }) {
11
+ const { state } = useKdaState();
12
+ if (state.selectedItem === "summary" || loading) {
13
+ return _jsx(KeyDriversSummary, { loading: loading, detailsId: detailsId });
14
+ }
15
+ return _jsx(KeyDriversDetail, { detailsId: detailsId });
16
+ }
17
+ function KeyDriversSummary({ loading, detailsId }) {
18
+ const intl = useIntl();
19
+ return (_jsxs("div", { className: cx("gd-kda-key-drivers-overview"), id: detailsId, children: [_jsx("div", { className: cx("gd-kda-key-drivers-overview-title"), children: loading ? (_jsx(UiSkeleton, { itemWidth: 200, itemHeight: 26 })) : (intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.summary.title" })) }), _jsx("div", { className: cx("gd-kda-key-drivers-overview-headline"), children: loading ? _jsx(UiSkeleton, { itemWidth: 420, itemHeight: 20 }) : _jsx(KdaSummaryHeadline, {}) }), _jsx("div", { className: cx("gd-kda-key-drivers-overview-drivers"), children: loading ? _jsx(UiSkeleton, { itemWidth: 618, itemHeight: 370 }) : _jsx(KdaSummaryDrivers, {}) })] }));
20
+ }
21
+ function KeyDriversDetail({ detailsId }) {
22
+ const intl = useIntl();
23
+ const { state } = useKdaState();
24
+ const description = getDescription(state.selectedItem);
25
+ return (_jsxs("div", { className: cx("gd-kda-key-drivers-detail"), id: detailsId, children: [_jsxs("div", { children: [_jsx("div", { className: cx("gd-kda-key-drivers-detail-title"), children: getTitle(intl, state.selectedItem) }), description ? (_jsx("div", { className: cx("gd-kda-key-drivers-detail-description"), children: description })) : null] }), _jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation"), children: _jsx(KdaKeyDriverChart, {}) }), _jsxs("div", { className: cx("gd-kda-key-drivers-detail-info"), children: [_jsx(UiIcon, { type: "questionMark", size: 12 }), " ", intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.tip" })] })] }));
26
+ }
27
+ function getTitle(intl, item) {
28
+ if (typeof item === "string") {
29
+ return "";
30
+ }
31
+ return intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.title" }, {
32
+ title: item.data.title,
33
+ category: item.data.category,
34
+ });
35
+ }
36
+ function getDescription(item) {
37
+ if (typeof item === "string") {
38
+ return "";
39
+ }
40
+ return item.data.description;
41
+ }
42
+ //# sourceMappingURL=KeyDriversOverview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface KeyDriversPanelProps {
2
+ detailsId: string;
3
+ loading?: boolean;
4
+ }
5
+ export declare function KeyDriversPanel({ loading, detailsId }: KeyDriversPanelProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=KeyDriversPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriversPanel.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"AAsBA,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAoK3E"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { useEffect, useId, useMemo } from "react";
4
+ import cx from "classnames";
5
+ import { FormattedMessage, useIntl } from "react-intl";
6
+ import { UiButton, UiButtonSegmentedControl, UiIcon, UiIconButton, UiListbox, UiSkeleton, UiTooltip, } from "@gooddata/sdk-ui-kit";
7
+ import { KeyDriverItem } from "../components/items/KeyDriverItem.js";
8
+ import { SummaryItem } from "../components/items/SummaryItem.js";
9
+ import { useKdaState } from "../providers/KdaState.js";
10
+ export function KeyDriversPanel({ loading, detailsId }) {
11
+ const intl = useIntl();
12
+ const listId = useId();
13
+ const label = intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.title" });
14
+ const tooltip = intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.tooltip" });
15
+ const { state, setState } = useKdaState();
16
+ const trendUp = useMemo(() => state.items.filter((item) => {
17
+ return item.data.from.value < item.data.to.value;
18
+ }), [state.items]);
19
+ const trendDown = useMemo(() => state.items.filter((item) => {
20
+ return item.data.from.value > item.data.to.value;
21
+ }), [state.items]);
22
+ const currentItems = useMemo(() => {
23
+ if (state.selectedTrend === "up") {
24
+ return trendUp;
25
+ }
26
+ return trendDown;
27
+ }, [state.selectedTrend, trendUp, trendDown]);
28
+ const maximum = useMemo(() => {
29
+ return Math.max(...currentItems.map((item) => {
30
+ return Math.abs(item.data.to.value - item.data.from.value);
31
+ }));
32
+ }, [currentItems]);
33
+ // When there are no items for selected trend, switch to the other trend
34
+ useEffect(() => {
35
+ if (trendUp.length === 0 && trendDown.length > 0 && state.selectedTrend === "up") {
36
+ setState({ selectedTrend: "down" });
37
+ }
38
+ // eslint-disable-next-line
39
+ }, []);
40
+ return (_jsxs("div", { className: cx("gd-kda-key-drivers-panel"), children: [_jsx("div", { className: cx("gd-kda-key-drivers-panel-summary"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 40 })) : (_jsx(SummaryItem, { detailsId: detailsId, isSelected: state.selectedItem === "summary", onSelect: () => {
41
+ setState({ selectedItem: "summary" });
42
+ } })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-title"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 21, itemWidth: 70 })) : (_jsxs(_Fragment, { children: [label, _jsx(UiTooltip, { arrowPlacement: "left", triggerBy: ["hover", "focus"], optimalPlacement: true, content: tooltip, anchor: _jsx(UiIconButton, { icon: "question", variant: "tertiary", size: "xsmall", accessibilityConfig: {
43
+ ariaLabel: label,
44
+ } }) })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-trend"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 27 })) : (_jsxs(UiButtonSegmentedControl, { children: [_jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendUp" }, { count: trendUp.length }), size: "small", isSelected: state.selectedTrend === "up", onClick: () => {
45
+ setState({ selectedTrend: "up" });
46
+ }, accessibilityConfig: {
47
+ ariaControls: listId,
48
+ } }), _jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendDown" }, { count: trendDown.length }), size: "small", isSelected: state.selectedTrend === "down", onClick: () => {
49
+ setState({ selectedTrend: "down" });
50
+ }, accessibilityConfig: {
51
+ ariaControls: listId,
52
+ } })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-list"), children: loading ? (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-loading"), children: [_jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 })] })) : (_jsx(_Fragment, { children: currentItems.length > 0 ? (_jsx(UiListbox, { items: currentItems, ariaAttributes: {
53
+ id: listId,
54
+ "aria-controls": detailsId,
55
+ }, InteractiveItemComponent: (props) => {
56
+ return _jsx(KeyDriverItem, { ...props, maximum: maximum });
57
+ }, selectedItemId: getSelectedItem(state), onSelect: (item) => {
58
+ setState({ selectedItem: item });
59
+ } })) : (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-empty"), children: [_jsx(UiIcon, { type: "drawerEmpty", size: 26, color: "currentColor" }), state.selectedTrend === "up" ? (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_up" })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_down" }))] })) })) })] }));
60
+ }
61
+ function getSelectedItem(state) {
62
+ return typeof state.selectedItem === "string" ? undefined : state.selectedItem.id;
63
+ }
64
+ //# sourceMappingURL=KeyDriversPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyDriversPanel.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function MetricsBar(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=MetricsBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricsBar.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/MetricsBar.tsx"],"names":[],"mappings":"AAQA,wBAAgB,UAAU,4CAUzB"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { useIntl } from "react-intl";
4
+ import { MetricBar } from "../components/bars/MetricBar.js";
5
+ import { KdaBar } from "../components/KdaBar.js";
6
+ import { useKdaState } from "../providers/KdaState.js";
7
+ export function MetricsBar() {
8
+ const intl = useIntl();
9
+ const { state } = useKdaState();
10
+ return (_jsx(KdaBar, { title: intl.formatMessage({ id: "kdaDialog.dialog.bars.metric.title" }), content: _jsx(_Fragment, { children: state.metric ? _jsx(MetricBar, { metric: state.metric }) : null }) }));
11
+ }
12
+ //# sourceMappingURL=MetricsBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricsBar.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/MetricsBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,UAAU,UAAU;IACtB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,OAAO,CACH,KAAC,MAAM,IACH,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,CAAC,EACvE,OAAO,EAAE,4BAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,CAAC,CAAC,CAAC,IAAI,GAAI,GAC3E,CACL,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { IKdaDialogProps } from "../types.js";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare function KdaDialog({ className, showCloseButton, onClose }: IKdaDialogProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=KdaDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KdaDialog.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialog.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM9C;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,eAAsB,EAAE,OAAO,EAAE,EAAE,eAAe,2CAqDxF"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // (C) 2025 GoodData Corporation
3
+ import { useId } from "react";
4
+ import cx from "classnames";
5
+ import { ErrorComponent } from "@gooddata/sdk-ui";
6
+ import { Dialog, OverlayController, OverlayControllerProvider } from "@gooddata/sdk-ui-kit";
7
+ import { KdaDialogSections } from "./KdaDialogSections.js";
8
+ import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../presentation/constants/index.js";
9
+ import { KdaContent } from "../components/KdaContent.js";
10
+ import { KdaFooter } from "../components/KdaFooter.js";
11
+ import { KdaHeader } from "../components/KdaHeader.js";
12
+ import { FiltersBar } from "../composition/FiltersBar.js";
13
+ import { KeyDriversFooter } from "../composition/KeyDriversFooter.js";
14
+ import { KeyDriversOverview } from "../composition/KeyDriversOverview.js";
15
+ import { KeyDriversPanel } from "../composition/KeyDriversPanel.js";
16
+ import { MetricsBar } from "../composition/MetricsBar.js";
17
+ import { useKdaDialogAccessibility } from "./hooks/useKdaDialogAccessibility.js";
18
+ import { useKdaState } from "../providers/KdaState.js";
19
+ const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
20
+ /**
21
+ * @internal
22
+ */
23
+ export function KdaDialog({ className, showCloseButton = true, onClose }) {
24
+ const { state } = useKdaState();
25
+ const accessibilityConfig = useKdaDialogAccessibility(state.metric?.title ?? "");
26
+ const detailsId = useId();
27
+ return (_jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(Dialog, { className: cx(accessibilityConfig.dialogId, className), isModal: accessibilityConfig.isModal, accessibilityConfig: accessibilityConfig, displayCloseButton: showCloseButton, closeOnEscape: showCloseButton, onClose: onClose, children: _jsx(KdaDialogSections, { header: _jsx(KdaHeader, { titleId: accessibilityConfig.titleElementId, title: accessibilityConfig.title, bars: _jsxs(_Fragment, { children: [_jsx(MetricsBar, {}), _jsx(FiltersBar, {})] }) }), content: _jsx(KdaContent, { leftContent: _jsx(KeyDriversPanel, { detailsId: detailsId }), leftLoader: _jsx(KeyDriversPanel, { detailsId: detailsId, loading: true }), leftError: _jsx(ErrorComponent, { message: "Unknown error", description: "Can not load key drivers attributes list. Please try again later." }), rightContent: _jsx(KeyDriversOverview, { detailsId: detailsId }), rightLoader: _jsx(KeyDriversOverview, { loading: true }), rightError: _jsx(ErrorComponent, { message: "Unknown error", description: "Can not load key driver details. Please try again later." }) }), footer: _jsx(KdaFooter, { content: _jsx(KeyDriversFooter, {}), onClose: onClose }) }) }) }));
28
+ }
29
+ //# sourceMappingURL=KdaDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KdaDialog.js","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialog.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,EAAE,OAAO,EAAmB;IACrF,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;IAE1B,OAAO,CACH,KAAC,yBAAyB,IAAC,iBAAiB,EAAE,iBAAiB,YAC3D,KAAC,MAAM,IACH,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACtD,OAAO,EAAE,mBAAmB,CAAC,OAAO,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,eAAe,EACnC,aAAa,EAAE,eAAe,EAC9B,OAAO,EAAE,OAAO,YAEhB,KAAC,iBAAiB,IACd,MAAM,EACF,KAAC,SAAS,IACN,OAAO,EAAE,mBAAmB,CAAC,cAAc,EAC3C,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAChC,IAAI,EACA,8BACI,KAAC,UAAU,KAAG,EACd,KAAC,UAAU,KAAG,IACf,GAET,EAEN,OAAO,EACH,KAAC,UAAU,IACP,WAAW,EAAE,KAAC,eAAe,IAAC,SAAS,EAAE,SAAS,GAAI,EACtD,UAAU,EAAE,KAAC,eAAe,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,GAAI,EACpE,SAAS,EACL,KAAC,cAAc,IACX,OAAO,EAAC,eAAe,EACvB,WAAW,EAAC,mEAAmE,GACjF,EAEN,YAAY,EAAE,KAAC,kBAAkB,IAAC,SAAS,EAAE,SAAS,GAAI,EAC1D,WAAW,EAAE,KAAC,kBAAkB,IAAC,OAAO,EAAE,IAAI,GAAI,EAClD,UAAU,EACN,KAAC,cAAc,IACX,OAAO,EAAC,eAAe,EACvB,WAAW,EAAC,0DAA0D,GACxE,GAER,EAEN,MAAM,EAAE,KAAC,SAAS,IAAC,OAAO,EAAE,KAAC,gBAAgB,KAAG,EAAE,OAAO,EAAE,OAAO,GAAI,GACxE,GACG,GACe,CAC/B,CAAC;AACN,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from "react";
2
+ interface IKdaDialogSectionsProps {
3
+ header: ReactNode;
4
+ content: ReactNode;
5
+ footer: ReactNode;
6
+ }
7
+ /**
8
+ * @internal
9
+ */
10
+ export declare function KdaDialogSections({ footer, content, header }: IKdaDialogSectionsProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=KdaDialogSections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KdaDialogSections.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialogSections.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASlC,UAAU,uBAAuB;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,uBAAuB,2CA0BrF"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import cx from "classnames";
3
+ import { ErrorComponent, LoadingComponent } from "@gooddata/sdk-ui";
4
+ import { selectIsDashboardLoading, useDashboardSelector } from "../../model/index.js";
5
+ import { useKdaState } from "../providers/KdaState.js";
6
+ /**
7
+ * @internal
8
+ */
9
+ export function KdaDialogSections({ footer, content, header }) {
10
+ const { state } = useKdaState();
11
+ const isDashboardLoading = useDashboardSelector(selectIsDashboardLoading);
12
+ const isLoading = state.rootStatus === "pending" || state.rootStatus === "loading" || isDashboardLoading;
13
+ const isError = state.rootStatus === "error";
14
+ return (_jsx("div", { className: cx("gd-kda-dialog-sections"), children: isLoading ? (_jsx(LoadingComponent, {})) : isError ? (_jsx(ErrorComponent, { message: "Unknown error", description: "Can not load key drivers data. Please try again later." })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: cx("gd-kda-dialog-sections-header"), children: header }), _jsx("div", { className: cx("gd-kda-dialog-sections-divider") }), _jsx("div", { className: cx("gd-kda-dialog-sections-content"), children: content }), _jsx("div", { className: cx("gd-kda-dialog-sections-divider") }), _jsx("div", { className: cx("gd-kda-dialog-sections-footer"), children: footer })] })) }));
15
+ }
16
+ //# sourceMappingURL=KdaDialogSections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KdaDialogSections.js","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialogSections.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAQvD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAA2B;IAClF,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,kBAAkB,CAAC;IACzG,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC;IAE7C,OAAO,CACH,cAAK,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,YACvC,SAAS,CAAC,CAAC,CAAC,CACT,KAAC,gBAAgB,KAAG,CACvB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACV,KAAC,cAAc,IACX,OAAO,EAAC,eAAe,EACvB,WAAW,EAAC,wDAAwD,GACtE,CACL,CAAC,CAAC,CAAC,CACA,8BACI,cAAK,SAAS,EAAE,EAAE,CAAC,+BAA+B,CAAC,YAAG,MAAM,GAAO,EACnE,cAAK,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,GAAI,EACxD,cAAK,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,YAAG,OAAO,GAAO,EACrE,cAAK,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,GAAI,EACxD,cAAK,SAAS,EAAE,EAAE,CAAC,+BAA+B,CAAC,YAAG,MAAM,GAAO,IACpE,CACN,GACC,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function useKdaDialogAccessibility(metric: string): {
2
+ titleElementId: string;
3
+ title: string;
4
+ isModal: boolean;
5
+ dialogId: string;
6
+ closeButton: {
7
+ ariaLabel: string;
8
+ };
9
+ };
10
+ //# sourceMappingURL=useKdaDialogAccessibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKdaDialogAccessibility.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/dialog/hooks/useKdaDialogAccessibility.ts"],"names":[],"mappings":"AAMA,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM;;;;;;;;EAwBvD"}
@@ -0,0 +1,25 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useId, useMemo } from "react";
3
+ import { useIntl } from "react-intl";
4
+ export function useKdaDialogAccessibility(metric) {
5
+ const intl = useIntl();
6
+ const titleElementId = useId();
7
+ return useMemo(() => {
8
+ return {
9
+ titleElementId,
10
+ title: intl.formatMessage({
11
+ id: "kdaDialog.dialog.title",
12
+ }, {
13
+ metric,
14
+ }),
15
+ isModal: true,
16
+ dialogId: "gd-kda-dialog",
17
+ closeButton: {
18
+ ariaLabel: intl.formatMessage({
19
+ id: "kdaDialog.dialog.closeLabel",
20
+ }),
21
+ },
22
+ };
23
+ }, [intl, metric, titleElementId]);
24
+ }
25
+ //# sourceMappingURL=useKdaDialogAccessibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKdaDialogAccessibility.js","sourceRoot":"","sources":["../../../../src/kdaDialog/dialog/hooks/useKdaDialogAccessibility.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACpD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,cAAc,GAAG,KAAK,EAAE,CAAC;IAE/B,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,OAAO;YACH,cAAc;YACd,KAAK,EAAE,IAAI,CAAC,aAAa,CACrB;gBACI,EAAE,EAAE,wBAAwB;aAC/B,EACD;gBACI,MAAM;aACT,CACJ;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE;gBACT,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;oBAC1B,EAAE,EAAE,6BAA6B;iBACpC,CAAC;aACL;SACJ,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { KdaDialog } from "./KdaDialog.js";
2
+ export type { IKdaDialogProps } from "./types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kdaDialog/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ // (C) 2025 GoodData Corporation
2
+ export { KdaDialog } from "./KdaDialog.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kdaDialog/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type * from "./internalTypes.js";
2
+ export * from "./providers/KdaState.js";
3
+ export * from "./providers/KdaStore.js";
4
+ export * from "./dialog/KdaDialog.js";
5
+ //# sourceMappingURL=internal.d.ts.map