@openshift-assisted/ui-lib 5.0.0-cim → 5.0.2-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 (607) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.d.ts.map +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.d.ts +0 -17
  5. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  6. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.d.ts +19 -0
  8. package/build/@types/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.d.ts.map +1 -0
  9. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts +2 -2
  10. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts.map +1 -1
  11. package/build/@types/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.d.ts.map +1 -1
  12. package/build/@types/cim/components/ClusterDeployment/types.d.ts +1 -3
  13. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  14. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +4 -3
  15. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  16. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.d.ts.map +1 -1
  17. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.d.ts.map +1 -1
  18. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.d.ts +6 -0
  19. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.d.ts.map +1 -0
  20. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts +4 -2
  21. package/build/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts.map +1 -1
  22. package/build/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts +2 -1
  23. package/build/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts.map +1 -1
  24. package/build/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts.map +1 -1
  25. package/build/@types/cim/components/InfraEnv/InfraEnvAgentTable.d.ts.map +1 -1
  26. package/build/@types/cim/components/common/CpuArchitectureDropdown.d.ts.map +1 -1
  27. package/build/@types/cim/components/helpers/clusterDeployment.d.ts.map +1 -1
  28. package/build/@types/cim/components/helpers/status.d.ts +5 -7
  29. package/build/@types/cim/components/helpers/status.d.ts.map +1 -1
  30. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  31. package/build/@types/cim/components/helpers/versions.d.ts +3 -2
  32. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  33. package/build/@types/cim/components/index.d.ts +0 -1
  34. package/build/@types/cim/components/index.d.ts.map +1 -1
  35. package/build/@types/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts.map +1 -1
  36. package/build/@types/cim/components/modals/CimConfiguration/constants.d.ts +1 -1
  37. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts +2 -3
  38. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts.map +1 -1
  39. package/build/@types/cim/hooks/index.d.ts +2 -0
  40. package/build/@types/cim/hooks/index.d.ts.map +1 -1
  41. package/build/@types/cim/hooks/useAgents.d.ts +4 -0
  42. package/build/@types/cim/hooks/useAgents.d.ts.map +1 -0
  43. package/build/@types/cim/hooks/useStorageClasses.d.ts +4 -0
  44. package/build/@types/cim/hooks/useStorageClasses.d.ts.map +1 -0
  45. package/build/@types/cim/index.d.ts +0 -1
  46. package/build/@types/cim/index.d.ts.map +1 -1
  47. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +2 -1
  48. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts.map +1 -1
  49. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts +7 -1
  50. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts.map +1 -1
  51. package/build/@types/common/components/clusterConfiguration/ControlPlaneNodesDropdown.d.ts.map +1 -1
  52. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  53. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts +2 -1
  54. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -1
  55. package/build/@types/common/components/clusterConfiguration/ExternalPlatformsDropdown.d.ts.map +1 -1
  56. package/build/@types/common/components/clusterConfiguration/utils.d.ts +9 -1
  57. package/build/@types/common/components/clusterConfiguration/utils.d.ts.map +1 -1
  58. package/build/@types/common/components/clusterDetail/ClusterCredentials.d.ts.map +1 -1
  59. package/build/@types/common/components/clusterDetail/ConsoleModal.d.ts +0 -5
  60. package/build/@types/common/components/clusterDetail/ConsoleModal.d.ts.map +1 -1
  61. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  62. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  63. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -1
  64. package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts.map +1 -1
  65. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts +0 -1
  66. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -1
  67. package/build/@types/common/components/hosts/utils.d.ts.map +1 -1
  68. package/build/@types/common/components/index.d.ts +1 -1
  69. package/build/@types/common/components/index.d.ts.map +1 -1
  70. package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
  71. package/build/@types/common/components/ui/formik/PullSecretField.d.ts +1 -0
  72. package/build/@types/common/components/ui/formik/PullSecretField.d.ts.map +1 -1
  73. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts +2 -1
  74. package/build/@types/common/components/ui/formik/SelectFieldWithSearch.d.ts.map +1 -1
  75. package/build/@types/common/config/constants.d.ts.map +1 -1
  76. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  77. package/build/@types/common/selectors/clusterSelectors.d.ts +1 -1
  78. package/build/@types/common/selectors/clusterSelectors.d.ts.map +1 -1
  79. package/build/@types/common/types/clusters.d.ts +3 -3
  80. package/build/@types/common/types/clusters.d.ts.map +1 -1
  81. package/build/@types/common/utils.d.ts.map +1 -1
  82. package/build/@types/ocm/components/AddHosts/types.d.ts +4 -3
  83. package/build/@types/ocm/components/AddHosts/types.d.ts.map +1 -1
  84. package/build/@types/ocm/components/Routes.d.ts +1 -1
  85. package/build/@types/ocm/components/Routes.d.ts.map +1 -1
  86. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -1
  87. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts +0 -1
  88. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts.map +1 -1
  89. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  90. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts.map +1 -1
  91. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
  92. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +10 -2
  93. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
  94. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts +4 -0
  95. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts.map +1 -1
  96. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  97. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
  98. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts +3 -1
  99. package/build/@types/ocm/components/clusterConfiguration/operators/OperatorCheckbox.d.ts.map +1 -1
  100. package/build/@types/ocm/components/clusterConfiguration/operators/bundleSpecs.d.ts.map +1 -1
  101. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts +3 -6
  102. package/build/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -1
  103. package/build/@types/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.d.ts.map +1 -1
  104. package/build/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -1
  105. package/build/@types/ocm/components/clusterConfiguration/review/ReviewSummary.d.ts.map +1 -1
  106. package/build/@types/ocm/components/clusterConfiguration/review/TableSummaryExpandable.d.ts +1 -0
  107. package/build/@types/ocm/components/clusterConfiguration/review/TableSummaryExpandable.d.ts.map +1 -1
  108. package/build/@types/ocm/components/clusterConfiguration/review/utils.d.ts +1 -1
  109. package/build/@types/ocm/components/clusterConfiguration/review/utils.d.ts.map +1 -1
  110. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.d.ts.map +1 -1
  111. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.d.ts.map +1 -1
  112. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.d.ts.map +1 -1
  113. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.d.ts +1 -0
  114. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.d.ts.map +1 -1
  115. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.d.ts +1 -1
  116. package/build/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.d.ts.map +1 -1
  117. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts +1 -1
  118. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  119. package/build/@types/ocm/components/clusterDetail/ClusterDetailsButtonGroup.d.ts.map +1 -1
  120. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  121. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +5 -0
  122. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  123. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  124. package/build/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts.map +1 -1
  125. package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
  126. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts +3 -3
  127. package/build/@types/ocm/components/clusterWizard/OperatorsBundle.d.ts.map +1 -1
  128. package/build/@types/ocm/components/clusterWizard/OperatorsSelect.d.ts.map +1 -1
  129. package/build/@types/ocm/components/clusterWizard/OptionalOperatorsDropdown.d.ts +13 -0
  130. package/build/@types/ocm/components/clusterWizard/OptionalOperatorsDropdown.d.ts.map +1 -0
  131. package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
  132. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts +1 -0
  133. package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -1
  134. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts +4 -0
  135. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts.map +1 -0
  136. package/build/@types/ocm/components/clusterWizard/disconnected/ReviewStep.d.ts.map +1 -1
  137. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +4 -5
  138. package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
  139. package/build/@types/ocm/components/clusters/ClustersListToolbar.d.ts +1 -2
  140. package/build/@types/ocm/components/clusters/ClustersListToolbar.d.ts.map +1 -1
  141. package/build/@types/ocm/components/clusters/ClustersTable.d.ts.map +1 -1
  142. package/build/@types/ocm/components/featureSupportLevels/index.d.ts +0 -1
  143. package/build/@types/ocm/components/featureSupportLevels/index.d.ts.map +1 -1
  144. package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts +1 -1
  145. package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts.map +1 -1
  146. package/build/@types/ocm/hooks/useLateBinding.d.ts.map +1 -1
  147. package/build/@types/ocm/services/ClustersService.d.ts +2 -1
  148. package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
  149. package/build/@types/ocm/services/InfraEnvsService.d.ts +1 -1
  150. package/build/@types/ocm/services/InfraEnvsService.d.ts.map +1 -1
  151. package/build/@types/ocm/services/NewFeatureSupportLevelsService.d.ts +1 -1
  152. package/build/@types/ocm/store/hooks.d.ts +1 -1
  153. package/build/@types/ocm/store/slices/clusters/selectors.d.ts +5 -61
  154. package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -1
  155. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +2 -0
  156. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -1
  157. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts +2 -20
  158. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts.map +1 -1
  159. package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts +4 -21
  160. package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts.map +1 -1
  161. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js +1 -1
  162. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js.map +1 -1
  163. package/build/cjs/cim/components/Agent/NoAgentsAlert.js +2 -2
  164. package/build/cjs/cim/components/Agent/NoAgentsAlert.js.map +1 -1
  165. package/build/cjs/cim/components/Agent/tableColumns.js +3 -3
  166. package/build/cjs/cim/components/Agent/tableColumns.js.map +1 -1
  167. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +22 -16
  168. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  169. package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js +1 -1
  170. package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js.map +1 -1
  171. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.js +6 -3
  172. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.js.map +1 -1
  173. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js +4 -5
  174. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js.map +1 -1
  175. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.js +6 -32
  176. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.js.map +1 -1
  177. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js +3 -16
  178. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -1
  179. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.js +41 -0
  180. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.js.map +1 -0
  181. package/build/cjs/cim/components/ClusterDeployment/components/ValidationSection.js.map +1 -1
  182. package/build/cjs/cim/components/ClusterDeployment/constants.js +2 -2
  183. package/build/cjs/cim/components/ClusterDeployment/constants.js.map +1 -1
  184. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js +1 -1
  185. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js.map +1 -1
  186. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js +2 -2
  187. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.js.map +1 -1
  188. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js +2 -2
  189. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -1
  190. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js +8 -8
  191. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js.map +1 -1
  192. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +26 -8
  193. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
  194. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js +2 -2
  195. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js.map +1 -1
  196. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js +3 -1
  197. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js.map +1 -1
  198. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js +13 -3
  199. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js.map +1 -1
  200. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.js +52 -0
  201. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.js.map +1 -0
  202. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js +3 -3
  203. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js.map +1 -1
  204. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +2 -2
  205. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
  206. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js +2 -4
  207. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js.map +1 -1
  208. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +2 -2
  209. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  210. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +1 -1
  211. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
  212. package/build/cjs/cim/components/common/CpuArchitectureDropdown.js +1 -1
  213. package/build/cjs/cim/components/common/CpuArchitectureDropdown.js.map +1 -1
  214. package/build/cjs/cim/components/helpers/clusterDeployment.js +14 -10
  215. package/build/cjs/cim/components/helpers/clusterDeployment.js.map +1 -1
  216. package/build/cjs/cim/components/helpers/status.js +4 -4
  217. package/build/cjs/cim/components/helpers/status.js.map +1 -1
  218. package/build/cjs/cim/components/helpers/toAssisted.js +2 -12
  219. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  220. package/build/cjs/cim/components/helpers/versions.js +6 -6
  221. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  222. package/build/cjs/cim/components/helpers/versions.test.js +19 -18
  223. package/build/cjs/cim/components/helpers/versions.test.js.map +1 -1
  224. package/build/cjs/cim/components/index.js +0 -1
  225. package/build/cjs/cim/components/index.js.map +1 -1
  226. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js +3 -3
  227. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js.map +1 -1
  228. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js +1 -1
  229. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js.map +1 -1
  230. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +2 -2
  231. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
  232. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js +4 -4
  233. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js.map +1 -1
  234. package/build/cjs/cim/components/modals/CimConfiguration/constants.js +1 -1
  235. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +4 -4
  236. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  237. package/build/cjs/cim/hooks/index.js +2 -0
  238. package/build/cjs/cim/hooks/index.js.map +1 -1
  239. package/build/cjs/cim/hooks/useAgents.js +13 -0
  240. package/build/cjs/cim/hooks/useAgents.js.map +1 -0
  241. package/build/cjs/cim/hooks/useStorageClasses.js +13 -0
  242. package/build/cjs/cim/hooks/useStorageClasses.js.map +1 -0
  243. package/build/cjs/cim/index.js +0 -1
  244. package/build/cjs/cim/index.js.map +1 -1
  245. package/build/cjs/common/api/assisted-service/ClustersAPI.js +3 -0
  246. package/build/cjs/common/api/assisted-service/ClustersAPI.js.map +1 -1
  247. package/build/cjs/common/api/assisted-service/NewFeatureSupportLevelsAPI.js.map +1 -1
  248. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js +2 -4
  249. package/build/cjs/common/components/clusterConfiguration/ControlPlaneNodesDropdown.js.map +1 -1
  250. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +1 -1
  251. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  252. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +9 -3
  253. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -1
  254. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +1 -1
  255. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
  256. package/build/cjs/common/components/clusterConfiguration/ExternalPlatformsDropdown.js +1 -1
  257. package/build/cjs/common/components/clusterConfiguration/ExternalPlatformsDropdown.js.map +1 -1
  258. package/build/cjs/common/components/clusterConfiguration/utils.js +13 -1
  259. package/build/cjs/common/components/clusterConfiguration/utils.js.map +1 -1
  260. package/build/cjs/common/components/clusterConfiguration/utils.test.js +36 -0
  261. package/build/cjs/common/components/clusterConfiguration/utils.test.js.map +1 -1
  262. package/build/cjs/common/components/clusterDetail/ClusterCredentials.js +10 -9
  263. package/build/cjs/common/components/clusterDetail/ClusterCredentials.js.map +1 -1
  264. package/build/cjs/common/components/clusterDetail/ConsoleModal.js +2 -11
  265. package/build/cjs/common/components/clusterDetail/ConsoleModal.js.map +1 -1
  266. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +16 -0
  267. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  268. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +34 -19
  269. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  270. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +29 -31
  271. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -1
  272. package/build/cjs/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.js +3 -3
  273. package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js +19 -30
  274. package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js.map +1 -1
  275. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js +12 -21
  276. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js.map +1 -1
  277. package/build/cjs/common/components/hosts/utils.js +6 -1
  278. package/build/cjs/common/components/hosts/utils.js.map +1 -1
  279. package/build/cjs/common/components/index.js +1 -1
  280. package/build/cjs/common/components/index.js.map +1 -1
  281. package/build/cjs/common/components/operators/operatorSpecs.js +0 -3
  282. package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
  283. package/build/cjs/common/components/ui/formik/PullSecretField.js +2 -2
  284. package/build/cjs/common/components/ui/formik/PullSecretField.js.map +1 -1
  285. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js +2 -1
  286. package/build/cjs/common/components/ui/formik/SelectFieldWithSearch.js.map +1 -1
  287. package/build/cjs/common/config/constants.js +4 -0
  288. package/build/cjs/common/config/constants.js.map +1 -1
  289. package/build/cjs/common/config/docs_links.js +5 -4
  290. package/build/cjs/common/config/docs_links.js.map +1 -1
  291. package/build/cjs/common/selectors/clusterSelectors.js +7 -8
  292. package/build/cjs/common/selectors/clusterSelectors.js.map +1 -1
  293. package/build/cjs/common/types/clusters.js.map +1 -1
  294. package/build/cjs/common/utils.js +3 -0
  295. package/build/cjs/common/utils.js.map +1 -1
  296. package/build/cjs/common/validationSchemas/addressValidation.js +1 -1
  297. package/build/cjs/common/validationSchemas/addressValidation.js.map +1 -1
  298. package/build/cjs/ocm/components/Routes.js +8 -8
  299. package/build/cjs/ocm/components/Routes.js.map +1 -1
  300. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js +5 -2
  301. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -1
  302. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js +2 -2
  303. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.js.map +1 -1
  304. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +6 -2
  305. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  306. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js +1 -1
  307. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js.map +1 -1
  308. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +1 -1
  309. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
  310. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js +3 -1
  311. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js.map +1 -1
  312. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +3 -1
  313. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
  314. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
  315. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js +11 -8
  316. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js.map +1 -1
  317. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +68 -17
  318. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  319. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +1 -1
  320. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  321. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +50 -13
  322. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
  323. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js +39 -21
  324. package/build/cjs/ocm/components/clusterConfiguration/operators/OperatorCheckbox.js.map +1 -1
  325. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js +1 -2
  326. package/build/cjs/ocm/components/clusterConfiguration/operators/bundleSpecs.js.map +1 -1
  327. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js +7 -25
  328. package/build/cjs/ocm/components/clusterConfiguration/operators/utils.js.map +1 -1
  329. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +1 -1
  330. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  331. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js +4 -2
  332. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js.map +1 -1
  333. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +75 -20
  334. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -1
  335. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js +2 -2
  336. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewSummary.js.map +1 -1
  337. package/build/cjs/ocm/components/clusterConfiguration/review/TableSummaryExpandable.css +3 -0
  338. package/build/cjs/ocm/components/clusterConfiguration/review/TableSummaryExpandable.js +2 -3
  339. package/build/cjs/ocm/components/clusterConfiguration/review/TableSummaryExpandable.js.map +1 -1
  340. package/build/cjs/ocm/components/clusterConfiguration/review/utils.js +8 -2
  341. package/build/cjs/ocm/components/clusterConfiguration/review/utils.js.map +1 -1
  342. package/build/cjs/ocm/components/clusterConfiguration/review/utils.test.js +35 -0
  343. package/build/cjs/ocm/components/clusterConfiguration/review/utils.test.js.map +1 -1
  344. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +10 -1
  345. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -1
  346. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js +5 -5
  347. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js.map +1 -1
  348. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js +2 -2
  349. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js.map +1 -1
  350. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.js.map +1 -1
  351. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js +3 -7
  352. package/build/cjs/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js.map +1 -1
  353. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +4 -4
  354. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  355. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +4 -4
  356. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
  357. package/build/cjs/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js +8 -2
  358. package/build/cjs/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js.map +1 -1
  359. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js +1 -1
  360. package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js.map +1 -1
  361. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +1 -1
  362. package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
  363. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +6 -13
  364. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  365. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +2 -2
  366. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  367. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  368. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +15 -6
  369. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  370. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js +2 -2
  371. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js.map +1 -1
  372. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js +9 -3
  373. package/build/cjs/ocm/components/clusterWizard/NewClusterWizard.js.map +1 -1
  374. package/build/cjs/ocm/components/clusterWizard/Operators.js +40 -12
  375. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  376. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js +34 -15
  377. package/build/cjs/ocm/components/clusterWizard/OperatorsBundle.js.map +1 -1
  378. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +18 -4
  379. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -1
  380. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.test.js +11 -5
  381. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.test.js.map +1 -1
  382. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +1 -1
  383. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  384. package/build/cjs/ocm/components/clusterWizard/OptionalOperatorsDropdown.js +34 -0
  385. package/build/cjs/ocm/components/clusterWizard/OptionalOperatorsDropdown.js.map +1 -0
  386. package/build/cjs/ocm/components/clusterWizard/constants.js +1 -0
  387. package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
  388. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +16 -22
  389. package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -1
  390. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js +102 -0
  391. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js.map +1 -0
  392. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +10 -8
  393. package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -1
  394. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +72 -29
  395. package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
  396. package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js +2 -2
  397. package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js.map +1 -1
  398. package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -4
  399. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  400. package/build/cjs/ocm/components/clusters/Clusters.js +3 -3
  401. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  402. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +5 -5
  403. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  404. package/build/cjs/ocm/components/clusters/ClustersTable.js +4 -3
  405. package/build/cjs/ocm/components/clusters/ClustersTable.js.map +1 -1
  406. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +1 -1
  407. package/build/cjs/ocm/components/featureSupportLevels/index.js +0 -1
  408. package/build/cjs/ocm/components/featureSupportLevels/index.js.map +1 -1
  409. package/build/cjs/ocm/components/ui/Buttons/BackButton.js +2 -2
  410. package/build/cjs/ocm/components/ui/Buttons/BackButton.js.map +1 -1
  411. package/build/cjs/ocm/hooks/useInfraEnvId.js +2 -2
  412. package/build/cjs/ocm/hooks/useInfraEnvId.js.map +1 -1
  413. package/build/cjs/ocm/hooks/useLateBinding.js +41 -26
  414. package/build/cjs/ocm/hooks/useLateBinding.js.map +1 -1
  415. package/build/cjs/ocm/hooks/usePullSecret.js +2 -2
  416. package/build/cjs/ocm/services/ClustersService.js +3 -0
  417. package/build/cjs/ocm/services/ClustersService.js.map +1 -1
  418. package/build/cjs/ocm/services/InfraEnvsService.js +4 -1
  419. package/build/cjs/ocm/services/InfraEnvsService.js.map +1 -1
  420. package/build/cjs/ocm/store/slices/clusters/selectors.js +2 -2
  421. package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -1
  422. package/build/cjs/ocm/store/slices/feature-flags/selectors.js.map +1 -1
  423. package/build/cjs/ocm/store/slices/infra-envs/selectors.js.map +1 -1
  424. package/lib/cim/components/Agent/AgentsSelectionTable.tsx +1 -1
  425. package/lib/cim/components/Agent/NoAgentsAlert.tsx +1 -1
  426. package/lib/cim/components/Agent/tableColumns.tsx +1 -1
  427. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +101 -101
  428. package/lib/cim/components/ClusterDeployment/ClusterInstallationError.tsx +1 -1
  429. package/lib/cim/components/ClusterDeployment/clusterDetails/ACMClusterDeploymentDetailsStep.tsx +6 -3
  430. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.tsx +6 -6
  431. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsStep.tsx +6 -87
  432. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.tsx +3 -15
  433. package/lib/cim/components/ClusterDeployment/clusterDetails/useDetailsFormik.tsx +97 -0
  434. package/lib/cim/components/ClusterDeployment/components/ValidationSection.tsx +3 -2
  435. package/lib/cim/components/ClusterDeployment/constants.ts +2 -2
  436. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.tsx +1 -1
  437. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostsDiscoveryStep.tsx +2 -2
  438. package/lib/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.tsx +2 -2
  439. package/lib/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.tsx +29 -25
  440. package/lib/cim/components/ClusterDeployment/types.ts +2 -4
  441. package/lib/cim/components/ClusterDeployment/wizardTransition.ts +35 -20
  442. package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.tsx +1 -1
  443. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.tsx +4 -0
  444. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.tsx +15 -2
  445. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/StorageClassDropdown.tsx +70 -0
  446. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.ts +10 -2
  447. package/lib/cim/components/Hypershift/hooks/useSupportedOCPVersions.ts +4 -2
  448. package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +1 -1
  449. package/lib/cim/components/InfraEnv/EnvironmentErrors.tsx +9 -8
  450. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +0 -2
  451. package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +1 -1
  452. package/lib/cim/components/common/CpuArchitectureDropdown.tsx +2 -1
  453. package/lib/cim/components/helpers/clusterDeployment.ts +9 -4
  454. package/lib/cim/components/helpers/status.ts +12 -13
  455. package/lib/cim/components/helpers/toAssisted.ts +3 -13
  456. package/lib/cim/components/helpers/versions.test.ts +21 -18
  457. package/lib/cim/components/helpers/versions.ts +7 -3
  458. package/lib/cim/components/index.ts +0 -1
  459. package/lib/cim/components/modals/CimConfiguration/CimConfigProgressAlert.tsx +2 -2
  460. package/lib/cim/components/modals/CimConfiguration/CimConfigurationFormFields.tsx +1 -1
  461. package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +2 -2
  462. package/lib/cim/components/modals/CimConfiguration/CimStorageMissingAlert.tsx +9 -3
  463. package/lib/cim/components/modals/CimConfiguration/constants.ts +1 -1
  464. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +4 -15
  465. package/lib/cim/hooks/index.tsx +2 -0
  466. package/lib/cim/hooks/useAgents.tsx +15 -0
  467. package/lib/cim/hooks/useStorageClasses.tsx +15 -0
  468. package/lib/cim/index.ts +0 -1
  469. package/lib/common/api/assisted-service/ClustersAPI.ts +8 -0
  470. package/lib/common/api/assisted-service/NewFeatureSupportLevelsAPI.ts +9 -4
  471. package/lib/common/components/clusterConfiguration/ControlPlaneNodesDropdown.tsx +5 -7
  472. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +3 -1
  473. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +18 -8
  474. package/lib/common/components/clusterConfiguration/DownloadIso.tsx +1 -1
  475. package/lib/common/components/clusterConfiguration/ExternalPlatformsDropdown.tsx +3 -1
  476. package/lib/common/components/clusterConfiguration/utils.test.ts +43 -1
  477. package/lib/common/components/clusterConfiguration/utils.ts +13 -0
  478. package/lib/common/components/clusterDetail/ClusterCredentials.tsx +49 -53
  479. package/lib/common/components/clusterDetail/ConsoleModal.tsx +1 -36
  480. package/lib/common/components/clusterWizard/ReviewValidations.tsx +24 -0
  481. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +38 -12
  482. package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +31 -57
  483. package/lib/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.tsx +3 -3
  484. package/lib/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.tsx +33 -38
  485. package/lib/common/components/clusterWizard/validationsInfoUtils.ts +16 -23
  486. package/lib/common/components/hosts/utils.ts +8 -1
  487. package/lib/common/components/index.ts +1 -1
  488. package/lib/common/components/operators/operatorSpecs.tsx +0 -16
  489. package/lib/common/components/ui/formik/PullSecretField.tsx +5 -2
  490. package/lib/common/components/ui/formik/SelectFieldWithSearch.tsx +3 -0
  491. package/lib/common/config/constants.ts +4 -0
  492. package/lib/common/config/docs_links.ts +5 -4
  493. package/lib/common/selectors/clusterSelectors.ts +9 -9
  494. package/lib/common/types/clusters.ts +4 -2
  495. package/lib/common/utils.ts +3 -0
  496. package/lib/common/validationSchemas/addressValidation.tsx +2 -2
  497. package/lib/ocm/components/AddHosts/types.ts +6 -3
  498. package/lib/ocm/components/Routes.tsx +2 -2
  499. package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +11 -2
  500. package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.tsx +13 -3
  501. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +9 -1
  502. package/lib/ocm/components/clusterConfiguration/OcmClusterProgressItems.tsx +2 -2
  503. package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +3 -3
  504. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx +8 -1
  505. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +3 -1
  506. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +2 -2
  507. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.tsx +12 -6
  508. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +86 -22
  509. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +2 -2
  510. package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +57 -20
  511. package/lib/ocm/components/clusterConfiguration/operators/OperatorCheckbox.tsx +48 -34
  512. package/lib/ocm/components/clusterConfiguration/operators/bundleSpecs.tsx +2 -3
  513. package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +6 -37
  514. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +1 -1
  515. package/lib/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.tsx +4 -2
  516. package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +114 -24
  517. package/lib/ocm/components/clusterConfiguration/review/ReviewSummary.tsx +1 -4
  518. package/lib/ocm/components/clusterConfiguration/review/TableSummaryExpandable.css +3 -0
  519. package/lib/ocm/components/clusterConfiguration/review/TableSummaryExpandable.tsx +1 -1
  520. package/lib/ocm/components/clusterConfiguration/review/utils.test.ts +41 -0
  521. package/lib/ocm/components/clusterConfiguration/review/utils.tsx +6 -3
  522. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +10 -1
  523. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.tsx +9 -6
  524. package/lib/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.ts +2 -0
  525. package/lib/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.ts +1 -0
  526. package/lib/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.ts +2 -0
  527. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +1 -1
  528. package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +3 -3
  529. package/lib/ocm/components/clusterDetail/ClusterDetailsButtonGroup.tsx +27 -2
  530. package/lib/ocm/components/clusterDetail/ClusterInstallationError.tsx +1 -1
  531. package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +1 -1
  532. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +4 -16
  533. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +1 -1
  534. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +5 -0
  535. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +15 -14
  536. package/lib/ocm/components/clusterWizard/ClusterWizardFooter.tsx +1 -1
  537. package/lib/ocm/components/clusterWizard/NewClusterWizard.tsx +10 -3
  538. package/lib/ocm/components/clusterWizard/Operators.tsx +47 -12
  539. package/lib/ocm/components/clusterWizard/OperatorsBundle.tsx +72 -26
  540. package/lib/ocm/components/clusterWizard/OperatorsSelect.test.ts +11 -5
  541. package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +21 -4
  542. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +1 -1
  543. package/lib/ocm/components/clusterWizard/OptionalOperatorsDropdown.tsx +106 -0
  544. package/lib/ocm/components/clusterWizard/constants.ts +1 -0
  545. package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +31 -52
  546. package/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +173 -0
  547. package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +11 -9
  548. package/lib/ocm/components/clusterWizard/wizardTransition.ts +96 -37
  549. package/lib/ocm/components/clusters/ClusterBreadcrumbs.tsx +1 -1
  550. package/lib/ocm/components/clusters/ClusterPage.tsx +1 -1
  551. package/lib/ocm/components/clusters/Clusters.tsx +2 -2
  552. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +5 -7
  553. package/lib/ocm/components/clusters/ClustersTable.tsx +60 -50
  554. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +1 -1
  555. package/lib/ocm/components/featureSupportLevels/index.ts +0 -1
  556. package/lib/ocm/components/ui/Buttons/BackButton.tsx +1 -1
  557. package/lib/ocm/hooks/useInfraEnvId.ts +2 -2
  558. package/lib/ocm/hooks/useLateBinding.ts +45 -24
  559. package/lib/ocm/hooks/usePullSecret.ts +2 -2
  560. package/lib/ocm/services/ClustersService.ts +5 -0
  561. package/lib/ocm/services/InfraEnvsService.ts +4 -1
  562. package/lib/ocm/store/slices/clusters/selectors.tsx +7 -5
  563. package/lib/ocm/store/slices/feature-flags/selectors.ts +5 -2
  564. package/lib/ocm/store/slices/infra-envs/selectors.ts +4 -2
  565. package/package.json +17 -17
  566. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts +0 -9
  567. package/build/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts.map +0 -1
  568. package/build/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts +0 -6
  569. package/build/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts.map +0 -1
  570. package/build/@types/cim/components/featureSupportLevels/index.d.ts +0 -2
  571. package/build/@types/cim/components/featureSupportLevels/index.d.ts.map +0 -1
  572. package/build/@types/cim/config/constants.d.ts +0 -16
  573. package/build/@types/cim/config/constants.d.ts.map +0 -1
  574. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts +0 -9
  575. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts.map +0 -1
  576. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts +0 -22
  577. package/build/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts.map +0 -1
  578. package/build/@types/common/components/featureSupportLevels/index.d.ts +0 -3
  579. package/build/@types/common/components/featureSupportLevels/index.d.ts.map +0 -1
  580. package/build/@types/common/components/featureSupportLevels/types.d.ts +0 -8
  581. package/build/@types/common/components/featureSupportLevels/types.d.ts.map +0 -1
  582. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js +0 -82
  583. package/build/cjs/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js.map +0 -1
  584. package/build/cjs/cim/components/featureSupportLevels/featureStateUtils.js +0 -45
  585. package/build/cjs/cim/components/featureSupportLevels/featureStateUtils.js.map +0 -1
  586. package/build/cjs/cim/components/featureSupportLevels/index.js +0 -7
  587. package/build/cjs/cim/components/featureSupportLevels/index.js.map +0 -1
  588. package/build/cjs/cim/config/constants.js +0 -272
  589. package/build/cjs/cim/config/constants.js.map +0 -1
  590. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelBadge.js +0 -26
  591. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelBadge.js.map +0 -1
  592. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelContext.js +0 -21
  593. package/build/cjs/common/components/featureSupportLevels/FeatureSupportLevelContext.js.map +0 -1
  594. package/build/cjs/common/components/featureSupportLevels/index.js +0 -8
  595. package/build/cjs/common/components/featureSupportLevels/index.js.map +0 -1
  596. package/build/cjs/common/components/featureSupportLevels/types.js +0 -3
  597. package/build/cjs/common/components/featureSupportLevels/types.js.map +0 -1
  598. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageModal.css +0 -3
  599. package/lib/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.tsx +0 -136
  600. package/lib/cim/components/featureSupportLevels/featureStateUtils.tsx +0 -61
  601. package/lib/cim/components/featureSupportLevels/index.ts +0 -1
  602. package/lib/cim/config/constants.ts +0 -285
  603. package/lib/common/components/featureSupportLevels/FeatureSupportLevelBadge.tsx +0 -37
  604. package/lib/common/components/featureSupportLevels/FeatureSupportLevelContext.tsx +0 -49
  605. package/lib/common/components/featureSupportLevels/index.ts +0 -2
  606. package/lib/common/components/featureSupportLevels/types.ts +0 -12
  607. package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.css +0 -3
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ButtonVariant, FormGroup, Split, SplitItem, Tooltip } from '@patternfly/react-core';
2
+ import { ButtonVariant, FormGroup, Radio, Split, SplitItem, Tooltip } from '@patternfly/react-core';
3
3
  import { useFormikContext } from 'formik';
4
4
  import { Address4, Address6 } from 'ip-address';
5
5
 
@@ -9,10 +9,9 @@ import {
9
9
  NETWORK_TYPE_OVN,
10
10
  NETWORK_TYPE_SDN,
11
11
  } from '../../../types';
12
- import { getFieldId } from '../../ui';
12
+ import { ConfirmationModal, getFieldId, PopoverIcon } from '../../ui';
13
13
  import { DUAL_STACK, NO_SUBNET_SET, SINGLE_STACK } from '../../../config';
14
14
  import { RadioField } from '../../ui/formik';
15
- import { ConfirmationModal, PopoverIcon } from '../../ui';
16
15
  import { useTranslation } from '../../../hooks/use-translation-wrapper';
17
16
  import { reorderNetworksByCurrentPrimary } from './reorderNetworks';
18
17
  import {
@@ -72,36 +71,32 @@ export const StackTypeControlGroup = ({
72
71
 
73
72
  const IPv6Subnets = hostSubnets.filter((subnet) => Address6.isValid(subnet.subnet));
74
73
  const cidrIPv6 = IPv6Subnets.length >= 1 ? IPv6Subnets[0].subnet : NO_SUBNET_SET;
74
+ const isSingleStackSelected = values.stackType !== DUAL_STACK;
75
+
75
76
  const shouldSetSingleStack =
76
77
  !isViewerMode && !isDualStackSelectable && values.stackType === DUAL_STACK;
77
78
 
78
79
  const setSingleStack = React.useCallback(() => {
79
80
  setFieldValue('stackType', SINGLE_STACK);
80
81
 
81
- // Determine whether the first machine network is IPv4
82
82
  const firstNetwork = values.machineNetworks?.[0];
83
83
  const isFirstIPv4 = Boolean(firstNetwork?.cidr && Address4.isValid(firstNetwork.cidr));
84
84
 
85
85
  if (values.machineNetworks && values.machineNetworks?.length >= 2) {
86
- // For single-stack IPv4, prefer IPv4 machine network
87
86
  if (isFirstIPv4) {
88
- // Keep the first network if it's IPv4
89
87
  setFieldValue('machineNetworks', [firstNetwork]);
90
88
  } else {
91
- // If first is IPv6, look for IPv4 network or set empty for auto-selection
92
89
  const ipv4Network = values.machineNetworks.find(
93
90
  (network) => network.cidr && Address4.isValid(network.cidr),
94
91
  );
95
92
  if (ipv4Network) {
96
93
  setFieldValue('machineNetworks', [ipv4Network]);
97
94
  } else {
98
- // No IPv4 network found, set empty for auto-selection
99
95
  setFieldValue('machineNetworks', []);
100
96
  }
101
97
  }
102
98
  }
103
99
 
104
- // Set cluster/service to IPv4 defaults when switching to single-stack
105
100
  if (values.clusterNetworks && values.clusterNetworks.length >= 1) {
106
101
  const defaultCluster =
107
102
  defaultNetworkValues.clusterNetworksIpv4 && defaultNetworkValues.clusterNetworksIpv4[0];
@@ -110,12 +105,12 @@ export const StackTypeControlGroup = ({
110
105
  ? {
111
106
  cidr: defaultCluster.cidr,
112
107
  hostPrefix: defaultCluster.hostPrefix,
113
- clusterId: firstCluster.clusterId, // ← Preserve clusterId from original network
108
+ clusterId: firstCluster.clusterId,
114
109
  }
115
110
  : {
116
111
  cidr: '',
117
112
  hostPrefix: '',
118
- clusterId: clusterId, // ← Use current clusterId
113
+ clusterId: clusterId,
119
114
  };
120
115
  setFieldValue('clusterNetworks', [ipv4Cluster]);
121
116
  }
@@ -126,22 +121,20 @@ export const StackTypeControlGroup = ({
126
121
  const ipv4Service = defaultService
127
122
  ? {
128
123
  cidr: defaultService.cidr,
129
- clusterId: firstService.clusterId, // ← Preserve clusterId from original network
124
+ clusterId: firstService.clusterId,
130
125
  }
131
126
  : {
132
127
  cidr: '',
133
- clusterId: clusterId, // ← Use current clusterId
128
+ clusterId: clusterId,
134
129
  };
135
130
  setFieldValue('serviceNetworks', [ipv4Service]);
136
131
  }
137
132
 
138
- // Keep only IPv4 VIPs when switching to single-stack (unless DHCP allocation is used)
139
133
  if (!values.vipDhcpAllocation) {
140
134
  const pruneVips = (
141
135
  vips?: { ip?: string; clusterId?: Cluster['id'] }[],
142
136
  ): { ip: string; clusterId: Cluster['id'] }[] => {
143
137
  if (!vips || vips.length === 0) return [];
144
- // Choose which index to keep based on whether the first network is IPv4
145
138
  const keepIndex = isFirstIPv4 ? 0 : 1;
146
139
  const chosen = vips[keepIndex];
147
140
  return chosen && chosen.ip
@@ -177,12 +170,10 @@ export const StackTypeControlGroup = ({
177
170
  }
178
171
 
179
172
  if (values.machineNetworks && values.machineNetworks?.length < 2) {
180
- // Ensure IPv4 is primary when switching to dual-stack
181
173
  const firstNetwork = values.machineNetworks[0];
182
174
  const isFirstIPv6 = firstNetwork?.cidr && Address6.isValid(firstNetwork.cidr);
183
175
 
184
176
  if (isFirstIPv6) {
185
- // If first network is IPv6, make IPv4 primary and IPv6 secondary
186
177
  const IPv4Subnets = hostSubnets.filter((subnet) => Address4.isValid(subnet.subnet));
187
178
  const cidrIPv4 = IPv4Subnets.length >= 1 ? IPv4Subnets[0].subnet : NO_SUBNET_SET;
188
179
  setFieldValue(
@@ -194,7 +185,6 @@ export const StackTypeControlGroup = ({
194
185
  false,
195
186
  );
196
187
  } else {
197
- // If first network is IPv4, add IPv6 as secondary
198
188
  setFieldValue(
199
189
  'machineNetworks',
200
190
  [...values.machineNetworks, { cidr: cidrIPv6, clusterId: clusterId }],
@@ -225,7 +215,6 @@ export const StackTypeControlGroup = ({
225
215
  };
226
216
  setFieldValue('serviceNetworks', [...values.serviceNetworks, secondServiceNetwork], false);
227
217
  }
228
- // Initialize VIPs for dual-stack
229
218
  if (values.apiVips && values.apiVips.length < 2) {
230
219
  setFieldValue(
231
220
  'apiVips',
@@ -244,8 +233,9 @@ export const StackTypeControlGroup = ({
244
233
  );
245
234
  }
246
235
  };
247
- // Ensure cluster/service networks ordering matches the new primary family
236
+
248
237
  const primaryCidr = values.machineNetworks?.[0]?.cidr;
238
+
249
239
  React.useEffect(() => {
250
240
  if (isViewerMode) {
251
241
  return;
@@ -261,10 +251,11 @@ export const StackTypeControlGroup = ({
261
251
  values.serviceNetworks,
262
252
  ]);
263
253
 
264
- const setStackType = (e: React.ChangeEvent<HTMLInputElement>) => {
265
- if (e.target.value === DUAL_STACK) {
266
- setDualStack();
267
- } else if (
254
+ const handleSingleStackRadioClick = () => {
255
+ if (isSingleStackSelected) {
256
+ return;
257
+ }
258
+ if (
268
259
  hasDualStackConfigurationChanged(
269
260
  defaultNetworkValues.clusterNetworksDualstack || [],
270
261
  defaultNetworkValues.serviceNetworksDualstack || [],
@@ -284,32 +275,34 @@ export const StackTypeControlGroup = ({
284
275
  }
285
276
  }, [shouldSetSingleStack, setSingleStack]);
286
277
 
278
+ const singleStackPopoverContent = allowSingleStackIPv6
279
+ ? t('ai:Select a single address family (IPv4 or IPv6) for your machine network.')
280
+ : t('ai:Select this when your hosts are using only IPv4.');
281
+
282
+ const singleStackRadioId = getFieldId('stackType', 'radio', SINGLE_STACK);
283
+
287
284
  return (
288
285
  <>
289
286
  <FormGroup
290
- label="Networking stack type"
287
+ label={t('ai:Networking stack type')}
291
288
  fieldId={getFieldId('stackType', 'radio')}
292
- onChange={setStackType}
293
289
  isInline
294
290
  >
295
291
  <Split>
296
292
  <SplitItem>
297
- <RadioField
298
- name={'stackType'}
293
+ <Radio
294
+ id={singleStackRadioId}
295
+ name="stackType"
299
296
  value={SINGLE_STACK}
300
- isDisabled={!isDualStackSelectable || isViewerMode}
301
297
  label={`${singleStackLabel}\u00A0`}
298
+ isChecked={isSingleStackSelected}
299
+ isDisabled={!isDualStackSelectable || isViewerMode}
300
+ onChange={() => handleSingleStackRadioClick()}
301
+ data-testid="form-radio-stackType-singleStack-field"
302
302
  />
303
303
  </SplitItem>
304
304
  <SplitItem>
305
- <PopoverIcon
306
- bodyContent={
307
- allowSingleStackIPv6
308
- ? t('ai:Select a single address family (IPv4 or IPv6) for your machine network.')
309
- : t('ai:Select this when your hosts are using only IPv4.')
310
- }
311
- buttonStyle={{ top: '-4px' }}
312
- />
305
+ <PopoverIcon bodyContent={singleStackPopoverContent} buttonStyle={{ top: '-4px' }} />
313
306
  </SplitItem>
314
307
  </Split>
315
308
  <Split>
@@ -325,6 +318,8 @@ export const StackTypeControlGroup = ({
325
318
  value={DUAL_STACK}
326
319
  isDisabled={!isDualStackSelectable || isViewerMode}
327
320
  label="Dual-stack&nbsp;"
321
+ callFormikOnChange={false}
322
+ onChange={() => setDualStack()}
328
323
  />
329
324
  </Tooltip>
330
325
  </SplitItem>
@@ -343,7 +338,7 @@ export const StackTypeControlGroup = ({
343
338
  titleIconVariant={'warning'}
344
339
  confirmationButtonText={'Change'}
345
340
  confirmationButtonVariant={ButtonVariant.primary}
346
- content={<p>All data and configuration done for 'Dual-stack' will be lost.</p>}
341
+ content={<p>All data and configuration done for &apos;Dual-stack&apos; will be lost.</p>}
347
342
  onClose={() => {
348
343
  setConfirmModal(false);
349
344
  setDualStack();
@@ -63,13 +63,26 @@ export const findValidationFixStep = <ClusterWizardStepsType extends string>(
63
63
  wizardStepsValidationsMap: WizardStepsValidationMap<ClusterWizardStepsType>,
64
64
  ): ClusterWizardStepsType | undefined => {
65
65
  const keys = lodashKeys(wizardStepsValidationsMap) as ClusterWizardStepsType[];
66
- return keys.find((key) => {
67
- // find first matching validation-map name
66
+
67
+ // find the step based on the validationId first
68
+ const validationStep = keys.find((key) => {
68
69
  const { cluster: clusterValidationMap, host: hostValidationMap } =
69
70
  wizardStepsValidationsMap[key];
70
71
  return (
71
72
  clusterValidationMap.validationIds.includes(validationId as ClusterValidationId) ||
72
- hostValidationMap.validationIds.includes(validationId as HostValidationId) ||
73
+ hostValidationMap.validationIds.includes(validationId as HostValidationId)
74
+ );
75
+ });
76
+
77
+ if (validationStep) {
78
+ return validationStep;
79
+ }
80
+
81
+ // find the step based on the cluster/host validation group as a backup
82
+ return keys.find((key) => {
83
+ const { cluster: clusterValidationMap, host: hostValidationMap } =
84
+ wizardStepsValidationsMap[key];
85
+ return (
73
86
  (clusterGroup && clusterValidationMap.groups.includes(clusterGroup)) ||
74
87
  (hostGroup && hostValidationMap.groups.includes(hostGroup))
75
88
  );
@@ -282,23 +295,3 @@ export const areOnlySoftValidationsOfWizardStepFailing = <ClusterWizardStepsType
282
295
  }
283
296
  return true;
284
297
  };
285
-
286
- export const findValidationStep = <ClusterWizardStepsType extends string>(
287
- validationId: ClusterValidationId | HostValidationId,
288
- wizardStepsValidationsMap: WizardStepsValidationMap<ClusterWizardStepsType>,
289
- minimumStep: ClusterWizardStepsType,
290
- ): ClusterWizardStepsType | undefined => {
291
- const wizardStepsIds = lodashKeys(wizardStepsValidationsMap) as ClusterWizardStepsType[];
292
- let isBeforeMinimumStep = true;
293
- return wizardStepsIds.find((wizardStepId) => {
294
- if (wizardStepId === minimumStep) {
295
- isBeforeMinimumStep = false;
296
- }
297
- if (isBeforeMinimumStep) {
298
- return false;
299
- }
300
- // find first matching validation-map name, ignoring steps before minimumStep
301
- const { host: hostValidationMap } = wizardStepsValidationsMap[wizardStepId];
302
- return hostValidationMap.validationIds.includes(validationId as HostValidationId);
303
- });
304
- };
@@ -263,7 +263,14 @@ export const areOnlySoftValidationsFailing = (validationsInfo: HostValidationsIn
263
263
  );
264
264
  if (!failingValidationIds.length) return false;
265
265
  for (const id of failingValidationIds) {
266
- if (!['ntp-synced', 'container-images-available', 'mtu-valid'].includes(id)) {
266
+ if (
267
+ ![
268
+ 'ntp-synced',
269
+ 'container-images-available',
270
+ 'mtu-valid',
271
+ 'inventory-not-partially-truncated',
272
+ ].includes(id)
273
+ ) {
267
274
  return false;
268
275
  }
269
276
  }
@@ -8,4 +8,4 @@ export * from './AlertsContextProvider';
8
8
  export * from './hosts';
9
9
  export * from './fetching';
10
10
  export * from './AddHosts';
11
- export * from './featureSupportLevels';
11
+ export * from './newFeatureSupportLevels';
@@ -53,11 +53,8 @@ import {
53
53
  NODE_HEALTHCHECK_LINK,
54
54
  NODE_MAINTENANCE_LINK,
55
55
  ODF_LINK,
56
- ODF_REQUIREMENTS_LINK,
57
56
  OPENSHIFT_AI_LINK,
58
- OPENSHIFT_AI_REQUIREMENTS_LINK,
59
57
  OSC_LINK,
60
- OSC_REQUIREMENTS_LINK,
61
58
  PIPELINES_OPERATOR_LINK,
62
59
  SERVERLESS_OPERATOR_LINK,
63
60
  SERVICE_MESH_OPERATOR_LINK,
@@ -183,11 +180,6 @@ export const getOperatorSpecs = (
183
180
  title: 'OpenShift Data Foundation',
184
181
  featureId: 'ODF',
185
182
  descriptionText: DESCRIPTION_ODF,
186
- Requirements: () => (
187
- <ExternalLink href={ODF_REQUIREMENTS_LINK}>
188
- Learn more about the requirements for OpenShift Data Foundation
189
- </ExternalLink>
190
- ),
191
183
  Description: ({ searchTerm }) => (
192
184
  <>
193
185
  <HighlightedText text={DESCRIPTION_ODF} searchTerm={searchTerm} />{' '}
@@ -246,11 +238,6 @@ export const getOperatorSpecs = (
246
238
  title: 'OpenShift sandboxed containers',
247
239
  featureId: 'OSC',
248
240
  descriptionText: DESCRIPTION_OSC,
249
- Requirements: () => (
250
- <ExternalLink href={OSC_REQUIREMENTS_LINK}>
251
- Learn more about the requirements for OpenShift sandboxed containers
252
- </ExternalLink>
253
- ),
254
241
  Description: ({ searchTerm }) => (
255
242
  <>
256
243
  <HighlightedText text={DESCRIPTION_OSC} searchTerm={searchTerm} />{' '}
@@ -266,9 +253,6 @@ export const getOperatorSpecs = (
266
253
  title: 'OpenShift AI',
267
254
  featureId: 'OPENSHIFT_AI',
268
255
  descriptionText: DESCRIPTION_OPENSHIFT_AI,
269
- Requirements: () => (
270
- <ExternalLink href={OPENSHIFT_AI_REQUIREMENTS_LINK}>Learn more</ExternalLink>
271
- ),
272
256
  Description: ({ searchTerm }) => (
273
257
  <>
274
258
  <HighlightedText text={DESCRIPTION_OPENSHIFT_AI} searchTerm={searchTerm} />{' '}
@@ -65,7 +65,10 @@ const GetPullSecretHelperText: React.FC<{ isOcm: boolean }> = ({ isOcm }) => {
65
65
  );
66
66
  };
67
67
 
68
- const PullSecretField: React.FC<{ isOcm: boolean }> = ({ isOcm }) => {
68
+ const PullSecretField: React.FC<{ isOcm: boolean; isRequired?: boolean }> = ({
69
+ isOcm,
70
+ isRequired = true,
71
+ }) => {
69
72
  const { t } = useTranslation();
70
73
  return (
71
74
  <TextAreaField
@@ -75,7 +78,7 @@ const PullSecretField: React.FC<{ isOcm: boolean }> = ({ isOcm }) => {
75
78
  getErrorText={(error) => error}
76
79
  helperText={<GetPullSecretHelperText isOcm={isOcm} />}
77
80
  rows={10}
78
- isRequired
81
+ isRequired={isRequired}
79
82
  />
80
83
  );
81
84
  };
@@ -38,6 +38,7 @@ const SelectFieldWithSearch = ({
38
38
  isLoading = false,
39
39
  placeholder,
40
40
  helperText,
41
+ onClear,
41
42
  }: {
42
43
  selectOptions: (SelectOptionProps & { showDivider?: boolean })[];
43
44
  filterValue: string;
@@ -46,6 +47,7 @@ const SelectFieldWithSearch = ({
46
47
  isLoading?: boolean;
47
48
  placeholder?: string;
48
49
  helperText?: React.ReactNode;
50
+ onClear?: VoidFunction;
49
51
  } & FieldProps) => {
50
52
  const [isOpen, setIsOpen] = React.useState(false);
51
53
  const [{ value }, , { setValue }] = useField<unknown | unknown[]>(name);
@@ -185,6 +187,7 @@ const SelectFieldWithSearch = ({
185
187
 
186
188
  const onClearButtonClick = () => {
187
189
  setFilterValue('');
190
+ onClear?.();
188
191
  resetActiveAndFocusedItem();
189
192
  textInputRef?.current?.focus();
190
193
  };
@@ -92,6 +92,8 @@ export const hostValidationLabels = (t: TFunction): { [key in HostValidationId]:
92
92
  'sufficient-network-latency-requirement-for-role': t('ai:Network latency'),
93
93
  'sufficient-packet-loss-requirement-for-role': t('ai:Packet loss'),
94
94
  'has-inventory': t('ai:Hardware information'),
95
+ 'inventory-not-partially-truncated': t('ai:Inventory partially truncated'),
96
+ 'inventory-not-fully-truncated': t('ai:Inventory fully truncated'),
95
97
  'has-min-cpu-cores': t('ai:Minimum CPU cores'),
96
98
  'has-min-memory': t('ai:Minimum Memory'),
97
99
  'has-min-valid-disks': t('ai:Minimum disks of required size'),
@@ -163,6 +165,8 @@ export const hostValidationFailureHints = (
163
165
  'sufficient-network-latency-requirement-for-role': '',
164
166
  'sufficient-packet-loss-requirement-for-role': '',
165
167
  'has-inventory': '',
168
+ 'inventory-not-partially-truncated': '',
169
+ 'inventory-not-fully-truncated': '',
166
170
  'has-min-cpu-cores': '',
167
171
  'has-min-memory': '',
168
172
  'has-min-valid-disks': '',
@@ -118,7 +118,7 @@ export const getMceDocsLink = (ocpVersion?: string) =>
118
118
  export const getLvmsDocsLink = (ocpVersion?: string) =>
119
119
  `https://docs.redhat.com/en/documentation/openshift_container_platform/${getDocsOpenshiftVersion(
120
120
  ocpVersion,
121
- )}/html/storage/configuring-persistent-storage#overview-of-lvm-storage-functionality_ways-to-provision-local-storage`;
121
+ )}/html-single/storage/index#persistent-storage-using-lvms`;
122
122
 
123
123
  export const NODE_HEALTHCHECK_LINK =
124
124
  'https://docs.redhat.com/en/documentation/workload_availability_for_red_hat_openshift/latest/html/remediation_fencing_and_maintenance/node-health-check-operator';
@@ -150,10 +150,11 @@ export const CHANGE_ISO_PASSWORD_FILE_LINK =
150
150
  'https://raw.githubusercontent.com/openshift/assisted-service/master/docs/change-iso-password.sh';
151
151
 
152
152
  export const getCiscoIntersightLink = (downloadIsoUrl: string, ciscoUrl?: string) => {
153
+ const isoUrl = encodeURIComponent(downloadIsoUrl);
153
154
  if (ciscoUrl) {
154
- return `${ciscoUrl}?_workflow_Version=1&IsoUrl=${downloadIsoUrl}`;
155
+ return `${ciscoUrl}?_workflow_Version=1&IsoUrl=${isoUrl}`;
155
156
  }
156
- return `https://www.intersight.com/an/workflow/workflow-definitions/execute/AddServersFromISO?_workflow_Version=1&IsoUrl=${downloadIsoUrl}`;
157
+ return `https://www.intersight.com/an/workflow/workflow-definitions/execute/AddServersFromISO?_workflow_Version=1&IsoUrl=${isoUrl}`;
157
158
  };
158
159
 
159
160
  export const MTV_LINK =
@@ -228,7 +229,7 @@ export const getClusterObservabilityLink = (ocpVersion?: string) =>
228
229
  export const getLokiLink = (ocpVersion?: string) =>
229
230
  `https://docs.redhat.com/en/documentation/openshift_container_platform/${getDocsOpenshiftVersion(
230
231
  ocpVersion,
231
- )}/html/network_observability/network-observability-overview`;
232
+ )}/html/network_observability/installing-network-observability-operators#network-observability-loki-installation_network_observability`;
232
233
 
233
234
  export const getOpenShiftLoggingLink = (ocpVersion?: string) =>
234
235
  `https://docs.redhat.com/en/documentation/openshift_container_platform/${getDocsOpenshiftVersion(
@@ -39,7 +39,15 @@ export const selectMonitoredOperators = (monitoredOperators: Cluster['monitoredO
39
39
 
40
40
  export const selectOlmOperators = (cluster?: Pick<Cluster, 'monitoredOperators'>) => {
41
41
  return selectMonitoredOperators(cluster?.monitoredOperators).filter(
42
- (operator) => operator.operatorType === 'olm',
42
+ (operator) =>
43
+ operator.operatorType === 'olm' && !!operator.name && operator.dependencyOnly !== true,
44
+ );
45
+ };
46
+
47
+ // Includes dependency-only operators
48
+ export const selectAllOlmOperators = (cluster?: Pick<Cluster, 'monitoredOperators'>) => {
49
+ return selectMonitoredOperators(cluster?.monitoredOperators).filter(
50
+ (operator) => operator.operatorType === 'olm' && !!operator.name,
43
51
  );
44
52
  };
45
53
 
@@ -120,11 +128,3 @@ export const isClusterPlatformTypeVM = ({ platform }: Pick<Cluster, 'platform'>)
120
128
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
121
129
  // @ts-ignore
122
130
  SupportedPlatformIntegrations.includes(platform?.type ?? 'none');
123
-
124
- export const numberOfEnabledOperators = (monitoredOperators: Cluster['monitoredOperators']) => {
125
- return monitoredOperators
126
- ? selectMonitoredOperators(
127
- monitoredOperators.filter((operator) => operator.operatorType === 'olm'),
128
- ).length
129
- : 0;
130
- };
@@ -1,5 +1,6 @@
1
1
  import { IRow } from '@patternfly/react-table';
2
2
  import {
3
+ BundleCreateParams,
3
4
  Cluster,
4
5
  V2ClusterUpdateParams,
5
6
  ClusterValidationId,
@@ -57,8 +58,9 @@ export type HostDiscoveryValues = V2ClusterUpdateParams & {
57
58
  export type StorageValues = V2ClusterUpdateParams & {
58
59
  nodeLabeling: string;
59
60
  };
61
+
60
62
  export type OperatorsValues = {
61
- selectedBundles: string[];
63
+ selectedBundles: BundleCreateParams[];
62
64
  selectedOperators: string[];
63
65
  };
64
66
 
@@ -71,4 +73,4 @@ export const SupportedPlatformIntegrations: SupportedPlatformType[] = [
71
73
  ];
72
74
  export const NonPlatformIntegrations: PlatformType[] = ['baremetal', 'none'];
73
75
 
74
- export type DiscoveryImageType = ImageType | 'discovery-image-ipxe';
76
+ export type DiscoveryImageType = Exclude<ImageType, 'disconnected-iso'> | 'discovery-image-ipxe';
@@ -90,6 +90,9 @@ export const stringToJSON = <T>(jsonString: string | undefined): T | undefined =
90
90
  export const downloadFile = (fileUrl?: string, dataBlob?: Blob, fileName?: string) => {
91
91
  const link = document.createElement('a');
92
92
  if (fileUrl && fileUrl !== '') {
93
+ if (!/^(https?|blob):/i.test(fileUrl)) {
94
+ return;
95
+ }
93
96
  link.setAttribute('href', fileUrl);
94
97
  }
95
98
  if (dataBlob) {
@@ -9,7 +9,7 @@ import { HostSubnets, NetworkConfigurationValues } from '../types';
9
9
  import { IP_V4_ZERO, IP_V6_ZERO, MAC_REGEX } from './regexes';
10
10
  import { getArrayIndexFromPath, isIPorDN, isIPv4Address, isIPv6Address } from './utils';
11
11
  import { NO_SUBNET_SET } from '../config';
12
- import { overlap } from 'cidr-tools';
12
+ import { overlapCidr } from 'cidr-tools';
13
13
  import parseUrl from 'parse-url';
14
14
  import { TFunction } from 'i18next';
15
15
 
@@ -272,7 +272,7 @@ export const ipBlockValidationSchema = (
272
272
  .test('cidrs-can-not-overlap', t('ai:Provided CIDRs can not overlap.'), (cidr: string) => {
273
273
  try {
274
274
  if (cidr && reservedCidrs && reservedCidrs.length > 0) {
275
- return !overlap(cidr, reservedCidrs);
275
+ return !overlapCidr(cidr, reservedCidrs);
276
276
  }
277
277
  } catch {
278
278
  return false;
@@ -1,6 +1,9 @@
1
- import { OcmCpuArchitecture, SupportedCpuArchitecture } from '../../../common';
1
+ import {
2
+ NewFeatureSupportLevelMap,
3
+ OcmCpuArchitecture,
4
+ SupportedCpuArchitecture,
5
+ } from '../../../common';
2
6
  import { HostsNetworkConfigurationType } from '../../services';
3
- import { FeaturesSupportsLevel } from '../../../common/components/featureSupportLevels/types';
4
7
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
5
8
 
6
9
  /* The type is reverse engineered.
@@ -50,7 +53,7 @@ export type OcmClusterType = {
50
53
  };
51
54
 
52
55
  aiCluster?: Cluster;
53
- aiSupportLevels?: FeaturesSupportsLevel;
56
+ aiSupportLevels?: { features: NewFeatureSupportLevelMap };
54
57
  };
55
58
 
56
59
  export type Day2ClusterDetailValues = {
@@ -7,7 +7,7 @@ import {
7
7
  Outlet,
8
8
  unstable_HistoryRouter as HistoryRouter,
9
9
  HistoryRouterProps,
10
- } from 'react-router-dom-v5-compat';
10
+ } from 'react-router';
11
11
  import { Clusters, ClusterPage, NewClusterPage } from './clusters';
12
12
  import type { FeatureListType } from '../../common/features/featureGate';
13
13
  import { AssistedUILibVersion } from './ui';
@@ -39,7 +39,7 @@ export const UILibRoutes = ({
39
39
  <Route index element={<Clusters />} />
40
40
  </Route>
41
41
  {children}
42
- <Route path="*" element={<Navigate to="assisted-installer/clusters" />} />
42
+ <Route path="*" element={<Navigate to="/assisted-installer/clusters" />} />
43
43
  </Routes>
44
44
  </>
45
45
  );
@@ -19,6 +19,7 @@ import { mapClusterCpuArchToInfraEnvCpuArch } from '../../services/CpuArchitectu
19
19
  import { usePullSecret } from '../../hooks';
20
20
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
21
21
  import { isOciPlatformType } from '../utils';
22
+ import { ModalBody } from '@patternfly/react-core';
22
23
 
23
24
  type DiscoveryImageFormProps = {
24
25
  cluster: Cluster;
@@ -93,10 +94,18 @@ const DiscoveryImageForm = ({
93
94
  };
94
95
 
95
96
  if (infraEnvError) {
96
- return <ErrorState />;
97
+ return (
98
+ <ModalBody style={{ height: '696px' }}>
99
+ <ErrorState />
100
+ </ModalBody>
101
+ );
97
102
  }
98
103
  if (!infraEnv) {
99
- return <LoadingState />;
104
+ return (
105
+ <ModalBody style={{ height: '696px' }}>
106
+ <LoadingState />
107
+ </ModalBody>
108
+ );
100
109
  }
101
110
  return (
102
111
  <OcmDiscoveryImageConfigForm
@@ -1,5 +1,12 @@
1
1
  import React from 'react';
2
- import { Button, ButtonVariant, Modal, ModalHeader, ModalVariant } from '@patternfly/react-core';
2
+ import {
3
+ Button,
4
+ ButtonVariant,
5
+ Modal,
6
+ ModalBody,
7
+ ModalHeader,
8
+ ModalVariant,
9
+ } from '@patternfly/react-core';
3
10
  import { pluralize } from 'humanize-plus';
4
11
  import {
5
12
  AI_CISCO_INTERSIGHT_TAG,
@@ -14,7 +21,6 @@ import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
14
21
  import useInfraEnvImageUrl from '../../hooks/useInfraEnvImageUrl';
15
22
  import useInfraEnvIpxeImageUrl from '../../hooks/useInfraEnvIpxeImageUrl';
16
23
  import DownloadIpxeScript from '../../../common/components/clusterConfiguration/DownloadIpxeScript';
17
- import './DiscoveryImageModal.css';
18
24
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
19
25
  import { ClustersService } from '../../services';
20
26
  import { useDispatch } from 'react-redux';
@@ -115,7 +121,11 @@ export const DiscoveryImageModal = () => {
115
121
  data-testid="discovery-modal-title"
116
122
  title={`Add ${pluralize(+isSNOCluster, 'host')}`}
117
123
  />
118
- {(isoDownloadError || ipxeDownloadError) && <ErrorState />}
124
+ {(isoDownloadError || ipxeDownloadError) && (
125
+ <ModalBody>
126
+ <ErrorState />
127
+ </ModalBody>
128
+ )}
119
129
  {isoDownloadUrl ? (
120
130
  <DownloadIso
121
131
  fileName={`discovery_image_${cluster.name || ''}.iso`}
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-console */
2
1
  import * as React from 'react';
3
2
  import { Form } from '@patternfly/react-core';
4
3
  import { useFormikContext } from 'formik';
@@ -40,6 +39,7 @@ import ControlPlaneNodesDropdown, {
40
39
  DEFAULT_VALUE_CPN,
41
40
  isCPNDropdownItemEnabled,
42
41
  } from './ControlPlaneNodesDropdown';
42
+ import { isFeatureSupportedAndAvailable } from '../featureSupportLevels/featureStateUtils';
43
43
 
44
44
  export type OcmClusterDetailsFormFieldsProps = {
45
45
  cluster?: Cluster;
@@ -79,6 +79,13 @@ export const OcmClusterDetailsFormFields = ({
79
79
  architectureData[values.cpuArchitecture as SupportedCpuArchitecture].label;
80
80
 
81
81
  const featureSupportLevelContext = useNewFeatureSupportLevel();
82
+ const tnaSupport = featureSupportLevelContext.getFeatureSupportLevel(
83
+ 'TNA',
84
+ featureSupportLevelData ?? undefined,
85
+ );
86
+ const isArbiterEncryptionAvailable = isSingleClusterFeatureEnabled
87
+ ? false
88
+ : isFeatureSupportedAndAvailable(tnaSupport);
82
89
 
83
90
  React.useEffect(() => {
84
91
  nameInputRef.current?.focus();
@@ -223,6 +230,7 @@ export const OcmClusterDetailsFormFields = ({
223
230
  values={values}
224
231
  isDisabled={cluster?.pullSecretSet}
225
232
  isSNO={values.controlPlaneCount === 1}
233
+ isArbiterEncryptionAvailable={isArbiterEncryptionAvailable}
226
234
  docVersion={openshiftVersion}
227
235
  />
228
236
  </Form>