@gooddata/sdk-ui-dashboard 11.5.0-alpha.3 → 11.5.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 (296) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/_staging/sharedHooks/useRichTextFilters.d.ts.map +1 -1
  4. package/esm/_staging/sharedHooks/useRichTextFilters.js +2 -1
  5. package/esm/_staging/sharedHooks/useRichTextFilters.js.map +1 -1
  6. package/esm/kdaDialog/components/KdaSummaryDrivers.d.ts.map +1 -1
  7. package/esm/kdaDialog/components/KdaSummaryDrivers.js +14 -10
  8. package/esm/kdaDialog/components/KdaSummaryDrivers.js.map +1 -1
  9. package/esm/kdaDialog/components/KdaSummaryHeadline.d.ts.map +1 -1
  10. package/esm/kdaDialog/components/KdaSummaryHeadline.js +25 -5
  11. package/esm/kdaDialog/components/KdaSummaryHeadline.js.map +1 -1
  12. package/esm/kdaDialog/components/bars/AttributeBar.js +1 -1
  13. package/esm/kdaDialog/components/bars/AttributeBar.js.map +1 -1
  14. package/esm/kdaDialog/components/bars/DateBar.d.ts +4 -3
  15. package/esm/kdaDialog/components/bars/DateBar.d.ts.map +1 -1
  16. package/esm/kdaDialog/components/bars/DateBar.js +5 -4
  17. package/esm/kdaDialog/components/bars/DateBar.js.map +1 -1
  18. package/esm/kdaDialog/components/bars/MetricBar.d.ts +2 -2
  19. package/esm/kdaDialog/components/bars/MetricBar.d.ts.map +1 -1
  20. package/esm/kdaDialog/components/bars/MetricBar.js +1 -1
  21. package/esm/kdaDialog/components/bars/MetricBar.js.map +1 -1
  22. package/esm/kdaDialog/components/columns/driverColumn.d.ts +2 -2
  23. package/esm/kdaDialog/components/columns/driverColumn.d.ts.map +1 -1
  24. package/esm/kdaDialog/components/columns/driverColumn.js +17 -4
  25. package/esm/kdaDialog/components/columns/driverColumn.js.map +1 -1
  26. package/esm/kdaDialog/components/columns/driversCount.d.ts +2 -2
  27. package/esm/kdaDialog/components/columns/driversCount.d.ts.map +1 -1
  28. package/esm/kdaDialog/components/columns/driversCount.js +4 -1
  29. package/esm/kdaDialog/components/columns/driversCount.js.map +1 -1
  30. package/esm/kdaDialog/components/columns/titleColumn.d.ts +2 -2
  31. package/esm/kdaDialog/components/columns/titleColumn.d.ts.map +1 -1
  32. package/esm/kdaDialog/components/columns/titleColumn.js.map +1 -1
  33. package/esm/kdaDialog/components/headlines/DiffHeadline.d.ts.map +1 -1
  34. package/esm/kdaDialog/components/headlines/DiffHeadline.js +2 -1
  35. package/esm/kdaDialog/components/headlines/DiffHeadline.js.map +1 -1
  36. package/esm/kdaDialog/composition/FiltersBar.d.ts.map +1 -1
  37. package/esm/kdaDialog/composition/FiltersBar.js +22 -13
  38. package/esm/kdaDialog/composition/FiltersBar.js.map +1 -1
  39. package/esm/kdaDialog/composition/KeyDriversFooter.d.ts.map +1 -1
  40. package/esm/kdaDialog/composition/KeyDriversFooter.js +5 -4
  41. package/esm/kdaDialog/composition/KeyDriversFooter.js.map +1 -1
  42. package/esm/kdaDialog/composition/KeyDriversPanel.d.ts.map +1 -1
  43. package/esm/kdaDialog/composition/KeyDriversPanel.js +4 -19
  44. package/esm/kdaDialog/composition/KeyDriversPanel.js.map +1 -1
  45. package/esm/kdaDialog/composition/MetricsBar.js +1 -1
  46. package/esm/kdaDialog/composition/MetricsBar.js.map +1 -1
  47. package/esm/kdaDialog/dialog/KdaDialog.d.ts.map +1 -1
  48. package/esm/kdaDialog/dialog/KdaDialog.js +5 -1
  49. package/esm/kdaDialog/dialog/KdaDialog.js.map +1 -1
  50. package/esm/kdaDialog/dialog/KdaDialogSections.d.ts.map +1 -1
  51. package/esm/kdaDialog/dialog/KdaDialogSections.js +2 -2
  52. package/esm/kdaDialog/dialog/KdaDialogSections.js.map +1 -1
  53. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.d.ts +2 -0
  54. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.d.ts.map +1 -0
  55. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js +123 -0
  56. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js.map +1 -0
  57. package/esm/kdaDialog/hooks/useAttribute.d.ts +3 -0
  58. package/esm/kdaDialog/hooks/useAttribute.d.ts.map +1 -0
  59. package/esm/kdaDialog/hooks/useAttribute.js +14 -0
  60. package/esm/kdaDialog/hooks/useAttribute.js.map +1 -0
  61. package/esm/kdaDialog/hooks/useDateAttribute.d.ts +3 -0
  62. package/esm/kdaDialog/hooks/useDateAttribute.d.ts.map +1 -0
  63. package/esm/kdaDialog/hooks/useDateAttribute.js +14 -0
  64. package/esm/kdaDialog/hooks/useDateAttribute.js.map +1 -0
  65. package/esm/kdaDialog/hooks/useDriversList.d.ts +7 -0
  66. package/esm/kdaDialog/hooks/useDriversList.d.ts.map +1 -0
  67. package/esm/kdaDialog/hooks/useDriversList.js +26 -0
  68. package/esm/kdaDialog/hooks/useDriversList.js.map +1 -0
  69. package/esm/kdaDialog/hooks/useSignificantDrives.d.ts +2 -0
  70. package/esm/kdaDialog/hooks/useSignificantDrives.d.ts.map +1 -0
  71. package/esm/kdaDialog/hooks/useSignificantDrives.js +10 -0
  72. package/esm/kdaDialog/hooks/useSignificantDrives.js.map +1 -0
  73. package/esm/kdaDialog/hooks/useSummaryDrivers.d.ts +3 -0
  74. package/esm/kdaDialog/hooks/useSummaryDrivers.d.ts.map +1 -0
  75. package/esm/kdaDialog/hooks/useSummaryDrivers.js +42 -0
  76. package/esm/kdaDialog/hooks/useSummaryDrivers.js.map +1 -0
  77. package/esm/kdaDialog/hooks/useTrendDrivers.d.ts +5 -0
  78. package/esm/kdaDialog/hooks/useTrendDrivers.d.ts.map +1 -0
  79. package/esm/kdaDialog/hooks/useTrendDrivers.js +17 -0
  80. package/esm/kdaDialog/hooks/useTrendDrivers.js.map +1 -0
  81. package/esm/kdaDialog/index.d.ts +1 -1
  82. package/esm/kdaDialog/index.d.ts.map +1 -1
  83. package/esm/kdaDialog/internal.d.ts +1 -0
  84. package/esm/kdaDialog/internal.d.ts.map +1 -1
  85. package/esm/kdaDialog/internal.js +1 -0
  86. package/esm/kdaDialog/internal.js.map +1 -1
  87. package/esm/kdaDialog/internalTypes.d.ts +22 -15
  88. package/esm/kdaDialog/internalTypes.d.ts.map +1 -1
  89. package/esm/kdaDialog/providers/Kda.d.ts +10 -0
  90. package/esm/kdaDialog/providers/Kda.d.ts.map +1 -0
  91. package/esm/kdaDialog/providers/Kda.js +15 -0
  92. package/esm/kdaDialog/providers/Kda.js.map +1 -0
  93. package/esm/kdaDialog/providers/KdaState.d.ts.map +1 -1
  94. package/esm/kdaDialog/providers/KdaState.js +9 -11
  95. package/esm/kdaDialog/providers/KdaState.js.map +1 -1
  96. package/esm/kdaDialog/types.d.ts +43 -0
  97. package/esm/kdaDialog/types.d.ts.map +1 -1
  98. package/esm/kdaDialog/utils.d.ts +6 -0
  99. package/esm/kdaDialog/utils.d.ts.map +1 -0
  100. package/esm/kdaDialog/utils.js +20 -0
  101. package/esm/kdaDialog/utils.js.map +1 -0
  102. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.d.ts.map +1 -1
  103. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js +3 -2
  104. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js.map +1 -1
  105. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts +6 -0
  106. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts.map +1 -0
  107. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js +71 -0
  108. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js.map +1 -0
  109. package/esm/model/commandHandlers/index.d.ts.map +1 -1
  110. package/esm/model/commandHandlers/index.js +2 -0
  111. package/esm/model/commandHandlers/index.js.map +1 -1
  112. package/esm/model/commands/base.d.ts +1 -1
  113. package/esm/model/commands/base.d.ts.map +1 -1
  114. package/esm/model/commands/base.js +1 -0
  115. package/esm/model/commands/base.js.map +1 -1
  116. package/esm/model/commands/drill.d.ts +41 -2
  117. package/esm/model/commands/drill.d.ts.map +1 -1
  118. package/esm/model/commands/drill.js +24 -0
  119. package/esm/model/commands/drill.js.map +1 -1
  120. package/esm/model/commands/index.d.ts +4 -4
  121. package/esm/model/commands/index.d.ts.map +1 -1
  122. package/esm/model/commands/index.js +1 -1
  123. package/esm/model/commands/index.js.map +1 -1
  124. package/esm/model/events/base.d.ts +1 -1
  125. package/esm/model/events/base.d.ts.map +1 -1
  126. package/esm/model/events/base.js.map +1 -1
  127. package/esm/model/events/drill.d.ts +95 -1
  128. package/esm/model/events/drill.d.ts.map +1 -1
  129. package/esm/model/events/drill.js +45 -0
  130. package/esm/model/events/drill.js.map +1 -1
  131. package/esm/model/events/index.d.ts +4 -4
  132. package/esm/model/events/index.d.ts.map +1 -1
  133. package/esm/model/events/index.js +1 -1
  134. package/esm/model/events/index.js.map +1 -1
  135. package/esm/model/store/config/configSelectors.js +1 -1
  136. package/esm/model/store/config/configSelectors.js.map +1 -1
  137. package/esm/model/store/dashboardStore.d.ts.map +1 -1
  138. package/esm/model/store/dashboardStore.js +3 -0
  139. package/esm/model/store/dashboardStore.js.map +1 -1
  140. package/esm/presentation/constants/zIndex.d.ts +2 -0
  141. package/esm/presentation/constants/zIndex.d.ts.map +1 -1
  142. package/esm/presentation/constants/zIndex.js +4 -0
  143. package/esm/presentation/constants/zIndex.js.map +1 -1
  144. package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts +3 -2
  145. package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
  146. package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +13 -5
  147. package/esm/presentation/drill/DrillSelect/WithDrillSelect.js.map +1 -1
  148. package/esm/presentation/drill/hooks/useDrills.d.ts +9 -2
  149. package/esm/presentation/drill/hooks/useDrills.d.ts.map +1 -1
  150. package/esm/presentation/drill/hooks/useDrills.js +9 -0
  151. package/esm/presentation/drill/hooks/useDrills.js.map +1 -1
  152. package/esm/presentation/drill/hooks/useKeyDriverAnalysis.d.ts +17 -0
  153. package/esm/presentation/drill/hooks/useKeyDriverAnalysis.d.ts.map +1 -0
  154. package/esm/presentation/drill/hooks/useKeyDriverAnalysis.js +16 -0
  155. package/esm/presentation/drill/hooks/useKeyDriverAnalysis.js.map +1 -0
  156. package/esm/presentation/drill/index.d.ts +1 -1
  157. package/esm/presentation/drill/index.d.ts.map +1 -1
  158. package/esm/presentation/drill/index.js +1 -0
  159. package/esm/presentation/drill/index.js.map +1 -1
  160. package/esm/presentation/drill/types.d.ts +23 -2
  161. package/esm/presentation/drill/types.d.ts.map +1 -1
  162. package/esm/presentation/drill/types.js.map +1 -1
  163. package/esm/presentation/drill/utils/kdaUtils.d.ts +10 -9
  164. package/esm/presentation/drill/utils/kdaUtils.d.ts.map +1 -1
  165. package/esm/presentation/drill/utils/kdaUtils.js +97 -22
  166. package/esm/presentation/drill/utils/kdaUtils.js.map +1 -1
  167. package/esm/presentation/localization/bundles/de-DE.json +9 -1
  168. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +8 -0
  169. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  170. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +9 -1
  171. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js.map +1 -1
  172. package/esm/presentation/localization/bundles/en-AU.json +9 -1
  173. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +8 -0
  174. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  175. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +9 -1
  176. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js.map +1 -1
  177. package/esm/presentation/localization/bundles/en-GB.json +9 -1
  178. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +8 -0
  179. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  180. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +9 -1
  181. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js.map +1 -1
  182. package/esm/presentation/localization/bundles/en-US.json +12 -0
  183. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +3 -0
  184. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  185. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +3 -0
  186. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  187. package/esm/presentation/localization/bundles/es-419.json +9 -1
  188. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +8 -0
  189. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  190. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +9 -1
  191. package/esm/presentation/localization/bundles/es-419.localization-bundle.js.map +1 -1
  192. package/esm/presentation/localization/bundles/es-ES.json +9 -1
  193. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +8 -0
  194. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  195. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +9 -1
  196. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js.map +1 -1
  197. package/esm/presentation/localization/bundles/fi-FI.json +9 -1
  198. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +8 -0
  199. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  200. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +9 -1
  201. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js.map +1 -1
  202. package/esm/presentation/localization/bundles/fr-CA.json +9 -1
  203. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +8 -0
  204. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  205. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +9 -1
  206. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js.map +1 -1
  207. package/esm/presentation/localization/bundles/fr-FR.json +9 -1
  208. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +8 -0
  209. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  210. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +9 -1
  211. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js.map +1 -1
  212. package/esm/presentation/localization/bundles/it-IT.json +9 -1
  213. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +8 -0
  214. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  215. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +9 -1
  216. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js.map +1 -1
  217. package/esm/presentation/localization/bundles/ja-JP.json +9 -1
  218. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +8 -0
  219. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  220. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +9 -1
  221. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js.map +1 -1
  222. package/esm/presentation/localization/bundles/ko-KR.json +9 -1
  223. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +8 -0
  224. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  225. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +9 -1
  226. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js.map +1 -1
  227. package/esm/presentation/localization/bundles/nl-NL.json +9 -1
  228. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +8 -0
  229. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  230. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +9 -1
  231. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js.map +1 -1
  232. package/esm/presentation/localization/bundles/pl-PL.json +9 -1
  233. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +8 -0
  234. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  235. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +9 -1
  236. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js.map +1 -1
  237. package/esm/presentation/localization/bundles/pt-BR.json +9 -1
  238. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +8 -0
  239. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  240. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +9 -1
  241. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js.map +1 -1
  242. package/esm/presentation/localization/bundles/pt-PT.json +9 -1
  243. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +8 -0
  244. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  245. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +9 -1
  246. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js.map +1 -1
  247. package/esm/presentation/localization/bundles/ru-RU.json +9 -1
  248. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +8 -0
  249. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  250. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +9 -1
  251. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js.map +1 -1
  252. package/esm/presentation/localization/bundles/tr-TR.json +9 -1
  253. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +8 -0
  254. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  255. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +9 -1
  256. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js.map +1 -1
  257. package/esm/presentation/localization/bundles/zh-HK.json +9 -1
  258. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +8 -0
  259. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  260. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +9 -1
  261. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js.map +1 -1
  262. package/esm/presentation/localization/bundles/zh-Hans.json +9 -1
  263. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +8 -0
  264. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  265. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +9 -1
  266. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js.map +1 -1
  267. package/esm/presentation/localization/bundles/zh-Hant.json +9 -1
  268. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +8 -0
  269. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  270. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +9 -1
  271. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js.map +1 -1
  272. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts.map +1 -1
  273. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.js +73 -29
  274. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.js.map +1 -1
  275. package/esm/presentation/widget/common/configuration/ConfigurationBubble.d.ts +0 -1
  276. package/esm/presentation/widget/common/configuration/ConfigurationBubble.d.ts.map +1 -1
  277. package/esm/presentation/widget/common/configuration/ConfigurationBubble.js +0 -7
  278. package/esm/presentation/widget/common/configuration/ConfigurationBubble.js.map +1 -1
  279. package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.d.ts.map +1 -1
  280. package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.js +11 -2
  281. package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.js.map +1 -1
  282. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsightWithDrillSelect.d.ts.map +1 -1
  283. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsightWithDrillSelect.js +2 -2
  284. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsightWithDrillSelect.js.map +1 -1
  285. package/esm/presentation/widget/insight/types.d.ts +5 -1
  286. package/esm/presentation/widget/insight/types.d.ts.map +1 -1
  287. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.d.ts.map +1 -1
  288. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js +6 -0
  289. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js.map +1 -1
  290. package/esm/sdk-ui-dashboard.d.ts +213 -6
  291. package/package.json +17 -17
  292. package/styles/css/insightConfiguration.css +27 -2
  293. package/styles/css/insightConfiguration.css.map +1 -1
  294. package/styles/css/main.css +27 -2
  295. package/styles/css/main.css.map +1 -1
  296. package/styles/scss/insightConfiguration.scss +33 -2
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2025 GoodData Corporation
3
- import { useEffect, useId, useMemo } from "react";
3
+ import { useEffect, useId } from "react";
4
4
  import cx from "classnames";
5
5
  import { FormattedMessage, useIntl } from "react-intl";
6
6
  import { UiButton, UiButtonSegmentedControl, UiIcon, UiIconButton, UiListbox, UiSkeleton, UiTooltip, } from "@gooddata/sdk-ui-kit";
7
7
  import { KeyDriverItem } from "../components/items/KeyDriverItem.js";
8
8
  import { SummaryItem } from "../components/items/SummaryItem.js";
9
+ import { useSignificantDrives } from "../hooks/useDriversList.js";
9
10
  import { useKdaState } from "../providers/KdaState.js";
10
11
  export function KeyDriversPanel({ loading, detailsId }) {
11
12
  const intl = useIntl();
@@ -13,23 +14,7 @@ export function KeyDriversPanel({ loading, detailsId }) {
13
14
  const label = intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.title" });
14
15
  const tooltip = intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.tooltip" });
15
16
  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]);
17
+ const { maximum, list, trendUp, trendDown } = useSignificantDrives();
33
18
  // When there are no items for selected trend, switch to the other trend
34
19
  useEffect(() => {
35
20
  if (trendUp.length === 0 && trendDown.length > 0 && state.selectedTrend === "up") {
@@ -49,7 +34,7 @@ export function KeyDriversPanel({ loading, detailsId }) {
49
34
  setState({ selectedTrend: "down" });
50
35
  }, accessibilityConfig: {
51
36
  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: {
37
+ } })] })) }), _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: list.length > 0 ? (_jsx(UiListbox, { items: list, ariaAttributes: {
53
38
  id: listId,
54
39
  "aria-controls": detailsId,
55
40
  }, InteractiveItemComponent: (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyDriversPanel.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EACH,QAAQ,EACR,wBAAwB,EACxB,MAAM,EACN,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAwB;IACxE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,CAAC,CAAC;IAEjF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAE1C,MAAM,OAAO,GAAG,OAAO,CACnB,GAAG,EAAE,CACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,EACN,CAAC,KAAK,CAAC,KAAK,CAAC,CAChB,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CACrB,GAAG,EAAE,CACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,EACN,CAAC,KAAK,CAAC,KAAK,CAAC,CAChB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,OAAO,IAAI,CAAC,GAAG,CACX,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC,CACL,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,wEAAwE;IACxE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC/E,QAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,2BAA2B;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,0BAA0B,CAAC,aAC1C,cAAK,SAAS,EAAE,EAAE,CAAC,kCAAkC,CAAC,YACjD,OAAO,CAAC,CAAC,CAAC,CACP,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,CACjC,CAAC,CAAC,CAAC,CACA,KAAC,WAAW,IACR,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,KAAK,CAAC,YAAY,KAAK,SAAS,EAC5C,QAAQ,EAAE,GAAG,EAAE;wBACX,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC1C,CAAC,GACH,CACL,GACC,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,YAC/C,OAAO,CAAC,CAAC,CAAC,CACP,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,GAAI,CAChD,CAAC,CAAC,CAAC,CACA,8BACK,KAAK,EACN,KAAC,SAAS,IACN,cAAc,EAAC,MAAM,EACrB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAC7B,gBAAgB,QAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EACF,KAAC,YAAY,IACT,IAAI,EAAC,UAAU,EACf,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,QAAQ,EACb,mBAAmB,EAAE;oCACjB,SAAS,EAAE,KAAK;iCACnB,GACH,GAER,IACH,CACN,GACC,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,YAC/C,OAAO,CAAC,CAAC,CAAC,CACP,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,CACjC,CAAC,CAAC,CAAC,CACA,MAAC,wBAAwB,eACrB,KAAC,QAAQ,IACL,KAAK,EAAE,IAAI,CAAC,aAAa,CACrB,EAAE,EAAE,EAAE,2CAA2C,EAAE,EACnD,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAC5B,EACD,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,EACxC,OAAO,EAAE,GAAG,EAAE;gCACV,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;4BACtC,CAAC,EACD,mBAAmB,EAAE;gCACjB,YAAY,EAAE,MAAM;6BACvB,GACH,EACF,KAAC,QAAQ,IACL,KAAK,EAAE,IAAI,CAAC,aAAa,CACrB,EAAE,EAAE,EAAE,6CAA6C,EAAE,EACrD,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAC9B,EACD,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,KAAK,CAAC,aAAa,KAAK,MAAM,EAC1C,OAAO,EAAE,GAAG,EAAE;gCACV,QAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;4BACxC,CAAC,EACD,mBAAmB,EAAE;gCACjB,YAAY,EAAE,MAAM;6BACvB,GACH,IACqB,CAC9B,GACC,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,+BAA+B,CAAC,YAC9C,OAAO,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAE,EAAE,CAAC,uCAAuC,CAAC,aACvD,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,EAC9B,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,EAC9B,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,EAC9B,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,EAC9B,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,EAC9B,KAAC,UAAU,IAAC,UAAU,EAAE,EAAE,GAAI,IAC5B,CACT,CAAC,CAAC,CAAC,CACA,4BACK,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,KAAC,SAAS,IACN,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE;4BACZ,EAAE,EAAE,MAAM;4BACV,eAAe,EAAE,SAAS;yBAC7B,EACD,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;4BAChC,OAAO,KAAC,aAAa,OAAK,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;wBAC1D,CAAC,EACD,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,EACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;4BACf,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;wBACrC,CAAC,GACH,CACL,CAAC,CAAC,CAAC,CACA,eAAK,SAAS,EAAE,EAAE,CAAC,qCAAqC,CAAC,aACrD,KAAC,MAAM,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,cAAc,GAAG,EAC3D,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,CAC5B,KAAC,gBAAgB,IAAC,EAAE,EAAC,qCAAqC,GAAG,CAChE,CAAC,CAAC,CAAC,CACA,KAAC,gBAAgB,IAAC,EAAE,EAAC,uCAAuC,GAAG,CAClE,IACC,CACT,GACF,CACN,GACC,IACJ,CACT,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAe;IACpC,OAAO,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"KeyDriversPanel.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ import { useKdaState } from "../providers/KdaState.js";
7
7
  export function MetricsBar() {
8
8
  const intl = useIntl();
9
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 }) }));
10
+ return (_jsx(KdaBar, { title: intl.formatMessage({ id: "kdaDialog.dialog.bars.metric.title" }), content: _jsx(_Fragment, { children: state.definition ? _jsx(MetricBar, { definition: state.definition }) : null }) }));
11
11
  }
12
12
  //# sourceMappingURL=MetricsBar.js.map
@@ -1 +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"}
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,UAAU,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAI,CAAC,CAAC,CAAC,IAAI,GAAI,GACvF,CACL,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"KdaDialog.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialog.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,eAAsB,EAAE,OAAO,EAAE,EAAE,eAAe,2CAqDxF"}
1
+ {"version":3,"file":"KdaDialog.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialog.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,eAAsB,EAAE,OAAO,EAAE,EAAE,eAAe,2CA2DxF"}
@@ -16,14 +16,18 @@ import { KeyDriversOverview } from "../composition/KeyDriversOverview.js";
16
16
  import { KeyDriversPanel } from "../composition/KeyDriversPanel.js";
17
17
  import { MetricsBar } from "../composition/MetricsBar.js";
18
18
  import { useKdaState } from "../providers/KdaState.js";
19
+ import { useChangeAnalysis } from "./hooks/useChangeAnalysis.js";
19
20
  const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
20
21
  /**
21
22
  * @internal
22
23
  */
23
24
  export function KdaDialog({ className, showCloseButton = true, onClose }) {
24
25
  const { state } = useKdaState();
25
- const accessibilityConfig = useKdaDialogAccessibility(state.metric?.title ?? "");
26
+ const metric = state.definition?.metric.measure;
27
+ const title = metric?.alias ?? metric?.title ?? "";
28
+ const accessibilityConfig = useKdaDialogAccessibility(title);
26
29
  const detailsId = useId();
30
+ useChangeAnalysis();
27
31
  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
32
  }
29
33
  //# sourceMappingURL=KdaDialog.js.map
@@ -1 +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,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,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;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,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,SAAG,EAC7D,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,SAAG,EAC3C,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"}
1
+ {"version":3,"file":"KdaDialog.js","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialog.tsx"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,2CA2BrF"}
@@ -9,8 +9,8 @@ import { useKdaState } from "../providers/KdaState.js";
9
9
  export function KdaDialogSections({ footer, content, header }) {
10
10
  const { state } = useKdaState();
11
11
  const isDashboardLoading = useDashboardSelector(selectIsDashboardLoading);
12
- const isLoading = state.rootStatus === "pending" || state.rootStatus === "loading" || isDashboardLoading;
13
- const isError = state.rootStatus === "error";
12
+ const isLoading = state.definitionStatus === "pending" || state.definitionStatus === "loading" || isDashboardLoading;
13
+ const isError = state.definitionStatus === "error";
14
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
15
  }
16
16
  //# sourceMappingURL=KdaDialogSections.js.map
@@ -1 +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"}
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,GACX,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,kBAAkB,CAAC;IACvG,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,KAAK,OAAO,CAAC;IAEnD,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,2 @@
1
+ export declare function useChangeAnalysis(): void;
2
+ //# sourceMappingURL=useChangeAnalysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChangeAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/dialog/hooks/useChangeAnalysis.ts"],"names":[],"mappings":"AAgBA,wBAAgB,iBAAiB,SAehC"}
@@ -0,0 +1,123 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useEffect, useMemo } from "react";
3
+ import { ClientFormatterFacade } from "@gooddata/number-formatter";
4
+ import { isSimpleMeasure } from "@gooddata/sdk-model";
5
+ import { useBackendStrict, useCancelablePromise, useWorkspaceStrict } from "@gooddata/sdk-ui";
6
+ import { useAttribute } from "../../hooks/useAttribute.js";
7
+ import { useDateAttribute } from "../../hooks/useDateAttribute.js";
8
+ import { useKdaState } from "../../providers/KdaState.js";
9
+ export function useChangeAnalysis() {
10
+ const { state, setState } = useKdaState();
11
+ const definition = state.definition;
12
+ const attributes = useMemo(() => {
13
+ return state.selectedAttributes;
14
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15
+ }, [state.selectedUpdated]);
16
+ const results = useChangeAnalysisResults(definition, attributes);
17
+ const list = useKdaStateWithList(results, definition);
18
+ useEffect(() => {
19
+ setState(list);
20
+ }, [list, setState]);
21
+ }
22
+ function useChangeAnalysisResults(definition, attributes) {
23
+ const backend = useBackendStrict();
24
+ const workspace = useWorkspaceStrict();
25
+ const from = definition?.range[0].date;
26
+ const to = definition?.range[1].date;
27
+ const dateAttributeFinder = useDateAttribute();
28
+ return useCancelablePromise({
29
+ promise: () => {
30
+ const dateAttribute = dateAttributeFinder(definition?.dateAttribute);
31
+ if (!definition || !dateAttribute) {
32
+ return Promise.resolve(undefined);
33
+ }
34
+ const granularity = dateAttribute.granularity;
35
+ //TODO: This is hack: Replace this code for metric definition not only id
36
+ const ref = isSimpleMeasure(definition.metric)
37
+ ? definition.metric.measure.definition.measureDefinition.item
38
+ : null;
39
+ if (!ref) {
40
+ return Promise.resolve(undefined);
41
+ }
42
+ return backend
43
+ .workspace(workspace)
44
+ .kda()
45
+ .computeChangeAnalysis({
46
+ dateAttribute: definition.dateAttribute,
47
+ from: from ?? "",
48
+ to: to ?? "",
49
+ granularity,
50
+ }, ref, attributes);
51
+ },
52
+ }, [backend, definition, attributes, workspace, from, to]);
53
+ }
54
+ function useKdaStateWithList({ result, status }, definition) {
55
+ const { state } = useKdaState();
56
+ const loadingStatus = definition ? status : "pending";
57
+ const attributeFinder = useAttribute();
58
+ const metric = definition?.metric;
59
+ const separators = state.separators;
60
+ const from = definition?.range[0].date;
61
+ const to = definition?.range[1].date;
62
+ const { items, attributes } = useMemo(() => {
63
+ const attributes = [];
64
+ function mapKeyDrive(keyDriver, i) {
65
+ const ref = keyDriver.displayForm;
66
+ const attribute = attributeFinder(ref);
67
+ if (attribute && !attributes.includes(attribute)) {
68
+ attributes.push(attribute);
69
+ }
70
+ if (attribute && metric && from && to) {
71
+ return createKdaItem(metric, attribute, keyDriver, i, from, to, separators);
72
+ }
73
+ return null;
74
+ }
75
+ const list = result?.keyDrivers.map(mapKeyDrive) ?? [];
76
+ const items = list.filter(Boolean);
77
+ return {
78
+ items,
79
+ attributes,
80
+ };
81
+ }, [attributeFinder, from, metric, result?.keyDrivers, separators, to]);
82
+ return useMemo(() => {
83
+ return {
84
+ items,
85
+ selectedItem: "summary",
86
+ itemsStatus: loadingStatus,
87
+ selectedStatus: loadingStatus,
88
+ selectedAttributes: attributes.map((a) => a.defaultDisplayForm.ref),
89
+ };
90
+ }, [items, loadingStatus, attributes]);
91
+ }
92
+ function createKdaItem(metric, attribute, driver, i, from, to, separators) {
93
+ const stringTitle = `${attribute.attribute.title}: ${driver.value}`;
94
+ const id = `key_driver_${i}`;
95
+ return {
96
+ id,
97
+ stringTitle,
98
+ data: {
99
+ id,
100
+ attribute: attribute.defaultDisplayForm,
101
+ title: attribute.attribute.title,
102
+ description: attribute.attribute.description,
103
+ category: driver.value,
104
+ from: {
105
+ value: driver.metricValue.from,
106
+ date: from,
107
+ },
108
+ to: {
109
+ value: driver.metricValue.to,
110
+ date: to,
111
+ },
112
+ isSignificant: driver.isSignificantChange,
113
+ standardDeviation: driver.std,
114
+ mean: driver.mean,
115
+ formatValue: (value) => {
116
+ const format = metric.measure.format;
117
+ return ClientFormatterFacade.formatValue(value, format, separators).formattedValue;
118
+ },
119
+ },
120
+ type: "interactive",
121
+ };
122
+ }
123
+ //# sourceMappingURL=useChangeAnalysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChangeAnalysis.js","sourceRoot":"","sources":["../../../../src/kdaDialog/dialog/hooks/useChangeAnalysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ObjRef } from "@gooddata/sdk-model";
2
+ export declare function useAttribute(): (ref?: ObjRef) => import("@gooddata/sdk-model").ICatalogAttribute | null;
3
+ //# sourceMappingURL=useAttribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAttribute.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useAttribute.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAI9D,wBAAgB,YAAY,WAIb,MAAM,4DAWpB"}
@@ -0,0 +1,14 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { areObjRefsEqual } from "@gooddata/sdk-model";
4
+ import { selectCatalogAttributes, useDashboardSelector } from "../../model/index.js";
5
+ export function useAttribute() {
6
+ const dateAttributes = useDashboardSelector(selectCatalogAttributes);
7
+ return useCallback((ref) => {
8
+ return ref
9
+ ? (dateAttributes.find((a) => areObjRefsEqual(ref, a.attribute.ref) ||
10
+ a.attribute.displayForms.some((df) => areObjRefsEqual(df.ref, ref))) ?? null)
11
+ : null;
12
+ }, [dateAttributes]);
13
+ }
14
+ //# sourceMappingURL=useAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAttribute.js","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useAttribute.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAU,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,UAAU,YAAY;IACxB,MAAM,cAAc,GAAG,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;IAErE,OAAO,WAAW,CACd,CAAC,GAAY,EAAE,EAAE;QACb,OAAO,GAAG;YACN,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,EAAE,CACF,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;gBACrC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAC1E,IAAI,IAAI,CAAC;YACZ,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,EACD,CAAC,cAAc,CAAC,CACnB,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ObjRef } from "@gooddata/sdk-model";
2
+ export declare function useDateAttribute(): (ref?: ObjRef) => import("@gooddata/sdk-model").ICatalogDateAttribute | null;
3
+ //# sourceMappingURL=useDateAttribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDateAttribute.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useDateAttribute.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAI9D,wBAAgB,gBAAgB,WAIjB,MAAM,gEAWpB"}
@@ -0,0 +1,14 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { areObjRefsEqual } from "@gooddata/sdk-model";
4
+ import { selectCatalogDateAttributes, useDashboardSelector } from "../../model/index.js";
5
+ export function useDateAttribute() {
6
+ const dateAttributes = useDashboardSelector(selectCatalogDateAttributes);
7
+ return useCallback((ref) => {
8
+ return ref
9
+ ? (dateAttributes.find((a) => areObjRefsEqual(ref, a.attribute.ref) ||
10
+ a.attribute.displayForms.some((df) => areObjRefsEqual(df.ref, ref))) ?? null)
11
+ : null;
12
+ }, [dateAttributes]);
13
+ }
14
+ //# sourceMappingURL=useDateAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDateAttribute.js","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useDateAttribute.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAU,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,UAAU,gBAAgB;IAC5B,MAAM,cAAc,GAAG,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IAEzE,OAAO,WAAW,CACd,CAAC,GAAY,EAAE,EAAE;QACb,OAAO,GAAG;YACN,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,EAAE,CACF,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;gBACrC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAC1E,IAAI,IAAI,CAAC;YACZ,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,EACD,CAAC,cAAc,CAAC,CACnB,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function useSignificantDrives(): {
2
+ trendUp: import("@gooddata/sdk-ui-kit").IUiListboxInteractiveItem<import("../internalTypes.js").KdaItem>[];
3
+ trendDown: import("@gooddata/sdk-ui-kit").IUiListboxInteractiveItem<import("../internalTypes.js").KdaItem>[];
4
+ list: import("@gooddata/sdk-ui-kit").IUiListboxInteractiveItem<import("../internalTypes.js").KdaItem>[];
5
+ maximum: number;
6
+ };
7
+ //# sourceMappingURL=useDriversList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDriversList.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useDriversList.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB;;;;;EAyBnC"}
@@ -0,0 +1,26 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useMemo } from "react";
3
+ import { useTrendDrivers } from "./useTrendDrivers.js";
4
+ import { useKdaState } from "../providers/KdaState.js";
5
+ export function useSignificantDrives() {
6
+ const { state } = useKdaState();
7
+ const { trendUp, trendDown } = useTrendDrivers();
8
+ const list = useMemo(() => {
9
+ if (state.selectedTrend === "up") {
10
+ return trendUp;
11
+ }
12
+ return trendDown;
13
+ }, [state.selectedTrend, trendUp, trendDown]);
14
+ const maximum = useMemo(() => {
15
+ return Math.max(...list.map((item) => {
16
+ return Math.abs(item.data.to.value - item.data.from.value);
17
+ }));
18
+ }, [list]);
19
+ return {
20
+ trendUp,
21
+ trendDown,
22
+ list,
23
+ maximum,
24
+ };
25
+ }
26
+ //# sourceMappingURL=useDriversList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDriversList.js","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useDriversList.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,UAAU,oBAAoB;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAC;IAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACtB,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,OAAO,IAAI,CAAC,GAAG,CACX,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC,CACL,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO;QACH,OAAO;QACP,SAAS;QACT,IAAI;QACJ,OAAO;KACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useSignificantDrives(): import("@gooddata/sdk-ui-kit").IUiListboxInteractiveItem<import("../internalTypes.js").KdaItem>[];
2
+ //# sourceMappingURL=useSignificantDrives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignificantDrives.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useSignificantDrives.ts"],"names":[],"mappings":"AAMA,wBAAgB,oBAAoB,sGAMnC"}
@@ -0,0 +1,10 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useMemo } from "react";
3
+ import { useKdaState } from "../providers/KdaState.js";
4
+ export function useSignificantDrives() {
5
+ const { state } = useKdaState();
6
+ return useMemo(() => {
7
+ return state.items.filter((s) => s.data.isSignificant);
8
+ }, [state.items]);
9
+ }
10
+ //# sourceMappingURL=useSignificantDrives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignificantDrives.js","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useSignificantDrives.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,UAAU,oBAAoB;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { KdaItemGroup } from "../internalTypes.js";
2
+ export declare function useSummaryDrivers(): KdaItemGroup[];
3
+ //# sourceMappingURL=useSummaryDrivers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSummaryDrivers.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useSummaryDrivers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,wBAAgB,iBAAiB,mBAkChC"}
@@ -0,0 +1,42 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useMemo } from "react";
3
+ import { objRefToString } from "@gooddata/sdk-model";
4
+ import { useAttribute } from "./useAttribute.js";
5
+ import { useKdaState } from "../providers/KdaState.js";
6
+ export function useSummaryDrivers() {
7
+ const { state } = useKdaState();
8
+ const attributeFinder = useAttribute();
9
+ return useMemo(() => {
10
+ //Groups
11
+ const groups = state.items.reduce((prev, { data }) => {
12
+ const ref = objRefToString(data.attribute);
13
+ if (!prev[ref]) {
14
+ prev[ref] = createKdaGroup(ref, data.attribute, data.title, data.description);
15
+ }
16
+ prev[ref].items.push(data);
17
+ return prev;
18
+ }, {});
19
+ //Selected fill empty groups
20
+ state.selectedAttributes.reduce((prev, current) => {
21
+ const ref = objRefToString(current);
22
+ if (!prev[ref]) {
23
+ const attribute = attributeFinder(current);
24
+ if (attribute) {
25
+ prev[ref] = createKdaGroup(ref, current, attribute.attribute.title, attribute.attribute.description);
26
+ }
27
+ }
28
+ return prev;
29
+ }, groups);
30
+ return Object.values(groups).sort((a, b) => b.items.length - a.items.length);
31
+ }, [state.items, attributeFinder, state.selectedAttributes]);
32
+ }
33
+ function createKdaGroup(id, attribute, title, description) {
34
+ return {
35
+ id,
36
+ items: [],
37
+ attribute,
38
+ title,
39
+ description,
40
+ };
41
+ }
42
+ //# sourceMappingURL=useSummaryDrivers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSummaryDrivers.js","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useSummaryDrivers.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAU,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,UAAU,iBAAiB;IAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,YAAY,EAAE,CAAC;IAEvC,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,QAAQ;QACR,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAA+B,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/E,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,4BAA4B;QAC5B,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,SAAS,EAAE,CAAC;oBACZ,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CACtB,GAAG,EACH,OAAO,EACP,SAAS,CAAC,SAAS,CAAC,KAAK,EACzB,SAAS,CAAC,SAAS,CAAC,WAAW,CAClC,CAAC;gBACN,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAmB,CAAC;IACnG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,EAAU,EAAE,SAAiB,EAAE,KAAa,EAAE,WAAmB;IACrF,OAAO;QACH,EAAE;QACF,KAAK,EAAE,EAAE;QACT,SAAS;QACT,KAAK;QACL,WAAW;KACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function useTrendDrivers(): {
2
+ trendUp: import("@gooddata/sdk-ui-kit").IUiListboxInteractiveItem<import("../internalTypes.js").KdaItem>[];
3
+ trendDown: import("@gooddata/sdk-ui-kit").IUiListboxInteractiveItem<import("../internalTypes.js").KdaItem>[];
4
+ };
5
+ //# sourceMappingURL=useTrendDrivers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTrendDrivers.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useTrendDrivers.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe;;;EAsB9B"}
@@ -0,0 +1,17 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useMemo } from "react";
3
+ import { useSignificantDrives } from "./useSignificantDrives.js";
4
+ export function useTrendDrivers() {
5
+ const significantDrives = useSignificantDrives();
6
+ const trendUp = useMemo(() => significantDrives.filter((item) => {
7
+ return item.data.from.value < item.data.to.value;
8
+ }), [significantDrives]);
9
+ const trendDown = useMemo(() => significantDrives.filter((item) => {
10
+ return item.data.from.value > item.data.to.value;
11
+ }), [significantDrives]);
12
+ return {
13
+ trendUp,
14
+ trendDown,
15
+ };
16
+ }
17
+ //# sourceMappingURL=useTrendDrivers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTrendDrivers.js","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useTrendDrivers.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,UAAU,eAAe;IAC3B,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,OAAO,CACnB,GAAG,EAAE,CACD,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,EACN,CAAC,iBAAiB,CAAC,CACtB,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CACrB,GAAG,EAAE,CACD,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;IACrD,CAAC,CAAC,EACN,CAAC,iBAAiB,CAAC,CACtB,CAAC;IAEF,OAAO;QACH,OAAO;QACP,SAAS;KACZ,CAAC;AACN,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { KdaDialog } from "./KdaDialog.js";
2
- export type { IKdaDialogProps } from "./types.js";
2
+ export type { IKdaDialogProps, IKdaDefinition, IKdaDataPoint, KdaPeriodType } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export type * from "./internalTypes.js";
2
2
  export * from "./providers/KdaState.js";
3
3
  export * from "./providers/KdaStore.js";
4
+ export * from "./providers/Kda.js";
4
5
  export * from "./dialog/KdaDialog.js";
5
6
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/kdaDialog/internal.ts"],"names":[],"mappings":"AAEA,mBAAmB,oBAAoB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/kdaDialog/internal.ts"],"names":[],"mappings":"AAEA,mBAAmB,oBAAoB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  export * from "./providers/KdaState.js";
3
3
  export * from "./providers/KdaStore.js";
4
+ export * from "./providers/Kda.js";
4
5
  export * from "./dialog/KdaDialog.js";
5
6
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/kdaDialog/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/kdaDialog/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAGhC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}