@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
@@ -155,7 +155,7 @@ export const ExternalPlatformDropdown = ({
155
155
 
156
156
  const handleClick = (event: MouseEvent<HTMLButtonElement>, href: string): void => {
157
157
  event.stopPropagation(); // Stop event propagation here
158
- window.open(href, '_blank');
158
+ window.open(href, '_blank', 'noopener,noreferrer');
159
159
  };
160
160
 
161
161
  const { getFeatureSupportLevel, getFeatureDisabledReason } = useNewFeatureSupportLevel();
@@ -8,6 +8,7 @@ import {
8
8
  useTranslation,
9
9
  } from '../../../../common';
10
10
  import { getManagementType, getStackTypeLabel } from './utils';
11
+ import { useFeature } from '../../../hooks/use-feature';
11
12
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
12
13
 
13
14
  type ReviewTableRowsType = {
@@ -17,6 +18,7 @@ type ReviewTableRowsType = {
17
18
 
18
19
  export const ReviewNetworkingTable = ({ cluster }: { cluster: Cluster }) => {
19
20
  const { t } = useTranslation();
21
+ const isSingleClusterFeature = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
20
22
  const rows = React.useMemo(() => {
21
23
  const networkRows = [
22
24
  {
@@ -34,7 +36,7 @@ export const ReviewNetworkingTable = ({ cluster }: { cluster: Cluster }) => {
34
36
  cells: [
35
37
  { title: 'Stack type', colSpan: 2 },
36
38
  {
37
- title: getStackTypeLabel(cluster),
39
+ title: getStackTypeLabel(cluster, isSingleClusterFeature),
38
40
  props: { 'data-testid': 'stack-type', colSpan: 2 },
39
41
  },
40
42
  ],
@@ -125,7 +127,7 @@ export const ReviewNetworkingTable = ({ cluster }: { cluster: Cluster }) => {
125
127
  });
126
128
 
127
129
  return networkRows;
128
- }, [cluster]);
130
+ }, [cluster, isSingleClusterFeature]);
129
131
 
130
132
  const rowsAdvanced = React.useMemo(() => {
131
133
  return [
@@ -1,17 +1,75 @@
1
1
  import React from 'react';
2
+ import { Title } from '@patternfly/react-core';
2
3
  import { Table, TableVariant, Tbody, Td, Tr } from '@patternfly/react-table';
3
- import { genericTableRowKey } from '../../../../common';
4
- import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
4
+ import { genericTableRowKey, selectAllOlmOperators } from '../../../../common';
5
+ import { useStateSafely } from '../../../../common/hooks';
6
+ import { Bundle, Cluster } from '@openshift-assisted/types/assisted-installer-service';
5
7
  import { TableSummaryExpandable } from './TableSummaryExpandable';
6
8
  import { useOperatorSpecs } from '../../../../common/components/operators/operatorSpecs';
9
+ import BundleService from '../../../services/BundleService';
10
+
11
+ const fetchBundles = async (
12
+ openshiftVersion: string,
13
+ cpuArchitecture: string,
14
+ platformType: string,
15
+ ): Promise<Bundle[]> => {
16
+ try {
17
+ return await BundleService.listBundles(
18
+ openshiftVersion,
19
+ cpuArchitecture,
20
+ platformType,
21
+ undefined,
22
+ );
23
+ } catch (_e) {
24
+ return [] as Bundle[];
25
+ }
26
+ };
7
27
 
8
28
  export const ReviewOperatorsTable = ({ cluster }: { cluster: Cluster }) => {
9
29
  const { byKey: opSpecs } = useOperatorSpecs();
30
+ const selectedBundles = cluster.operatorBundles || [];
31
+ const [bundleTitlesById, setBundleTitlesById] = useStateSafely<Record<string, string>>({});
32
+ const hasFetchedBundles = React.useRef(false);
33
+ const hasSelectedBundles = selectedBundles.length > 0;
34
+ React.useEffect(() => {
35
+ if (!hasFetchedBundles.current && hasSelectedBundles) {
36
+ hasFetchedBundles.current = true;
37
+ void (async () => {
38
+ const bundles = await fetchBundles(
39
+ cluster.openshiftVersion || '',
40
+ cluster.cpuArchitecture || '',
41
+ cluster.platform?.type || '',
42
+ );
43
+ const titlesById = Object.fromEntries(
44
+ bundles
45
+ .filter((bundle) => !!bundle.id && !!bundle.title)
46
+ .map((bundle) => [bundle.id, bundle.title]),
47
+ ) as Record<string, string>;
48
+ setBundleTitlesById(titlesById);
49
+ })();
50
+ }
51
+ }, [
52
+ cluster.cpuArchitecture,
53
+ cluster.openshiftVersion,
54
+ cluster.platform?.type,
55
+ hasSelectedBundles,
56
+ setBundleTitlesById,
57
+ ]);
58
+
59
+ const bundleRows = selectedBundles.map((bundle) => ({
60
+ rowId: `bundle-${bundle.id}`,
61
+ cells: [
62
+ {
63
+ title: bundleTitlesById[bundle.id] || bundle.id,
64
+ props: { 'data-testid': `bundle-${bundle.id}` },
65
+ },
66
+ ],
67
+ }));
10
68
 
11
69
  const rows = React.useMemo(
12
70
  () =>
13
- cluster.monitoredOperators
14
- ?.filter(({ name }) => !!name && !!opSpecs[name])
71
+ selectAllOlmOperators(cluster)
72
+ .filter(({ name }) => !!name && !!opSpecs[name])
15
73
  .map((op) => {
16
74
  const opId = op.name as string;
17
75
  return {
@@ -25,33 +83,65 @@ export const ReviewOperatorsTable = ({ cluster }: { cluster: Cluster }) => {
25
83
  ],
26
84
  };
27
85
  }),
28
- [cluster.monitoredOperators, opSpecs],
86
+ [cluster, opSpecs],
29
87
  );
30
88
 
31
- if (!rows?.length) {
89
+ if (!rows?.length && selectedBundles.length === 0) {
32
90
  return null;
33
91
  }
34
92
 
35
93
  return (
36
- <TableSummaryExpandable title={'Operators'} id={'operators-expandable'}>
37
- <Table
38
- variant={TableVariant.compact}
39
- borders={false}
40
- aria-label={'Operators review table'}
41
- className="review-table"
42
- >
43
- <Tbody>
44
- {rows.map((row, i) => (
45
- <Tr key={genericTableRowKey(row.rowId)}>
46
- {row.cells.map((cell, j) => (
47
- <Td key={`cell-${i}-${j}`} {...cell.props}>
48
- {cell.title}
49
- </Td>
94
+ <TableSummaryExpandable title={'Bundles and operators'} id={'operators-expandable'}>
95
+ {bundleRows.length > 0 && (
96
+ <>
97
+ <Title headingLevel="h4" size="md" className="pf-v6-u-mb-sm">
98
+ Bundles ({bundleRows.length})
99
+ </Title>
100
+ <Table
101
+ variant={TableVariant.compact}
102
+ borders={false}
103
+ aria-label={'Bundles review table'}
104
+ className="review-table pf-v6-u-mb-md"
105
+ >
106
+ <Tbody>
107
+ {bundleRows.map((row, i) => (
108
+ <Tr key={genericTableRowKey(row.rowId)}>
109
+ {row.cells.map((cell, j) => (
110
+ <Td key={`bundle-cell-${i}-${j}`} {...cell.props}>
111
+ {cell.title}
112
+ </Td>
113
+ ))}
114
+ </Tr>
115
+ ))}
116
+ </Tbody>
117
+ </Table>
118
+ </>
119
+ )}
120
+ {rows.length > 0 && (
121
+ <>
122
+ <Title headingLevel="h4" size="md" className="pf-v6-u-mb-sm">
123
+ Operators ({rows.length})
124
+ </Title>
125
+ <Table
126
+ variant={TableVariant.compact}
127
+ borders={false}
128
+ aria-label={'Operators review table'}
129
+ className="review-table"
130
+ >
131
+ <Tbody>
132
+ {rows.map((row, i) => (
133
+ <Tr key={genericTableRowKey(row.rowId)}>
134
+ {row.cells.map((cell, j) => (
135
+ <Td key={`cell-${i}-${j}`} {...cell.props}>
136
+ {cell.title}
137
+ </Td>
138
+ ))}
139
+ </Tr>
50
140
  ))}
51
- </Tr>
52
- ))}
53
- </Tbody>
54
- </Table>
141
+ </Tbody>
142
+ </Table>
143
+ </>
144
+ )}
55
145
  </TableSummaryExpandable>
56
146
  );
57
147
  };
@@ -19,10 +19,7 @@ import { ReviewCustomManifestsTable } from './ReviewCustomManifestsTable';
19
19
  import PlatformIntegrationNote from '../platformIntegration/PlatformIntegrationNote';
20
20
  import useClusterCustomManifests from '../../../hooks/useClusterCustomManifests';
21
21
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
22
- import { ListManifestsExtended } from '../manifestsConfiguration/data/dataTypes';
23
-
24
- const userProvidedManifests = (manifests: ListManifestsExtended | undefined) =>
25
- (manifests ?? []).filter((m) => m.manifestSource !== 'system');
22
+ import { userProvidedManifests } from '../manifestsConfiguration/components/utils';
26
23
 
27
24
  export const ReviewSummaryContent = ({ cluster }: { cluster: Cluster }) => {
28
25
  const { customManifests } = useClusterCustomManifests(cluster.id, false);
@@ -0,0 +1,3 @@
1
+ .pf-v6-c-expandable-section:not(.pf-m-expanded) {
2
+ --pf-v6-c-expandable-section__content--MaxHeight: 0;
3
+ }
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ExpandableSection, Content } from '@patternfly/react-core';
3
+ import './TableSummaryExpandable.css';
3
4
 
4
5
  export const TableSummaryExpandable = ({
5
6
  title,
@@ -20,7 +21,6 @@ export const TableSummaryExpandable = ({
20
21
  id={id ? id : title}
21
22
  >
22
23
  {children}
23
- <br />
24
24
  </ExpandableSection>
25
25
  );
26
26
  };
@@ -169,6 +169,47 @@ describe('getStackTypeLabel', () => {
169
169
  });
170
170
  });
171
171
 
172
+ describe('with isSingleClusterFeature=true', () => {
173
+ test('returns "Single stack" for IPv4 single-stack cluster', () => {
174
+ const cluster = createCluster({
175
+ machineNetworks: [createMachineNetwork('192.168.1.0/24')],
176
+ clusterNetworks: [createClusterNetwork('10.128.0.0/14', 23)],
177
+ serviceNetworks: [createServiceNetwork('172.30.0.0/16')],
178
+ });
179
+
180
+ expect(getStackTypeLabel(cluster, true)).toBe('Single stack');
181
+ });
182
+
183
+ test('returns "Single stack" for IPv6 single-stack cluster', () => {
184
+ const cluster = createCluster({
185
+ machineNetworks: [createMachineNetwork('2001:db8::/64')],
186
+ clusterNetworks: [createClusterNetwork('fd01::/48', 64)],
187
+ serviceNetworks: [createServiceNetwork('fd02::/112')],
188
+ });
189
+
190
+ expect(getStackTypeLabel(cluster, true)).toBe('Single stack');
191
+ });
192
+
193
+ test('still returns "Dual-stack" for dual-stack cluster', () => {
194
+ const cluster = createCluster({
195
+ machineNetworks: [
196
+ createMachineNetwork('192.168.1.0/24'),
197
+ createMachineNetwork('2001:db8::/64'),
198
+ ],
199
+ clusterNetworks: [
200
+ createClusterNetwork('10.128.0.0/14', 23),
201
+ createClusterNetwork('fd01::/48', 64),
202
+ ],
203
+ serviceNetworks: [
204
+ createServiceNetwork('172.30.0.0/16'),
205
+ createServiceNetwork('fd02::/112'),
206
+ ],
207
+ });
208
+
209
+ expect(getStackTypeLabel(cluster, true)).toBe('Dual-stack');
210
+ });
211
+ });
212
+
172
213
  describe('edge cases', () => {
173
214
  test('handles undefined openshiftVersion', () => {
174
215
  const cluster = createCluster({
@@ -3,10 +3,13 @@ import { isDualStack } from '../../../../common';
3
3
  import { Cluster, DiskEncryption } from '@openshift-assisted/types/assisted-installer-service';
4
4
 
5
5
  export const getManagementType = ({ userManagedNetworking }: Cluster): string =>
6
- userManagedNetworking ? 'User-Managed networking' : 'Cluster-managed networking';
6
+ userManagedNetworking ? 'User-managed networking' : 'Cluster-managed networking';
7
7
 
8
- export const getStackTypeLabel = (cluster: Cluster): string =>
9
- isDualStack(cluster) ? 'Dual-stack' : 'IPv4';
8
+ export const getStackTypeLabel = (cluster: Cluster, isSingleClusterFeature = false): string => {
9
+ if (isDualStack(cluster)) return 'Dual-stack';
10
+ if (isSingleClusterFeature) return 'Single stack';
11
+ return 'IPv4';
12
+ };
10
13
 
11
14
  export const getDiskEncryptionEnabledOnStatus = (diskEncryption: DiskEncryption['enableOn']) => {
12
15
  let diskEncryptionType = null;
@@ -8,6 +8,8 @@ import { useErrorMonitor } from '../../../../../common/components/ErrorHandling/
8
8
  import { getApiErrorMessage } from '../../../../../common/api';
9
9
  import { StaticIpFormProps } from './propTypes';
10
10
  import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
11
+ import { useFeature } from '../../../../hooks/use-feature';
12
+ import { getStaticNetworkConfig } from '../data/fromInfraEnv';
11
13
 
12
14
  /** Reports form state and triggers save on every value change (useFormikAutoSave) */
13
15
  const AutosaveWithParentUpdate = <StaticIpFormValues extends object>({
@@ -69,7 +71,14 @@ export const StaticIpForm = <StaticIpFormValues extends object>({
69
71
  const { clearAlerts, addAlert } = useAlerts();
70
72
  const { captureException } = useErrorMonitor();
71
73
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
72
- const initialValues = showEmptyValues ? getEmptyValues() : getInitialValues(infraEnv);
74
+ const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
75
+ const prefillFromInfraEnv = isSingleClusterFeatureEnabled && !!getStaticNetworkConfig(infraEnv);
76
+ const initialValues = React.useMemo(() => {
77
+ if (showEmptyValues && !prefillFromInfraEnv) {
78
+ return getEmptyValues();
79
+ }
80
+ return getInitialValues(infraEnv);
81
+ }, [showEmptyValues, prefillFromInfraEnv, infraEnv, getInitialValues, getEmptyValues]);
73
82
 
74
83
  const handleSubmit = async (values: StaticIpFormValues) => {
75
84
  clearAlerts();
@@ -9,7 +9,8 @@ import {
9
9
  } from '@patternfly/react-core';
10
10
  import { StaticIpInfo, StaticIpView } from '../data/dataTypes';
11
11
  import StaticIpViewRadioGroup from './StaticIpViewRadioGroup';
12
- import { getStaticIpInfo } from '../data/fromInfraEnv';
12
+ import { getStaticIpInfo, getStaticNetworkConfig } from '../data/fromInfraEnv';
13
+ import { useFeature } from '../../../../hooks/use-feature';
13
14
  import { StaticIpFormState, StaticIpPageProps, StaticIpViewProps } from './propTypes';
14
15
  import { YamlView } from './YamlView/YamlView';
15
16
  import { useClusterWizardContext } from '../../../clusterWizard/ClusterWizardContext';
@@ -34,6 +35,8 @@ export const StaticIpPage: React.FC<StaticIpPageProps> = ({
34
35
  onFormStateChange: onFormStateChangeParent,
35
36
  }) => {
36
37
  const clusterWizardContext = useClusterWizardContext();
38
+ const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
39
+ const prefillFromInfraEnv = isSingleClusterFeatureEnabled && !!getStaticNetworkConfig(infraEnv);
37
40
  const [confirmOnChangeView, setConfirmOnChangeView] = React.useState<boolean>(false);
38
41
  const [viewChanged, setViewChanged] = React.useState<boolean>(false);
39
42
 
@@ -45,10 +48,10 @@ export const StaticIpPage: React.FC<StaticIpPageProps> = ({
45
48
  [clusterWizardContext],
46
49
  );
47
50
 
48
- const initialStaticIpInfo = React.useMemo<StaticIpInfo | undefined>(() => {
49
- return getStaticIpInfo(infraEnv);
50
- // eslint-disable-next-line react-hooks/exhaustive-deps
51
- }, []);
51
+ const initialStaticIpInfo = React.useMemo<StaticIpInfo | undefined>(
52
+ () => getStaticIpInfo(infraEnv),
53
+ [infraEnv],
54
+ );
52
55
 
53
56
  const onFormStateChange = React.useCallback(
54
57
  (formState: StaticIpFormState) => {
@@ -65,7 +68,7 @@ export const StaticIpPage: React.FC<StaticIpPageProps> = ({
65
68
  onFormStateChange,
66
69
  infraEnv,
67
70
  updateInfraEnv,
68
- showEmptyValues: viewChanged,
71
+ showEmptyValues: viewChanged && !prefillFromInfraEnv,
69
72
  };
70
73
 
71
74
  const content = (() => {
@@ -73,6 +73,7 @@ const getNmstateObject = (
73
73
  realProtocolConfigs[protocolVersion] = getNmstateProtocolConfig(
74
74
  hostIp,
75
75
  getPrefixLength(networkWide, protocolVersion),
76
+ protocolVersion,
76
77
  );
77
78
  if (networkWide.useVlan && networkWide.vlanId) {
78
79
  if (bondType && hasBondsConfigured) {
@@ -94,6 +95,7 @@ const getNmstateObject = (
94
95
  [protocolVersion]: getNmstateProtocolConfig(
95
96
  DUMMY_NMSTATE_ADDRESSES[protocolVersion].ip,
96
97
  DUMMY_NMSTATE_ADDRESSES[protocolVersion].prefixLength,
98
+ protocolVersion,
97
99
  ),
98
100
  };
99
101
  nicName = getDummyNicName(protocolVersion);
@@ -15,6 +15,7 @@ export type NmstateProtocolConfig = {
15
15
  address: NmstateAddress[];
16
16
  enabled: boolean;
17
17
  dhcp: boolean;
18
+ autoconf?: boolean;
18
19
  };
19
20
 
20
21
  export type NmstateProtocolConfigs = {
@@ -80,6 +80,7 @@ export const getProtocolType = (comments: string[]): StaticProtocolType | null =
80
80
  export const getNmstateProtocolConfig = (
81
81
  ipAddress: string,
82
82
  prefixLength: number,
83
+ protocolVersion?: ProtocolVersion,
83
84
  ): NmstateProtocolConfig => {
84
85
  return {
85
86
  address: [
@@ -90,6 +91,7 @@ export const getNmstateProtocolConfig = (
90
91
  ],
91
92
  enabled: true,
92
93
  dhcp: false,
94
+ ...(protocolVersion === ProtocolVersion.ipv6 && { autoconf: false }),
93
95
  };
94
96
  };
95
97
 
@@ -33,7 +33,7 @@ import {
33
33
  unstable_HistoryRouter as HistoryRouter,
34
34
  HistoryRouterProps,
35
35
  BrowserRouter,
36
- } from 'react-router-dom-v5-compat';
36
+ } from 'react-router';
37
37
 
38
38
  type AssistedInstallerDetailCardProps = {
39
39
  aiClusterId: string;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useNavigate } from 'react-router-dom-v5-compat';
2
+ import { useNavigate } from 'react-router';
3
3
  import { Stack, StackItem, Content, ButtonVariant, GridItem, Grid } from '@patternfly/react-core';
4
4
  import { ToolbarButton, Alerts, getEnabledHosts, selectOlmOperators, isSNO } from '../../../common';
5
5
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
@@ -41,7 +41,7 @@ const ClusterDetail: React.FC<ClusterDetailProps> = ({ cluster }) => {
41
41
  try {
42
42
  const { data } = await ClustersAPI.allowAddHosts(cluster.id);
43
43
  updateCluster(data);
44
- navigate(`${routeBasePath}/clusters/${cluster.id}`);
44
+ void navigate(`${routeBasePath}/clusters/${cluster.id}`);
45
45
  } catch (e) {
46
46
  handleApiError(e);
47
47
  }
@@ -102,7 +102,7 @@ const ClusterDetail: React.FC<ClusterDetailProps> = ({ cluster }) => {
102
102
  {!isSingleClusterFeatureEnabled && (
103
103
  <ToolbarButton
104
104
  variant={ButtonVariant.link}
105
- onClick={() => navigate('..')}
105
+ onClick={() => void navigate('..')}
106
106
  id={getClusterDetailId('button-back-to-all-clusters')}
107
107
  >
108
108
  Back to all clusters
@@ -7,13 +7,15 @@ import {
7
7
  RenderIf,
8
8
  canOpenConsole,
9
9
  } from '../../../common';
10
+ import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
10
11
  import { downloadClusterInstallationLogs } from './utils';
11
12
  import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
12
13
  import { canAbortInstallation } from '../clusters/utils';
13
14
  import { onFetchEvents } from '../fetching/fetchEvents';
14
15
  import ViewClusterEventsButton from '../../../common/components/ui/ViewClusterEventsButton';
15
- import { LaunchOpenshiftConsoleButton } from '../../../common/components/clusterDetail/ConsoleModal';
16
+ import { ToolbarButton } from '../../../common/components/ui/Toolbar';
16
17
  import { Cluster, Credentials } from '@openshift-assisted/types/assisted-installer-service';
18
+ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
17
19
 
18
20
  import './ClusterDetailsButtonGroup.css';
19
21
 
@@ -24,6 +26,30 @@ type ClusterDetailsButtonGroupProps = {
24
26
  showKubeConfig?: boolean;
25
27
  };
26
28
 
29
+ const LaunchOpenshiftConsoleButton: React.FC<{
30
+ consoleUrl?: string;
31
+ isDisabled: boolean;
32
+ id?: string;
33
+ }> = ({ consoleUrl, isDisabled, id }) => {
34
+ const { t } = useTranslation();
35
+ return (
36
+ <ToolbarButton
37
+ variant={ButtonVariant.primary}
38
+ component="a"
39
+ href={consoleUrl}
40
+ target="_blank"
41
+ rel="noopener"
42
+ isDisabled={isDisabled}
43
+ icon={<ExternalLinkAltIcon />}
44
+ iconPosition="right"
45
+ id={id}
46
+ data-testid={id}
47
+ >
48
+ {t('ai:Launch OpenShift Console')}
49
+ </ToolbarButton>
50
+ );
51
+ };
52
+
27
53
  const getID = (suffix: string) => `cluster-detail-${suffix}`;
28
54
 
29
55
  const ClusterDetailsButtonGroup: React.FC<ClusterDetailsButtonGroupProps> = ({
@@ -60,7 +86,6 @@ const ClusterDetailsButtonGroup: React.FC<ClusterDetailsButtonGroupProps> = ({
60
86
  <FlexItem>
61
87
  <LaunchOpenshiftConsoleButton
62
88
  isDisabled={false}
63
- cluster={cluster}
64
89
  consoleUrl={credentials?.consoleUrl}
65
90
  id={getID('button-launch-console')}
66
91
  />
@@ -42,7 +42,7 @@ const ClusterInstallationError: React.FC<ClusterInstallationErrorProps> = ({
42
42
  Download Installation Logs
43
43
  </AlertActionLink>
44
44
  <AlertActionLink
45
- onClick={() => window.open(getReportIssueLink(), '_blank')}
45
+ onClick={() => window.open(getReportIssueLink(), '_blank', 'noopener,noreferrer')}
46
46
  id={getID('button-report-bug')}
47
47
  >
48
48
  Report a bug
@@ -157,7 +157,7 @@ export const HostsInstallationFailed = ({
157
157
  Download installation logs
158
158
  </AlertActionLink>
159
159
  <AlertActionLink
160
- onClick={() => window.open(getReportIssueLink(), '_blank')}
160
+ onClick={() => window.open(getReportIssueLink(), '_blank', 'noopener,noreferrer')}
161
161
  id={getID('button-report-bug')}
162
162
  >
163
163
  Report a bug
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
2
+ import { useLocation, useNavigate } from 'react-router';
3
3
  import { useDispatch } from 'react-redux';
4
4
  import {
5
5
  useAlerts,
@@ -24,7 +24,6 @@ import {
24
24
  UISettingService,
25
25
  } from '../../services';
26
26
  import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
27
- import BundleService from '../../services/BundleService';
28
27
  import { useFeature } from '../../hooks/use-feature';
29
28
 
30
29
  type ClusterDetailsProps = {
@@ -80,28 +79,17 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
80
79
  try {
81
80
  const searchParams = new URLSearchParams(location.search);
82
81
  const isAssistedMigration = searchParams.get('source') === 'assisted_migration';
83
- //For Assisted Migration we need the LVMs operator and also the virtualization bundle operators
82
+ // For Assisted Migration we need LVM as standalone and the virtualization bundle.
84
83
  if (isAssistedMigration) {
85
84
  params.olmOperators = [{ name: 'lvm' }];
86
- const selectedBundle = (
87
- await BundleService.listBundles(
88
- params.openshiftVersion,
89
- params.cpuArchitecture,
90
- params.platform?.type,
91
- )
92
- ).find((b) => b.id === 'virtualization');
93
- const virtOperators = selectedBundle?.operators;
94
- params.olmOperators = [
95
- ...params.olmOperators,
96
- ...(virtOperators ? virtOperators.map((op) => ({ name: op })) : []),
97
- ];
85
+ params.operatorBundles = [{ id: 'virtualization', optionalOperators: [] }];
98
86
  }
99
87
  const cluster = await ClustersService.create(
100
88
  params,
101
89
  isAssistedMigration,
102
90
  isSingleClusterFeatureEnabled,
103
91
  );
104
- navigate(`../${cluster.id}`, { state: ClusterWizardFlowStateNew });
92
+ void navigate(`../${cluster.id}`, { state: ClusterWizardFlowStateNew });
105
93
 
106
94
  if (isAssistedMigration) {
107
95
  try {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
- import { useLocation } from 'react-router-dom-v5-compat';
3
+ import { useLocation } from 'react-router';
4
4
  import { Flex, Grid, GridItem } from '@patternfly/react-core';
5
5
  import isUndefined from 'lodash-es/isUndefined.js';
6
6
  import { Formik, FormikHelpers } from 'formik';
@@ -3,6 +3,7 @@ import { HostsNetworkConfigurationType } from '../../services';
3
3
  import { StaticIpView } from '../clusterConfiguration/staticIp/data/dataTypes';
4
4
  import { ClusterWizardStepsType } from './wizardTransition';
5
5
  import { UISettingsValues } from '../../../common';
6
+ import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
6
7
 
7
8
  export type ClusterWizardContextType = {
8
9
  currentStepId: ClusterWizardStepsType;
@@ -18,6 +19,10 @@ export type ClusterWizardContextType = {
18
19
  uiSettings?: UISettingsValues;
19
20
  installDisconnected: boolean;
20
21
  setInstallDisconnected: (enabled: boolean) => void;
22
+ disconnectedCluster?: Cluster;
23
+ setDisconnectedCluster: (cluster: Cluster | undefined) => void;
24
+ disconnectedInfraEnv?: InfraEnv;
25
+ setDisconnectedInfraEnv: (infraEnv: InfraEnv | undefined) => void;
21
26
  };
22
27
 
23
28
  export const ClusterWizardContext = React.createContext<ClusterWizardContextType | null>(null);