@hitachivantara/uikit-react-lab 4.1.3 → 4.2.1

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.
@@ -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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"}
@@ -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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"}
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hitachivantara/uikit-react-lab",
3
- "version": "4.1.3",
3
+ "version": "4.2.1",
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.3.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": "c5516d4272d8dc5237861c1fe11088e1de3dcd48"
66
+ "gitHead": "eff5a387f0c68717be80ccd2cf60e8cf06dade94"
67
67
  }