@openshift-assisted/ui-lib 2.17.3-cim → 2.17.4-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 (190) hide show
  1. package/build/@types/cim/components/Agent/BMHStatusInfo.d.ts.map +1 -1
  2. package/build/@types/cim/components/Agent/MinimalHWRequirements.d.ts.map +1 -1
  3. package/build/@types/cim/components/Hypershift/DetailsPage/ConditionsTable.d.ts.map +1 -1
  4. package/build/@types/cim/components/Hypershift/DetailsPage/HostedClusterProgress.d.ts.map +1 -1
  5. package/build/@types/cim/components/Hypershift/DetailsPage/NodePoolsProgress.d.ts.map +1 -1
  6. package/build/@types/cim/components/Hypershift/utils/status.d.ts +2 -2
  7. package/build/@types/cim/components/Hypershift/utils/status.d.ts.map +1 -1
  8. package/build/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -1
  9. package/build/@types/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.d.ts.map +1 -1
  10. package/build/@types/cim/components/helpers/agentStatus.d.ts +1 -1
  11. package/build/@types/cim/components/helpers/agentStatus.d.ts.map +1 -1
  12. package/build/@types/cim/components/modals/CimConfiguration/CimConfigurationFormFields.d.ts.map +1 -1
  13. package/build/@types/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts.map +1 -1
  14. package/build/@types/cim/components/modals/CimConfiguration/persist.d.ts.map +1 -1
  15. package/build/@types/cim/components/modals/CimConfiguration/types.d.ts +1 -1
  16. package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts.map +1 -1
  17. package/build/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts.map +1 -1
  18. package/build/@types/common/components/clusterDetail/FinalizingProgress.d.ts +1 -1
  19. package/build/@types/common/components/clusterDetail/FinalizingProgress.d.ts.map +1 -1
  20. package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts.map +1 -1
  21. package/build/@types/common/components/clusterDetail/ProgressBarTexts.d.ts.map +1 -1
  22. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  23. package/build/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts.map +1 -1
  24. package/build/@types/common/components/hosts/HostPropertyValidationPopover.d.ts.map +1 -1
  25. package/build/@types/common/components/hosts/HostStatus.d.ts.map +1 -1
  26. package/build/@types/common/components/hosts/HostValidationGroups.d.ts.map +1 -1
  27. package/build/@types/common/components/hosts/Hostname.d.ts.map +1 -1
  28. package/build/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -1
  29. package/build/@types/common/components/hosts/VMRebootConfigurationInfo.d.ts.map +1 -1
  30. package/build/@types/common/components/hosts/status.d.ts.map +1 -1
  31. package/build/@types/common/components/storage/DisksTable.d.ts.map +1 -1
  32. package/build/@types/common/components/storage/StorageUtils.d.ts +1 -1
  33. package/build/@types/common/components/storage/StorageUtils.d.ts.map +1 -1
  34. package/build/@types/common/components/ui/WizardNavItem.d.ts.map +1 -1
  35. package/build/@types/common/components/ui/formik/RemovableField.d.ts.map +1 -1
  36. package/build/@types/common/components/ui/formik/RichInputField.d.ts.map +1 -1
  37. package/build/@types/common/components/ui/index.d.ts +0 -1
  38. package/build/@types/common/components/ui/index.d.ts.map +1 -1
  39. package/build/@types/common/validationSchemas/addressValidation.d.ts.map +1 -1
  40. package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts.map +1 -1
  41. package/build/@types/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.d.ts.map +1 -1
  42. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  43. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts.map +1 -1
  44. package/build/@types/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.d.ts.map +1 -1
  45. package/build/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts +1 -1
  46. package/build/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts.map +1 -1
  47. package/build/@types/ocm/components/clusterDetail/OpenShiftVersionDetail.d.ts.map +1 -1
  48. package/build/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts.map +1 -1
  49. package/build/@types/ocm/components/clusters/ClusterStatus.d.ts.map +1 -1
  50. package/build/@types/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts.map +1 -1
  51. package/build/@types/ocm/components/ui/InfoLinkWithModal.d.ts.map +1 -1
  52. package/build/cjs/cim/components/Agent/BMHStatusInfo.js +4 -4
  53. package/build/cjs/cim/components/Agent/BMHStatusInfo.js.map +1 -1
  54. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js +2 -2
  55. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js.map +1 -1
  56. package/build/cjs/cim/components/Hypershift/DetailsPage/ConditionsTable.js +7 -6
  57. package/build/cjs/cim/components/Hypershift/DetailsPage/ConditionsTable.js.map +1 -1
  58. package/build/cjs/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js +3 -2
  59. package/build/cjs/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js.map +1 -1
  60. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js +2 -2
  61. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js.map +1 -1
  62. package/build/cjs/cim/components/Hypershift/utils/status.js +8 -7
  63. package/build/cjs/cim/components/Hypershift/utils/status.js.map +1 -1
  64. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js +4 -4
  65. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -1
  66. package/build/cjs/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js +3 -3
  67. package/build/cjs/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js.map +1 -1
  68. package/build/cjs/cim/components/helpers/agentStatus.js +3 -2
  69. package/build/cjs/cim/components/helpers/agentStatus.js.map +1 -1
  70. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js +7 -3
  71. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js.map +1 -1
  72. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +4 -3
  73. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
  74. package/build/cjs/cim/components/modals/CimConfiguration/persist.js +7 -0
  75. package/build/cjs/cim/components/modals/CimConfiguration/persist.js.map +1 -1
  76. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +2 -2
  77. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  78. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js +2 -1
  79. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js.map +1 -1
  80. package/build/cjs/common/components/clusterDetail/FinalizingProgress.js +8 -7
  81. package/build/cjs/common/components/clusterDetail/FinalizingProgress.js.map +1 -1
  82. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +4 -4
  83. package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
  84. package/build/cjs/common/components/clusterDetail/ProgressBarTexts.js +5 -4
  85. package/build/cjs/common/components/clusterDetail/ProgressBarTexts.js.map +1 -1
  86. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +7 -6
  87. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  88. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +2 -2
  89. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -1
  90. package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js +6 -6
  91. package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js.map +1 -1
  92. package/build/cjs/common/components/hosts/HostStatus.js +2 -1
  93. package/build/cjs/common/components/hosts/HostStatus.js.map +1 -1
  94. package/build/cjs/common/components/hosts/HostValidationGroups.js +6 -6
  95. package/build/cjs/common/components/hosts/HostValidationGroups.js.map +1 -1
  96. package/build/cjs/common/components/hosts/Hostname.js +4 -3
  97. package/build/cjs/common/components/hosts/Hostname.js.map +1 -1
  98. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js +2 -2
  99. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js.map +1 -1
  100. package/build/cjs/common/components/hosts/VMRebootConfigurationInfo.js +2 -1
  101. package/build/cjs/common/components/hosts/VMRebootConfigurationInfo.js.map +1 -1
  102. package/build/cjs/common/components/hosts/status.js +19 -13
  103. package/build/cjs/common/components/hosts/status.js.map +1 -1
  104. package/build/cjs/common/components/storage/DisksTable.js +4 -2
  105. package/build/cjs/common/components/storage/DisksTable.js.map +1 -1
  106. package/build/cjs/common/components/storage/StorageUtils.js +3 -2
  107. package/build/cjs/common/components/storage/StorageUtils.js.map +1 -1
  108. package/build/cjs/common/components/ui/WizardNavItem.js +2 -2
  109. package/build/cjs/common/components/ui/WizardNavItem.js.map +1 -1
  110. package/build/cjs/common/components/ui/formik/RemovableField.js +3 -3
  111. package/build/cjs/common/components/ui/formik/RemovableField.js.map +1 -1
  112. package/build/cjs/common/components/ui/formik/RichInputField.js +4 -4
  113. package/build/cjs/common/components/ui/formik/RichInputField.js.map +1 -1
  114. package/build/cjs/common/components/ui/index.js +1 -3
  115. package/build/cjs/common/components/ui/index.js.map +1 -1
  116. package/build/cjs/common/validationSchemas/addressValidation.js +16 -4
  117. package/build/cjs/common/validationSchemas/addressValidation.js.map +1 -1
  118. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +4 -4
  119. package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
  120. package/build/cjs/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.js +5 -2
  121. package/build/cjs/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.js.map +1 -1
  122. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +5 -2
  123. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  124. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +5 -3
  125. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -1
  126. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js +11 -7
  127. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js.map +1 -1
  128. package/build/cjs/ocm/components/clusterDetail/HostInventoryExpandable.js +5 -4
  129. package/build/cjs/ocm/components/clusterDetail/HostInventoryExpandable.js.map +1 -1
  130. package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js +4 -3
  131. package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js.map +1 -1
  132. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +4 -2
  133. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  134. package/build/cjs/ocm/components/clusters/ClusterStatus.js +13 -7
  135. package/build/cjs/ocm/components/clusters/ClusterStatus.js.map +1 -1
  136. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js +7 -6
  137. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js.map +1 -1
  138. package/build/cjs/ocm/components/ui/InfoLinkWithModal.js +2 -2
  139. package/build/cjs/ocm/components/ui/InfoLinkWithModal.js.map +1 -1
  140. package/lib/cim/components/Agent/BMHStatusInfo.tsx +12 -4
  141. package/lib/cim/components/Agent/MinimalHWRequirements.tsx +4 -2
  142. package/lib/cim/components/Hypershift/DetailsPage/ConditionsTable.tsx +13 -7
  143. package/lib/cim/components/Hypershift/DetailsPage/HostedClusterProgress.tsx +8 -4
  144. package/lib/cim/components/Hypershift/DetailsPage/NodePoolsProgress.tsx +6 -2
  145. package/lib/cim/components/Hypershift/utils/status.tsx +20 -9
  146. package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +11 -4
  147. package/lib/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.tsx +4 -6
  148. package/lib/cim/components/helpers/agentStatus.tsx +7 -3
  149. package/lib/cim/components/modals/CimConfiguration/CimConfigurationFormFields.tsx +7 -5
  150. package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +4 -3
  151. package/lib/cim/components/modals/CimConfiguration/persist.ts +11 -0
  152. package/lib/cim/components/modals/CimConfiguration/types.ts +1 -1
  153. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +12 -5
  154. package/lib/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.tsx +5 -2
  155. package/lib/common/components/clusterDetail/FinalizingProgress.tsx +21 -10
  156. package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +11 -5
  157. package/lib/common/components/clusterDetail/ProgressBarTexts.tsx +17 -5
  158. package/lib/common/components/clusterWizard/ReviewValidations.tsx +15 -6
  159. package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +0 -2
  160. package/lib/common/components/hosts/HostPropertyValidationPopover.tsx +9 -5
  161. package/lib/common/components/hosts/HostStatus.tsx +14 -3
  162. package/lib/common/components/hosts/HostValidationGroups.tsx +9 -5
  163. package/lib/common/components/hosts/Hostname.tsx +7 -4
  164. package/lib/common/components/hosts/MassChangeHostnameModal.tsx +6 -2
  165. package/lib/common/components/hosts/VMRebootConfigurationInfo.tsx +12 -3
  166. package/lib/common/components/hosts/status.tsx +46 -13
  167. package/lib/common/components/storage/DisksTable.tsx +15 -4
  168. package/lib/common/components/storage/StorageUtils.tsx +6 -4
  169. package/lib/common/components/ui/WizardNavItem.tsx +4 -7
  170. package/lib/common/components/ui/formik/RemovableField.tsx +8 -4
  171. package/lib/common/components/ui/formik/RichInputField.tsx +10 -6
  172. package/lib/common/components/ui/index.ts +0 -2
  173. package/lib/common/validationSchemas/addressValidation.tsx +16 -11
  174. package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +11 -5
  175. package/lib/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.tsx +8 -7
  176. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +6 -3
  177. package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +6 -3
  178. package/lib/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.tsx +28 -15
  179. package/lib/ocm/components/clusterDetail/HostInventoryExpandable.tsx +11 -5
  180. package/lib/ocm/components/clusterDetail/OpenShiftVersionDetail.tsx +8 -5
  181. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +6 -3
  182. package/lib/ocm/components/clusters/ClusterStatus.tsx +30 -8
  183. package/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +12 -8
  184. package/lib/ocm/components/ui/InfoLinkWithModal.tsx +4 -2
  185. package/package.json +3 -3
  186. package/build/@types/common/components/ui/UiIcon.d.ts +0 -11
  187. package/build/@types/common/components/ui/UiIcon.d.ts.map +0 -1
  188. package/build/cjs/common/components/ui/UiIcon.js +0 -11
  189. package/build/cjs/common/components/ui/UiIcon.js.map +0 -1
  190. package/lib/common/components/ui/UiIcon.tsx +0 -21
@@ -8,13 +8,10 @@ import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/e
8
8
  import { InProgressIcon } from '@patternfly/react-icons/dist/js/icons/in-progress-icon';
9
9
  import { LinkIcon } from '@patternfly/react-icons/dist/js/icons/link-icon';
10
10
  import { PendingIcon } from '@patternfly/react-icons/dist/js/icons/pending-icon';
11
- import { t_global_icon_color_status_danger_default as dangerColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_danger_default';
12
- import { t_global_icon_color_status_warning_default as warningColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_warning_default';
13
- import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
14
- import { chart_color_blue_300 as blueColor } from '@patternfly/react-tokens/dist/js/chart_color_blue_300';
15
11
  import { Host } from '@openshift-assisted/types/assisted-installer-service';
16
12
  import { HostStatus } from './types';
17
13
  import { TFunction } from 'i18next';
14
+ import { Icon } from '@patternfly/react-core';
18
15
 
19
16
  export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizing'> =>
20
17
  Object.freeze({
@@ -85,7 +82,11 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
85
82
  key: 'insufficient-unbound',
86
83
  title: t('ai:Insufficient'),
87
84
  category: 'Discovery related',
88
- icon: <ExclamationTriangleIcon color={warningColor.value} />,
85
+ icon: (
86
+ <Icon status="warning">
87
+ <ExclamationTriangleIcon />
88
+ </Icon>
89
+ ),
89
90
  details: t(
90
91
  'ai:This host does not meet the minimum hardware or networking requirements and can not be included in the cluster.',
91
92
  ),
@@ -94,7 +95,11 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
94
95
  key: 'known-unbound',
95
96
  title: t('ai:Available'),
96
97
  category: 'Discovery related',
97
- icon: <ConnectedIcon color={blueColor.value} />,
98
+ icon: (
99
+ <Icon status="info">
100
+ <ConnectedIcon />
101
+ </Icon>
102
+ ),
98
103
  details: t(
99
104
  'ai:This host meets the minimum hardware and networking requirements and can be included in the cluster.',
100
105
  ),
@@ -125,7 +130,11 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
125
130
  key: 'known',
126
131
  title: t('ai:Ready'),
127
132
  category: 'Discovery related',
128
- icon: <CheckCircleIcon color={okColor.value} />,
133
+ icon: (
134
+ <Icon status="success">
135
+ <CheckCircleIcon />
136
+ </Icon>
137
+ ),
129
138
  details: t(
130
139
  'ai:This host meets the minimum hardware and networking requirements and will be included in the cluster.',
131
140
  ),
@@ -143,7 +152,11 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
143
152
  key: 'insufficient',
144
153
  title: t('ai:Insufficient'),
145
154
  category: 'Discovery related',
146
- icon: <ExclamationTriangleIcon color={warningColor.value} />,
155
+ icon: (
156
+ <Icon status="warning">
157
+ <ExclamationTriangleIcon />
158
+ </Icon>
159
+ ),
147
160
  details: t(
148
161
  'ai:This host does not meet the minimum hardware or networking requirements and will not be included in the cluster.',
149
162
  ),
@@ -186,14 +199,22 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
186
199
  key: 'installing-pending-user-action',
187
200
  title: t('ai:Pending user action'),
188
201
  category: 'Installation related',
189
- icon: <ExclamationTriangleIcon color={warningColor.value} />,
202
+ icon: (
203
+ <Icon status="warning">
204
+ <ExclamationTriangleIcon />
205
+ </Icon>
206
+ ),
190
207
  details: t('ai:This host is pending user action'),
191
208
  },
192
209
  installed: {
193
210
  key: 'installed',
194
211
  title: t('ai:Installed'),
195
212
  category: 'Installation related',
196
- icon: <CheckCircleIcon color={okColor.value} />,
213
+ icon: (
214
+ <Icon status="success">
215
+ <CheckCircleIcon />
216
+ </Icon>
217
+ ),
197
218
  details: t('ai:This host completed its installation successfully.'),
198
219
  },
199
220
  cancelled: {
@@ -208,7 +229,11 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
208
229
  key: 'error',
209
230
  title: t('ai:Error'),
210
231
  category: 'Installation related',
211
- icon: <ExclamationCircleIcon color={dangerColor.value} />,
232
+ icon: (
233
+ <Icon status="danger">
234
+ <ExclamationCircleIcon />
235
+ </Icon>
236
+ ),
212
237
  details: t('ai:This host failed its installation.'),
213
238
  withProgress: true,
214
239
  },
@@ -223,7 +248,11 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
223
248
  key: 'resetting-pending-user-action',
224
249
  title: t('ai:Reboot required'),
225
250
  category: 'Installation related',
226
- icon: <ExclamationTriangleIcon color={warningColor.value} />,
251
+ icon: (
252
+ <Icon status="warning">
253
+ <ExclamationTriangleIcon />
254
+ </Icon>
255
+ ),
227
256
  details: t(
228
257
  'ai:Host has already been booted from disk during the previous installation. To finish resetting the installation, boot the host into the discovery image',
229
258
  ),
@@ -238,7 +267,11 @@ export const hostStatus = (t: TFunction): HostStatus<Host['status'] | 'finalizin
238
267
  key: 'added-to-existing-cluster',
239
268
  title: t('ai:Installed'),
240
269
  category: 'Installation related',
241
- icon: <CheckCircleIcon color={okColor.value} />,
270
+ icon: (
271
+ <Icon status="success">
272
+ <CheckCircleIcon />
273
+ </Icon>
274
+ ),
242
275
  details: t('ai:This host completed its installation successfully.'),
243
276
  },
244
277
  });
@@ -1,5 +1,12 @@
1
1
  import React from 'react';
2
- import { Content, ContentVariants, Popover, Alert, AlertVariant } from '@patternfly/react-core';
2
+ import {
3
+ Content,
4
+ ContentVariants,
5
+ Popover,
6
+ Alert,
7
+ AlertVariant,
8
+ Icon,
9
+ } from '@patternfly/react-core';
3
10
  import { TableVariant, Thead, Tbody, Table, Th, Tr, Td } from '@patternfly/react-table';
4
11
  import type { Disk, Host } from '@openshift-assisted/types/assisted-installer-service';
5
12
  import type { WithTestID } from '../../types/index';
@@ -12,7 +19,7 @@ import FormatDiskCheckbox, {
12
19
  isInDiskSkipFormattingList,
13
20
  } from '../hosts/FormatDiskCheckbox';
14
21
  import { fileSize } from '../../utils';
15
- import { PopoverIcon, UiIcon } from '../ui';
22
+ import { PopoverIcon } from '../ui';
16
23
  import { useTranslation } from '../../hooks/use-translation-wrapper';
17
24
  import { TFunction } from 'i18next';
18
25
 
@@ -100,7 +107,9 @@ const DiskName = ({
100
107
  {isIndented && <span style={{ width: '1rem', display: 'inline-block' }} />}
101
108
  {isInDiskSkipFormattingList(host, disk.id) && (
102
109
  <Popover bodyContent={<SkipFormattingDisk />} minWidth="20rem" maxWidth="30rem">
103
- <UiIcon size="sm" status="warning" icon={<ExclamationTriangleIcon />} />
110
+ <Icon size="sm" status="warning">
111
+ <ExclamationTriangleIcon />
112
+ </Icon>
104
113
  </Popover>
105
114
  )}
106
115
  {' '}
@@ -115,7 +124,9 @@ const DiskName = ({
115
124
  maxWidth="30rem"
116
125
  data-testid="disk-limitations-popover"
117
126
  >
118
- <UiIcon size="sm" status="warning" icon={<ExclamationTriangleIcon />} />
127
+ <Icon size="sm" status="warning">
128
+ <ExclamationTriangleIcon />
129
+ </Icon>
119
130
  </Popover>
120
131
  </>
121
132
  )}
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { TFunction } from 'i18next';
3
- import { getHostRole, getInventory, RoleCell, UiIcon } from '../../index';
4
- import { TableRow } from '../hosts/AITable';
5
- import { Popover, Content, ContentVariants } from '@patternfly/react-core';
3
+ import { Popover, Content, ContentVariants, Icon } from '@patternfly/react-core';
6
4
  import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
7
5
  import { Host } from '@openshift-assisted/types/assisted-installer-service';
6
+ import { getHostRole, getInventory, RoleCell } from '../../index';
7
+ import { TableRow } from '../hosts/AITable';
8
8
 
9
9
  const SkipFormattingDisks = () => (
10
10
  <Content component={ContentVariants.p}>Some bootable disks will skip formatting</Content>
@@ -49,7 +49,9 @@ export const numberOfDisksColumn: TableRow<Host> = {
49
49
  {' '}
50
50
  {host.skipFormattingDisks && (
51
51
  <Popover bodyContent={<SkipFormattingDisks />} minWidth="20rem" maxWidth="30rem">
52
- <UiIcon size="sm" status="warning" icon={<ExclamationTriangleIcon />} />
52
+ <Icon size="sm" status="warning">
53
+ <ExclamationTriangleIcon />
54
+ </Icon>
53
55
  </Popover>
54
56
  )}
55
57
  </>
@@ -1,7 +1,6 @@
1
1
  import React, { PropsWithChildren, ReactNode } from 'react';
2
- import { WizardNavItem, WizardNavItemProps } from '@patternfly/react-core';
2
+ import { Icon, WizardNavItem, WizardNavItemProps } from '@patternfly/react-core';
3
3
  import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
4
- import UiIcon from './UiIcon';
5
4
 
6
5
  const getNavItemContent = (
7
6
  content: ReactNode,
@@ -13,11 +12,9 @@ const getNavItemContent = (
13
12
  return (
14
13
  <>
15
14
  {content}
16
- <UiIcon
17
- status="danger"
18
- className="wizard-nav-item-warning-icon"
19
- icon={<ExclamationCircleIcon />}
20
- />
15
+ <Icon status="danger" className="wizard-nav-item-warning-icon">
16
+ <ExclamationCircleIcon />
17
+ </Icon>
21
18
  </>
22
19
  );
23
20
  }
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { Button, ButtonVariant, Tooltip, TooltipProps } from '@patternfly/react-core';
2
+ import { Button, ButtonVariant, Icon, Tooltip, TooltipProps } from '@patternfly/react-core';
3
3
  import { MinusCircleIcon } from '@patternfly/react-icons/dist/js/icons/minus-circle-icon';
4
- import './RemovableField.css';
5
4
  import classnames from 'classnames';
6
- import UiIcon from '../UiIcon';
5
+
6
+ import './RemovableField.css';
7
7
 
8
8
  interface RemovableFieldProps {
9
9
  onRemove: VoidFunction;
@@ -30,7 +30,11 @@ const RemovableField: React.FC<RemovableFieldProps & Omit<TooltipProps, 'content
30
30
  distance={0}
31
31
  content={
32
32
  <Button
33
- icon={<UiIcon size="sm" icon={<MinusCircleIcon />} />}
33
+ icon={
34
+ <Icon size="sm">
35
+ <MinusCircleIcon />
36
+ </Icon>
37
+ }
34
38
  variant={ButtonVariant.plain}
35
39
  onClick={onRemove}
36
40
  data-testid={removeButtonDataTestId}
@@ -15,15 +15,13 @@ import {
15
15
  FormHelperText,
16
16
  HelperText,
17
17
  ButtonVariant,
18
+ Icon,
18
19
  } from '@patternfly/react-core';
19
20
  import { CheckCircleIcon } from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
20
21
  import { CheckIcon } from '@patternfly/react-icons/dist/js/icons/check-icon';
21
22
  import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
22
23
  import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
23
24
  import { TimesIcon } from '@patternfly/react-icons/dist/js/icons/times-icon';
24
- import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
25
- import { t_global_icon_color_status_danger_default as dangerColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_danger_default';
26
- import { t_global_icon_color_status_info_default as blueInfoColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_info_default';
27
25
 
28
26
  import { InputFieldProps as BaseInputProps } from './types';
29
27
  import { getFieldId } from './utils';
@@ -164,11 +162,17 @@ const RichInputField: React.FC<RichInputFieldPropsProps> = React.forwardRef(
164
162
  <Button
165
163
  icon={
166
164
  !isValid ? (
167
- <ExclamationCircleIcon color={dangerColor.value} />
165
+ <Icon status="danger">
166
+ <ExclamationCircleIcon />
167
+ </Icon>
168
168
  ) : value ? (
169
- <CheckCircleIcon color={okColor.value} />
169
+ <Icon status="success">
170
+ <CheckCircleIcon />
171
+ </Icon>
170
172
  ) : (
171
- <InfoCircleIcon color={blueInfoColor.value} />
173
+ <Icon status="info">
174
+ <InfoCircleIcon />
175
+ </Icon>
172
176
  )
173
177
  }
174
178
  variant={ButtonVariant.control}
@@ -28,5 +28,3 @@ export { default as ClusterEventsToolbar } from './ClusterEventsToolbar';
28
28
  export { default as ModalProgress } from './ModalProgress';
29
29
  export { default as ConfirmationModal } from './ConfirmationModal';
30
30
  export { default as NoPermissionsError } from './NoPermissionsError';
31
-
32
- export { default as UiIcon } from './UiIcon';
@@ -7,13 +7,7 @@ import { getAddress } from '../components/ui/formik/utils';
7
7
  import { getSubnet } from '../components/clusterConfiguration/utils';
8
8
  import { HostSubnets, NetworkConfigurationValues } from '../types';
9
9
  import { IP_V4_ZERO, IP_V6_ZERO, MAC_REGEX } from './regexes';
10
- import {
11
- alwaysRequired,
12
- getArrayIndexFromPath,
13
- isIPorDN,
14
- isIPv4Address,
15
- isIPv6Address,
16
- } from './utils';
10
+ import { getArrayIndexFromPath, isIPorDN, isIPv4Address, isIPv6Address } from './utils';
17
11
  import { NO_SUBNET_SET } from '../config';
18
12
  import { overlap } from 'cidr-tools';
19
13
  import parseUrl from 'parse-url';
@@ -28,6 +22,7 @@ export const ipValidationSchema = (t: TFunction) =>
28
22
 
29
23
  export const ipNoSuffixValidationSchema = (t: TFunction) =>
30
24
  Yup.string().test('ip-validation-no-suffix', t('ai:Not a valid IP address'), (value?: string) => {
25
+ if (!value) return true;
31
26
  const address = getAddress(value || '');
32
27
  return !!address && address.address === address.addressMinusSuffix;
33
28
  });
@@ -173,15 +168,25 @@ export const vipNoSuffixValidationSchema = (
173
168
  }
174
169
  if (apiVip === ingressVip) {
175
170
  return this.createError({
176
- message: t('ai:The {{label}} Ingress and API IP addresses cannot be the same.', {
177
- label: index === 0 ? t('ai:primary') : t('ai:secondary'),
178
- }),
171
+ message:
172
+ index === 0
173
+ ? t('ai:The primary Ingress and API IP addresses cannot be the same.')
174
+ : t('ai:The secondary Ingress and API IP addresses cannot be the same.'),
179
175
  });
180
176
  }
181
177
  return true;
182
178
  });
179
+ const requiredField = (message: string) =>
180
+ Yup.string().test('required-field', message, function (value?: string) {
181
+ const index = getArrayIndexFromPath(this.path || '');
182
+ const api1 = (values.apiVips?.[1]?.ip ?? '').toString().trim();
183
+ const ingress1 = (values.ingressVips?.[1]?.ip ?? '').toString().trim();
184
+ // Dual-stack: secondary VIPs (index 1) are optional; skip required when both are empty
185
+ if (index === 1 && api1 === '' && ingress1 === '') return true;
186
+ return !!value;
187
+ });
183
188
 
184
- return alwaysRequired(t('ai:Required field'))
189
+ return requiredField(t('ai:Required field'))
185
190
  .concat(ipNoSuffixValidationSchema(t))
186
191
  .concat(vipFamilyMatchSchema)
187
192
  .concat(vipRangeValidationSchema(hostSubnets, values, false, t))
@@ -1,11 +1,9 @@
1
1
  import React from 'react';
2
- import { Button, ButtonVariant, List, ListItem, Popover } from '@patternfly/react-core';
2
+ import { Button, ButtonVariant, Icon, List, ListItem, Popover } from '@patternfly/react-core';
3
3
  import { CheckCircleIcon } from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
4
4
  import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
5
5
  import { InProgressIcon } from '@patternfly/react-icons/dist/js/icons/in-progress-icon';
6
6
  import { PendingIcon } from '@patternfly/react-icons/dist/js/icons/pending-icon';
7
- import { t_global_icon_color_status_danger_default as dangerColor } from '@patternfly/react-tokens/dist/js/t_global_icon_color_status_danger_default';
8
- import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
9
7
  import { pluralize } from 'humanize-plus';
10
8
  import { TFunction } from 'i18next';
11
9
 
@@ -60,9 +58,17 @@ export function getOperatorsLabel(operators: MonitoredOperatorsList, t: TFunctio
60
58
  export function getOperatorsIcon(status: OperatorStatus | 'pending') {
61
59
  switch (status) {
62
60
  case 'available':
63
- return <CheckCircleIcon color={okColor.value} />;
61
+ return (
62
+ <Icon status="success">
63
+ <CheckCircleIcon />
64
+ </Icon>
65
+ );
64
66
  case 'failed':
65
- return <ExclamationCircleIcon color={dangerColor.value} />;
67
+ return (
68
+ <Icon status="danger">
69
+ <ExclamationCircleIcon />
70
+ </Icon>
71
+ );
66
72
  case 'progressing':
67
73
  return <InProgressIcon />;
68
74
  default:
@@ -1,9 +1,6 @@
1
1
  import * as React from 'react';
2
- import {
3
- OPENSHIFT_LIFE_CYCLE_DATES_LINK,
4
- OpenshiftVersionOptionType,
5
- UiIcon,
6
- } from '../../../common';
2
+ import { Icon } from '@patternfly/react-core';
3
+ import { OPENSHIFT_LIFE_CYCLE_DATES_LINK, OpenshiftVersionOptionType } from '../../../common';
7
4
  import { TFunction } from 'i18next';
8
5
  import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
9
6
  import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
@@ -29,7 +26,9 @@ export const getOpenshiftVersionHelperText = (
29
26
  if (!versions.length && !isModal) {
30
27
  return (
31
28
  <>
32
- <UiIcon status="danger" size="sm" icon={<ExclamationCircleIcon />} />
29
+ <Icon status="danger" size="sm">
30
+ <ExclamationCircleIcon />
31
+ </Icon>
33
32
  &nbsp; {t('ai:No release image is available.')}
34
33
  </>
35
34
  );
@@ -50,7 +49,9 @@ export const getOpenshiftVersionHelperText = (
50
49
  }
51
50
  return (
52
51
  <>
53
- <UiIcon status="warning" icon={<ExclamationTriangleIcon />} />
52
+ <Icon status="warning">
53
+ <ExclamationTriangleIcon />
54
+ </Icon>
54
55
  &nbsp;
55
56
  {messageSelectedVersion}&nbsp;
56
57
  <OpenShiftLifeCycleDatesLink />
@@ -236,9 +236,13 @@ const NetworkConfigurationPage = ({ cluster }: { cluster: Cluster }) => {
236
236
  const isMultiNodeCluster = !isSNO(cluster);
237
237
  const isUserManagedNetworking = values.managedNetworkingType === 'userManaged';
238
238
 
239
+ // Only send VIPs that have a non-empty IP;
240
+ const apiVips = (values.apiVips || []).filter((v) => (v?.ip ?? '').trim() !== '');
241
+ const ingressVips = (values.ingressVips || []).filter((v) => (v?.ip ?? '').trim() !== '');
242
+
239
243
  const params: V2ClusterUpdateParams = {
240
- apiVips: values.apiVips,
241
- ingressVips: values.ingressVips,
244
+ apiVips,
245
+ ingressVips,
242
246
  sshPublicKey: values.sshPublicKey,
243
247
  vipDhcpAllocation: values.vipDhcpAllocation,
244
248
  networkType: values.networkType,
@@ -247,7 +251,6 @@ const NetworkConfigurationPage = ({ cluster }: { cluster: Cluster }) => {
247
251
  serviceNetworks: values.serviceNetworks,
248
252
  userManagedNetworking: isUserManagedNetworking,
249
253
  };
250
-
251
254
  if (params.userManagedNetworking) {
252
255
  params.apiVips = [];
253
256
  params.ingressVips = [];
@@ -1,14 +1,17 @@
1
1
  import React from 'react';
2
+ import { Icon } from '@patternfly/react-core';
2
3
  import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
3
- import { UiIcon, SupportedPlatformType } from '../../../../common';
4
+ import { SupportedPlatformType } from '../../../../common';
4
5
  import { ExternalPlatformLinks } from './constants';
5
6
 
6
7
  const PlatformIntegrationNote = ({ platformType }: { platformType: SupportedPlatformType }) => {
7
8
  const integrationPlatformLink = ExternalPlatformLinks[platformType];
8
9
  return (
9
10
  <p>
10
- <UiIcon status="warning" icon={<ExclamationTriangleIcon />} /> You will need to modify your
11
- platform configuration after cluster installation is completed.{' '}
11
+ <Icon status="warning">
12
+ <ExclamationTriangleIcon />
13
+ </Icon>{' '}
14
+ You will need to modify your platform configuration after cluster installation is completed.{' '}
12
15
  {!!integrationPlatformLink && (
13
16
  <a
14
17
  href={integrationPlatformLink || ''}
@@ -6,20 +6,13 @@ import {
6
6
  Grid,
7
7
  GridItem,
8
8
  gridSpans,
9
+ Icon,
9
10
  } from '@patternfly/react-core';
10
11
  import { CheckCircleIcon } from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
11
12
  import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
12
13
  import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
13
14
  import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
14
- import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
15
- import { t_global_color_status_info_100 as infoColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_info_100';
16
- import {
17
- ClusterValidations,
18
- DetailItem,
19
- DetailList,
20
- HostsValidations,
21
- UiIcon,
22
- } from '../../../../common';
15
+ import { ClusterValidations, DetailItem, DetailList, HostsValidations } from '../../../../common';
23
16
  import { useClusterWizardContext } from '../../clusterWizard/ClusterWizardContext';
24
17
  import { useOpenShiftVersionsContext } from '../../clusterWizard/OpenShiftVersionsContext';
25
18
  import { wizardStepNames } from '../../clusterWizard/constants';
@@ -102,13 +95,29 @@ const PreflightCheckInfo = ({
102
95
 
103
96
  const getCheckIcon = (validationStatuses: string[]) => {
104
97
  if (validationStatuses.includes('failure') || validationStatuses.includes('error')) {
105
- return <UiIcon size="sm" status="danger" icon={<ExclamationCircleIcon />} />;
98
+ return (
99
+ <Icon size="sm" status="danger">
100
+ <ExclamationCircleIcon />
101
+ </Icon>
102
+ );
106
103
  } else if (validationStatuses.includes('warning')) {
107
- return <UiIcon size="sm" status="warning" icon={<ExclamationTriangleIcon />} />;
104
+ return (
105
+ <Icon size="sm" status="warning">
106
+ <ExclamationTriangleIcon />
107
+ </Icon>
108
+ );
108
109
  } else if (validationStatuses.includes('pending')) {
109
- return <UiIcon size="sm" status="info" icon={<InfoCircleIcon />} />;
110
+ return (
111
+ <Icon size="sm" status="info">
112
+ <InfoCircleIcon />
113
+ </Icon>
114
+ );
110
115
  }
111
- return <UiIcon size="sm" icon={<CheckCircleIcon color={okColor.value} />} />;
116
+ return (
117
+ <Icon status="success" size="sm">
118
+ <CheckCircleIcon />
119
+ </Icon>
120
+ );
112
121
  };
113
122
 
114
123
  const PreflightChecksDetailCollapsed = ({ cluster }: { cluster: Cluster }) => {
@@ -122,9 +131,13 @@ const PreflightChecksDetailCollapsed = ({ cluster }: { cluster: Cluster }) => {
122
131
  );
123
132
 
124
133
  const supportLevelIcon = isFullySupported ? (
125
- <UiIcon size="sm" icon={<CheckCircleIcon color={okColor.value} />} />
134
+ <Icon status="success" size="sm">
135
+ <CheckCircleIcon />
136
+ </Icon>
126
137
  ) : (
127
- <UiIcon size="sm" icon={<InfoCircleIcon color={infoColor.value} />} />
138
+ <Icon status="info" size="sm">
139
+ <InfoCircleIcon />
140
+ </Icon>
128
141
  );
129
142
 
130
143
  const clusterValidations = React.useMemo(
@@ -1,12 +1,14 @@
1
1
  import React, { useState } from 'react';
2
- import { UiIcon, hostStatus } from '../../../common';
2
+ import { ExpandableSection, Icon } from '@patternfly/react-core';
3
+ import ExclamationTriangleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
4
+
5
+ import { hostStatus } from '../../../common';
3
6
  import ClusterHostsTable from '../hosts/ClusterHostsTable';
4
7
  import { getHostsWithTimeout, getMostSevereHostStatus } from './utils';
5
- import { ExpandableSection } from '@patternfly/react-core';
6
- import './HostInventoryExpandable.css';
7
8
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
8
9
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
9
- import ExclamationTriangleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
10
+
11
+ import './HostInventoryExpandable.css';
10
12
 
11
13
  type HostInventoryExpandableProps = {
12
14
  cluster: Cluster;
@@ -33,7 +35,11 @@ const HostInventoryExpandable = ({ cluster }: HostInventoryExpandableProps) => {
33
35
  const mostSevereHostStatus = getMostSevereHostStatus(hosts);
34
36
  const hostStatusDef = mostSevereHostStatus ? hostStatus(t)[mostSevereHostStatus] : null;
35
37
  const someHostHasTimeout = getHostsWithTimeout(hosts);
36
- const warningIcon = <UiIcon size="sm" status="warning" icon={<ExclamationTriangleIcon />} />;
38
+ const warningIcon = (
39
+ <Icon size="sm" status="warning">
40
+ <ExclamationTriangleIcon />
41
+ </Icon>
42
+ );
37
43
  return (
38
44
  <ExpandableSection
39
45
  toggleContent={
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import { UiIcon, getOpenshiftVersionText } from '../../../common';
3
- import { useOpenShiftVersionsContext } from '../clusterWizard/OpenShiftVersionsContext';
2
+ import { Popover, Content, ContentVariants, Icon } from '@patternfly/react-core';
4
3
  import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
5
- import { Popover, Content, ContentVariants } from '@patternfly/react-core';
6
- import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
4
+
7
5
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
6
+ import { getOpenshiftVersionText } from '../../../common';
7
+ import { useOpenShiftVersionsContext } from '../clusterWizard/OpenShiftVersionsContext';
8
+ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
8
9
 
9
10
  const UnsupportedVersion = ({ version }: { version: string }) => {
10
11
  const { t } = useTranslation();
@@ -18,7 +19,9 @@ const UnsupportedVersion = ({ version }: { version: string }) => {
18
19
  <Content component="p">
19
20
  {version} &nbsp;
20
21
  <Popover bodyContent={hint}>
21
- <UiIcon size="sm" status="warning" icon={<ExclamationTriangleIcon />} />
22
+ <Icon size="sm" status="warning">
23
+ <ExclamationTriangleIcon />
24
+ </Icon>
22
25
  </Popover>
23
26
  </Content>
24
27
  );
@@ -4,6 +4,7 @@ import {
4
4
  Button,
5
5
  ButtonVariant,
6
6
  Content,
7
+ Icon,
7
8
  Modal,
8
9
  ModalBody,
9
10
  ModalFooter,
@@ -16,7 +17,7 @@ import { getApiErrorMessage, handleApiError } from '../../../common/api';
16
17
  import { updateCluster } from '../../store/slices/current-cluster/slice';
17
18
  import { calculateCollectedLogsCount } from '../clusters/utils';
18
19
  import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
19
- import { ErrorState, LoadingState, UiIcon } from '../../../common';
20
+ import { ErrorState, LoadingState } from '../../../common';
20
21
  import { ClustersAPI } from '../../services/apis';
21
22
 
22
23
  const ResetClusterModal: React.FC = () => {
@@ -87,8 +88,10 @@ const ResetClusterModal: React.FC = () => {
87
88
  </Content>
88
89
 
89
90
  <Content component="p">
90
- <UiIcon size="sm" status="warning" icon={<ExclamationTriangleIcon />} /> Logs won't be
91
- available after the installation is reset.
91
+ <Icon size="sm" status="warning">
92
+ <ExclamationTriangleIcon />
93
+ </Icon>{' '}
94
+ Logs won't be available after the installation is reset.
92
95
  </Content>
93
96
 
94
97
  <Content component="p">Are you sure you want to reset the cluster?</Content>