@patternfly/react-core 4.276.4 → 4.276.6

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 (66) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/components/Alert/Alert.d.ts +3 -1
  3. package/components/Alert/Alert.d.ts.map +1 -1
  4. package/components/Alert/Alert.js +13 -8
  5. package/components/Alert/Alert.js.map +1 -1
  6. package/dist/esm/components/Alert/Alert.d.ts +3 -1
  7. package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
  8. package/dist/esm/components/Alert/Alert.js +13 -8
  9. package/dist/esm/components/Alert/Alert.js.map +1 -1
  10. package/dist/esm/next/components/Wizard/WizardContext.d.ts +1 -1
  11. package/dist/esm/next/components/Wizard/WizardContext.d.ts.map +1 -1
  12. package/dist/esm/next/components/Wizard/WizardContext.js +3 -3
  13. package/dist/esm/next/components/Wizard/WizardContext.js.map +1 -1
  14. package/dist/esm/next/components/Wizard/WizardStep.d.ts.map +1 -1
  15. package/dist/esm/next/components/Wizard/WizardStep.js +16 -3
  16. package/dist/esm/next/components/Wizard/WizardStep.js.map +1 -1
  17. package/dist/esm/next/components/Wizard/hooks/index.d.ts +0 -1
  18. package/dist/esm/next/components/Wizard/hooks/index.d.ts.map +1 -1
  19. package/dist/esm/next/components/Wizard/hooks/index.js +0 -1
  20. package/dist/esm/next/components/Wizard/hooks/index.js.map +1 -1
  21. package/dist/js/components/Alert/Alert.d.ts +3 -1
  22. package/dist/js/components/Alert/Alert.d.ts.map +1 -1
  23. package/dist/js/components/Alert/Alert.js +13 -8
  24. package/dist/js/components/Alert/Alert.js.map +1 -1
  25. package/dist/js/next/components/Wizard/WizardContext.d.ts +1 -1
  26. package/dist/js/next/components/Wizard/WizardContext.d.ts.map +1 -1
  27. package/dist/js/next/components/Wizard/WizardContext.js +3 -3
  28. package/dist/js/next/components/Wizard/WizardContext.js.map +1 -1
  29. package/dist/js/next/components/Wizard/WizardStep.d.ts.map +1 -1
  30. package/dist/js/next/components/Wizard/WizardStep.js +16 -3
  31. package/dist/js/next/components/Wizard/WizardStep.js.map +1 -1
  32. package/dist/js/next/components/Wizard/hooks/index.d.ts +0 -1
  33. package/dist/js/next/components/Wizard/hooks/index.d.ts.map +1 -1
  34. package/dist/js/next/components/Wizard/hooks/index.js +1 -3
  35. package/dist/js/next/components/Wizard/hooks/index.js.map +1 -1
  36. package/dist/umd/react-core.min.js +1 -1
  37. package/next/components/Wizard/WizardContext.d.ts +1 -1
  38. package/next/components/Wizard/WizardContext.d.ts.map +1 -1
  39. package/next/components/Wizard/WizardContext.js +3 -3
  40. package/next/components/Wizard/WizardContext.js.map +1 -1
  41. package/next/components/Wizard/WizardStep.d.ts.map +1 -1
  42. package/next/components/Wizard/WizardStep.js +16 -3
  43. package/next/components/Wizard/WizardStep.js.map +1 -1
  44. package/next/components/Wizard/hooks/index.d.ts +0 -1
  45. package/next/components/Wizard/hooks/index.d.ts.map +1 -1
  46. package/next/components/Wizard/hooks/index.js +0 -1
  47. package/next/components/Wizard/hooks/index.js.map +1 -1
  48. package/package.json +2 -2
  49. package/src/components/Alert/Alert.tsx +21 -10
  50. package/src/components/Alert/examples/Alert.md +7 -4
  51. package/src/next/components/Wizard/WizardContext.tsx +12 -4
  52. package/src/next/components/Wizard/WizardStep.tsx +16 -4
  53. package/src/next/components/Wizard/hooks/index.ts +0 -1
  54. package/dist/esm/next/components/Wizard/hooks/useGetMergedSteps.d.ts +0 -9
  55. package/dist/esm/next/components/Wizard/hooks/useGetMergedSteps.d.ts.map +0 -1
  56. package/dist/esm/next/components/Wizard/hooks/useGetMergedSteps.js +0 -33
  57. package/dist/esm/next/components/Wizard/hooks/useGetMergedSteps.js.map +0 -1
  58. package/dist/js/next/components/Wizard/hooks/useGetMergedSteps.d.ts +0 -9
  59. package/dist/js/next/components/Wizard/hooks/useGetMergedSteps.d.ts.map +0 -1
  60. package/dist/js/next/components/Wizard/hooks/useGetMergedSteps.js +0 -38
  61. package/dist/js/next/components/Wizard/hooks/useGetMergedSteps.js.map +0 -1
  62. package/next/components/Wizard/hooks/useGetMergedSteps.d.ts +0 -9
  63. package/next/components/Wizard/hooks/useGetMergedSteps.d.ts.map +0 -1
  64. package/next/components/Wizard/hooks/useGetMergedSteps.js +0 -33
  65. package/next/components/Wizard/hooks/useGetMergedSteps.js.map +0 -1
  66. package/src/next/components/Wizard/hooks/useGetMergedSteps.tsx +0 -45
@@ -35,7 +35,7 @@ export interface WizardContextProviderProps {
35
35
  children: React.ReactElement;
36
36
  onNext(event: React.MouseEvent<HTMLButtonElement>, steps: WizardStepType[]): void;
37
37
  onBack(event: React.MouseEvent<HTMLButtonElement>, steps: WizardStepType[]): void;
38
- onClose(event: React.MouseEvent<HTMLButtonElement>): void;
38
+ onClose?(event: React.MouseEvent<HTMLButtonElement>): void;
39
39
  goToStepById(steps: WizardStepType[], id: number | string): void;
40
40
  goToStepByName(steps: WizardStepType[], name: string): void;
41
41
  goToStepByIndex(event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<HTMLAnchorElement>, steps: WizardStepType[], index: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContext.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAyC,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGlG,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,mBAAmB;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,qBAAqB;IACrB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;IAC3B,uBAAuB;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gCAAgC;IAChC,YAAY,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,oCAAoC;IACpC,YAAY,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,6BAA6B;IAC7B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,+BAA+B;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gCAAgC;IAChC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,+CAA+C;IAC/C,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC7E,qBAAqB;IACrB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,cAAc,CAAC;IACrD,qBAAqB;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CAC/E;AAED,eAAO,MAAM,aAAa,mCAAgD,CAAC;AAE3E,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAClF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAClF,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC1D,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjE,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5D,eAAe,CACb,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAChF,KAAK,EAAE,cAAc,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ,IAAI,CAAC;CACT;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC,0BAA0B,CAqFrF,CAAC;AAIF,eAAO,MAAM,gBAAgB,0BAAwC,CAAC"}
1
+ {"version":3,"file":"WizardContext.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAyC,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAElG,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,mBAAmB;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,qBAAqB;IACrB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;IAC3B,uBAAuB;IACvB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gCAAgC;IAChC,YAAY,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,oCAAoC;IACpC,YAAY,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,6BAA6B;IAC7B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,+BAA+B;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gCAAgC;IAChC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,+CAA+C;IAC/C,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC7E,qBAAqB;IACrB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,cAAc,CAAC;IACrD,qBAAqB;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CAC/E;AAED,eAAO,MAAM,aAAa,mCAAgD,CAAC;AAE3E,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAClF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAClF,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjE,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5D,eAAe,CACb,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAChF,KAAK,EAAE,cAAc,EAAE,EACvB,KAAK,EAAE,MAAM,GACZ,IAAI,CAAC;CACT;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC,0BAA0B,CA8FrF,CAAC;AAIF,eAAO,MAAM,gBAAgB,0BAAwC,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import React from 'react';
2
2
  import { isCustomWizardFooter, isWizardSubStep } from './types';
3
3
  import { getActiveStep } from './utils';
4
- import { useGetMergedSteps } from './hooks';
5
4
  import { WizardFooter } from './WizardFooter';
6
5
  export const WizardContext = React.createContext({});
7
6
  export const WizardContextProvider = ({ steps: initialSteps, footer: initialFooter, activeStepIndex, children, onNext, onBack, onClose, goToStepById, goToStepByName, goToStepByIndex }) => {
8
7
  const [currentSteps, setCurrentSteps] = React.useState(initialSteps);
9
8
  const [currentFooter, setCurrentFooter] = React.useState(typeof initialFooter !== 'function' ? initialFooter : undefined);
10
- const steps = useGetMergedSteps(initialSteps, currentSteps);
9
+ // Combined initial and current state steps
10
+ const steps = React.useMemo(() => currentSteps.map((currentStepProps, index) => (Object.assign(Object.assign({}, currentStepProps), initialSteps[index]))), [initialSteps, currentSteps]);
11
11
  const activeStep = React.useMemo(() => getActiveStep(steps, activeStepIndex), [activeStepIndex, steps]);
12
- const close = React.useCallback(() => onClose(null), [onClose]);
12
+ const close = React.useCallback(() => onClose === null || onClose === void 0 ? void 0 : onClose(null), [onClose]);
13
13
  const goToNextStep = React.useCallback(() => onNext(null, steps), [onNext, steps]);
14
14
  const goToPrevStep = React.useCallback(() => onBack(null, steps), [onBack, steps]);
15
15
  const footer = React.useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContext.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAoC,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AA6BjE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,EAAwB,CAAC,CAAC;AAmB3E,MAAM,CAAC,MAAM,qBAAqB,GAAwD,CAAC,EACzF,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,cAAc,EACd,eAAe,EAChB,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtD,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAExG,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,aAAa,IAAI,aAAa,CAAC;QAE1E,IAAI,oBAAoB,CAAC,YAAY,CAAC,EAAE;YACtC,MAAM,YAAY,GAAG,YAAY,CAAC;YAElC,OAAO,OAAO,YAAY,KAAK,UAAU;gBACvC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC7D,CAAC,CAAC,YAAY,CAAC;SAClB;QAED,OAAO,CACL,oBAAC,YAAY,kBACX,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,KAAK,EACd,cAAc,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAK,CAAC,CAAC,IAC/F,YAAY,EAChB,CACH,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAElF,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,MAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhH,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,IAA0D,EAAE,EAAE,CAC7D,eAAe,CAAC,SAAS,CAAC,EAAE,CAC1B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YAC3B,uCAAY,QAAQ,GAAK,IAAI,EAAG;SACjC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CACH,EACH,EAAE,CACH,CAAC;IAEF,OAAO,CACL,oBAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;YACL,KAAK;YACL,UAAU;YACV,MAAM;YACN,KAAK;YACL,OAAO;YACP,OAAO;YACP,YAAY;YACZ,YAAY;YACZ,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACrF,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC/F,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;gBACzF,eAAe;gBACf,KAAK;aACN,CAAC;SACH,IAEA,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,qBAAqB,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"WizardContext.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAoC,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AA6BjE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,EAAwB,CAAC,CAAC;AAmB3E,MAAM,CAAC,MAAM,qBAAqB,GAAwD,CAAC,EACzF,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,EACrB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,cAAc,EACd,eAAe,EAChB,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtD,OAAO,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;IAEF,2CAA2C;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CACH,YAAY,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,iCACzC,gBAAgB,GAChB,YAAY,CAAC,KAAK,CAAC,EACtB,CAAC,EACL,CAAC,YAAY,EAAE,YAAY,CAAC,CAC7B,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAExG,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,aAAa,IAAI,aAAa,CAAC;QAE1E,IAAI,oBAAoB,CAAC,YAAY,CAAC,EAAE;YACtC,MAAM,YAAY,GAAG,YAAY,CAAC;YAElC,OAAO,OAAO,YAAY,KAAK,UAAU;gBACvC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC;gBAC7D,CAAC,CAAC,YAAY,CAAC;SAClB;QAED,OAAO,CACL,oBAAC,YAAY,kBACX,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,KAAK,EACd,cAAc,EAAE,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,MAAK,CAAC,CAAC,IAC/F,YAAY,EAChB,CACH,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAElF,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,MAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhH,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,IAA0D,EAAE,EAAE,CAC7D,eAAe,CAAC,SAAS,CAAC,EAAE,CAC1B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YAC3B,uCAAY,QAAQ,GAAK,IAAI,EAAG;SACjC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CACH,EACH,EAAE,CACH,CAAC;IAEF,OAAO,CACL,oBAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;YACL,KAAK;YACL,UAAU;YACV,MAAM;YACN,KAAK;YACL,OAAO;YACP,OAAO;YACP,YAAY;YACZ,YAAY;YACZ,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACrF,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC/F,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;gBACzF,eAAe;gBACf,KAAK;aACN,CAAC;SACH,IAEA,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,qBAAqB,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WizardStep.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardStep.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAsB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,wBAAwB;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,0GAA0G;IAC1G,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IAClE,iCAAiC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzD,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,UAAU;+CAA8C,eAAe;;CAsBnF,CAAC"}
1
+ {"version":3,"file":"WizardStep.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardStep.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAsB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,wBAAwB;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,0GAA0G;IAC1G,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IAClE,iCAAiC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzD,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,UAAU;+CAA8C,eAAe;;CAkCnF,CAAC"}
@@ -6,12 +6,25 @@ export const WizardStep = (_a) => {
6
6
  var { children, steps: _subSteps } = _a, props = __rest(_a, ["children", "steps"]);
7
7
  const { activeStep, setStep } = useWizardContext();
8
8
  const { id, name, body, isDisabled, isHidden, navItem, footer, status } = props;
9
+ const isParentStep = isWizardParentStep(activeStep);
9
10
  // Update step in context when props change or when the step is active has yet to be marked as visited.
10
11
  React.useEffect(() => {
11
- const shouldUpdateIsVisited = !isWizardParentStep(activeStep) && id === (activeStep === null || activeStep === void 0 ? void 0 : activeStep.id) && !(activeStep === null || activeStep === void 0 ? void 0 : activeStep.isVisited);
12
12
  setStep(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ id,
13
- name }, (body && { body })), (isDisabled && { isDisabled })), (isHidden && { isHidden })), (navItem && { navItem })), (footer && { footer })), (status && { status })), (shouldUpdateIsVisited && { isVisited: true })));
14
- }, [body, footer, id, isDisabled, isHidden, name, navItem, status, activeStep, setStep]);
13
+ name }, (body && { body })), (isDisabled && { isDisabled })), (isHidden && { isHidden })), (navItem && { navItem })), (footer && { footer })), (status && { status })), (!isParentStep && id === (activeStep === null || activeStep === void 0 ? void 0 : activeStep.id) && !(activeStep === null || activeStep === void 0 ? void 0 : activeStep.isVisited) && { isVisited: true })));
14
+ }, [
15
+ body,
16
+ footer,
17
+ id,
18
+ isDisabled,
19
+ isHidden,
20
+ name,
21
+ navItem,
22
+ status,
23
+ isParentStep,
24
+ setStep,
25
+ activeStep === null || activeStep === void 0 ? void 0 : activeStep.id,
26
+ activeStep === null || activeStep === void 0 ? void 0 : activeStep.isVisited
27
+ ]);
15
28
  return React.createElement(React.Fragment, null, children);
16
29
  };
17
30
  WizardStep.displayName = 'WizardStep';
@@ -1 +1 @@
1
- {"version":3,"file":"WizardStep.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardStep.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAqB,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAgCnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAyD,EAAE,EAAE;QAA7D,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,OAA6B,EAAxB,KAAK,cAAtC,qBAAwC,CAAF;IAC/D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACnD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEhF,uGAAuG;IACvG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE,CAAA,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAA,CAAC;QAEjH,OAAO,qGACL,EAAE;YACF,IAAI,IACD,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,GAClB,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,GAC9B,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,GAC1B,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,GACxB,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,GACtB,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,GACtB,CAAC,qBAAqB,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EACjD,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzF,OAAO,0CAAG,QAAQ,CAAI,CAAC;AACzB,CAAC,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"WizardStep.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardStep.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAqB,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAgCnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAyD,EAAE,EAAE;QAA7D,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,OAA6B,EAAxB,KAAK,cAAtC,qBAAwC,CAAF;IAC/D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACnD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAChF,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEpD,uGAAuG;IACvG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,qGACL,EAAE;YACF,IAAI,IACD,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,GAClB,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,GAC9B,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,GAC1B,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,GACxB,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,GACtB,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,GACtB,CAAC,CAAC,YAAY,IAAI,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE,CAAA,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAA,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAC5F,CAAC;IACL,CAAC,EAAE;QACD,IAAI;QACJ,MAAM;QACN,EAAE;QACF,UAAU;QACV,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,MAAM;QACN,YAAY;QACZ,OAAO;QACP,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,EAAE;QACd,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS;KACtB,CAAC,CAAC;IAEH,OAAO,0CAAG,QAAQ,CAAI,CAAC;AACzB,CAAC,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export { useWizardFooter } from './useWizardFooter';
2
- export { useGetMergedSteps } from './useGetMergedSteps';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export { useWizardFooter } from './useWizardFooter';
2
- export { useGetMergedSteps } from './useGetMergedSteps';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "4.276.4",
3
+ "version": "4.276.6",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -71,5 +71,5 @@
71
71
  "react": "^16.8 || ^17 || ^18",
72
72
  "react-dom": "^16.8 || ^17 || ^18"
73
73
  },
74
- "gitHead": "b914e4945c21e022ab38a900fce7fa7652e0c03d"
74
+ "gitHead": "e2d787cd453afc07405d7f5f10eb6b64a215b064"
75
75
  }
@@ -57,8 +57,10 @@ export interface AlertProps extends Omit<React.HTMLProps<HTMLDivElement>, 'actio
57
57
  timeoutAnimation?: number;
58
58
  /** Title of the alert. */
59
59
  title: React.ReactNode;
60
- /** Sets the heading level to use for the alert title. Default is h4. */
60
+ /** @deprecated Sets the heading level to use for the alert title. Default is h4. */
61
61
  titleHeadingLevel?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
62
+ /** Sets the element to use as the alert title. Default is h4. */
63
+ component?: keyof JSX.IntrinsicElements;
62
64
  /** Adds accessible text to the alert toggle. */
63
65
  toggleAriaLabel?: string;
64
66
  /** Position of the tooltip which is displayed if text is truncated. */
@@ -99,7 +101,8 @@ export const Alert: React.FunctionComponent<AlertProps> = ({
99
101
  actionClose,
100
102
  actionLinks,
101
103
  title,
102
- titleHeadingLevel: TitleHeadingLevel = 'h4',
104
+ titleHeadingLevel,
105
+ component = 'h4',
103
106
  children = '',
104
107
  className = '',
105
108
  ouiaId,
@@ -126,6 +129,14 @@ export const Alert: React.FunctionComponent<AlertProps> = ({
126
129
  );
127
130
 
128
131
  const titleRef = React.useRef(null);
132
+ const TitleComponent = (titleHeadingLevel || component) as any;
133
+ if (titleHeadingLevel !== undefined) {
134
+ // eslint-disable-next-line no-console
135
+ console.warn(
136
+ 'Alert: titleHeadingLevel is deprecated, please use the newer component prop instead to set the alert title element.'
137
+ );
138
+ }
139
+
129
140
  const divRef = React.useRef<HTMLDivElement>();
130
141
  const [isTooltipVisible, setIsTooltipVisible] = useState(false);
131
142
  React.useEffect(() => {
@@ -145,12 +156,12 @@ export const Alert: React.FunctionComponent<AlertProps> = ({
145
156
  const [containsFocus, setContainsFocus] = useState<boolean | undefined>();
146
157
  const dismissed = timedOut && timedOutAnimation && !isMouseOver && !containsFocus;
147
158
  React.useEffect(() => {
148
- timeout = timeout === true ? 8000 : Number(timeout);
149
- if (timeout > 0) {
150
- const timer = setTimeout(() => setTimedOut(true), timeout);
159
+ const calculatedTimeout = timeout === true ? 8000 : Number(timeout);
160
+ if (calculatedTimeout > 0) {
161
+ const timer = setTimeout(() => setTimedOut(true), calculatedTimeout);
151
162
  return () => clearTimeout(timer);
152
163
  }
153
- }, []);
164
+ }, [timeout]);
154
165
  React.useEffect(() => {
155
166
  const onDocumentFocus = () => {
156
167
  if (divRef.current) {
@@ -172,10 +183,10 @@ export const Alert: React.FunctionComponent<AlertProps> = ({
172
183
  const timer = setTimeout(() => setTimedOutAnimation(true), timeoutAnimation);
173
184
  return () => clearTimeout(timer);
174
185
  }
175
- }, [containsFocus, isMouseOver]);
186
+ }, [containsFocus, isMouseOver, timeoutAnimation]);
176
187
  React.useEffect(() => {
177
188
  dismissed && onTimeout();
178
- }, [dismissed]);
189
+ }, [dismissed, onTimeout]);
179
190
 
180
191
  const [isExpanded, setIsExpanded] = useState(false);
181
192
  const onToggleExpand = () => {
@@ -197,13 +208,13 @@ export const Alert: React.FunctionComponent<AlertProps> = ({
197
208
  return null;
198
209
  }
199
210
  const Title = (
200
- <TitleHeadingLevel
211
+ <TitleComponent
201
212
  {...(isTooltipVisible && { tabIndex: 0 })}
202
213
  ref={titleRef}
203
214
  className={css(styles.alertTitle, truncateTitle && styles.modifiers.truncate)}
204
215
  >
205
216
  {getHeadingContent}
206
- </TitleHeadingLevel>
217
+ </TitleComponent>
207
218
  );
208
219
 
209
220
  return (
@@ -50,8 +50,9 @@ PatternFly supports several properties and variations that can be used to add ex
50
50
 
51
51
  * As demonstrated in the 3rd and 4th variations below, use the `actionClose` property to add an `<AlertActionCloseButton>` component, which can be used to manage and customize alert dismissals. `actionClose` can be used with or without the presence of `actionLinks`.
52
52
 
53
- * As demonstrated in the 5th and 6th variations below, use the `titleHeadingLevel` property to set the heading level of an alert title. Headings should be ordered by their level and heading levels should not be skipped. For example, a heading of an `h2` level should not be followed directly by an `h4`.
54
-
53
+ * As demonstrated in the 5th and 6th variations below, use the `component` property to set the element for an alert title.
54
+ * If the `description` prop is not passed in, then the `component` prop should be set to a non-heading element such as a `span` or `div`.
55
+ * If the `description` prop is passed in, then the `component` prop should be a heading element. Headings should be ordered by their level and heading levels should not be skipped. For example, a heading of an `h2` level should not be followed directly by an `h4`.
55
56
  ```ts
56
57
  import React from 'react';
57
58
  import { Alert, AlertActionCloseButton, AlertActionLink } from '@patternfly/react-core';
@@ -88,8 +89,10 @@ import { Alert, AlertActionCloseButton, AlertActionLink } from '@patternfly/reac
88
89
  }
89
90
  />
90
91
  <Alert variant="success" title="Success alert title" actionClose={<AlertActionCloseButton onClose={() => alert('Clicked the close button')} />} />
91
- <Alert variant="success" title="h1 Success alert title" titleHeadingLevel="h1" />
92
- <Alert variant="success" title="h6 Success alert title" titleHeadingLevel="h6" />
92
+ <Alert variant="success" title="div success alert title" component="div" />
93
+ <Alert variant="success" title="h6 Success alert title" component="h6" >
94
+ <p>Short alert description</p>
95
+ </Alert>
93
96
  </React.Fragment>
94
97
  ```
95
98
  ### Alert timeout
@@ -2,7 +2,6 @@ import React from 'react';
2
2
 
3
3
  import { isCustomWizardFooter, isWizardSubStep, WizardStepType, WizardFooterType } from './types';
4
4
  import { getActiveStep } from './utils';
5
- import { useGetMergedSteps } from './hooks';
6
5
  import { WizardFooter, WizardFooterProps } from './WizardFooter';
7
6
 
8
7
  export interface WizardContextProps {
@@ -41,7 +40,7 @@ export interface WizardContextProviderProps {
41
40
  children: React.ReactElement;
42
41
  onNext(event: React.MouseEvent<HTMLButtonElement>, steps: WizardStepType[]): void;
43
42
  onBack(event: React.MouseEvent<HTMLButtonElement>, steps: WizardStepType[]): void;
44
- onClose(event: React.MouseEvent<HTMLButtonElement>): void;
43
+ onClose?(event: React.MouseEvent<HTMLButtonElement>): void;
45
44
  goToStepById(steps: WizardStepType[], id: number | string): void;
46
45
  goToStepByName(steps: WizardStepType[], name: string): void;
47
46
  goToStepByIndex(
@@ -67,10 +66,19 @@ export const WizardContextProvider: React.FunctionComponent<WizardContextProvide
67
66
  const [currentFooter, setCurrentFooter] = React.useState(
68
67
  typeof initialFooter !== 'function' ? initialFooter : undefined
69
68
  );
70
- const steps = useGetMergedSteps(initialSteps, currentSteps);
69
+
70
+ // Combined initial and current state steps
71
+ const steps = React.useMemo(
72
+ () =>
73
+ currentSteps.map((currentStepProps, index) => ({
74
+ ...currentStepProps,
75
+ ...initialSteps[index]
76
+ })),
77
+ [initialSteps, currentSteps]
78
+ );
71
79
  const activeStep = React.useMemo(() => getActiveStep(steps, activeStepIndex), [activeStepIndex, steps]);
72
80
 
73
- const close = React.useCallback(() => onClose(null), [onClose]);
81
+ const close = React.useCallback(() => onClose?.(null), [onClose]);
74
82
  const goToNextStep = React.useCallback(() => onNext(null, steps), [onNext, steps]);
75
83
  const goToPrevStep = React.useCallback(() => onBack(null, steps), [onBack, steps]);
76
84
 
@@ -37,11 +37,10 @@ export interface WizardStepProps {
37
37
  export const WizardStep = ({ children, steps: _subSteps, ...props }: WizardStepProps) => {
38
38
  const { activeStep, setStep } = useWizardContext();
39
39
  const { id, name, body, isDisabled, isHidden, navItem, footer, status } = props;
40
+ const isParentStep = isWizardParentStep(activeStep);
40
41
 
41
42
  // Update step in context when props change or when the step is active has yet to be marked as visited.
42
43
  React.useEffect(() => {
43
- const shouldUpdateIsVisited = !isWizardParentStep(activeStep) && id === activeStep?.id && !activeStep?.isVisited;
44
-
45
44
  setStep({
46
45
  id,
47
46
  name,
@@ -51,9 +50,22 @@ export const WizardStep = ({ children, steps: _subSteps, ...props }: WizardStepP
51
50
  ...(navItem && { navItem }),
52
51
  ...(footer && { footer }),
53
52
  ...(status && { status }),
54
- ...(shouldUpdateIsVisited && { isVisited: true })
53
+ ...(!isParentStep && id === activeStep?.id && !activeStep?.isVisited && { isVisited: true })
55
54
  });
56
- }, [body, footer, id, isDisabled, isHidden, name, navItem, status, activeStep, setStep]);
55
+ }, [
56
+ body,
57
+ footer,
58
+ id,
59
+ isDisabled,
60
+ isHidden,
61
+ name,
62
+ navItem,
63
+ status,
64
+ isParentStep,
65
+ setStep,
66
+ activeStep?.id,
67
+ activeStep?.isVisited
68
+ ]);
57
69
 
58
70
  return <>{children}</>;
59
71
  };
@@ -1,2 +1 @@
1
1
  export { useWizardFooter } from './useWizardFooter';
2
- export { useGetMergedSteps } from './useGetMergedSteps';
@@ -1,9 +0,0 @@
1
- import { WizardStepType } from '../types';
2
- /**
3
- * Get stable ref of combined initial (prop provided) and current (context stored) steps.
4
- * @param initialSteps
5
- * @param currentSteps
6
- * @returns WizardStepType[]
7
- */
8
- export declare const useGetMergedSteps: (initialSteps: WizardStepType[], currentSteps: WizardStepType[]) => WizardStepType[];
9
- //# sourceMappingURL=useGetMergedSteps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetMergedSteps.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/useGetMergedSteps.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,iBAAkB,cAAc,EAAE,gBAAgB,cAAc,EAAE,KAAG,cAAc,EAkChH,CAAC"}
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import isEqual from 'fast-deep-equal';
3
- /**
4
- * Get stable ref of combined initial (prop provided) and current (context stored) steps.
5
- * @param initialSteps
6
- * @param currentSteps
7
- * @returns WizardStepType[]
8
- */
9
- export const useGetMergedSteps = (initialSteps, currentSteps) => {
10
- const initialStepsRef = React.useRef(initialSteps);
11
- const currentStepsRef = React.useRef(currentSteps);
12
- // Check each value within the array of initialSteps (props) and currentSteps (context).
13
- // If any value changes for either of these, update the reference.
14
- if (!isEqual(initialStepsRef.current, initialSteps)) {
15
- initialStepsRef.current = initialSteps;
16
- }
17
- if (!isEqual(currentStepsRef.current, currentSteps)) {
18
- currentStepsRef.current = currentSteps;
19
- }
20
- // Combine both initial and current steps, where prop provided values
21
- // take precedence over what's stored in context.
22
- const mergedSteps = React.useMemo(() => initialSteps.reduce((acc, initialStepProps, index) => {
23
- const currentStepProps = currentSteps[index];
24
- if (initialStepProps.id === currentStepProps.id) {
25
- acc.push(Object.assign(Object.assign({}, currentStepProps), initialStepProps));
26
- }
27
- return acc;
28
- }, []),
29
- // eslint-disable-next-line react-hooks/exhaustive-deps
30
- [initialStepsRef.current, currentStepsRef.current]);
31
- return mergedSteps;
32
- };
33
- //# sourceMappingURL=useGetMergedSteps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetMergedSteps.js","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/useGetMergedSteps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,iBAAiB,CAAC;AAGtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAA8B,EAAE,YAA8B,EAAoB,EAAE;IACpH,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEnD,wFAAwF;IACxF,kEAAkE;IAClE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QACnD,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;KACxC;IACD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QACnD,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;KACxC;IAED,qEAAqE;IACrE,iDAAiD;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CACH,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE;QACnD,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,gBAAgB,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,EAAE;YAC/C,GAAG,CAAC,IAAI,iCACH,gBAAgB,GAChB,gBAAgB,EACnB,CAAC;SACJ;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC;IACR,uDAAuD;IACvD,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CACnD,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { WizardStepType } from '../types';
2
- /**
3
- * Get stable ref of combined initial (prop provided) and current (context stored) steps.
4
- * @param initialSteps
5
- * @param currentSteps
6
- * @returns WizardStepType[]
7
- */
8
- export declare const useGetMergedSteps: (initialSteps: WizardStepType[], currentSteps: WizardStepType[]) => WizardStepType[];
9
- //# sourceMappingURL=useGetMergedSteps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetMergedSteps.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/useGetMergedSteps.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,iBAAkB,cAAc,EAAE,gBAAgB,cAAc,EAAE,KAAG,cAAc,EAkChH,CAAC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useGetMergedSteps = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
- const fast_deep_equal_1 = tslib_1.__importDefault(require("fast-deep-equal"));
7
- /**
8
- * Get stable ref of combined initial (prop provided) and current (context stored) steps.
9
- * @param initialSteps
10
- * @param currentSteps
11
- * @returns WizardStepType[]
12
- */
13
- const useGetMergedSteps = (initialSteps, currentSteps) => {
14
- const initialStepsRef = react_1.default.useRef(initialSteps);
15
- const currentStepsRef = react_1.default.useRef(currentSteps);
16
- // Check each value within the array of initialSteps (props) and currentSteps (context).
17
- // If any value changes for either of these, update the reference.
18
- if (!(0, fast_deep_equal_1.default)(initialStepsRef.current, initialSteps)) {
19
- initialStepsRef.current = initialSteps;
20
- }
21
- if (!(0, fast_deep_equal_1.default)(currentStepsRef.current, currentSteps)) {
22
- currentStepsRef.current = currentSteps;
23
- }
24
- // Combine both initial and current steps, where prop provided values
25
- // take precedence over what's stored in context.
26
- const mergedSteps = react_1.default.useMemo(() => initialSteps.reduce((acc, initialStepProps, index) => {
27
- const currentStepProps = currentSteps[index];
28
- if (initialStepProps.id === currentStepProps.id) {
29
- acc.push(Object.assign(Object.assign({}, currentStepProps), initialStepProps));
30
- }
31
- return acc;
32
- }, []),
33
- // eslint-disable-next-line react-hooks/exhaustive-deps
34
- [initialStepsRef.current, currentStepsRef.current]);
35
- return mergedSteps;
36
- };
37
- exports.useGetMergedSteps = useGetMergedSteps;
38
- //# sourceMappingURL=useGetMergedSteps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetMergedSteps.js","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/useGetMergedSteps.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,8EAAsC;AAGtC;;;;;GAKG;AACI,MAAM,iBAAiB,GAAG,CAAC,YAA8B,EAAE,YAA8B,EAAoB,EAAE;IACpH,MAAM,eAAe,GAAG,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEnD,wFAAwF;IACxF,kEAAkE;IAClE,IAAI,CAAC,IAAA,yBAAO,EAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QACnD,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;KACxC;IACD,IAAI,CAAC,IAAA,yBAAO,EAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QACnD,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;KACxC;IAED,qEAAqE;IACrE,iDAAiD;IACjD,MAAM,WAAW,GAAG,eAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CACH,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE;QACnD,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,gBAAgB,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,EAAE;YAC/C,GAAG,CAAC,IAAI,iCACH,gBAAgB,GAChB,gBAAgB,EACnB,CAAC;SACJ;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC;IACR,uDAAuD;IACvD,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CACnD,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAlCW,QAAA,iBAAiB,qBAkC5B"}
@@ -1,9 +0,0 @@
1
- import { WizardStepType } from '../types';
2
- /**
3
- * Get stable ref of combined initial (prop provided) and current (context stored) steps.
4
- * @param initialSteps
5
- * @param currentSteps
6
- * @returns WizardStepType[]
7
- */
8
- export declare const useGetMergedSteps: (initialSteps: WizardStepType[], currentSteps: WizardStepType[]) => WizardStepType[];
9
- //# sourceMappingURL=useGetMergedSteps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetMergedSteps.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/useGetMergedSteps.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,iBAAkB,cAAc,EAAE,gBAAgB,cAAc,EAAE,KAAG,cAAc,EAkChH,CAAC"}
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import isEqual from 'fast-deep-equal';
3
- /**
4
- * Get stable ref of combined initial (prop provided) and current (context stored) steps.
5
- * @param initialSteps
6
- * @param currentSteps
7
- * @returns WizardStepType[]
8
- */
9
- export const useGetMergedSteps = (initialSteps, currentSteps) => {
10
- const initialStepsRef = React.useRef(initialSteps);
11
- const currentStepsRef = React.useRef(currentSteps);
12
- // Check each value within the array of initialSteps (props) and currentSteps (context).
13
- // If any value changes for either of these, update the reference.
14
- if (!isEqual(initialStepsRef.current, initialSteps)) {
15
- initialStepsRef.current = initialSteps;
16
- }
17
- if (!isEqual(currentStepsRef.current, currentSteps)) {
18
- currentStepsRef.current = currentSteps;
19
- }
20
- // Combine both initial and current steps, where prop provided values
21
- // take precedence over what's stored in context.
22
- const mergedSteps = React.useMemo(() => initialSteps.reduce((acc, initialStepProps, index) => {
23
- const currentStepProps = currentSteps[index];
24
- if (initialStepProps.id === currentStepProps.id) {
25
- acc.push(Object.assign(Object.assign({}, currentStepProps), initialStepProps));
26
- }
27
- return acc;
28
- }, []),
29
- // eslint-disable-next-line react-hooks/exhaustive-deps
30
- [initialStepsRef.current, currentStepsRef.current]);
31
- return mergedSteps;
32
- };
33
- //# sourceMappingURL=useGetMergedSteps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetMergedSteps.js","sourceRoot":"","sources":["../../../../../../src/next/components/Wizard/hooks/useGetMergedSteps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,iBAAiB,CAAC;AAGtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAA8B,EAAE,YAA8B,EAAoB,EAAE;IACpH,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEnD,wFAAwF;IACxF,kEAAkE;IAClE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QACnD,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;KACxC;IACD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QACnD,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;KACxC;IAED,qEAAqE;IACrE,iDAAiD;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CACH,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE;QACnD,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,gBAAgB,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,EAAE;YAC/C,GAAG,CAAC,IAAI,iCACH,gBAAgB,GAChB,gBAAgB,EACnB,CAAC;SACJ;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC;IACR,uDAAuD;IACvD,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CACnD,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -1,45 +0,0 @@
1
- import React from 'react';
2
- import isEqual from 'fast-deep-equal';
3
- import { WizardStepType } from '../types';
4
-
5
- /**
6
- * Get stable ref of combined initial (prop provided) and current (context stored) steps.
7
- * @param initialSteps
8
- * @param currentSteps
9
- * @returns WizardStepType[]
10
- */
11
- export const useGetMergedSteps = (initialSteps: WizardStepType[], currentSteps: WizardStepType[]): WizardStepType[] => {
12
- const initialStepsRef = React.useRef(initialSteps);
13
- const currentStepsRef = React.useRef(currentSteps);
14
-
15
- // Check each value within the array of initialSteps (props) and currentSteps (context).
16
- // If any value changes for either of these, update the reference.
17
- if (!isEqual(initialStepsRef.current, initialSteps)) {
18
- initialStepsRef.current = initialSteps;
19
- }
20
- if (!isEqual(currentStepsRef.current, currentSteps)) {
21
- currentStepsRef.current = currentSteps;
22
- }
23
-
24
- // Combine both initial and current steps, where prop provided values
25
- // take precedence over what's stored in context.
26
- const mergedSteps = React.useMemo(
27
- () =>
28
- initialSteps.reduce((acc, initialStepProps, index) => {
29
- const currentStepProps = currentSteps[index];
30
-
31
- if (initialStepProps.id === currentStepProps.id) {
32
- acc.push({
33
- ...currentStepProps,
34
- ...initialStepProps
35
- });
36
- }
37
-
38
- return acc;
39
- }, []),
40
- // eslint-disable-next-line react-hooks/exhaustive-deps
41
- [initialStepsRef.current, currentStepsRef.current]
42
- );
43
-
44
- return mergedSteps;
45
- };