@orchestrator-ui/orchestrator-ui-components 7.4.1 → 7.5.1

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 +12 -12
  4. package/CHANGELOG.md +427 -416
  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 +3272 -7599
  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 +40 -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 +117 -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
@@ -1,191 +1,154 @@
1
1
  import {
2
- calculateTimeDifference,
3
- getCurrentBrowserLocale,
4
- parseDate,
5
- parseDateOrTimeRelativeToToday,
6
- parseDateRelativeToToday,
7
- parseDateToLocaleDateTimeString,
8
- parseIsoString,
2
+ calculateTimeDifference,
3
+ getCurrentBrowserLocale,
4
+ parseDate,
5
+ parseDateOrTimeRelativeToToday,
6
+ parseDateRelativeToToday,
7
+ parseDateToLocaleDateTimeString,
8
+ parseIsoString,
9
9
  } from './date';
10
10
 
11
11
  const testDateIsoString = '2023-04-27T10:00:00.000Z';
12
12
  const testDate = new Date(testDateIsoString);
13
13
  const testDateEpoch = testDate.valueOf();
14
- const testDateDateString = testDate.toLocaleDateString(
15
- getCurrentBrowserLocale(),
16
- );
17
- const testDateTimeString = testDate.toLocaleTimeString(
18
- getCurrentBrowserLocale(),
19
- );
14
+ const testDateDateString = testDate.toLocaleDateString(getCurrentBrowserLocale());
15
+ const testDateTimeString = testDate.toLocaleTimeString(getCurrentBrowserLocale());
20
16
 
21
17
  describe('date', () => {
22
- describe('parseDate()', () => {
23
- it('returns null if the date is null', () => {
24
- const result = parseDate(null);
25
- expect(result).toBeNull();
26
- });
27
- it('returns null if the date is undefined', () => {
28
- const result = parseDate(undefined);
29
- expect(result).toBeNull();
30
- });
31
-
32
- it('returns null if the date is an empty string', () => {
33
- const result = parseDate('');
34
- expect(result).toBeNull();
35
- });
36
-
37
- it('returns a date object if the date is a valid date string', () => {
38
- const result = parseDate('2022-01-02');
39
-
40
- expect(result).toBeInstanceOf(Date);
41
- });
42
- });
43
- describe('parseDateTimeToLocaleString()', () => {
44
- it('returns an empty string if the date is null', () => {
45
- const result = parseDateToLocaleDateTimeString(null);
46
- expect(result).toEqual('');
47
- });
48
-
49
- it('returns a date string if the date is a valid date string', () => {
50
- const testDate = new Date('2022-01-02');
51
-
52
- const result = parseDateToLocaleDateTimeString(testDate);
53
-
54
- expect(result).toContain('1/2/2022');
55
- });
56
- });
57
-
58
- describe('parseDateRelativeToToday()', () => {
59
- it('returns an empty string if the date is null', () => {
60
- const result = parseDateRelativeToToday(null);
61
- expect(result).toEqual('');
62
- });
63
- it('returns only time when date is today', () => {
64
- const now = new Date();
65
-
66
- const result = parseDateRelativeToToday(now);
67
-
68
- const expectedResult = now.toLocaleTimeString(
69
- getCurrentBrowserLocale(),
70
- );
71
- expect(result).toEqual(expectedResult);
72
- });
73
- it('returns date and time when date is not today', () => {
74
- const result = parseDateRelativeToToday(testDate);
75
-
76
- const expectedDateTime = `${testDateDateString}, ${testDateTimeString}`;
77
- expect(result).toEqual(expectedDateTime);
78
- });
79
- });
80
-
81
- describe('parseDateOrTimeRelativeToToday()', () => {
82
- it('returns time only when date is today', () => {
83
- const now = new Date();
84
-
85
- const result = parseDateOrTimeRelativeToToday(now);
86
-
87
- const expectedResult = now.toLocaleTimeString(
88
- getCurrentBrowserLocale(),
89
- );
90
- expect(result).toEqual(expectedResult);
91
- });
92
- it('returns only the date when that date is not today', () => {
93
- const result = parseDateOrTimeRelativeToToday(testDate);
94
-
95
- expect(result).toEqual(testDateDateString);
96
- });
97
- it('returns date only when date is not today and requesting "short notation"', () => {
98
- const result = parseDateOrTimeRelativeToToday(testDate);
99
-
100
- expect(result).toEqual(testDateDateString);
101
- });
102
- });
103
-
104
- describe('calculateTimeDifference()', () => {
105
- it('returns message with one of the dates missing', () => {
106
- expect(calculateTimeDifference('', '')).toEqual('');
107
- });
108
-
109
- it('returns appropriate string if the times are the same', () => {
110
- expect(
111
- calculateTimeDifference(testDateIsoString, testDateIsoString),
112
- ).toEqual('00:00:00');
113
- });
114
-
115
- it('returns appropriate string if the timedifference is 1 second', () => {
116
- const laterTestDateIsoString = new Date(
117
- testDateEpoch + 1000,
118
- ).toISOString();
119
-
120
- const result = calculateTimeDifference(
121
- testDateIsoString,
122
- laterTestDateIsoString,
123
- );
124
-
125
- expect(result).toEqual('00:00:01');
126
- });
127
- it('returns appropriate string if the timedifference is 1 minute', () => {
128
- const laterTestDateIsoString = new Date(
129
- testDateEpoch + 60000 + 1000,
130
- ).toISOString();
131
-
132
- const result = calculateTimeDifference(
133
- testDateIsoString,
134
- laterTestDateIsoString,
135
- );
18
+ describe('parseDate()', () => {
19
+ it('returns null if the date is null', () => {
20
+ const result = parseDate(null);
21
+ expect(result).toBeNull();
22
+ });
23
+ it('returns null if the date is undefined', () => {
24
+ const result = parseDate(undefined);
25
+ expect(result).toBeNull();
26
+ });
27
+
28
+ it('returns null if the date is an empty string', () => {
29
+ const result = parseDate('');
30
+ expect(result).toBeNull();
31
+ });
32
+
33
+ it('returns a date object if the date is a valid date string', () => {
34
+ const result = parseDate('2022-01-02');
35
+
36
+ expect(result).toBeInstanceOf(Date);
37
+ });
38
+ });
39
+ describe('parseDateTimeToLocaleString()', () => {
40
+ it('returns an empty string if the date is null', () => {
41
+ const result = parseDateToLocaleDateTimeString(null);
42
+ expect(result).toEqual('');
43
+ });
44
+
45
+ it('returns a date string if the date is a valid date string', () => {
46
+ const testDate = new Date('2022-01-02');
47
+
48
+ const result = parseDateToLocaleDateTimeString(testDate);
49
+
50
+ expect(result).toContain('1/2/2022');
51
+ });
52
+ });
53
+
54
+ describe('parseDateRelativeToToday()', () => {
55
+ it('returns an empty string if the date is null', () => {
56
+ const result = parseDateRelativeToToday(null);
57
+ expect(result).toEqual('');
58
+ });
59
+ it('returns only time when date is today', () => {
60
+ const now = new Date();
61
+
62
+ const result = parseDateRelativeToToday(now);
63
+
64
+ const expectedResult = now.toLocaleTimeString(getCurrentBrowserLocale());
65
+ expect(result).toEqual(expectedResult);
66
+ });
67
+ it('returns date and time when date is not today', () => {
68
+ const result = parseDateRelativeToToday(testDate);
69
+
70
+ const expectedDateTime = `${testDateDateString}, ${testDateTimeString}`;
71
+ expect(result).toEqual(expectedDateTime);
72
+ });
73
+ });
74
+
75
+ describe('parseDateOrTimeRelativeToToday()', () => {
76
+ it('returns time only when date is today', () => {
77
+ const now = new Date();
78
+
79
+ const result = parseDateOrTimeRelativeToToday(now);
80
+
81
+ const expectedResult = now.toLocaleTimeString(getCurrentBrowserLocale());
82
+ expect(result).toEqual(expectedResult);
83
+ });
84
+ it('returns only the date when that date is not today', () => {
85
+ const result = parseDateOrTimeRelativeToToday(testDate);
86
+
87
+ expect(result).toEqual(testDateDateString);
88
+ });
89
+ it('returns date only when date is not today and requesting "short notation"', () => {
90
+ const result = parseDateOrTimeRelativeToToday(testDate);
91
+
92
+ expect(result).toEqual(testDateDateString);
93
+ });
94
+ });
95
+
96
+ describe('calculateTimeDifference()', () => {
97
+ it('returns message with one of the dates missing', () => {
98
+ expect(calculateTimeDifference('', '')).toEqual('');
99
+ });
100
+
101
+ it('returns appropriate string if the times are the same', () => {
102
+ expect(calculateTimeDifference(testDateIsoString, testDateIsoString)).toEqual('00:00:00');
103
+ });
104
+
105
+ it('returns appropriate string if the timedifference is 1 second', () => {
106
+ const laterTestDateIsoString = new Date(testDateEpoch + 1000).toISOString();
107
+
108
+ const result = calculateTimeDifference(testDateIsoString, laterTestDateIsoString);
109
+
110
+ expect(result).toEqual('00:00:01');
111
+ });
112
+ it('returns appropriate string if the timedifference is 1 minute', () => {
113
+ const laterTestDateIsoString = new Date(testDateEpoch + 60000 + 1000).toISOString();
114
+
115
+ const result = calculateTimeDifference(testDateIsoString, laterTestDateIsoString);
116
+
117
+ expect(result).toEqual('00:01:01');
118
+ });
119
+ it('returns appropriate string if the timedifference is 1 hour', () => {
120
+ const laterTestDateIsoString = new Date(testDateEpoch + 3600000 + 60000 + 1000).toISOString();
121
+
122
+ const result = calculateTimeDifference(testDateIsoString, laterTestDateIsoString);
123
+
124
+ expect(result).toEqual('01:01:01');
125
+ });
126
+
127
+ it('returns appropriate string if the timedifference is 10 hour', () => {
128
+ const laterTestDateIsoString = new Date(testDateEpoch + 36000000 + 60000 + 1000).toISOString();
129
+
130
+ const result = calculateTimeDifference(testDateIsoString, laterTestDateIsoString);
131
+
132
+ expect(result).toEqual('10:01:01');
133
+ });
134
+
135
+ it('returns empty string when time difference is invalid', () => {
136
+ const laterDateIsoString = new Date(testDateEpoch + 3600000 + 60000 + 1000).toISOString();
137
+
138
+ const result = calculateTimeDifference(laterDateIsoString, testDateIsoString);
139
+
140
+ expect(result).toEqual('');
141
+ });
142
+ });
143
+
144
+ describe('parseIsoString()', () => {
145
+ it('returns the result of the function passed', () => {
146
+ const dateToStringTestFunction = (testDate: Date | null) =>
147
+ testDate?.toISOString().concat('-TEST') ?? 'empty-TEST';
136
148
 
137
- expect(result).toEqual('00:01:01');
138
- });
139
- it('returns appropriate string if the timedifference is 1 hour', () => {
140
- const laterTestDateIsoString = new Date(
141
- testDateEpoch + 3600000 + 60000 + 1000,
142
- ).toISOString();
143
-
144
- const result = calculateTimeDifference(
145
- testDateIsoString,
146
- laterTestDateIsoString,
147
- );
149
+ const result = parseIsoString(dateToStringTestFunction)(testDateIsoString);
148
150
 
149
- expect(result).toEqual('01:01:01');
150
- });
151
-
152
- it('returns appropriate string if the timedifference is 10 hour', () => {
153
- const laterTestDateIsoString = new Date(
154
- testDateEpoch + 36000000 + 60000 + 1000,
155
- ).toISOString();
156
-
157
- const result = calculateTimeDifference(
158
- testDateIsoString,
159
- laterTestDateIsoString,
160
- );
161
-
162
- expect(result).toEqual('10:01:01');
163
- });
164
-
165
- it('returns empty string when time difference is invalid', () => {
166
- const laterDateIsoString = new Date(
167
- testDateEpoch + 3600000 + 60000 + 1000,
168
- ).toISOString();
169
-
170
- const result = calculateTimeDifference(
171
- laterDateIsoString,
172
- testDateIsoString,
173
- );
174
-
175
- expect(result).toEqual('');
176
- });
177
- });
178
-
179
- describe('parseIsoString()', () => {
180
- it('returns the result of the function passed', () => {
181
- const dateToStringTestFunction = (testDate: Date | null) =>
182
- testDate?.toISOString().concat('-TEST') ?? 'empty-TEST';
183
-
184
- const result = parseIsoString(dateToStringTestFunction)(
185
- testDateIsoString,
186
- );
187
-
188
- expect(result).toEqual(`${testDateIsoString}-TEST`);
189
- });
151
+ expect(result).toEqual(`${testDateIsoString}-TEST`);
190
152
  });
153
+ });
191
154
  });
package/src/utils/date.ts CHANGED
@@ -2,123 +2,103 @@ import { Locale } from '../types/types';
2
2
 
3
3
  export const getCurrentBrowserLocale = () => window.navigator.language;
4
4
 
5
- export const parseDate = (
6
- date: string | null | undefined | number,
7
- ): Date | null => {
8
- if (date === null || date === undefined || date === '') {
9
- return null;
10
- }
5
+ export const parseDate = (date: string | null | undefined | number): Date | null => {
6
+ if (date === null || date === undefined || date === '') {
7
+ return null;
8
+ }
11
9
 
12
- return new Date(date);
10
+ return new Date(date);
13
11
  };
14
12
 
15
13
  export const calculateTimeDifference = (from: string, to: string): string => {
16
- const fromDate = parseDate(from);
17
- const toDate = parseDate(to);
14
+ const fromDate = parseDate(from);
15
+ const toDate = parseDate(to);
18
16
 
19
- if (!fromDate || !toDate) return '';
17
+ if (!fromDate || !toDate) return '';
20
18
 
21
- const timeDifference: number =
22
- (toDate.getTime() - fromDate.getTime()) / 1000;
19
+ const timeDifference: number = (toDate.getTime() - fromDate.getTime()) / 1000;
23
20
 
24
- if (timeDifference < 0) return '';
21
+ if (timeDifference < 0) return '';
25
22
 
26
- const seconds = Math.floor(timeDifference);
27
- const minutes = Math.floor(seconds / 60);
28
- const hours = Math.floor(minutes / 60);
23
+ const seconds = Math.floor(timeDifference);
24
+ const minutes = Math.floor(seconds / 60);
25
+ const hours = Math.floor(minutes / 60);
29
26
 
30
- return `${hours.toString().padStart(2, '0')}:${(minutes % 60)
31
- .toString()
32
- .padStart(2, '0')}:${((seconds % 60) % 3600)
33
- .toString()
34
- .padStart(2, '0')}`;
27
+ return `${hours.toString().padStart(2, '0')}:${(minutes % 60).toString().padStart(2, '0')}:${((seconds % 60) % 3600)
28
+ .toString()
29
+ .padStart(2, '0')}`;
35
30
  };
36
31
 
37
32
  export const formatDate = (dateString: string | undefined | null) => {
38
- if (!dateString) return '';
33
+ if (!dateString) return '';
39
34
 
40
- const date = parseDate(dateString);
41
- return parseDateToLocaleDateTimeString(date);
35
+ const date = parseDate(dateString);
36
+ return parseDateToLocaleDateTimeString(date);
42
37
  };
43
38
 
44
- export const parseIsoString =
45
- (dateToStringParser: (date: Date | null) => string) =>
46
- (date: string | null) =>
47
- dateToStringParser(parseDate(date));
39
+ export const parseIsoString = (dateToStringParser: (date: Date | null) => string) => (date: string | null) =>
40
+ dateToStringParser(parseDate(date));
48
41
 
49
42
  export const parseDateToLocaleDateTimeString = (value: Date | null) =>
50
- value?.toLocaleString(getCurrentBrowserLocale()) ?? '';
43
+ value?.toLocaleString(getCurrentBrowserLocale()) ?? '';
51
44
 
52
45
  export const parseDateToLocaleDateString = (value: Date | null) =>
53
- value?.toLocaleDateString(getCurrentBrowserLocale()) ?? '';
46
+ value?.toLocaleDateString(getCurrentBrowserLocale()) ?? '';
54
47
 
55
48
  export const parseDateToLocaleTimeString = (value: Date | null) =>
56
- value?.toLocaleTimeString(getCurrentBrowserLocale()) ?? '';
49
+ value?.toLocaleTimeString(getCurrentBrowserLocale()) ?? '';
57
50
 
58
- export const isToday = (date: Date) =>
59
- date.toLocaleDateString() === new Date().toLocaleDateString();
51
+ export const isToday = (date: Date) => date.toLocaleDateString() === new Date().toLocaleDateString();
60
52
 
61
53
  export const parseDateOrTimeRelativeToToday = (date: Date | null) => {
62
- if (!date) {
63
- return '';
64
- }
54
+ if (!date) {
55
+ return '';
56
+ }
65
57
 
66
- return isToday(date)
67
- ? parseDateToLocaleTimeString(date)
68
- : parseDateToLocaleDateString(date);
58
+ return isToday(date) ? parseDateToLocaleTimeString(date) : parseDateToLocaleDateString(date);
69
59
  };
70
60
 
71
61
  export const parseDateRelativeToToday = (date: Date | null) => {
72
- if (!date) {
73
- return '';
74
- }
62
+ if (!date) {
63
+ return '';
64
+ }
75
65
 
76
- return isToday(date)
77
- ? parseDateToLocaleTimeString(date)
78
- : parseDateToLocaleDateTimeString(date);
66
+ return isToday(date) ? parseDateToLocaleTimeString(date) : parseDateToLocaleDateTimeString(date);
79
67
  };
80
68
 
81
- export const formatDateCetWithUtc = (
82
- inputDateString: string | null | undefined,
83
- ) => {
84
- const inputDate = parseDate(inputDateString);
85
- if (!inputDate) {
86
- return '';
87
- }
88
- const options: Intl.DateTimeFormatOptions = {
89
- day: '2-digit',
90
- month: 'short',
91
- year: 'numeric',
92
- hour: '2-digit',
93
- minute: '2-digit',
94
- timeZoneName: 'short',
95
- timeZone: 'Europe/Amsterdam',
96
- };
97
-
98
- const optionsShort: Intl.DateTimeFormatOptions = {
99
- hour: '2-digit',
100
- minute: '2-digit',
101
- timeZoneName: 'short',
102
- timeZone: 'UTC',
103
- };
104
- const formattedDateCET = new Intl.DateTimeFormat(
105
- Locale.nlNL,
106
- options,
107
- ).format(inputDate);
108
-
109
- options.timeZoneName = 'short';
110
- const formattedDateUTC = new Intl.DateTimeFormat(
111
- Locale.nlNL,
112
- optionsShort,
113
- ).format(inputDate);
114
-
115
- return `${formattedDateCET} (${formattedDateUTC})`;
69
+ export const formatDateCetWithUtc = (inputDateString: string | null | undefined) => {
70
+ const inputDate = parseDate(inputDateString);
71
+ if (!inputDate) {
72
+ return '';
73
+ }
74
+ const options: Intl.DateTimeFormatOptions = {
75
+ day: '2-digit',
76
+ month: 'short',
77
+ year: 'numeric',
78
+ hour: '2-digit',
79
+ minute: '2-digit',
80
+ timeZoneName: 'short',
81
+ timeZone: 'Europe/Amsterdam',
82
+ };
83
+
84
+ const optionsShort: Intl.DateTimeFormatOptions = {
85
+ hour: '2-digit',
86
+ minute: '2-digit',
87
+ timeZoneName: 'short',
88
+ timeZone: 'UTC',
89
+ };
90
+ const formattedDateCET = new Intl.DateTimeFormat(Locale.nlNL, options).format(inputDate);
91
+
92
+ options.timeZoneName = 'short';
93
+ const formattedDateUTC = new Intl.DateTimeFormat(Locale.nlNL, optionsShort).format(inputDate);
94
+
95
+ return `${formattedDateCET} (${formattedDateUTC})`;
116
96
  };
117
97
 
118
98
  export const getDate = (date: Date | string | null) => {
119
- if (typeof date === 'string') {
120
- return new Date(date);
121
- }
99
+ if (typeof date === 'string') {
100
+ return new Date(date);
101
+ }
122
102
 
123
- return date;
103
+ return date;
124
104
  };
@@ -1,17 +1,17 @@
1
1
  import { getNumberValueFromEnvironmentVariable } from './environmentVariables';
2
2
 
3
3
  describe('getNumberValueFromEnvironmentVariable', () => {
4
- it('returns the string as a number if it is a number', () => {
5
- const result = getNumberValueFromEnvironmentVariable('123', 987);
6
- expect(result).toBe(123);
7
- });
4
+ it('returns the string as a number if it is a number', () => {
5
+ const result = getNumberValueFromEnvironmentVariable('123', 987);
6
+ expect(result).toBe(123);
7
+ });
8
8
 
9
- it('returns the default value if the environment variable is not defined', () => {
10
- const result = getNumberValueFromEnvironmentVariable(undefined, 987);
11
- expect(result).toBe(987);
12
- });
13
- it('returns the default value if the environment variable is not a number', () => {
14
- const result = getNumberValueFromEnvironmentVariable('abc', 987);
15
- expect(result).toBe(987);
16
- });
9
+ it('returns the default value if the environment variable is not defined', () => {
10
+ const result = getNumberValueFromEnvironmentVariable(undefined, 987);
11
+ expect(result).toBe(987);
12
+ });
13
+ it('returns the default value if the environment variable is not a number', () => {
14
+ const result = getNumberValueFromEnvironmentVariable('abc', 987);
15
+ expect(result).toBe(987);
16
+ });
17
17
  });
@@ -1,12 +1,12 @@
1
1
  export const getNumberValueFromEnvironmentVariable = (
2
- environmentVariable: string | undefined,
3
- defaultValue: number,
2
+ environmentVariable: string | undefined,
3
+ defaultValue: number,
4
4
  ) => {
5
- if (!environmentVariable) {
6
- return defaultValue;
7
- }
5
+ if (!environmentVariable) {
6
+ return defaultValue;
7
+ }
8
8
 
9
- const valueAsNumber = parseInt(environmentVariable);
9
+ const valueAsNumber = parseInt(environmentVariable);
10
10
 
11
- return isNaN(valueAsNumber) ? defaultValue : valueAsNumber;
11
+ return isNaN(valueAsNumber) ? defaultValue : valueAsNumber;
12
12
  };
@@ -3,30 +3,28 @@ import { GraphqlFilter } from '@/types';
3
3
  import { filterDataByCriteria } from './filterData';
4
4
 
5
5
  describe('filterDataByCriteria', () => {
6
- const testData = [
7
- { id: 1, name: 'John' },
8
- { id: 2, name: 'Doe' },
9
- { id: 3, name: 'Jane' },
6
+ const testData = [
7
+ { id: 1, name: 'John' },
8
+ { id: 2, name: 'Doe' },
9
+ { id: 3, name: 'Jane' },
10
+ ];
11
+
12
+ it('should filter data by criteria', () => {
13
+ const filterCriteria: GraphqlFilter<(typeof testData)[0]>[] = [
14
+ { field: 'name', value: 'John' },
15
+ { field: 'id', value: '3' },
10
16
  ];
11
17
 
12
- it('should filter data by criteria', () => {
13
- const filterCriteria: GraphqlFilter<(typeof testData)[0]>[] = [
14
- { field: 'name', value: 'John' },
15
- { field: 'id', value: '3' },
16
- ];
18
+ const filteredData = filterDataByCriteria(testData, filterCriteria);
17
19
 
18
- const filteredData = filterDataByCriteria(testData, filterCriteria);
20
+ expect(filteredData).toEqual([{ id: 1, name: 'John' }]);
21
+ });
19
22
 
20
- expect(filteredData).toEqual([{ id: 1, name: 'John' }]);
21
- });
23
+ it('should return empty array if no match found', () => {
24
+ const filterCriteria: GraphqlFilter<(typeof testData)[0]>[] = [{ field: 'name', value: 'Nonexistent' }];
22
25
 
23
- it('should return empty array if no match found', () => {
24
- const filterCriteria: GraphqlFilter<(typeof testData)[0]>[] = [
25
- { field: 'name', value: 'Nonexistent' },
26
- ];
26
+ const filteredData = filterDataByCriteria(testData, filterCriteria);
27
27
 
28
- const filteredData = filterDataByCriteria(testData, filterCriteria);
29
-
30
- expect(filteredData).toEqual([]);
31
- });
28
+ expect(filteredData).toEqual([]);
29
+ });
32
30
  });
@@ -1,14 +1,11 @@
1
1
  import { GraphqlFilter } from '@/types';
2
2
 
3
- export const filterDataByCriteria = <Type>(
4
- data: Type[],
5
- filterCriteria: GraphqlFilter<Type>[],
6
- ): Type[] => {
7
- return data.filter((dataItem) => {
8
- return filterCriteria.some((filter) => {
9
- const dataValue = dataItem[filter.field] as unknown as string;
10
- const filterValue = filter.value;
11
- return dataValue === filterValue;
12
- });
3
+ export const filterDataByCriteria = <Type>(data: Type[], filterCriteria: GraphqlFilter<Type>[]): Type[] => {
4
+ return data.filter((dataItem) => {
5
+ return filterCriteria.some((filter) => {
6
+ const dataValue = dataItem[filter.field] as unknown as string;
7
+ const filterValue = filter.value;
8
+ return dataValue === filterValue;
13
9
  });
10
+ });
14
11
  };