@openshift-assisted/ui-lib 2.15.3-cim → 2.16.1-cim

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 (627) hide show
  1. package/build/@types/cim/components/Agent/tableUtils.d.ts +1 -1
  2. package/build/@types/cim/components/Agent/tableUtils.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/{ACMClusterDeploymentDetailsStep.d.ts → clusterDetails/ACMClusterDeploymentDetailsStep.d.ts} +5 -5
  5. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.d.ts.map +1 -0
  6. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentDetailsForm.d.ts → clusterDetails/ClusterDeploymentDetailsForm.d.ts} +4 -4
  7. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.d.ts.map +1 -0
  8. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentDetailsStep.d.ts → clusterDetails/ClusterDeploymentDetailsStep.d.ts} +5 -5
  9. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.d.ts.map +1 -0
  10. package/build/@types/cim/components/ClusterDeployment/{ClusterDetailsFormFields.d.ts → clusterDetails/ClusterDetailsFormFields.d.ts} +1 -1
  11. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts.map +1 -0
  12. package/build/@types/cim/components/ClusterDeployment/clusterDetails/index.d.ts +5 -0
  13. package/build/@types/cim/components/ClusterDeployment/clusterDetails/index.d.ts.map +1 -0
  14. package/build/@types/cim/components/ClusterDeployment/components/AdditionalNTPSourcesDialogToggle.d.ts.map +1 -0
  15. package/build/@types/cim/components/ClusterDeployment/components/index.d.ts +2 -0
  16. package/build/@types/cim/components/ClusterDeployment/components/index.d.ts.map +1 -0
  17. package/build/@types/cim/components/ClusterDeployment/constants.d.ts +1 -0
  18. package/build/@types/cim/components/ClusterDeployment/constants.d.ts.map +1 -1
  19. package/build/@types/cim/components/ClusterDeployment/customManifests/ClusterDeploymentCustomManifestsStep.d.ts +6 -0
  20. package/build/@types/cim/components/ClusterDeployment/customManifests/ClusterDeploymentCustomManifestsStep.d.ts.map +1 -0
  21. package/build/@types/cim/components/ClusterDeployment/customManifests/ConfigMapDetail.d.ts +10 -0
  22. package/build/@types/cim/components/ClusterDeployment/customManifests/ConfigMapDetail.d.ts.map +1 -0
  23. package/build/@types/cim/components/ClusterDeployment/customManifests/ConfigMapForm.d.ts +12 -0
  24. package/build/@types/cim/components/ClusterDeployment/customManifests/ConfigMapForm.d.ts.map +1 -0
  25. package/build/@types/cim/components/ClusterDeployment/customManifests/index.d.ts +2 -0
  26. package/build/@types/cim/components/ClusterDeployment/customManifests/index.d.ts.map +1 -0
  27. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentHostDiscoveryTable.d.ts → hostDiscovery/ClusterDeploymentHostDiscoveryTable.d.ts} +1 -1
  28. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.d.ts.map +1 -0
  29. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentHostsDiscovery.d.ts → hostDiscovery/ClusterDeploymentHostsDiscovery.d.ts} +1 -1
  30. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscovery.d.ts.map +1 -0
  31. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.d.ts +4 -0
  32. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.d.ts.map +1 -0
  33. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/index.d.ts +2 -0
  34. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/index.d.ts.map +1 -0
  35. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentHostSelectionStep.d.ts → hostSelection/ClusterDeploymentHostSelectionStep.d.ts} +4 -4
  36. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.d.ts.map +1 -0
  37. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelection.d.ts → hostSelection/ClusterDeploymentHostsSelection.d.ts} +1 -1
  38. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostsSelection.d.ts.map +1 -0
  39. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelectionAdvanced.d.ts → hostSelection/ClusterDeploymentHostsSelectionAdvanced.d.ts} +6 -6
  40. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostsSelectionAdvanced.d.ts.map +1 -0
  41. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelectionBasic.d.ts → hostSelection/ClusterDeploymentHostsSelectionBasic.d.ts} +1 -1
  42. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostsSelectionBasic.d.ts.map +1 -0
  43. package/build/@types/cim/components/ClusterDeployment/hostSelection/index.d.ts +3 -0
  44. package/build/@types/cim/components/ClusterDeployment/hostSelection/index.d.ts.map +1 -0
  45. package/build/@types/cim/components/ClusterDeployment/index.d.ts +2 -2
  46. package/build/@types/cim/components/ClusterDeployment/index.d.ts.map +1 -1
  47. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentHostsNetworkTable.d.ts → networking/ClusterDeploymentHostsNetworkTable.d.ts} +2 -2
  48. package/build/@types/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.d.ts.map +1 -0
  49. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentNetworkingForm.d.ts → networking/ClusterDeploymentNetworkingForm.d.ts} +2 -4
  50. package/build/@types/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.d.ts.map +1 -0
  51. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentNetworkingStep.d.ts → networking/ClusterDeploymentNetworkingStep.d.ts} +4 -4
  52. package/build/@types/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.d.ts.map +1 -0
  53. package/build/@types/cim/components/ClusterDeployment/networking/index.d.ts +2 -0
  54. package/build/@types/cim/components/ClusterDeployment/networking/index.d.ts.map +1 -0
  55. package/build/@types/cim/components/ClusterDeployment/{ClusterDeploymentReviewStep.d.ts → review/ClusterDeploymentReviewStep.d.ts} +3 -3
  56. package/build/@types/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.d.ts.map +1 -0
  57. package/build/@types/cim/components/ClusterDeployment/review/ReviewConfigMapsTable.d.ts +6 -0
  58. package/build/@types/cim/components/ClusterDeployment/review/ReviewConfigMapsTable.d.ts.map +1 -0
  59. package/build/@types/cim/components/ClusterDeployment/review/index.d.ts +2 -0
  60. package/build/@types/cim/components/ClusterDeployment/review/index.d.ts.map +1 -0
  61. package/build/@types/cim/components/ClusterDeployment/types.d.ts +1 -1
  62. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  63. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +2 -2
  64. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  65. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.d.ts.map +1 -1
  66. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts +1 -1
  67. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts.map +1 -1
  68. package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.d.ts.map +1 -1
  69. package/build/@types/cim/components/Hypershift/forms/NodePoolAgentsForm.d.ts.map +1 -1
  70. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  71. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  72. package/build/@types/cim/hooks/index.d.ts +2 -0
  73. package/build/@types/cim/hooks/index.d.ts.map +1 -0
  74. package/build/@types/cim/hooks/types.d.ts +4 -0
  75. package/build/@types/cim/hooks/types.d.ts.map +1 -0
  76. package/build/@types/cim/hooks/useConfigMaps.d.ts +4 -0
  77. package/build/@types/cim/hooks/useConfigMaps.d.ts.map +1 -0
  78. package/build/@types/cim/hooks/useK8sWatchResource.d.ts +8 -0
  79. package/build/@types/cim/hooks/useK8sWatchResource.d.ts.map +1 -0
  80. package/build/@types/cim/types/index.d.ts +1 -0
  81. package/build/@types/cim/types/index.d.ts.map +1 -1
  82. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts +4 -0
  83. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts.map +1 -1
  84. package/build/@types/cim/types/models.d.ts +3 -0
  85. package/build/@types/cim/types/models.d.ts.map +1 -0
  86. package/build/@types/cim/utils.d.ts +2 -0
  87. package/build/@types/cim/utils.d.ts.map +1 -1
  88. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts +2 -1
  89. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  90. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -1
  91. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.d.ts +1 -0
  92. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.d.ts.map +1 -1
  93. package/build/@types/common/components/clusterConfiguration/ExternalPlatformsDropdown.d.ts +14 -0
  94. package/build/@types/common/components/clusterConfiguration/ExternalPlatformsDropdown.d.ts.map +1 -0
  95. package/build/@types/common/components/clusterConfiguration/OcmTNADisclaimer.d.ts +4 -0
  96. package/build/@types/common/components/clusterConfiguration/OcmTNADisclaimer.d.ts.map +1 -0
  97. package/build/@types/common/components/clusterConfiguration/index.d.ts +1 -2
  98. package/build/@types/common/components/clusterConfiguration/index.d.ts.map +1 -1
  99. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts +1 -4
  100. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  101. package/build/@types/common/components/clusterWizard/types.d.ts +2 -4
  102. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  103. package/build/@types/common/components/hosts/DiskRole.d.ts.map +1 -1
  104. package/build/@types/common/components/hosts/TableToolbar.d.ts.map +1 -1
  105. package/build/@types/common/components/hosts/types.d.ts +1 -1
  106. package/build/@types/common/components/hosts/types.d.ts.map +1 -1
  107. package/build/@types/common/components/hosts/utils.d.ts +1 -1
  108. package/build/@types/common/components/hosts/utils.d.ts.map +1 -1
  109. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts +1 -1
  110. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts.map +1 -1
  111. package/build/@types/common/components/operators/operatorDescriptions.d.ts +27 -0
  112. package/build/@types/common/components/operators/operatorDescriptions.d.ts.map +1 -0
  113. package/build/@types/common/components/operators/operatorSpecs.d.ts +34 -4
  114. package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
  115. package/build/@types/common/components/ui/ClusterEventsToolbar.d.ts.map +1 -1
  116. package/build/@types/common/components/ui/OpenShiftSelectWithSearch.d.ts +1 -2
  117. package/build/@types/common/components/ui/OpenShiftSelectWithSearch.d.ts.map +1 -1
  118. package/build/@types/common/components/ui/OpenShiftVersionDropdown.d.ts +3 -3
  119. package/build/@types/common/components/ui/OpenShiftVersionDropdown.d.ts.map +1 -1
  120. package/build/@types/common/components/ui/OpenShiftVersionModal.d.ts.map +1 -1
  121. package/build/@types/common/components/ui/SimpleDropdown.d.ts.map +1 -1
  122. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts +16 -0
  123. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts.map +1 -0
  124. package/build/@types/common/components/ui/formik/TextAreaField.d.ts.map +1 -1
  125. package/build/@types/common/components/ui/formik/index.d.ts +1 -1
  126. package/build/@types/common/components/ui/formik/index.d.ts.map +1 -1
  127. package/build/@types/common/config/constants.d.ts +19 -2
  128. package/build/@types/common/config/constants.d.ts.map +1 -1
  129. package/build/@types/common/config/docs_links.d.ts +9 -6
  130. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  131. package/build/@types/common/selectors/clusterSelectors.d.ts +1 -1
  132. package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
  133. package/build/@types/common/types/cpuArchitecture.d.ts.map +1 -1
  134. package/build/@types/common/types/ui-settings.d.ts +1 -0
  135. package/build/@types/common/types/ui-settings.d.ts.map +1 -1
  136. package/build/@types/common/utils.d.ts +9 -0
  137. package/build/@types/common/utils.d.ts.map +1 -1
  138. package/build/@types/ocm/components/Routes.d.ts +7 -4
  139. package/build/@types/ocm/components/Routes.d.ts.map +1 -1
  140. package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts +2 -0
  141. package/build/@types/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  142. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  143. package/build/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersion.d.ts +3 -3
  144. package/build/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersion.d.ts.map +1 -1
  145. package/build/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.d.ts.map +1 -1
  146. package/build/@types/ocm/components/clusterConfiguration/OcmSNODisclaimer.d.ts +1 -4
  147. package/build/@types/ocm/components/clusterConfiguration/OcmSNODisclaimer.d.ts.map +1 -1
  148. package/build/@types/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.d.ts +1 -1
  149. package/build/@types/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.d.ts.map +1 -1
  150. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.d.ts.map +1 -1
  151. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  152. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +1 -1
  153. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts +2 -1
  154. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts.map +1 -1
  155. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -1
  156. package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -1
  157. package/build/@types/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.d.ts.map +1 -1
  158. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.d.ts.map +1 -1
  159. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  160. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +0 -1
  161. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  162. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +4 -2
  163. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  164. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  165. package/build/@types/ocm/components/clusterWizard/CredentialsDownload.d.ts.map +1 -1
  166. package/build/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts.map +1 -1
  167. package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
  168. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts +2 -1
  169. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -1
  170. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts +2 -1
  171. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -1
  172. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  173. package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
  174. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts +4 -0
  175. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -0
  176. package/build/@types/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.d.ts +6 -0
  177. package/build/@types/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.d.ts.map +1 -0
  178. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts +4 -0
  179. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts.map +1 -0
  180. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +3 -2
  181. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  182. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts.map +1 -1
  183. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  184. package/build/@types/ocm/components/clusters/Clusters.d.ts.map +1 -1
  185. package/build/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -1
  186. package/build/@types/ocm/components/clusters/clusterPolling.d.ts.map +1 -1
  187. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
  188. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts +1 -1
  189. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
  190. package/build/@types/ocm/services/DiskEncryptionService.d.ts +1 -1
  191. package/build/@types/ocm/services/DiskEncryptionService.d.ts.map +1 -1
  192. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts.map +1 -1
  193. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +2 -2
  194. package/build/cjs/cim/components/Agent/AgentStatus.js +2 -2
  195. package/build/cjs/cim/components/Agent/AgentStatus.js.map +1 -1
  196. package/build/cjs/cim/components/Agent/tableUtils.js.map +1 -1
  197. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +12 -9
  198. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  199. package/build/cjs/cim/components/ClusterDeployment/ScaleUpForm.js +2 -2
  200. package/build/cjs/cim/components/ClusterDeployment/ScaleUpForm.js.map +1 -1
  201. package/build/cjs/cim/components/ClusterDeployment/{ACMClusterDeploymentDetailsStep.js → clusterDetails/ACMClusterDeploymentDetailsStep.js} +6 -5
  202. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.js.map +1 -0
  203. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentDetailsForm.js → clusterDetails/ClusterDeploymentDetailsForm.js} +8 -8
  204. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js.map +1 -0
  205. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentDetailsStep.js → clusterDetails/ClusterDeploymentDetailsStep.js} +9 -12
  206. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.js.map +1 -0
  207. package/build/cjs/cim/components/ClusterDeployment/{ClusterDetailsFormFields.js → clusterDetails/ClusterDetailsFormFields.js} +24 -25
  208. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -0
  209. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/index.js +8 -0
  210. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/index.js.map +1 -0
  211. package/build/cjs/cim/components/ClusterDeployment/{AdditionalNTPSourcesDialogToggle.js → components/AdditionalNTPSourcesDialogToggle.js} +1 -1
  212. package/build/cjs/cim/components/ClusterDeployment/components/AdditionalNTPSourcesDialogToggle.js.map +1 -0
  213. package/build/cjs/cim/components/ClusterDeployment/components/index.js +5 -0
  214. package/build/cjs/cim/components/ClusterDeployment/components/index.js.map +1 -0
  215. package/build/cjs/cim/components/ClusterDeployment/constants.js +1 -0
  216. package/build/cjs/cim/components/ClusterDeployment/constants.js.map +1 -1
  217. package/build/cjs/cim/components/ClusterDeployment/customManifests/ClusterDeploymentCustomManifestsStep.js +71 -0
  218. package/build/cjs/cim/components/ClusterDeployment/customManifests/ClusterDeploymentCustomManifestsStep.js.map +1 -0
  219. package/build/cjs/cim/components/ClusterDeployment/customManifests/ConfigMapDetail.js +64 -0
  220. package/build/cjs/cim/components/ClusterDeployment/customManifests/ConfigMapDetail.js.map +1 -0
  221. package/build/cjs/cim/components/ClusterDeployment/customManifests/ConfigMapForm.js +134 -0
  222. package/build/cjs/cim/components/ClusterDeployment/customManifests/ConfigMapForm.js.map +1 -0
  223. package/build/cjs/cim/components/ClusterDeployment/customManifests/index.js +5 -0
  224. package/build/cjs/cim/components/ClusterDeployment/customManifests/index.js.map +1 -0
  225. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostDiscoveryTable.js → hostDiscovery/ClusterDeploymentHostDiscoveryTable.js} +12 -12
  226. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js.map +1 -0
  227. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostsDiscovery.js → hostDiscovery/ClusterDeploymentHostsDiscovery.js} +6 -6
  228. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscovery.js.map +1 -0
  229. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostsDiscoveryStep.js → hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js} +10 -9
  230. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js.map +1 -0
  231. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/index.js +5 -0
  232. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/index.js.map +1 -0
  233. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostSelectionStep.js → hostSelection/ClusterDeploymentHostSelectionStep.js} +10 -10
  234. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -0
  235. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelection.js → hostSelection/ClusterDeploymentHostsSelection.js} +7 -7
  236. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostsSelection.js.map +1 -0
  237. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelectionAdvanced.js → hostSelection/ClusterDeploymentHostsSelectionAdvanced.js} +7 -6
  238. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostsSelectionAdvanced.js.map +1 -0
  239. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelectionBasic.js → hostSelection/ClusterDeploymentHostsSelectionBasic.js} +7 -7
  240. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostsSelectionBasic.js.map +1 -0
  241. package/build/cjs/cim/components/ClusterDeployment/hostSelection/index.js +6 -0
  242. package/build/cjs/cim/components/ClusterDeployment/hostSelection/index.js.map +1 -0
  243. package/build/cjs/cim/components/ClusterDeployment/index.js +4 -4
  244. package/build/cjs/cim/components/ClusterDeployment/index.js.map +1 -1
  245. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentHostsNetworkTable.js → networking/ClusterDeploymentHostsNetworkTable.js} +10 -10
  246. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.js.map +1 -0
  247. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentNetworkingForm.js → networking/ClusterDeploymentNetworkingForm.js} +6 -9
  248. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.js.map +1 -0
  249. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentNetworkingStep.js → networking/ClusterDeploymentNetworkingStep.js} +10 -10
  250. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.js.map +1 -0
  251. package/build/cjs/cim/components/ClusterDeployment/networking/index.js +5 -0
  252. package/build/cjs/cim/components/ClusterDeployment/networking/index.js.map +1 -0
  253. package/build/cjs/cim/components/ClusterDeployment/{ClusterDeploymentReviewStep.js → review/ClusterDeploymentReviewStep.js} +21 -16
  254. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js.map +1 -0
  255. package/build/cjs/cim/components/ClusterDeployment/review/ReviewConfigMapsTable.js +51 -0
  256. package/build/cjs/cim/components/ClusterDeployment/review/ReviewConfigMapsTable.js.map +1 -0
  257. package/build/cjs/cim/components/ClusterDeployment/review/index.js +5 -0
  258. package/build/cjs/cim/components/ClusterDeployment/review/index.js.map +1 -0
  259. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js +1 -2
  260. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
  261. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +1 -0
  262. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
  263. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js +7 -12
  264. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js.map +1 -1
  265. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.js +0 -28
  266. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.js.map +1 -1
  267. package/build/cjs/cim/components/Hypershift/forms/NodePoolAgentsForm.js +8 -3
  268. package/build/cjs/cim/components/Hypershift/forms/NodePoolAgentsForm.js.map +1 -1
  269. package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js +1 -1
  270. package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js.map +1 -1
  271. package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js +2 -2
  272. package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js.map +1 -1
  273. package/build/cjs/cim/components/helpers/toAssisted.js +4 -1
  274. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  275. package/build/cjs/cim/components/helpers/versions.js +5 -1
  276. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  277. package/build/cjs/cim/components/modals/EditProxyModal.js +1 -1
  278. package/build/cjs/cim/components/modals/EditProxyModal.js.map +1 -1
  279. package/build/cjs/cim/components/modals/EditSSHKeyModal.js +1 -1
  280. package/build/cjs/cim/components/modals/EditSSHKeyModal.js.map +1 -1
  281. package/build/cjs/cim/components/modals/MassApproveAgentModal.js +1 -1
  282. package/build/cjs/cim/components/modals/MassApproveAgentModal.js.map +1 -1
  283. package/build/cjs/cim/hooks/index.js +5 -0
  284. package/build/cjs/cim/hooks/index.js.map +1 -0
  285. package/build/cjs/cim/hooks/types.js +3 -0
  286. package/build/cjs/cim/hooks/types.js.map +1 -0
  287. package/build/cjs/cim/hooks/useConfigMaps.js +12 -0
  288. package/build/cjs/cim/hooks/useConfigMaps.js.map +1 -0
  289. package/build/cjs/cim/hooks/useK8sWatchResource.js +12 -0
  290. package/build/cjs/cim/hooks/useK8sWatchResource.js.map +1 -0
  291. package/build/cjs/cim/types/index.js +1 -0
  292. package/build/cjs/cim/types/index.js.map +1 -1
  293. package/build/cjs/cim/types/models.js +14 -0
  294. package/build/cjs/cim/types/models.js.map +1 -0
  295. package/build/cjs/cim/utils.js +12 -1
  296. package/build/cjs/cim/utils.js.map +1 -1
  297. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +23 -6
  298. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  299. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +11 -6
  300. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -1
  301. package/build/cjs/common/components/clusterConfiguration/ExternalPlatformsDropdown.js +34 -0
  302. package/build/cjs/common/components/clusterConfiguration/ExternalPlatformsDropdown.js.map +1 -0
  303. package/build/cjs/common/components/clusterConfiguration/OcmTNADisclaimer.js +14 -0
  304. package/build/cjs/common/components/clusterConfiguration/OcmTNADisclaimer.js.map +1 -0
  305. package/build/cjs/common/components/clusterConfiguration/index.js +2 -5
  306. package/build/cjs/common/components/clusterConfiguration/index.js.map +1 -1
  307. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +1 -1
  308. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
  309. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +6 -25
  310. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  311. package/build/cjs/common/components/fetching/EventListFetch.js +1 -1
  312. package/build/cjs/common/components/fetching/EventListFetch.js.map +1 -1
  313. package/build/cjs/common/components/hosts/DiskRole.js +1 -1
  314. package/build/cjs/common/components/hosts/DiskRole.js.map +1 -1
  315. package/build/cjs/common/components/hosts/TableToolbar.js +3 -3
  316. package/build/cjs/common/components/hosts/TableToolbar.js.map +1 -1
  317. package/build/cjs/common/components/hosts/tableUtils.js +1 -1
  318. package/build/cjs/common/components/hosts/tableUtils.js.map +1 -1
  319. package/build/cjs/common/components/hosts/utils.js +11 -1
  320. package/build/cjs/common/components/hosts/utils.js.map +1 -1
  321. package/build/cjs/common/components/operators/operatorDescriptions.js +30 -0
  322. package/build/cjs/common/components/operators/operatorDescriptions.js.map +1 -0
  323. package/build/cjs/common/components/operators/operatorSpecs.js +384 -189
  324. package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
  325. package/build/cjs/common/components/ui/ClusterEventsToolbar.js +5 -5
  326. package/build/cjs/common/components/ui/ClusterEventsToolbar.js.map +1 -1
  327. package/build/cjs/common/components/ui/OpenShiftSelectWithSearch.js +20 -140
  328. package/build/cjs/common/components/ui/OpenShiftSelectWithSearch.js.map +1 -1
  329. package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js +10 -15
  330. package/build/cjs/common/components/ui/OpenShiftVersionDropdown.js.map +1 -1
  331. package/build/cjs/common/components/ui/OpenShiftVersionModal.js +8 -12
  332. package/build/cjs/common/components/ui/OpenShiftVersionModal.js.map +1 -1
  333. package/build/cjs/common/components/ui/SimpleDropdown.js +1 -1
  334. package/build/cjs/common/components/ui/SimpleDropdown.js.map +1 -1
  335. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js +153 -0
  336. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js.map +1 -0
  337. package/build/cjs/common/components/ui/formik/TextAreaField.js +2 -1
  338. package/build/cjs/common/components/ui/formik/TextAreaField.js.map +1 -1
  339. package/build/cjs/common/components/ui/formik/index.js +3 -3
  340. package/build/cjs/common/components/ui/formik/index.js.map +1 -1
  341. package/build/cjs/common/config/constants.js +25 -5
  342. package/build/cjs/common/config/constants.js.map +1 -1
  343. package/build/cjs/common/config/docs_links.js +57 -29
  344. package/build/cjs/common/config/docs_links.js.map +1 -1
  345. package/build/cjs/common/selectors/clusterSelectors.js +1 -1
  346. package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
  347. package/build/cjs/common/types/cpuArchitecture.js +3 -5
  348. package/build/cjs/common/types/cpuArchitecture.js.map +1 -1
  349. package/build/cjs/common/utils.js +28 -1
  350. package/build/cjs/common/utils.js.map +1 -1
  351. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js +1 -1
  352. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js.map +1 -1
  353. package/build/cjs/ocm/components/Routes.js +10 -8
  354. package/build/cjs/ocm/components/Routes.js.map +1 -1
  355. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js +27 -12
  356. package/build/cjs/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  357. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +16 -0
  358. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  359. package/build/cjs/ocm/components/clusterConfiguration/OcmOpenShiftVersion.js +14 -10
  360. package/build/cjs/ocm/components/clusterConfiguration/OcmOpenShiftVersion.js.map +1 -1
  361. package/build/cjs/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.js +10 -15
  362. package/build/cjs/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.js.map +1 -1
  363. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +1 -1
  364. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
  365. package/build/cjs/ocm/components/clusterConfiguration/OcmSNODisclaimer.js +5 -21
  366. package/build/cjs/ocm/components/clusterConfiguration/OcmSNODisclaimer.js.map +1 -1
  367. package/build/cjs/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.js.map +1 -1
  368. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js +1 -1
  369. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js.map +1 -1
  370. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +4 -1
  371. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  372. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js +14 -20
  373. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +1 -1
  374. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +4 -4
  375. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -1
  376. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js +2 -1
  377. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js.map +1 -1
  378. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +1 -1
  379. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -1
  380. package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js +5 -1
  381. package/build/cjs/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js.map +1 -1
  382. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.js +1 -1
  383. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.js.map +1 -1
  384. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.js +0 -1
  385. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.js.map +1 -1
  386. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/staticIp.css +3 -3
  387. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js +1 -1
  388. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js.map +1 -1
  389. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +2 -2
  390. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  391. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +8 -5
  392. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  393. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +11 -13
  394. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  395. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  396. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +17 -2
  397. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  398. package/build/cjs/ocm/components/clusterWizard/CredentialsDownload.js +2 -1
  399. package/build/cjs/ocm/components/clusterWizard/CredentialsDownload.js.map +1 -1
  400. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js +15 -2
  401. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js.map +1 -1
  402. package/build/cjs/ocm/components/clusterWizard/Operators.js +4 -1
  403. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  404. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +22 -18
  405. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -1
  406. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +36 -19
  407. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -1
  408. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +13 -3
  409. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  410. package/build/cjs/ocm/components/clusterWizard/constants.js +2 -0
  411. package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
  412. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +40 -0
  413. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -0
  414. package/build/cjs/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.js +15 -0
  415. package/build/cjs/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.js.map +1 -0
  416. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +63 -0
  417. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -0
  418. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +15 -2
  419. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  420. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js +3 -0
  421. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js.map +1 -1
  422. package/build/cjs/ocm/components/clusters/ClusterPage.js +2 -0
  423. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  424. package/build/cjs/ocm/components/clusters/Clusters.js +6 -0
  425. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  426. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +1 -1
  427. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  428. package/build/cjs/ocm/components/clusters/NewClusterPage.js +6 -7
  429. package/build/cjs/ocm/components/clusters/NewClusterPage.js.map +1 -1
  430. package/build/cjs/ocm/components/clusters/clusterPolling.js +1 -1
  431. package/build/cjs/ocm/components/clusters/clusterPolling.js.map +1 -1
  432. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +5 -15
  433. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  434. package/build/cjs/ocm/components/hosts/use-hosts-table.js +18 -4
  435. package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
  436. package/build/cjs/ocm/services/DiskEncryptionService.js +12 -4
  437. package/build/cjs/ocm/services/DiskEncryptionService.js.map +1 -1
  438. package/build/cjs/ocm/store/slices/current-cluster/selectors.js +1 -1
  439. package/build/cjs/ocm/store/slices/current-cluster/selectors.js.map +1 -1
  440. package/lib/cim/components/Agent/AgentStatus.tsx +1 -1
  441. package/lib/cim/components/Agent/tableUtils.tsx +1 -1
  442. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +15 -5
  443. package/lib/cim/components/ClusterDeployment/ScaleUpForm.tsx +1 -1
  444. package/lib/cim/components/ClusterDeployment/{ACMClusterDeploymentDetailsStep.tsx → clusterDetails/ACMClusterDeploymentDetailsStep.tsx} +6 -8
  445. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentDetailsForm.tsx → clusterDetails/ClusterDeploymentDetailsForm.tsx} +17 -11
  446. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentDetailsStep.tsx → clusterDetails/ClusterDeploymentDetailsStep.tsx} +10 -15
  447. package/lib/cim/components/ClusterDeployment/{ClusterDetailsFormFields.tsx → clusterDetails/ClusterDetailsFormFields.tsx} +36 -56
  448. package/lib/cim/components/ClusterDeployment/clusterDetails/index.tsx +4 -0
  449. package/lib/cim/components/ClusterDeployment/{AdditionalNTPSourcesDialogToggle.tsx → components/AdditionalNTPSourcesDialogToggle.tsx} +1 -1
  450. package/lib/cim/components/ClusterDeployment/components/index.tsx +1 -0
  451. package/lib/cim/components/ClusterDeployment/constants.ts +1 -0
  452. package/lib/cim/components/ClusterDeployment/customManifests/ClusterDeploymentCustomManifestsStep.tsx +121 -0
  453. package/lib/cim/components/ClusterDeployment/customManifests/ConfigMapDetail.tsx +191 -0
  454. package/lib/cim/components/ClusterDeployment/customManifests/ConfigMapForm.tsx +247 -0
  455. package/lib/cim/components/ClusterDeployment/customManifests/index.tsx +1 -0
  456. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostDiscoveryTable.tsx → hostDiscovery/ClusterDeploymentHostDiscoveryTable.tsx} +13 -13
  457. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostsDiscovery.tsx → hostDiscovery/ClusterDeploymentHostsDiscovery.tsx} +8 -8
  458. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostsDiscoveryStep.tsx → hostDiscovery/ClusterDeploymentHostsDiscoveryStep.tsx} +10 -11
  459. package/lib/cim/components/ClusterDeployment/hostDiscovery/index.tsx +1 -0
  460. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostSelectionStep.tsx → hostSelection/ClusterDeploymentHostSelectionStep.tsx} +13 -16
  461. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelection.tsx → hostSelection/ClusterDeploymentHostsSelection.tsx} +7 -7
  462. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelectionAdvanced.tsx → hostSelection/ClusterDeploymentHostsSelectionAdvanced.tsx} +10 -12
  463. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostsSelectionBasic.tsx → hostSelection/ClusterDeploymentHostsSelectionBasic.tsx} +9 -9
  464. package/lib/cim/components/ClusterDeployment/hostSelection/index.tsx +2 -0
  465. package/lib/cim/components/ClusterDeployment/index.ts +2 -2
  466. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentHostsNetworkTable.tsx → networking/ClusterDeploymentHostsNetworkTable.tsx} +12 -12
  467. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentNetworkingForm.tsx → networking/ClusterDeploymentNetworkingForm.tsx} +8 -12
  468. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentNetworkingStep.tsx → networking/ClusterDeploymentNetworkingStep.tsx} +11 -13
  469. package/lib/cim/components/ClusterDeployment/networking/index.tsx +1 -0
  470. package/lib/cim/components/ClusterDeployment/{ClusterDeploymentReviewStep.tsx → review/ClusterDeploymentReviewStep.tsx} +36 -15
  471. package/lib/cim/components/ClusterDeployment/review/ReviewConfigMapsTable.tsx +70 -0
  472. package/lib/cim/components/ClusterDeployment/review/index.tsx +1 -0
  473. package/lib/cim/components/ClusterDeployment/types.ts +1 -0
  474. package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +2 -2
  475. package/lib/cim/components/ClusterDeployment/wizardTransition.ts +2 -0
  476. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.tsx +7 -12
  477. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.ts +1 -1
  478. package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.tsx +1 -33
  479. package/lib/cim/components/Hypershift/forms/NodePoolAgentsForm.tsx +24 -12
  480. package/lib/cim/components/Hypershift/modals/AddNodePoolModal.tsx +1 -1
  481. package/lib/cim/components/Hypershift/modals/ManageHostsModal.tsx +2 -2
  482. package/lib/cim/components/helpers/toAssisted.ts +9 -1
  483. package/lib/cim/components/helpers/versions.ts +7 -3
  484. package/lib/cim/components/modals/EditProxyModal.tsx +1 -1
  485. package/lib/cim/components/modals/EditSSHKeyModal.tsx +1 -1
  486. package/lib/cim/components/modals/MassApproveAgentModal.tsx +1 -1
  487. package/lib/cim/hooks/index.tsx +1 -0
  488. package/lib/cim/hooks/types.tsx +8 -0
  489. package/lib/cim/hooks/useConfigMaps.tsx +14 -0
  490. package/lib/cim/hooks/useK8sWatchResource.tsx +27 -0
  491. package/lib/cim/types/index.ts +1 -0
  492. package/lib/cim/types/k8s/agent-cluster-install.ts +2 -0
  493. package/lib/cim/types/models.tsx +12 -0
  494. package/lib/cim/utils.ts +12 -0
  495. package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +61 -31
  496. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +20 -5
  497. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.ts +1 -0
  498. package/lib/common/components/clusterConfiguration/ExternalPlatformsDropdown.tsx +74 -0
  499. package/lib/common/components/clusterConfiguration/OcmTNADisclaimer.tsx +23 -0
  500. package/lib/common/components/clusterConfiguration/index.ts +1 -2
  501. package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +1 -1
  502. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +6 -34
  503. package/lib/common/components/clusterWizard/types.ts +2 -4
  504. package/lib/common/components/fetching/EventListFetch.tsx +2 -2
  505. package/lib/common/components/hosts/DiskRole.tsx +0 -1
  506. package/lib/common/components/hosts/TableToolbar.tsx +9 -10
  507. package/lib/common/components/hosts/tableUtils.tsx +1 -1
  508. package/lib/common/components/hosts/types.ts +1 -1
  509. package/lib/common/components/hosts/utils.ts +13 -2
  510. package/lib/common/components/newFeatureSupportLevels/types.ts +1 -0
  511. package/lib/common/components/operators/operatorDescriptions.tsx +70 -0
  512. package/lib/common/components/operators/operatorSpecs.tsx +505 -261
  513. package/lib/common/components/ui/ClusterEventsToolbar.tsx +6 -0
  514. package/lib/common/components/ui/OpenShiftSelectWithSearch.tsx +38 -239
  515. package/lib/common/components/ui/OpenShiftVersionDropdown.tsx +14 -23
  516. package/lib/common/components/ui/OpenShiftVersionModal.tsx +12 -16
  517. package/lib/common/components/ui/SimpleDropdown.tsx +0 -1
  518. package/lib/common/components/ui/formik/SelectFieldWithSearch.tsx +278 -0
  519. package/lib/common/components/ui/formik/TextAreaField.tsx +14 -7
  520. package/lib/common/components/ui/formik/index.tsx +1 -1
  521. package/lib/common/config/constants.ts +23 -4
  522. package/lib/common/config/docs_links.ts +76 -41
  523. package/lib/common/selectors/clusterSelectors.ts +1 -2
  524. package/lib/common/types/cpuArchitecture.ts +3 -9
  525. package/lib/common/types/ui-settings.ts +1 -0
  526. package/lib/common/utils.ts +30 -0
  527. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.tsx +2 -2
  528. package/lib/ocm/components/Routes.tsx +22 -15
  529. package/lib/ocm/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +39 -24
  530. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +33 -1
  531. package/lib/ocm/components/clusterConfiguration/OcmOpenShiftVersion.tsx +18 -11
  532. package/lib/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.tsx +13 -18
  533. package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +1 -1
  534. package/lib/ocm/components/clusterConfiguration/OcmSNODisclaimer.tsx +14 -60
  535. package/lib/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.tsx +1 -1
  536. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.tsx +1 -0
  537. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +6 -1
  538. package/lib/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.tsx +20 -26
  539. package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +6 -3
  540. package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +2 -1
  541. package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +2 -1
  542. package/lib/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.tsx +5 -1
  543. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.tsx +2 -2
  544. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.tsx +0 -1
  545. package/lib/ocm/components/clusterConfiguration/staticIp/components/staticIp.css +3 -3
  546. package/lib/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.ts +1 -1
  547. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +2 -2
  548. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +15 -6
  549. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +18 -15
  550. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +4 -2
  551. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +18 -2
  552. package/lib/ocm/components/clusterWizard/CredentialsDownload.tsx +2 -1
  553. package/lib/ocm/components/clusterWizard/NewClusterWizard.tsx +17 -1
  554. package/lib/ocm/components/clusterWizard/Operators.tsx +5 -1
  555. package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +29 -23
  556. package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +68 -41
  557. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +30 -3
  558. package/lib/ocm/components/clusterWizard/constants.ts +2 -0
  559. package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +81 -0
  560. package/lib/ocm/components/clusterWizard/disconnected/InstallDisconnectedSwitch.tsx +32 -0
  561. package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +123 -0
  562. package/lib/ocm/components/clusterWizard/wizardTransition.ts +18 -2
  563. package/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +9 -1
  564. package/lib/ocm/components/clusters/ClusterPage.tsx +3 -0
  565. package/lib/ocm/components/clusters/Clusters.tsx +10 -0
  566. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +1 -1
  567. package/lib/ocm/components/clusters/NewClusterPage.tsx +9 -13
  568. package/lib/ocm/components/clusters/clusterPolling.ts +2 -2
  569. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +7 -18
  570. package/lib/ocm/components/hosts/use-hosts-table.tsx +18 -5
  571. package/lib/ocm/services/DiskEncryptionService.ts +8 -2
  572. package/lib/ocm/store/slices/current-cluster/selectors.ts +1 -1
  573. package/package.json +4 -4
  574. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts.map +0 -1
  575. package/build/@types/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.d.ts.map +0 -1
  576. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts.map +0 -1
  577. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +0 -1
  578. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.d.ts.map +0 -1
  579. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts.map +0 -1
  580. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts.map +0 -1
  581. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts +0 -5
  582. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts.map +0 -1
  583. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.d.ts.map +0 -1
  584. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.d.ts.map +0 -1
  585. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.d.ts.map +0 -1
  586. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.d.ts.map +0 -1
  587. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts.map +0 -1
  588. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts.map +0 -1
  589. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts.map +0 -1
  590. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +0 -1
  591. package/build/@types/common/components/clusterConfiguration/SNOControlGroup.d.ts +0 -10
  592. package/build/@types/common/components/clusterConfiguration/SNOControlGroup.d.ts.map +0 -1
  593. package/build/@types/common/components/clusterConfiguration/SNODisclaimer.d.ts +0 -10
  594. package/build/@types/common/components/clusterConfiguration/SNODisclaimer.d.ts.map +0 -1
  595. package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts +0 -9
  596. package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts.map +0 -1
  597. package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts +0 -11
  598. package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts.map +0 -1
  599. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js.map +0 -1
  600. package/build/cjs/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.js.map +0 -1
  601. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +0 -1
  602. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +0 -1
  603. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.js.map +0 -1
  604. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js.map +0 -1
  605. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js.map +0 -1
  606. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js.map +0 -1
  607. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.js.map +0 -1
  608. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.js.map +0 -1
  609. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.js.map +0 -1
  610. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.js.map +0 -1
  611. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js.map +0 -1
  612. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js.map +0 -1
  613. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.js.map +0 -1
  614. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +0 -1
  615. package/build/cjs/common/components/clusterConfiguration/SNOControlGroup.js +0 -20
  616. package/build/cjs/common/components/clusterConfiguration/SNOControlGroup.js.map +0 -1
  617. package/build/cjs/common/components/clusterConfiguration/SNODisclaimer.js +0 -31
  618. package/build/cjs/common/components/clusterConfiguration/SNODisclaimer.js.map +0 -1
  619. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js +0 -45
  620. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js.map +0 -1
  621. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js +0 -51
  622. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js.map +0 -1
  623. package/lib/common/components/clusterConfiguration/SNOControlGroup.tsx +0 -41
  624. package/lib/common/components/clusterConfiguration/SNODisclaimer.tsx +0 -79
  625. package/lib/common/components/ui/formik/SingleNodeCheckbox.tsx +0 -98
  626. package/lib/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.tsx +0 -107
  627. /package/build/@types/cim/components/ClusterDeployment/{AdditionalNTPSourcesDialogToggle.d.ts → components/AdditionalNTPSourcesDialogToggle.d.ts} +0 -0
@@ -201,7 +201,7 @@ export const getIpAddressInSubnetValidationSchema = (
201
201
  ) => {
202
202
  return Yup.string().test(
203
203
  'is-in-subnet',
204
- `IP Address is outside of the machine network ${subnet}`,
204
+ `IP Address is outside of the subnet ${subnet}`,
205
205
  (value, testContext: Yup.TestContext) => {
206
206
  if (!value) {
207
207
  return true;
@@ -232,6 +232,10 @@ export const getIpIsNotNetworkOrBroadcastAddressSchema = (
232
232
  'is-not-network-or-broadcast',
233
233
  `The IP address must not match the network or broadcast address`,
234
234
  (value) => {
235
+ // Allow both addresses for IPv4 /31 subnets (RFC 3021)
236
+ if (protocolVersion === ProtocolVersion.ipv4 && subnet.endsWith('/31')) {
237
+ return true;
238
+ }
235
239
  const subnetAddr = getAddressObject(subnet, protocolVersion);
236
240
  if (!subnetAddr) {
237
241
  return true;
@@ -82,10 +82,10 @@ const MachineNetwork: React.FC<{ fieldName: string; protocolVersion: ProtocolVer
82
82
  labelIcon={
83
83
  <PopoverIcon noVerticalAlign bodyContent="The range of IP addresses of the hosts." />
84
84
  }
85
- label="Machine network"
85
+ label="Subnet"
86
86
  fieldId={fieldId}
87
87
  isRequired
88
- className="machine-network"
88
+ className="subnet"
89
89
  >
90
90
  <Flex>
91
91
  <FlexItem spacer={{ default: 'spacerSm' }}>
@@ -66,7 +66,6 @@ const getMachineNetworkValidationSchema = (protocolVersion: ProtocolVersion) =>
66
66
  MAX_PREFIX_LENGTH[protocolVersion],
67
67
  `Prefix length must be less than or equal to ${MAX_PREFIX_LENGTH[protocolVersion]}`,
68
68
  )
69
- .nullable()
70
69
  .transform(transformNumber) as Yup.NumberSchema, //add casting to not get typescript error caused by nullable
71
70
  });
72
71
 
@@ -16,14 +16,14 @@
16
16
  font-weight: unset;
17
17
  }
18
18
 
19
- .machine-network .pf-l-flex > div:nth-child(1) {
19
+ .subnet .pf-l-flex > div:nth-child(1) {
20
20
  flex: 0 0 24rem;
21
21
  }
22
22
 
23
- .machine-network .pf-l-flex > div:nth-child(3) {
23
+ .subnet .pf-l-flex > div:nth-child(3) {
24
24
  flex: 0 0 6rem;
25
25
  }
26
26
 
27
- .machine-network .pf-v5-c-form__helper-text.pf-m-error {
27
+ .subnet .pf-v5-c-form__helper-text.pf-m-error {
28
28
  margin-top: unset;
29
29
  }
@@ -44,7 +44,7 @@ const getPrefixLength = (
44
44
  ): number => {
45
45
  const machineNetwork = networkWide.ipConfigs[protocolVersion].machineNetwork;
46
46
  if (machineNetwork.prefixLength === '') {
47
- throw 'Machine network prefix length not configured';
47
+ throw 'Subnet prefix length not configured';
48
48
  }
49
49
  return machineNetwork.prefixLength;
50
50
  };
@@ -66,7 +66,7 @@ export const HostInstallationWarning = ({
66
66
  message,
67
67
  }: InstallationProgressWarningProps) => {
68
68
  const { addAlert, clearAlerts } = useAlerts();
69
- const opSpecs = useOperatorSpecs();
69
+ const { byKey: opSpecs } = useOperatorSpecs();
70
70
 
71
71
  return (
72
72
  <>
@@ -114,7 +114,7 @@ export const HostsInstallationFailed = ({
114
114
  const { resetClusterDialog } = useModalDialogsContext();
115
115
  const getID = (suffix: string) => `cluster-install-error-${suffix}`;
116
116
  let title, message;
117
- if (cluster.highAvailabilityMode === 'None' || failedHosts > 0) {
117
+ if (cluster.controlPlaneCount === 1 || failedHosts > 0) {
118
118
  title = 'Control plane was not installed';
119
119
  message = `${failedHosts}/${totalHosts} control plane nodes failed to install. Please check the installation logs for more information.`;
120
120
  } else if (isCriticalNumberOfWorkersFailed) {
@@ -1,7 +1,13 @@
1
1
  import React from 'react';
2
2
  import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
3
3
  import { useDispatch } from 'react-redux';
4
- import { useAlerts, LoadingState, ClusterWizardStep, ErrorState } from '../../../common';
4
+ import {
5
+ useAlerts,
6
+ LoadingState,
7
+ ClusterWizardStep,
8
+ ErrorState,
9
+ UISettingsValues,
10
+ } from '../../../common';
5
11
  import { usePullSecret } from '../../hooks';
6
12
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../../common/api';
7
13
  import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
@@ -81,11 +87,15 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
81
87
  }
82
88
  const cluster = await ClustersService.create(params, isAssistedMigration);
83
89
  navigate(`../${cluster.id}`, { state: ClusterWizardFlowStateNew });
84
- await UISettingService.update(cluster.id, { addCustomManifests });
85
- //For Assisted Migration we need to enable virtualization bundle
90
+
91
+ const uiPatch: UISettingsValues = { addCustomManifests };
86
92
  if (isAssistedMigration) {
87
- await UISettingService.update(cluster.id, { bundlesSelected: ['virtualization'] });
93
+ //For Assisted Migration we need to enable virtualization bundle
94
+ uiPatch.bundlesSelected = ['virtualization'];
95
+ uiPatch.isAssistedMigration = true;
88
96
  }
97
+ await UISettingService.update(cluster.id, uiPatch);
98
+ await clusterWizardContext.updateUISettings(uiPatch); // keeps local state current
89
99
  } catch (e) {
90
100
  handleApiError(e, () =>
91
101
  addAlert({ title: 'Failed to create new cluster', message: getApiErrorMessage(e) }),
@@ -95,7 +105,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
95
105
  }
96
106
  }
97
107
  },
98
- [clearAlerts, location.search, navigate, addAlert, dispatch],
108
+ [clearAlerts, location.search, navigate, clusterWizardContext, addAlert, dispatch],
99
109
  );
100
110
 
101
111
  const navigation = <ClusterWizardNavigation cluster={cluster} />;
@@ -122,7 +132,6 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
122
132
  managedDomains={managedDomains}
123
133
  ocpVersions={versions}
124
134
  usedClusterNames={usedClusterNames}
125
- moveNext={() => clusterWizardContext.moveNext()}
126
135
  handleClusterUpdate={handleClusterUpdate}
127
136
  handleClusterCreate={handleClusterCreate}
128
137
  navigation={navigation}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { useLocation } from 'react-router-dom-v5-compat';
4
- import { Grid, GridItem } from '@patternfly/react-core';
4
+ import { Grid, GridItem, Split, SplitItem } from '@patternfly/react-core';
5
5
  import isUndefined from 'lodash-es/isUndefined.js';
6
6
  import { Formik, FormikHelpers } from 'formik';
7
7
  import {
@@ -11,6 +11,7 @@ import {
11
11
  getRichTextValidation,
12
12
  CpuArchitecture,
13
13
  useAlerts,
14
+ DeveloperPreview,
14
15
  } from '../../../common';
15
16
  import { canNextClusterDetails } from './wizardTransition';
16
17
  import { OpenshiftVersionOptionType, getFormikErrorFields } from '../../../common';
@@ -32,6 +33,7 @@ import {
32
33
  ManagedDomain,
33
34
  } from '@openshift-assisted/types/assisted-installer-service';
34
35
  import { useFeature } from '../../hooks/use-feature';
36
+ import InstallDisconnectedSwitch from './disconnected/InstallDisconnectedSwitch';
35
37
 
36
38
  type ClusterDetailsFormProps = {
37
39
  cluster?: Cluster;
@@ -41,7 +43,6 @@ type ClusterDetailsFormProps = {
41
43
  ocpVersions: OpenshiftVersionOptionType[];
42
44
  usedClusterNames: string[];
43
45
  navigation: React.ReactNode;
44
- moveNext: () => void;
45
46
  handleClusterCreate: (params: ClusterCreateParams, addCustomManifests: boolean) => Promise<void>;
46
47
  handleClusterUpdate: (
47
48
  clusterId: Cluster['id'],
@@ -58,13 +59,12 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
58
59
  managedDomains,
59
60
  ocpVersions,
60
61
  usedClusterNames = [],
61
- moveNext,
62
62
  handleClusterUpdate,
63
63
  handleClusterCreate,
64
64
  navigation,
65
65
  } = props;
66
66
 
67
- const clusterWizardContext = useClusterWizardContext();
67
+ const { customManifestsStep, moveNext } = useClusterWizardContext();
68
68
  const { search } = useLocation();
69
69
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
70
70
  const { clearAlerts } = useAlerts();
@@ -119,24 +119,15 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
119
119
  managedDomains,
120
120
  ocpVersions,
121
121
  urlSearchParams: search,
122
- addCustomManifests: clusterWizardContext.customManifestsStep,
122
+ addCustomManifests: customManifestsStep,
123
123
  }),
124
- [
125
- infraEnv,
126
- cluster,
127
- pullSecret,
128
- managedDomains,
129
- ocpVersions,
130
- search,
131
- clusterWizardContext.customManifestsStep,
132
- ],
124
+ [infraEnv, cluster, pullSecret, managedDomains, ocpVersions, search, customManifestsStep],
133
125
  );
134
126
 
135
127
  const { t } = useTranslation();
136
128
  const validationSchema = getClusterDetailsValidationSchema({
137
129
  usedClusterNames,
138
130
  pullSecretSet: cluster?.pullSecretSet,
139
- ocpVersions,
140
131
  isOcm: true,
141
132
  t,
142
133
  });
@@ -174,6 +165,18 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
174
165
  <GridItem>
175
166
  <ClusterWizardStepHeader>Cluster details</ClusterWizardStepHeader>
176
167
  </GridItem>
168
+ {!isSingleClusterFeatureEnabled && (
169
+ <GridItem>
170
+ <Split>
171
+ <SplitItem>
172
+ <InstallDisconnectedSwitch isDisabled={!!cluster} />
173
+ </SplitItem>
174
+ <SplitItem>
175
+ <DeveloperPreview />
176
+ </SplitItem>
177
+ </Split>
178
+ </GridItem>
179
+ )}
177
180
  <GridItem span={12} lg={10} xl={9} xl2={7}>
178
181
  <OcmClusterDetailsFormFields
179
182
  versions={ocpVersions}
@@ -7,8 +7,8 @@ import { UISettingsValues } from '../../../common';
7
7
  export type ClusterWizardContextType = {
8
8
  currentStepId: ClusterWizardStepsType;
9
9
  setCurrentStepId(stepId: ClusterWizardStepsType): void;
10
- moveBack(): void;
11
- moveNext(): void;
10
+ moveBack: () => void;
11
+ moveNext: () => void;
12
12
  wizardStepIds: ClusterWizardStepsType[];
13
13
  onUpdateStaticIpView(view: StaticIpView): void;
14
14
  onUpdateHostNetworkConfigType(type: HostsNetworkConfigurationType): void;
@@ -18,6 +18,8 @@ export type ClusterWizardContextType = {
18
18
  setWizardPerPage: (perPage: number) => void;
19
19
  updateUISettings: (data: UISettingsValues) => Promise<void>;
20
20
  uiSettings?: UISettingsValues;
21
+ installDisconnected: boolean;
22
+ setInstallDisconnected: (enabled: boolean) => void;
21
23
  };
22
24
 
23
25
  export const ClusterWizardContext = React.createContext<ClusterWizardContextType | null>(null);
@@ -4,6 +4,7 @@ import { ClusterWizardContextType, ClusterWizardContext } from './ClusterWizardC
4
4
  import {
5
5
  ClusterWizardFlowStateType,
6
6
  ClusterWizardStepsType,
7
+ disconnectedSteps,
7
8
  getClusterWizardFirstStep,
8
9
  isStaticIpStep,
9
10
  isStepAfter,
@@ -87,9 +88,10 @@ const ClusterWizardContextProvider = ({
87
88
  }>) => {
88
89
  const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
89
90
  const [currentStepId, setCurrentStepId] = React.useState<ClusterWizardStepsType>();
90
- const [wizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
91
+ const [connectedWizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
91
92
  const [wizardPerPage, setWizardPerPage] = React.useState(10);
92
93
  const [customManifestsStep, setCustomManifestsStep] = React.useState<boolean>(false);
94
+ const [installDisconnected, setInstallDisconnected] = React.useState(false);
93
95
  const location = useLocation();
94
96
  const locationState = location.state as ClusterWizardFlowStateType | undefined;
95
97
  const {
@@ -101,6 +103,8 @@ const ClusterWizardContextProvider = ({
101
103
  const { clearAlerts, addAlert, alerts } = useAlerts();
102
104
  const setClusterPermissions = useSetClusterPermissions();
103
105
 
106
+ const wizardStepIds = installDisconnected ? disconnectedSteps : connectedWizardStepIds;
107
+
104
108
  React.useEffect(() => {
105
109
  if (!UISettingsLoading) {
106
110
  const staticIpInfo = infraEnv ? getStaticIpInfo(infraEnv) : undefined;
@@ -237,7 +241,7 @@ const ClusterWizardContextProvider = ({
237
241
  );
238
242
  }
239
243
  },
240
- wizardStepIds,
244
+ wizardStepIds: wizardStepIds,
241
245
  currentStepId,
242
246
  setCurrentStepId: onSetCurrentStepId,
243
247
  customManifestsStep,
@@ -246,6 +250,15 @@ const ClusterWizardContextProvider = ({
246
250
  setWizardPerPage,
247
251
  uiSettings,
248
252
  updateUISettings,
253
+ installDisconnected,
254
+ setInstallDisconnected: (enabled: boolean) => {
255
+ setInstallDisconnected(enabled);
256
+ if (enabled) {
257
+ onSetCurrentStepId(disconnectedSteps[0]);
258
+ } else {
259
+ connectedWizardStepIds?.length && onSetCurrentStepId(connectedWizardStepIds[0]);
260
+ }
261
+ },
249
262
  };
250
263
  }, [
251
264
  wizardStepIds,
@@ -257,6 +270,9 @@ const ClusterWizardContextProvider = ({
257
270
  clearAlerts,
258
271
  uiSettings,
259
272
  updateUISettings,
273
+ installDisconnected,
274
+ setInstallDisconnected,
275
+ connectedWizardStepIds,
260
276
  ]);
261
277
 
262
278
  if (!contextValue) {
@@ -22,7 +22,7 @@ const CredentialsDownload: React.FC<{ cluster: Cluster }> = ({ cluster }) => {
22
22
  const clusterWizardContext = useClusterWizardContext();
23
23
  const [isChecked, setIsChecked] = React.useState<boolean>(false);
24
24
  const [isDownloading, setIsDownloading] = React.useState(false);
25
- const { addAlert } = useAlerts();
25
+ const { addAlert, clearAlerts } = useAlerts();
26
26
  const { t } = useTranslation();
27
27
 
28
28
  const downloadSingleFile = async (fileName: string) => {
@@ -42,6 +42,7 @@ const CredentialsDownload: React.FC<{ cluster: Cluster }> = ({ cluster }) => {
42
42
  };
43
43
 
44
44
  const handleDownloadClick = async () => {
45
+ clearAlerts();
45
46
  setIsDownloading(true);
46
47
 
47
48
  const configSuccess = await downloadSingleFile('kubeconfig');
@@ -1,11 +1,27 @@
1
1
  import classNames from 'classnames';
2
2
  import React from 'react';
3
3
  import ClusterDetails from './ClusterDetails';
4
+ import { useClusterWizardContext } from './ClusterWizardContext';
5
+ import ReviewStep from './disconnected/ReviewStep';
6
+ import BasicStep from './disconnected/BasicStep';
7
+ import { ClusterWizardStepsType } from './wizardTransition';
8
+
9
+ const getCurrentStep = (currentStepId: ClusterWizardStepsType) => {
10
+ switch (currentStepId) {
11
+ case 'disconnected-review':
12
+ return <ReviewStep />;
13
+ case 'disconnected-basic':
14
+ return <BasicStep />;
15
+ default:
16
+ return <ClusterDetails />;
17
+ }
18
+ };
4
19
 
5
20
  const NewClusterWizard: React.FC = () => {
21
+ const { currentStepId } = useClusterWizardContext();
6
22
  return (
7
23
  <div className={classNames('pf-v5-c-wizard', 'cluster-wizard')}>
8
- <ClusterDetails />
24
+ {getCurrentStep(currentStepId)}
9
25
  </div>
10
26
  );
11
27
  };
@@ -21,6 +21,10 @@ import { setServerUpdateError, updateCluster } from '../../store/slices/current-
21
21
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../../common/api';
22
22
  import { canNextOperators } from './wizardTransition';
23
23
 
24
+ // Balance debounce time: fast clicks should trigger a single API call,
25
+ // but making it shorter will allow us to disable navigation buttons while changes are pending
26
+ const operatorsAutoSaveDebounce = 500;
27
+
24
28
  const getOperatorsInitialValues = (
25
29
  uiSettings: UISettingsValues | undefined,
26
30
  cluster: Cluster,
@@ -34,7 +38,7 @@ const getOperatorsInitialValues = (
34
38
  const OperatorsForm = ({ cluster }: { cluster: Cluster }) => {
35
39
  const { alerts } = useAlerts();
36
40
  const clusterWizardContext = useClusterWizardContext();
37
- const isAutoSaveRunning = useFormikAutoSave();
41
+ const isAutoSaveRunning = useFormikAutoSave(operatorsAutoSaveDebounce);
38
42
  const { errors, touched, isSubmitting, isValid } = useFormikContext<OperatorsValues>();
39
43
  const navigate = useNavigate();
40
44
  const { pathname } = useLocation();
@@ -24,26 +24,26 @@ import NewFeatureSupportLevelBadge, {
24
24
  } from '../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
25
25
  import { ExternalLink, OperatorsValues, PopoverIcon, singleClusterBundles } from '../../../common';
26
26
  import { useFormikContext } from 'formik';
27
- import {
28
- GetFeatureSupportLevel,
29
- useNewFeatureSupportLevel,
30
- } from '../../../common/components/newFeatureSupportLevels';
27
+ import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
31
28
  import { useFeature } from '../../hooks/use-feature';
32
29
  import { useSelector } from 'react-redux';
33
30
  import { selectIsCurrentClusterSNO } from '../../store/slices/current-cluster/selectors';
34
31
  import { getNewBundleOperators } from '../clusterConfiguration/operators/utils';
35
32
  import { bundleSpecs } from '../clusterConfiguration/operators/bundleSpecs';
36
- import { useOperatorSpecs } from '../../../common/components/operators/operatorSpecs';
37
-
33
+ import {
34
+ highlightMatch,
35
+ OperatorSpec,
36
+ useOperatorSpecs,
37
+ } from '../../../common/components/operators/operatorSpecs';
38
+ import { useClusterWizardContext } from './ClusterWizardContext';
38
39
  import './OperatorsBundle.css';
39
40
 
40
- const BundleLabel = ({ bundle }: { bundle: Bundle }) => {
41
- const opSpecs = useOperatorSpecs();
41
+ const BundleLabel = ({ bundle, searchTerm }: { bundle: Bundle; searchTerm?: string }) => {
42
+ const { byKey: opSpecs } = useOperatorSpecs();
42
43
  const bundleSpec = bundleSpecs[bundle.id || ''];
43
-
44
44
  return (
45
45
  <>
46
- <span>{bundle.title} </span>
46
+ <span>{highlightMatch(bundle.title || '', searchTerm)} </span>
47
47
  <PopoverIcon
48
48
  component={'a'}
49
49
  headerContent={<div>Requirements and dependencies</div>}
@@ -80,19 +80,17 @@ const BundleLabel = ({ bundle }: { bundle: Bundle }) => {
80
80
 
81
81
  const getBundleSupportLevel = (
82
82
  bundle: Bundle,
83
- opSpecs: ReturnType<typeof useOperatorSpecs>,
84
- getFeatureSupportLevel: GetFeatureSupportLevel,
83
+ opSpecsByKey: Record<string, OperatorSpec>,
85
84
  ): NewSupportLevelBadgeProps['supportLevel'] => {
86
85
  let supportLevel: NewSupportLevelBadgeProps['supportLevel'] = undefined;
87
86
  if (bundle.operators) {
88
87
  for (const op of bundle.operators) {
89
- const operatorSpec = opSpecs[op];
88
+ const operatorSpec = opSpecsByKey[op];
90
89
  if (operatorSpec) {
91
- const opSupportLevel = getFeatureSupportLevel(operatorSpec.featureId);
92
- if (opSupportLevel === 'dev-preview') {
90
+ if (operatorSpec.supportLevel === 'dev-preview') {
93
91
  supportLevel = 'dev-preview';
94
92
  break;
95
- } else if (opSupportLevel === 'tech-preview') {
93
+ } else if (operatorSpec.supportLevel === 'tech-preview') {
96
94
  supportLevel = 'tech-preview';
97
95
  }
98
96
  }
@@ -105,17 +103,20 @@ const BundleCard = ({
105
103
  bundle,
106
104
  bundles,
107
105
  preflightRequirements,
106
+ searchTerm,
108
107
  }: {
109
108
  bundle: Bundle;
110
109
  bundles: Bundle[];
111
110
  preflightRequirements: PreflightHardwareRequirements | undefined;
111
+ searchTerm?: string;
112
112
  }) => {
113
113
  const { values, setFieldValue } = useFormikContext<OperatorsValues>();
114
114
  const isSNO = useSelector(selectIsCurrentClusterSNO);
115
- const { isFeatureSupported, getFeatureSupportLevel } = useNewFeatureSupportLevel();
116
- const opSpecs = useOperatorSpecs();
115
+ const { isFeatureSupported } = useNewFeatureSupportLevel();
116
+ const { byKey: opSpecs } = useOperatorSpecs();
117
+ const { uiSettings } = useClusterWizardContext();
117
118
 
118
- const supportLevel = getBundleSupportLevel(bundle, opSpecs, getFeatureSupportLevel);
119
+ const supportLevel = getBundleSupportLevel(bundle, opSpecs);
119
120
 
120
121
  const hasUnsupportedOperators = !!bundle.operators?.some((op) => {
121
122
  const operatorSpec = opSpecs[op];
@@ -130,7 +131,7 @@ const BundleCard = ({
130
131
  const incompatibleBundle = bundleSpec?.incompatibleBundles?.find((b) =>
131
132
  values.selectedBundles.includes(b),
132
133
  );
133
-
134
+ const isAssistedMigration = uiSettings?.isAssistedMigration;
134
135
  const disabledReason = hasUnsupportedOperators
135
136
  ? 'Some operators in this bundle are not supported with the current configuration.'
136
137
  : isSNO && bundleSpec?.noSNO
@@ -139,6 +140,8 @@ const BundleCard = ({
139
140
  ? `Bundle cannot be installed together with ${
140
141
  bundles.find(({ id }) => id === incompatibleBundle)?.title || incompatibleBundle
141
142
  }`
143
+ : isAssistedMigration
144
+ ? 'This bundle needs to be selected for clusters created from Migration Assessment'
142
145
  : undefined;
143
146
 
144
147
  const onSelect = (checked: boolean) => {
@@ -179,13 +182,13 @@ const BundleCard = ({
179
182
  }}
180
183
  >
181
184
  <CardTitle>
182
- <BundleLabel bundle={bundle} />
185
+ <BundleLabel bundle={bundle} searchTerm={searchTerm} />
183
186
  </CardTitle>
184
187
  </CardHeader>
185
188
  <CardBody isFilled>
186
189
  <Stack hasGutter>
187
190
  <StackItem isFilled>
188
- <div>{bundle.description}</div>
191
+ <div>{highlightMatch(bundle.description || '', searchTerm)}</div>
189
192
  </StackItem>
190
193
  <StackItem>
191
194
  <Split>
@@ -208,9 +211,11 @@ const BundleCard = ({
208
211
  const OperatorsBundle = ({
209
212
  bundles,
210
213
  preflightRequirements,
214
+ searchTerm,
211
215
  }: {
212
216
  bundles: Bundle[];
213
217
  preflightRequirements: PreflightHardwareRequirements | undefined;
218
+ searchTerm?: string;
214
219
  }) => {
215
220
  const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
216
221
 
@@ -218,7 +223,7 @@ const OperatorsBundle = ({
218
223
  <Stack hasGutter>
219
224
  <StackItem>
220
225
  <Title headingLevel="h2" size="lg">
221
- Bundles
226
+ {bundles.length > 0 ? 'Bundles' : ''}
222
227
  </Title>
223
228
  </StackItem>
224
229
  <StackItem>
@@ -232,6 +237,7 @@ const OperatorsBundle = ({
232
237
  bundle={bundle}
233
238
  bundles={bundles}
234
239
  preflightRequirements={preflightRequirements}
240
+ searchTerm={searchTerm}
235
241
  />
236
242
  </GalleryItem>
237
243
  ))}
@@ -24,10 +24,12 @@ const OperatorsSelect = ({
24
24
  cluster,
25
25
  bundles,
26
26
  preflightRequirements,
27
+ searchTerm,
27
28
  }: {
28
29
  cluster: Cluster;
29
30
  bundles: Bundle[];
30
31
  preflightRequirements: PreflightHardwareRequirements | undefined;
32
+ searchTerm?: string;
31
33
  }) => {
32
34
  const [isLoading, setIsLoading] = useStateSafely(true);
33
35
  const { addAlert } = useAlerts();
@@ -53,55 +55,80 @@ const OperatorsSelect = ({
53
55
  void fetchSupportedOperators();
54
56
  }, [addAlert, setSupportedOperators, setIsLoading]);
55
57
 
56
- const opSpecs = useOperatorSpecs();
58
+ const { byCategory, byKey: opSpecs } = useOperatorSpecs();
57
59
 
58
60
  const operators = React.useMemo(() => {
59
- return supportedOperators
60
- .sort((a, b) => {
61
- const aTitle = opSpecs[a]?.title || a;
62
- const bTitle = opSpecs[b]?.title || b;
63
- return aTitle.localeCompare(bTitle);
64
- })
65
- .filter((op) => {
66
- if (!isSingleClusterFeatureEnabled) {
67
- return true;
68
- }
69
- return singleClusterOperators.includes(op);
70
- });
71
- }, [isSingleClusterFeatureEnabled, supportedOperators, opSpecs]);
61
+ return supportedOperators.filter((op) => {
62
+ if (!isSingleClusterFeatureEnabled) {
63
+ return true;
64
+ }
65
+ return singleClusterOperators.includes(op);
66
+ });
67
+ }, [isSingleClusterFeatureEnabled, supportedOperators]);
68
+
69
+ const selectedOperators = values.selectedOperators.filter(
70
+ (opKey) => operators.includes(opKey) && !!opSpecs[opKey],
71
+ );
72
72
 
73
73
  if (isLoading) {
74
74
  return <LoadingState />;
75
75
  }
76
-
76
+ let foundAtLeastOneOperator = false;
77
77
  return (
78
- <ExpandableSection
79
- toggleText={`Single Operators (${operators.length} | ${values.selectedOperators.length} selected)`}
80
- onToggle={() => setIsExpanded(!isExpanded)}
81
- isExpanded={isExpanded}
82
- data-testid="single-operators-section"
83
- >
84
- <Stack hasGutter data-testid={'operators-form'}>
85
- {operators.map((operatorKey) => {
86
- if (!opSpecs[operatorKey]) {
87
- return null;
88
- }
78
+ <>
79
+ <ExpandableSection
80
+ toggleText={`Single Operators (${operators.length} | ${selectedOperators.length} selected)`}
81
+ onToggle={() => setIsExpanded(!isExpanded)}
82
+ isExpanded={isExpanded}
83
+ data-testid="single-operators-section"
84
+ >
85
+ <Stack hasGutter data-testid={'operators-form'}>
86
+ {Object.entries(byCategory).map(([categoryName, specs]) => {
87
+ let categoryOperators = specs.filter((spec) => operators.includes(spec.operatorKey));
88
+ // Filter by searchTerm
89
+ if (searchTerm?.trim()) {
90
+ const term = searchTerm.trim().toLowerCase();
91
+ categoryOperators = categoryOperators.filter((spec) => {
92
+ const op = opSpecs[spec.operatorKey];
93
+ const title = op?.title?.toLowerCase() || '';
94
+ const description = op?.descriptionText?.toLowerCase() || '';
95
+ return title.includes(term) || description.includes(term);
96
+ });
97
+ }
98
+ if (categoryOperators.length === 0) {
99
+ return null;
100
+ }
101
+ foundAtLeastOneOperator = true;
102
+ if (!!searchTerm?.trim() && !isExpanded) {
103
+ //if we found some results expand operators section
104
+ setIsExpanded(true);
105
+ }
89
106
 
90
- return (
91
- <StackItem key={operatorKey}>
92
- <OperatorCheckbox
93
- bundles={bundles}
94
- operatorId={operatorKey}
95
- cluster={cluster}
96
- openshiftVersion={cluster.openshiftVersion}
97
- preflightRequirements={preflightRequirements}
98
- {...opSpecs[operatorKey]}
99
- />
100
- </StackItem>
101
- );
102
- })}
103
- </Stack>
104
- </ExpandableSection>
107
+ return (
108
+ <React.Fragment key={categoryName}>
109
+ <StackItem>
110
+ <strong>{categoryName}</strong>
111
+ </StackItem>
112
+ {categoryOperators.map((spec) => (
113
+ <StackItem key={spec.operatorKey}>
114
+ <OperatorCheckbox
115
+ bundles={bundles}
116
+ operatorId={spec.operatorKey}
117
+ cluster={cluster}
118
+ openshiftVersion={cluster.openshiftVersion}
119
+ preflightRequirements={preflightRequirements}
120
+ searchTerm={searchTerm}
121
+ {...spec}
122
+ />
123
+ </StackItem>
124
+ ))}
125
+ </React.Fragment>
126
+ );
127
+ })}
128
+ </Stack>
129
+ </ExpandableSection>
130
+ {!foundAtLeastOneOperator && !!searchTerm?.trim() && <StackItem>No results found</StackItem>}
131
+ </>
105
132
  );
106
133
  };
107
134