@patternfly/react-core 4.249.0 → 4.250.0

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/CHANGELOG.md +17 -0
  2. package/dist/esm/next/components/Select/Select.d.ts +28 -0
  3. package/dist/esm/next/components/Select/Select.d.ts.map +1 -0
  4. package/dist/esm/next/components/Select/Select.js +62 -0
  5. package/dist/esm/next/components/Select/Select.js.map +1 -0
  6. package/dist/esm/next/components/Select/SelectGroup.d.ts +12 -0
  7. package/dist/esm/next/components/Select/SelectGroup.d.ts.map +1 -0
  8. package/dist/esm/next/components/Select/SelectGroup.js +10 -0
  9. package/dist/esm/next/components/Select/SelectGroup.js.map +1 -0
  10. package/dist/esm/next/components/Select/SelectList.d.ts +10 -0
  11. package/dist/esm/next/components/Select/SelectList.d.ts.map +1 -0
  12. package/dist/esm/next/components/Select/SelectList.js +10 -0
  13. package/dist/esm/next/components/Select/SelectList.js.map +1 -0
  14. package/dist/esm/next/components/Select/SelectOption.d.ts +20 -0
  15. package/dist/esm/next/components/Select/SelectOption.d.ts.map +1 -0
  16. package/dist/esm/next/components/Select/SelectOption.js +10 -0
  17. package/dist/esm/next/components/Select/SelectOption.js.map +1 -0
  18. package/dist/esm/next/components/Select/index.d.ts +5 -0
  19. package/dist/esm/next/components/Select/index.d.ts.map +1 -0
  20. package/dist/esm/next/components/Select/index.js +5 -0
  21. package/dist/esm/next/components/Select/index.js.map +1 -0
  22. package/dist/esm/next/components/Wizard/Wizard.d.ts +9 -7
  23. package/dist/esm/next/components/Wizard/Wizard.d.ts.map +1 -1
  24. package/dist/esm/next/components/Wizard/Wizard.js +62 -48
  25. package/dist/esm/next/components/Wizard/Wizard.js.map +1 -1
  26. package/dist/esm/next/components/Wizard/WizardBody.d.ts +2 -2
  27. package/dist/esm/next/components/Wizard/WizardBody.d.ts.map +1 -1
  28. package/dist/esm/next/components/Wizard/WizardBody.js +1 -1
  29. package/dist/esm/next/components/Wizard/WizardBody.js.map +1 -1
  30. package/dist/esm/next/components/Wizard/WizardContext.d.ts +21 -20
  31. package/dist/esm/next/components/Wizard/WizardContext.d.ts.map +1 -1
  32. package/dist/esm/next/components/Wizard/WizardContext.js +63 -32
  33. package/dist/esm/next/components/Wizard/WizardContext.js.map +1 -1
  34. package/dist/esm/next/components/Wizard/WizardFooter.d.ts +20 -6
  35. package/dist/esm/next/components/Wizard/WizardFooter.d.ts.map +1 -1
  36. package/dist/esm/next/components/Wizard/WizardFooter.js +13 -4
  37. package/dist/esm/next/components/Wizard/WizardFooter.js.map +1 -1
  38. package/dist/esm/next/components/Wizard/WizardHeader.d.ts +1 -1
  39. package/dist/esm/next/components/Wizard/WizardHeader.d.ts.map +1 -1
  40. package/dist/esm/next/components/Wizard/WizardHeader.js +2 -2
  41. package/dist/esm/next/components/Wizard/WizardHeader.js.map +1 -1
  42. package/dist/esm/next/components/Wizard/WizardNav.d.ts +5 -5
  43. package/dist/esm/next/components/Wizard/WizardNav.d.ts.map +1 -1
  44. package/dist/esm/next/components/Wizard/WizardNav.js +3 -4
  45. package/dist/esm/next/components/Wizard/WizardNav.js.map +1 -1
  46. package/dist/esm/next/components/Wizard/WizardNavInternal.d.ts +14 -0
  47. package/dist/esm/next/components/Wizard/WizardNavInternal.d.ts.map +1 -0
  48. package/dist/esm/next/components/Wizard/WizardNavInternal.js +49 -0
  49. package/dist/esm/next/components/Wizard/WizardNavInternal.js.map +1 -0
  50. package/dist/esm/next/components/Wizard/WizardNavItem.d.ts +12 -8
  51. package/dist/esm/next/components/Wizard/WizardNavItem.d.ts.map +1 -1
  52. package/dist/esm/next/components/Wizard/WizardNavItem.js +23 -12
  53. package/dist/esm/next/components/Wizard/WizardNavItem.js.map +1 -1
  54. package/dist/esm/next/components/Wizard/WizardStep.d.ts +22 -6
  55. package/dist/esm/next/components/Wizard/WizardStep.d.ts.map +1 -1
  56. package/dist/esm/next/components/Wizard/WizardStep.js +20 -1
  57. package/dist/esm/next/components/Wizard/WizardStep.js.map +1 -1
  58. package/dist/esm/next/components/Wizard/WizardToggle.d.ts +9 -15
  59. package/dist/esm/next/components/Wizard/WizardToggle.d.ts.map +1 -1
  60. package/dist/esm/next/components/Wizard/WizardToggle.js +15 -50
  61. package/dist/esm/next/components/Wizard/WizardToggle.js.map +1 -1
  62. package/dist/esm/next/components/Wizard/hooks/useWizardFooter.d.ts +2 -2
  63. package/dist/esm/next/components/Wizard/hooks/useWizardFooter.d.ts.map +1 -1
  64. package/dist/esm/next/components/Wizard/hooks/useWizardFooter.js +3 -3
  65. package/dist/esm/next/components/Wizard/hooks/useWizardFooter.js.map +1 -1
  66. package/dist/esm/next/components/Wizard/types.d.ts +37 -46
  67. package/dist/esm/next/components/Wizard/types.d.ts.map +1 -1
  68. package/dist/esm/next/components/Wizard/types.js +10 -2
  69. package/dist/esm/next/components/Wizard/types.js.map +1 -1
  70. package/dist/esm/next/components/Wizard/utils.d.ts +4 -5
  71. package/dist/esm/next/components/Wizard/utils.d.ts.map +1 -1
  72. package/dist/esm/next/components/Wizard/utils.js +20 -13
  73. package/dist/esm/next/components/Wizard/utils.js.map +1 -1
  74. package/dist/esm/next/components/index.d.ts +2 -1
  75. package/dist/esm/next/components/index.d.ts.map +1 -1
  76. package/dist/esm/next/components/index.js +2 -1
  77. package/dist/esm/next/components/index.js.map +1 -1
  78. package/dist/js/next/components/Select/Select.d.ts +28 -0
  79. package/dist/js/next/components/Select/Select.d.ts.map +1 -0
  80. package/dist/js/next/components/Select/Select.js +65 -0
  81. package/dist/js/next/components/Select/Select.js.map +1 -0
  82. package/dist/js/next/components/Select/SelectGroup.d.ts +12 -0
  83. package/dist/js/next/components/Select/SelectGroup.d.ts.map +1 -0
  84. package/dist/js/next/components/Select/SelectGroup.js +14 -0
  85. package/dist/js/next/components/Select/SelectGroup.js.map +1 -0
  86. package/dist/js/next/components/Select/SelectList.d.ts +10 -0
  87. package/dist/js/next/components/Select/SelectList.d.ts.map +1 -0
  88. package/dist/js/next/components/Select/SelectList.js +14 -0
  89. package/dist/js/next/components/Select/SelectList.js.map +1 -0
  90. package/dist/js/next/components/Select/SelectOption.d.ts +20 -0
  91. package/dist/js/next/components/Select/SelectOption.d.ts.map +1 -0
  92. package/dist/js/next/components/Select/SelectOption.js +14 -0
  93. package/dist/js/next/components/Select/SelectOption.js.map +1 -0
  94. package/dist/js/next/components/Select/index.d.ts +5 -0
  95. package/dist/js/next/components/Select/index.d.ts.map +1 -0
  96. package/dist/js/next/components/Select/index.js +8 -0
  97. package/dist/js/next/components/Select/index.js.map +1 -0
  98. package/dist/js/next/components/Wizard/Wizard.d.ts +9 -7
  99. package/dist/js/next/components/Wizard/Wizard.d.ts.map +1 -1
  100. package/dist/js/next/components/Wizard/Wizard.js +59 -45
  101. package/dist/js/next/components/Wizard/Wizard.js.map +1 -1
  102. package/dist/js/next/components/Wizard/WizardBody.d.ts +2 -2
  103. package/dist/js/next/components/Wizard/WizardBody.d.ts.map +1 -1
  104. package/dist/js/next/components/Wizard/WizardBody.js +1 -1
  105. package/dist/js/next/components/Wizard/WizardBody.js.map +1 -1
  106. package/dist/js/next/components/Wizard/WizardContext.d.ts +21 -20
  107. package/dist/js/next/components/Wizard/WizardContext.d.ts.map +1 -1
  108. package/dist/js/next/components/Wizard/WizardContext.js +61 -30
  109. package/dist/js/next/components/Wizard/WizardContext.js.map +1 -1
  110. package/dist/js/next/components/Wizard/WizardFooter.d.ts +20 -6
  111. package/dist/js/next/components/Wizard/WizardFooter.d.ts.map +1 -1
  112. package/dist/js/next/components/Wizard/WizardFooter.js +15 -6
  113. package/dist/js/next/components/Wizard/WizardFooter.js.map +1 -1
  114. package/dist/js/next/components/Wizard/WizardHeader.d.ts +1 -1
  115. package/dist/js/next/components/Wizard/WizardHeader.d.ts.map +1 -1
  116. package/dist/js/next/components/Wizard/WizardHeader.js +2 -2
  117. package/dist/js/next/components/Wizard/WizardHeader.js.map +1 -1
  118. package/dist/js/next/components/Wizard/WizardNav.d.ts +5 -5
  119. package/dist/js/next/components/Wizard/WizardNav.d.ts.map +1 -1
  120. package/dist/js/next/components/Wizard/WizardNav.js +3 -4
  121. package/dist/js/next/components/Wizard/WizardNav.js.map +1 -1
  122. package/dist/js/next/components/Wizard/WizardNavInternal.d.ts +14 -0
  123. package/dist/js/next/components/Wizard/WizardNavInternal.d.ts.map +1 -0
  124. package/dist/js/next/components/Wizard/WizardNavInternal.js +54 -0
  125. package/dist/js/next/components/Wizard/WizardNavInternal.js.map +1 -0
  126. package/dist/js/next/components/Wizard/WizardNavItem.d.ts +12 -8
  127. package/dist/js/next/components/Wizard/WizardNavItem.d.ts.map +1 -1
  128. package/dist/js/next/components/Wizard/WizardNavItem.js +23 -12
  129. package/dist/js/next/components/Wizard/WizardNavItem.js.map +1 -1
  130. package/dist/js/next/components/Wizard/WizardStep.d.ts +22 -6
  131. package/dist/js/next/components/Wizard/WizardStep.d.ts.map +1 -1
  132. package/dist/js/next/components/Wizard/WizardStep.js +20 -1
  133. package/dist/js/next/components/Wizard/WizardStep.js.map +1 -1
  134. package/dist/js/next/components/Wizard/WizardToggle.d.ts +9 -15
  135. package/dist/js/next/components/Wizard/WizardToggle.d.ts.map +1 -1
  136. package/dist/js/next/components/Wizard/WizardToggle.js +15 -51
  137. package/dist/js/next/components/Wizard/WizardToggle.js.map +1 -1
  138. package/dist/js/next/components/Wizard/hooks/useWizardFooter.d.ts +2 -2
  139. package/dist/js/next/components/Wizard/hooks/useWizardFooter.d.ts.map +1 -1
  140. package/dist/js/next/components/Wizard/hooks/useWizardFooter.js +3 -3
  141. package/dist/js/next/components/Wizard/hooks/useWizardFooter.js.map +1 -1
  142. package/dist/js/next/components/Wizard/types.d.ts +37 -46
  143. package/dist/js/next/components/Wizard/types.d.ts.map +1 -1
  144. package/dist/js/next/components/Wizard/types.js +12 -3
  145. package/dist/js/next/components/Wizard/types.js.map +1 -1
  146. package/dist/js/next/components/Wizard/utils.d.ts +4 -5
  147. package/dist/js/next/components/Wizard/utils.d.ts.map +1 -1
  148. package/dist/js/next/components/Wizard/utils.js +24 -15
  149. package/dist/js/next/components/Wizard/utils.js.map +1 -1
  150. package/dist/js/next/components/index.d.ts +2 -1
  151. package/dist/js/next/components/index.d.ts.map +1 -1
  152. package/dist/js/next/components/index.js +2 -1
  153. package/dist/js/next/components/index.js.map +1 -1
  154. package/dist/umd/react-core.min.css +940 -940
  155. package/package.json +2 -2
  156. package/src/next/components/Select/Select.tsx +129 -0
  157. package/src/next/components/Select/SelectGroup.tsx +24 -0
  158. package/src/next/components/Select/SelectList.tsx +21 -0
  159. package/src/next/components/Select/SelectOption.tsx +31 -0
  160. package/src/next/components/Select/examples/Select.md +37 -0
  161. package/src/next/components/Select/examples/SelectBasic.tsx +54 -0
  162. package/src/next/components/Select/examples/SelectCheckbox.tsx +67 -0
  163. package/src/next/components/Select/examples/SelectGrouped.tsx +63 -0
  164. package/src/next/components/Select/examples/SelectMultiTypeahead.tsx +195 -0
  165. package/src/next/components/Select/examples/SelectTypeahead.tsx +191 -0
  166. package/src/next/components/Select/index.ts +4 -0
  167. package/src/next/components/Wizard/Wizard.tsx +107 -64
  168. package/src/next/components/Wizard/WizardBody.tsx +4 -4
  169. package/src/next/components/Wizard/WizardContext.tsx +117 -65
  170. package/src/next/components/Wizard/WizardFooter.tsx +39 -17
  171. package/src/next/components/Wizard/WizardHeader.tsx +6 -3
  172. package/src/next/components/Wizard/WizardNav.tsx +9 -10
  173. package/src/next/components/Wizard/WizardNavInternal.tsx +137 -0
  174. package/src/next/components/Wizard/WizardNavItem.tsx +47 -20
  175. package/src/next/components/Wizard/WizardStep.tsx +52 -7
  176. package/src/next/components/Wizard/WizardToggle.tsx +24 -142
  177. package/src/next/components/Wizard/__tests__/Wizard.test.tsx +10 -13
  178. package/src/next/components/Wizard/__tests__/WizardBody.test.tsx +3 -3
  179. package/src/next/components/Wizard/__tests__/WizardFooter.test.tsx +11 -14
  180. package/src/next/components/Wizard/__tests__/WizardStep.test.tsx +100 -0
  181. package/src/next/components/Wizard/__tests__/WizardToggle.test.tsx +4 -4
  182. package/src/next/components/Wizard/examples/Wizard.md +40 -15
  183. package/src/next/components/Wizard/examples/WizardBasic.tsx +2 -2
  184. package/src/next/components/Wizard/examples/WizardCustomNav.tsx +4 -4
  185. package/src/next/components/Wizard/examples/WizardKitchenSink.tsx +126 -60
  186. package/src/next/components/Wizard/hooks/__tests__/useWizardFooter.test.tsx +23 -34
  187. package/src/next/components/Wizard/hooks/useWizardFooter.tsx +5 -5
  188. package/src/next/components/Wizard/types.tsx +59 -53
  189. package/src/next/components/Wizard/utils.ts +25 -16
  190. package/src/next/components/index.ts +2 -1
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Select = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const react_styles_1 = require("@patternfly/react-styles");
7
+ const Menu_1 = require("../../../components/Menu");
8
+ const Popper_1 = require("../../../helpers/Popper/Popper");
9
+ const helpers_1 = require("../../../helpers");
10
+ const SelectBase = (_a) => {
11
+ var { children, className, onSelect, isOpen, selected, toggle, onOpenChange, isPlain, minWidth, innerRef } = _a, props = tslib_1.__rest(_a, ["children", "className", "onSelect", "isOpen", "selected", "toggle", "onOpenChange", "isPlain", "minWidth", "innerRef"]);
12
+ const localMenuRef = react_1.default.useRef();
13
+ const toggleRef = react_1.default.useRef();
14
+ const containerRef = react_1.default.useRef();
15
+ const menuRef = innerRef || localMenuRef;
16
+ react_1.default.useEffect(() => {
17
+ const handleMenuKeys = (event) => {
18
+ var _a, _b, _c, _d;
19
+ if (!isOpen && ((_a = toggleRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
20
+ // toggle was clicked open, focus on first menu item
21
+ if (event.key === 'Enter' || event.key === 'Space') {
22
+ setTimeout(() => {
23
+ var _a;
24
+ const firstElement = (_a = menuRef === null || menuRef === void 0 ? void 0 : menuRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('li button:not(:disabled),li input:not(:disabled)');
25
+ firstElement && firstElement.focus();
26
+ }, 0);
27
+ }
28
+ }
29
+ // Close the menu on tab or escape if onOpenChange is provided
30
+ if ((isOpen && onOpenChange && ((_b = menuRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target))) ||
31
+ ((_c = toggleRef.current) === null || _c === void 0 ? void 0 : _c.contains(event.target))) {
32
+ if (event.key === 'Escape' || event.key === 'Tab') {
33
+ onOpenChange(!isOpen);
34
+ (_d = toggleRef.current) === null || _d === void 0 ? void 0 : _d.focus();
35
+ }
36
+ }
37
+ };
38
+ const handleClickOutside = (event) => {
39
+ var _a, _b;
40
+ // If the event is not on the toggle and onOpenChange callback is provided, close the menu
41
+ if (isOpen && onOpenChange && !((_a = toggleRef === null || toggleRef === void 0 ? void 0 : toggleRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
42
+ if (isOpen && !((_b = menuRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target))) {
43
+ onOpenChange(false);
44
+ }
45
+ }
46
+ };
47
+ window.addEventListener('keydown', handleMenuKeys);
48
+ window.addEventListener('click', handleClickOutside);
49
+ return () => {
50
+ window.removeEventListener('keydown', handleMenuKeys);
51
+ window.removeEventListener('click', handleClickOutside);
52
+ };
53
+ }, [isOpen, menuRef, onOpenChange]);
54
+ const menu = (react_1.default.createElement(Menu_1.Menu, Object.assign({ className: react_styles_1.css(className), ref: menuRef, onSelect: (event, itemId) => onSelect(event, itemId), isPlain: isPlain, selected: selected }, (minWidth && {
55
+ style: {
56
+ '--pf-c-menu--MinWidth': minWidth
57
+ }
58
+ }), helpers_1.getOUIAProps(exports.Select.displayName, props.ouiaId !== undefined ? props.ouiaId : helpers_1.getDefaultOUIAId(exports.Select.displayName), props.ouiaSafe !== undefined ? props.ouiaSafe : true), props),
59
+ react_1.default.createElement(Menu_1.MenuContent, null, children)));
60
+ return (react_1.default.createElement("div", { ref: containerRef },
61
+ react_1.default.createElement(Popper_1.Popper, { trigger: toggle(toggleRef), removeFindDomNode: true, popper: menu, appendTo: containerRef.current || undefined, isVisible: isOpen })));
62
+ };
63
+ exports.Select = react_1.default.forwardRef((props, ref) => (react_1.default.createElement(SelectBase, Object.assign({ innerRef: ref }, props))));
64
+ exports.Select.displayName = 'Select';
65
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../../src/next/components/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { MenuGroupProps } from '../../../components/Menu';
3
+ export interface SelectGroupProps extends Omit<MenuGroupProps, 'ref'> {
4
+ /** Anything which can be rendered in a select group */
5
+ children: React.ReactNode;
6
+ /** Classes applied to root element of select group */
7
+ className?: string;
8
+ /** Label of the select group */
9
+ label?: string;
10
+ }
11
+ export declare const SelectGroup: React.FunctionComponent<SelectGroupProps>;
12
+ //# sourceMappingURL=SelectGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectGroup.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Select/SelectGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAa,MAAM,0BAA0B,CAAC;AAErE,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC;IACnE,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CASjE,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectGroup = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const react_styles_1 = require("@patternfly/react-styles");
7
+ const Menu_1 = require("../../../components/Menu");
8
+ const SelectGroup = (_a) => {
9
+ var { children, className, label } = _a, props = tslib_1.__rest(_a, ["children", "className", "label"]);
10
+ return (react_1.default.createElement(Menu_1.MenuGroup, Object.assign({ className: react_styles_1.css(className), label: label }, props), children));
11
+ };
12
+ exports.SelectGroup = SelectGroup;
13
+ exports.SelectGroup.displayName = 'SelectGroup';
14
+ //# sourceMappingURL=SelectGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectGroup.js","sourceRoot":"","sources":["../../../../../src/next/components/Select/SelectGroup.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,2DAA+C;AAC/C,mDAAqE;AAW9D,MAAM,WAAW,GAA8C,CAAC,EAKpD,EAAE,EAAE;QALgD,EACrE,QAAQ,EACR,SAAS,EACT,KAAK,OAEY,EADd,KAAK,sBAJ6D,kCAKtE,CADS;IACc,OAAA,CACtB,8BAAC,gBAAS,kBAAC,SAAS,EAAE,kBAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,IAAM,KAAK,GAC1D,QAAQ,CACC,CACb,CAAA;CAAA,CAAC;AATW,QAAA,WAAW,eAStB;AACF,mBAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { MenuListProps } from '../../../components/Menu';
3
+ export interface SelectListProps extends MenuListProps {
4
+ /** Anything which can be rendered in a select list */
5
+ children: React.ReactNode;
6
+ /** Classes applied to root element of select list */
7
+ className?: string;
8
+ }
9
+ export declare const SelectList: React.FunctionComponent<MenuListProps>;
10
+ //# sourceMappingURL=SelectList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectList.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Select/SelectList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAY,MAAM,0BAA0B,CAAC;AAEnE,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAQ7D,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectList = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const react_styles_1 = require("@patternfly/react-styles");
7
+ const Menu_1 = require("../../../components/Menu");
8
+ const SelectList = (_a) => {
9
+ var { children, className } = _a, props = tslib_1.__rest(_a, ["children", "className"]);
10
+ return (react_1.default.createElement(Menu_1.MenuList, Object.assign({ className: react_styles_1.css(className) }, props), children));
11
+ };
12
+ exports.SelectList = SelectList;
13
+ exports.SelectList.displayName = 'SelectList';
14
+ //# sourceMappingURL=SelectList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectList.js","sourceRoot":"","sources":["../../../../../src/next/components/Select/SelectList.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,2DAA+C;AAC/C,mDAAmE;AAS5D,MAAM,UAAU,GAA2C,CAAC,EAIjD,EAAE,EAAE;QAJ6C,EACjE,QAAQ,EACR,SAAS,OAEO,EADb,KAAK,sBAHyD,yBAIlE,CADS;IACa,OAAA,CACrB,8BAAC,eAAQ,kBAAC,SAAS,EAAE,kBAAG,CAAC,SAAS,CAAC,IAAM,KAAK,GAC3C,QAAQ,CACA,CACZ,CAAA;CAAA,CAAC;AARW,QAAA,UAAU,cAQrB;AACF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { MenuItemProps } from '../../../components/Menu';
3
+ export interface SelectOptionProps extends Omit<MenuItemProps, 'ref'> {
4
+ /** Anything which can be rendered in a select option */
5
+ children?: React.ReactNode;
6
+ /** Classes applied to root element of select option */
7
+ className?: string;
8
+ /** Identifies the component in the Select onSelect callback */
9
+ itemId?: any;
10
+ /** Indicates the option has a checkbox */
11
+ hasCheck?: boolean;
12
+ /** Indicates the option is disabled */
13
+ isDisabled?: boolean;
14
+ /** Indicates the option is selected */
15
+ isSelected?: boolean;
16
+ /** Indicates the option is focused */
17
+ isFocused?: boolean;
18
+ }
19
+ export declare const SelectOption: React.FunctionComponent<MenuItemProps>;
20
+ //# sourceMappingURL=SelectOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOption.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Select/SelectOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAY,MAAM,0BAA0B,CAAC;AAEnE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC;IACnE,wDAAwD;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAQ/D,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectOption = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const react_styles_1 = require("@patternfly/react-styles");
7
+ const Menu_1 = require("../../../components/Menu");
8
+ const SelectOption = (_a) => {
9
+ var { children, className } = _a, props = tslib_1.__rest(_a, ["children", "className"]);
10
+ return (react_1.default.createElement(Menu_1.MenuItem, Object.assign({ className: react_styles_1.css(className) }, props), children));
11
+ };
12
+ exports.SelectOption = SelectOption;
13
+ exports.SelectOption.displayName = 'SelectOption';
14
+ //# sourceMappingURL=SelectOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOption.js","sourceRoot":"","sources":["../../../../../src/next/components/Select/SelectOption.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,2DAA+C;AAC/C,mDAAmE;AAmB5D,MAAM,YAAY,GAA2C,CAAC,EAIjD,EAAE,EAAE;QAJ6C,EACnE,QAAQ,EACR,SAAS,OAES,EADf,KAAK,sBAH2D,yBAIpE,CADS;IACe,OAAA,CACvB,8BAAC,eAAQ,kBAAC,SAAS,EAAE,kBAAG,CAAC,SAAS,CAAC,IAAM,KAAK,GAC3C,QAAQ,CACA,CACZ,CAAA;CAAA,CAAC;AARW,QAAA,YAAY,gBAQvB;AACF,oBAAY,CAAC,WAAW,GAAG,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './Select';
2
+ export * from './SelectGroup';
3
+ export * from './SelectList';
4
+ export * from './SelectOption';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./Select"), exports);
5
+ tslib_1.__exportStar(require("./SelectGroup"), exports);
6
+ tslib_1.__exportStar(require("./SelectList"), exports);
7
+ tslib_1.__exportStar(require("./SelectOption"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/next/components/Select/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,wDAA8B;AAC9B,uDAA6B;AAC7B,yDAA+B"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { DefaultWizardFooterProps, DefaultWizardNavProps, WizardNavStepFunction, CustomWizardNavFunction } from './types';
2
+ import { WizardNavStepFunction, WizardFooterType, WizardNavType } from './types';
3
3
  import { WizardStepProps } from './WizardStep';
4
4
  /**
5
5
  * Wrapper for all steps and hosts state, including navigation helpers, within context.
@@ -11,9 +11,9 @@ export interface WizardProps extends React.HTMLProps<HTMLDivElement> {
11
11
  /** Wizard header */
12
12
  header?: React.ReactNode;
13
13
  /** Wizard footer */
14
- footer?: DefaultWizardFooterProps | React.ReactElement;
15
- /** Wizard nav */
16
- nav?: DefaultWizardNavProps | CustomWizardNavFunction;
14
+ footer?: WizardFooterType;
15
+ /** Wizard navigation */
16
+ nav?: WizardNavType;
17
17
  /** The initial index the wizard is to start on (1 or higher). Defaults to 1. */
18
18
  startIndex?: number;
19
19
  /** Additional classes spread to the wizard */
@@ -22,9 +22,11 @@ export interface WizardProps extends React.HTMLProps<HTMLDivElement> {
22
22
  width?: number | string;
23
23
  /** Custom height of the wizard */
24
24
  height?: number | string;
25
+ /** Disables navigation items that haven't been visited. Defaults to false */
26
+ isStepVisitRequired?: boolean;
25
27
  /** Flag to unmount inactive steps instead of hiding. Defaults to true */
26
- unmountInactiveSteps?: boolean;
27
- /** Callback function when a step in the nav is clicked */
28
+ hasUnmountedSteps?: boolean;
29
+ /** Callback function when a step in the navigation is clicked */
28
30
  onNavByIndex?: WizardNavStepFunction;
29
31
  /** Callback function after next button is clicked */
30
32
  onNext?: WizardNavStepFunction;
@@ -36,7 +38,7 @@ export interface WizardProps extends React.HTMLProps<HTMLDivElement> {
36
38
  onClose?: () => void;
37
39
  }
38
40
  export declare const Wizard: {
39
- ({ startIndex, children, footer, height, width, className, header, nav, unmountInactiveSteps, onNavByIndex, onNext, onBack, onSave, onClose, ...wrapperProps }: WizardProps): JSX.Element;
41
+ ({ children, footer, height, width, className, header, nav, startIndex, isStepVisitRequired, hasUnmountedSteps, onNavByIndex, onNext, onBack, onSave, onClose, ...wrapperProps }: WizardProps): JSX.Element;
40
42
  displayName: string;
41
43
  };
42
44
  //# sourceMappingURL=Wizard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EAErB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C;;;GAGG;AAEH,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;IAClE,sBAAsB;IACtB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;IACtF,oBAAoB;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,oBAAoB;IACpB,MAAM,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAAC;IACvD,iBAAiB;IACjB,GAAG,CAAC,EAAE,qBAAqB,GAAG,uBAAuB,CAAC;IACtD,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,qDAAqD;IACrD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,qDAAqD;IACrD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,MAAM;oKAgBhB,WAAW;;CAmGb,CAAC"}
1
+ {"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAEL,qBAAqB,EAGrB,gBAAgB,EAChB,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C;;;GAGG;AAEH,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;IAClE,sBAAsB;IACtB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;IACtF,oBAAoB;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,oBAAoB;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,wBAAwB;IACxB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,qDAAqD;IACrD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,qDAAqD;IACrD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,MAAM;sLAiBhB,WAAW;;CA2Gb,CAAC"}
@@ -3,79 +3,93 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Wizard = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
+ const findLastIndex_1 = tslib_1.__importDefault(require("lodash/findLastIndex"));
6
7
  const react_styles_1 = require("@patternfly/react-styles");
7
8
  const wizard_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/Wizard/wizard"));
8
9
  const types_1 = require("./types");
9
10
  const utils_1 = require("./utils");
10
11
  const WizardContext_1 = require("./WizardContext");
11
12
  const WizardToggle_1 = require("./WizardToggle");
13
+ const WizardNavInternal_1 = require("./WizardNavInternal");
12
14
  const Wizard = (_a) => {
13
- var { startIndex = 1, children, footer, height, width, className, header, nav, unmountInactiveSteps, onNavByIndex, onNext, onBack, onSave, onClose } = _a, wrapperProps = tslib_1.__rest(_a, ["startIndex", "children", "footer", "height", "width", "className", "header", "nav", "unmountInactiveSteps", "onNavByIndex", "onNext", "onBack", "onSave", "onClose"]);
15
+ var { children, footer, height, width, className, header, nav, startIndex = 1, isStepVisitRequired = false, hasUnmountedSteps = true, onNavByIndex, onNext, onBack, onSave, onClose } = _a, wrapperProps = tslib_1.__rest(_a, ["children", "footer", "height", "width", "className", "header", "nav", "startIndex", "isStepVisitRequired", "hasUnmountedSteps", "onNavByIndex", "onNext", "onBack", "onSave", "onClose"]);
14
16
  const [currentStepIndex, setCurrentStepIndex] = react_1.default.useState(startIndex);
15
- const steps = utils_1.buildSteps(children);
16
- const goToStepByIndex = (index) => {
17
- const lastStepIndex = steps.length;
17
+ const initialSteps = utils_1.buildSteps(children);
18
+ const goToNextStep = (steps = initialSteps) => {
19
+ const newStepIndex = steps.findIndex((step, index) => index + 1 > currentStepIndex && !step.isHidden && !types_1.isWizardParentStep(step)) + 1;
20
+ if (currentStepIndex >= steps.length || !newStepIndex) {
21
+ return onSave ? onSave() : onClose === null || onClose === void 0 ? void 0 : onClose();
22
+ }
23
+ const currStep = types_1.isWizardParentStep(steps[currentStepIndex])
24
+ ? steps[currentStepIndex + 1]
25
+ : steps[currentStepIndex];
26
+ const prevStep = steps[currentStepIndex - 1];
27
+ setCurrentStepIndex(newStepIndex);
28
+ return onNext === null || onNext === void 0 ? void 0 : onNext(utils_1.normalizeNavStep(currStep, steps), utils_1.normalizeNavStep(prevStep, steps));
29
+ };
30
+ const goToPrevStep = (steps = initialSteps) => {
31
+ const newStepIndex = findLastIndex_1.default(steps, (step, index) => index + 1 < currentStepIndex && !step.isHidden && !types_1.isWizardParentStep(step)) + 1;
32
+ const currStep = types_1.isWizardParentStep(steps[currentStepIndex - 2])
33
+ ? steps[currentStepIndex - 3]
34
+ : steps[currentStepIndex - 2];
35
+ const prevStep = steps[currentStepIndex - 1];
36
+ setCurrentStepIndex(newStepIndex);
37
+ return onBack === null || onBack === void 0 ? void 0 : onBack(utils_1.normalizeNavStep(currStep, steps), utils_1.normalizeNavStep(prevStep, steps));
38
+ };
39
+ const goToStepByIndex = (steps = initialSteps, index) => {
40
+ const lastStepIndex = steps.length + 1;
41
+ // Handle index when out of bounds or hidden
18
42
  if (index < 1) {
19
43
  index = 1;
20
44
  }
21
45
  else if (index > lastStepIndex) {
22
46
  index = lastStepIndex;
23
47
  }
48
+ else if (steps[index - 1].isHidden) {
49
+ // eslint-disable-next-line no-console
50
+ console.error('Wizard: Unable to navigate to hidden step.');
51
+ }
24
52
  const currStep = steps[index - 1];
25
53
  const prevStep = steps[currentStepIndex - 1];
26
54
  setCurrentStepIndex(index);
27
- return onNavByIndex === null || onNavByIndex === void 0 ? void 0 : onNavByIndex(utils_1.normalizeNavStep(currStep), utils_1.normalizeNavStep(prevStep));
55
+ return onNavByIndex === null || onNavByIndex === void 0 ? void 0 : onNavByIndex(utils_1.normalizeNavStep(currStep, steps), utils_1.normalizeNavStep(prevStep, steps));
28
56
  };
29
- const goToNextStep = () => {
30
- // Save when on the last step, otherwise close
31
- if (currentStepIndex >= steps.length) {
32
- if (onSave) {
33
- return onSave();
34
- }
35
- return onClose === null || onClose === void 0 ? void 0 : onClose();
57
+ const goToStepById = (steps = initialSteps, id) => {
58
+ const stepIndex = steps.findIndex(step => step.id === id) + 1;
59
+ if (stepIndex > 0 && stepIndex < steps.length + 1 && !steps[stepIndex].isHidden) {
60
+ setCurrentStepIndex(stepIndex);
36
61
  }
37
- let currStep = steps[currentStepIndex];
38
- let newStepIndex = currentStepIndex + 1;
39
- const prevStep = steps[currentStepIndex - 1];
40
- // Skip parent step and focus on the first sub-step if they exist
41
- if (types_1.isWizardParentStep(currStep)) {
42
- newStepIndex += 1;
43
- currStep = steps[currentStepIndex + 1];
62
+ else {
63
+ // eslint-disable-next-line no-console
64
+ console.error(`Wizard: Unable to navigate to step with id: ${id}.`);
44
65
  }
45
- setCurrentStepIndex(newStepIndex);
46
- return onNext === null || onNext === void 0 ? void 0 : onNext(utils_1.normalizeNavStep(currStep), utils_1.normalizeNavStep(prevStep));
47
66
  };
48
- const goToPrevStep = () => {
49
- if (steps.length < currentStepIndex) {
50
- // Previous step was removed, just update the currentStep state
51
- setCurrentStepIndex(steps.length);
67
+ const goToStepByName = (steps = initialSteps, name) => {
68
+ const stepIndex = initialSteps.findIndex(step => step.name === name) + 1;
69
+ if (stepIndex > 0 && stepIndex < steps.length + 1 && !steps[stepIndex].isHidden) {
70
+ setCurrentStepIndex(stepIndex);
52
71
  }
53
72
  else {
54
- let currStep = steps[currentStepIndex - 2];
55
- let newStepIndex = currentStepIndex - 1;
56
- const prevStep = steps[currentStepIndex - 1];
57
- // // Skip parent step and focus on the step prior
58
- if (types_1.isWizardParentStep(currStep)) {
59
- newStepIndex -= 1;
60
- currStep = steps[currentStepIndex - 3];
61
- }
62
- setCurrentStepIndex(newStepIndex);
63
- return onBack === null || onBack === void 0 ? void 0 : onBack(utils_1.normalizeNavStep(currStep), utils_1.normalizeNavStep(prevStep));
73
+ // eslint-disable-next-line no-console
74
+ console.error(`Wizard: Unable to navigate to step with name: ${name}.`);
64
75
  }
65
76
  };
66
- const goToStepById = (id) => {
67
- const stepIndex = steps.findIndex(step => step.id === id) + 1;
68
- stepIndex > 0 && setCurrentStepIndex(stepIndex);
69
- };
70
- const goToStepByName = (name) => {
71
- const stepIndex = steps.findIndex(step => step.name === name) + 1;
72
- stepIndex > 0 && setCurrentStepIndex(stepIndex);
73
- };
74
- return (react_1.default.createElement(WizardContext_1.WizardContextProvider, { steps: steps, currentStepIndex: currentStepIndex, footer: footer, onNext: goToNextStep, onBack: goToPrevStep, onClose: onClose, goToStepById: goToStepById, goToStepByName: goToStepByName, goToStepByIndex: goToStepByIndex },
77
+ return (react_1.default.createElement(WizardContext_1.WizardContextProvider, { steps: initialSteps, currentStepIndex: currentStepIndex, footer: footer, isStepVisitRequired: isStepVisitRequired, onNext: goToNextStep, onBack: goToPrevStep, onClose: onClose, goToStepById: goToStepById, goToStepByName: goToStepByName, goToStepByIndex: goToStepByIndex },
75
78
  react_1.default.createElement("div", Object.assign({ className: react_styles_1.css(wizard_1.default.wizard, className), style: Object.assign(Object.assign({}, (height ? { height } : {})), (width ? { width } : {})) }, wrapperProps),
76
79
  header,
77
- react_1.default.createElement(WizardToggle_1.WizardToggleInternal, { nav: nav, unmountInactiveSteps: unmountInactiveSteps }))));
80
+ react_1.default.createElement(WizardInternal, { nav: nav, hasUnmountedSteps: hasUnmountedSteps, isStepVisitRequired: isStepVisitRequired }))));
78
81
  };
79
82
  exports.Wizard = Wizard;
83
+ const WizardInternal = ({ nav, hasUnmountedSteps, isStepVisitRequired }) => {
84
+ const { currentStep, steps, footer, goToStepByIndex } = WizardContext_1.useWizardContext();
85
+ const [isNavExpanded, setIsNavExpanded] = react_1.default.useState(false);
86
+ const wizardNav = react_1.default.useMemo(() => {
87
+ if (types_1.isCustomWizardNav(nav)) {
88
+ return typeof nav === 'function' ? nav(isNavExpanded, steps, currentStep, goToStepByIndex) : nav;
89
+ }
90
+ return react_1.default.createElement(WizardNavInternal_1.WizardNavInternal, { nav: nav, isNavExpanded: isNavExpanded, isStepVisitRequired: isStepVisitRequired });
91
+ }, [currentStep, isStepVisitRequired, goToStepByIndex, isNavExpanded, nav, steps]);
92
+ return (react_1.default.createElement(WizardToggle_1.WizardToggle, { nav: wizardNav, footer: footer, steps: steps, currentStep: currentStep, isNavExpanded: isNavExpanded, toggleNavExpanded: () => setIsNavExpanded(prevIsExpanded => !prevIsExpanded), hasUnmountedSteps: hasUnmountedSteps }));
93
+ };
80
94
  exports.Wizard.displayName = 'Wizard';
81
95
  //# sourceMappingURL=Wizard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/Wizard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/Wizard.tsx"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ export interface WizardBodyProps {
11
11
  /** Sets the aria-labelledby attribute for the wrapper element */
12
12
  'aria-labelledby'?: string;
13
13
  /** Component used as the wrapping content container */
14
- wrapperElement?: React.ElementType;
14
+ component?: React.ElementType;
15
15
  }
16
16
  export declare const WizardBody: {
17
- ({ children, hasNoBodyPadding, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, wrapperElement: Wrapper }: WizardBodyProps): JSX.Element;
17
+ ({ children, hasNoBodyPadding, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, component: WrapperComponent }: WizardBodyProps): JSX.Element;
18
18
  displayName: string;
19
19
  };
20
20
  //# sourceMappingURL=WizardBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WizardBody.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9C,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CACpC;AAED,eAAO,MAAM,UAAU;0HAMpB,eAAe;;CAIjB,CAAC"}
1
+ {"version":3,"file":"WizardBody.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9C,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CAC/B;AAED,eAAO,MAAM,UAAU;8HAMpB,eAAe;;CAIjB,CAAC"}
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const wizard_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/Wizard/wizard"));
7
7
  const react_styles_1 = require("@patternfly/react-styles");
8
- const WizardBody = ({ children, hasNoBodyPadding = false, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, wrapperElement: Wrapper = 'div' }) => (react_1.default.createElement(Wrapper, { "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, className: react_styles_1.css(wizard_1.default.wizardMain) },
8
+ const WizardBody = ({ children, hasNoBodyPadding = false, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, component: WrapperComponent = 'div' }) => (react_1.default.createElement(WrapperComponent, { "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, className: react_styles_1.css(wizard_1.default.wizardMain) },
9
9
  react_1.default.createElement("div", { className: react_styles_1.css(wizard_1.default.wizardMainBody, hasNoBodyPadding && wizard_1.default.modifiers.noPadding) }, children)));
10
10
  exports.WizardBody = WizardBody;
11
11
  exports.WizardBody.displayName = 'WizardBody';
@@ -1 +1 @@
1
- {"version":3,"file":"WizardBody.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardBody.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,2GAA2E;AAC3E,2DAA+C;AAkBxC,MAAM,UAAU,GAAG,CAAC,EACzB,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,cAAc,EAAE,OAAO,GAAG,KAAK,EACf,EAAE,EAAE,CAAC,CACrB,8BAAC,OAAO,kBAAa,SAAS,qBAAmB,cAAc,EAAE,SAAS,EAAE,kBAAG,CAAC,gBAAM,CAAC,UAAU,CAAC;IAChG,uCAAK,SAAS,EAAE,kBAAG,CAAC,gBAAM,CAAC,cAAc,EAAE,gBAAgB,IAAI,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAG,QAAQ,CAAO,CACpG,CACX,CAAC;AAVW,QAAA,UAAU,cAUrB;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"WizardBody.js","sourceRoot":"","sources":["../../../../../src/next/components/Wizard/WizardBody.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,2GAA2E;AAC3E,2DAA+C;AAkBxC,MAAM,UAAU,GAAG,CAAC,EACzB,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,SAAS,EAAE,gBAAgB,GAAG,KAAK,EACnB,EAAE,EAAE,CAAC,CACrB,8BAAC,gBAAgB,kBAAa,SAAS,qBAAmB,cAAc,EAAE,SAAS,EAAE,kBAAG,CAAC,gBAAM,CAAC,UAAU,CAAC;IACzG,uCAAK,SAAS,EAAE,kBAAG,CAAC,gBAAM,CAAC,cAAc,EAAE,gBAAgB,IAAI,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAG,QAAQ,CAAO,CAC3F,CACpB,CAAC;AAVW,QAAA,UAAU,cAUrB;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
- import { DefaultWizardFooterProps, WizardControlStep } from './types';
2
+ import { WizardControlStep, WizardFooterType } from './types';
3
+ import { WizardFooterProps } from './WizardFooter';
3
4
  export interface WizardContextProps {
4
5
  /** List of steps */
5
6
  steps: WizardControlStep[];
6
- /** Active step */
7
- activeStep: WizardControlStep;
7
+ /** Current step */
8
+ currentStep: WizardControlStep;
9
+ /** Current step index */
10
+ currentStepIndex: number;
8
11
  /** Footer element */
9
12
  footer: React.ReactElement;
10
13
  /** Navigate to the next step */
@@ -20,30 +23,28 @@ export interface WizardContextProps {
20
23
  /** Navigate to step by index */
21
24
  goToStepByIndex: (index: number) => void;
22
25
  /** Update the footer with any react element */
23
- setFooter: (footer: DefaultWizardFooterProps | React.ReactElement) => void;
26
+ setFooter: (footer: React.ReactElement | Partial<WizardFooterProps>) => void;
27
+ /** Get step by ID */
28
+ getStep: (stepId: number | string) => WizardControlStep;
29
+ /** Set step by ID */
30
+ setStep: (step: Pick<WizardControlStep, 'id'> & Partial<WizardControlStep>) => void;
31
+ /** Toggle step visibility by ID */
32
+ toggleStep: (stepId: number | string, isHidden: boolean) => void;
24
33
  }
25
34
  export declare const WizardContext: React.Context<WizardContextProps>;
26
- interface WizardContextRenderProps {
27
- steps: WizardControlStep[];
28
- activeStep: WizardControlStep;
29
- footer: React.ReactElement;
30
- onNext(): void;
31
- onBack(): void;
32
- onClose(): void;
33
- }
34
35
  export interface WizardContextProviderProps {
35
36
  steps: WizardControlStep[];
36
37
  currentStepIndex: number;
37
- footer: DefaultWizardFooterProps | React.ReactElement;
38
- children: React.ReactElement | ((props: WizardContextRenderProps) => React.ReactElement);
39
- onNext(): void;
40
- onBack(): void;
38
+ footer: WizardFooterType;
39
+ isStepVisitRequired: boolean;
40
+ children: React.ReactElement;
41
+ onNext(steps: WizardControlStep[]): void;
42
+ onBack(steps: WizardControlStep[]): void;
41
43
  onClose(): void;
42
- goToStepById(id: number | string): void;
43
- goToStepByName(name: string): void;
44
- goToStepByIndex(index: number): void;
44
+ goToStepById(steps: WizardControlStep[], id: number | string): void;
45
+ goToStepByName(steps: WizardControlStep[], name: string): void;
46
+ goToStepByIndex(steps: WizardControlStep[], index: number): void;
45
47
  }
46
48
  export declare const WizardContextProvider: React.FunctionComponent<WizardContextProviderProps>;
47
49
  export declare const useWizardContext: () => WizardContextProps;
48
- export {};
49
50
  //# sourceMappingURL=WizardContext.d.ts.map
@@ -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;AAK1B,OAAO,EAAE,wBAAwB,EAAwB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5F,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,kBAAkB;IAClB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,qBAAqB;IACrB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,oCAAoC;IACpC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,uBAAuB;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,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,wBAAwB,GAAG,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;CAC5E;AAED,eAAO,MAAM,aAAa,mCAAgD,CAAC;AAE3E,UAAU,wBAAwB;IAChC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAAC;IACtD,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,EAAE,wBAAwB,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;IACzF,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAGD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC,0BAA0B,CAoErF,CAAC;AAEF,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,EAA4C,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAExG,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,mBAAmB;IACnB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,yBAAyB;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB;IACrB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,oCAAoC;IACpC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,uBAAuB;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,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,iBAAiB,CAAC;IACxD,qBAAqB;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACpF,mCAAmC;IACnC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAED,eAAO,MAAM,aAAa,mCAAgD,CAAC;AAE3E,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IACzC,OAAO,IAAI,IAAI,CAAC;IAChB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpE,cAAc,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAClE;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC,0BAA0B,CA0HrF,CAAC;AAIF,eAAO,MAAM,gBAAgB,0BAAwC,CAAC"}