@hitachivantara/uikit-react-lab 4.0.4 → 4.1.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 (37) hide show
  1. package/dist/StepNavigation/StepNavigation.d.ts +12 -10
  2. package/dist/Wizard/Wizard.d.ts +4 -0
  3. package/dist/Wizard/Wizard.js +18 -6
  4. package/dist/Wizard/Wizard.js.map +1 -1
  5. package/dist/Wizard/WizardContent/WizardContent.d.ts +4 -0
  6. package/dist/Wizard/WizardContent/WizardContent.js +76 -8
  7. package/dist/Wizard/WizardContent/WizardContent.js.map +1 -1
  8. package/dist/Wizard/WizardContent/styles.js +16 -2
  9. package/dist/Wizard/WizardContent/styles.js.map +1 -1
  10. package/dist/Wizard/WizardContext/WizardContext.d.ts +4 -6
  11. package/dist/Wizard/WizardTitle/WizardTitle.js +15 -1
  12. package/dist/Wizard/WizardTitle/WizardTitle.js.map +1 -1
  13. package/dist/legacy/StepNavigation/StepNavigation.d.ts +12 -10
  14. package/dist/legacy/Wizard/Wizard.d.ts +4 -0
  15. package/dist/legacy/Wizard/Wizard.js +18 -6
  16. package/dist/legacy/Wizard/Wizard.js.map +1 -1
  17. package/dist/legacy/Wizard/WizardContent/WizardContent.d.ts +4 -0
  18. package/dist/legacy/Wizard/WizardContent/WizardContent.js +77 -8
  19. package/dist/legacy/Wizard/WizardContent/WizardContent.js.map +1 -1
  20. package/dist/legacy/Wizard/WizardContent/styles.js +16 -2
  21. package/dist/legacy/Wizard/WizardContent/styles.js.map +1 -1
  22. package/dist/legacy/Wizard/WizardContext/WizardContext.d.ts +4 -6
  23. package/dist/legacy/Wizard/WizardTitle/WizardTitle.js +15 -1
  24. package/dist/legacy/Wizard/WizardTitle/WizardTitle.js.map +1 -1
  25. package/dist/modern/StepNavigation/StepNavigation.d.ts +12 -10
  26. package/dist/modern/Wizard/Wizard.d.ts +4 -0
  27. package/dist/modern/Wizard/Wizard.js +12 -3
  28. package/dist/modern/Wizard/Wizard.js.map +1 -1
  29. package/dist/modern/Wizard/WizardContent/WizardContent.d.ts +4 -0
  30. package/dist/modern/Wizard/WizardContent/WizardContent.js +65 -8
  31. package/dist/modern/Wizard/WizardContent/WizardContent.js.map +1 -1
  32. package/dist/modern/Wizard/WizardContent/styles.js +16 -2
  33. package/dist/modern/Wizard/WizardContent/styles.js.map +1 -1
  34. package/dist/modern/Wizard/WizardContext/WizardContext.d.ts +4 -6
  35. package/dist/modern/Wizard/WizardTitle/WizardTitle.js +13 -1
  36. package/dist/modern/Wizard/WizardTitle/WizardTitle.js.map +1 -1
  37. package/package.json +5 -4
@@ -4,18 +4,24 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
  import React from "react";
5
5
  import PropTypes from "prop-types";
6
6
  import { withStyles } from "@mui/styles";
7
+ import useResizeAware from "react-resize-aware";
7
8
  import clsx from "clsx";
8
9
  import { HvDialogContent } from "@hitachivantara/uikit-react-core";
9
10
  import HvWizardContext from "../WizardContext";
10
11
  import LoadingContainer from "./LoadingContainer";
11
12
  import styles from "./styles";
12
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ const DRAWER_PERCENTAGE = 0.3;
16
+ const MODAL_MARGIN = 20;
17
+ const DRAWER_MIN_WIDTH = 280;
13
18
  const HvWizardContent = ({
14
19
  classes,
15
20
  fixedHeight = false,
16
21
  loading = false,
17
22
  children,
18
- tab
23
+ tab,
24
+ summaryContent
19
25
  }) => {
20
26
  const arrayChildren = React.Children.toArray(children);
21
27
  const initialContext = arrayChildren.reduce((acc, child, index) => {
@@ -31,8 +37,33 @@ const HvWizardContent = ({
31
37
  }, {});
32
38
  const {
33
39
  context,
34
- setContext
40
+ setContext,
41
+ summary
35
42
  } = React.useContext(HvWizardContext);
43
+ const resizedRef = React.useRef({
44
+ width: 0,
45
+ height: 0
46
+ });
47
+ const [resizeListener, sizes] = useResizeAware();
48
+ const [summaryHeight, setSummaryHeight] = React.useState(0);
49
+ const [summaryWidth, setSummaryWidth] = React.useState(0);
50
+ const [summaryLeft, setSummaryLeft] = React.useState(0);
51
+ const updateSummaryMeasures = React.useCallback(newSizes => {
52
+ const modalWidth = newSizes.width;
53
+ const drawerWidth = modalWidth * DRAWER_PERCENTAGE;
54
+ setSummaryHeight(newSizes.height);
55
+ setSummaryWidth(Math.max(drawerWidth, DRAWER_MIN_WIDTH));
56
+ setSummaryLeft(modalWidth - Math.max(drawerWidth, DRAWER_MIN_WIDTH) - MODAL_MARGIN);
57
+ }, []);
58
+ React.useEffect(() => {
59
+ if (summary && sizes.height !== resizedRef.current.height || sizes.width !== resizedRef.current.width) {
60
+ updateSummaryMeasures(sizes);
61
+ resizedRef.current = {
62
+ height: sizes.height,
63
+ width: sizes.width
64
+ };
65
+ }
66
+ }, [sizes, summary, updateSummaryMeasures]);
36
67
  React.useEffect(() => {
37
68
  setContext(initialContext);
38
69
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
@@ -53,12 +84,26 @@ const HvWizardContent = ({
53
84
  }, {});
54
85
  setContext(updatedContext);
55
86
  }
87
+ updateSummaryMeasures(sizes);
56
88
  }, [tab]); // eslint-disable-line react-hooks/exhaustive-deps
57
89
 
58
- return /*#__PURE__*/_jsx(HvDialogContent, {
90
+ const translateX = summaryWidth ? summaryWidth + 10 : 450;
91
+ return /*#__PURE__*/_jsxs(HvDialogContent, {
59
92
  className: clsx(classes.contentContainer, fixedHeight && classes.fixedHeight),
60
93
  indentContent: true,
61
- children: /*#__PURE__*/_jsx(LoadingContainer, {
94
+ children: [resizeListener, /*#__PURE__*/_jsx("div", {
95
+ className: classes.summarySticky,
96
+ children: /*#__PURE__*/_jsx("div", {
97
+ className: classes.summaryContainer,
98
+ style: {
99
+ left: summaryLeft,
100
+ width: summaryWidth,
101
+ height: summaryHeight,
102
+ transform: `translate(${summary ? 0 : translateX}px, 0)`
103
+ },
104
+ children: summaryContent
105
+ })
106
+ }), /*#__PURE__*/_jsx(LoadingContainer, {
62
107
  hidden: !loading,
63
108
  children: React.Children.map(arrayChildren, (child, index) => {
64
109
  if (index === tab) {
@@ -68,7 +113,7 @@ const HvWizardContent = ({
68
113
  }
69
114
  return null;
70
115
  })
71
- })
116
+ })]
72
117
  });
73
118
  };
74
119
  process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
@@ -85,13 +130,21 @@ process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
85
130
  */
86
131
  classes: PropTypes.shape({
87
132
  /**
88
- * Style applied to the Wizard content container
133
+ * Style applied to the Wizard content container.
89
134
  */
90
135
  contentContainer: PropTypes.string,
91
136
  /**
92
137
  * Style applied to the Wizard to fix its height.
93
138
  */
94
- fixedHeight: PropTypes.string
139
+ fixedHeight: PropTypes.string,
140
+ /**
141
+ * Style applied to the Summary container to stick it to the top.
142
+ */
143
+ summarySticky: PropTypes.string,
144
+ /**
145
+ * Style applied to the Summary container to position it on the right.
146
+ */
147
+ summaryContainer: PropTypes.string
95
148
  }).isRequired,
96
149
  /**
97
150
  * Forces minimum height to the component.
@@ -100,7 +153,11 @@ process.env.NODE_ENV !== "production" ? HvWizardContent.propTypes = {
100
153
  /**
101
154
  * Whether the loading animation is shown.
102
155
  */
103
- loading: PropTypes.bool
156
+ loading: PropTypes.bool,
157
+ /**
158
+ * The content of the summary.
159
+ */
160
+ summaryContent: PropTypes.node
104
161
  } : void 0;
105
162
  export default withStyles(styles, {
106
163
  name: "HvWizardContent"
@@ -1 +1 @@
1
- {"version":3,"file":"WizardContent.js","names":["React","PropTypes","withStyles","clsx","HvDialogContent","HvWizardContext","LoadingContainer","styles","HvWizardContent","classes","fixedHeight","loading","children","tab","arrayChildren","Children","toArray","initialContext","reduce","acc","child","index","invalid","props","mustValidate","valid","form","touched","context","setContext","useContext","useEffect","updatedContext","Object","entries","key","childState","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 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 HvWizardContent = ({ classes, fixedHeight = false, loading = false, children, tab }) => {\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 } = React.useContext(HvWizardContext);\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 return (\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 );\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 }).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\nexport default withStyles(styles, { name: \"HvWizardContent\" })(HvWizardContent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"WizardContent.js","names":["React","PropTypes","withStyles","useResizeAware","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","resizeListener","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 useResizeAware from \"react-resize-aware\";\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 [resizeListener, sizes] = useResizeAware();\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 <HvDialogContent\n className={clsx(classes.contentContainer, {\n [classes.fixedHeight]: fixedHeight,\n })}\n indentContent\n >\n {resizeListener}\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 <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 );\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,12 +1,26 @@
1
- const styles = () => ({
1
+ const styles = theme => ({
2
2
  contentContainer: {
3
3
  position: "relative",
4
4
  padding: 20,
5
5
  marginLeft: 0,
6
- minHeight: 400
6
+ minHeight: 400,
7
+ overflowX: "hidden"
7
8
  },
8
9
  fixedHeight: {
9
10
  minHeight: "calc(100vh - 387px)"
11
+ },
12
+ summarySticky: {
13
+ position: "sticky",
14
+ top: 0
15
+ },
16
+ summaryContainer: {
17
+ position: "absolute",
18
+ minWidth: 280,
19
+ boxShadow: theme.hv.shadows[1],
20
+ backgroundColor: theme.hv.palette.atmosphere.atmo1,
21
+ transition: "transform 0.3s",
22
+ transitionTimingFunction: "ease-in-out",
23
+ overflowY: "scroll"
10
24
  }
11
25
  });
12
26
  export default styles;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","contentContainer","position","padding","marginLeft","minHeight","fixedHeight"],"sources":["../../../../src/Wizard/WizardContent/styles.js"],"sourcesContent":["const styles = () => ({\n contentContainer: {\n position: \"relative\",\n padding: 20,\n marginLeft: 0,\n minHeight: 400,\n },\n fixedHeight: {\n minHeight: \"calc(100vh - 387px)\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,OAAO;EACpBC,gBAAgB,EAAE;IAChBC,QAAQ,EAAE,UAAU;IACpBC,OAAO,EAAE,EAAE;IACXC,UAAU,EAAE,CAAC;IACbC,SAAS,EAAE;EACb,CAAC;EACDC,WAAW,EAAE;IACXD,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,eAAeL,MAAM"}
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 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;IACpBS,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,12 +1,10 @@
1
1
  import React from "react";
2
2
 
3
- export type HvWizardContextClassKey = "root";
4
-
5
3
  export type HvWizardContextProps = {
6
4
  context: any;
7
- setContext: () => void;
5
+ setContext: (values: any) => void;
8
6
  };
9
7
 
10
- export default function HvWizardContext(
11
- props: HvWizardContextProps
12
- ): React.Context<HvWizardContextProps>;
8
+ declare const HvWizardContext: React.Context<HvWizardContextProps>;
9
+
10
+ export default HvWizardContext;
@@ -29,9 +29,17 @@ const HvWizardTitle = ({
29
29
  }) => {
30
30
  var _customStep$type, _customStep$stepSize, _customStep$width, _labels$summary;
31
31
  const {
32
- context
32
+ context,
33
+ summary,
34
+ setSummary
33
35
  } = React.useContext(HvWizardContext);
34
36
  const [steps, setSteps] = React.useState([]);
37
+ React.useEffect(() => {
38
+ if (summary === null && hasSummary) {
39
+ setSummary(false);
40
+ }
41
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
42
+
35
43
  React.useEffect(() => {
36
44
  const contextArray = Object.entries(context);
37
45
  if (contextArray.length) {
@@ -46,6 +54,9 @@ const HvWizardTitle = ({
46
54
  setSteps(updatedSteps);
47
55
  }
48
56
  }, [context, tab, changeTab]);
57
+ const toggleSummary = () => {
58
+ setSummary(oldSummary => !oldSummary);
59
+ };
49
60
  return /*#__PURE__*/_jsx(HvDialogTitle, {
50
61
  className: classes.headerContainer,
51
62
  classes: {
@@ -77,6 +88,7 @@ const HvWizardTitle = ({
77
88
  classes: {
78
89
  root: classes.rootSummaryButton
79
90
  },
91
+ onClick: toggleSummary,
80
92
  children: [_Report || (_Report = /*#__PURE__*/_jsx(Report, {})), " ", `${(_labels$summary = labels.summary) !== null && _labels$summary !== void 0 ? _labels$summary : "Summary"}`]
81
93
  })]
82
94
  })
@@ -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","useContext","steps","setSteps","useState","useEffect","contextArray","Object","entries","length","updatedSteps","map","childState","name","onClick","headerContainer","messageContainer","titleContainer","stepContainer","type","stepSize","width","xs","sm","md","lg","buttonWidth","root","rootSummaryButton","summary","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 } = React.useContext(HvWizardContext);\n const [steps, setSteps] = React.useState([]);\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 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 >\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","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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hitachivantara/uikit-react-lab",
3
- "version": "4.0.4",
3
+ "version": "4.1.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,14 +44,15 @@
44
44
  "react-dom": "^16.13.1 || ^17.0.2"
45
45
  },
46
46
  "dependencies": {
47
- "@hitachivantara/uikit-react-core": "^4.0.4",
47
+ "@hitachivantara/uikit-react-core": "^4.1.0",
48
48
  "@hitachivantara/uikit-react-icons": "^4.0.3",
49
49
  "clsx": "^1.2.1",
50
50
  "dayjs": "^1.11.4",
51
51
  "lodash": "^4.17.21",
52
52
  "prop-types": "^15.8.1",
53
53
  "rc-tooltip": "^5.2.2",
54
- "react-color": "^2.19.3"
54
+ "react-color": "^2.19.3",
55
+ "react-resize-aware": "^3.1.1"
55
56
  },
56
57
  "devDependencies": {
57
58
  "@types/react": "^17.0.47"
@@ -62,5 +63,5 @@
62
63
  "publishConfig": {
63
64
  "access": "public"
64
65
  },
65
- "gitHead": "1861d424d32437aa1a9cbda0c17c706f65d0e853"
66
+ "gitHead": "73337338eb03a7fa1f4f6ef819c2bf0c086aab31"
66
67
  }