@orchestrator-ui/orchestrator-ui-components 7.4.0 → 7.5.0

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 (554) hide show
  1. package/.turbo/turbo-build.log +9 -9
  2. package/.turbo/turbo-lint.log +1 -13
  3. package/.turbo/turbo-test.log +11 -11
  4. package/CHANGELOG.md +426 -415
  5. package/__mocks__/@copilotkit/react-core.js +6 -6
  6. package/__mocks__/@copilotkit/react-ui.js +1 -6
  7. package/dist/index.d.ts +283 -176
  8. package/dist/index.js +3259 -7616
  9. package/dist/index.js.map +1 -1
  10. package/package.json +93 -93
  11. package/src/api/types.ts +36 -36
  12. package/src/components/WfoAgent/ExportButton/ExportButton.tsx +59 -63
  13. package/src/components/WfoAgent/ExportButton/styles.ts +56 -56
  14. package/src/components/WfoAgent/ToolProgress/DiscoverFilterPathsDisplay.tsx +79 -94
  15. package/src/components/WfoAgent/ToolProgress/RunSearchDisplay.tsx +22 -22
  16. package/src/components/WfoAgent/ToolProgress/SetFilterTreeDisplay.styles.ts +56 -56
  17. package/src/components/WfoAgent/ToolProgress/SetFilterTreeDisplay.tsx +76 -104
  18. package/src/components/WfoAgent/ToolProgress/StartNewSearchDisplay.tsx +49 -51
  19. package/src/components/WfoAgent/ToolProgress/ToolProgress.tsx +65 -115
  20. package/src/components/WfoAgent/ToolProgress/styles.ts +46 -46
  21. package/src/components/WfoAgent/WfoAgent/WfoAgent.tsx +69 -110
  22. package/src/components/WfoAgent/WfoAgentChart/WfoAgentLineChart.tsx +36 -46
  23. package/src/components/WfoAgent/WfoAgentChart/WfoAgentPieChart.tsx +40 -53
  24. package/src/components/WfoAgent/WfoAgentChart/styles.ts +2 -2
  25. package/src/components/WfoAgent/WfoAgentTable/WfoAgentTable.tsx +45 -55
  26. package/src/components/WfoAgent/WfoAgentVisualization/WfoAgentVisualization.tsx +37 -42
  27. package/src/components/WfoAuth/WfoAuth.tsx +11 -18
  28. package/src/components/WfoAuth/WfoIsAllowedToRender.tsx +5 -8
  29. package/src/components/WfoAuth/WfoPageUnauthorized.tsx +2 -2
  30. package/src/components/WfoAuth/WfoPolicyRenderPageFallback.tsx +5 -8
  31. package/src/components/WfoAvailabilityCheck/WfoAvailabilityCheck.tsx +8 -17
  32. package/src/components/WfoBackendUnavailable/WfoBackendUnavailable.tsx +71 -94
  33. package/src/components/WfoBadges/WfoBadge/WfoBadge.stories.tsx +9 -9
  34. package/src/components/WfoBadges/WfoBadge/WfoBadge.tsx +11 -14
  35. package/src/components/WfoBadges/WfoEngineStatusBadge/WfoEngineStatusBadge.stories.tsx +17 -17
  36. package/src/components/WfoBadges/WfoEngineStatusBadge/WfoEngineStatusBadge.tsx +19 -25
  37. package/src/components/WfoBadges/WfoEnvironmentBadge/WfoEnvironmentBadge.stories.tsx +7 -7
  38. package/src/components/WfoBadges/WfoEnvironmentBadge/WfoEnvironmentBadge.tsx +13 -16
  39. package/src/components/WfoBadges/WfoFailedTasksBadge/WfoFailedTasksBadge.stories.tsx +3 -3
  40. package/src/components/WfoBadges/WfoFailedTasksBadge/WfoFailedTasksBadge.tsx +66 -83
  41. package/src/components/WfoBadges/WfoFailedTasksBadge/styles.ts +5 -5
  42. package/src/components/WfoBadges/WfoHeaderBadge/WfoHeaderBadge.stories.tsx +9 -9
  43. package/src/components/WfoBadges/WfoHeaderBadge/WfoHeaderBadge.tsx +19 -21
  44. package/src/components/WfoBadges/WfoProcessStatusBadge/WfoProcessStatusBadge.tsx +56 -59
  45. package/src/components/WfoBadges/WfoProductBlockBadge/WfoProductBlockBadge.stories.tsx +5 -5
  46. package/src/components/WfoBadges/WfoProductBlockBadge/WfoProductBlockBadge.tsx +60 -66
  47. package/src/components/WfoBadges/WfoProductStatusBadge/WfoProductStatusBadge.stories.tsx +8 -8
  48. package/src/components/WfoBadges/WfoProductStatusBadge/WfoProductStatusBadge.tsx +34 -43
  49. package/src/components/WfoBadges/WfoScheduledTasksBadges/WfoScheduledTasksBadges.tsx +19 -29
  50. package/src/components/WfoBadges/WfoScheduledTasksBadges/WfoScheduledTasksBadgesContainer.tsx +10 -11
  51. package/src/components/WfoBadges/WfoSubscriptionStatusBadge/WfoSubscriptionStatusBadge.stories.tsx +11 -11
  52. package/src/components/WfoBadges/WfoSubscriptionStatusBadge/WfoSubscriptionStatusBadge.tsx +35 -44
  53. package/src/components/WfoBadges/WfoSubscriptionSyncStatusBadge/WfoSubscriptionSyncStatusBadge.stories.tsx +12 -12
  54. package/src/components/WfoBadges/WfoSubscriptionSyncStatusBadge/WfoSubscriptionSyncStatusBadge.tsx +31 -34
  55. package/src/components/WfoBadges/WfoVersionIncompatibleBadge/WfoVersionIncompatibleBadge.stories.tsx +7 -7
  56. package/src/components/WfoBadges/WfoVersionIncompatibleBadge/WfoVersionIncompatibleBadge.tsx +44 -47
  57. package/src/components/WfoBadges/WfoWebsocketStatusBadge/WfoWebsocketStatusBadge.stories.tsx +3 -3
  58. package/src/components/WfoBadges/WfoWebsocketStatusBadge/WfoWebsocketStatusBadge.tsx +48 -71
  59. package/src/components/WfoBadges/WfoWebsocketStatusBadge/styles.ts +14 -16
  60. package/src/components/WfoBadges/WfoWorkflowTargetBadge/WfoWorkflowTargetBadge.tsx +51 -63
  61. package/src/components/WfoButtonComboBox/WfoButtonComboBox.tsx +55 -64
  62. package/src/components/WfoButtonComboBox/styles.ts +19 -19
  63. package/src/components/WfoButtonWithConfirm/WfoButtonWithConfirm.tsx +21 -21
  64. package/src/components/WfoContentHeader/WfoContentHeader.tsx +28 -48
  65. package/src/components/WfoDateTime/WfoDateTime.tsx +3 -3
  66. package/src/components/WfoDiff/WfoDiff.tsx +82 -100
  67. package/src/components/WfoDiff/styles.ts +28 -35
  68. package/src/components/WfoDropdownButton/WfoDropdownButton.tsx +54 -58
  69. package/src/components/WfoError/WfoError.stories.tsx +9 -12
  70. package/src/components/WfoError/WfoError.tsx +22 -25
  71. package/src/components/WfoErrorBoundary/WfoErrorBoundary.tsx +30 -34
  72. package/src/components/WfoExpandableField/WfoExpandableField.tsx +24 -31
  73. package/src/components/WfoExpandableField/styles.ts +11 -11
  74. package/src/components/WfoFilterTabs/WfoFilterTabs.tsx +33 -35
  75. package/src/components/WfoFilterTabs/styles.ts +7 -7
  76. package/src/components/WfoInlineEdit/WfoInlineEdit.tsx +99 -112
  77. package/src/components/WfoInlineNoteEdit/WfoSubscriptionDetailNoteEdit.tsx +33 -39
  78. package/src/components/WfoInlineNoteEdit/WfoSubscriptionNoteEdit.tsx +32 -35
  79. package/src/components/WfoInsyncIcon/WfoInsyncIcon.stories.tsx +8 -8
  80. package/src/components/WfoInsyncIcon/WfoInsyncIcon.tsx +5 -15
  81. package/src/components/WfoJsonCodeBlock/WfoJsonCodeBlock.tsx +15 -19
  82. package/src/components/WfoJsonCodeBlock/styles.ts +19 -19
  83. package/src/components/WfoKeyValueTable/WfoKeyCell.tsx +10 -11
  84. package/src/components/WfoKeyValueTable/WfoKeyValueTable.tsx +22 -25
  85. package/src/components/WfoKeyValueTable/WfoValueCell.tsx +44 -54
  86. package/src/components/WfoKeyValueTable/WfoValueOnlyTable.tsx +19 -22
  87. package/src/components/WfoKeyValueTable/styles.ts +77 -78
  88. package/src/components/WfoLogoSpinner/WfoLogoSpinner.tsx +22 -29
  89. package/src/components/WfoLogoSpinner/styles.ts +33 -36
  90. package/src/components/WfoMetadata/WfoMetadataDescriptionField.tsx +8 -14
  91. package/src/components/WfoMonacoCodeBlock/WfoMonacoCodeBlock.tsx +56 -63
  92. package/src/components/WfoMonacoCodeBlock/styles.ts +9 -11
  93. package/src/components/WfoNoResults/WfoNoResults.stories.tsx +6 -6
  94. package/src/components/WfoNoResults/WfoNoResults.tsx +8 -8
  95. package/src/components/WfoNoResults/styles.ts +16 -16
  96. package/src/components/WfoOptionalLink/WfoOptionalLink.tsx +7 -10
  97. package/src/components/WfoPageTemplate/WfoBreadcrumbs/WfoBreadcrumbs.tsx +61 -87
  98. package/src/components/WfoPageTemplate/WfoPageHeader/WfoAppLogo.tsx +15 -24
  99. package/src/components/WfoPageTemplate/WfoPageHeader/WfoHamburgerMenu.tsx +115 -140
  100. package/src/components/WfoPageTemplate/WfoPageHeader/WfoPageHeader.stories.tsx +43 -43
  101. package/src/components/WfoPageTemplate/WfoPageHeader/WfoPageHeader.tsx +67 -101
  102. package/src/components/WfoPageTemplate/WfoPageHeader/styles.ts +16 -16
  103. package/src/components/WfoPageTemplate/WfoPageHeader/utils/toHexColorWithOpacity.spec.ts +6 -6
  104. package/src/components/WfoPageTemplate/WfoPageHeader/utils/toHexColorWithOpacity.ts +2 -2
  105. package/src/components/WfoPageTemplate/WfoPageTemplate/ContentContext.tsx +10 -16
  106. package/src/components/WfoPageTemplate/WfoPageTemplate/WfoPageTemplate.stories.tsx +10 -10
  107. package/src/components/WfoPageTemplate/WfoPageTemplate/WfoPageTemplate.tsx +62 -94
  108. package/src/components/WfoPageTemplate/WfoPageTemplate/styles.ts +19 -22
  109. package/src/components/WfoPageTemplate/WfoSidebar/WfoCopyright.tsx +13 -13
  110. package/src/components/WfoPageTemplate/WfoSidebar/WfoMenuLink.tsx +34 -42
  111. package/src/components/WfoPageTemplate/WfoSidebar/WfoSidebar.stories.tsx +7 -7
  112. package/src/components/WfoPageTemplate/WfoSidebar/WfoSidebar.tsx +205 -240
  113. package/src/components/WfoPageTemplate/WfoSidebar/styles.ts +92 -99
  114. package/src/components/WfoPageTemplate/WfoSidebar/utils/menuItemIsAllowed.spec.ts +31 -40
  115. package/src/components/WfoPageTemplate/WfoSidebar/utils/menuItemIsAllowed.ts +8 -8
  116. package/src/components/WfoPageTemplate/paths.ts +1 -2
  117. package/src/components/WfoPopover/WfoPopover.tsx +26 -36
  118. package/src/components/WfoProcessList/WfoProcessesList.tsx +212 -247
  119. package/src/components/WfoProcessList/processListObjectMappers.ts +95 -100
  120. package/src/components/WfoPydanticForm/Footer.tsx +139 -157
  121. package/src/components/WfoPydanticForm/Header.tsx +9 -10
  122. package/src/components/WfoPydanticForm/RenderFormErrors.tsx +18 -20
  123. package/src/components/WfoPydanticForm/Row.tsx +22 -31
  124. package/src/components/WfoPydanticForm/WfoPydanticForm.tsx +77 -93
  125. package/src/components/WfoPydanticForm/fields/WfoArrayField/WfoArrayField.tsx +85 -120
  126. package/src/components/WfoPydanticForm/fields/WfoArrayField/styles.ts +28 -28
  127. package/src/components/WfoPydanticForm/fields/WfoCallout.tsx +9 -12
  128. package/src/components/WfoPydanticForm/fields/WfoCheckbox.tsx +11 -16
  129. package/src/components/WfoPydanticForm/fields/WfoDivider.tsx +4 -8
  130. package/src/components/WfoPydanticForm/fields/WfoDropdown.tsx +6 -17
  131. package/src/components/WfoPydanticForm/fields/WfoInteger.tsx +29 -43
  132. package/src/components/WfoPydanticForm/fields/WfoLabel.tsx +14 -14
  133. package/src/components/WfoPydanticForm/fields/WfoMultiCheckboxField.tsx +40 -51
  134. package/src/components/WfoPydanticForm/fields/WfoObjectField/WfoObjectField.tsx +22 -35
  135. package/src/components/WfoPydanticForm/fields/WfoObjectField/styles.ts +9 -9
  136. package/src/components/WfoPydanticForm/fields/WfoRadio.tsx +15 -20
  137. package/src/components/WfoPydanticForm/fields/WfoReactSelect/WfoReactSelect.tsx +84 -97
  138. package/src/components/WfoPydanticForm/fields/WfoReactSelect/styles.ts +68 -85
  139. package/src/components/WfoPydanticForm/fields/WfoSummary.tsx +58 -67
  140. package/src/components/WfoPydanticForm/fields/WfoText.tsx +16 -26
  141. package/src/components/WfoPydanticForm/fields/WfoTextArea.tsx +12 -17
  142. package/src/components/WfoPydanticForm/fields/WfoTimestampField.tsx +42 -48
  143. package/src/components/WfoPydanticForm/fields/styles.ts +71 -71
  144. package/src/components/WfoPydanticForm/fields/wfoPydanticFormUtils.spec.ts +24 -24
  145. package/src/components/WfoPydanticForm/fields/wfoPydanticFormUtils.ts +11 -18
  146. package/src/components/WfoRadioDropdown/WfoRadioDropdown.tsx +55 -74
  147. package/src/components/WfoRenderElementOrString/WfoRenderElementOrString.tsx +8 -8
  148. package/src/components/WfoSearchBar/WfoSearchField.tsx +35 -47
  149. package/src/components/WfoSearchPage/WfoConditionRow/WfoConditionRow.tsx +290 -354
  150. package/src/components/WfoSearchPage/WfoConditionRow/WfoFieldSelector.tsx +30 -30
  151. package/src/components/WfoSearchPage/WfoConditionRow/WfoOperatorSelector.tsx +56 -85
  152. package/src/components/WfoSearchPage/WfoConditionRow/WfoPathChips.tsx +143 -171
  153. package/src/components/WfoSearchPage/WfoConditionRow/WfoPathSelector.tsx +40 -42
  154. package/src/components/WfoSearchPage/WfoConditionRow/WfoRenderFunctions.tsx +50 -86
  155. package/src/components/WfoSearchPage/WfoConditionRow/WfoSelectedPathDisplay.tsx +48 -65
  156. package/src/components/WfoSearchPage/WfoConditionRow/index.ts +1 -4
  157. package/src/components/WfoSearchPage/WfoConditionRow/types.ts +56 -61
  158. package/src/components/WfoSearchPage/WfoConditionRow/utils.ts +36 -48
  159. package/src/components/WfoSearchPage/WfoFilterGroup/WfoFilterGroup.tsx +158 -213
  160. package/src/components/WfoSearchPage/WfoSearch/WfoSearch.tsx +327 -411
  161. package/src/components/WfoSearchPage/WfoSearchResults/WfoHighlightedText.tsx +46 -53
  162. package/src/components/WfoSearchPage/WfoSearchResults/WfoPathBreadcrumb.tsx +50 -67
  163. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchEmptyState.tsx +13 -13
  164. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchLoadingState.tsx +13 -13
  165. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchMetadataHeader.tsx +13 -15
  166. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchPaginationInfo.tsx +76 -86
  167. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchResultItem.tsx +112 -133
  168. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchResults.tsx +31 -31
  169. package/src/components/WfoSearchPage/WfoValueControl/WfoValueControl.tsx +181 -215
  170. package/src/components/WfoSearchPage/constants.ts +3 -8
  171. package/src/components/WfoSearchPage/utils.ts +83 -112
  172. package/src/components/WfoSettings/WfoAoStackStatus.tsx +19 -28
  173. package/src/components/WfoSettings/WfoEngineStatus.tsx +31 -37
  174. package/src/components/WfoSettings/WfoEngineStatusButton.tsx +17 -30
  175. package/src/components/WfoSettings/WfoFlushSettings.tsx +54 -72
  176. package/src/components/WfoSettings/WfoModifySettings.tsx +23 -29
  177. package/src/components/WfoSettings/WfoResetTextSearchIndexButton.tsx +7 -10
  178. package/src/components/WfoSettings/WfoWorkerStatus.tsx +35 -42
  179. package/src/components/WfoSettings/styles.ts +17 -17
  180. package/src/components/WfoSettingsModal/WfoInformationModal.tsx +25 -29
  181. package/src/components/WfoSettingsModal/WfoSettingsModal.tsx +43 -43
  182. package/src/components/WfoSettingsModal/WfoSubmitModal.tsx +45 -50
  183. package/src/components/WfoStartButton/WfoStartButtonComboBox.tsx +98 -121
  184. package/src/components/WfoStartButton/WfoStartTaskComboBox.tsx +35 -35
  185. package/src/components/WfoStartButton/WfoStartWorkflowComboBox.tsx +42 -44
  186. package/src/components/WfoStartButton/styles.ts +15 -15
  187. package/src/components/WfoSubscription/SubscriptionKeyValueBlock.tsx +23 -35
  188. package/src/components/WfoSubscription/WfoCustomerDescriptionsField.tsx +85 -99
  189. package/src/components/WfoSubscription/WfoInSyncField/WfoInSyncErrorToastMessage.tsx +15 -17
  190. package/src/components/WfoSubscription/WfoInSyncField/WfoInSyncField.tsx +147 -192
  191. package/src/components/WfoSubscription/WfoInUseByRelations.tsx +50 -74
  192. package/src/components/WfoSubscription/WfoProcessesTimeline.tsx +113 -173
  193. package/src/components/WfoSubscription/WfoRelatedSubscriptions.tsx +140 -172
  194. package/src/components/WfoSubscription/WfoSubscription.tsx +67 -102
  195. package/src/components/WfoSubscription/WfoSubscriptionActions/WfoSubscriptionActionExpandableMenuItem.tsx +47 -53
  196. package/src/components/WfoSubscription/WfoSubscriptionActions/WfoSubscriptionActions.tsx +173 -223
  197. package/src/components/WfoSubscription/WfoSubscriptionActions/WfoSubscriptionActionsMenuItem.tsx +67 -87
  198. package/src/components/WfoSubscription/WfoSubscriptionActions/styles.ts +70 -70
  199. package/src/components/WfoSubscription/WfoSubscriptionDetailTree.tsx +190 -242
  200. package/src/components/WfoSubscription/WfoSubscriptionGeneral.tsx +48 -60
  201. package/src/components/WfoSubscription/WfoSubscriptionGeneralSections/WfoSubscriptionDetailSection.tsx +67 -91
  202. package/src/components/WfoSubscription/WfoSubscriptionGeneralSections/WfoSubscriptionFixedInputSection.tsx +8 -15
  203. package/src/components/WfoSubscription/WfoSubscriptionGeneralSections/WfoSubscriptionMetadataSection.tsx +8 -15
  204. package/src/components/WfoSubscription/WfoSubscriptionGeneralSections/WfoSubscriptionProductInfoSection.tsx +34 -41
  205. package/src/components/WfoSubscription/WfoSubscriptionProductBlock/WfoProductBlockKeyValueRow.tsx +36 -36
  206. package/src/components/WfoSubscription/WfoSubscriptionProductBlock/WfoSubscriptionProductBlock.tsx +156 -233
  207. package/src/components/WfoSubscription/WfoSubscriptionProductBlock/styles.ts +60 -62
  208. package/src/components/WfoSubscription/WfoTargetTypeIcon.tsx +39 -50
  209. package/src/components/WfoSubscription/overrides/useSubscriptionDetailGeneralSectionConfigurationOverride.ts +6 -8
  210. package/src/components/WfoSubscription/overrides/useSubscriptionDetailValueOverride.ts +20 -23
  211. package/src/components/WfoSubscription/styles.ts +57 -62
  212. package/src/components/WfoSubscription/subscriptionDetailTabs.tsx +44 -48
  213. package/src/components/WfoSubscription/utils/relatedSubscriptionsListItemsObjectMappers.ts +30 -42
  214. package/src/components/WfoSubscription/utils/utils.spec.ts +405 -452
  215. package/src/components/WfoSubscription/utils/utils.ts +139 -159
  216. package/src/components/WfoSubscriptionsList/WfoSubscriptionsList.tsx +214 -258
  217. package/src/components/WfoSubscriptionsList/subscriptionListTabs.ts +39 -42
  218. package/src/components/WfoSubscriptionsList/subscriptionResultMappers.ts +33 -45
  219. package/src/components/WfoSummary/WfoActiveWorkflowsSummaryCard.tsx +19 -28
  220. package/src/components/WfoSummary/WfoFailedTasksSummaryCard.tsx +18 -21
  221. package/src/components/WfoSummary/WfoLatestActiveSubscriptionsSummaryCard.tsx +22 -28
  222. package/src/components/WfoSummary/WfoLatestOutOfSyncSubscriptionSummaryCard.tsx +30 -40
  223. package/src/components/WfoSummary/WfoMyWorkflowsSummaryCard.tsx +30 -44
  224. package/src/components/WfoSummary/WfoProductsSummaryCard.tsx +37 -45
  225. package/src/components/WfoSummary/WfoSummaryCard.tsx +68 -99
  226. package/src/components/WfoSummary/WfoSummaryCardHeader/WfoSummaryCardHeader.tsx +38 -50
  227. package/src/components/WfoSummary/WfoSummaryCardHeader/styles.ts +18 -18
  228. package/src/components/WfoSummary/WfoSummaryCardList/WfoSummaryCardList.tsx +44 -67
  229. package/src/components/WfoSummary/WfoSummaryCardList/WfoSummaryCardListItem.tsx +25 -44
  230. package/src/components/WfoSummary/WfoSummaryCardList/styles.ts +49 -49
  231. package/src/components/WfoSummary/WfoSummaryCards.tsx +7 -11
  232. package/src/components/WfoSummary/getNumberOfColumns.ts +12 -12
  233. package/src/components/WfoSummary/styles.ts +7 -7
  234. package/src/components/WfoTable/WfoAdvancedTable/WfoAdvancedTable.tsx +181 -229
  235. package/src/components/WfoTable/WfoAdvancedTable/getRowDetailData.tsx +31 -42
  236. package/src/components/WfoTable/WfoAdvancedTable/toSortedTableColumnConfig.ts +8 -8
  237. package/src/components/WfoTable/WfoAdvancedTable/types.ts +9 -11
  238. package/src/components/WfoTable/WfoFirstPartUUID/WfoFirstPartUUID.tsx +19 -30
  239. package/src/components/WfoTable/WfoFirstPartUUID/styles.ts +19 -19
  240. package/src/components/WfoTable/WfoInlineJson/WfoInlineJson.tsx +6 -6
  241. package/src/components/WfoTable/WfoRowContextMenu/WfoRowContextMenu.tsx +30 -46
  242. package/src/components/WfoTable/WfoSortButtons/WfoSortButton.tsx +11 -24
  243. package/src/components/WfoTable/WfoSortButtons/WfoSortButtons.tsx +18 -21
  244. package/src/components/WfoTable/WfoSortButtons/styles.ts +14 -14
  245. package/src/components/WfoTable/WfoStatusColorField/WfoStatusColorField.tsx +3 -5
  246. package/src/components/WfoTable/WfoStatusColorField/styles.ts +10 -10
  247. package/src/components/WfoTable/WfoTable/WfoDataCell.tsx +8 -14
  248. package/src/components/WfoTable/WfoTable/WfoDragHandler.tsx +49 -61
  249. package/src/components/WfoTable/WfoTable/WfoExpandedRow.tsx +12 -33
  250. package/src/components/WfoTable/WfoTable/WfoGroupedTable/WfoExpandableRow.tsx +28 -32
  251. package/src/components/WfoTable/WfoTable/WfoGroupedTable/WfoExpandedGroupRow.tsx +34 -52
  252. package/src/components/WfoTable/WfoTable/WfoGroupedTable/WfoGroupedTable.tsx +63 -78
  253. package/src/components/WfoTable/WfoTable/WfoGroupedTable/WfoGroupedTableGroups.tsx +40 -54
  254. package/src/components/WfoTable/WfoTable/WfoGroupedTable/styles.ts +28 -28
  255. package/src/components/WfoTable/WfoTable/WfoGroupedTable/useGroupedTableConfig.tsx +147 -168
  256. package/src/components/WfoTable/WfoTable/WfoGroupedTable/utils.spec.ts +133 -140
  257. package/src/components/WfoTable/WfoTable/WfoGroupedTable/utils.ts +21 -33
  258. package/src/components/WfoTable/WfoTable/WfoMultilineCell.tsx +5 -5
  259. package/src/components/WfoTable/WfoTable/WfoTable.tsx +213 -251
  260. package/src/components/WfoTable/WfoTable/WfoTableDataRows.tsx +63 -107
  261. package/src/components/WfoTable/WfoTable/WfoTableHeaderCell/WfoPopoverContent.tsx +34 -40
  262. package/src/components/WfoTable/WfoTable/WfoTableHeaderCell/WfoSortDirectionIcon.tsx +17 -21
  263. package/src/components/WfoTable/WfoTable/WfoTableHeaderCell/WfoTableHeaderCell.tsx +68 -83
  264. package/src/components/WfoTable/WfoTable/WfoTableHeaderCell/styles.ts +118 -118
  265. package/src/components/WfoTable/WfoTable/WfoTableHeaderRow.tsx +91 -118
  266. package/src/components/WfoTable/WfoTable/WfoToolTip.tsx +17 -21
  267. package/src/components/WfoTable/WfoTable/WfoTruncateCell.tsx +15 -15
  268. package/src/components/WfoTable/WfoTable/WfoVirtualizedTableBody.tsx +42 -49
  269. package/src/components/WfoTable/WfoTable/styles.ts +168 -176
  270. package/src/components/WfoTable/WfoTable/utils.spec.ts +71 -89
  271. package/src/components/WfoTable/WfoTable/utils.ts +61 -80
  272. package/src/components/WfoTable/WfoTableSettingsModal/WfoTableSettingsModal.tsx +77 -100
  273. package/src/components/WfoTable/WfoTableSettingsModal/styles.ts +12 -14
  274. package/src/components/WfoTable/WfoTableWithFilter/updateQueryString.spec.ts +63 -65
  275. package/src/components/WfoTable/WfoTableWithFilter/updateQueryString.ts +33 -44
  276. package/src/components/WfoTable/utils/columns.spec.ts +17 -17
  277. package/src/components/WfoTable/utils/columns.ts +16 -18
  278. package/src/components/WfoTable/utils/constants.ts +6 -12
  279. package/src/components/WfoTable/utils/tableConfigPersistence.spec.ts +61 -61
  280. package/src/components/WfoTable/utils/tableConfigPersistence.ts +21 -30
  281. package/src/components/WfoTable/utils/tableUtils.spec.ts +100 -117
  282. package/src/components/WfoTable/utils/tableUtils.ts +33 -50
  283. package/src/components/WfoTableCodeBlock/WfoTableCodeBlock.tsx +20 -27
  284. package/src/components/WfoTableCodeBlock/styles.ts +8 -8
  285. package/src/components/WfoTextAnchor/WfoTextAnchor.stories.tsx +6 -6
  286. package/src/components/WfoTextAnchor/WfoTextAnchor.tsx +8 -8
  287. package/src/components/WfoTextAnchor/styles.ts +11 -11
  288. package/src/components/WfoTimeline/WfoTimeline.tsx +28 -43
  289. package/src/components/WfoTimeline/WfoTimelineStep.tsx +38 -40
  290. package/src/components/WfoTimeline/mapProcessStepStatusToEuiStepStatus.ts +16 -18
  291. package/src/components/WfoTimeline/styles.ts +151 -168
  292. package/src/components/WfoTimeline/timelineUtils.ts +5 -10
  293. package/src/components/WfoTitleWithWebsocketBadge/WfoTitleWithWebsocketBadge.tsx +10 -13
  294. package/src/components/WfoToastsList/WfoToastsList.tsx +11 -13
  295. package/src/components/WfoTree/WfoTree.tsx +14 -14
  296. package/src/components/WfoTree/WfoTreeBranch.tsx +27 -39
  297. package/src/components/WfoTree/WfoTreeNode.tsx +29 -41
  298. package/src/components/WfoTree/WfoTreeNodeListItem.tsx +34 -48
  299. package/src/components/WfoTree/styles.ts +35 -38
  300. package/src/components/WfoTree/treeUtils.spec.ts +141 -146
  301. package/src/components/WfoTree/treeUtils.ts +52 -58
  302. package/src/components/WfoWorkflowSteps/WfoStep/WfoCodeViewSelector.tsx +75 -106
  303. package/src/components/WfoWorkflowSteps/WfoStep/WfoStep.stories.tsx +3 -3
  304. package/src/components/WfoWorkflowSteps/WfoStep/WfoStep.tsx +128 -191
  305. package/src/components/WfoWorkflowSteps/WfoStep/WfoStepForm.tsx +42 -58
  306. package/src/components/WfoWorkflowSteps/WfoStep/WfoStepFormFooter.tsx +31 -42
  307. package/src/components/WfoWorkflowSteps/WfoStepList/WfoStepList.tsx +79 -101
  308. package/src/components/WfoWorkflowSteps/WfoStepStatusIcon/WfoStepStatusIcon.stories.tsx +6 -6
  309. package/src/components/WfoWorkflowSteps/WfoStepStatusIcon/WfoStepStatusIcon.tsx +64 -103
  310. package/src/components/WfoWorkflowSteps/WfoTraceback/WfoTraceback.tsx +11 -11
  311. package/src/components/WfoWorkflowSteps/WfoTraceback/styles.ts +8 -8
  312. package/src/components/WfoWorkflowSteps/WfoWorkflowStepList/WfoStepListHeader.tsx +97 -140
  313. package/src/components/WfoWorkflowSteps/WfoWorkflowStepList/WfoWorkflowStepList.stories.tsx +40 -40
  314. package/src/components/WfoWorkflowSteps/WfoWorkflowStepList/WfoWorkflowStepList.tsx +146 -198
  315. package/src/components/WfoWorkflowSteps/stepListUtils.spec.ts +18 -18
  316. package/src/components/WfoWorkflowSteps/stepListUtils.ts +14 -25
  317. package/src/components/WfoWorkflowSteps/styles.ts +116 -122
  318. package/src/components/confirmationDialog/ConfirmationDialogStyling.ts +7 -7
  319. package/src/components/confirmationDialog/WfoConfirmationDialog.tsx +58 -72
  320. package/src/configuration/constants.ts +2 -4
  321. package/src/configuration/policy-resources.ts +21 -21
  322. package/src/configuration/version.ts +1 -1
  323. package/src/contexts/ConfirmationDialogProvider.tsx +54 -72
  324. package/src/contexts/OrchestratorConfigContext.tsx +23 -30
  325. package/src/contexts/PolicyContext.tsx +6 -11
  326. package/src/contexts/TreeContext.tsx +83 -97
  327. package/src/contexts/WfoErrorMonitoringProvider.tsx +16 -19
  328. package/src/hooks/useBackendAvailability.ts +39 -44
  329. package/src/hooks/useCheckEngineStatus.ts +19 -19
  330. package/src/hooks/useContentRef.ts +1 -1
  331. package/src/hooks/useDataDisplayParams.ts +35 -47
  332. package/src/hooks/useDebounce.ts +14 -14
  333. package/src/hooks/useGetOrchestratorConfig.ts +1 -1
  334. package/src/hooks/useGetPydanticFormsConfig.tsx +249 -286
  335. package/src/hooks/useGetSchedulesForWorkflow.tsx +19 -20
  336. package/src/hooks/useGetWorkflowNameById.tsx +8 -13
  337. package/src/hooks/useOrchestratorConfig.ts +2 -4
  338. package/src/hooks/useOrchestratorTheme.ts +20 -24
  339. package/src/hooks/usePathAutoComplete.ts +105 -117
  340. package/src/hooks/usePolicy.ts +5 -6
  341. package/src/hooks/useSearch.ts +60 -75
  342. package/src/hooks/useSearchPagination.ts +124 -134
  343. package/src/hooks/useShowToastMessage.ts +12 -12
  344. package/src/hooks/useStoredTableConfig.ts +22 -29
  345. package/src/hooks/useUrlParams.ts +90 -108
  346. package/src/hooks/useWfoErrorMonitoring.ts +1 -2
  347. package/src/hooks/useWfoSession.ts +15 -17
  348. package/src/hooks/useWithOrchestratorTheme.ts +3 -5
  349. package/src/icons/WfoActualWork.tsx +8 -17
  350. package/src/icons/WfoArrowsExpand.stories.tsx +3 -3
  351. package/src/icons/WfoArrowsExpand.tsx +12 -28
  352. package/src/icons/WfoBell.tsx +12 -28
  353. package/src/icons/WfoBoltFill.tsx +15 -31
  354. package/src/icons/WfoBoltSlashFill.tsx +15 -31
  355. package/src/icons/WfoChartBar.tsx +22 -26
  356. package/src/icons/WfoCheckmarkCircleFill.stories.tsx +3 -3
  357. package/src/icons/WfoCheckmarkCircleFill.tsx +11 -27
  358. package/src/icons/WfoChevronDown.stories.tsx +3 -3
  359. package/src/icons/WfoChevronDown.tsx +12 -28
  360. package/src/icons/WfoChevronUp.stories.tsx +3 -3
  361. package/src/icons/WfoChevronUp.tsx +12 -28
  362. package/src/icons/WfoClipboardCopy.stories.tsx +3 -3
  363. package/src/icons/WfoClipboardCopy.tsx +12 -28
  364. package/src/icons/WfoCode.stories.tsx +3 -3
  365. package/src/icons/WfoCode.tsx +14 -30
  366. package/src/icons/WfoCogFill.stories.tsx +3 -3
  367. package/src/icons/WfoCogFill.tsx +18 -28
  368. package/src/icons/WfoContactEnvelopeFill.tsx +9 -24
  369. package/src/icons/WfoCubeFill.tsx +14 -35
  370. package/src/icons/WfoCubeSolid.tsx +12 -28
  371. package/src/icons/WfoDotsHorizontal.tsx +12 -28
  372. package/src/icons/WfoExclamationTriangle.tsx +13 -24
  373. package/src/icons/WfoExternalLink.tsx +9 -25
  374. package/src/icons/WfoEyeFill.stories.tsx +3 -3
  375. package/src/icons/WfoEyeFill.tsx +14 -30
  376. package/src/icons/WfoIconProps.ts +3 -3
  377. package/src/icons/WfoLogoutIcon.stories.tsx +3 -3
  378. package/src/icons/WfoLogoutIcon.tsx +12 -28
  379. package/src/icons/WfoMalfunction.tsx +8 -17
  380. package/src/icons/WfoMinusCircleFill.stories.tsx +3 -3
  381. package/src/icons/WfoMinusCircleFill.tsx +12 -28
  382. package/src/icons/WfoMinusCircleOutline.stories.tsx +3 -3
  383. package/src/icons/WfoMinusCircleOutline.tsx +11 -27
  384. package/src/icons/WfoPencil.tsx +12 -30
  385. package/src/icons/WfoPencilAlt.stories.tsx +3 -3
  386. package/src/icons/WfoPencilAlt.tsx +12 -28
  387. package/src/icons/WfoPlannedWork.tsx +9 -18
  388. package/src/icons/WfoPlayCircle.tsx +14 -30
  389. package/src/icons/WfoPlayFill.stories.tsx +3 -3
  390. package/src/icons/WfoPlayFill.tsx +14 -30
  391. package/src/icons/WfoPlusCircleFill.stories.tsx +3 -3
  392. package/src/icons/WfoPlusCircleFill.tsx +12 -28
  393. package/src/icons/WfoPort.tsx +9 -18
  394. package/src/icons/WfoQuestionCircle.tsx +13 -29
  395. package/src/icons/WfoRefresh.stories.tsx +3 -3
  396. package/src/icons/WfoRefresh.tsx +14 -30
  397. package/src/icons/WfoSearchStrikethrough.stories.tsx +3 -3
  398. package/src/icons/WfoSearchStrikethrough.tsx +12 -28
  399. package/src/icons/WfoShare.tsx +14 -30
  400. package/src/icons/WfoSideMenu.stories.tsx +3 -3
  401. package/src/icons/WfoSideMenu.tsx +10 -34
  402. package/src/icons/WfoSortAsc.stories.tsx +3 -3
  403. package/src/icons/WfoSortAsc.tsx +12 -28
  404. package/src/icons/WfoSortDesc.stories.tsx +3 -3
  405. package/src/icons/WfoSortDesc.tsx +12 -28
  406. package/src/icons/WfoStatistic.tsx +32 -36
  407. package/src/icons/WfoStatusDotIcon.stories.tsx +3 -3
  408. package/src/icons/WfoStatusDotIcon.tsx +10 -26
  409. package/src/icons/WfoTrash.tsx +13 -23
  410. package/src/icons/WfoViewList.tsx +9 -19
  411. package/src/icons/WfoWarningTriangle.tsx +13 -23
  412. package/src/icons/WfoXCircleFill.stories.tsx +3 -3
  413. package/src/icons/WfoXCircleFill.tsx +12 -28
  414. package/src/icons/WfoXMarkSmall.tsx +9 -24
  415. package/src/icons/heroicons/WfoArrowDown.tsx +8 -18
  416. package/src/icons/heroicons/WfoArrowUp.tsx +8 -18
  417. package/src/icons/heroicons/WfoArrowsUpDown.tsx +8 -18
  418. package/src/icons/heroicons/WfoBracketSquare.tsx +16 -20
  419. package/src/icons/heroicons/WfoCommandLine.tsx +16 -20
  420. package/src/icons/heroicons/WfoHeroIconsWrapper.tsx +23 -26
  421. package/src/icons/heroicons/WfoScheduledTaskOnce.tsx +14 -24
  422. package/src/icons/heroicons/WfoScheduledTaskRecurring.tsx +18 -24
  423. package/src/icons/heroicons/WfoSquareStack3dStack.tsx +7 -19
  424. package/src/icons/heroicons/WfoTableCells.tsx +16 -20
  425. package/src/icons/heroicons/WfoWrench.tsx +8 -18
  426. package/src/messages/en-GB.json +623 -623
  427. package/src/messages/getTranslationMessages.spec.ts +3 -3
  428. package/src/messages/nl-NL.json +492 -492
  429. package/src/messages/useGetTranslationMessages.ts +20 -20
  430. package/src/pages/metadata/WfoMetadataPageLayout.tsx +53 -60
  431. package/src/pages/metadata/WfoProductBlocksPage.tsx +229 -283
  432. package/src/pages/metadata/WfoProductsPage.tsx +217 -282
  433. package/src/pages/metadata/WfoResourceTypesPage.tsx +178 -230
  434. package/src/pages/metadata/WfoScheduleTaskFormPage.tsx +365 -407
  435. package/src/pages/metadata/WfoScheduledTasksPage.tsx +173 -226
  436. package/src/pages/metadata/WfoTasksPage.tsx +247 -337
  437. package/src/pages/metadata/WfoWorkflowsPage.tsx +213 -282
  438. package/src/pages/metadata/taskListObjectMapper.ts +26 -34
  439. package/src/pages/metadata/workflowListObjectMapper.ts +23 -31
  440. package/src/pages/processes/WfoProcessDetail.tsx +247 -346
  441. package/src/pages/processes/WfoProcessDetailPage.tsx +53 -76
  442. package/src/pages/processes/WfoProcessListSubscriptionsCell.tsx +55 -64
  443. package/src/pages/processes/WfoProductInformationWithLink.tsx +18 -26
  444. package/src/pages/processes/WfoStartProcessPage.tsx +121 -153
  445. package/src/pages/processes/timelineUtils.spec.ts +167 -179
  446. package/src/pages/processes/timelineUtils.ts +63 -87
  447. package/src/pages/settings/WfoSettingsPage.tsx +131 -161
  448. package/src/pages/startPage/WfoStartPage.tsx +36 -45
  449. package/src/pages/startPage/mappers.ts +8 -10
  450. package/src/pages/startPage/queryVariables.ts +84 -93
  451. package/src/pages/startPage/useStartPageSummaryCardConfigurationOverride.ts +6 -8
  452. package/src/pages/subscriptions/WfoSubscriptionDetailPage.tsx +9 -9
  453. package/src/pages/subscriptions/WfoSubscriptionsListPage.tsx +66 -85
  454. package/src/pages/tasks/WfoTasksListPage.tsx +129 -156
  455. package/src/pages/tasks/getTasksListTabTypeFromString.ts +12 -14
  456. package/src/pages/tasks/tabConfig.ts +41 -44
  457. package/src/pages/workflows/WfoWorkflowsListPage.tsx +73 -88
  458. package/src/pages/workflows/getWorkflowsListTabTypeFromString.ts +12 -14
  459. package/src/pages/workflows/tabConfig.ts +41 -44
  460. package/src/rtk/api.ts +113 -132
  461. package/src/rtk/endpoints/agentExport.ts +12 -12
  462. package/src/rtk/endpoints/availability.ts +29 -32
  463. package/src/rtk/endpoints/customerDescriptions.ts +40 -46
  464. package/src/rtk/endpoints/customers.ts +26 -40
  465. package/src/rtk/endpoints/fileUpload.ts +20 -20
  466. package/src/rtk/endpoints/forms.ts +41 -54
  467. package/src/rtk/endpoints/inSync.ts +16 -19
  468. package/src/rtk/endpoints/metadata/productBlocks.ts +37 -43
  469. package/src/rtk/endpoints/metadata/products.ts +37 -42
  470. package/src/rtk/endpoints/metadata/resourceTypes.ts +38 -44
  471. package/src/rtk/endpoints/metadata/scheduledTasks.ts +88 -99
  472. package/src/rtk/endpoints/metadata/tasks.ts +21 -32
  473. package/src/rtk/endpoints/metadata/workflows.ts +65 -86
  474. package/src/rtk/endpoints/processDetail.ts +87 -103
  475. package/src/rtk/endpoints/processList.ts +20 -29
  476. package/src/rtk/endpoints/processListSummary.ts +18 -34
  477. package/src/rtk/endpoints/processStatusCounts.ts +16 -16
  478. package/src/rtk/endpoints/processSteps.ts +17 -27
  479. package/src/rtk/endpoints/productsSummary.ts +21 -26
  480. package/src/rtk/endpoints/relatedSubscriptions.ts +27 -38
  481. package/src/rtk/endpoints/search.ts +63 -82
  482. package/src/rtk/endpoints/settings.ts +110 -119
  483. package/src/rtk/endpoints/startOptions.ts +64 -80
  484. package/src/rtk/endpoints/streamMessages.ts +102 -125
  485. package/src/rtk/endpoints/subscriptionActions.ts +14 -24
  486. package/src/rtk/endpoints/subscriptionDetail.ts +23 -35
  487. package/src/rtk/endpoints/subscriptionInUseByRelationsList.ts +22 -32
  488. package/src/rtk/endpoints/subscriptionList.ts +19 -31
  489. package/src/rtk/endpoints/subscriptionListMutation.ts +65 -81
  490. package/src/rtk/endpoints/subscriptionListSummary.ts +23 -29
  491. package/src/rtk/endpoints/translations.ts +16 -19
  492. package/src/rtk/endpoints/versions.ts +9 -9
  493. package/src/rtk/slices/customApis.ts +8 -10
  494. package/src/rtk/slices/orchestratorComponentOverride.ts +20 -22
  495. package/src/rtk/slices/orchestratorConfig.ts +7 -10
  496. package/src/rtk/slices/pydanticForm.ts +7 -9
  497. package/src/rtk/slices/toastMessages.ts +26 -36
  498. package/src/rtk/store.ts +35 -44
  499. package/src/rtk/storeProvider.tsx +20 -21
  500. package/src/rtk/utils.spec.ts +68 -68
  501. package/src/rtk/utils.ts +72 -80
  502. package/src/rtk/wfoGraphqlRequestBaseQuery.ts +44 -63
  503. package/src/theme/baseStyles/formFieldsBaseStyle.ts +12 -12
  504. package/src/theme/wfoThemeModifications.ts +92 -95
  505. package/src/types/forms.ts +20 -20
  506. package/src/types/search.ts +89 -94
  507. package/src/types/types.ts +378 -403
  508. package/src/utils/cacheTag.spec.ts +8 -8
  509. package/src/utils/cacheTag.ts +7 -7
  510. package/src/utils/compareVersions.spec.ts +38 -116
  511. package/src/utils/compareVersions.ts +28 -48
  512. package/src/utils/csvDownload.ts +68 -83
  513. package/src/utils/date.spec.ts +142 -179
  514. package/src/utils/date.ts +64 -84
  515. package/src/utils/environmentVariables.spec.ts +12 -12
  516. package/src/utils/environmentVariables.ts +7 -7
  517. package/src/utils/filterData.spec.ts +18 -20
  518. package/src/utils/filterData.ts +7 -10
  519. package/src/utils/getDefaultTableConfig.ts +91 -113
  520. package/src/utils/getEnvironmentVariables.spec.ts +30 -32
  521. package/src/utils/getEnvironmentVariables.ts +19 -22
  522. package/src/utils/getObjectKeys.ts +2 -3
  523. package/src/utils/getProductNamesFromProcess.spec.ts +125 -127
  524. package/src/utils/getProductNamesFromProcess.ts +7 -9
  525. package/src/utils/getQueryParams.spec.ts +31 -34
  526. package/src/utils/getQueryParams.ts +9 -12
  527. package/src/utils/getQueryUrl.spec.ts +4 -4
  528. package/src/utils/getQueryUrl.ts +3 -3
  529. package/src/utils/getQueryVariablesForExport.spec.ts +12 -12
  530. package/src/utils/getQueryVariablesForExport.ts +4 -6
  531. package/src/utils/getStatusBadgeColor.ts +13 -13
  532. package/src/utils/getToastMessage.spec.ts +20 -20
  533. package/src/utils/getToastMessage.ts +24 -28
  534. package/src/utils/getTokenName.spec.ts +16 -16
  535. package/src/utils/getTokenName.ts +10 -10
  536. package/src/utils/getTypedFieldFromObject.spec.ts +13 -13
  537. package/src/utils/getTypedFieldFromObject.ts +5 -8
  538. package/src/utils/onlyUnique.spec.ts +15 -15
  539. package/src/utils/onlyUnique.ts +1 -1
  540. package/src/utils/optionalArray.spec.ts +65 -78
  541. package/src/utils/optionalArray.ts +10 -16
  542. package/src/utils/resultFlattener.spec.ts +40 -43
  543. package/src/utils/resultFlattener.ts +10 -21
  544. package/src/utils/string.spec.ts +133 -133
  545. package/src/utils/strings.ts +11 -11
  546. package/src/utils/toObjectWithSerializedValues.spec.ts +24 -24
  547. package/src/utils/toObjectWithSerializedValues.ts +9 -15
  548. package/src/utils/toObjectWithSortedKeys.ts +21 -24
  549. package/src/utils/toSortedObjectKeys.spec.ts +25 -29
  550. package/src/utils/uuid.spec.ts +16 -16
  551. package/src/utils/uuid.ts +2 -5
  552. package/tsconfig.build.json +10 -16
  553. package/tsconfig.json +10 -16
  554. package/tsup.config.ts +10 -10
@@ -3,16 +3,14 @@ import { css } from '@emotion/react';
3
3
  import { WfoThemeHelpers } from '@/hooks';
4
4
 
5
5
  export const getStyles = ({ theme, isDarkModeActive }: WfoThemeHelpers) => {
6
- const monacoEditorStyle = css({
7
- marginTop: 10,
8
- padding: 10,
9
- backgroundColor: isDarkModeActive
10
- ? theme.colors.backgroundBaseNeutral
11
- : theme.colors.backgroundBaseSubdued,
12
- borderRadius: theme.border.radius.medium,
13
- });
6
+ const monacoEditorStyle = css({
7
+ marginTop: 10,
8
+ padding: 10,
9
+ backgroundColor: isDarkModeActive ? theme.colors.backgroundBaseNeutral : theme.colors.backgroundBaseSubdued,
10
+ borderRadius: theme.border.radius.medium,
11
+ });
14
12
 
15
- return {
16
- monacoEditorStyle,
17
- };
13
+ return {
14
+ monacoEditorStyle,
15
+ };
18
16
  };
@@ -6,14 +6,14 @@ import { WfoSearchStrikethrough } from './../../icons';
6
6
  import { WfoNoResults } from './WfoNoResults';
7
7
 
8
8
  const Story: Meta<typeof WfoNoResults> = {
9
- component: WfoNoResults,
10
- title: 'WfoNoResult',
9
+ component: WfoNoResults,
10
+ title: 'WfoNoResult',
11
11
  };
12
12
  export default Story;
13
13
 
14
14
  export const Default = {
15
- args: {
16
- icon: <WfoSearchStrikethrough />,
17
- text: 'No results text',
18
- },
15
+ args: {
16
+ icon: <WfoSearchStrikethrough />,
17
+ text: 'No results text',
18
+ },
19
19
  };
@@ -7,16 +7,16 @@ import { useWithOrchestratorTheme } from '@/hooks';
7
7
  import { getStyles } from './styles';
8
8
 
9
9
  interface WfoNoResultsProps {
10
- text: string;
11
- icon: ReactNode;
10
+ text: string;
11
+ icon: ReactNode;
12
12
  }
13
13
 
14
14
  export const WfoNoResults = ({ text, icon }: WfoNoResultsProps) => {
15
- const { panelStyle } = useWithOrchestratorTheme(getStyles);
15
+ const { panelStyle } = useWithOrchestratorTheme(getStyles);
16
16
 
17
- return (
18
- <EuiFlexGroup css={panelStyle}>
19
- {icon} {text}
20
- </EuiFlexGroup>
21
- );
17
+ return (
18
+ <EuiFlexGroup css={panelStyle}>
19
+ {icon} {text}
20
+ </EuiFlexGroup>
21
+ );
22
22
  };
@@ -3,21 +3,21 @@ import { css } from '@emotion/react';
3
3
  import { WfoThemeHelpers } from '@/hooks';
4
4
 
5
5
  export const getStyles = ({ theme }: WfoThemeHelpers) => {
6
- const panelStyle = css({
7
- display: 'flex',
8
- padding: theme.base * 2,
9
- flexDirection: 'row',
10
- alignItems: 'center',
11
- justifyContent: 'center',
12
- gap: theme.base / 2,
13
- backgroundColor: theme.colors.backgroundBaseSubdued,
14
- borderRadius: theme.border.radius.medium,
15
- color: theme.colors.link,
16
- fontFamily: theme.font.family,
17
- marginTop: theme.base * 2,
18
- });
6
+ const panelStyle = css({
7
+ display: 'flex',
8
+ padding: theme.base * 2,
9
+ flexDirection: 'row',
10
+ alignItems: 'center',
11
+ justifyContent: 'center',
12
+ gap: theme.base / 2,
13
+ backgroundColor: theme.colors.backgroundBaseSubdued,
14
+ borderRadius: theme.border.radius.medium,
15
+ color: theme.colors.link,
16
+ fontFamily: theme.font.family,
17
+ marginTop: theme.base * 2,
18
+ });
19
19
 
20
- return {
21
- panelStyle,
22
- };
20
+ return {
21
+ panelStyle,
22
+ };
23
23
  };
@@ -4,17 +4,14 @@ import Link from 'next/link';
4
4
  import type { UrlObject } from 'url';
5
5
 
6
6
  export type WfoOptionalLinkProps = {
7
- children: ReactNode;
8
- href?: UrlObject | string;
7
+ children: ReactNode;
8
+ href?: UrlObject | string;
9
9
  };
10
10
 
11
- export const WfoOptionalLink: FC<WfoOptionalLinkProps> = ({
12
- children,
13
- href,
14
- }) => {
15
- if (!href) {
16
- return <span>{children}</span>;
17
- }
11
+ export const WfoOptionalLink: FC<WfoOptionalLinkProps> = ({ children, href }) => {
12
+ if (!href) {
13
+ return <span>{children}</span>;
14
+ }
18
15
 
19
- return <Link href={href}>{children}</Link>;
16
+ return <Link href={href}>{children}</Link>;
20
17
  };
@@ -3,101 +3,75 @@ import React from 'react';
3
3
  import { useTranslations } from 'next-intl';
4
4
  import { useRouter } from 'next/router';
5
5
 
6
- import {
7
- EuiBreadcrumb,
8
- EuiBreadcrumbs,
9
- EuiButtonIcon,
10
- EuiFlexGroup,
11
- EuiFlexItem,
12
- EuiSpacer,
13
- } from '@elastic/eui';
6
+ import { EuiBreadcrumb, EuiBreadcrumbs, EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
14
7
 
15
8
  import { useOrchestratorTheme } from '@/hooks';
16
9
  import { WfoSideMenu } from '@/icons';
17
- import {
18
- isAllUpperCase,
19
- isUuid4,
20
- removeSuffix,
21
- upperCaseFirstChar,
22
- } from '@/utils';
10
+ import { isAllUpperCase, isUuid4, removeSuffix, upperCaseFirstChar } from '@/utils';
23
11
 
24
12
  interface WfoBreadcrumbsProps {
25
- handleSideMenuClick: () => void;
13
+ handleSideMenuClick: () => void;
26
14
  }
27
15
 
28
- export const WfoBreadcrumbs = ({
29
- handleSideMenuClick,
30
- }: WfoBreadcrumbsProps) => {
31
- const router = useRouter();
32
- const { theme } = useOrchestratorTheme();
33
- const t = useTranslations('main');
34
- // Setup initial breadcrumbs with navigation to home
35
- const breadcrumbs: EuiBreadcrumb[] = [
36
- {
37
- text: t('start'),
38
- href: '/',
39
- onClick: (e) => {
40
- e.preventDefault();
41
- router.push('/').then();
42
- },
43
- },
44
- ];
16
+ export const WfoBreadcrumbs = ({ handleSideMenuClick }: WfoBreadcrumbsProps) => {
17
+ const router = useRouter();
18
+ const { theme } = useOrchestratorTheme();
19
+ const t = useTranslations('main');
20
+ // Setup initial breadcrumbs with navigation to home
21
+ const breadcrumbs: EuiBreadcrumb[] = [
22
+ {
23
+ text: t('start'),
24
+ href: '/',
25
+ onClick: (e) => {
26
+ e.preventDefault();
27
+ router.push('/').then();
28
+ },
29
+ },
30
+ ];
45
31
 
46
- // Handle remaining breadcrumbs dynamic
47
- const parts = router.asPath.split('/');
48
- parts.forEach((p, index) => {
49
- if (index > 0) {
50
- const link = parts.slice(0, index + 1).join('/');
51
- // Handle UUID's: so you can have breadcrumb like: `Start / Subscriptions / b2312aa-cbc ...`
52
- // first remove the suffix, like ?activeTab=....
53
- const _p = removeSuffix(p);
54
- const text =
55
- isUuid4(_p) || isAllUpperCase(_p) ? _p : upperCaseFirstChar(_p);
32
+ // Handle remaining breadcrumbs dynamic
33
+ const parts = router.asPath.split('/');
34
+ parts.forEach((p, index) => {
35
+ if (index > 0) {
36
+ const link = parts.slice(0, index + 1).join('/');
37
+ // Handle UUID's: so you can have breadcrumb like: `Start / Subscriptions / b2312aa-cbc ...`
38
+ // first remove the suffix, like ?activeTab=....
39
+ const _p = removeSuffix(p);
40
+ const text = isUuid4(_p) || isAllUpperCase(_p) ? _p : upperCaseFirstChar(_p);
56
41
 
57
- breadcrumbs.push({
58
- text: text,
59
- href: link,
60
- onClick: (e) => {
61
- e.preventDefault();
62
- router.push(link).then();
63
- },
64
- });
65
- }
66
- });
42
+ breadcrumbs.push({
43
+ text: text,
44
+ href: link,
45
+ onClick: (e) => {
46
+ e.preventDefault();
47
+ router.push(link).then();
48
+ },
49
+ });
50
+ }
51
+ });
67
52
 
68
- return (
69
- <>
70
- <EuiFlexGroup
71
- direction="row"
72
- alignItems="center"
73
- justifyContent="flexStart"
74
- gutterSize="none"
75
- >
76
- <EuiFlexItem grow={0}>
77
- <EuiButtonIcon
78
- aria-label={t('ariaLabelToggleSideMenu')}
79
- display="empty"
80
- iconType={() => (
81
- <WfoSideMenu color={theme.colors.textSubdued} />
82
- )}
83
- color="text"
84
- css={{
85
- width: `${theme.size.l}px`,
86
- height: `${theme.size.l}px`,
87
- marginRight: `${theme.base * 0.375}px`,
88
- }}
89
- onClick={handleSideMenuClick}
90
- />
91
- </EuiFlexItem>
92
- <EuiFlexItem>
93
- <EuiBreadcrumbs
94
- breadcrumbs={breadcrumbs}
95
- truncate={false}
96
- aria-label={t('ariaLabelCurrentPage')}
97
- />
98
- </EuiFlexItem>
99
- </EuiFlexGroup>
100
- <EuiSpacer size="m" />
101
- </>
102
- );
53
+ return (
54
+ <>
55
+ <EuiFlexGroup direction="row" alignItems="center" justifyContent="flexStart" gutterSize="none">
56
+ <EuiFlexItem grow={0}>
57
+ <EuiButtonIcon
58
+ aria-label={t('ariaLabelToggleSideMenu')}
59
+ display="empty"
60
+ iconType={() => <WfoSideMenu color={theme.colors.textSubdued} />}
61
+ color="text"
62
+ css={{
63
+ width: `${theme.size.l}px`,
64
+ height: `${theme.size.l}px`,
65
+ marginRight: `${theme.base * 0.375}px`,
66
+ }}
67
+ onClick={handleSideMenuClick}
68
+ />
69
+ </EuiFlexItem>
70
+ <EuiFlexItem>
71
+ <EuiBreadcrumbs breadcrumbs={breadcrumbs} truncate={false} aria-label={t('ariaLabelCurrentPage')} />
72
+ </EuiFlexItem>
73
+ </EuiFlexGroup>
74
+ <EuiSpacer size="m" />
75
+ </>
76
+ );
103
77
  };
@@ -1,28 +1,19 @@
1
1
  import React, { FC } from 'react';
2
2
 
3
3
  export const WfoAppLogo: FC = () => (
4
- <svg
5
- width="64"
6
- height="64"
7
- viewBox="0 0 640 640"
8
- fill="none"
9
- xmlns="http://www.w3.org/2000/svg"
10
- >
11
- <path
12
- d="M354.832 276.683L360.538 287.948L359.342 289.144L350.731 280.784L354.832 276.683Z"
13
- fill="#76B5E0"
14
- />
15
- <path
16
- fillRule="evenodd"
17
- clipRule="evenodd"
18
- d="M314 128H326V144.077L346.283 151.332C369.967 159.802 392.949 170.121 415.016 182.193L437.191 194.324L457.599 173.916L466.084 182.401L444.445 204.041L447.319 212.963C458.702 248.31 474.148 282.216 493.347 314H512V326H494.455L479.094 369.434L455.768 455.642L435.097 460.957C396.477 470.887 359.666 486.806 326 508.123V512H314V507.22C278.543 479.763 236.412 462.268 191.965 456.521L177.181 471.305L168.696 462.82L182.781 448.735L178.858 430.061C170.982 392.571 155.435 357.146 133.225 326H128V314H133.231C160.297 276.391 177.89 232.762 184.461 186.82L184.848 184.112L189.665 183.666C233.34 179.627 275.675 166.567 314 145.341V128ZM202.539 445.947C242.755 452.568 280.91 468.411 314 492.244V473.216L290.911 456.231C282.445 450.003 272.889 445.414 262.735 442.701L217.795 430.692L202.539 445.947ZM223.816 419.218L220.283 411.232L220.205 411.31L203.692 365.949L182.106 324.487L209.836 263.925L220.609 229.096L250.516 259.003L247.951 276.471L259.312 281.643C259.366 281.313 259.417 280.983 259.466 280.652L261.092 269.578L280.603 289.089L289.027 280.543L272.597 264.113C290.854 263.844 308.123 255.788 320.058 241.986L320.416 242.326C326.029 247.645 334.392 254.783 343.006 258.57C346.645 260.171 350.671 261.323 354.722 262.155L365.634 251.672C359.394 251.031 352.909 249.816 347.836 247.585C340.856 244.516 333.312 238.102 327.751 232.737C327.142 232.15 326.558 231.575 326 231.019V192.603L349.031 206.751C357.495 211.95 366.707 215.817 376.346 218.216L414.942 227.823L416.766 231.72L417.01 231.476L428.441 264.125L454.962 322.358L435.039 366.132L418.078 409.592L417.67 409.185L413.333 419.221L370.63 430.485C358.819 433.601 347.703 438.922 337.869 446.167L326 454.912V413.269L369.867 395.097L360.505 385.986L326 400.28L326 352.404L319.555 346.132L314 351.776L314 397.517L303.919 390.42C298.125 386.34 291.71 383.263 284.945 381.296L275.035 391.364C282.944 392.589 290.464 395.623 297.01 400.232L314 412.193V457.525L298.401 446.05C288.665 438.888 277.675 433.611 265.998 430.49L223.816 419.218ZM326 470.61V494.005C358.966 474.008 394.715 458.95 432.109 449.335L439.062 447.547L421.62 430.106L373.853 442.706C363.583 445.415 353.917 450.042 345.366 456.342L326 470.61ZM427.836 419.351L447.764 439.279L467.629 365.861L481.727 326H467.19L446.687 371.051L427.836 419.351ZM465.043 314H479.389C461.412 283.226 446.827 250.582 435.896 216.641L434.909 213.576L426.928 221.558L440.181 259.408L465.043 314ZM416.363 215.152L428.349 203.166L409.257 192.721C387.741 180.95 365.334 170.889 342.242 162.631L326 156.822V177.77L355.647 195.982C363.006 200.503 371.017 203.865 379.399 205.952L416.363 215.152ZM314 175.391V158.982C279.328 177.284 241.657 189.241 202.767 194.283L222.749 214.264L255.145 205.567C261.978 203.732 268.553 201.044 274.715 197.566L314 175.391ZM314 189.904L280.928 208.572C273.842 212.572 266.28 215.663 258.422 217.773L233.065 224.581L260.604 252.12H271.652C287.114 252.12 301.774 245.239 311.653 233.345L314 230.516V189.904ZM210.505 218.991L194.003 202.49C186.351 242.412 170.649 280.354 147.865 314H173.007L198.004 259.408L210.505 218.991ZM168.644 326L192.099 371.051L210.345 421.171L192.914 438.602L190.601 427.593C182.967 391.252 168.422 356.769 147.811 326H168.644Z"
19
- fill="#76B5E0"
20
- />
21
- <path
22
- fillRule="evenodd"
23
- clipRule="evenodd"
24
- d="M217.061 279.988L198.893 323.312L236.306 407.902L319.312 323.568L402.325 404.358L439.577 318.177L402.325 238.609L369.47 270.173L392.538 315.708L385.493 336.836L319.327 272.592L252.74 340.151L245.423 323.568L252.74 296.229L217.061 279.988Z"
25
- fill="white"
26
- />
27
- </svg>
4
+ <svg width="64" height="64" viewBox="0 0 640 640" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <path d="M354.832 276.683L360.538 287.948L359.342 289.144L350.731 280.784L354.832 276.683Z" fill="#76B5E0" />
6
+ <path
7
+ fillRule="evenodd"
8
+ clipRule="evenodd"
9
+ d="M314 128H326V144.077L346.283 151.332C369.967 159.802 392.949 170.121 415.016 182.193L437.191 194.324L457.599 173.916L466.084 182.401L444.445 204.041L447.319 212.963C458.702 248.31 474.148 282.216 493.347 314H512V326H494.455L479.094 369.434L455.768 455.642L435.097 460.957C396.477 470.887 359.666 486.806 326 508.123V512H314V507.22C278.543 479.763 236.412 462.268 191.965 456.521L177.181 471.305L168.696 462.82L182.781 448.735L178.858 430.061C170.982 392.571 155.435 357.146 133.225 326H128V314H133.231C160.297 276.391 177.89 232.762 184.461 186.82L184.848 184.112L189.665 183.666C233.34 179.627 275.675 166.567 314 145.341V128ZM202.539 445.947C242.755 452.568 280.91 468.411 314 492.244V473.216L290.911 456.231C282.445 450.003 272.889 445.414 262.735 442.701L217.795 430.692L202.539 445.947ZM223.816 419.218L220.283 411.232L220.205 411.31L203.692 365.949L182.106 324.487L209.836 263.925L220.609 229.096L250.516 259.003L247.951 276.471L259.312 281.643C259.366 281.313 259.417 280.983 259.466 280.652L261.092 269.578L280.603 289.089L289.027 280.543L272.597 264.113C290.854 263.844 308.123 255.788 320.058 241.986L320.416 242.326C326.029 247.645 334.392 254.783 343.006 258.57C346.645 260.171 350.671 261.323 354.722 262.155L365.634 251.672C359.394 251.031 352.909 249.816 347.836 247.585C340.856 244.516 333.312 238.102 327.751 232.737C327.142 232.15 326.558 231.575 326 231.019V192.603L349.031 206.751C357.495 211.95 366.707 215.817 376.346 218.216L414.942 227.823L416.766 231.72L417.01 231.476L428.441 264.125L454.962 322.358L435.039 366.132L418.078 409.592L417.67 409.185L413.333 419.221L370.63 430.485C358.819 433.601 347.703 438.922 337.869 446.167L326 454.912V413.269L369.867 395.097L360.505 385.986L326 400.28L326 352.404L319.555 346.132L314 351.776L314 397.517L303.919 390.42C298.125 386.34 291.71 383.263 284.945 381.296L275.035 391.364C282.944 392.589 290.464 395.623 297.01 400.232L314 412.193V457.525L298.401 446.05C288.665 438.888 277.675 433.611 265.998 430.49L223.816 419.218ZM326 470.61V494.005C358.966 474.008 394.715 458.95 432.109 449.335L439.062 447.547L421.62 430.106L373.853 442.706C363.583 445.415 353.917 450.042 345.366 456.342L326 470.61ZM427.836 419.351L447.764 439.279L467.629 365.861L481.727 326H467.19L446.687 371.051L427.836 419.351ZM465.043 314H479.389C461.412 283.226 446.827 250.582 435.896 216.641L434.909 213.576L426.928 221.558L440.181 259.408L465.043 314ZM416.363 215.152L428.349 203.166L409.257 192.721C387.741 180.95 365.334 170.889 342.242 162.631L326 156.822V177.77L355.647 195.982C363.006 200.503 371.017 203.865 379.399 205.952L416.363 215.152ZM314 175.391V158.982C279.328 177.284 241.657 189.241 202.767 194.283L222.749 214.264L255.145 205.567C261.978 203.732 268.553 201.044 274.715 197.566L314 175.391ZM314 189.904L280.928 208.572C273.842 212.572 266.28 215.663 258.422 217.773L233.065 224.581L260.604 252.12H271.652C287.114 252.12 301.774 245.239 311.653 233.345L314 230.516V189.904ZM210.505 218.991L194.003 202.49C186.351 242.412 170.649 280.354 147.865 314H173.007L198.004 259.408L210.505 218.991ZM168.644 326L192.099 371.051L210.345 421.171L192.914 438.602L190.601 427.593C182.967 391.252 168.422 356.769 147.811 326H168.644Z"
10
+ fill="#76B5E0"
11
+ />
12
+ <path
13
+ fillRule="evenodd"
14
+ clipRule="evenodd"
15
+ d="M217.061 279.988L198.893 323.312L236.306 407.902L319.312 323.568L402.325 404.358L439.577 318.177L402.325 238.609L369.47 270.173L392.538 315.708L385.493 336.836L319.327 272.592L252.74 340.151L245.423 323.568L252.74 296.229L217.061 279.988Z"
16
+ fill="white"
17
+ />
18
+ </svg>
28
19
  );
@@ -9,153 +9,128 @@ import { EuiButtonIcon, EuiContextMenu, EuiPopover } from '@elastic/eui';
9
9
  import { WfoLoading } from '@/components/WfoLoading';
10
10
  import { ORCHESTRATOR_UI_LIBRARY_VERSION } from '@/configuration';
11
11
  import { useGetOrchestratorConfig, useOrchestratorTheme } from '@/hooks';
12
- import {
13
- WfoChartBar,
14
- WfoLogoutIcon,
15
- WfoSquareStack3dStack,
16
- WfoXCircleFill,
17
- } from '@/icons';
12
+ import { WfoChartBar, WfoLogoutIcon, WfoSquareStack3dStack, WfoXCircleFill } from '@/icons';
18
13
  import { WfoQuestionCircle } from '@/icons/WfoQuestionCircle';
19
14
  import { useGetVersionsQuery } from '@/rtk/endpoints/versions';
20
15
  import { toOptionalArrayEntry } from '@/utils';
21
16
 
22
17
  export const WfoHamburgerMenu = () => {
23
- const t = useTranslations('hamburgerMenu');
24
- const [isPopoverOpen, setPopoverIsOpen] = useState(false);
25
- const { theme, isDarkModeActive } = useOrchestratorTheme();
26
- const {
27
- enableSupportMenuItem,
28
- supportMenuItemUrl,
29
- enableAoStackStatus,
30
- aoStackStatusUrl,
31
- } = useGetOrchestratorConfig();
32
- const closePopover = () => {
33
- setPopoverIsOpen(false);
34
- };
35
-
36
- const handleOpenSupport = async (): Promise<undefined> => {
37
- window.open(supportMenuItemUrl, '_blank');
38
- };
39
-
40
- const handleOpenStatus = async (): Promise<undefined> => {
41
- window.open(aoStackStatusUrl, '_blank');
42
- };
43
-
44
- const {
45
- data,
46
- isFetching,
47
- error: versionFetchError,
48
- } = useGetVersionsQuery();
49
-
50
- const getVersionItems = () => {
51
- if (versionFetchError) {
52
- console.error(versionFetchError);
53
- return [
54
- {
55
- name: 'Error fetching application version data',
56
- icon: <WfoXCircleFill color={theme.colors.danger} />,
57
- },
58
- ];
59
- }
60
- if (isFetching) {
61
- return [{ name: '', icon: <WfoLoading /> }];
62
- }
63
- // initial array contains orchestrator-ui-components library version
64
- const versionsArr: [{ name: string; icon: React.ReactElement }] = [
65
- {
66
- name: `orchestrator-ui-components: ${ORCHESTRATOR_UI_LIBRARY_VERSION}`,
67
- icon: <WfoSquareStack3dStack />,
68
- },
69
- ];
70
-
71
- if (data === undefined) {
72
- return versionsArr;
73
- }
74
-
75
- const orchApiVersions = data.version.applicationVersions.map((item) => {
76
- return {
77
- name: item,
78
- icon: <WfoSquareStack3dStack />,
79
- };
80
- });
81
-
82
- // orchestrator-ui-components library version + versions returned from orchestrator api
83
- return versionsArr.concat(orchApiVersions);
84
- };
85
-
86
- const logoutItem = {
87
- name: t('logout'),
88
- icon: (
89
- <WfoLogoutIcon
90
- color={isDarkModeActive ? theme.colors.ghost : theme.colors.ink}
91
- />
92
- ),
93
- onClick: () => signOut(),
94
- };
95
-
96
- const supportItem = {
97
- name: t('support'),
98
- icon: (
99
- <WfoQuestionCircle
100
- color={isDarkModeActive ? theme.colors.ghost : theme.colors.ink}
101
- />
102
- ),
103
- onClick: handleOpenSupport,
104
- };
105
-
106
- const aoStackStatusItem = {
107
- name: t('aoStatusPage'),
108
- icon: <WfoChartBar width={26} height={26} />,
109
- onClick: handleOpenStatus,
110
- };
111
-
112
- const versionItem = {
113
- name: t('softwareVersions'),
114
- icon: <WfoSquareStack3dStack width={24} height={24} />,
115
- panel: 1,
116
- };
117
-
118
- const panelItems = [
119
- ...toOptionalArrayEntry(supportItem, enableSupportMenuItem),
120
- ...toOptionalArrayEntry(aoStackStatusItem, enableAoStackStatus),
121
- versionItem,
122
- { ...logoutItem },
123
- ];
124
-
125
- const panels: EuiContextMenuPanelDescriptor[] = [
126
- {
127
- id: 0,
128
- items: panelItems,
129
- },
18
+ const t = useTranslations('hamburgerMenu');
19
+ const [isPopoverOpen, setPopoverIsOpen] = useState(false);
20
+ const { theme, isDarkModeActive } = useOrchestratorTheme();
21
+ const { enableSupportMenuItem, supportMenuItemUrl, enableAoStackStatus, aoStackStatusUrl } =
22
+ useGetOrchestratorConfig();
23
+ const closePopover = () => {
24
+ setPopoverIsOpen(false);
25
+ };
26
+
27
+ const handleOpenSupport = async (): Promise<undefined> => {
28
+ window.open(supportMenuItemUrl, '_blank');
29
+ };
30
+
31
+ const handleOpenStatus = async (): Promise<undefined> => {
32
+ window.open(aoStackStatusUrl, '_blank');
33
+ };
34
+
35
+ const { data, isFetching, error: versionFetchError } = useGetVersionsQuery();
36
+
37
+ const getVersionItems = () => {
38
+ if (versionFetchError) {
39
+ console.error(versionFetchError);
40
+ return [
130
41
  {
131
- id: 1,
132
- title: t('softwareVersions'),
133
- items: getVersionItems(),
42
+ name: 'Error fetching application version data',
43
+ icon: <WfoXCircleFill color={theme.colors.danger} />,
134
44
  },
45
+ ];
46
+ }
47
+ if (isFetching) {
48
+ return [{ name: '', icon: <WfoLoading /> }];
49
+ }
50
+ // initial array contains orchestrator-ui-components library version
51
+ const versionsArr: [{ name: string; icon: React.ReactElement }] = [
52
+ {
53
+ name: `orchestrator-ui-components: ${ORCHESTRATOR_UI_LIBRARY_VERSION}`,
54
+ icon: <WfoSquareStack3dStack />,
55
+ },
135
56
  ];
136
57
 
137
- return (
138
- <EuiPopover
139
- id={'contextMenuPopoverId'}
140
- button={
141
- <EuiButtonIcon
142
- iconType="menu"
143
- css={{ color: theme.colors.ghost }}
144
- onClick={() => setPopoverIsOpen(!isPopoverOpen)}
145
- aria-label={t('openMenu')}
146
- />
147
- }
148
- css={{ width: theme.base * 2 }}
149
- isOpen={isPopoverOpen}
150
- closePopover={closePopover}
151
- panelPaddingSize="none"
152
- anchorPosition="downLeft"
153
- >
154
- <EuiContextMenu
155
- initialPanelId={0}
156
- panels={panels}
157
- css={{ width: theme.base * 25 }}
158
- />
159
- </EuiPopover>
160
- );
58
+ if (data === undefined) {
59
+ return versionsArr;
60
+ }
61
+
62
+ const orchApiVersions = data.version.applicationVersions.map((item) => {
63
+ return {
64
+ name: item,
65
+ icon: <WfoSquareStack3dStack />,
66
+ };
67
+ });
68
+
69
+ // orchestrator-ui-components library version + versions returned from orchestrator api
70
+ return versionsArr.concat(orchApiVersions);
71
+ };
72
+
73
+ const logoutItem = {
74
+ name: t('logout'),
75
+ icon: <WfoLogoutIcon color={isDarkModeActive ? theme.colors.textGhost : theme.colors.textInk} />,
76
+ onClick: () => signOut(),
77
+ };
78
+
79
+ const supportItem = {
80
+ name: t('support'),
81
+ icon: <WfoQuestionCircle color={isDarkModeActive ? theme.colors.textGhost : theme.colors.textInk} />,
82
+ onClick: handleOpenSupport,
83
+ };
84
+
85
+ const aoStackStatusItem = {
86
+ name: t('aoStatusPage'),
87
+ icon: <WfoChartBar width={26} height={26} />,
88
+ onClick: handleOpenStatus,
89
+ };
90
+
91
+ const versionItem = {
92
+ name: t('softwareVersions'),
93
+ icon: <WfoSquareStack3dStack width={24} height={24} />,
94
+ panel: 1,
95
+ };
96
+
97
+ const panelItems = [
98
+ ...toOptionalArrayEntry(supportItem, enableSupportMenuItem),
99
+ ...toOptionalArrayEntry(aoStackStatusItem, enableAoStackStatus),
100
+ versionItem,
101
+ { ...logoutItem },
102
+ ];
103
+
104
+ const panels: EuiContextMenuPanelDescriptor[] = [
105
+ {
106
+ id: 0,
107
+ items: panelItems,
108
+ },
109
+ {
110
+ id: 1,
111
+ title: t('softwareVersions'),
112
+ items: getVersionItems(),
113
+ },
114
+ ];
115
+
116
+ return (
117
+ <EuiPopover
118
+ id={'contextMenuPopoverId'}
119
+ button={
120
+ <EuiButtonIcon
121
+ iconType="menu"
122
+ css={{ color: theme.colors.textGhost }}
123
+ onClick={() => setPopoverIsOpen(!isPopoverOpen)}
124
+ aria-label={t('openMenu')}
125
+ />
126
+ }
127
+ css={{ width: theme.base * 2 }}
128
+ isOpen={isPopoverOpen}
129
+ closePopover={closePopover}
130
+ panelPaddingSize="none"
131
+ anchorPosition="downLeft"
132
+ >
133
+ <EuiContextMenu initialPanelId={0} panels={panels} css={{ width: theme.base * 25 }} />
134
+ </EuiPopover>
135
+ );
161
136
  };