@openshift-assisted/ui-lib 2.38.0 → 2.38.2

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 (76) hide show
  1. package/build/@types/common/config/docs_links.d.ts +8 -0
  2. package/build/@types/common/config/docs_links.d.ts.map +1 -1
  3. package/build/@types/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.d.ts.map +1 -1
  4. package/build/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +1 -1
  5. package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts +2 -1
  6. package/build/@types/ocm/components/clusterConfiguration/operators/LsoCheckbox.d.ts.map +1 -1
  7. package/build/@types/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.d.ts.map +1 -1
  8. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts +2 -1
  9. package/build/@types/ocm/components/clusterConfiguration/operators/NmstateCheckbox.d.ts.map +1 -1
  10. package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts +2 -1
  11. package/build/@types/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.d.ts.map +1 -1
  12. package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts +2 -1
  13. package/build/@types/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.d.ts.map +1 -1
  14. package/build/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +1 -1
  15. package/build/@types/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.d.ts.map +1 -1
  16. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts +4 -0
  17. package/build/@types/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.d.ts.map +1 -0
  18. package/build/@types/ocm/components/clusterConfiguration/operators/PipelinesChekbox.d.ts.map +1 -1
  19. package/build/@types/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.d.ts.map +1 -1
  20. package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts +2 -1
  21. package/build/@types/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.d.ts.map +1 -1
  22. package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts +4 -0
  23. package/build/@types/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.d.ts.map +1 -0
  24. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  25. package/build/cjs/common/config/docs_links.js +14 -1
  26. package/build/cjs/common/config/docs_links.js.map +1 -1
  27. package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js +6 -1
  28. package/build/cjs/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.js.map +1 -1
  29. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +11 -1
  30. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +1 -1
  31. package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js +9 -4
  32. package/build/cjs/ocm/components/clusterConfiguration/operators/LsoCheckbox.js.map +1 -1
  33. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js +4 -1
  34. package/build/cjs/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.js.map +1 -1
  35. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js +9 -4
  36. package/build/cjs/ocm/components/clusterConfiguration/operators/NmstateCheckbox.js.map +1 -1
  37. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js +9 -4
  38. package/build/cjs/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.js.map +1 -1
  39. package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js +9 -4
  40. package/build/cjs/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.js.map +1 -1
  41. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +9 -1
  42. package/build/cjs/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +1 -1
  43. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js +1 -12
  44. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.js.map +1 -1
  45. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js +30 -0
  46. package/build/cjs/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.js.map +1 -0
  47. package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js +6 -1
  48. package/build/cjs/ocm/components/clusterConfiguration/operators/PipelinesChekbox.js.map +1 -1
  49. package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js +6 -1
  50. package/build/cjs/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.js.map +1 -1
  51. package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js +10 -5
  52. package/build/cjs/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.js.map +1 -1
  53. package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js +19 -0
  54. package/build/cjs/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.js.map +1 -0
  55. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +64 -30
  56. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  57. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +1 -1
  58. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  59. package/lib/common/config/docs_links.ts +33 -0
  60. package/lib/ocm/components/clusterConfiguration/operators/AuthorinoCheckbox.tsx +5 -1
  61. package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +17 -2
  62. package/lib/ocm/components/clusterConfiguration/operators/LsoCheckbox.tsx +9 -3
  63. package/lib/ocm/components/clusterConfiguration/operators/MtvOperatorCheckbox.tsx +4 -1
  64. package/lib/ocm/components/clusterConfiguration/operators/NmstateCheckbox.tsx +9 -3
  65. package/lib/ocm/components/clusterConfiguration/operators/NodeFeatureDiscoveryCheckbox.tsx +15 -3
  66. package/lib/ocm/components/clusterConfiguration/operators/NvidiaGpuCheckbox.tsx +9 -3
  67. package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +15 -2
  68. package/lib/ocm/components/clusterConfiguration/operators/OpenShiftAIRequirements.tsx +0 -14
  69. package/lib/ocm/components/clusterConfiguration/operators/OpenshiftAINvidiaRequirements.tsx +36 -0
  70. package/lib/ocm/components/clusterConfiguration/operators/PipelinesChekbox.tsx +5 -1
  71. package/lib/ocm/components/clusterConfiguration/operators/ServerlessCheckbox.tsx +5 -1
  72. package/lib/ocm/components/clusterConfiguration/operators/ServicemeshCheckbox.tsx +10 -4
  73. package/lib/ocm/components/clusterConfiguration/operators/VirtualizationRequirements.tsx +26 -0
  74. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +157 -110
  75. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +1 -1
  76. package/package.json +3 -3
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-console */
1
2
  import React, { useEffect, useState } from 'react';
2
3
  import { useSelector } from 'react-redux';
3
4
  import {
@@ -20,6 +21,8 @@ import {
20
21
  ClusterOperatorProps,
21
22
  ClusterWizardStepHeader,
22
23
  numberOfEnabledOperators,
24
+ OPERATOR_NAME_CNV,
25
+ OPERATOR_NAME_ODF,
23
26
  OperatorsValues,
24
27
  PopoverIcon,
25
28
  } from '../../../common';
@@ -45,6 +48,8 @@ import {
45
48
  getOdfIncompatibleWithLvmsReason,
46
49
  getOpenShiftAIIncompatibleWithLvmsReason,
47
50
  } from '../featureSupportLevels/featureStateUtils';
51
+ import OpenshiftAINvidiaRequirements from '../clusterConfiguration/operators/OpenshiftAINvidiaRequirements';
52
+ import VirtualizationRequirements from '../clusterConfiguration/operators/VirtualizationRequirements';
48
53
 
49
54
  const operatorsThatCanNotBeInstalledAlone = [
50
55
  'nvdia-gpu',
@@ -73,6 +78,8 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
73
78
  const { updateUISettings, uiSettings } = useClusterWizardContext();
74
79
  const { values, setFieldValue } = useFormikContext<OperatorsValues>();
75
80
  const featureSupportLevelData = useNewFeatureSupportLevel();
81
+ const [hasUnsupportedOperators, setHasUnsupportedOperators] = useState<boolean>(false);
82
+ const [hasIncompatibleOperators, setHasIncompatibleOperators] = useState<boolean>(false);
76
83
 
77
84
  useEffect(() => {
78
85
  const fetchBundles = async () => {
@@ -156,6 +163,9 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
156
163
  newBundleOperators.push(op);
157
164
  const fieldId = mapOperatorsToFieldIds[op]; // Obtener el ID del campo correspondiente
158
165
  setFieldValue(fieldId, checked);
166
+ if (op === OPERATOR_NAME_CNV || op === OPERATOR_NAME_ODF) {
167
+ if (featureSupportLevelData.isFeatureSupported('LSO')) setFieldValue('useLso', checked);
168
+ }
159
169
  }
160
170
  });
161
171
  } else {
@@ -165,6 +175,9 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
165
175
  operators.forEach((op) => {
166
176
  const fieldId = mapOperatorsToFieldIds[op]; // Obtener el ID del campo correspondiente
167
177
  setFieldValue(fieldId, checked);
178
+ if (op === OPERATOR_NAME_CNV || op === OPERATOR_NAME_ODF) {
179
+ if (featureSupportLevelData.isFeatureSupported('LSO')) setFieldValue('useLso', checked);
180
+ }
168
181
  });
169
182
  }
170
183
 
@@ -178,7 +191,7 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
178
191
  setBundleOperators(newBundleOperators);
179
192
  };
180
193
 
181
- const getBundleLabel = (title: string | undefined, operators: string[] | undefined) => {
194
+ const getBundleLabel = (title: string | undefined) => {
182
195
  return (
183
196
  <>
184
197
  <span>{title} </span>
@@ -186,15 +199,11 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
186
199
  component={'a'}
187
200
  bodyContent={
188
201
  <>
189
- <h3>{'Bundle operators'}</h3>
190
- {operators && operators.length > 0 ? (
191
- <ul>
192
- {operators.map((operator, index) => (
193
- <li key={index}>{operator}</li>
194
- ))}
195
- </ul>
202
+ <span style={{ fontSize: '1.1em' }}>{'Requirements and dependencies'}</span>
203
+ {title === 'Virtualization' ? (
204
+ <VirtualizationRequirements />
196
205
  ) : (
197
- <p>No operators available</p>
206
+ <OpenshiftAINvidiaRequirements />
198
207
  )}
199
208
  </>
200
209
  }
@@ -202,49 +211,81 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
202
211
  </>
203
212
  );
204
213
  };
205
- const bundleHasOperatorsNotSupported = (operators: string[] | undefined) => {
206
- return (
207
- operators?.some(
208
- (operator) =>
209
- !featureSupportLevelData.isFeatureSupported(mapOperatorIdToFeatureId[operator]),
210
- ) ?? false
211
- );
212
- };
213
214
 
214
- const getDisabledReasonForOperator = (operatorKey: string, values: OperatorsValues) => {
215
- let disabledReason = featureSupportLevelData.getFeatureDisabledReason(
216
- mapOperatorIdToFeatureId[operatorKey],
217
- );
218
- if (operatorKey === 'cnv') {
219
- if (!disabledReason) {
220
- const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
221
- disabledReason = getCnvIncompatibleWithLvmReason(values, lvmSupport);
222
- }
223
- if (!disabledReason) {
224
- disabledReason = getCnvDisabledWithMtvReason(values);
215
+ const bundleHasOperatorsNotSupported = React.useCallback(
216
+ (operators: string[] | undefined) => {
217
+ return (
218
+ operators?.some(
219
+ (operator) =>
220
+ !featureSupportLevelData.isFeatureSupported(mapOperatorIdToFeatureId[operator]),
221
+ ) ?? false
222
+ );
223
+ },
224
+ [featureSupportLevelData],
225
+ );
226
+
227
+ const getDisabledReasonForOperator = React.useCallback(
228
+ (operatorKey: string, values: OperatorsValues) => {
229
+ let disabledReason = featureSupportLevelData.getFeatureDisabledReason(
230
+ mapOperatorIdToFeatureId[operatorKey],
231
+ );
232
+ if (operatorKey === 'cnv') {
233
+ if (!disabledReason) {
234
+ const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
235
+ disabledReason = getCnvIncompatibleWithLvmReason(values, lvmSupport);
236
+ }
237
+ if (!disabledReason) {
238
+ if (featureSupportLevelData.isFeatureSupported('MTV')) {
239
+ disabledReason = getCnvDisabledWithMtvReason(values);
240
+ }
241
+ }
225
242
  }
226
- }
227
- if (operatorKey === 'lvm') {
228
- if (!disabledReason) {
229
- const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
230
- disabledReason = getLvmIncompatibleWithCnvReason(values, lvmSupport);
243
+ if (operatorKey === 'lvm') {
231
244
  if (!disabledReason) {
232
- disabledReason = getLvmsIncompatibleWithOdfReason(values);
245
+ const lvmSupport = featureSupportLevelData.getFeatureSupportLevel('LVM');
246
+ disabledReason = getLvmIncompatibleWithCnvReason(values, lvmSupport);
247
+ if (!disabledReason) {
248
+ disabledReason = getLvmsIncompatibleWithOdfReason(values);
249
+ }
233
250
  }
234
251
  }
235
- }
236
- if (operatorKey === 'odf') {
237
- if (!disabledReason) {
238
- disabledReason = getOdfIncompatibleWithLvmsReason(values);
252
+ if (operatorKey === 'odf') {
253
+ if (!disabledReason) {
254
+ disabledReason = getOdfIncompatibleWithLvmsReason(values);
255
+ }
239
256
  }
240
- }
241
- if (operatorKey === 'openshift-ai') {
242
- if (!disabledReason) {
243
- disabledReason = getOpenShiftAIIncompatibleWithLvmsReason(values);
257
+ if (operatorKey === 'openshift-ai') {
258
+ if (!disabledReason) {
259
+ disabledReason = getOpenShiftAIIncompatibleWithLvmsReason(values);
260
+ }
244
261
  }
245
- }
246
- return disabledReason;
247
- };
262
+ return disabledReason;
263
+ },
264
+ [featureSupportLevelData],
265
+ );
266
+
267
+ const bundleHasOperatorsNotCompatibles = React.useCallback(
268
+ (operators: string[] | undefined, values: OperatorsValues) => {
269
+ return (
270
+ operators?.some((operatorKey) => {
271
+ const disabledReason = getDisabledReasonForOperator(operatorKey, values);
272
+ console.log(disabledReason);
273
+ return disabledReason !== undefined;
274
+ }) ?? false
275
+ );
276
+ },
277
+ [getDisabledReasonForOperator],
278
+ );
279
+
280
+ useEffect(() => {
281
+ setHasUnsupportedOperators(
282
+ bundles.some((bundle) => bundleHasOperatorsNotSupported(bundle.operators)),
283
+ );
284
+
285
+ setHasIncompatibleOperators(
286
+ bundles.some((bundle) => bundleHasOperatorsNotCompatibles(bundle.operators, values)),
287
+ );
288
+ }, [values, bundles, bundleHasOperatorsNotSupported, bundleHasOperatorsNotCompatibles]);
248
289
 
249
290
  return (
250
291
  <Stack hasGutter data-testid={'operators-page'}>
@@ -274,75 +315,81 @@ export const OperatorsStep = (props: ClusterOperatorProps) => {
274
315
  </StackItem>
275
316
  {/* Mostrar bundles como tarjetas */}
276
317
  <Gallery hasGutter minWidths={{ default: '350px' }} maxWidths={{ default: '2fr' }}>
277
- {filteredBundles.map((bundle) => (
278
- <GalleryItem key={bundle.id}>
279
- <Tooltip
280
- content={
281
- bundleHasOperatorsNotSupported(bundle.operators)
282
- ? 'Some operators in this bundle are not supported with the current configuration.'
283
- : isSNO && bundle.id === 'openshift-ai-nvidia'
284
- ? 'This bundle is not available when deploying a Single Node OpenShift.'
285
- : ''
286
- }
287
- hidden={
288
- !bundleHasOperatorsNotSupported(bundle.operators) &&
289
- !(isSNO && bundle.id === 'openshift-ai-nvidia')
290
- }
291
- >
292
- <Card
293
- style={
294
- bundle.id && selectedBundles[bundle.id]
295
- ? { border: '1px solid #004080', height: '200px' }
296
- : { height: '200px' }
297
- }
298
- isDisabled={
299
- bundleHasOperatorsNotSupported(bundle.operators) ||
300
- (isSNO && bundle.id === 'openshift-ai-nvidia')
318
+ {filteredBundles.map((bundle) => {
319
+ const isSnoAndBlockedBundle = isSNO && bundle.id === 'openshift-ai-nvidia';
320
+
321
+ const tooltipContent = hasUnsupportedOperators
322
+ ? 'Some operators in this bundle are not supported with the current configuration.'
323
+ : hasIncompatibleOperators
324
+ ? 'Some operators in this bundle can not be installed with some single operators selected.'
325
+ : isSnoAndBlockedBundle
326
+ ? 'This bundle is not available when deploying a Single Node OpenShift.'
327
+ : '';
328
+
329
+ return (
330
+ <GalleryItem key={bundle.id}>
331
+ <Tooltip
332
+ content={tooltipContent}
333
+ hidden={
334
+ !hasUnsupportedOperators && !hasIncompatibleOperators && !isSnoAndBlockedBundle
301
335
  }
302
336
  >
303
- <CardTitle
304
- style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}
305
- >
306
- <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
307
- {getBundleLabel(bundle.title, bundle.operators)}
308
- </div>
309
- <Checkbox
310
- id={`bundle-${bundle.id || ''}`}
311
- isChecked={bundle.id ? selectedBundles[bundle.id] : false}
312
- onChange={(_event, checked) =>
313
- void handleBundleSelection(bundle.id || '', bundle.operators || [], checked)
314
- }
315
- isDisabled={
316
- bundleHasOperatorsNotSupported(bundle.operators) ||
317
- (isSNO && bundle.id === 'openshift-ai-nvidia')
318
- }
319
- />
320
- </CardTitle>
321
- <CardBody
322
- style={{
323
- display: 'flex',
324
- flexDirection: 'column',
325
- justifyContent: 'space-between',
326
- height: '100%',
327
- }}
337
+ <Card
338
+ style={
339
+ bundle.id && selectedBundles[bundle.id]
340
+ ? { border: '1px solid #004080', height: '200px' }
341
+ : { height: '200px' }
342
+ }
343
+ isDisabled={
344
+ hasUnsupportedOperators || hasIncompatibleOperators || isSnoAndBlockedBundle
345
+ }
328
346
  >
329
- <div>{bundle.description}</div>
330
-
331
- {/* Badge aligned to the bottom-left */}
347
+ <CardTitle
348
+ style={{
349
+ display: 'flex',
350
+ justifyContent: 'space-between',
351
+ alignItems: 'center',
352
+ }}
353
+ >
354
+ <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
355
+ {getBundleLabel(bundle.title)}
356
+ </div>
357
+ <Checkbox
358
+ id={`bundle-${bundle.id || ''}`}
359
+ isChecked={bundle.id ? selectedBundles[bundle.id] : false}
360
+ onChange={(_event, checked) =>
361
+ void handleBundleSelection(bundle.id || '', bundle.operators || [], checked)
362
+ }
363
+ isDisabled={
364
+ hasUnsupportedOperators || hasIncompatibleOperators || isSnoAndBlockedBundle
365
+ }
366
+ />
367
+ </CardTitle>
368
+ <CardBody
369
+ style={{
370
+ display: 'flex',
371
+ flexDirection: 'column',
372
+ justifyContent: 'space-between',
373
+ height: '100%',
374
+ }}
375
+ >
376
+ <div>{bundle.description}</div>
332
377
 
333
- <div style={{ marginTop: '10px', alignSelf: 'flex-end', height: '25px' }}>
334
- {bundle.id === 'openshift-ai-nvidia' && (
335
- <NewFeatureSupportLevelBadge
336
- featureId="OPENSHIFT_AI"
337
- supportLevel="dev-preview"
338
- />
339
- )}
340
- </div>
341
- </CardBody>
342
- </Card>
343
- </Tooltip>
344
- </GalleryItem>
345
- ))}
378
+ {/* Badge aligned to the bottom-left */}
379
+ <div style={{ marginTop: '10px', alignSelf: 'flex-end', height: '25px' }}>
380
+ {bundle.id === 'openshift-ai-nvidia' && (
381
+ <NewFeatureSupportLevelBadge
382
+ featureId="OPENSHIFT_AI"
383
+ supportLevel="dev-preview"
384
+ />
385
+ )}
386
+ </div>
387
+ </CardBody>
388
+ </Card>
389
+ </Tooltip>
390
+ </GalleryItem>
391
+ );
392
+ })}
346
393
  </Gallery>
347
394
  <ExpandableSection
348
395
  toggleText={`Single Operators (${supportedOperators.length} | ${
@@ -351,7 +351,7 @@ const getOpenShiftAIDisabledReason = (
351
351
  export const getCnvDisabledWithMtvReason = (operatorValues: OperatorsValues) => {
352
352
  const mustDisableCnv =
353
353
  operatorValues.useContainerNativeVirtualization &&
354
- operatorValues.useMigrationToolkitforVirtualization;
354
+ !operatorValues.useMigrationToolkitforVirtualization;
355
355
  return mustDisableCnv
356
356
  ? `Currently, you need to install ${CNV_OPERATOR_LABEL} operator at the same time as ${MTV_OPERATOR_LABEL} operator.`
357
357
  : undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@openshift-assisted/locales": "2.38.0",
4
- "@openshift-assisted/types": "2.38.0",
3
+ "@openshift-assisted/locales": "2.38.2",
4
+ "@openshift-assisted/types": "2.38.2",
5
5
  "@openshift-console/dynamic-plugin-sdk": "0.0.3",
6
6
  "@patternfly/patternfly": "5.2.0",
7
7
  "@patternfly/react-code-editor": "5.2.0",
@@ -139,5 +139,5 @@
139
139
  ]
140
140
  }
141
141
  },
142
- "version": "2.38.0"
142
+ "version": "2.38.2"
143
143
  }