@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,43 +1,40 @@
1
1
  import { WfoQueryParams, getUrlWithQueryParams } from './getQueryParams';
2
2
 
3
3
  describe('getUrlWithQueryParams', () => {
4
- it('should build URL with one query param', () => {
5
- const url = '/api/list';
6
- const params = { [WfoQueryParams.ACTIVE_TAB]: 'ALL' };
7
- expect(getUrlWithQueryParams(url, params)).toBe(
8
- '/api/list?activeTab=ALL',
9
- );
10
- });
4
+ it('should build URL with one query param', () => {
5
+ const url = '/api/list';
6
+ const params = { [WfoQueryParams.ACTIVE_TAB]: 'ALL' };
7
+ expect(getUrlWithQueryParams(url, params)).toBe('/api/list?activeTab=ALL');
8
+ });
11
9
 
12
- it('should build URL with multiple params', () => {
13
- const url = '/api/list';
14
- const params = {
15
- [WfoQueryParams.ACTIVE_TAB]: 'ALL',
16
- [WfoQueryParams.PAGE]: '2',
17
- [WfoQueryParams.SORT_BY]: 'field-startDate_order-ASC',
18
- };
19
- const result = getUrlWithQueryParams(url, params);
10
+ it('should build URL with multiple params', () => {
11
+ const url = '/api/list';
12
+ const params = {
13
+ [WfoQueryParams.ACTIVE_TAB]: 'ALL',
14
+ [WfoQueryParams.PAGE]: '2',
15
+ [WfoQueryParams.SORT_BY]: 'field-startDate_order-ASC',
16
+ };
17
+ const result = getUrlWithQueryParams(url, params);
20
18
 
21
- expect(result).toContain('/api/list?');
22
- expect(result).toContain('activeTab=ALL');
23
- expect(result).toContain('page=2');
24
- expect(result).toContain('sortBy=field-startDate_order-ASC');
25
- });
19
+ expect(result).toContain('/api/list?');
20
+ expect(result).toContain('activeTab=ALL');
21
+ expect(result).toContain('page=2');
22
+ expect(result).toContain('sortBy=field-startDate_order-ASC');
23
+ });
26
24
 
27
- it('should encode params properly', () => {
28
- const url = '/items';
29
- const params = {
30
- [WfoQueryParams.QUERY_STRING]:
31
- 'status:(provisioning|active) insync:false',
32
- };
25
+ it('should encode params properly', () => {
26
+ const url = '/items';
27
+ const params = {
28
+ [WfoQueryParams.QUERY_STRING]: 'status:(provisioning|active) insync:false',
29
+ };
33
30
 
34
- expect(getUrlWithQueryParams(url, params)).toBe(
35
- '/items?queryString=status%3A%28provisioning%7Cactive%29+insync%3Afalse',
36
- );
37
- });
31
+ expect(getUrlWithQueryParams(url, params)).toBe(
32
+ '/items?queryString=status%3A%28provisioning%7Cactive%29+insync%3Afalse',
33
+ );
34
+ });
38
35
 
39
- it('should handle empty params object', () => {
40
- const url = '/no-params';
41
- expect(getUrlWithQueryParams(url, {})).toBe('/no-params?');
42
- });
36
+ it('should handle empty params object', () => {
37
+ const url = '/no-params';
38
+ expect(getUrlWithQueryParams(url, {})).toBe('/no-params?');
39
+ });
43
40
  });
@@ -1,16 +1,13 @@
1
1
  export enum WfoQueryParams {
2
- ACTIVE_TAB = 'activeTab',
3
- PAGE = 'page',
4
- PAGE_SIZE = 'pageSize',
5
- SORT_BY = 'sortBy',
6
- FILTER_BY = 'filterBy',
7
- QUERY_STRING = 'queryString',
2
+ ACTIVE_TAB = 'activeTab',
3
+ PAGE = 'page',
4
+ PAGE_SIZE = 'pageSize',
5
+ SORT_BY = 'sortBy',
6
+ FILTER_BY = 'filterBy',
7
+ QUERY_STRING = 'queryString',
8
8
  }
9
9
 
10
- export const getUrlWithQueryParams = (
11
- url: string,
12
- params: Partial<Record<WfoQueryParams, string>>,
13
- ) => {
14
- const queryString = new URLSearchParams(params).toString() ?? '';
15
- return `${url}?${queryString}`;
10
+ export const getUrlWithQueryParams = (url: string, params: Partial<Record<WfoQueryParams, string>>) => {
11
+ const queryString = new URLSearchParams(params).toString() ?? '';
12
+ return `${url}?${queryString}`;
16
13
  };
@@ -1,9 +1,9 @@
1
1
  import { getQueryUrl } from './getQueryUrl';
2
2
 
3
3
  describe('getQueryUrl', () => {
4
- it('returns a url with the specified query', () => {
5
- const result = getQueryUrl('/sample-page/sub-page', 'testQuery');
4
+ it('returns a url with the specified query', () => {
5
+ const result = getQueryUrl('/sample-page/sub-page', 'testQuery');
6
6
 
7
- expect(result).toEqual('/sample-page/sub-page?queryString=testQuery');
8
- });
7
+ expect(result).toEqual('/sample-page/sub-page?queryString=testQuery');
8
+ });
9
9
  });
@@ -1,8 +1,8 @@
1
1
  import { DataDisplayParams } from '@/hooks';
2
2
 
3
3
  export const getQueryUrl = (pageUrl: string, queryString: string) => {
4
- // Prevents silently breaking functionality when the DataDisplayParams type changes
5
- const queryKey: keyof DataDisplayParams<object> = 'queryString';
4
+ // Prevents silently breaking functionality when the DataDisplayParams type changes
5
+ const queryKey: keyof DataDisplayParams<object> = 'queryString';
6
6
 
7
- return `${pageUrl}?${queryKey}=${queryString}`;
7
+ return `${pageUrl}?${queryKey}=${queryString}`;
8
8
  };
@@ -1,19 +1,19 @@
1
1
  import { getQueryVariablesForExport } from './getQueryVariablesForExport';
2
2
 
3
3
  describe('getQueryVariablesForExport', () => {
4
- it('returns queryVariables with first and after property set to 1000 and 0', () => {
5
- const queryVariables = {
6
- first: 10,
7
- after: 20,
8
- otherField: 'test',
9
- };
4
+ it('returns queryVariables with first and after property set to 1000 and 0', () => {
5
+ const queryVariables = {
6
+ first: 10,
7
+ after: 20,
8
+ otherField: 'test',
9
+ };
10
10
 
11
- const result = getQueryVariablesForExport(queryVariables);
11
+ const result = getQueryVariablesForExport(queryVariables);
12
12
 
13
- expect(result).toEqual({
14
- first: 1000,
15
- after: 0,
16
- otherField: 'test',
17
- });
13
+ expect(result).toEqual({
14
+ first: 1000,
15
+ after: 0,
16
+ otherField: 'test',
18
17
  });
18
+ });
19
19
  });
@@ -2,10 +2,8 @@ import type { GraphqlQueryVariables } from '@/types';
2
2
 
3
3
  import { MAXIMUM_ITEMS_FOR_BULK_FETCHING } from '../configuration/constants';
4
4
 
5
- export const getQueryVariablesForExport = <T extends object>(
6
- queryVariables: GraphqlQueryVariables<T>,
7
- ) => ({
8
- ...queryVariables,
9
- first: MAXIMUM_ITEMS_FOR_BULK_FETCHING,
10
- after: 0,
5
+ export const getQueryVariablesForExport = <T extends object>(queryVariables: GraphqlQueryVariables<T>) => ({
6
+ ...queryVariables,
7
+ first: MAXIMUM_ITEMS_FOR_BULK_FETCHING,
8
+ after: 0,
11
9
  });
@@ -1,15 +1,15 @@
1
1
  export const getStatusBadgeColor = (status: string) => {
2
- const statusColors = {
3
- terminated: 'danger',
4
- active: 'success',
5
- provisioning: 'primary',
6
- migrating: 'primary',
7
- initial: 'danger',
8
- };
9
- // eslint-disable-next-line no-prototype-builtins
10
- return statusColors.hasOwnProperty(status)
11
- ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment
12
- // @ts-ignore
13
- statusColors[status]
14
- : 'primary';
2
+ const statusColors = {
3
+ terminated: 'danger',
4
+ active: 'success',
5
+ provisioning: 'primary',
6
+ migrating: 'primary',
7
+ initial: 'danger',
8
+ };
9
+ // eslint-disable-next-line no-prototype-builtins
10
+ return statusColors.hasOwnProperty(status) ?
11
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
12
+ // @ts-ignore
13
+ statusColors[status]
14
+ : 'primary';
15
15
  };
@@ -2,27 +2,27 @@ import { ToastTypes } from '../types';
2
2
  import { getToastMessage } from './getToastMessage';
3
3
 
4
4
  describe('getToastMessage()', () => {
5
- it('returns message object with title, text and passed in type', () => {
6
- const result = getToastMessage(ToastTypes.ERROR, 'text', 'title');
7
- expect(result.title).toBe('title');
8
- expect(result.text).toBe('text');
9
- });
5
+ it('returns message object with title, text and passed in type', () => {
6
+ const result = getToastMessage(ToastTypes.ERROR, 'text', 'title');
7
+ expect(result.title).toBe('title');
8
+ expect(result.text).toBe('text');
9
+ });
10
10
 
11
- it('returns message object with random integer id', () => {
12
- const result = getToastMessage(ToastTypes.ERROR, 'text', 'title');
13
- const result2 = getToastMessage(ToastTypes.ERROR, 'text', 'title');
14
- expect(result.id).not.toBe(result2.id);
15
- });
11
+ it('returns message object with random integer id', () => {
12
+ const result = getToastMessage(ToastTypes.ERROR, 'text', 'title');
13
+ const result2 = getToastMessage(ToastTypes.ERROR, 'text', 'title');
14
+ expect(result.id).not.toBe(result2.id);
15
+ });
16
16
 
17
- it('returns message object with ToastTypes.Error to color danger and iconType warning', () => {
18
- const result = getToastMessage(ToastTypes.ERROR, 'text', 'title');
19
- expect(result.color).toBe('danger');
20
- expect(result.iconType).toBe('warning');
21
- });
17
+ it('returns message object with ToastTypes.Error to color danger and iconType warning', () => {
18
+ const result = getToastMessage(ToastTypes.ERROR, 'text', 'title');
19
+ expect(result.color).toBe('danger');
20
+ expect(result.iconType).toBe('warning');
21
+ });
22
22
 
23
- it('returns message object with ToastTypes.Error to color success and iconType check', () => {
24
- const result = getToastMessage(ToastTypes.SUCCESS, 'text', 'title');
25
- expect(result.color).toBe('success');
26
- expect(result.iconType).toBe('check');
27
- });
23
+ it('returns message object with ToastTypes.Error to color success and iconType check', () => {
24
+ const result = getToastMessage(ToastTypes.SUCCESS, 'text', 'title');
25
+ expect(result.color).toBe('success');
26
+ expect(result.iconType).toBe('check');
27
+ });
28
28
  });
@@ -3,35 +3,31 @@ import { ReactNode } from 'react';
3
3
  import { ToastTypes } from '@/types';
4
4
  import type { Toast } from '@/types';
5
5
 
6
- export const getToastMessage = (
7
- type: ToastTypes,
8
- text: ReactNode,
9
- title: string,
10
- ) => {
11
- const getTypeProps = (type: ToastTypes): Partial<Toast> => {
12
- switch (type) {
13
- case ToastTypes.ERROR:
14
- return {
15
- color: 'danger',
16
- iconType: 'warning',
17
- };
18
- case ToastTypes.SUCCESS:
19
- return {
20
- color: 'success',
21
- iconType: 'check',
22
- };
23
- }
24
- };
6
+ export const getToastMessage = (type: ToastTypes, text: ReactNode, title: string) => {
7
+ const getTypeProps = (type: ToastTypes): Partial<Toast> => {
8
+ switch (type) {
9
+ case ToastTypes.ERROR:
10
+ return {
11
+ color: 'danger',
12
+ iconType: 'warning',
13
+ };
14
+ case ToastTypes.SUCCESS:
15
+ return {
16
+ color: 'success',
17
+ iconType: 'check',
18
+ };
19
+ }
20
+ };
25
21
 
26
- const id = Math.floor(Math.random() * 10000000).toString();
27
- const typeProps = getTypeProps(type);
22
+ const id = Math.floor(Math.random() * 10000000).toString();
23
+ const typeProps = getTypeProps(type);
28
24
 
29
- const toast: Toast = {
30
- id,
31
- text,
32
- title,
33
- ...typeProps,
34
- };
25
+ const toast: Toast = {
26
+ id,
27
+ text,
28
+ title,
29
+ ...typeProps,
30
+ };
35
31
 
36
- return toast;
32
+ return toast;
37
33
  };
@@ -1,20 +1,20 @@
1
1
  import { getTokenName } from './getTokenName';
2
2
 
3
3
  describe('getTokenName()', () => {
4
- it('returns "tokenNamespace" when name is "Node"', () => {
5
- const result = getTokenName('Node');
6
- expect(result).toEqual('tokenNamespace');
7
- });
8
- it('returns "tokenEnumMember" when name is "IP BGP Service Settings"', () => {
9
- const result = getTokenName('IP BGP Service Settings');
10
- expect(result).toEqual('tokenEnumMember');
11
- });
12
- it('returns "tokenIP" when name is "IP_PREFIX"', () => {
13
- const result = getTokenName('IP_PREFIX');
14
- expect(result).toEqual('tokenIP');
15
- });
16
- it('returns "tokenConstant" when name does not exists', () => {
17
- const result = getTokenName('NOT_EXISTING_NAME');
18
- expect(result).toEqual('tokenConstant');
19
- });
4
+ it('returns "tokenNamespace" when name is "Node"', () => {
5
+ const result = getTokenName('Node');
6
+ expect(result).toEqual('tokenNamespace');
7
+ });
8
+ it('returns "tokenEnumMember" when name is "IP BGP Service Settings"', () => {
9
+ const result = getTokenName('IP BGP Service Settings');
10
+ expect(result).toEqual('tokenEnumMember');
11
+ });
12
+ it('returns "tokenIP" when name is "IP_PREFIX"', () => {
13
+ const result = getTokenName('IP_PREFIX');
14
+ expect(result).toEqual('tokenIP');
15
+ });
16
+ it('returns "tokenConstant" when name does not exists', () => {
17
+ const result = getTokenName('NOT_EXISTING_NAME');
18
+ expect(result).toEqual('tokenConstant');
19
+ });
20
20
  });
@@ -1,12 +1,12 @@
1
1
  export function getTokenName(name: string | number | boolean): string {
2
- if (typeof name === 'boolean') return 'tokenConstant';
3
- const icons: { [key: string]: string } = {
4
- Node: 'tokenNamespace',
5
- 'IP BGP Service Settings': 'tokenEnumMember',
6
- IP_PREFIX: 'tokenIP',
7
- };
8
- if (name in icons) {
9
- return icons[name];
10
- }
11
- return 'tokenConstant';
2
+ if (typeof name === 'boolean') return 'tokenConstant';
3
+ const icons: { [key: string]: string } = {
4
+ Node: 'tokenNamespace',
5
+ 'IP BGP Service Settings': 'tokenEnumMember',
6
+ IP_PREFIX: 'tokenIP',
7
+ };
8
+ if (name in icons) {
9
+ return icons[name];
10
+ }
11
+ return 'tokenConstant';
12
12
  }
@@ -1,19 +1,19 @@
1
1
  import { getTypedFieldFromObject } from './getTypedFieldFromObject';
2
2
 
3
3
  describe('getTypedFieldFromObject', () => {
4
- const test_object = {
5
- name: 'test',
6
- description: 'test description',
7
- number: 1,
8
- };
4
+ const test_object = {
5
+ name: 'test',
6
+ description: 'test description',
7
+ number: 1,
8
+ };
9
9
 
10
- it('should get field from object when it exists', () => {
11
- const field = getTypedFieldFromObject('name', test_object);
12
- expect(field).toEqual('name');
13
- });
10
+ it('should get field from object when it exists', () => {
11
+ const field = getTypedFieldFromObject('name', test_object);
12
+ expect(field).toEqual('name');
13
+ });
14
14
 
15
- it('should return null when field does not exist in object', () => {
16
- const field_value = getTypedFieldFromObject('test', test_object);
17
- expect(field_value).toBeNull();
18
- });
15
+ it('should return null when field does not exist in object', () => {
16
+ const field_value = getTypedFieldFromObject('test', test_object);
17
+ expect(field_value).toBeNull();
18
+ });
19
19
  });
@@ -1,9 +1,6 @@
1
- export function getTypedFieldFromObject<T extends object>(
2
- field: string | undefined,
3
- object: T,
4
- ): null | keyof T {
5
- if (field === undefined || !Object.keys(object).includes(field)) {
6
- return null;
7
- }
8
- return field as keyof T;
1
+ export function getTypedFieldFromObject<T extends object>(field: string | undefined, object: T): null | keyof T {
2
+ if (field === undefined || !Object.keys(object).includes(field)) {
3
+ return null;
4
+ }
5
+ return field as keyof T;
9
6
  }
@@ -1,19 +1,19 @@
1
1
  import { onlyUnique } from './onlyUnique';
2
2
 
3
3
  describe('onlyUnique()', () => {
4
- it('returns array as array with only unique values', () => {
5
- const test1 = ['SP', 'SP', 'FW', 'SP', 'FW', 'LP'];
6
- const result = test1?.filter(onlyUnique);
7
- expect(result).toEqual(['SP', 'FW', 'LP']);
8
- });
9
- it('returns array as array with only single value', () => {
10
- const test2 = ['SP', 'SP', 'SP'];
11
- const result = test2?.filter(onlyUnique);
12
- expect(result).toEqual(['SP']);
13
- });
14
- it('returns array as empty array', () => {
15
- const test3 = [''];
16
- const result = test3?.filter(onlyUnique);
17
- expect(result).toEqual(['']);
18
- });
4
+ it('returns array as array with only unique values', () => {
5
+ const test1 = ['SP', 'SP', 'FW', 'SP', 'FW', 'LP'];
6
+ const result = test1?.filter(onlyUnique);
7
+ expect(result).toEqual(['SP', 'FW', 'LP']);
8
+ });
9
+ it('returns array as array with only single value', () => {
10
+ const test2 = ['SP', 'SP', 'SP'];
11
+ const result = test2?.filter(onlyUnique);
12
+ expect(result).toEqual(['SP']);
13
+ });
14
+ it('returns array as empty array', () => {
15
+ const test3 = [''];
16
+ const result = test3?.filter(onlyUnique);
17
+ expect(result).toEqual(['']);
18
+ });
19
19
  });
@@ -1,3 +1,3 @@
1
1
  export const onlyUnique = (value: string, index: number, array: string[]) => {
2
- return array.indexOf(value) === index;
2
+ return array.indexOf(value) === index;
3
3
  };
@@ -1,99 +1,86 @@
1
1
  import { toOptionalObjectProperty } from 'pydantic-forms';
2
2
 
3
- import {
4
- optionalArrayMapper,
5
- toOptionalArrayEntries,
6
- toOptionalArrayEntry,
7
- } from './optionalArray';
3
+ import { optionalArrayMapper, toOptionalArrayEntries, toOptionalArrayEntry } from './optionalArray';
8
4
 
9
5
  describe('toOptionalArrayEntry', () => {
10
- const testInput = { testField: 'testValue' };
6
+ const testInput = { testField: 'testValue' };
11
7
 
12
- it('returns an array with the data if the condition is true', () => {
13
- const result = toOptionalArrayEntry(testInput, true);
8
+ it('returns an array with the data if the condition is true', () => {
9
+ const result = toOptionalArrayEntry(testInput, true);
14
10
 
15
- expect(result).toEqual([testInput]);
16
- });
11
+ expect(result).toEqual([testInput]);
12
+ });
17
13
 
18
- it('returns an empty array if the condition is false', () => {
19
- const result = toOptionalArrayEntry(testInput, false);
14
+ it('returns an empty array if the condition is false', () => {
15
+ const result = toOptionalArrayEntry(testInput, false);
20
16
 
21
- expect(result).toEqual([]);
22
- });
17
+ expect(result).toEqual([]);
18
+ });
23
19
  });
24
20
 
25
21
  describe('toOptionalArrayEntries', () => {
26
- test('returns data as an array when condition is true and data is not an array', () => {
27
- const result = toOptionalArrayEntries('singleItem', true);
28
- expect(result).toEqual(['singleItem']);
29
- });
30
-
31
- test('returns data as it is when condition is true and data is already an array', () => {
32
- const result = toOptionalArrayEntries(['item1', 'item2'], true);
33
- expect(result).toEqual(['item1', 'item2']);
34
- });
35
-
36
- test('returns an empty array when condition is false regardless of data type', () => {
37
- const resultWithSingleItem = toOptionalArrayEntries(
38
- 'singleItem',
39
- false,
40
- );
41
- const resultWithArray = toOptionalArrayEntries(
42
- ['item1', 'item2'],
43
- false,
44
- );
45
-
46
- expect(resultWithSingleItem).toEqual([]);
47
- expect(resultWithArray).toEqual([]);
48
- });
49
-
50
- test('does not mutate the original data', () => {
51
- const singleItem = 'singleItem';
52
- const arrayData = ['item1', 'item2'];
53
- toOptionalArrayEntries(singleItem, true);
54
- toOptionalArrayEntries(arrayData, true);
55
-
56
- expect(singleItem).toBe('singleItem');
57
- expect(arrayData).toEqual(['item1', 'item2']);
58
- });
22
+ test('returns data as an array when condition is true and data is not an array', () => {
23
+ const result = toOptionalArrayEntries('singleItem', true);
24
+ expect(result).toEqual(['singleItem']);
25
+ });
26
+
27
+ test('returns data as it is when condition is true and data is already an array', () => {
28
+ const result = toOptionalArrayEntries(['item1', 'item2'], true);
29
+ expect(result).toEqual(['item1', 'item2']);
30
+ });
31
+
32
+ test('returns an empty array when condition is false regardless of data type', () => {
33
+ const resultWithSingleItem = toOptionalArrayEntries('singleItem', false);
34
+ const resultWithArray = toOptionalArrayEntries(['item1', 'item2'], false);
35
+
36
+ expect(resultWithSingleItem).toEqual([]);
37
+ expect(resultWithArray).toEqual([]);
38
+ });
39
+
40
+ test('does not mutate the original data', () => {
41
+ const singleItem = 'singleItem';
42
+ const arrayData = ['item1', 'item2'];
43
+ toOptionalArrayEntries(singleItem, true);
44
+ toOptionalArrayEntries(arrayData, true);
45
+
46
+ expect(singleItem).toBe('singleItem');
47
+ expect(arrayData).toEqual(['item1', 'item2']);
48
+ });
59
49
  });
60
50
 
61
51
  describe('optionalArrayMapper', () => {
62
- it('applies the mapper when data is defined', () => {
63
- const testData = [{ testField: 'testValue' }];
52
+ it('applies the mapper when data is defined', () => {
53
+ const testData = [{ testField: 'testValue' }];
64
54
 
65
- const result = optionalArrayMapper(testData, () => 'mappedValue');
55
+ const result = optionalArrayMapper(testData, () => 'mappedValue');
66
56
 
67
- expect(result).toEqual(['mappedValue']);
68
- });
69
- it('returns an empty array when data is undefined', () => {
70
- const result = optionalArrayMapper(undefined, () => 'test');
57
+ expect(result).toEqual(['mappedValue']);
58
+ });
59
+ it('returns an empty array when data is undefined', () => {
60
+ const result = optionalArrayMapper(undefined, () => 'test');
71
61
 
72
- expect(result).toEqual([]);
73
- });
62
+ expect(result).toEqual([]);
63
+ });
74
64
  });
75
65
 
76
66
  describe('toOptionalObjectProperty', () => {
77
- const flatSchema = { const: 'CONST_VAL' };
78
- function withSpread(addConstValue: boolean) {
79
- return {
80
- ...(addConstValue && { const: flatSchema.const }),
81
- };
82
- }
83
- function withHelper(addConstValue: boolean) {
84
- return {
85
- ...toOptionalObjectProperty(
86
- { const: flatSchema.const },
87
- addConstValue,
88
- ),
89
- };
90
- }
91
- it('adds const when addConstValue = true', () => {
92
- expect(withSpread(true)).toEqual(withHelper(true));
93
- expect(withSpread(true)).toHaveProperty('const', 'CONST_VAL');
94
- });
95
- it('omits const when addConstValue = false', () => {
96
- expect(withSpread(false)).toEqual(withHelper(false));
97
- expect(withSpread(false)).not.toHaveProperty('const');
98
- });
67
+ const flatSchema = { const: 'CONST_VAL' };
68
+ function withSpread(addConstValue: boolean) {
69
+ return {
70
+ ...(addConstValue && { const: flatSchema.const }),
71
+ };
72
+ }
73
+ function withHelper(addConstValue: boolean) {
74
+ return {
75
+ ...toOptionalObjectProperty({ const: flatSchema.const }, addConstValue),
76
+ };
77
+ }
78
+ it('adds const when addConstValue = true', () => {
79
+ expect(withSpread(true)).toEqual(withHelper(true));
80
+ expect(withSpread(true)).toHaveProperty('const', 'CONST_VAL');
81
+ });
82
+ it('omits const when addConstValue = false', () => {
83
+ expect(withSpread(false)).toEqual(withHelper(false));
84
+ expect(withSpread(false)).not.toHaveProperty('const');
85
+ });
99
86
  });