@hitachivantara/uikit-react-lab 4.1.2 → 4.2.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 (25) hide show
  1. package/dist/Wizard/WizardActions/WizardActions.js +2 -2
  2. package/dist/Wizard/WizardActions/WizardActions.js.map +1 -1
  3. package/dist/Wizard/WizardContent/WizardContent.js +43 -28
  4. package/dist/Wizard/WizardContent/WizardContent.js.map +1 -1
  5. package/dist/Wizard/WizardContent/styles.js +8 -2
  6. package/dist/Wizard/WizardContent/styles.js.map +1 -1
  7. package/dist/Wizard/WizardTitle/WizardTitle.js +3 -0
  8. package/dist/Wizard/WizardTitle/WizardTitle.js.map +1 -1
  9. package/dist/legacy/Wizard/WizardActions/WizardActions.js +2 -2
  10. package/dist/legacy/Wizard/WizardActions/WizardActions.js.map +1 -1
  11. package/dist/legacy/Wizard/WizardContent/WizardContent.js +43 -28
  12. package/dist/legacy/Wizard/WizardContent/WizardContent.js.map +1 -1
  13. package/dist/legacy/Wizard/WizardContent/styles.js +8 -2
  14. package/dist/legacy/Wizard/WizardContent/styles.js.map +1 -1
  15. package/dist/legacy/Wizard/WizardTitle/WizardTitle.js +3 -0
  16. package/dist/legacy/Wizard/WizardTitle/WizardTitle.js.map +1 -1
  17. package/dist/modern/Wizard/WizardActions/WizardActions.js +2 -2
  18. package/dist/modern/Wizard/WizardActions/WizardActions.js.map +1 -1
  19. package/dist/modern/Wizard/WizardContent/WizardContent.js +43 -28
  20. package/dist/modern/Wizard/WizardContent/WizardContent.js.map +1 -1
  21. package/dist/modern/Wizard/WizardContent/styles.js +8 -2
  22. package/dist/modern/Wizard/WizardContent/styles.js.map +1 -1
  23. package/dist/modern/Wizard/WizardTitle/WizardTitle.js +3 -0
  24. package/dist/modern/Wizard/WizardTitle/WizardTitle.js.map +1 -1
  25. package/package.json +4 -4
@@ -97,9 +97,9 @@ var HvWizardActions = function HvWizardActions(_ref) {
97
97
  onClick: handleClose,
98
98
  className: classes.buttonWidth,
99
99
  children: "".concat((_labels$cancel = labels.cancel) !== null && _labels$cancel !== void 0 ? _labels$cancel : "Cancel")
100
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikitReactCore.HvButton, {
100
+ }), skippable && /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikitReactCore.HvButton, {
101
101
  category: "ghost",
102
- disabled: isLastPage || !skippable,
102
+ disabled: isLastPage,
103
103
  className: classes.buttonWidth,
104
104
  onClick: handleSkip,
105
105
  children: "".concat((_labels$skip = labels.skip) !== null && _labels$skip !== void 0 ? _labels$skip : "Skip")
@@ -1 +1 @@
1
- {"version":3,"file":"WizardActions.js","names":["HvWizardActions","classes","handleClose","handleSubmit","changeTab","tab","loading","skippable","labels","cancel","next","previous","skip","submit","React","useContext","HvWizardContext","context","setContext","useState","pages","setPages","canSubmit","setCanSubmit","useEffect","contextEntries","Object","entries","length","validWizard","every","value","valid","lastPage","isLastPage","handleSkip","useCallback","skippedContext","map","child","handleSubmitInternal","actionsContainer","buttonWidth","buttonsContainer","t","clsx","buttonSpacing","propTypes","PropTypes","shape","string","isRequired","number","func","bool","withStyles","styles","name"],"sources":["../../../src/Wizard/WizardActions/WizardActions.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { HvButton, HvDialogActions, HvGrid } from \"@hitachivantara/uikit-react-core\";\nimport { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst HvWizardActions = ({\n classes,\n handleClose,\n handleSubmit,\n changeTab,\n tab,\n loading = false,\n skippable = false,\n labels = {\n cancel: \"Cancel\",\n next: \"Next\",\n previous: \"Previous\",\n skip: \"Skip\",\n submit: \"Submit\",\n },\n}) => {\n const { context, setContext } = React.useContext(HvWizardContext);\n const [pages, setPages] = React.useState(0);\n const [canSubmit, setCanSubmit] = React.useState(false);\n\n React.useEffect(() => {\n const contextEntries = Object.entries(context);\n if (contextEntries.length) {\n setPages(contextEntries.length);\n\n const validWizard = Object.entries(context).every(([, value]) => value.valid);\n if (validWizard !== canSubmit) {\n setCanSubmit(validWizard);\n }\n }\n }, [context]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const lastPage = pages - 1;\n const isLastPage = tab >= lastPage;\n\n const handleSkip = React.useCallback(() => {\n const skippedContext = Object.entries(context).map(([, child]) => ({\n ...child,\n valid: child.valid !== false,\n }));\n setContext(skippedContext);\n changeTab(lastPage);\n }, [changeTab, context, lastPage, setContext]);\n const handleSubmitInternal = React.useCallback(\n () => handleSubmit(context),\n [handleSubmit, context]\n );\n\n return (\n <HvDialogActions className={classes.actionsContainer}>\n <HvGrid>\n <HvButton category=\"ghost\" onClick={handleClose} className={classes.buttonWidth}>\n {`${labels.cancel ?? \"Cancel\"}`}\n </HvButton>\n <HvButton\n category=\"ghost\"\n disabled={isLastPage || !skippable}\n className={classes.buttonWidth}\n onClick={handleSkip}\n >\n {`${labels.skip ?? \"Skip\"}`}\n </HvButton>\n </HvGrid>\n <HvGrid className={classes.buttonsContainer}>\n <HvButton\n category=\"ghost\"\n className={classes.buttonWidth}\n disabled={tab <= 0}\n onClick={() => changeTab((t) => t - 1)}\n >\n <Backwards />\n {`${labels.previous ?? \"Previous\"}`}\n </HvButton>\n\n {isLastPage ? (\n <HvButton\n category=\"primary\"\n className={classes.buttonWidth}\n disabled={loading || !canSubmit}\n onClick={handleSubmitInternal}\n >\n {`${labels.submit ?? \"Submit\"}`}\n </HvButton>\n ) : (\n <HvButton\n category=\"ghost\"\n className={clsx(classes.buttonWidth, classes.buttonSpacing)}\n onClick={() => changeTab((t) => t + 1)}\n disabled={!skippable && !context?.[tab]?.valid}\n >\n {`${labels.next ?? \"Next\"}`}\n <Forwards />\n </HvButton>\n )}\n </HvGrid>\n </HvDialogActions>\n );\n};\n\nHvWizardActions.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component which contains the groups of buttons.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the component which contains the buttons.\n */\n buttonsContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to some Button components to override its left padding.\n */\n buttonSpacing: PropTypes.string,\n }).isRequired,\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Function to handle the cancel button.\n */\n handleClose: PropTypes.func.isRequired,\n /**\n * Function to handle the submit button. Also sends the current context state.\n */\n handleSubmit: PropTypes.func.isRequired,\n /**\n * An object containing all the labels for the wizard actions component.\n */\n labels: PropTypes.shape({\n /**\n * Cancel button label.\n */\n cancel: PropTypes.string,\n /**\n * Skip button label.\n */\n skip: PropTypes.string,\n /**\n * Previous button label.\n */\n previous: PropTypes.string,\n /**\n * Next button label.\n */\n next: PropTypes.string,\n /**\n * Submit button label.\n */\n submit: PropTypes.string,\n }),\n /**\n * Whether the submit button is disabled.\n */\n loading: PropTypes.bool,\n /**\n * Enables the skip button.\n */\n skippable: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvWizardActions\" })(HvWizardActions);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardActions.js","names":["HvWizardActions","classes","handleClose","handleSubmit","changeTab","tab","loading","skippable","labels","cancel","next","previous","skip","submit","React","useContext","HvWizardContext","context","setContext","useState","pages","setPages","canSubmit","setCanSubmit","useEffect","contextEntries","Object","entries","length","validWizard","every","value","valid","lastPage","isLastPage","handleSkip","useCallback","skippedContext","map","child","handleSubmitInternal","actionsContainer","buttonWidth","buttonsContainer","t","clsx","buttonSpacing","propTypes","PropTypes","shape","string","isRequired","number","func","bool","withStyles","styles","name"],"sources":["../../../src/Wizard/WizardActions/WizardActions.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { HvButton, HvDialogActions, HvGrid } from \"@hitachivantara/uikit-react-core\";\nimport { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst HvWizardActions = ({\n classes,\n handleClose,\n handleSubmit,\n changeTab,\n tab,\n loading = false,\n skippable = false,\n labels = {\n cancel: \"Cancel\",\n next: \"Next\",\n previous: \"Previous\",\n skip: \"Skip\",\n submit: \"Submit\",\n },\n}) => {\n const { context, setContext } = React.useContext(HvWizardContext);\n const [pages, setPages] = React.useState(0);\n const [canSubmit, setCanSubmit] = React.useState(false);\n\n React.useEffect(() => {\n const contextEntries = Object.entries(context);\n if (contextEntries.length) {\n setPages(contextEntries.length);\n\n const validWizard = Object.entries(context).every(([, value]) => value.valid);\n if (validWizard !== canSubmit) {\n setCanSubmit(validWizard);\n }\n }\n }, [context]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const lastPage = pages - 1;\n const isLastPage = tab >= lastPage;\n\n const handleSkip = React.useCallback(() => {\n const skippedContext = Object.entries(context).map(([, child]) => ({\n ...child,\n valid: child.valid !== false,\n }));\n setContext(skippedContext);\n changeTab(lastPage);\n }, [changeTab, context, lastPage, setContext]);\n const handleSubmitInternal = React.useCallback(\n () => handleSubmit(context),\n [handleSubmit, context]\n );\n\n return (\n <HvDialogActions className={classes.actionsContainer}>\n <HvGrid>\n <HvButton category=\"ghost\" onClick={handleClose} className={classes.buttonWidth}>\n {`${labels.cancel ?? \"Cancel\"}`}\n </HvButton>\n {skippable && (\n <HvButton\n category=\"ghost\"\n disabled={isLastPage}\n className={classes.buttonWidth}\n onClick={handleSkip}\n >\n {`${labels.skip ?? \"Skip\"}`}\n </HvButton>\n )}\n </HvGrid>\n <HvGrid className={classes.buttonsContainer}>\n <HvButton\n category=\"ghost\"\n className={classes.buttonWidth}\n disabled={tab <= 0}\n onClick={() => changeTab((t) => t - 1)}\n >\n <Backwards />\n {`${labels.previous ?? \"Previous\"}`}\n </HvButton>\n\n {isLastPage ? (\n <HvButton\n category=\"primary\"\n className={classes.buttonWidth}\n disabled={loading || !canSubmit}\n onClick={handleSubmitInternal}\n >\n {`${labels.submit ?? \"Submit\"}`}\n </HvButton>\n ) : (\n <HvButton\n category=\"ghost\"\n className={clsx(classes.buttonWidth, classes.buttonSpacing)}\n onClick={() => changeTab((t) => t + 1)}\n disabled={!skippable && !context?.[tab]?.valid}\n >\n {`${labels.next ?? \"Next\"}`}\n <Forwards />\n </HvButton>\n )}\n </HvGrid>\n </HvDialogActions>\n );\n};\n\nHvWizardActions.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component which contains the groups of buttons.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the component which contains the buttons.\n */\n buttonsContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to some Button components to override its left padding.\n */\n buttonSpacing: PropTypes.string,\n }).isRequired,\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Function to handle the cancel button.\n */\n handleClose: PropTypes.func.isRequired,\n /**\n * Function to handle the submit button. Also sends the current context state.\n */\n handleSubmit: PropTypes.func.isRequired,\n /**\n * An object containing all the labels for the wizard actions component.\n */\n labels: PropTypes.shape({\n /**\n * Cancel button label.\n */\n cancel: PropTypes.string,\n /**\n * Skip button label.\n */\n skip: PropTypes.string,\n /**\n * Previous button label.\n */\n previous: PropTypes.string,\n /**\n * Next button label.\n */\n next: PropTypes.string,\n /**\n * Submit button label.\n */\n submit: PropTypes.string,\n }),\n /**\n * Whether the submit button is disabled.\n */\n loading: PropTypes.bool,\n /**\n * Enables the skip button.\n */\n skippable: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvWizardActions\" })(HvWizardActions);\n"],"mappings":"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"}
@@ -30,7 +30,6 @@ var _jsxRuntime = require("react/jsx-runtime");
30
30
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
31
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
32
  var DRAWER_PERCENTAGE = 0.3;
33
- var MODAL_MARGIN = 20;
34
33
  var DRAWER_MIN_WIDTH = 280;
35
34
  var HvWizardContent = function HvWizardContent(_ref) {
36
35
  var classes = _ref.classes,
@@ -55,9 +54,10 @@ var HvWizardContent = function HvWizardContent(_ref) {
55
54
  context = _React$useContext.context,
56
55
  setContext = _React$useContext.setContext,
57
56
  summary = _React$useContext.summary;
57
+ var summaryRef = _react.default.useRef(null);
58
58
  var resizedRef = _react.default.useRef({
59
- width: 0,
60
- height: 0
59
+ height: 0,
60
+ width: 0
61
61
  });
62
62
  var _useElementSize = (0, _usehooksTs.useElementSize)(),
63
63
  _useElementSize2 = (0, _slicedToArray2.default)(_useElementSize, 2),
@@ -80,17 +80,25 @@ var HvWizardContent = function HvWizardContent(_ref) {
80
80
  var drawerWidth = modalWidth * DRAWER_PERCENTAGE;
81
81
  setSummaryHeight(newSizes.height);
82
82
  setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));
83
- setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH) - MODAL_MARGIN);
83
+ setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH));
84
+ resizedRef.current = {
85
+ height: newSizes.height,
86
+ width: newSizes.width
87
+ };
84
88
  }, []);
85
89
  _react.default.useEffect(function () {
90
+ var _summaryRef$current, _summaryRef$current$g, _summaryRef$current$g2;
91
+ var pageHeight = (_summaryRef$current = summaryRef.current) === null || _summaryRef$current === void 0 ? void 0 : (_summaryRef$current$g = _summaryRef$current.getBoundingClientRect) === null || _summaryRef$current$g === void 0 ? void 0 : (_summaryRef$current$g2 = _summaryRef$current$g.call(_summaryRef$current)) === null || _summaryRef$current$g2 === void 0 ? void 0 : _summaryRef$current$g2.height;
86
92
  if (summary && sizes.height !== resizedRef.current.height || sizes.width !== resizedRef.current.width) {
87
93
  updateSummaryMeasures(sizes);
88
- resizedRef.current = {
89
- height: sizes.height,
90
- width: sizes.width
91
- };
92
94
  }
93
- }, [sizes, summary, updateSummaryMeasures]);
95
+ if (pageHeight && sizes.height !== pageHeight) {
96
+ updateSummaryMeasures({
97
+ width: sizes.width,
98
+ height: pageHeight
99
+ });
100
+ }
101
+ }, [tab, sizes, summary, updateSummaryMeasures]);
94
102
  _react.default.useEffect(function () {
95
103
  setContext(initialContext);
96
104
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
@@ -110,28 +118,31 @@ var HvWizardContent = function HvWizardContent(_ref) {
110
118
  }, {});
111
119
  setContext(updatedContext);
112
120
  }
113
- updateSummaryMeasures(sizes);
114
121
  }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps
115
122
 
116
123
  var translateX = summaryWidth ? summaryWidth + 10 : 450;
117
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
118
- ref: containerRef,
119
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikitReactCore.HvDialogContent, {
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
125
+ className: classes.summaryRef,
126
+ ref: function ref(el) {
127
+ containerRef(el);
128
+ summaryRef.current = el;
129
+ },
130
+ children: [summary !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
131
+ className: classes.summarySticky,
132
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
133
+ className: classes.summaryContainer,
134
+ style: {
135
+ left: summaryLeft,
136
+ width: summaryWidth,
137
+ height: summaryHeight,
138
+ transform: "translate(".concat(summary ? 0 : translateX, "px, 0)")
139
+ },
140
+ children: summaryContent
141
+ })
142
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikitReactCore.HvDialogContent, {
120
143
  className: (0, _clsx.default)(classes.contentContainer, fixedHeight && classes.fixedHeight),
121
144
  indentContent: true,
122
- children: [summary !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
123
- className: classes.summarySticky,
124
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
125
- className: classes.summaryContainer,
126
- style: {
127
- left: summaryLeft,
128
- width: summaryWidth,
129
- height: summaryHeight,
130
- transform: "translate(".concat(summary ? 0 : translateX, "px, 0)")
131
- },
132
- children: summaryContent
133
- })
134
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingContainer.default, {
145
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingContainer.default, {
135
146
  hidden: !loading,
136
147
  children: _react.default.Children.map(arrayChildren, function (child, index) {
137
148
  if (index === tab) {
@@ -141,8 +152,8 @@ var HvWizardContent = function HvWizardContent(_ref) {
141
152
  }
142
153
  return null;
143
154
  })
144
- })]
145
- })
155
+ })
156
+ })]
146
157
  });
147
158
  };
148
159
  process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
@@ -166,6 +177,10 @@ process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
166
177
  * Style applied to the Wizard to fix its height.
167
178
  */
168
179
  fixedHeight: _propTypes.default.string,
180
+ /**
181
+ * Style applied to the summary container around the page content container.
182
+ */
183
+ summaryRef: _propTypes.default.string,
169
184
  /**
170
185
  * Style applied to the Summary container to stick it to the top.
171
186
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContent.js","names":["DRAWER_PERCENTAGE","MODAL_MARGIN","DRAWER_MIN_WIDTH","HvWizardContent","classes","fixedHeight","loading","children","tab","summaryContent","arrayChildren","React","Children","toArray","initialContext","reduce","acc","child","index","invalid","props","mustValidate","valid","form","touched","useContext","HvWizardContext","context","setContext","summary","resizedRef","useRef","width","height","useElementSize","containerRef","sizes","useState","summaryHeight","setSummaryHeight","summaryWidth","setSummaryWidth","summaryLeft","setSummaryLeft","updateSummaryMeasures","useCallback","newSizes","modalWidth","drawerWidth","Math","max","useEffect","current","updatedContext","Object","entries","key","childState","translateX","clsx","contentContainer","summarySticky","summaryContainer","left","transform","map","cloneElement","propTypes","PropTypes","number","isRequired","node","shape","string","bool","withStyles","styles","name"],"sources":["../../../src/Wizard/WizardContent/WizardContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { useElementSize } from \"usehooks-ts\";\nimport clsx from \"clsx\";\nimport { HvDialogContent } from \"@hitachivantara/uikit-react-core\";\nimport HvWizardContext from \"../WizardContext\";\nimport LoadingContainer from \"./LoadingContainer\";\n\nimport styles from \"./styles\";\n\nconst DRAWER_PERCENTAGE = 0.3;\nconst MODAL_MARGIN = 20;\nconst DRAWER_MIN_WIDTH = 280;\n\nconst HvWizardContent = ({\n classes,\n fixedHeight = false,\n loading = false,\n children,\n tab,\n summaryContent,\n}) => {\n const arrayChildren = React.Children.toArray(children);\n const initialContext = arrayChildren.reduce((acc, child, index) => {\n const invalid = child.props.mustValidate === true ? false : null;\n const valid = invalid ?? (index === 0 || null);\n return {\n ...acc,\n [index]: { ...child.props, form: {}, valid, touched: index === 0 },\n };\n }, {});\n\n const { context, setContext, summary } = React.useContext(HvWizardContext);\n\n const resizedRef = React.useRef({ width: 0, height: 0 });\n const [containerRef, sizes] = useElementSize();\n\n const [summaryHeight, setSummaryHeight] = React.useState(0);\n const [summaryWidth, setSummaryWidth] = React.useState(0);\n const [summaryLeft, setSummaryLeft] = React.useState(0);\n const updateSummaryMeasures = React.useCallback((newSizes) => {\n const modalWidth = newSizes.width;\n const drawerWidth = modalWidth * DRAWER_PERCENTAGE;\n setSummaryHeight(newSizes.height);\n setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH) - MODAL_MARGIN);\n }, []);\n\n React.useEffect(() => {\n if (\n (summary && sizes.height !== resizedRef.current.height) ||\n sizes.width !== resizedRef.current.width\n ) {\n updateSummaryMeasures(sizes);\n resizedRef.current = {\n height: sizes.height,\n width: sizes.width,\n };\n }\n }, [sizes, summary, updateSummaryMeasures]);\n\n React.useEffect(() => {\n setContext(initialContext);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n if (tab && !context[tab]?.touched) {\n const updatedContext = Object.entries(context).reduce(\n (acc, [key, childState]) => ({\n ...acc,\n ...(+key <= tab\n ? { [key]: { ...childState, touched: true, valid: childState.valid ?? true } }\n : { [key]: childState }),\n }),\n {}\n );\n\n setContext(updatedContext);\n }\n updateSummaryMeasures(sizes);\n }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const translateX = summaryWidth ? summaryWidth + 10 : 450;\n\n return (\n <div ref={containerRef}>\n <HvDialogContent\n className={clsx(classes.contentContainer, {\n [classes.fixedHeight]: fixedHeight,\n })}\n indentContent\n >\n {summary !== null && (\n <div className={classes.summarySticky}>\n <div\n className={classes.summaryContainer}\n style={{\n left: summaryLeft,\n width: summaryWidth,\n height: summaryHeight,\n transform: `translate(${summary ? 0 : translateX}px, 0)`,\n }}\n >\n {summaryContent}\n </div>\n </div>\n )}\n <LoadingContainer hidden={!loading}>\n {React.Children.map(arrayChildren, (child, index) => {\n if (index === tab) {\n return React.cloneElement(child, { tab });\n }\n return null;\n })}\n </LoadingContainer>\n </HvDialogContent>\n </div>\n );\n};\n\nHvWizardContent.propTypes = {\n /**\n * Current tab to show.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Tabs to show on the Wizard.\n */\n children: PropTypes.node.isRequired,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the Wizard content container.\n */\n contentContainer: PropTypes.string,\n /**\n * Style applied to the Wizard to fix its height.\n */\n fixedHeight: PropTypes.string,\n /**\n * Style applied to the Summary container to stick it to the top.\n */\n summarySticky: PropTypes.string,\n /**\n * Style applied to the Summary container to position it on the right.\n */\n summaryContainer: PropTypes.string,\n }).isRequired,\n /**\n * Forces minimum height to the component.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Whether the loading animation is shown.\n */\n loading: PropTypes.bool,\n /**\n * The content of the summary.\n */\n summaryContent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvWizardContent\" })(HvWizardContent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardContent.js","names":["DRAWER_PERCENTAGE","DRAWER_MIN_WIDTH","HvWizardContent","classes","fixedHeight","loading","children","tab","summaryContent","arrayChildren","React","Children","toArray","initialContext","reduce","acc","child","index","invalid","props","mustValidate","valid","form","touched","useContext","HvWizardContext","context","setContext","summary","summaryRef","useRef","resizedRef","height","width","useElementSize","containerRef","sizes","useState","summaryHeight","setSummaryHeight","summaryWidth","setSummaryWidth","summaryLeft","setSummaryLeft","updateSummaryMeasures","useCallback","newSizes","modalWidth","drawerWidth","Math","max","current","useEffect","pageHeight","getBoundingClientRect","updatedContext","Object","entries","key","childState","translateX","el","summarySticky","summaryContainer","left","transform","clsx","contentContainer","map","cloneElement","propTypes","PropTypes","number","isRequired","node","shape","string","bool","withStyles","styles","name"],"sources":["../../../src/Wizard/WizardContent/WizardContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { useElementSize } from \"usehooks-ts\";\nimport clsx from \"clsx\";\nimport { HvDialogContent } from \"@hitachivantara/uikit-react-core\";\nimport HvWizardContext from \"../WizardContext\";\nimport LoadingContainer from \"./LoadingContainer\";\n\nimport styles from \"./styles\";\n\nconst DRAWER_PERCENTAGE = 0.3;\nconst DRAWER_MIN_WIDTH = 280;\n\nconst HvWizardContent = ({\n classes,\n fixedHeight = false,\n loading = false,\n children,\n tab,\n summaryContent,\n}) => {\n const arrayChildren = React.Children.toArray(children);\n const initialContext = arrayChildren.reduce((acc, child, index) => {\n const invalid = child.props.mustValidate === true ? false : null;\n const valid = invalid ?? (index === 0 || null);\n return {\n ...acc,\n [index]: { ...child.props, form: {}, valid, touched: index === 0 },\n };\n }, {});\n\n const { context, setContext, summary } = React.useContext(HvWizardContext);\n\n const summaryRef = React.useRef(null);\n const resizedRef = React.useRef({ height: 0, width: 0 });\n const [containerRef, sizes] = useElementSize();\n\n const [summaryHeight, setSummaryHeight] = React.useState(0);\n const [summaryWidth, setSummaryWidth] = React.useState(0);\n const [summaryLeft, setSummaryLeft] = React.useState(0);\n const updateSummaryMeasures = React.useCallback((newSizes) => {\n const modalWidth = newSizes.width;\n const drawerWidth = modalWidth * DRAWER_PERCENTAGE;\n setSummaryHeight(newSizes.height);\n setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n\n resizedRef.current = {\n height: newSizes.height,\n width: newSizes.width,\n };\n }, []);\n\n React.useEffect(() => {\n const pageHeight = summaryRef.current?.getBoundingClientRect?.()?.height;\n if (\n (summary && sizes.height !== resizedRef.current.height) ||\n sizes.width !== resizedRef.current.width\n ) {\n updateSummaryMeasures(sizes);\n }\n\n if (pageHeight && sizes.height !== pageHeight) {\n updateSummaryMeasures({\n width: sizes.width,\n height: pageHeight,\n });\n }\n }, [tab, sizes, summary, updateSummaryMeasures]);\n\n React.useEffect(() => {\n setContext(initialContext);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n if (tab && !context[tab]?.touched) {\n const updatedContext = Object.entries(context).reduce(\n (acc, [key, childState]) => ({\n ...acc,\n ...(+key <= tab\n ? { [key]: { ...childState, touched: true, valid: childState.valid ?? true } }\n : { [key]: childState }),\n }),\n {}\n );\n\n setContext(updatedContext);\n }\n }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const translateX = summaryWidth ? summaryWidth + 10 : 450;\n\n return (\n <div\n className={classes.summaryRef}\n ref={(el) => {\n containerRef(el);\n summaryRef.current = el;\n }}\n >\n {summary !== null && (\n <div className={classes.summarySticky}>\n <div\n className={classes.summaryContainer}\n style={{\n left: summaryLeft,\n width: summaryWidth,\n height: summaryHeight,\n transform: `translate(${summary ? 0 : translateX}px, 0)`,\n }}\n >\n {summaryContent}\n </div>\n </div>\n )}\n <HvDialogContent\n className={clsx(classes.contentContainer, {\n [classes.fixedHeight]: fixedHeight,\n })}\n indentContent\n >\n <LoadingContainer hidden={!loading}>\n {React.Children.map(arrayChildren, (child, index) => {\n if (index === tab) {\n return React.cloneElement(child, { tab });\n }\n return null;\n })}\n </LoadingContainer>\n </HvDialogContent>\n </div>\n );\n};\n\nHvWizardContent.propTypes = {\n /**\n * Current tab to show.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Tabs to show on the Wizard.\n */\n children: PropTypes.node.isRequired,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the Wizard content container.\n */\n contentContainer: PropTypes.string,\n /**\n * Style applied to the Wizard to fix its height.\n */\n fixedHeight: PropTypes.string,\n /**\n * Style applied to the summary container around the page content container.\n */\n summaryRef: PropTypes.string,\n /**\n * Style applied to the Summary container to stick it to the top.\n */\n summarySticky: PropTypes.string,\n /**\n * Style applied to the Summary container to position it on the right.\n */\n summaryContainer: PropTypes.string,\n }).isRequired,\n /**\n * Forces minimum height to the component.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Whether the loading animation is shown.\n */\n loading: PropTypes.bool,\n /**\n * The content of the summary.\n */\n summaryContent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvWizardContent\" })(HvWizardContent);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAA8B;AAAA;AAAA;AAE9B,IAAMA,iBAAiB,GAAG,GAAG;AAC7B,IAAMC,gBAAgB,GAAG,GAAG;AAE5B,IAAMC,eAAe,GAAG,SAAlBA,eAAe,OAOf;EAAA,IANJC,OAAO,QAAPA,OAAO;IAAA,wBACPC,WAAW;IAAXA,WAAW,iCAAG,KAAK;IAAA,oBACnBC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IACfC,QAAQ,QAARA,QAAQ;IACRC,GAAG,QAAHA,GAAG;IACHC,cAAc,QAAdA,cAAc;EAEd,IAAMC,aAAa,GAAGC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACN,QAAQ,CAAC;EACtD,IAAMO,cAAc,GAAGJ,aAAa,CAACK,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAK;IACjE,IAAMC,OAAO,GAAGF,KAAK,CAACG,KAAK,CAACC,YAAY,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI;IAChE,IAAMC,KAAK,GAAGH,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAKD,KAAK,KAAK,CAAC,IAAI,IAAK;IAC9C,uCACKF,GAAG,yCACLE,KAAK,kCAAQD,KAAK,CAACG,KAAK;MAAEG,IAAI,EAAE,CAAC,CAAC;MAAED,KAAK,EAALA,KAAK;MAAEE,OAAO,EAAEN,KAAK,KAAK;IAAC;EAEpE,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,wBAAyCP,cAAK,CAACc,UAAU,CAACC,sBAAe,CAAC;IAAlEC,OAAO,qBAAPA,OAAO;IAAEC,UAAU,qBAAVA,UAAU;IAAEC,OAAO,qBAAPA,OAAO;EAEpC,IAAMC,UAAU,GAAGnB,cAAK,CAACoB,MAAM,CAAC,IAAI,CAAC;EACrC,IAAMC,UAAU,GAAGrB,cAAK,CAACoB,MAAM,CAAC;IAAEE,MAAM,EAAE,CAAC;IAAEC,KAAK,EAAE;EAAE,CAAC,CAAC;EACxD,sBAA8B,IAAAC,0BAAc,GAAE;IAAA;IAAvCC,YAAY;IAAEC,KAAK;EAE1B,sBAA0C1B,cAAK,CAAC2B,QAAQ,CAAC,CAAC,CAAC;IAAA;IAApDC,aAAa;IAAEC,gBAAgB;EACtC,uBAAwC7B,cAAK,CAAC2B,QAAQ,CAAC,CAAC,CAAC;IAAA;IAAlDG,YAAY;IAAEC,eAAe;EACpC,uBAAsC/B,cAAK,CAAC2B,QAAQ,CAAC,CAAC,CAAC;IAAA;IAAhDK,WAAW;IAAEC,cAAc;EAClC,IAAMC,qBAAqB,GAAGlC,cAAK,CAACmC,WAAW,CAAC,UAACC,QAAQ,EAAK;IAC5D,IAAMC,UAAU,GAAGD,QAAQ,CAACb,KAAK;IACjC,IAAMe,WAAW,GAAGD,UAAU,GAAG/C,iBAAiB;IAClDuC,gBAAgB,CAACO,QAAQ,CAACd,MAAM,CAAC;IACjCS,eAAe,CAACQ,IAAI,CAACC,GAAG,CAACF,WAAW,EAAE/C,gBAAgB,CAAC,CAAC;IACxD0C,cAAc,CAACI,UAAU,GAAGE,IAAI,CAACC,GAAG,CAACF,WAAW,EAAE/C,gBAAgB,CAAC,CAAC;IAEpE8B,UAAU,CAACoB,OAAO,GAAG;MACnBnB,MAAM,EAAEc,QAAQ,CAACd,MAAM;MACvBC,KAAK,EAAEa,QAAQ,CAACb;IAClB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENvB,cAAK,CAAC0C,SAAS,CAAC,YAAM;IAAA;IACpB,IAAMC,UAAU,0BAAGxB,UAAU,CAACsB,OAAO,iFAAlB,oBAAoBG,qBAAqB,oFAAzC,+CAA6C,2DAA7C,uBAA+CtB,MAAM;IACxE,IACGJ,OAAO,IAAIQ,KAAK,CAACJ,MAAM,KAAKD,UAAU,CAACoB,OAAO,CAACnB,MAAM,IACtDI,KAAK,CAACH,KAAK,KAAKF,UAAU,CAACoB,OAAO,CAAClB,KAAK,EACxC;MACAW,qBAAqB,CAACR,KAAK,CAAC;IAC9B;IAEA,IAAIiB,UAAU,IAAIjB,KAAK,CAACJ,MAAM,KAAKqB,UAAU,EAAE;MAC7CT,qBAAqB,CAAC;QACpBX,KAAK,EAAEG,KAAK,CAACH,KAAK;QAClBD,MAAM,EAAEqB;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAAC9C,GAAG,EAAE6B,KAAK,EAAER,OAAO,EAAEgB,qBAAqB,CAAC,CAAC;EAEhDlC,cAAK,CAAC0C,SAAS,CAAC,YAAM;IACpBzB,UAAU,CAACd,cAAc,CAAC;EAC5B,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;EAERH,cAAK,CAAC0C,SAAS,CAAC,YAAM;IAAA;IACpB,IAAI7C,GAAG,IAAI,kBAACmB,OAAO,CAACnB,GAAG,CAAC,yCAAZ,aAAcgB,OAAO,GAAE;MACjC,IAAMgC,cAAc,GAAGC,MAAM,CAACC,OAAO,CAAC/B,OAAO,CAAC,CAACZ,MAAM,CACnD,UAACC,GAAG;QAAA;QAAA;UAAG2C,GAAG;UAAEC,UAAU;QAAA,uCACjB5C,GAAG,GACF,CAAC2C,GAAG,IAAInD,GAAG,qCACRmD,GAAG,kCAAQC,UAAU;UAAEpC,OAAO,EAAE,IAAI;UAAEF,KAAK,uBAAEsC,UAAU,CAACtC,KAAK,iEAAI;QAAI,wCACrEqC,GAAG,EAAGC,UAAU,CAAE;MAAA,CACzB,EACF,CAAC,CAAC,CACH;MAEDhC,UAAU,CAAC4B,cAAc,CAAC;IAC5B;EACF,CAAC,EAAE,CAAChD,GAAG,CAAC,CAAC,CAAC,CAAC;;EAEX,IAAMqD,UAAU,GAAGpB,YAAY,GAAGA,YAAY,GAAG,EAAE,GAAG,GAAG;EAEzD,oBACE;IACE,SAAS,EAAErC,OAAO,CAAC0B,UAAW;IAC9B,GAAG,EAAE,aAACgC,EAAE,EAAK;MACX1B,YAAY,CAAC0B,EAAE,CAAC;MAChBhC,UAAU,CAACsB,OAAO,GAAGU,EAAE;IACzB,CAAE;IAAA,WAEDjC,OAAO,KAAK,IAAI,iBACf;MAAK,SAAS,EAAEzB,OAAO,CAAC2D,aAAc;MAAA,uBACpC;QACE,SAAS,EAAE3D,OAAO,CAAC4D,gBAAiB;QACpC,KAAK,EAAE;UACLC,IAAI,EAAEtB,WAAW;UACjBT,KAAK,EAAEO,YAAY;UACnBR,MAAM,EAAEM,aAAa;UACrB2B,SAAS,sBAAerC,OAAO,GAAG,CAAC,GAAGgC,UAAU;QAClD,CAAE;QAAA,UAEDpD;MAAc;IACX,EAET,eACD,qBAAC,+BAAe;MACd,SAAS,EAAE,IAAA0D,aAAI,EAAC/D,OAAO,CAACgE,gBAAgB,EACf/D,WAAW,IAAjCD,OAAO,CAACC,WAAW,CACnB;MACH,aAAa;MAAA,uBAEb,qBAAC,yBAAgB;QAAC,MAAM,EAAE,CAACC,OAAQ;QAAA,UAChCK,cAAK,CAACC,QAAQ,CAACyD,GAAG,CAAC3D,aAAa,EAAE,UAACO,KAAK,EAAEC,KAAK,EAAK;UACnD,IAAIA,KAAK,KAAKV,GAAG,EAAE;YACjB,oBAAOG,cAAK,CAAC2D,YAAY,CAACrD,KAAK,EAAE;cAAET,GAAG,EAAHA;YAAI,CAAC,CAAC;UAC3C;UACA,OAAO,IAAI;QACb,CAAC;MAAC;IACe,EACH;EAAA,EACd;AAEV,CAAC;AAED,wCAAAL,eAAe,CAACoE,SAAS,GAAG;EAC1B;AACF;AACA;EACE/D,GAAG,EAAEgE,kBAAS,CAACC,MAAM,CAACC,UAAU;EAChC;AACF;AACA;EACEnE,QAAQ,EAAEiE,kBAAS,CAACG,IAAI,CAACD,UAAU;EACnC;AACF;AACA;EACEtE,OAAO,EAAEoE,kBAAS,CAACI,KAAK,CAAC;IACvB;AACJ;AACA;IACIR,gBAAgB,EAAEI,kBAAS,CAACK,MAAM;IAClC;AACJ;AACA;IACIxE,WAAW,EAAEmE,kBAAS,CAACK,MAAM;IAC7B;AACJ;AACA;IACI/C,UAAU,EAAE0C,kBAAS,CAACK,MAAM;IAC5B;AACJ;AACA;IACId,aAAa,EAAES,kBAAS,CAACK,MAAM;IAC/B;AACJ;AACA;IACIb,gBAAgB,EAAEQ,kBAAS,CAACK;EAC9B,CAAC,CAAC,CAACH,UAAU;EACb;AACF;AACA;EACErE,WAAW,EAAEmE,kBAAS,CAACM,IAAI;EAC3B;AACF;AACA;EACExE,OAAO,EAAEkE,kBAAS,CAACM,IAAI;EACvB;AACF;AACA;EACErE,cAAc,EAAE+D,kBAAS,CAACG;AAC5B,CAAC;AAAC,eAEa,IAAAI,kBAAU,EAACC,gBAAM,EAAE;EAAEC,IAAI,EAAE;AAAkB,CAAC,CAAC,CAAC9E,eAAe,CAAC;AAAA"}
@@ -16,13 +16,19 @@ var styles = function styles(theme) {
16
16
  fixedHeight: {
17
17
  minHeight: "calc(100vh - 387px)"
18
18
  },
19
+ summaryRef: {
20
+ flex: 1,
21
+ overflowY: "auto",
22
+ overflowX: "hidden"
23
+ },
19
24
  summarySticky: {
20
25
  position: "sticky",
21
- top: 0
26
+ top: 0,
27
+ zIndex: 1
22
28
  },
23
29
  summaryContainer: {
24
30
  position: "absolute",
25
- top: -20,
31
+ top: 0,
26
32
  minWidth: 280,
27
33
  boxShadow: theme.hv.shadows[1],
28
34
  backgroundColor: theme.hv.palette.atmosphere.atmo1,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","theme","contentContainer","position","padding","marginLeft","minHeight","overflowX","fixedHeight","summarySticky","top","summaryContainer","minWidth","boxShadow","hv","shadows","backgroundColor","palette","atmosphere","atmo1","transition","transitionTimingFunction","overflowY"],"sources":["../../../src/Wizard/WizardContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n contentContainer: {\n position: \"relative\",\n padding: 20,\n marginLeft: 0,\n minHeight: 400,\n overflowX: \"hidden\",\n },\n fixedHeight: {\n minHeight: \"calc(100vh - 387px)\",\n },\n summarySticky: {\n position: \"sticky\",\n top: 0,\n },\n summaryContainer: {\n position: \"absolute\",\n top: -20,\n minWidth: 280,\n boxShadow: theme.hv.shadows[1],\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n transition: \"transform 0.3s\",\n transitionTimingFunction: \"ease-in-out\",\n overflowY: \"scroll\",\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAM,CAAIC,KAAK;EAAA,OAAM;IACzBC,gBAAgB,EAAE;MAChBC,QAAQ,EAAE,UAAU;MACpBC,OAAO,EAAE,EAAE;MACXC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE;IACb,CAAC;IACDC,WAAW,EAAE;MACXF,SAAS,EAAE;IACb,CAAC;IACDG,aAAa,EAAE;MACbN,QAAQ,EAAE,QAAQ;MAClBO,GAAG,EAAE;IACP,CAAC;IACDC,gBAAgB,EAAE;MAChBR,QAAQ,EAAE,UAAU;MACpBO,GAAG,EAAE,CAAC,EAAE;MACRE,QAAQ,EAAE,GAAG;MACbC,SAAS,EAAEZ,KAAK,CAACa,EAAE,CAACC,OAAO,CAAC,CAAC,CAAC;MAC9BC,eAAe,EAAEf,KAAK,CAACa,EAAE,CAACG,OAAO,CAACC,UAAU,CAACC,KAAK;MAClDC,UAAU,EAAE,gBAAgB;MAC5BC,wBAAwB,EAAE,aAAa;MACvCC,SAAS,EAAE;IACb;EACF,CAAC;AAAA,CAAC;AAAC,eAEYtB,MAAM;AAAA"}
1
+ {"version":3,"file":"styles.js","names":["styles","theme","contentContainer","position","padding","marginLeft","minHeight","overflowX","fixedHeight","summaryRef","flex","overflowY","summarySticky","top","zIndex","summaryContainer","minWidth","boxShadow","hv","shadows","backgroundColor","palette","atmosphere","atmo1","transition","transitionTimingFunction"],"sources":["../../../src/Wizard/WizardContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n contentContainer: {\n position: \"relative\",\n padding: 20,\n marginLeft: 0,\n minHeight: 400,\n overflowX: \"hidden\",\n },\n fixedHeight: {\n minHeight: \"calc(100vh - 387px)\",\n },\n summaryRef: {\n flex: 1,\n overflowY: \"auto\",\n overflowX: \"hidden\",\n },\n summarySticky: {\n position: \"sticky\",\n top: 0,\n zIndex: 1,\n },\n summaryContainer: {\n position: \"absolute\",\n top: 0,\n minWidth: 280,\n boxShadow: theme.hv.shadows[1],\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n transition: \"transform 0.3s\",\n transitionTimingFunction: \"ease-in-out\",\n overflowY: \"scroll\",\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAM,CAAIC,KAAK;EAAA,OAAM;IACzBC,gBAAgB,EAAE;MAChBC,QAAQ,EAAE,UAAU;MACpBC,OAAO,EAAE,EAAE;MACXC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE;IACb,CAAC;IACDC,WAAW,EAAE;MACXF,SAAS,EAAE;IACb,CAAC;IACDG,UAAU,EAAE;MACVC,IAAI,EAAE,CAAC;MACPC,SAAS,EAAE,MAAM;MACjBJ,SAAS,EAAE;IACb,CAAC;IACDK,aAAa,EAAE;MACbT,QAAQ,EAAE,QAAQ;MAClBU,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE;IACV,CAAC;IACDC,gBAAgB,EAAE;MAChBZ,QAAQ,EAAE,UAAU;MACpBU,GAAG,EAAE,CAAC;MACNG,QAAQ,EAAE,GAAG;MACbC,SAAS,EAAEhB,KAAK,CAACiB,EAAE,CAACC,OAAO,CAAC,CAAC,CAAC;MAC9BC,eAAe,EAAEnB,KAAK,CAACiB,EAAE,CAACG,OAAO,CAACC,UAAU,CAACC,KAAK;MAClDC,UAAU,EAAE,gBAAgB;MAC5BC,wBAAwB,EAAE,aAAa;MACvCd,SAAS,EAAE;IACb;EACF,CAAC;AAAA,CAAC;AAAC,eAEYX,MAAM;AAAA"}
@@ -52,6 +52,9 @@ var HvWizardTitle = function HvWizardTitle(_ref) {
52
52
  if (summary === null && hasSummary) {
53
53
  setSummary(false);
54
54
  }
55
+ return function () {
56
+ setSummary(false);
57
+ };
55
58
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
56
59
 
57
60
  _react.default.useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"WizardTitle.js","names":["switchTabState","state","currentTab","index","valid","touched","HvWizardTitle","title","hasSummary","labels","tab","classes","changeTab","customStep","React","useContext","HvWizardContext","context","summary","setSummary","useState","steps","setSteps","useEffect","contextArray","Object","entries","length","updatedSteps","map","childState","name","onClick","toggleSummary","oldSummary","headerContainer","messageContainer","titleContainer","stepContainer","type","stepSize","width","xs","sm","md","lg","buttonWidth","root","rootSummaryButton","propTypes","PropTypes","shape","string","bool","number","isRequired","func","oneOf","xl","withStyles","styles"],"sources":["../../../src/Wizard/WizardTitle/WizardTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvButton, HvDialogTitle, HvGrid, HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport { Report } from \"@hitachivantara/uikit-react-icons\";\nimport { HvStepNavigation } from \"@hitachivantara/uikit-react-lab\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst switchTabState = (state, currentTab, index) => {\n if (index === currentTab) return \"Current\";\n if (state.valid) return \"Completed\";\n if (state.valid === null) return \"Enabled\";\n if (state.touched && state.valid === false) return \"Failed\";\n // \"Disabled\"\n // \"Pending\"\n return \"Enabled\";\n};\n\nconst HvWizardTitle = ({\n title,\n hasSummary = false,\n labels = {},\n tab,\n classes,\n changeTab,\n customStep = {},\n}) => {\n const { context, summary, setSummary } = React.useContext(HvWizardContext);\n const [steps, setSteps] = React.useState([]);\n\n React.useEffect(() => {\n if (summary === null && hasSummary) {\n setSummary(false);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n const contextArray = Object.entries(context);\n if (contextArray.length) {\n const updatedSteps = contextArray.map(([, childState], index) => ({\n title: childState.name ?? `${index + 1}`,\n state: switchTabState(childState, tab, index),\n onClick: () => changeTab(index),\n }));\n\n setSteps(updatedSteps);\n }\n }, [context, tab, changeTab]);\n\n const toggleSummary = () => {\n setSummary((oldSummary) => !oldSummary);\n };\n\n return (\n <HvDialogTitle\n className={classes.headerContainer}\n classes={{ messageContainer: classes.messageContainer }}\n >\n <HvGrid\n container\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className={classes.titleContainer}\n >\n {title && (\n <HvTypography variant=\"xsTitle\" component=\"h3\">\n {title}\n </HvTypography>\n )}\n {!!steps.length && (\n <HvStepNavigation\n className={classes.stepContainer}\n steps={steps}\n type={customStep?.type ?? \"Default\"}\n stepSize={customStep?.stepSize ?? \"XS\"}\n width={customStep?.width ?? { xs: 200, sm: 350, md: 600, lg: 800 }}\n />\n )}\n {hasSummary && (\n <HvButton\n category=\"secondary\"\n className={classes.buttonWidth}\n classes={{ root: classes.rootSummaryButton }}\n onClick={toggleSummary}\n >\n <Report /> {`${labels.summary ?? \"Summary\"}`}\n </HvButton>\n )}\n </HvGrid>\n </HvDialogTitle>\n );\n};\n\nHvWizardTitle.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the header container.\n */\n headerContainer: PropTypes.string,\n /**\n * Styles applied to override the Dialog Title styles.\n */\n messageContainer: PropTypes.string,\n /**\n * Styles applied to the header content container.\n */\n titleContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to the Button component to override its right padding.\n */\n rootSummaryButton: PropTypes.string,\n /**\n *\n */\n stepContainer: PropTypes.string,\n }),\n /**\n * Title for the wizard.\n */\n title: PropTypes.string,\n /**\n * Shows the summary button.\n */\n hasSummary: PropTypes.bool,\n /**\n * An object containing all the labels for the wizard header.\n */\n labels: PropTypes.shape({\n /**\n * Summary button label.\n */\n summary: PropTypes.string,\n }),\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Custom object to define type, size and width of the StepNavigation component\n */\n customStep: PropTypes.shape({\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component element on each breakpoint screen resolution.\n */\n width: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvWizardTitle\" })(HvWizardTitle);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardTitle.js","names":["switchTabState","state","currentTab","index","valid","touched","HvWizardTitle","title","hasSummary","labels","tab","classes","changeTab","customStep","React","useContext","HvWizardContext","context","summary","setSummary","useState","steps","setSteps","useEffect","contextArray","Object","entries","length","updatedSteps","map","childState","name","onClick","toggleSummary","oldSummary","headerContainer","messageContainer","titleContainer","stepContainer","type","stepSize","width","xs","sm","md","lg","buttonWidth","root","rootSummaryButton","propTypes","PropTypes","shape","string","bool","number","isRequired","func","oneOf","xl","withStyles","styles"],"sources":["../../../src/Wizard/WizardTitle/WizardTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvButton, HvDialogTitle, HvGrid, HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport { Report } from \"@hitachivantara/uikit-react-icons\";\nimport { HvStepNavigation } from \"@hitachivantara/uikit-react-lab\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst switchTabState = (state, currentTab, index) => {\n if (index === currentTab) return \"Current\";\n if (state.valid) return \"Completed\";\n if (state.valid === null) return \"Enabled\";\n if (state.touched && state.valid === false) return \"Failed\";\n // \"Disabled\"\n // \"Pending\"\n return \"Enabled\";\n};\n\nconst HvWizardTitle = ({\n title,\n hasSummary = false,\n labels = {},\n tab,\n classes,\n changeTab,\n customStep = {},\n}) => {\n const { context, summary, setSummary } = React.useContext(HvWizardContext);\n const [steps, setSteps] = React.useState([]);\n\n React.useEffect(() => {\n if (summary === null && hasSummary) {\n setSummary(false);\n }\n\n return () => {\n setSummary(false);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n const contextArray = Object.entries(context);\n if (contextArray.length) {\n const updatedSteps = contextArray.map(([, childState], index) => ({\n title: childState.name ?? `${index + 1}`,\n state: switchTabState(childState, tab, index),\n onClick: () => changeTab(index),\n }));\n\n setSteps(updatedSteps);\n }\n }, [context, tab, changeTab]);\n\n const toggleSummary = () => {\n setSummary((oldSummary) => !oldSummary);\n };\n\n return (\n <HvDialogTitle\n className={classes.headerContainer}\n classes={{ messageContainer: classes.messageContainer }}\n >\n <HvGrid\n container\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className={classes.titleContainer}\n >\n {title && (\n <HvTypography variant=\"xsTitle\" component=\"h3\">\n {title}\n </HvTypography>\n )}\n {!!steps.length && (\n <HvStepNavigation\n className={classes.stepContainer}\n steps={steps}\n type={customStep?.type ?? \"Default\"}\n stepSize={customStep?.stepSize ?? \"XS\"}\n width={customStep?.width ?? { xs: 200, sm: 350, md: 600, lg: 800 }}\n />\n )}\n {hasSummary && (\n <HvButton\n category=\"secondary\"\n className={classes.buttonWidth}\n classes={{ root: classes.rootSummaryButton }}\n onClick={toggleSummary}\n >\n <Report /> {`${labels.summary ?? \"Summary\"}`}\n </HvButton>\n )}\n </HvGrid>\n </HvDialogTitle>\n );\n};\n\nHvWizardTitle.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the header container.\n */\n headerContainer: PropTypes.string,\n /**\n * Styles applied to override the Dialog Title styles.\n */\n messageContainer: PropTypes.string,\n /**\n * Styles applied to the header content container.\n */\n titleContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to the Button component to override its right padding.\n */\n rootSummaryButton: PropTypes.string,\n /**\n *\n */\n stepContainer: PropTypes.string,\n }),\n /**\n * Title for the wizard.\n */\n title: PropTypes.string,\n /**\n * Shows the summary button.\n */\n hasSummary: PropTypes.bool,\n /**\n * An object containing all the labels for the wizard header.\n */\n labels: PropTypes.shape({\n /**\n * Summary button label.\n */\n summary: PropTypes.string,\n }),\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Custom object to define type, size and width of the StepNavigation component\n */\n customStep: PropTypes.shape({\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component element on each breakpoint screen resolution.\n */\n width: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvWizardTitle\" })(HvWizardTitle);\n"],"mappings":"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"}
@@ -91,9 +91,9 @@ var HvWizardActions = function HvWizardActions(_ref) {
91
91
  onClick: handleClose,
92
92
  className: classes.buttonWidth,
93
93
  children: "".concat((_labels$cancel = labels.cancel) !== null && _labels$cancel !== void 0 ? _labels$cancel : "Cancel")
94
- }), /*#__PURE__*/_jsx(HvButton, {
94
+ }), skippable && /*#__PURE__*/_jsx(HvButton, {
95
95
  category: "ghost",
96
- disabled: isLastPage || !skippable,
96
+ disabled: isLastPage,
97
97
  className: classes.buttonWidth,
98
98
  onClick: handleSkip,
99
99
  children: "".concat((_labels$skip = labels.skip) !== null && _labels$skip !== void 0 ? _labels$skip : "Skip")
@@ -1 +1 @@
1
- {"version":3,"file":"WizardActions.js","names":["React","PropTypes","withStyles","clsx","HvButton","HvDialogActions","HvGrid","Backwards","Forwards","HvWizardContext","styles","HvWizardActions","classes","handleClose","handleSubmit","changeTab","tab","loading","skippable","labels","cancel","next","previous","skip","submit","useContext","context","setContext","useState","pages","setPages","canSubmit","setCanSubmit","useEffect","contextEntries","Object","entries","length","validWizard","every","value","valid","lastPage","isLastPage","handleSkip","useCallback","skippedContext","map","child","handleSubmitInternal","actionsContainer","buttonWidth","buttonsContainer","t","buttonSpacing","propTypes","shape","string","isRequired","number","func","bool","name"],"sources":["../../../../src/Wizard/WizardActions/WizardActions.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { HvButton, HvDialogActions, HvGrid } from \"@hitachivantara/uikit-react-core\";\nimport { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst HvWizardActions = ({\n classes,\n handleClose,\n handleSubmit,\n changeTab,\n tab,\n loading = false,\n skippable = false,\n labels = {\n cancel: \"Cancel\",\n next: \"Next\",\n previous: \"Previous\",\n skip: \"Skip\",\n submit: \"Submit\",\n },\n}) => {\n const { context, setContext } = React.useContext(HvWizardContext);\n const [pages, setPages] = React.useState(0);\n const [canSubmit, setCanSubmit] = React.useState(false);\n\n React.useEffect(() => {\n const contextEntries = Object.entries(context);\n if (contextEntries.length) {\n setPages(contextEntries.length);\n\n const validWizard = Object.entries(context).every(([, value]) => value.valid);\n if (validWizard !== canSubmit) {\n setCanSubmit(validWizard);\n }\n }\n }, [context]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const lastPage = pages - 1;\n const isLastPage = tab >= lastPage;\n\n const handleSkip = React.useCallback(() => {\n const skippedContext = Object.entries(context).map(([, child]) => ({\n ...child,\n valid: child.valid !== false,\n }));\n setContext(skippedContext);\n changeTab(lastPage);\n }, [changeTab, context, lastPage, setContext]);\n const handleSubmitInternal = React.useCallback(\n () => handleSubmit(context),\n [handleSubmit, context]\n );\n\n return (\n <HvDialogActions className={classes.actionsContainer}>\n <HvGrid>\n <HvButton category=\"ghost\" onClick={handleClose} className={classes.buttonWidth}>\n {`${labels.cancel ?? \"Cancel\"}`}\n </HvButton>\n <HvButton\n category=\"ghost\"\n disabled={isLastPage || !skippable}\n className={classes.buttonWidth}\n onClick={handleSkip}\n >\n {`${labels.skip ?? \"Skip\"}`}\n </HvButton>\n </HvGrid>\n <HvGrid className={classes.buttonsContainer}>\n <HvButton\n category=\"ghost\"\n className={classes.buttonWidth}\n disabled={tab <= 0}\n onClick={() => changeTab((t) => t - 1)}\n >\n <Backwards />\n {`${labels.previous ?? \"Previous\"}`}\n </HvButton>\n\n {isLastPage ? (\n <HvButton\n category=\"primary\"\n className={classes.buttonWidth}\n disabled={loading || !canSubmit}\n onClick={handleSubmitInternal}\n >\n {`${labels.submit ?? \"Submit\"}`}\n </HvButton>\n ) : (\n <HvButton\n category=\"ghost\"\n className={clsx(classes.buttonWidth, classes.buttonSpacing)}\n onClick={() => changeTab((t) => t + 1)}\n disabled={!skippable && !context?.[tab]?.valid}\n >\n {`${labels.next ?? \"Next\"}`}\n <Forwards />\n </HvButton>\n )}\n </HvGrid>\n </HvDialogActions>\n );\n};\n\nHvWizardActions.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component which contains the groups of buttons.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the component which contains the buttons.\n */\n buttonsContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to some Button components to override its left padding.\n */\n buttonSpacing: PropTypes.string,\n }).isRequired,\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Function to handle the cancel button.\n */\n handleClose: PropTypes.func.isRequired,\n /**\n * Function to handle the submit button. Also sends the current context state.\n */\n handleSubmit: PropTypes.func.isRequired,\n /**\n * An object containing all the labels for the wizard actions component.\n */\n labels: PropTypes.shape({\n /**\n * Cancel button label.\n */\n cancel: PropTypes.string,\n /**\n * Skip button label.\n */\n skip: PropTypes.string,\n /**\n * Previous button label.\n */\n previous: PropTypes.string,\n /**\n * Next button label.\n */\n next: PropTypes.string,\n /**\n * Submit button label.\n */\n submit: PropTypes.string,\n }),\n /**\n * Whether the submit button is disabled.\n */\n loading: PropTypes.bool,\n /**\n * Enables the skip button.\n */\n skippable: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvWizardActions\" })(HvWizardActions);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardActions.js","names":["React","PropTypes","withStyles","clsx","HvButton","HvDialogActions","HvGrid","Backwards","Forwards","HvWizardContext","styles","HvWizardActions","classes","handleClose","handleSubmit","changeTab","tab","loading","skippable","labels","cancel","next","previous","skip","submit","useContext","context","setContext","useState","pages","setPages","canSubmit","setCanSubmit","useEffect","contextEntries","Object","entries","length","validWizard","every","value","valid","lastPage","isLastPage","handleSkip","useCallback","skippedContext","map","child","handleSubmitInternal","actionsContainer","buttonWidth","buttonsContainer","t","buttonSpacing","propTypes","shape","string","isRequired","number","func","bool","name"],"sources":["../../../../src/Wizard/WizardActions/WizardActions.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { HvButton, HvDialogActions, HvGrid } from \"@hitachivantara/uikit-react-core\";\nimport { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst HvWizardActions = ({\n classes,\n handleClose,\n handleSubmit,\n changeTab,\n tab,\n loading = false,\n skippable = false,\n labels = {\n cancel: \"Cancel\",\n next: \"Next\",\n previous: \"Previous\",\n skip: \"Skip\",\n submit: \"Submit\",\n },\n}) => {\n const { context, setContext } = React.useContext(HvWizardContext);\n const [pages, setPages] = React.useState(0);\n const [canSubmit, setCanSubmit] = React.useState(false);\n\n React.useEffect(() => {\n const contextEntries = Object.entries(context);\n if (contextEntries.length) {\n setPages(contextEntries.length);\n\n const validWizard = Object.entries(context).every(([, value]) => value.valid);\n if (validWizard !== canSubmit) {\n setCanSubmit(validWizard);\n }\n }\n }, [context]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const lastPage = pages - 1;\n const isLastPage = tab >= lastPage;\n\n const handleSkip = React.useCallback(() => {\n const skippedContext = Object.entries(context).map(([, child]) => ({\n ...child,\n valid: child.valid !== false,\n }));\n setContext(skippedContext);\n changeTab(lastPage);\n }, [changeTab, context, lastPage, setContext]);\n const handleSubmitInternal = React.useCallback(\n () => handleSubmit(context),\n [handleSubmit, context]\n );\n\n return (\n <HvDialogActions className={classes.actionsContainer}>\n <HvGrid>\n <HvButton category=\"ghost\" onClick={handleClose} className={classes.buttonWidth}>\n {`${labels.cancel ?? \"Cancel\"}`}\n </HvButton>\n {skippable && (\n <HvButton\n category=\"ghost\"\n disabled={isLastPage}\n className={classes.buttonWidth}\n onClick={handleSkip}\n >\n {`${labels.skip ?? \"Skip\"}`}\n </HvButton>\n )}\n </HvGrid>\n <HvGrid className={classes.buttonsContainer}>\n <HvButton\n category=\"ghost\"\n className={classes.buttonWidth}\n disabled={tab <= 0}\n onClick={() => changeTab((t) => t - 1)}\n >\n <Backwards />\n {`${labels.previous ?? \"Previous\"}`}\n </HvButton>\n\n {isLastPage ? (\n <HvButton\n category=\"primary\"\n className={classes.buttonWidth}\n disabled={loading || !canSubmit}\n onClick={handleSubmitInternal}\n >\n {`${labels.submit ?? \"Submit\"}`}\n </HvButton>\n ) : (\n <HvButton\n category=\"ghost\"\n className={clsx(classes.buttonWidth, classes.buttonSpacing)}\n onClick={() => changeTab((t) => t + 1)}\n disabled={!skippable && !context?.[tab]?.valid}\n >\n {`${labels.next ?? \"Next\"}`}\n <Forwards />\n </HvButton>\n )}\n </HvGrid>\n </HvDialogActions>\n );\n};\n\nHvWizardActions.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component which contains the groups of buttons.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the component which contains the buttons.\n */\n buttonsContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to some Button components to override its left padding.\n */\n buttonSpacing: PropTypes.string,\n }).isRequired,\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Function to handle the cancel button.\n */\n handleClose: PropTypes.func.isRequired,\n /**\n * Function to handle the submit button. Also sends the current context state.\n */\n handleSubmit: PropTypes.func.isRequired,\n /**\n * An object containing all the labels for the wizard actions component.\n */\n labels: PropTypes.shape({\n /**\n * Cancel button label.\n */\n cancel: PropTypes.string,\n /**\n * Skip button label.\n */\n skip: PropTypes.string,\n /**\n * Previous button label.\n */\n previous: PropTypes.string,\n /**\n * Next button label.\n */\n next: PropTypes.string,\n /**\n * Submit button label.\n */\n submit: PropTypes.string,\n }),\n /**\n * Whether the submit button is disabled.\n */\n loading: PropTypes.bool,\n /**\n * Enables the skip button.\n */\n skippable: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvWizardActions\" })(HvWizardActions);\n"],"mappings":"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"}
@@ -24,7 +24,6 @@ import styles from "./styles";
24
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
25
  import { jsxs as _jsxs } from "react/jsx-runtime";
26
26
  var DRAWER_PERCENTAGE = 0.3;
27
- var MODAL_MARGIN = 20;
28
27
  var DRAWER_MIN_WIDTH = 280;
29
28
  var HvWizardContent = function HvWizardContent(_ref) {
30
29
  var classes = _ref.classes,
@@ -49,9 +48,10 @@ var HvWizardContent = function HvWizardContent(_ref) {
49
48
  context = _React$useContext.context,
50
49
  setContext = _React$useContext.setContext,
51
50
  summary = _React$useContext.summary;
51
+ var summaryRef = React.useRef(null);
52
52
  var resizedRef = React.useRef({
53
- width: 0,
54
- height: 0
53
+ height: 0,
54
+ width: 0
55
55
  });
56
56
  var _useElementSize = useElementSize(),
57
57
  _useElementSize2 = _slicedToArray(_useElementSize, 2),
@@ -74,17 +74,25 @@ var HvWizardContent = function HvWizardContent(_ref) {
74
74
  var drawerWidth = modalWidth * DRAWER_PERCENTAGE;
75
75
  setSummaryHeight(newSizes.height);
76
76
  setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));
77
- setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH) - MODAL_MARGIN);
77
+ setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH));
78
+ resizedRef.current = {
79
+ height: newSizes.height,
80
+ width: newSizes.width
81
+ };
78
82
  }, []);
79
83
  React.useEffect(function () {
84
+ var _summaryRef$current, _summaryRef$current$g, _summaryRef$current$g2;
85
+ var pageHeight = (_summaryRef$current = summaryRef.current) === null || _summaryRef$current === void 0 ? void 0 : (_summaryRef$current$g = _summaryRef$current.getBoundingClientRect) === null || _summaryRef$current$g === void 0 ? void 0 : (_summaryRef$current$g2 = _summaryRef$current$g.call(_summaryRef$current)) === null || _summaryRef$current$g2 === void 0 ? void 0 : _summaryRef$current$g2.height;
80
86
  if (summary && sizes.height !== resizedRef.current.height || sizes.width !== resizedRef.current.width) {
81
87
  updateSummaryMeasures(sizes);
82
- resizedRef.current = {
83
- height: sizes.height,
84
- width: sizes.width
85
- };
86
88
  }
87
- }, [sizes, summary, updateSummaryMeasures]);
89
+ if (pageHeight && sizes.height !== pageHeight) {
90
+ updateSummaryMeasures({
91
+ width: sizes.width,
92
+ height: pageHeight
93
+ });
94
+ }
95
+ }, [tab, sizes, summary, updateSummaryMeasures]);
88
96
  React.useEffect(function () {
89
97
  setContext(initialContext);
90
98
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
@@ -104,28 +112,31 @@ var HvWizardContent = function HvWizardContent(_ref) {
104
112
  }, {});
105
113
  setContext(updatedContext);
106
114
  }
107
- updateSummaryMeasures(sizes);
108
115
  }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps
109
116
 
110
117
  var translateX = summaryWidth ? summaryWidth + 10 : 450;
111
- return /*#__PURE__*/_jsx("div", {
112
- ref: containerRef,
113
- children: /*#__PURE__*/_jsxs(HvDialogContent, {
118
+ return /*#__PURE__*/_jsxs("div", {
119
+ className: classes.summaryRef,
120
+ ref: function ref(el) {
121
+ containerRef(el);
122
+ summaryRef.current = el;
123
+ },
124
+ children: [summary !== null && /*#__PURE__*/_jsx("div", {
125
+ className: classes.summarySticky,
126
+ children: /*#__PURE__*/_jsx("div", {
127
+ className: classes.summaryContainer,
128
+ style: {
129
+ left: summaryLeft,
130
+ width: summaryWidth,
131
+ height: summaryHeight,
132
+ transform: "translate(".concat(summary ? 0 : translateX, "px, 0)")
133
+ },
134
+ children: summaryContent
135
+ })
136
+ }), /*#__PURE__*/_jsx(HvDialogContent, {
114
137
  className: clsx(classes.contentContainer, fixedHeight && classes.fixedHeight),
115
138
  indentContent: true,
116
- children: [summary !== null && /*#__PURE__*/_jsx("div", {
117
- className: classes.summarySticky,
118
- children: /*#__PURE__*/_jsx("div", {
119
- className: classes.summaryContainer,
120
- style: {
121
- left: summaryLeft,
122
- width: summaryWidth,
123
- height: summaryHeight,
124
- transform: "translate(".concat(summary ? 0 : translateX, "px, 0)")
125
- },
126
- children: summaryContent
127
- })
128
- }), /*#__PURE__*/_jsx(LoadingContainer, {
139
+ children: /*#__PURE__*/_jsx(LoadingContainer, {
129
140
  hidden: !loading,
130
141
  children: React.Children.map(arrayChildren, function (child, index) {
131
142
  if (index === tab) {
@@ -135,8 +146,8 @@ var HvWizardContent = function HvWizardContent(_ref) {
135
146
  }
136
147
  return null;
137
148
  })
138
- })]
139
- })
149
+ })
150
+ })]
140
151
  });
141
152
  };
142
153
  process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
@@ -160,6 +171,10 @@ process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
160
171
  * Style applied to the Wizard to fix its height.
161
172
  */
162
173
  fixedHeight: PropTypes.string,
174
+ /**
175
+ * Style applied to the summary container around the page content container.
176
+ */
177
+ summaryRef: PropTypes.string,
163
178
  /**
164
179
  * Style applied to the Summary container to stick it to the top.
165
180
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContent.js","names":["React","PropTypes","withStyles","useElementSize","clsx","HvDialogContent","HvWizardContext","LoadingContainer","styles","DRAWER_PERCENTAGE","MODAL_MARGIN","DRAWER_MIN_WIDTH","HvWizardContent","classes","fixedHeight","loading","children","tab","summaryContent","arrayChildren","Children","toArray","initialContext","reduce","acc","child","index","invalid","props","mustValidate","valid","form","touched","useContext","context","setContext","summary","resizedRef","useRef","width","height","containerRef","sizes","useState","summaryHeight","setSummaryHeight","summaryWidth","setSummaryWidth","summaryLeft","setSummaryLeft","updateSummaryMeasures","useCallback","newSizes","modalWidth","drawerWidth","Math","max","useEffect","current","updatedContext","Object","entries","key","childState","translateX","contentContainer","summarySticky","summaryContainer","left","transform","map","cloneElement","propTypes","number","isRequired","node","shape","string","bool","name"],"sources":["../../../../src/Wizard/WizardContent/WizardContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { useElementSize } from \"usehooks-ts\";\nimport clsx from \"clsx\";\nimport { HvDialogContent } from \"@hitachivantara/uikit-react-core\";\nimport HvWizardContext from \"../WizardContext\";\nimport LoadingContainer from \"./LoadingContainer\";\n\nimport styles from \"./styles\";\n\nconst DRAWER_PERCENTAGE = 0.3;\nconst MODAL_MARGIN = 20;\nconst DRAWER_MIN_WIDTH = 280;\n\nconst HvWizardContent = ({\n classes,\n fixedHeight = false,\n loading = false,\n children,\n tab,\n summaryContent,\n}) => {\n const arrayChildren = React.Children.toArray(children);\n const initialContext = arrayChildren.reduce((acc, child, index) => {\n const invalid = child.props.mustValidate === true ? false : null;\n const valid = invalid ?? (index === 0 || null);\n return {\n ...acc,\n [index]: { ...child.props, form: {}, valid, touched: index === 0 },\n };\n }, {});\n\n const { context, setContext, summary } = React.useContext(HvWizardContext);\n\n const resizedRef = React.useRef({ width: 0, height: 0 });\n const [containerRef, sizes] = useElementSize();\n\n const [summaryHeight, setSummaryHeight] = React.useState(0);\n const [summaryWidth, setSummaryWidth] = React.useState(0);\n const [summaryLeft, setSummaryLeft] = React.useState(0);\n const updateSummaryMeasures = React.useCallback((newSizes) => {\n const modalWidth = newSizes.width;\n const drawerWidth = modalWidth * DRAWER_PERCENTAGE;\n setSummaryHeight(newSizes.height);\n setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH) - MODAL_MARGIN);\n }, []);\n\n React.useEffect(() => {\n if (\n (summary && sizes.height !== resizedRef.current.height) ||\n sizes.width !== resizedRef.current.width\n ) {\n updateSummaryMeasures(sizes);\n resizedRef.current = {\n height: sizes.height,\n width: sizes.width,\n };\n }\n }, [sizes, summary, updateSummaryMeasures]);\n\n React.useEffect(() => {\n setContext(initialContext);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n if (tab && !context[tab]?.touched) {\n const updatedContext = Object.entries(context).reduce(\n (acc, [key, childState]) => ({\n ...acc,\n ...(+key <= tab\n ? { [key]: { ...childState, touched: true, valid: childState.valid ?? true } }\n : { [key]: childState }),\n }),\n {}\n );\n\n setContext(updatedContext);\n }\n updateSummaryMeasures(sizes);\n }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const translateX = summaryWidth ? summaryWidth + 10 : 450;\n\n return (\n <div ref={containerRef}>\n <HvDialogContent\n className={clsx(classes.contentContainer, {\n [classes.fixedHeight]: fixedHeight,\n })}\n indentContent\n >\n {summary !== null && (\n <div className={classes.summarySticky}>\n <div\n className={classes.summaryContainer}\n style={{\n left: summaryLeft,\n width: summaryWidth,\n height: summaryHeight,\n transform: `translate(${summary ? 0 : translateX}px, 0)`,\n }}\n >\n {summaryContent}\n </div>\n </div>\n )}\n <LoadingContainer hidden={!loading}>\n {React.Children.map(arrayChildren, (child, index) => {\n if (index === tab) {\n return React.cloneElement(child, { tab });\n }\n return null;\n })}\n </LoadingContainer>\n </HvDialogContent>\n </div>\n );\n};\n\nHvWizardContent.propTypes = {\n /**\n * Current tab to show.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Tabs to show on the Wizard.\n */\n children: PropTypes.node.isRequired,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the Wizard content container.\n */\n contentContainer: PropTypes.string,\n /**\n * Style applied to the Wizard to fix its height.\n */\n fixedHeight: PropTypes.string,\n /**\n * Style applied to the Summary container to stick it to the top.\n */\n summarySticky: PropTypes.string,\n /**\n * Style applied to the Summary container to position it on the right.\n */\n summaryContainer: PropTypes.string,\n }).isRequired,\n /**\n * Forces minimum height to the component.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Whether the loading animation is shown.\n */\n loading: PropTypes.bool,\n /**\n * The content of the summary.\n */\n summaryContent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvWizardContent\" })(HvWizardContent);\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,eAAe,QAAQ,kCAAkC;AAClE,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,OAAOC,MAAM,MAAM,UAAU;AAAC;AAAA;AAE9B,IAAMC,iBAAiB,GAAG,GAAG;AAC7B,IAAMC,YAAY,GAAG,EAAE;AACvB,IAAMC,gBAAgB,GAAG,GAAG;AAE5B,IAAMC,eAAe,GAAG,SAAlBA,eAAe,OAOf;EAAA,IANJC,OAAO,QAAPA,OAAO;IAAA,wBACPC,WAAW;IAAXA,WAAW,iCAAG,KAAK;IAAA,oBACnBC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IACfC,QAAQ,QAARA,QAAQ;IACRC,GAAG,QAAHA,GAAG;IACHC,cAAc,QAAdA,cAAc;EAEd,IAAMC,aAAa,GAAGnB,KAAK,CAACoB,QAAQ,CAACC,OAAO,CAACL,QAAQ,CAAC;EACtD,IAAMM,cAAc,GAAGH,aAAa,CAACI,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAK;IACjE,IAAMC,OAAO,GAAGF,KAAK,CAACG,KAAK,CAACC,YAAY,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI;IAChE,IAAMC,KAAK,GAAGH,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAKD,KAAK,KAAK,CAAC,IAAI,IAAK;IAC9C,uCACKF,GAAG,2BACLE,KAAK,kCAAQD,KAAK,CAACG,KAAK;MAAEG,IAAI,EAAE,CAAC,CAAC;MAAED,KAAK,EAALA,KAAK;MAAEE,OAAO,EAAEN,KAAK,KAAK;IAAC;EAEpE,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,wBAAyC1B,KAAK,CAACiC,UAAU,CAAC3B,eAAe,CAAC;IAAlE4B,OAAO,qBAAPA,OAAO;IAAEC,UAAU,qBAAVA,UAAU;IAAEC,OAAO,qBAAPA,OAAO;EAEpC,IAAMC,UAAU,GAAGrC,KAAK,CAACsC,MAAM,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,CAAC;EACxD,sBAA8BrC,cAAc,EAAE;IAAA;IAAvCsC,YAAY;IAAEC,KAAK;EAE1B,sBAA0C1C,KAAK,CAAC2C,QAAQ,CAAC,CAAC,CAAC;IAAA;IAApDC,aAAa;IAAEC,gBAAgB;EACtC,uBAAwC7C,KAAK,CAAC2C,QAAQ,CAAC,CAAC,CAAC;IAAA;IAAlDG,YAAY;IAAEC,eAAe;EACpC,uBAAsC/C,KAAK,CAAC2C,QAAQ,CAAC,CAAC,CAAC;IAAA;IAAhDK,WAAW;IAAEC,cAAc;EAClC,IAAMC,qBAAqB,GAAGlD,KAAK,CAACmD,WAAW,CAAC,UAACC,QAAQ,EAAK;IAC5D,IAAMC,UAAU,GAAGD,QAAQ,CAACb,KAAK;IACjC,IAAMe,WAAW,GAAGD,UAAU,GAAG5C,iBAAiB;IAClDoC,gBAAgB,CAACO,QAAQ,CAACZ,MAAM,CAAC;IACjCO,eAAe,CAACQ,IAAI,CAACC,GAAG,CAACF,WAAW,EAAE3C,gBAAgB,CAAC,CAAC;IACxDsC,cAAc,CAACI,UAAU,GAAGE,IAAI,CAACC,GAAG,CAACF,WAAW,EAAE3C,gBAAgB,CAAC,GAAGD,YAAY,CAAC;EACrF,CAAC,EAAE,EAAE,CAAC;EAENV,KAAK,CAACyD,SAAS,CAAC,YAAM;IACpB,IACGrB,OAAO,IAAIM,KAAK,CAACF,MAAM,KAAKH,UAAU,CAACqB,OAAO,CAAClB,MAAM,IACtDE,KAAK,CAACH,KAAK,KAAKF,UAAU,CAACqB,OAAO,CAACnB,KAAK,EACxC;MACAW,qBAAqB,CAACR,KAAK,CAAC;MAC5BL,UAAU,CAACqB,OAAO,GAAG;QACnBlB,MAAM,EAAEE,KAAK,CAACF,MAAM;QACpBD,KAAK,EAAEG,KAAK,CAACH;MACf,CAAC;IACH;EACF,CAAC,EAAE,CAACG,KAAK,EAAEN,OAAO,EAAEc,qBAAqB,CAAC,CAAC;EAE3ClD,KAAK,CAACyD,SAAS,CAAC,YAAM;IACpBtB,UAAU,CAACb,cAAc,CAAC;EAC5B,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;EAERtB,KAAK,CAACyD,SAAS,CAAC,YAAM;IAAA;IACpB,IAAIxC,GAAG,IAAI,kBAACiB,OAAO,CAACjB,GAAG,CAAC,yCAAZ,aAAce,OAAO,GAAE;MACjC,IAAM2B,cAAc,GAAGC,MAAM,CAACC,OAAO,CAAC3B,OAAO,CAAC,CAACX,MAAM,CACnD,UAACC,GAAG;QAAA;QAAA;UAAGsC,GAAG;UAAEC,UAAU;QAAA,uCACjBvC,GAAG,GACF,CAACsC,GAAG,IAAI7C,GAAG,uBACR6C,GAAG,kCAAQC,UAAU;UAAE/B,OAAO,EAAE,IAAI;UAAEF,KAAK,uBAAEiC,UAAU,CAACjC,KAAK,iEAAI;QAAI,0BACrEgC,GAAG,EAAGC,UAAU,CAAE;MAAA,CACzB,EACF,CAAC,CAAC,CACH;MAED5B,UAAU,CAACwB,cAAc,CAAC;IAC5B;IACAT,qBAAqB,CAACR,KAAK,CAAC;EAC9B,CAAC,EAAE,CAACzB,GAAG,CAAC,CAAC,CAAC,CAAC;;EAEX,IAAM+C,UAAU,GAAGlB,YAAY,GAAGA,YAAY,GAAG,EAAE,GAAG,GAAG;EAEzD,oBACE;IAAK,GAAG,EAAEL,YAAa;IAAA,uBACrB,MAAC,eAAe;MACd,SAAS,EAAErC,IAAI,CAACS,OAAO,CAACoD,gBAAgB,EACfnD,WAAW,IAAjCD,OAAO,CAACC,WAAW,CACnB;MACH,aAAa;MAAA,WAEZsB,OAAO,KAAK,IAAI,iBACf;QAAK,SAAS,EAAEvB,OAAO,CAACqD,aAAc;QAAA,uBACpC;UACE,SAAS,EAAErD,OAAO,CAACsD,gBAAiB;UACpC,KAAK,EAAE;YACLC,IAAI,EAAEpB,WAAW;YACjBT,KAAK,EAAEO,YAAY;YACnBN,MAAM,EAAEI,aAAa;YACrByB,SAAS,sBAAejC,OAAO,GAAG,CAAC,GAAG4B,UAAU;UAClD,CAAE;UAAA,UAED9C;QAAc;MACX,EAET,eACD,KAAC,gBAAgB;QAAC,MAAM,EAAE,CAACH,OAAQ;QAAA,UAChCf,KAAK,CAACoB,QAAQ,CAACkD,GAAG,CAACnD,aAAa,EAAE,UAACM,KAAK,EAAEC,KAAK,EAAK;UACnD,IAAIA,KAAK,KAAKT,GAAG,EAAE;YACjB,oBAAOjB,KAAK,CAACuE,YAAY,CAAC9C,KAAK,EAAE;cAAER,GAAG,EAAHA;YAAI,CAAC,CAAC;UAC3C;UACA,OAAO,IAAI;QACb,CAAC;MAAC,EACe;IAAA;EACH,EACd;AAEV,CAAC;AAED,wCAAAL,eAAe,CAAC4D,SAAS,GAAG;EAC1B;AACF;AACA;EACEvD,GAAG,EAAEhB,SAAS,CAACwE,MAAM,CAACC,UAAU;EAChC;AACF;AACA;EACE1D,QAAQ,EAAEf,SAAS,CAAC0E,IAAI,CAACD,UAAU;EACnC;AACF;AACA;EACE7D,OAAO,EAAEZ,SAAS,CAAC2E,KAAK,CAAC;IACvB;AACJ;AACA;IACIX,gBAAgB,EAAEhE,SAAS,CAAC4E,MAAM;IAClC;AACJ;AACA;IACI/D,WAAW,EAAEb,SAAS,CAAC4E,MAAM;IAC7B;AACJ;AACA;IACIX,aAAa,EAAEjE,SAAS,CAAC4E,MAAM;IAC/B;AACJ;AACA;IACIV,gBAAgB,EAAElE,SAAS,CAAC4E;EAC9B,CAAC,CAAC,CAACH,UAAU;EACb;AACF;AACA;EACE5D,WAAW,EAAEb,SAAS,CAAC6E,IAAI;EAC3B;AACF;AACA;EACE/D,OAAO,EAAEd,SAAS,CAAC6E,IAAI;EACvB;AACF;AACA;EACE5D,cAAc,EAAEjB,SAAS,CAAC0E;AAC5B,CAAC;AAED,eAAezE,UAAU,CAACM,MAAM,EAAE;EAAEuE,IAAI,EAAE;AAAkB,CAAC,CAAC,CAACnE,eAAe,CAAC"}
1
+ {"version":3,"file":"WizardContent.js","names":["React","PropTypes","withStyles","useElementSize","clsx","HvDialogContent","HvWizardContext","LoadingContainer","styles","DRAWER_PERCENTAGE","DRAWER_MIN_WIDTH","HvWizardContent","classes","fixedHeight","loading","children","tab","summaryContent","arrayChildren","Children","toArray","initialContext","reduce","acc","child","index","invalid","props","mustValidate","valid","form","touched","useContext","context","setContext","summary","summaryRef","useRef","resizedRef","height","width","containerRef","sizes","useState","summaryHeight","setSummaryHeight","summaryWidth","setSummaryWidth","summaryLeft","setSummaryLeft","updateSummaryMeasures","useCallback","newSizes","modalWidth","drawerWidth","Math","max","current","useEffect","pageHeight","getBoundingClientRect","updatedContext","Object","entries","key","childState","translateX","el","summarySticky","summaryContainer","left","transform","contentContainer","map","cloneElement","propTypes","number","isRequired","node","shape","string","bool","name"],"sources":["../../../../src/Wizard/WizardContent/WizardContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { useElementSize } from \"usehooks-ts\";\nimport clsx from \"clsx\";\nimport { HvDialogContent } from \"@hitachivantara/uikit-react-core\";\nimport HvWizardContext from \"../WizardContext\";\nimport LoadingContainer from \"./LoadingContainer\";\n\nimport styles from \"./styles\";\n\nconst DRAWER_PERCENTAGE = 0.3;\nconst DRAWER_MIN_WIDTH = 280;\n\nconst HvWizardContent = ({\n classes,\n fixedHeight = false,\n loading = false,\n children,\n tab,\n summaryContent,\n}) => {\n const arrayChildren = React.Children.toArray(children);\n const initialContext = arrayChildren.reduce((acc, child, index) => {\n const invalid = child.props.mustValidate === true ? false : null;\n const valid = invalid ?? (index === 0 || null);\n return {\n ...acc,\n [index]: { ...child.props, form: {}, valid, touched: index === 0 },\n };\n }, {});\n\n const { context, setContext, summary } = React.useContext(HvWizardContext);\n\n const summaryRef = React.useRef(null);\n const resizedRef = React.useRef({ height: 0, width: 0 });\n const [containerRef, sizes] = useElementSize();\n\n const [summaryHeight, setSummaryHeight] = React.useState(0);\n const [summaryWidth, setSummaryWidth] = React.useState(0);\n const [summaryLeft, setSummaryLeft] = React.useState(0);\n const updateSummaryMeasures = React.useCallback((newSizes) => {\n const modalWidth = newSizes.width;\n const drawerWidth = modalWidth * DRAWER_PERCENTAGE;\n setSummaryHeight(newSizes.height);\n setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n\n resizedRef.current = {\n height: newSizes.height,\n width: newSizes.width,\n };\n }, []);\n\n React.useEffect(() => {\n const pageHeight = summaryRef.current?.getBoundingClientRect?.()?.height;\n if (\n (summary && sizes.height !== resizedRef.current.height) ||\n sizes.width !== resizedRef.current.width\n ) {\n updateSummaryMeasures(sizes);\n }\n\n if (pageHeight && sizes.height !== pageHeight) {\n updateSummaryMeasures({\n width: sizes.width,\n height: pageHeight,\n });\n }\n }, [tab, sizes, summary, updateSummaryMeasures]);\n\n React.useEffect(() => {\n setContext(initialContext);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n if (tab && !context[tab]?.touched) {\n const updatedContext = Object.entries(context).reduce(\n (acc, [key, childState]) => ({\n ...acc,\n ...(+key <= tab\n ? { [key]: { ...childState, touched: true, valid: childState.valid ?? true } }\n : { [key]: childState }),\n }),\n {}\n );\n\n setContext(updatedContext);\n }\n }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const translateX = summaryWidth ? summaryWidth + 10 : 450;\n\n return (\n <div\n className={classes.summaryRef}\n ref={(el) => {\n containerRef(el);\n summaryRef.current = el;\n }}\n >\n {summary !== null && (\n <div className={classes.summarySticky}>\n <div\n className={classes.summaryContainer}\n style={{\n left: summaryLeft,\n width: summaryWidth,\n height: summaryHeight,\n transform: `translate(${summary ? 0 : translateX}px, 0)`,\n }}\n >\n {summaryContent}\n </div>\n </div>\n )}\n <HvDialogContent\n className={clsx(classes.contentContainer, {\n [classes.fixedHeight]: fixedHeight,\n })}\n indentContent\n >\n <LoadingContainer hidden={!loading}>\n {React.Children.map(arrayChildren, (child, index) => {\n if (index === tab) {\n return React.cloneElement(child, { tab });\n }\n return null;\n })}\n </LoadingContainer>\n </HvDialogContent>\n </div>\n );\n};\n\nHvWizardContent.propTypes = {\n /**\n * Current tab to show.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Tabs to show on the Wizard.\n */\n children: PropTypes.node.isRequired,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the Wizard content container.\n */\n contentContainer: PropTypes.string,\n /**\n * Style applied to the Wizard to fix its height.\n */\n fixedHeight: PropTypes.string,\n /**\n * Style applied to the summary container around the page content container.\n */\n summaryRef: PropTypes.string,\n /**\n * Style applied to the Summary container to stick it to the top.\n */\n summarySticky: PropTypes.string,\n /**\n * Style applied to the Summary container to position it on the right.\n */\n summaryContainer: PropTypes.string,\n }).isRequired,\n /**\n * Forces minimum height to the component.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Whether the loading animation is shown.\n */\n loading: PropTypes.bool,\n /**\n * The content of the summary.\n */\n summaryContent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvWizardContent\" })(HvWizardContent);\n"],"mappings":"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"}
@@ -10,13 +10,19 @@ var styles = function styles(theme) {
10
10
  fixedHeight: {
11
11
  minHeight: "calc(100vh - 387px)"
12
12
  },
13
+ summaryRef: {
14
+ flex: 1,
15
+ overflowY: "auto",
16
+ overflowX: "hidden"
17
+ },
13
18
  summarySticky: {
14
19
  position: "sticky",
15
- top: 0
20
+ top: 0,
21
+ zIndex: 1
16
22
  },
17
23
  summaryContainer: {
18
24
  position: "absolute",
19
- top: -20,
25
+ top: 0,
20
26
  minWidth: 280,
21
27
  boxShadow: theme.hv.shadows[1],
22
28
  backgroundColor: theme.hv.palette.atmosphere.atmo1,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","theme","contentContainer","position","padding","marginLeft","minHeight","overflowX","fixedHeight","summarySticky","top","summaryContainer","minWidth","boxShadow","hv","shadows","backgroundColor","palette","atmosphere","atmo1","transition","transitionTimingFunction","overflowY"],"sources":["../../../../src/Wizard/WizardContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n contentContainer: {\n position: \"relative\",\n padding: 20,\n marginLeft: 0,\n minHeight: 400,\n overflowX: \"hidden\",\n },\n fixedHeight: {\n minHeight: \"calc(100vh - 387px)\",\n },\n summarySticky: {\n position: \"sticky\",\n top: 0,\n },\n summaryContainer: {\n position: \"absolute\",\n top: -20,\n minWidth: 280,\n boxShadow: theme.hv.shadows[1],\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n transition: \"transform 0.3s\",\n transitionTimingFunction: \"ease-in-out\",\n overflowY: \"scroll\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAM,CAAIC,KAAK;EAAA,OAAM;IACzBC,gBAAgB,EAAE;MAChBC,QAAQ,EAAE,UAAU;MACpBC,OAAO,EAAE,EAAE;MACXC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE;IACb,CAAC;IACDC,WAAW,EAAE;MACXF,SAAS,EAAE;IACb,CAAC;IACDG,aAAa,EAAE;MACbN,QAAQ,EAAE,QAAQ;MAClBO,GAAG,EAAE;IACP,CAAC;IACDC,gBAAgB,EAAE;MAChBR,QAAQ,EAAE,UAAU;MACpBO,GAAG,EAAE,CAAC,EAAE;MACRE,QAAQ,EAAE,GAAG;MACbC,SAAS,EAAEZ,KAAK,CAACa,EAAE,CAACC,OAAO,CAAC,CAAC,CAAC;MAC9BC,eAAe,EAAEf,KAAK,CAACa,EAAE,CAACG,OAAO,CAACC,UAAU,CAACC,KAAK;MAClDC,UAAU,EAAE,gBAAgB;MAC5BC,wBAAwB,EAAE,aAAa;MACvCC,SAAS,EAAE;IACb;EACF,CAAC;AAAA,CAAC;AAEF,eAAetB,MAAM"}
1
+ {"version":3,"file":"styles.js","names":["styles","theme","contentContainer","position","padding","marginLeft","minHeight","overflowX","fixedHeight","summaryRef","flex","overflowY","summarySticky","top","zIndex","summaryContainer","minWidth","boxShadow","hv","shadows","backgroundColor","palette","atmosphere","atmo1","transition","transitionTimingFunction"],"sources":["../../../../src/Wizard/WizardContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n contentContainer: {\n position: \"relative\",\n padding: 20,\n marginLeft: 0,\n minHeight: 400,\n overflowX: \"hidden\",\n },\n fixedHeight: {\n minHeight: \"calc(100vh - 387px)\",\n },\n summaryRef: {\n flex: 1,\n overflowY: \"auto\",\n overflowX: \"hidden\",\n },\n summarySticky: {\n position: \"sticky\",\n top: 0,\n zIndex: 1,\n },\n summaryContainer: {\n position: \"absolute\",\n top: 0,\n minWidth: 280,\n boxShadow: theme.hv.shadows[1],\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n transition: \"transform 0.3s\",\n transitionTimingFunction: \"ease-in-out\",\n overflowY: \"scroll\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAM,CAAIC,KAAK;EAAA,OAAM;IACzBC,gBAAgB,EAAE;MAChBC,QAAQ,EAAE,UAAU;MACpBC,OAAO,EAAE,EAAE;MACXC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE;IACb,CAAC;IACDC,WAAW,EAAE;MACXF,SAAS,EAAE;IACb,CAAC;IACDG,UAAU,EAAE;MACVC,IAAI,EAAE,CAAC;MACPC,SAAS,EAAE,MAAM;MACjBJ,SAAS,EAAE;IACb,CAAC;IACDK,aAAa,EAAE;MACbT,QAAQ,EAAE,QAAQ;MAClBU,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE;IACV,CAAC;IACDC,gBAAgB,EAAE;MAChBZ,QAAQ,EAAE,UAAU;MACpBU,GAAG,EAAE,CAAC;MACNG,QAAQ,EAAE,GAAG;MACbC,SAAS,EAAEhB,KAAK,CAACiB,EAAE,CAACC,OAAO,CAAC,CAAC,CAAC;MAC9BC,eAAe,EAAEnB,KAAK,CAACiB,EAAE,CAACG,OAAO,CAACC,UAAU,CAACC,KAAK;MAClDC,UAAU,EAAE,gBAAgB;MAC5BC,wBAAwB,EAAE,aAAa;MACvCd,SAAS,EAAE;IACb;EACF,CAAC;AAAA,CAAC;AAEF,eAAeX,MAAM"}
@@ -46,6 +46,9 @@ var HvWizardTitle = function HvWizardTitle(_ref) {
46
46
  if (summary === null && hasSummary) {
47
47
  setSummary(false);
48
48
  }
49
+ return function () {
50
+ setSummary(false);
51
+ };
49
52
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
50
53
 
51
54
  React.useEffect(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"WizardTitle.js","names":["React","PropTypes","withStyles","HvButton","HvDialogTitle","HvGrid","HvTypography","Report","HvStepNavigation","HvWizardContext","styles","switchTabState","state","currentTab","index","valid","touched","HvWizardTitle","title","hasSummary","labels","tab","classes","changeTab","customStep","useContext","context","summary","setSummary","useState","steps","setSteps","useEffect","contextArray","Object","entries","length","updatedSteps","map","childState","name","onClick","toggleSummary","oldSummary","headerContainer","messageContainer","titleContainer","stepContainer","type","stepSize","width","xs","sm","md","lg","buttonWidth","root","rootSummaryButton","propTypes","shape","string","bool","number","isRequired","func","oneOf","xl"],"sources":["../../../../src/Wizard/WizardTitle/WizardTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvButton, HvDialogTitle, HvGrid, HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport { Report } from \"@hitachivantara/uikit-react-icons\";\nimport { HvStepNavigation } from \"@hitachivantara/uikit-react-lab\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst switchTabState = (state, currentTab, index) => {\n if (index === currentTab) return \"Current\";\n if (state.valid) return \"Completed\";\n if (state.valid === null) return \"Enabled\";\n if (state.touched && state.valid === false) return \"Failed\";\n // \"Disabled\"\n // \"Pending\"\n return \"Enabled\";\n};\n\nconst HvWizardTitle = ({\n title,\n hasSummary = false,\n labels = {},\n tab,\n classes,\n changeTab,\n customStep = {},\n}) => {\n const { context, summary, setSummary } = React.useContext(HvWizardContext);\n const [steps, setSteps] = React.useState([]);\n\n React.useEffect(() => {\n if (summary === null && hasSummary) {\n setSummary(false);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n const contextArray = Object.entries(context);\n if (contextArray.length) {\n const updatedSteps = contextArray.map(([, childState], index) => ({\n title: childState.name ?? `${index + 1}`,\n state: switchTabState(childState, tab, index),\n onClick: () => changeTab(index),\n }));\n\n setSteps(updatedSteps);\n }\n }, [context, tab, changeTab]);\n\n const toggleSummary = () => {\n setSummary((oldSummary) => !oldSummary);\n };\n\n return (\n <HvDialogTitle\n className={classes.headerContainer}\n classes={{ messageContainer: classes.messageContainer }}\n >\n <HvGrid\n container\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className={classes.titleContainer}\n >\n {title && (\n <HvTypography variant=\"xsTitle\" component=\"h3\">\n {title}\n </HvTypography>\n )}\n {!!steps.length && (\n <HvStepNavigation\n className={classes.stepContainer}\n steps={steps}\n type={customStep?.type ?? \"Default\"}\n stepSize={customStep?.stepSize ?? \"XS\"}\n width={customStep?.width ?? { xs: 200, sm: 350, md: 600, lg: 800 }}\n />\n )}\n {hasSummary && (\n <HvButton\n category=\"secondary\"\n className={classes.buttonWidth}\n classes={{ root: classes.rootSummaryButton }}\n onClick={toggleSummary}\n >\n <Report /> {`${labels.summary ?? \"Summary\"}`}\n </HvButton>\n )}\n </HvGrid>\n </HvDialogTitle>\n );\n};\n\nHvWizardTitle.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the header container.\n */\n headerContainer: PropTypes.string,\n /**\n * Styles applied to override the Dialog Title styles.\n */\n messageContainer: PropTypes.string,\n /**\n * Styles applied to the header content container.\n */\n titleContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to the Button component to override its right padding.\n */\n rootSummaryButton: PropTypes.string,\n /**\n *\n */\n stepContainer: PropTypes.string,\n }),\n /**\n * Title for the wizard.\n */\n title: PropTypes.string,\n /**\n * Shows the summary button.\n */\n hasSummary: PropTypes.bool,\n /**\n * An object containing all the labels for the wizard header.\n */\n labels: PropTypes.shape({\n /**\n * Summary button label.\n */\n summary: PropTypes.string,\n }),\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Custom object to define type, size and width of the StepNavigation component\n */\n customStep: PropTypes.shape({\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component element on each breakpoint screen resolution.\n */\n width: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvWizardTitle\" })(HvWizardTitle);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardTitle.js","names":["React","PropTypes","withStyles","HvButton","HvDialogTitle","HvGrid","HvTypography","Report","HvStepNavigation","HvWizardContext","styles","switchTabState","state","currentTab","index","valid","touched","HvWizardTitle","title","hasSummary","labels","tab","classes","changeTab","customStep","useContext","context","summary","setSummary","useState","steps","setSteps","useEffect","contextArray","Object","entries","length","updatedSteps","map","childState","name","onClick","toggleSummary","oldSummary","headerContainer","messageContainer","titleContainer","stepContainer","type","stepSize","width","xs","sm","md","lg","buttonWidth","root","rootSummaryButton","propTypes","shape","string","bool","number","isRequired","func","oneOf","xl"],"sources":["../../../../src/Wizard/WizardTitle/WizardTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvButton, HvDialogTitle, HvGrid, HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport { Report } from \"@hitachivantara/uikit-react-icons\";\nimport { HvStepNavigation } from \"@hitachivantara/uikit-react-lab\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst switchTabState = (state, currentTab, index) => {\n if (index === currentTab) return \"Current\";\n if (state.valid) return \"Completed\";\n if (state.valid === null) return \"Enabled\";\n if (state.touched && state.valid === false) return \"Failed\";\n // \"Disabled\"\n // \"Pending\"\n return \"Enabled\";\n};\n\nconst HvWizardTitle = ({\n title,\n hasSummary = false,\n labels = {},\n tab,\n classes,\n changeTab,\n customStep = {},\n}) => {\n const { context, summary, setSummary } = React.useContext(HvWizardContext);\n const [steps, setSteps] = React.useState([]);\n\n React.useEffect(() => {\n if (summary === null && hasSummary) {\n setSummary(false);\n }\n\n return () => {\n setSummary(false);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n const contextArray = Object.entries(context);\n if (contextArray.length) {\n const updatedSteps = contextArray.map(([, childState], index) => ({\n title: childState.name ?? `${index + 1}`,\n state: switchTabState(childState, tab, index),\n onClick: () => changeTab(index),\n }));\n\n setSteps(updatedSteps);\n }\n }, [context, tab, changeTab]);\n\n const toggleSummary = () => {\n setSummary((oldSummary) => !oldSummary);\n };\n\n return (\n <HvDialogTitle\n className={classes.headerContainer}\n classes={{ messageContainer: classes.messageContainer }}\n >\n <HvGrid\n container\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className={classes.titleContainer}\n >\n {title && (\n <HvTypography variant=\"xsTitle\" component=\"h3\">\n {title}\n </HvTypography>\n )}\n {!!steps.length && (\n <HvStepNavigation\n className={classes.stepContainer}\n steps={steps}\n type={customStep?.type ?? \"Default\"}\n stepSize={customStep?.stepSize ?? \"XS\"}\n width={customStep?.width ?? { xs: 200, sm: 350, md: 600, lg: 800 }}\n />\n )}\n {hasSummary && (\n <HvButton\n category=\"secondary\"\n className={classes.buttonWidth}\n classes={{ root: classes.rootSummaryButton }}\n onClick={toggleSummary}\n >\n <Report /> {`${labels.summary ?? \"Summary\"}`}\n </HvButton>\n )}\n </HvGrid>\n </HvDialogTitle>\n );\n};\n\nHvWizardTitle.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the header container.\n */\n headerContainer: PropTypes.string,\n /**\n * Styles applied to override the Dialog Title styles.\n */\n messageContainer: PropTypes.string,\n /**\n * Styles applied to the header content container.\n */\n titleContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to the Button component to override its right padding.\n */\n rootSummaryButton: PropTypes.string,\n /**\n *\n */\n stepContainer: PropTypes.string,\n }),\n /**\n * Title for the wizard.\n */\n title: PropTypes.string,\n /**\n * Shows the summary button.\n */\n hasSummary: PropTypes.bool,\n /**\n * An object containing all the labels for the wizard header.\n */\n labels: PropTypes.shape({\n /**\n * Summary button label.\n */\n summary: PropTypes.string,\n }),\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Custom object to define type, size and width of the StepNavigation component\n */\n customStep: PropTypes.shape({\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component element on each breakpoint screen resolution.\n */\n width: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvWizardTitle\" })(HvWizardTitle);\n"],"mappings":"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"}
@@ -64,9 +64,9 @@ const HvWizardActions = ({
64
64
  onClick: handleClose,
65
65
  className: classes.buttonWidth,
66
66
  children: `${(_labels$cancel = labels.cancel) !== null && _labels$cancel !== void 0 ? _labels$cancel : "Cancel"}`
67
- }), /*#__PURE__*/_jsx(HvButton, {
67
+ }), skippable && /*#__PURE__*/_jsx(HvButton, {
68
68
  category: "ghost",
69
- disabled: isLastPage || !skippable,
69
+ disabled: isLastPage,
70
70
  className: classes.buttonWidth,
71
71
  onClick: handleSkip,
72
72
  children: `${(_labels$skip = labels.skip) !== null && _labels$skip !== void 0 ? _labels$skip : "Skip"}`
@@ -1 +1 @@
1
- {"version":3,"file":"WizardActions.js","names":["React","PropTypes","withStyles","clsx","HvButton","HvDialogActions","HvGrid","Backwards","Forwards","HvWizardContext","styles","HvWizardActions","classes","handleClose","handleSubmit","changeTab","tab","loading","skippable","labels","cancel","next","previous","skip","submit","context","setContext","useContext","pages","setPages","useState","canSubmit","setCanSubmit","useEffect","contextEntries","Object","entries","length","validWizard","every","value","valid","lastPage","isLastPage","handleSkip","useCallback","skippedContext","map","child","handleSubmitInternal","actionsContainer","buttonWidth","buttonsContainer","t","buttonSpacing","propTypes","shape","string","isRequired","number","func","bool","name"],"sources":["../../../../src/Wizard/WizardActions/WizardActions.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { HvButton, HvDialogActions, HvGrid } from \"@hitachivantara/uikit-react-core\";\nimport { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst HvWizardActions = ({\n classes,\n handleClose,\n handleSubmit,\n changeTab,\n tab,\n loading = false,\n skippable = false,\n labels = {\n cancel: \"Cancel\",\n next: \"Next\",\n previous: \"Previous\",\n skip: \"Skip\",\n submit: \"Submit\",\n },\n}) => {\n const { context, setContext } = React.useContext(HvWizardContext);\n const [pages, setPages] = React.useState(0);\n const [canSubmit, setCanSubmit] = React.useState(false);\n\n React.useEffect(() => {\n const contextEntries = Object.entries(context);\n if (contextEntries.length) {\n setPages(contextEntries.length);\n\n const validWizard = Object.entries(context).every(([, value]) => value.valid);\n if (validWizard !== canSubmit) {\n setCanSubmit(validWizard);\n }\n }\n }, [context]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const lastPage = pages - 1;\n const isLastPage = tab >= lastPage;\n\n const handleSkip = React.useCallback(() => {\n const skippedContext = Object.entries(context).map(([, child]) => ({\n ...child,\n valid: child.valid !== false,\n }));\n setContext(skippedContext);\n changeTab(lastPage);\n }, [changeTab, context, lastPage, setContext]);\n const handleSubmitInternal = React.useCallback(\n () => handleSubmit(context),\n [handleSubmit, context]\n );\n\n return (\n <HvDialogActions className={classes.actionsContainer}>\n <HvGrid>\n <HvButton category=\"ghost\" onClick={handleClose} className={classes.buttonWidth}>\n {`${labels.cancel ?? \"Cancel\"}`}\n </HvButton>\n <HvButton\n category=\"ghost\"\n disabled={isLastPage || !skippable}\n className={classes.buttonWidth}\n onClick={handleSkip}\n >\n {`${labels.skip ?? \"Skip\"}`}\n </HvButton>\n </HvGrid>\n <HvGrid className={classes.buttonsContainer}>\n <HvButton\n category=\"ghost\"\n className={classes.buttonWidth}\n disabled={tab <= 0}\n onClick={() => changeTab((t) => t - 1)}\n >\n <Backwards />\n {`${labels.previous ?? \"Previous\"}`}\n </HvButton>\n\n {isLastPage ? (\n <HvButton\n category=\"primary\"\n className={classes.buttonWidth}\n disabled={loading || !canSubmit}\n onClick={handleSubmitInternal}\n >\n {`${labels.submit ?? \"Submit\"}`}\n </HvButton>\n ) : (\n <HvButton\n category=\"ghost\"\n className={clsx(classes.buttonWidth, classes.buttonSpacing)}\n onClick={() => changeTab((t) => t + 1)}\n disabled={!skippable && !context?.[tab]?.valid}\n >\n {`${labels.next ?? \"Next\"}`}\n <Forwards />\n </HvButton>\n )}\n </HvGrid>\n </HvDialogActions>\n );\n};\n\nHvWizardActions.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component which contains the groups of buttons.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the component which contains the buttons.\n */\n buttonsContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to some Button components to override its left padding.\n */\n buttonSpacing: PropTypes.string,\n }).isRequired,\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Function to handle the cancel button.\n */\n handleClose: PropTypes.func.isRequired,\n /**\n * Function to handle the submit button. Also sends the current context state.\n */\n handleSubmit: PropTypes.func.isRequired,\n /**\n * An object containing all the labels for the wizard actions component.\n */\n labels: PropTypes.shape({\n /**\n * Cancel button label.\n */\n cancel: PropTypes.string,\n /**\n * Skip button label.\n */\n skip: PropTypes.string,\n /**\n * Previous button label.\n */\n previous: PropTypes.string,\n /**\n * Next button label.\n */\n next: PropTypes.string,\n /**\n * Submit button label.\n */\n submit: PropTypes.string,\n }),\n /**\n * Whether the submit button is disabled.\n */\n loading: PropTypes.bool,\n /**\n * Enables the skip button.\n */\n skippable: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvWizardActions\" })(HvWizardActions);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardActions.js","names":["React","PropTypes","withStyles","clsx","HvButton","HvDialogActions","HvGrid","Backwards","Forwards","HvWizardContext","styles","HvWizardActions","classes","handleClose","handleSubmit","changeTab","tab","loading","skippable","labels","cancel","next","previous","skip","submit","context","setContext","useContext","pages","setPages","useState","canSubmit","setCanSubmit","useEffect","contextEntries","Object","entries","length","validWizard","every","value","valid","lastPage","isLastPage","handleSkip","useCallback","skippedContext","map","child","handleSubmitInternal","actionsContainer","buttonWidth","buttonsContainer","t","buttonSpacing","propTypes","shape","string","isRequired","number","func","bool","name"],"sources":["../../../../src/Wizard/WizardActions/WizardActions.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { HvButton, HvDialogActions, HvGrid } from \"@hitachivantara/uikit-react-core\";\nimport { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst HvWizardActions = ({\n classes,\n handleClose,\n handleSubmit,\n changeTab,\n tab,\n loading = false,\n skippable = false,\n labels = {\n cancel: \"Cancel\",\n next: \"Next\",\n previous: \"Previous\",\n skip: \"Skip\",\n submit: \"Submit\",\n },\n}) => {\n const { context, setContext } = React.useContext(HvWizardContext);\n const [pages, setPages] = React.useState(0);\n const [canSubmit, setCanSubmit] = React.useState(false);\n\n React.useEffect(() => {\n const contextEntries = Object.entries(context);\n if (contextEntries.length) {\n setPages(contextEntries.length);\n\n const validWizard = Object.entries(context).every(([, value]) => value.valid);\n if (validWizard !== canSubmit) {\n setCanSubmit(validWizard);\n }\n }\n }, [context]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const lastPage = pages - 1;\n const isLastPage = tab >= lastPage;\n\n const handleSkip = React.useCallback(() => {\n const skippedContext = Object.entries(context).map(([, child]) => ({\n ...child,\n valid: child.valid !== false,\n }));\n setContext(skippedContext);\n changeTab(lastPage);\n }, [changeTab, context, lastPage, setContext]);\n const handleSubmitInternal = React.useCallback(\n () => handleSubmit(context),\n [handleSubmit, context]\n );\n\n return (\n <HvDialogActions className={classes.actionsContainer}>\n <HvGrid>\n <HvButton category=\"ghost\" onClick={handleClose} className={classes.buttonWidth}>\n {`${labels.cancel ?? \"Cancel\"}`}\n </HvButton>\n {skippable && (\n <HvButton\n category=\"ghost\"\n disabled={isLastPage}\n className={classes.buttonWidth}\n onClick={handleSkip}\n >\n {`${labels.skip ?? \"Skip\"}`}\n </HvButton>\n )}\n </HvGrid>\n <HvGrid className={classes.buttonsContainer}>\n <HvButton\n category=\"ghost\"\n className={classes.buttonWidth}\n disabled={tab <= 0}\n onClick={() => changeTab((t) => t - 1)}\n >\n <Backwards />\n {`${labels.previous ?? \"Previous\"}`}\n </HvButton>\n\n {isLastPage ? (\n <HvButton\n category=\"primary\"\n className={classes.buttonWidth}\n disabled={loading || !canSubmit}\n onClick={handleSubmitInternal}\n >\n {`${labels.submit ?? \"Submit\"}`}\n </HvButton>\n ) : (\n <HvButton\n category=\"ghost\"\n className={clsx(classes.buttonWidth, classes.buttonSpacing)}\n onClick={() => changeTab((t) => t + 1)}\n disabled={!skippable && !context?.[tab]?.valid}\n >\n {`${labels.next ?? \"Next\"}`}\n <Forwards />\n </HvButton>\n )}\n </HvGrid>\n </HvDialogActions>\n );\n};\n\nHvWizardActions.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component which contains the groups of buttons.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the component which contains the buttons.\n */\n buttonsContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to some Button components to override its left padding.\n */\n buttonSpacing: PropTypes.string,\n }).isRequired,\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Function to handle the cancel button.\n */\n handleClose: PropTypes.func.isRequired,\n /**\n * Function to handle the submit button. Also sends the current context state.\n */\n handleSubmit: PropTypes.func.isRequired,\n /**\n * An object containing all the labels for the wizard actions component.\n */\n labels: PropTypes.shape({\n /**\n * Cancel button label.\n */\n cancel: PropTypes.string,\n /**\n * Skip button label.\n */\n skip: PropTypes.string,\n /**\n * Previous button label.\n */\n previous: PropTypes.string,\n /**\n * Next button label.\n */\n next: PropTypes.string,\n /**\n * Submit button label.\n */\n submit: PropTypes.string,\n }),\n /**\n * Whether the submit button is disabled.\n */\n loading: PropTypes.bool,\n /**\n * Enables the skip button.\n */\n skippable: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvWizardActions\" })(HvWizardActions);\n"],"mappings":"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"}
@@ -13,7 +13,6 @@ import styles from "./styles";
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
15
  const DRAWER_PERCENTAGE = 0.3;
16
- const MODAL_MARGIN = 20;
17
16
  const DRAWER_MIN_WIDTH = 280;
18
17
  const HvWizardContent = ({
19
18
  classes,
@@ -40,9 +39,10 @@ const HvWizardContent = ({
40
39
  setContext,
41
40
  summary
42
41
  } = React.useContext(HvWizardContext);
42
+ const summaryRef = React.useRef(null);
43
43
  const resizedRef = React.useRef({
44
- width: 0,
45
- height: 0
44
+ height: 0,
45
+ width: 0
46
46
  });
47
47
  const [containerRef, sizes] = useElementSize();
48
48
  const [summaryHeight, setSummaryHeight] = React.useState(0);
@@ -53,17 +53,25 @@ const HvWizardContent = ({
53
53
  const drawerWidth = modalWidth * DRAWER_PERCENTAGE;
54
54
  setSummaryHeight(newSizes.height);
55
55
  setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));
56
- setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH) - MODAL_MARGIN);
56
+ setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH));
57
+ resizedRef.current = {
58
+ height: newSizes.height,
59
+ width: newSizes.width
60
+ };
57
61
  }, []);
58
62
  React.useEffect(() => {
63
+ var _summaryRef$current, _summaryRef$current$g, _summaryRef$current$g2;
64
+ const pageHeight = (_summaryRef$current = summaryRef.current) === null || _summaryRef$current === void 0 ? void 0 : (_summaryRef$current$g = _summaryRef$current.getBoundingClientRect) === null || _summaryRef$current$g === void 0 ? void 0 : (_summaryRef$current$g2 = _summaryRef$current$g.call(_summaryRef$current)) === null || _summaryRef$current$g2 === void 0 ? void 0 : _summaryRef$current$g2.height;
59
65
  if (summary && sizes.height !== resizedRef.current.height || sizes.width !== resizedRef.current.width) {
60
66
  updateSummaryMeasures(sizes);
61
- resizedRef.current = {
62
- height: sizes.height,
63
- width: sizes.width
64
- };
65
67
  }
66
- }, [sizes, summary, updateSummaryMeasures]);
68
+ if (pageHeight && sizes.height !== pageHeight) {
69
+ updateSummaryMeasures({
70
+ width: sizes.width,
71
+ height: pageHeight
72
+ });
73
+ }
74
+ }, [tab, sizes, summary, updateSummaryMeasures]);
67
75
  React.useEffect(() => {
68
76
  setContext(initialContext);
69
77
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
@@ -84,28 +92,31 @@ const HvWizardContent = ({
84
92
  }, {});
85
93
  setContext(updatedContext);
86
94
  }
87
- updateSummaryMeasures(sizes);
88
95
  }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps
89
96
 
90
97
  const translateX = summaryWidth ? summaryWidth + 10 : 450;
91
- return /*#__PURE__*/_jsx("div", {
92
- ref: containerRef,
93
- children: /*#__PURE__*/_jsxs(HvDialogContent, {
98
+ return /*#__PURE__*/_jsxs("div", {
99
+ className: classes.summaryRef,
100
+ ref: el => {
101
+ containerRef(el);
102
+ summaryRef.current = el;
103
+ },
104
+ children: [summary !== null && /*#__PURE__*/_jsx("div", {
105
+ className: classes.summarySticky,
106
+ children: /*#__PURE__*/_jsx("div", {
107
+ className: classes.summaryContainer,
108
+ style: {
109
+ left: summaryLeft,
110
+ width: summaryWidth,
111
+ height: summaryHeight,
112
+ transform: `translate(${summary ? 0 : translateX}px, 0)`
113
+ },
114
+ children: summaryContent
115
+ })
116
+ }), /*#__PURE__*/_jsx(HvDialogContent, {
94
117
  className: clsx(classes.contentContainer, fixedHeight && classes.fixedHeight),
95
118
  indentContent: true,
96
- children: [summary !== null && /*#__PURE__*/_jsx("div", {
97
- className: classes.summarySticky,
98
- children: /*#__PURE__*/_jsx("div", {
99
- className: classes.summaryContainer,
100
- style: {
101
- left: summaryLeft,
102
- width: summaryWidth,
103
- height: summaryHeight,
104
- transform: `translate(${summary ? 0 : translateX}px, 0)`
105
- },
106
- children: summaryContent
107
- })
108
- }), /*#__PURE__*/_jsx(LoadingContainer, {
119
+ children: /*#__PURE__*/_jsx(LoadingContainer, {
109
120
  hidden: !loading,
110
121
  children: React.Children.map(arrayChildren, (child, index) => {
111
122
  if (index === tab) {
@@ -115,8 +126,8 @@ const HvWizardContent = ({
115
126
  }
116
127
  return null;
117
128
  })
118
- })]
119
- })
129
+ })
130
+ })]
120
131
  });
121
132
  };
122
133
  process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
@@ -140,6 +151,10 @@ process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
140
151
  * Style applied to the Wizard to fix its height.
141
152
  */
142
153
  fixedHeight: PropTypes.string,
154
+ /**
155
+ * Style applied to the summary container around the page content container.
156
+ */
157
+ summaryRef: PropTypes.string,
143
158
  /**
144
159
  * Style applied to the Summary container to stick it to the top.
145
160
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContent.js","names":["React","PropTypes","withStyles","useElementSize","clsx","HvDialogContent","HvWizardContext","LoadingContainer","styles","DRAWER_PERCENTAGE","MODAL_MARGIN","DRAWER_MIN_WIDTH","HvWizardContent","classes","fixedHeight","loading","children","tab","summaryContent","arrayChildren","Children","toArray","initialContext","reduce","acc","child","index","invalid","props","mustValidate","valid","form","touched","context","setContext","summary","useContext","resizedRef","useRef","width","height","containerRef","sizes","summaryHeight","setSummaryHeight","useState","summaryWidth","setSummaryWidth","summaryLeft","setSummaryLeft","updateSummaryMeasures","useCallback","newSizes","modalWidth","drawerWidth","Math","max","useEffect","current","updatedContext","Object","entries","key","childState","translateX","contentContainer","summarySticky","summaryContainer","left","transform","map","cloneElement","propTypes","number","isRequired","node","shape","string","bool","name"],"sources":["../../../../src/Wizard/WizardContent/WizardContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { useElementSize } from \"usehooks-ts\";\nimport clsx from \"clsx\";\nimport { HvDialogContent } from \"@hitachivantara/uikit-react-core\";\nimport HvWizardContext from \"../WizardContext\";\nimport LoadingContainer from \"./LoadingContainer\";\n\nimport styles from \"./styles\";\n\nconst DRAWER_PERCENTAGE = 0.3;\nconst MODAL_MARGIN = 20;\nconst DRAWER_MIN_WIDTH = 280;\n\nconst HvWizardContent = ({\n classes,\n fixedHeight = false,\n loading = false,\n children,\n tab,\n summaryContent,\n}) => {\n const arrayChildren = React.Children.toArray(children);\n const initialContext = arrayChildren.reduce((acc, child, index) => {\n const invalid = child.props.mustValidate === true ? false : null;\n const valid = invalid ?? (index === 0 || null);\n return {\n ...acc,\n [index]: { ...child.props, form: {}, valid, touched: index === 0 },\n };\n }, {});\n\n const { context, setContext, summary } = React.useContext(HvWizardContext);\n\n const resizedRef = React.useRef({ width: 0, height: 0 });\n const [containerRef, sizes] = useElementSize();\n\n const [summaryHeight, setSummaryHeight] = React.useState(0);\n const [summaryWidth, setSummaryWidth] = React.useState(0);\n const [summaryLeft, setSummaryLeft] = React.useState(0);\n const updateSummaryMeasures = React.useCallback((newSizes) => {\n const modalWidth = newSizes.width;\n const drawerWidth = modalWidth * DRAWER_PERCENTAGE;\n setSummaryHeight(newSizes.height);\n setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH) - MODAL_MARGIN);\n }, []);\n\n React.useEffect(() => {\n if (\n (summary && sizes.height !== resizedRef.current.height) ||\n sizes.width !== resizedRef.current.width\n ) {\n updateSummaryMeasures(sizes);\n resizedRef.current = {\n height: sizes.height,\n width: sizes.width,\n };\n }\n }, [sizes, summary, updateSummaryMeasures]);\n\n React.useEffect(() => {\n setContext(initialContext);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n if (tab && !context[tab]?.touched) {\n const updatedContext = Object.entries(context).reduce(\n (acc, [key, childState]) => ({\n ...acc,\n ...(+key <= tab\n ? { [key]: { ...childState, touched: true, valid: childState.valid ?? true } }\n : { [key]: childState }),\n }),\n {}\n );\n\n setContext(updatedContext);\n }\n updateSummaryMeasures(sizes);\n }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const translateX = summaryWidth ? summaryWidth + 10 : 450;\n\n return (\n <div ref={containerRef}>\n <HvDialogContent\n className={clsx(classes.contentContainer, {\n [classes.fixedHeight]: fixedHeight,\n })}\n indentContent\n >\n {summary !== null && (\n <div className={classes.summarySticky}>\n <div\n className={classes.summaryContainer}\n style={{\n left: summaryLeft,\n width: summaryWidth,\n height: summaryHeight,\n transform: `translate(${summary ? 0 : translateX}px, 0)`,\n }}\n >\n {summaryContent}\n </div>\n </div>\n )}\n <LoadingContainer hidden={!loading}>\n {React.Children.map(arrayChildren, (child, index) => {\n if (index === tab) {\n return React.cloneElement(child, { tab });\n }\n return null;\n })}\n </LoadingContainer>\n </HvDialogContent>\n </div>\n );\n};\n\nHvWizardContent.propTypes = {\n /**\n * Current tab to show.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Tabs to show on the Wizard.\n */\n children: PropTypes.node.isRequired,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the Wizard content container.\n */\n contentContainer: PropTypes.string,\n /**\n * Style applied to the Wizard to fix its height.\n */\n fixedHeight: PropTypes.string,\n /**\n * Style applied to the Summary container to stick it to the top.\n */\n summarySticky: PropTypes.string,\n /**\n * Style applied to the Summary container to position it on the right.\n */\n summaryContainer: PropTypes.string,\n }).isRequired,\n /**\n * Forces minimum height to the component.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Whether the loading animation is shown.\n */\n loading: PropTypes.bool,\n /**\n * The content of the summary.\n */\n summaryContent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvWizardContent\" })(HvWizardContent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardContent.js","names":["React","PropTypes","withStyles","useElementSize","clsx","HvDialogContent","HvWizardContext","LoadingContainer","styles","DRAWER_PERCENTAGE","DRAWER_MIN_WIDTH","HvWizardContent","classes","fixedHeight","loading","children","tab","summaryContent","arrayChildren","Children","toArray","initialContext","reduce","acc","child","index","invalid","props","mustValidate","valid","form","touched","context","setContext","summary","useContext","summaryRef","useRef","resizedRef","height","width","containerRef","sizes","summaryHeight","setSummaryHeight","useState","summaryWidth","setSummaryWidth","summaryLeft","setSummaryLeft","updateSummaryMeasures","useCallback","newSizes","modalWidth","drawerWidth","Math","max","current","useEffect","pageHeight","getBoundingClientRect","updatedContext","Object","entries","key","childState","translateX","el","summarySticky","summaryContainer","left","transform","contentContainer","map","cloneElement","propTypes","number","isRequired","node","shape","string","bool","name"],"sources":["../../../../src/Wizard/WizardContent/WizardContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { useElementSize } from \"usehooks-ts\";\nimport clsx from \"clsx\";\nimport { HvDialogContent } from \"@hitachivantara/uikit-react-core\";\nimport HvWizardContext from \"../WizardContext\";\nimport LoadingContainer from \"./LoadingContainer\";\n\nimport styles from \"./styles\";\n\nconst DRAWER_PERCENTAGE = 0.3;\nconst DRAWER_MIN_WIDTH = 280;\n\nconst HvWizardContent = ({\n classes,\n fixedHeight = false,\n loading = false,\n children,\n tab,\n summaryContent,\n}) => {\n const arrayChildren = React.Children.toArray(children);\n const initialContext = arrayChildren.reduce((acc, child, index) => {\n const invalid = child.props.mustValidate === true ? false : null;\n const valid = invalid ?? (index === 0 || null);\n return {\n ...acc,\n [index]: { ...child.props, form: {}, valid, touched: index === 0 },\n };\n }, {});\n\n const { context, setContext, summary } = React.useContext(HvWizardContext);\n\n const summaryRef = React.useRef(null);\n const resizedRef = React.useRef({ height: 0, width: 0 });\n const [containerRef, sizes] = useElementSize();\n\n const [summaryHeight, setSummaryHeight] = React.useState(0);\n const [summaryWidth, setSummaryWidth] = React.useState(0);\n const [summaryLeft, setSummaryLeft] = React.useState(0);\n const updateSummaryMeasures = React.useCallback((newSizes) => {\n const modalWidth = newSizes.width;\n const drawerWidth = modalWidth * DRAWER_PERCENTAGE;\n setSummaryHeight(newSizes.height);\n setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH));\n\n resizedRef.current = {\n height: newSizes.height,\n width: newSizes.width,\n };\n }, []);\n\n React.useEffect(() => {\n const pageHeight = summaryRef.current?.getBoundingClientRect?.()?.height;\n if (\n (summary && sizes.height !== resizedRef.current.height) ||\n sizes.width !== resizedRef.current.width\n ) {\n updateSummaryMeasures(sizes);\n }\n\n if (pageHeight && sizes.height !== pageHeight) {\n updateSummaryMeasures({\n width: sizes.width,\n height: pageHeight,\n });\n }\n }, [tab, sizes, summary, updateSummaryMeasures]);\n\n React.useEffect(() => {\n setContext(initialContext);\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n if (tab && !context[tab]?.touched) {\n const updatedContext = Object.entries(context).reduce(\n (acc, [key, childState]) => ({\n ...acc,\n ...(+key <= tab\n ? { [key]: { ...childState, touched: true, valid: childState.valid ?? true } }\n : { [key]: childState }),\n }),\n {}\n );\n\n setContext(updatedContext);\n }\n }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const translateX = summaryWidth ? summaryWidth + 10 : 450;\n\n return (\n <div\n className={classes.summaryRef}\n ref={(el) => {\n containerRef(el);\n summaryRef.current = el;\n }}\n >\n {summary !== null && (\n <div className={classes.summarySticky}>\n <div\n className={classes.summaryContainer}\n style={{\n left: summaryLeft,\n width: summaryWidth,\n height: summaryHeight,\n transform: `translate(${summary ? 0 : translateX}px, 0)`,\n }}\n >\n {summaryContent}\n </div>\n </div>\n )}\n <HvDialogContent\n className={clsx(classes.contentContainer, {\n [classes.fixedHeight]: fixedHeight,\n })}\n indentContent\n >\n <LoadingContainer hidden={!loading}>\n {React.Children.map(arrayChildren, (child, index) => {\n if (index === tab) {\n return React.cloneElement(child, { tab });\n }\n return null;\n })}\n </LoadingContainer>\n </HvDialogContent>\n </div>\n );\n};\n\nHvWizardContent.propTypes = {\n /**\n * Current tab to show.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Tabs to show on the Wizard.\n */\n children: PropTypes.node.isRequired,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the Wizard content container.\n */\n contentContainer: PropTypes.string,\n /**\n * Style applied to the Wizard to fix its height.\n */\n fixedHeight: PropTypes.string,\n /**\n * Style applied to the summary container around the page content container.\n */\n summaryRef: PropTypes.string,\n /**\n * Style applied to the Summary container to stick it to the top.\n */\n summarySticky: PropTypes.string,\n /**\n * Style applied to the Summary container to position it on the right.\n */\n summaryContainer: PropTypes.string,\n }).isRequired,\n /**\n * Forces minimum height to the component.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Whether the loading animation is shown.\n */\n loading: PropTypes.bool,\n /**\n * The content of the summary.\n */\n summaryContent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvWizardContent\" })(HvWizardContent);\n"],"mappings":"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"}
@@ -9,13 +9,19 @@ const styles = theme => ({
9
9
  fixedHeight: {
10
10
  minHeight: "calc(100vh - 387px)"
11
11
  },
12
+ summaryRef: {
13
+ flex: 1,
14
+ overflowY: "auto",
15
+ overflowX: "hidden"
16
+ },
12
17
  summarySticky: {
13
18
  position: "sticky",
14
- top: 0
19
+ top: 0,
20
+ zIndex: 1
15
21
  },
16
22
  summaryContainer: {
17
23
  position: "absolute",
18
- top: -20,
24
+ top: 0,
19
25
  minWidth: 280,
20
26
  boxShadow: theme.hv.shadows[1],
21
27
  backgroundColor: theme.hv.palette.atmosphere.atmo1,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","theme","contentContainer","position","padding","marginLeft","minHeight","overflowX","fixedHeight","summarySticky","top","summaryContainer","minWidth","boxShadow","hv","shadows","backgroundColor","palette","atmosphere","atmo1","transition","transitionTimingFunction","overflowY"],"sources":["../../../../src/Wizard/WizardContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n contentContainer: {\n position: \"relative\",\n padding: 20,\n marginLeft: 0,\n minHeight: 400,\n overflowX: \"hidden\",\n },\n fixedHeight: {\n minHeight: \"calc(100vh - 387px)\",\n },\n summarySticky: {\n position: \"sticky\",\n top: 0,\n },\n summaryContainer: {\n position: \"absolute\",\n top: -20,\n minWidth: 280,\n boxShadow: theme.hv.shadows[1],\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n transition: \"transform 0.3s\",\n transitionTimingFunction: \"ease-in-out\",\n overflowY: \"scroll\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAIC,KAAK,KAAM;EACzBC,gBAAgB,EAAE;IAChBC,QAAQ,EAAE,UAAU;IACpBC,OAAO,EAAE,EAAE;IACXC,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE,GAAG;IACdC,SAAS,EAAE;EACb,CAAC;EACDC,WAAW,EAAE;IACXF,SAAS,EAAE;EACb,CAAC;EACDG,aAAa,EAAE;IACbN,QAAQ,EAAE,QAAQ;IAClBO,GAAG,EAAE;EACP,CAAC;EACDC,gBAAgB,EAAE;IAChBR,QAAQ,EAAE,UAAU;IACpBO,GAAG,EAAE,CAAC,EAAE;IACRE,QAAQ,EAAE,GAAG;IACbC,SAAS,EAAEZ,KAAK,CAACa,EAAE,CAACC,OAAO,CAAC,CAAC,CAAC;IAC9BC,eAAe,EAAEf,KAAK,CAACa,EAAE,CAACG,OAAO,CAACC,UAAU,CAACC,KAAK;IAClDC,UAAU,EAAE,gBAAgB;IAC5BC,wBAAwB,EAAE,aAAa;IACvCC,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,eAAetB,MAAM"}
1
+ {"version":3,"file":"styles.js","names":["styles","theme","contentContainer","position","padding","marginLeft","minHeight","overflowX","fixedHeight","summaryRef","flex","overflowY","summarySticky","top","zIndex","summaryContainer","minWidth","boxShadow","hv","shadows","backgroundColor","palette","atmosphere","atmo1","transition","transitionTimingFunction"],"sources":["../../../../src/Wizard/WizardContent/styles.js"],"sourcesContent":["const styles = (theme) => ({\n contentContainer: {\n position: \"relative\",\n padding: 20,\n marginLeft: 0,\n minHeight: 400,\n overflowX: \"hidden\",\n },\n fixedHeight: {\n minHeight: \"calc(100vh - 387px)\",\n },\n summaryRef: {\n flex: 1,\n overflowY: \"auto\",\n overflowX: \"hidden\",\n },\n summarySticky: {\n position: \"sticky\",\n top: 0,\n zIndex: 1,\n },\n summaryContainer: {\n position: \"absolute\",\n top: 0,\n minWidth: 280,\n boxShadow: theme.hv.shadows[1],\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n transition: \"transform 0.3s\",\n transitionTimingFunction: \"ease-in-out\",\n overflowY: \"scroll\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAIC,KAAK,KAAM;EACzBC,gBAAgB,EAAE;IAChBC,QAAQ,EAAE,UAAU;IACpBC,OAAO,EAAE,EAAE;IACXC,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE,GAAG;IACdC,SAAS,EAAE;EACb,CAAC;EACDC,WAAW,EAAE;IACXF,SAAS,EAAE;EACb,CAAC;EACDG,UAAU,EAAE;IACVC,IAAI,EAAE,CAAC;IACPC,SAAS,EAAE,MAAM;IACjBJ,SAAS,EAAE;EACb,CAAC;EACDK,aAAa,EAAE;IACbT,QAAQ,EAAE,QAAQ;IAClBU,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBZ,QAAQ,EAAE,UAAU;IACpBU,GAAG,EAAE,CAAC;IACNG,QAAQ,EAAE,GAAG;IACbC,SAAS,EAAEhB,KAAK,CAACiB,EAAE,CAACC,OAAO,CAAC,CAAC,CAAC;IAC9BC,eAAe,EAAEnB,KAAK,CAACiB,EAAE,CAACG,OAAO,CAACC,UAAU,CAACC,KAAK;IAClDC,UAAU,EAAE,gBAAgB;IAC5BC,wBAAwB,EAAE,aAAa;IACvCd,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,eAAeX,MAAM"}
@@ -38,6 +38,9 @@ const HvWizardTitle = ({
38
38
  if (summary === null && hasSummary) {
39
39
  setSummary(false);
40
40
  }
41
+ return () => {
42
+ setSummary(false);
43
+ };
41
44
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
42
45
 
43
46
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"WizardTitle.js","names":["React","PropTypes","withStyles","HvButton","HvDialogTitle","HvGrid","HvTypography","Report","HvStepNavigation","HvWizardContext","styles","switchTabState","state","currentTab","index","valid","touched","HvWizardTitle","title","hasSummary","labels","tab","classes","changeTab","customStep","context","summary","setSummary","useContext","steps","setSteps","useState","useEffect","contextArray","Object","entries","length","updatedSteps","map","childState","name","onClick","toggleSummary","oldSummary","headerContainer","messageContainer","titleContainer","stepContainer","type","stepSize","width","xs","sm","md","lg","buttonWidth","root","rootSummaryButton","propTypes","shape","string","bool","number","isRequired","func","oneOf","xl"],"sources":["../../../../src/Wizard/WizardTitle/WizardTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvButton, HvDialogTitle, HvGrid, HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport { Report } from \"@hitachivantara/uikit-react-icons\";\nimport { HvStepNavigation } from \"@hitachivantara/uikit-react-lab\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst switchTabState = (state, currentTab, index) => {\n if (index === currentTab) return \"Current\";\n if (state.valid) return \"Completed\";\n if (state.valid === null) return \"Enabled\";\n if (state.touched && state.valid === false) return \"Failed\";\n // \"Disabled\"\n // \"Pending\"\n return \"Enabled\";\n};\n\nconst HvWizardTitle = ({\n title,\n hasSummary = false,\n labels = {},\n tab,\n classes,\n changeTab,\n customStep = {},\n}) => {\n const { context, summary, setSummary } = React.useContext(HvWizardContext);\n const [steps, setSteps] = React.useState([]);\n\n React.useEffect(() => {\n if (summary === null && hasSummary) {\n setSummary(false);\n }\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n const contextArray = Object.entries(context);\n if (contextArray.length) {\n const updatedSteps = contextArray.map(([, childState], index) => ({\n title: childState.name ?? `${index + 1}`,\n state: switchTabState(childState, tab, index),\n onClick: () => changeTab(index),\n }));\n\n setSteps(updatedSteps);\n }\n }, [context, tab, changeTab]);\n\n const toggleSummary = () => {\n setSummary((oldSummary) => !oldSummary);\n };\n\n return (\n <HvDialogTitle\n className={classes.headerContainer}\n classes={{ messageContainer: classes.messageContainer }}\n >\n <HvGrid\n container\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className={classes.titleContainer}\n >\n {title && (\n <HvTypography variant=\"xsTitle\" component=\"h3\">\n {title}\n </HvTypography>\n )}\n {!!steps.length && (\n <HvStepNavigation\n className={classes.stepContainer}\n steps={steps}\n type={customStep?.type ?? \"Default\"}\n stepSize={customStep?.stepSize ?? \"XS\"}\n width={customStep?.width ?? { xs: 200, sm: 350, md: 600, lg: 800 }}\n />\n )}\n {hasSummary && (\n <HvButton\n category=\"secondary\"\n className={classes.buttonWidth}\n classes={{ root: classes.rootSummaryButton }}\n onClick={toggleSummary}\n >\n <Report /> {`${labels.summary ?? \"Summary\"}`}\n </HvButton>\n )}\n </HvGrid>\n </HvDialogTitle>\n );\n};\n\nHvWizardTitle.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the header container.\n */\n headerContainer: PropTypes.string,\n /**\n * Styles applied to override the Dialog Title styles.\n */\n messageContainer: PropTypes.string,\n /**\n * Styles applied to the header content container.\n */\n titleContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to the Button component to override its right padding.\n */\n rootSummaryButton: PropTypes.string,\n /**\n *\n */\n stepContainer: PropTypes.string,\n }),\n /**\n * Title for the wizard.\n */\n title: PropTypes.string,\n /**\n * Shows the summary button.\n */\n hasSummary: PropTypes.bool,\n /**\n * An object containing all the labels for the wizard header.\n */\n labels: PropTypes.shape({\n /**\n * Summary button label.\n */\n summary: PropTypes.string,\n }),\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Custom object to define type, size and width of the StepNavigation component\n */\n customStep: PropTypes.shape({\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component element on each breakpoint screen resolution.\n */\n width: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvWizardTitle\" })(HvWizardTitle);\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASC,QAAQ,EAAEC,aAAa,EAAEC,MAAM,EAAEC,YAAY,QAAQ,kCAAkC;AAChG,SAASC,MAAM,QAAQ,mCAAmC;AAC1D,SAASC,gBAAgB,QAAQ,iCAAiC;AAClE,OAAOC,eAAe,MAAM,kBAAkB;AAE9C,OAAOC,MAAM,MAAM,UAAU;AAAC;AAAA;AAE9B,MAAMC,cAAc,GAAG,CAACC,KAAK,EAAEC,UAAU,EAAEC,KAAK,KAAK;EACnD,IAAIA,KAAK,KAAKD,UAAU,EAAE,OAAO,SAAS;EAC1C,IAAID,KAAK,CAACG,KAAK,EAAE,OAAO,WAAW;EACnC,IAAIH,KAAK,CAACG,KAAK,KAAK,IAAI,EAAE,OAAO,SAAS;EAC1C,IAAIH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACG,KAAK,KAAK,KAAK,EAAE,OAAO,QAAQ;EAC3D;EACA;EACA,OAAO,SAAS;AAClB,CAAC;AAED,MAAME,aAAa,GAAG,CAAC;EACrBC,KAAK;EACLC,UAAU,GAAG,KAAK;EAClBC,MAAM,GAAG,CAAC,CAAC;EACXC,GAAG;EACHC,OAAO;EACPC,SAAS;EACTC,UAAU,GAAG,CAAC;AAChB,CAAC,KAAK;EAAA;EACJ,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAG3B,KAAK,CAAC4B,UAAU,CAACnB,eAAe,CAAC;EAC1E,MAAM,CAACoB,KAAK,EAAEC,QAAQ,CAAC,GAAG9B,KAAK,CAAC+B,QAAQ,CAAC,EAAE,CAAC;EAE5C/B,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpB,IAAIN,OAAO,KAAK,IAAI,IAAIP,UAAU,EAAE;MAClCQ,UAAU,CAAC,KAAK,CAAC;IACnB;EACF,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;EAER3B,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpB,MAAMC,YAAY,GAAGC,MAAM,CAACC,OAAO,CAACV,OAAO,CAAC;IAC5C,IAAIQ,YAAY,CAACG,MAAM,EAAE;MACvB,MAAMC,YAAY,GAAGJ,YAAY,CAACK,GAAG,CAAC,CAAC,GAAGC,UAAU,CAAC,EAAEzB,KAAK;QAAA;QAAA,OAAM;UAChEI,KAAK,sBAAEqB,UAAU,CAACC,IAAI,+DAAK,GAAE1B,KAAK,GAAG,CAAE,EAAC;UACxCF,KAAK,EAAED,cAAc,CAAC4B,UAAU,EAAElB,GAAG,EAAEP,KAAK,CAAC;UAC7C2B,OAAO,EAAE,MAAMlB,SAAS,CAACT,KAAK;QAChC,CAAC;MAAA,CAAC,CAAC;MAEHgB,QAAQ,CAACO,YAAY,CAAC;IACxB;EACF,CAAC,EAAE,CAACZ,OAAO,EAAEJ,GAAG,EAAEE,SAAS,CAAC,CAAC;EAE7B,MAAMmB,aAAa,GAAG,MAAM;IAC1Bf,UAAU,CAAEgB,UAAU,IAAK,CAACA,UAAU,CAAC;EACzC,CAAC;EAED,oBACE,KAAC,aAAa;IACZ,SAAS,EAAErB,OAAO,CAACsB,eAAgB;IACnC,OAAO,EAAE;MAAEC,gBAAgB,EAAEvB,OAAO,CAACuB;IAAiB,CAAE;IAAA,uBAExD,MAAC,MAAM;MACL,SAAS;MACT,cAAc,EAAC,eAAe;MAC9B,UAAU,EAAC,QAAQ;MACnB,SAAS,EAAEvB,OAAO,CAACwB,cAAe;MAAA,WAEjC5B,KAAK,iBACJ,KAAC,YAAY;QAAC,OAAO,EAAC,SAAS;QAAC,SAAS,EAAC,IAAI;QAAA,UAC3CA;MAAK,EAET,EACA,CAAC,CAACW,KAAK,CAACO,MAAM,iBACb,KAAC,gBAAgB;QACf,SAAS,EAAEd,OAAO,CAACyB,aAAc;QACjC,KAAK,EAAElB,KAAM;QACb,IAAI,sBAAEL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEwB,IAAI,+DAAI,SAAU;QACpC,QAAQ,0BAAExB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEyB,QAAQ,uEAAI,IAAK;QACvC,KAAK,uBAAEzB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0B,KAAK,iEAAI;UAAEC,EAAE,EAAE,GAAG;UAAEC,EAAE,EAAE,GAAG;UAAEC,EAAE,EAAE,GAAG;UAAEC,EAAE,EAAE;QAAI;MAAE,EAEtE,EACAnC,UAAU,iBACT,MAAC,QAAQ;QACP,QAAQ,EAAC,WAAW;QACpB,SAAS,EAAEG,OAAO,CAACiC,WAAY;QAC/B,OAAO,EAAE;UAAEC,IAAI,EAAElC,OAAO,CAACmC;QAAkB,CAAE;QAC7C,OAAO,EAAEf,aAAc;QAAA,8CAEvB,KAAC,MAAM,KAAG,QAAG,sBAAEtB,MAAM,CAACM,OAAO,6DAAI,SAAU,EAAC;MAAA,EAE/C;IAAA;EACM,EACK;AAEpB,CAAC;AAED,wCAAAT,aAAa,CAACyC,SAAS,GAAG;EACxB;AACF;AACA;EACEpC,OAAO,EAAErB,SAAS,CAAC0D,KAAK,CAAC;IACvB;AACJ;AACA;IACIf,eAAe,EAAE3C,SAAS,CAAC2D,MAAM;IACjC;AACJ;AACA;IACIf,gBAAgB,EAAE5C,SAAS,CAAC2D,MAAM;IAClC;AACJ;AACA;IACId,cAAc,EAAE7C,SAAS,CAAC2D,MAAM;IAChC;AACJ;AACA;IACIL,WAAW,EAAEtD,SAAS,CAAC2D,MAAM;IAC7B;AACJ;AACA;IACIH,iBAAiB,EAAExD,SAAS,CAAC2D,MAAM;IACnC;AACJ;AACA;IACIb,aAAa,EAAE9C,SAAS,CAAC2D;EAC3B,CAAC,CAAC;EACF;AACF;AACA;EACE1C,KAAK,EAAEjB,SAAS,CAAC2D,MAAM;EACvB;AACF;AACA;EACEzC,UAAU,EAAElB,SAAS,CAAC4D,IAAI;EAC1B;AACF;AACA;EACEzC,MAAM,EAAEnB,SAAS,CAAC0D,KAAK,CAAC;IACtB;AACJ;AACA;IACIjC,OAAO,EAAEzB,SAAS,CAAC2D;EACrB,CAAC,CAAC;EACF;AACF;AACA;EACEvC,GAAG,EAAEpB,SAAS,CAAC6D,MAAM,CAACC,UAAU;EAChC;AACF;AACA;EACExC,SAAS,EAAEtB,SAAS,CAAC+D,IAAI,CAACD,UAAU;EACpC;AACF;AACA;EACEvC,UAAU,EAAEvB,SAAS,CAAC0D,KAAK,CAAC;IAC1B;AACJ;AACA;IACIX,IAAI,EAAE/C,SAAS,CAACgE,KAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5C;AACJ;AACA;IACIhB,QAAQ,EAAEhD,SAAS,CAACgE,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD;AACJ;AACA;IACIf,KAAK,EAAEjD,SAAS,CAAC0D,KAAK,CAAC;MACrBR,EAAE,EAAElD,SAAS,CAAC6D,MAAM;MACpBV,EAAE,EAAEnD,SAAS,CAAC6D,MAAM;MACpBT,EAAE,EAAEpD,SAAS,CAAC6D,MAAM;MACpBR,EAAE,EAAErD,SAAS,CAAC6D,MAAM;MACpBI,EAAE,EAAEjE,SAAS,CAAC6D;IAChB,CAAC;EACH,CAAC;AACH,CAAC;AAED,eAAe5D,UAAU,CAACQ,MAAM,EAAE;EAAE8B,IAAI,EAAE;AAAgB,CAAC,CAAC,CAACvB,aAAa,CAAC"}
1
+ {"version":3,"file":"WizardTitle.js","names":["React","PropTypes","withStyles","HvButton","HvDialogTitle","HvGrid","HvTypography","Report","HvStepNavigation","HvWizardContext","styles","switchTabState","state","currentTab","index","valid","touched","HvWizardTitle","title","hasSummary","labels","tab","classes","changeTab","customStep","context","summary","setSummary","useContext","steps","setSteps","useState","useEffect","contextArray","Object","entries","length","updatedSteps","map","childState","name","onClick","toggleSummary","oldSummary","headerContainer","messageContainer","titleContainer","stepContainer","type","stepSize","width","xs","sm","md","lg","buttonWidth","root","rootSummaryButton","propTypes","shape","string","bool","number","isRequired","func","oneOf","xl"],"sources":["../../../../src/Wizard/WizardTitle/WizardTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvButton, HvDialogTitle, HvGrid, HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport { Report } from \"@hitachivantara/uikit-react-icons\";\nimport { HvStepNavigation } from \"@hitachivantara/uikit-react-lab\";\nimport HvWizardContext from \"../WizardContext\";\n\nimport styles from \"./styles\";\n\nconst switchTabState = (state, currentTab, index) => {\n if (index === currentTab) return \"Current\";\n if (state.valid) return \"Completed\";\n if (state.valid === null) return \"Enabled\";\n if (state.touched && state.valid === false) return \"Failed\";\n // \"Disabled\"\n // \"Pending\"\n return \"Enabled\";\n};\n\nconst HvWizardTitle = ({\n title,\n hasSummary = false,\n labels = {},\n tab,\n classes,\n changeTab,\n customStep = {},\n}) => {\n const { context, summary, setSummary } = React.useContext(HvWizardContext);\n const [steps, setSteps] = React.useState([]);\n\n React.useEffect(() => {\n if (summary === null && hasSummary) {\n setSummary(false);\n }\n\n return () => {\n setSummary(false);\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n const contextArray = Object.entries(context);\n if (contextArray.length) {\n const updatedSteps = contextArray.map(([, childState], index) => ({\n title: childState.name ?? `${index + 1}`,\n state: switchTabState(childState, tab, index),\n onClick: () => changeTab(index),\n }));\n\n setSteps(updatedSteps);\n }\n }, [context, tab, changeTab]);\n\n const toggleSummary = () => {\n setSummary((oldSummary) => !oldSummary);\n };\n\n return (\n <HvDialogTitle\n className={classes.headerContainer}\n classes={{ messageContainer: classes.messageContainer }}\n >\n <HvGrid\n container\n justifyContent=\"space-between\"\n alignItems=\"center\"\n className={classes.titleContainer}\n >\n {title && (\n <HvTypography variant=\"xsTitle\" component=\"h3\">\n {title}\n </HvTypography>\n )}\n {!!steps.length && (\n <HvStepNavigation\n className={classes.stepContainer}\n steps={steps}\n type={customStep?.type ?? \"Default\"}\n stepSize={customStep?.stepSize ?? \"XS\"}\n width={customStep?.width ?? { xs: 200, sm: 350, md: 600, lg: 800 }}\n />\n )}\n {hasSummary && (\n <HvButton\n category=\"secondary\"\n className={classes.buttonWidth}\n classes={{ root: classes.rootSummaryButton }}\n onClick={toggleSummary}\n >\n <Report /> {`${labels.summary ?? \"Summary\"}`}\n </HvButton>\n )}\n </HvGrid>\n </HvDialogTitle>\n );\n};\n\nHvWizardTitle.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the header container.\n */\n headerContainer: PropTypes.string,\n /**\n * Styles applied to override the Dialog Title styles.\n */\n messageContainer: PropTypes.string,\n /**\n * Styles applied to the header content container.\n */\n titleContainer: PropTypes.string,\n /**\n * Styles applied to the Button component to override its width.\n */\n buttonWidth: PropTypes.string,\n /**\n * Styles applied to the Button component to override its right padding.\n */\n rootSummaryButton: PropTypes.string,\n /**\n *\n */\n stepContainer: PropTypes.string,\n }),\n /**\n * Title for the wizard.\n */\n title: PropTypes.string,\n /**\n * Shows the summary button.\n */\n hasSummary: PropTypes.bool,\n /**\n * An object containing all the labels for the wizard header.\n */\n labels: PropTypes.shape({\n /**\n * Summary button label.\n */\n summary: PropTypes.string,\n }),\n /**\n * Current tab to check if it's last page or first to disable previous button and swap between next and submit button.\n */\n tab: PropTypes.number.isRequired,\n /**\n * Function to change the tab when pressing previous and next buttons.\n */\n changeTab: PropTypes.func.isRequired,\n /**\n * Custom object to define type, size and width of the StepNavigation component\n */\n customStep: PropTypes.shape({\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component element on each breakpoint screen resolution.\n */\n width: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvWizardTitle\" })(HvWizardTitle);\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hitachivantara/uikit-react-lab",
3
- "version": "4.1.2",
3
+ "version": "4.2.0",
4
4
  "description": "A collection of contributed React components for the Hitachi Vantara's Design System.",
5
5
  "homepage": "https://github.com/lumada-design/hv-uikit-react",
6
6
  "license": "Apache-2.0",
@@ -44,8 +44,8 @@
44
44
  "react-dom": "^16.13.1 || ^17.0.2"
45
45
  },
46
46
  "dependencies": {
47
- "@hitachivantara/uikit-react-core": "^4.1.1",
48
- "@hitachivantara/uikit-react-icons": "^4.0.3",
47
+ "@hitachivantara/uikit-react-core": "^4.2.0",
48
+ "@hitachivantara/uikit-react-icons": "^4.0.4",
49
49
  "clsx": "^1.2.1",
50
50
  "dayjs": "^1.11.4",
51
51
  "lodash": "^4.17.21",
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "39f4c4f5d0d0ba4d5e4ebf1ebfddcba9c5edb7d4"
66
+ "gitHead": "5212d5d63e44583064ade7cfd1ecfceec91ca7b9"
67
67
  }