@widergy/energy-ui 3.3.0 → 3.4.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 (44) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/UTAutocomplete/theme.js +2 -2
  3. package/dist/components/UTBanner/index.js +38 -0
  4. package/dist/components/UTBanner/styles.module.scss +7 -0
  5. package/dist/components/UTBanner/theme.js +18 -0
  6. package/dist/components/UTButton/index.js +1 -5
  7. package/dist/components/UTCarousel/components/Slider/index.js +17 -17
  8. package/dist/components/UTHeader/assets/edit.svg +3 -0
  9. package/dist/components/UTHeader/assets/ellipsis.svg +3 -0
  10. package/dist/components/UTHeader/index.js +149 -0
  11. package/dist/components/UTHeader/styles.module.scss +39 -0
  12. package/dist/components/UTHeader/theme.js +21 -0
  13. package/dist/components/UTProgressBar/index.js +2 -2
  14. package/dist/components/UTSelect/index.js +2 -2
  15. package/dist/components/UTSelect/theme.js +2 -2
  16. package/dist/components/UTStepper/components/Connectors/index.js +44 -0
  17. package/dist/components/UTStepper/components/Connectors/styles.module.scss +19 -0
  18. package/dist/components/UTStepper/components/Step/assets/check.svg +5 -0
  19. package/dist/components/UTStepper/components/Step/index.js +61 -0
  20. package/dist/components/UTStepper/components/Step/styles.module.scss +67 -0
  21. package/dist/components/UTStepper/constants.js +10 -0
  22. package/dist/components/UTStepper/index.js +64 -0
  23. package/dist/components/UTStepper/styles.module.scss +27 -0
  24. package/dist/components/UTStepper/theme.js +50 -0
  25. package/dist/components/UTTextInput/theme.js +2 -2
  26. package/dist/components/UTWorkflowContainer/index.js +12 -114
  27. package/dist/components/UTWorkflowContainer/{components → versions/V0/components}/ActionButton/index.js +1 -1
  28. package/dist/components/UTWorkflowContainer/versions/V0/index.js +128 -0
  29. package/dist/components/UTWorkflowContainer/{theme.js → versions/V0/theme.js} +2 -2
  30. package/dist/components/UTWorkflowContainer/versions/V1/README.md +37 -0
  31. package/dist/components/UTWorkflowContainer/versions/V1/components/NavActions/constants.js +8 -0
  32. package/dist/components/UTWorkflowContainer/versions/V1/components/NavActions/index.js +94 -0
  33. package/dist/components/UTWorkflowContainer/versions/V1/components/NavActions/styles.module.scss +34 -0
  34. package/dist/components/UTWorkflowContainer/versions/V1/index.js +132 -0
  35. package/dist/components/UTWorkflowContainer/versions/V1/styles.module.scss +38 -0
  36. package/dist/components/UTWorkflowContainer/versions/V1/theme.js +32 -0
  37. package/dist/components/UTWorkflowContainer/versions/V1/types.js +15 -0
  38. package/dist/scss/variables/mediaQueries.module.scss +1 -1
  39. package/package.json +1 -1
  40. /package/dist/components/UTWorkflowContainer/{components → versions/V0/components}/ActionButton/styles.module.scss +0 -0
  41. /package/dist/components/UTWorkflowContainer/{constants.js → versions/V0/constants.js} +0 -0
  42. /package/dist/components/UTWorkflowContainer/{hooks → versions/V0/hooks}/use-previous.js +0 -0
  43. /package/dist/components/UTWorkflowContainer/{styles.module.scss → versions/V0/styles.module.scss} +0 -0
  44. /package/dist/components/UTWorkflowContainer/{types.js → versions/V0/types.js} +0 -0
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = require("prop-types");
9
+ var _WithTheme = _interopRequireDefault(require("../WithTheme"));
10
+ var _classesUtils = require("../../utils/classesUtils");
11
+ var _Step = _interopRequireDefault(require("./components/Step"));
12
+ var _Connectors = _interopRequireDefault(require("./components/Connectors"));
13
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
14
+ var _theme = require("./theme");
15
+ var _constants = require("./constants");
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ const UTStepper = _ref => {
20
+ let {
21
+ classes: themeClasses = {},
22
+ classNames,
23
+ currentStage,
24
+ stages,
25
+ stepperSize,
26
+ withPadding
27
+ } = _ref;
28
+ const classes = (0, _react.useMemo)(() => (0, _classesUtils.mergeClasses)(themeClasses, classNames), [classNames]);
29
+ const orderedStages = Object.values(stages).sort((a, b) => (a === null || a === void 0 ? void 0 : a.id) - (b === null || b === void 0 ? void 0 : b.id));
30
+ const numberOfSteps = orderedStages.length;
31
+ const size = stepperSize === _constants.SIZES.LARGE && orderedStages.every(stage => stage.Icon) ? _constants.SIZES.LARGE : _constants.SIZES.SMALL;
32
+ const isCompleted = stageNumber => stageNumber < currentStage;
33
+ const isActive = stageNumber => stageNumber === currentStage;
34
+ return /*#__PURE__*/_react.default.createElement("div", {
35
+ className: _stylesModule.default.stepper
36
+ }, /*#__PURE__*/_react.default.createElement("div", {
37
+ className: withPadding ? _stylesModule.default.paddingContainer : _stylesModule.default.container
38
+ }, orderedStages.map(stage => /*#__PURE__*/_react.default.createElement(_Step.default, {
39
+ classes,
40
+ withPadding,
41
+ size,
42
+ isCompleted,
43
+ isActive,
44
+ stage
45
+ })), /*#__PURE__*/_react.default.createElement(_Connectors.default, {
46
+ classes,
47
+ withPadding,
48
+ isCompleted,
49
+ numberOfSteps
50
+ })));
51
+ };
52
+ UTStepper.propTypes = {
53
+ classes: (0, _propTypes.objectOf)(_propTypes.string),
54
+ classNames: (0, _propTypes.objectOf)(_propTypes.string),
55
+ currentStage: _propTypes.number,
56
+ stages: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
57
+ id: _propTypes.number,
58
+ label: _propTypes.string,
59
+ Icon: _propTypes.elementType
60
+ })),
61
+ stepperSize: (0, _propTypes.oneOf)([_constants.SIZES.LARGE, _constants.SIZES.SMALL]),
62
+ withPadding: _propTypes.bool
63
+ };
64
+ var _default = exports.default = (0, _WithTheme.default)(_theme.retrieveStyle)(UTStepper);
@@ -0,0 +1,27 @@
1
+ .stepper {
2
+ padding: 24px 0 48px;
3
+ }
4
+
5
+ .paddingContainer {
6
+ display: flex;
7
+ justify-content: space-around;
8
+ position: relative;
9
+ }
10
+
11
+ .container {
12
+ display: flex;
13
+ justify-content: space-between;
14
+ position: relative;
15
+
16
+ > :first-child {
17
+ > div {
18
+ left: -4px;
19
+ }
20
+ }
21
+
22
+ > :nth-last-child(2) {
23
+ > div {
24
+ right: -4px;
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.retrieveStyle = void 0;
7
+ var _colorsModule = _interopRequireDefault(require("../../scss/variables/colors.module.scss"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const retrieveStyle = _ref => {
10
+ var _theme$Palette, _theme$Palette2, _theme$Palette3, _theme$Palette4, _theme$Palette5, _theme$Palette6, _theme$Palette7, _theme$Palette8, _theme$Palette9, _theme$Palette10, _theme$Palette11;
11
+ let {
12
+ theme
13
+ } = _ref;
14
+ return {
15
+ connector: {
16
+ backgroundColor: (_theme$Palette = theme.Palette) === null || _theme$Palette === void 0 ? void 0 : _theme$Palette.light['05']
17
+ },
18
+ coloredProgress: {
19
+ backgroundColor: "".concat((_theme$Palette2 = theme.Palette) === null || _theme$Palette2 === void 0 || (_theme$Palette2 = _theme$Palette2.actions) === null || _theme$Palette2 === void 0 ? void 0 : _theme$Palette2.accent['04'], " !important")
20
+ },
21
+ stepContainerS: {
22
+ backgroundColor: (_theme$Palette3 = theme.Palette) === null || _theme$Palette3 === void 0 ? void 0 : _theme$Palette3.light['05'],
23
+ borderColor: (_theme$Palette4 = theme.Palette) === null || _theme$Palette4 === void 0 ? void 0 : _theme$Palette4.light['03']
24
+ },
25
+ stepContainerL: {
26
+ backgroundColor: (_theme$Palette5 = theme.Palette) === null || _theme$Palette5 === void 0 ? void 0 : _theme$Palette5.light['03']
27
+ },
28
+ activeS: {
29
+ backgroundColor: _colorsModule.default.white,
30
+ borderColor: (_theme$Palette6 = theme.Palette) === null || _theme$Palette6 === void 0 || (_theme$Palette6 = _theme$Palette6.actions) === null || _theme$Palette6 === void 0 ? void 0 : _theme$Palette6.accent['04']
31
+ },
32
+ activeL: {
33
+ backgroundColor: (_theme$Palette7 = theme.Palette) === null || _theme$Palette7 === void 0 || (_theme$Palette7 = _theme$Palette7.actions) === null || _theme$Palette7 === void 0 ? void 0 : _theme$Palette7.accent['04']
34
+ },
35
+ completed: {
36
+ backgroundColor: (_theme$Palette8 = theme.Palette) === null || _theme$Palette8 === void 0 || (_theme$Palette8 = _theme$Palette8.actions) === null || _theme$Palette8 === void 0 ? void 0 : _theme$Palette8.accent['04'],
37
+ borderColor: (_theme$Palette9 = theme.Palette) === null || _theme$Palette9 === void 0 || (_theme$Palette9 = _theme$Palette9.actions) === null || _theme$Palette9 === void 0 ? void 0 : _theme$Palette9.accent['04']
38
+ },
39
+ activeIcon: {
40
+ fill: _colorsModule.default.white
41
+ },
42
+ nextIcon: {
43
+ fill: (_theme$Palette10 = theme.Palette) === null || _theme$Palette10 === void 0 ? void 0 : _theme$Palette10.gray['04']
44
+ },
45
+ coloredLabel: {
46
+ color: "".concat((_theme$Palette11 = theme.Palette) === null || _theme$Palette11 === void 0 || (_theme$Palette11 = _theme$Palette11.actions) === null || _theme$Palette11 === void 0 ? void 0 : _theme$Palette11.accent['04'], " !important")
47
+ }
48
+ };
49
+ };
50
+ exports.retrieveStyle = retrieveStyle;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.retrieveStyle = exports.retrieveMuiTheme = void 0;
7
7
  var _seamlessImmutable = require("seamless-immutable");
8
8
  var _styles = require("@material-ui/core/styles");
9
- var _lodash = _interopRequireDefault(require("lodash"));
9
+ var _merge = _interopRequireDefault(require("lodash/merge"));
10
10
  var _colorsModule = _interopRequireDefault(require("../../scss/variables/colors.module.scss"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  const retrieveStyle = _ref => {
@@ -129,6 +129,6 @@ const retrieveMuiTheme = (theme, muiTheme) => {
129
129
  }
130
130
  }
131
131
  };
132
- return (0, _styles.createTheme)(_lodash.default.merge(muiTheme, mui));
132
+ return (0, _styles.createTheme)((0, _merge.default)(muiTheme, mui));
133
133
  };
134
134
  exports.retrieveMuiTheme = retrieveMuiTheme;
@@ -4,125 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = require("prop-types");
9
- var _ArrowBack = _interopRequireDefault(require("@material-ui/icons/ArrowBack"));
10
- var _ArrowForward = _interopRequireDefault(require("@material-ui/icons/ArrowForward"));
11
- var _UTLabel = _interopRequireDefault(require("../UTLabel"));
12
- var _UTProgressBar = _interopRequireDefault(require("../UTProgressBar"));
13
- var _WithTheme = _interopRequireDefault(require("../WithTheme"));
14
- var _classesUtils = require("../../utils/classesUtils");
15
- var _ActionButton = _interopRequireDefault(require("./components/ActionButton"));
16
- var _constants = require("./constants");
17
- var _types = require("./types");
18
- var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
19
- var _theme = require("./theme");
20
- var _usePrevious = require("./hooks/use-previous");
9
+ var _V = _interopRequireDefault(require("./versions/V0"));
10
+ var _V2 = _interopRequireDefault(require("./versions/V1"));
21
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
12
  const UTWorkflowContainer = _ref => {
25
13
  let {
26
- backButton,
27
- children,
28
- classNames,
29
- classes: themeClasses = {},
30
- currentStep,
31
- extraActions,
32
- forceStepNumber = false,
33
- hideStepCounter,
34
- nextButton,
35
- onExit,
36
- smallButtons = false,
37
- stepCounter: StepCounter,
38
- stepsCount,
39
- subtitle,
40
- title,
41
- TitleIcon,
42
- withIcon = false
14
+ version = 'V0',
15
+ ...props
43
16
  } = _ref;
44
- (0, _react.useEffect)(() => () => onExit && onExit(), []);
45
- const classes = (0, _react.useMemo)(() => (0, _classesUtils.mergeClasses)(themeClasses, classNames), [classNames]);
46
- const BackIcon = backButton.Icon || _ArrowBack.default;
47
- const NextIcon = nextButton.Icon || _ArrowForward.default;
48
- const previousStepNumber = (0, _usePrevious.usePrevious)(currentStep);
49
- const [visibleStepNumber, setVisibleStepNumber] = (0, _react.useState)(currentStep);
50
- const skippedStepsQuantity = currentStep - visibleStepNumber;
51
- (0, _react.useEffect)(() => {
52
- if (previousStepNumber) setVisibleStepNumber(visibleStepNumber + Math.sign(currentStep - previousStepNumber));
53
- }, [currentStep]);
54
- const hideActions = (currentStep === 1 && !backButton.isVisible || backButton.isHidden) && hideStepCounter && nextButton.isHidden;
55
- return /*#__PURE__*/_react.default.createElement("div", {
56
- className: classes.container
57
- }, /*#__PURE__*/_react.default.createElement("div", {
58
- className: classes.progress
59
- }, stepsCount && /*#__PURE__*/_react.default.createElement(_UTProgressBar.default, {
60
- value: visibleStepNumber / (stepsCount - skippedStepsQuantity) * 100,
61
- classNames: {
62
- colorPrimary: classes.colorPrimary,
63
- barColorPrimary: classes.barColorPrimary
64
- }
65
- })), /*#__PURE__*/_react.default.createElement("div", {
66
- className: "".concat(classes.workflowContainer, " ").concat(_stylesModule.default.workflowContainer)
67
- }, /*#__PURE__*/_react.default.createElement("div", {
68
- className: "\n ".concat(_stylesModule.default.actionsContainer, "\n ").concat(classes.actionsContainer, "\n ").concat(hideActions ? _stylesModule.default.hidden : '')
69
- }, /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
70
- button: backButton,
71
- isHidden: currentStep === 1 && !backButton.isVisible || backButton.isHidden,
72
- className: "".concat(classes.backButton, " ").concat(_stylesModule.default.backButton),
73
- buttonProps: {
74
- colorTheme: 'primary',
75
- Icon: (withIcon || smallButtons) && BackIcon,
76
- iconPlacement: 'left',
77
- variant: 'semitransparent'
78
- }
79
- }, !smallButtons && (backButton.label || _constants.BACK)), !hideStepCounter && visibleStepNumber && (StepCounter ? /*#__PURE__*/_react.default.createElement(StepCounter, null) : /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
80
- className: "".concat(_stylesModule.default.stepInfo, " ").concat(classes.stepCounter),
81
- weight: "medium"
82
- }, "".concat(_constants.STEP, " ").concat(forceStepNumber ? currentStep : visibleStepNumber))), extraActions, /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
83
- isHidden: nextButton.isHidden,
84
- button: nextButton,
85
- className: "".concat(classes.nextButton, " ").concat(_stylesModule.default.nextButton),
86
- buttonProps: {
87
- colorTheme: 'primary',
88
- Icon: (withIcon || smallButtons) && NextIcon,
89
- iconPlacement: 'right'
90
- }
91
- }, !smallButtons && (nextButton.label || _constants.NEXT))), /*#__PURE__*/_react.default.createElement("div", {
92
- className: "".concat(_stylesModule.default.workflowContent, " ").concat(classes.content)
93
- }, (title || subtitle) && /*#__PURE__*/_react.default.createElement("div", {
94
- className: classes.titles
95
- }, title && /*#__PURE__*/_react.default.createElement("div", {
96
- className: _stylesModule.default.titleAndTitleIconContainer
97
- }, TitleIcon && /*#__PURE__*/_react.default.createElement(TitleIcon, {
98
- className: classes.titleIcon
99
- }), /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
100
- variant: "title2",
101
- weight: "medium",
102
- withMarkdown: true
103
- }, title)), subtitle && /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
104
- className: _stylesModule.default.subtitle,
105
- colorTheme: "gray",
106
- withMarkdown: true
107
- }, subtitle)), children)));
17
+ const Component = {
18
+ V0: _V.default,
19
+ V1: _V2.default
20
+ }[version];
21
+ return /*#__PURE__*/_react.default.createElement(Component, props);
108
22
  };
109
23
  UTWorkflowContainer.propTypes = {
110
- backButton: _types.buttonTypes,
111
- children: _propTypes.element,
112
- classNames: (0, _propTypes.objectOf)(_propTypes.string),
113
- classes: (0, _propTypes.objectOf)(_propTypes.string),
114
- currentStep: _propTypes.number.isRequired,
115
- extraActions: _propTypes.element,
116
- forceStepNumber: _propTypes.bool,
117
- hideStepCounter: _propTypes.bool,
118
- nextButton: _types.buttonTypes,
119
- onExit: _propTypes.func,
120
- smallButtons: _propTypes.bool,
121
- stepCounter: (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.element]),
122
- stepsCount: _propTypes.number,
123
- subtitle: _propTypes.string,
124
- title: _propTypes.string,
125
- TitleIcon: _propTypes.element,
126
- withIcon: _propTypes.bool
24
+ version: _propTypes.string
127
25
  };
128
- var _default = exports.default = (0, _WithTheme.default)(_theme.retrieveStyle)(UTWorkflowContainer);
26
+ var _default = exports.default = UTWorkflowContainer;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = require("prop-types");
9
- var _UTButton = _interopRequireDefault(require("../../../UTButton"));
9
+ var _UTButton = _interopRequireDefault(require("../../../../../UTButton"));
10
10
  var _types = require("../../types");
11
11
  var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = require("prop-types");
9
+ var _ArrowBack = _interopRequireDefault(require("@material-ui/icons/ArrowBack"));
10
+ var _ArrowForward = _interopRequireDefault(require("@material-ui/icons/ArrowForward"));
11
+ var _UTLabel = _interopRequireDefault(require("../../../UTLabel"));
12
+ var _UTProgressBar = _interopRequireDefault(require("../../../UTProgressBar"));
13
+ var _WithTheme = _interopRequireDefault(require("../../../WithTheme"));
14
+ var _classesUtils = require("../../../../utils/classesUtils");
15
+ var _ActionButton = _interopRequireDefault(require("./components/ActionButton"));
16
+ var _constants = require("./constants");
17
+ var _types = require("./types");
18
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
19
+ var _theme = require("./theme");
20
+ var _usePrevious = require("./hooks/use-previous");
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
+ const UTWorkflowContainer = _ref => {
25
+ let {
26
+ backButton,
27
+ children,
28
+ classNames,
29
+ classes: themeClasses = {},
30
+ currentStep,
31
+ extraActions,
32
+ forceStepNumber = false,
33
+ hideStepCounter,
34
+ nextButton,
35
+ onExit,
36
+ smallButtons = false,
37
+ stepCounter: StepCounter,
38
+ stepsCount,
39
+ subtitle,
40
+ title,
41
+ TitleIcon,
42
+ withIcon = false
43
+ } = _ref;
44
+ (0, _react.useEffect)(() => () => onExit && onExit(), []);
45
+ const classes = (0, _react.useMemo)(() => (0, _classesUtils.mergeClasses)(themeClasses, classNames), [classNames]);
46
+ const BackIcon = backButton.Icon || _ArrowBack.default;
47
+ const NextIcon = nextButton.Icon || _ArrowForward.default;
48
+ const previousStepNumber = (0, _usePrevious.usePrevious)(currentStep);
49
+ const [visibleStepNumber, setVisibleStepNumber] = (0, _react.useState)(currentStep);
50
+ const skippedStepsQuantity = currentStep - visibleStepNumber;
51
+ (0, _react.useEffect)(() => {
52
+ if (previousStepNumber) setVisibleStepNumber(visibleStepNumber + Math.sign(currentStep - previousStepNumber));
53
+ }, [currentStep]);
54
+ const hideActions = (currentStep === 1 && !backButton.isVisible || backButton.isHidden) && hideStepCounter && nextButton.isHidden;
55
+ return /*#__PURE__*/_react.default.createElement("div", {
56
+ className: classes.container
57
+ }, /*#__PURE__*/_react.default.createElement("div", {
58
+ className: classes.progress
59
+ }, stepsCount && /*#__PURE__*/_react.default.createElement(_UTProgressBar.default, {
60
+ value: visibleStepNumber / (stepsCount - skippedStepsQuantity) * 100,
61
+ classNames: {
62
+ colorPrimary: classes.colorPrimary,
63
+ barColorPrimary: classes.barColorPrimary
64
+ }
65
+ })), /*#__PURE__*/_react.default.createElement("div", {
66
+ className: "".concat(classes.workflowContainer, " ").concat(_stylesModule.default.workflowContainer)
67
+ }, /*#__PURE__*/_react.default.createElement("div", {
68
+ className: "\n ".concat(_stylesModule.default.actionsContainer, "\n ").concat(classes.actionsContainer, "\n ").concat(hideActions ? _stylesModule.default.hidden : '')
69
+ }, /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
70
+ button: backButton,
71
+ isHidden: currentStep === 1 && !backButton.isVisible || backButton.isHidden,
72
+ className: "".concat(classes.backButton, " ").concat(_stylesModule.default.backButton),
73
+ buttonProps: {
74
+ colorTheme: 'primary',
75
+ Icon: (withIcon || smallButtons) && BackIcon,
76
+ iconPlacement: 'left',
77
+ variant: 'semitransparent'
78
+ }
79
+ }, !smallButtons && (backButton.label || _constants.BACK)), !hideStepCounter && visibleStepNumber && (StepCounter ? /*#__PURE__*/_react.default.createElement(StepCounter, null) : /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
80
+ className: "".concat(_stylesModule.default.stepInfo, " ").concat(classes.stepCounter),
81
+ weight: "medium"
82
+ }, "".concat(_constants.STEP, " ").concat(forceStepNumber ? currentStep : visibleStepNumber))), extraActions, /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
83
+ isHidden: nextButton.isHidden,
84
+ button: nextButton,
85
+ className: "".concat(classes.nextButton, " ").concat(_stylesModule.default.nextButton),
86
+ buttonProps: {
87
+ colorTheme: 'primary',
88
+ Icon: (withIcon || smallButtons) && NextIcon,
89
+ iconPlacement: 'right'
90
+ }
91
+ }, !smallButtons && (nextButton.label || _constants.NEXT))), /*#__PURE__*/_react.default.createElement("div", {
92
+ className: "".concat(_stylesModule.default.workflowContent, " ").concat(classes.content)
93
+ }, (title || subtitle) && /*#__PURE__*/_react.default.createElement("div", {
94
+ className: classes.titles
95
+ }, title && /*#__PURE__*/_react.default.createElement("div", {
96
+ className: _stylesModule.default.titleAndTitleIconContainer
97
+ }, TitleIcon && /*#__PURE__*/_react.default.createElement(TitleIcon, {
98
+ className: classes.titleIcon
99
+ }), /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
100
+ variant: "title2",
101
+ weight: "medium",
102
+ withMarkdown: true
103
+ }, title)), subtitle && /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
104
+ className: _stylesModule.default.subtitle,
105
+ colorTheme: "gray",
106
+ withMarkdown: true
107
+ }, subtitle)), children)));
108
+ };
109
+ UTWorkflowContainer.propTypes = {
110
+ backButton: _types.buttonTypes,
111
+ children: _propTypes.element,
112
+ classNames: (0, _propTypes.objectOf)(_propTypes.string),
113
+ classes: (0, _propTypes.objectOf)(_propTypes.string),
114
+ currentStep: _propTypes.number.isRequired,
115
+ extraActions: _propTypes.element,
116
+ forceStepNumber: _propTypes.bool,
117
+ hideStepCounter: _propTypes.bool,
118
+ nextButton: _types.buttonTypes,
119
+ onExit: _propTypes.func,
120
+ smallButtons: _propTypes.bool,
121
+ stepCounter: (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.element]),
122
+ stepsCount: _propTypes.number,
123
+ subtitle: _propTypes.string,
124
+ title: _propTypes.string,
125
+ TitleIcon: _propTypes.element,
126
+ withIcon: _propTypes.bool
127
+ };
128
+ var _default = exports.default = (0, _WithTheme.default)(_theme.retrieveStyle)(UTWorkflowContainer);
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.retrieveStyle = void 0;
7
7
  var _seamlessImmutable = require("seamless-immutable");
8
- var _colorsModule = _interopRequireDefault(require("../../scss/variables/colors.module.scss"));
9
- var _classesUtils = require("../../utils/classesUtils");
8
+ var _colorsModule = _interopRequireDefault(require("../../../../scss/variables/colors.module.scss"));
9
+ var _classesUtils = require("../../../../utils/classesUtils");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  const retrieveStyle = _ref => {
12
12
  var _theme$UTWorkflowCont, _theme$UTWorkflowCont2, _theme$UTWorkflowCont3;
@@ -0,0 +1,37 @@
1
+ # UTWorkflowContainer
2
+
3
+ ### Description
4
+
5
+ This component serves as a wrapper for each step of a workflow
6
+
7
+ ## Props
8
+
9
+ | Name | Type | Default | Description |
10
+ | ------------------ | ---------------- | ------- | ----------- |
11
+ | backButton | buttonType | | Defines behaviour and/or rendering of the button on the left corner.
12
+ | children | element | | The contents that will be rendered inside the component.
13
+ | classNames | object of string | | Additional classes.
14
+ | classes | object of string | | Classes returned by UTWorkflowContainer's own [theme](./theme.js#L40) `retrieveStyle`.
15
+ | currentStep | number | 1 | Receives a number that will fill up the progress bar proportionally to the number of steps given. It will also hide the backButton if its equal to 1. It is up to the parent component to update this number accordingly
16
+ | extraActions | element | | If needed, the parent component can pass as extraActions elements that will be rendered between the nextButton and the backButton.
17
+ | nextButton | buttonTypes | | Defines behaviour and/or rendering of the button on the right corner.
18
+ | onExit | function | | Cleanup function.
19
+ | stepsCount | number | | Receives a number that represent the total amount of steps. Its only purpose is for properly rendering the progressBar
20
+ | subtitle | string | | Text that will be rendered below the title.
21
+ | title | string | | Text that will be rendered between the stages and the content. It is required in order to show any other text header elements
22
+ | TitleIcon | element | | Icon that will be rendered on top of the title
23
+ | withIcon | bool | false | Defines whether the nextButton and backButton will aditionally have their own icons inside.
24
+ | helpText | string | | Text that will be rendered at the bottom of the header.
25
+ | stages | stageType | | Defines the structure of the stepper indicator at the top of the component. It is required for each key inside the object given to have a property `id`, the indicator will be ordered by id. Aditionally each stage is able to add a property `label` which will display at the bottom of the corresponding indicator.
26
+ | currentStage | number | | Receives a number that represents which stage id will be active. It is up to the parent component to update this number accordingly.
27
+ | tagline | string | | Text that will be rendered in uppercase on top of the title.
28
+ | requiredFieldInfo | string | | Text to display as a helper for required fields, it will be rendered below the description.
29
+ | stepperSize | 'S' \| 'L' | 'S' | Variant that defines whether to use small icons for the stepper indicator or large ones. It is required for the 'L' variant that every stage has a custom icon defined. If size is set to 'L' but there's at least one stage without a defined custom icon the size will be defaulted to 'S'
30
+ | withStepperPadding | bool | true | If false, the stepper indicator will occupy the full width of the container, rendering the first and last stage's label aligned towards the center.
31
+
32
+ ### Custom types
33
+
34
+ | Type | Shape |
35
+ | ---------- | ----- |
36
+ | buttonType | element \| `{ onClick: func, disabled: bool, label: string, buttonProps: object, Icon: bool \| element \| func }` |
37
+ | stageType | `[ { id: number, label: string, Icon: element }, ... ]` |
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NEXT = exports.BACK = void 0;
7
+ const NEXT = exports.NEXT = 'Siguiente';
8
+ const BACK = exports.BACK = 'Atrás';
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = require("prop-types");
9
+ var _UTButton = _interopRequireDefault(require("../../../../../UTButton"));
10
+ var _UTCheckbox = _interopRequireDefault(require("../../../../../UTCheckbox"));
11
+ var _useScreenSize = require("../../../../../../utils/useScreenSize");
12
+ var _types = require("../../types");
13
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
14
+ var _constants = require("./constants");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ const NavActions = _ref => {
19
+ let {
20
+ backButton = {},
21
+ checkbox,
22
+ currentStep,
23
+ nextButton = {},
24
+ primaryAction,
25
+ secondaryAction
26
+ } = _ref;
27
+ const {
28
+ isMobileOrTablet
29
+ } = (0, _useScreenSize.useScreenSize)();
30
+ const isBackButtonHidden = currentStep === 1 && !backButton.isVisible || backButton.isHidden;
31
+ const hideActions = isBackButtonHidden && nextButton.isHidden;
32
+ return /*#__PURE__*/_react.default.createElement("div", {
33
+ className: "\n ".concat(_stylesModule.default.actionsContainer, "\n ").concat(hideActions ? _stylesModule.default.hidden : '')
34
+ }, /*#__PURE__*/_react.default.createElement("div", {
35
+ className: _stylesModule.default.actionsGroup
36
+ }, !isBackButtonHidden && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
37
+ classNames: {
38
+ root: _stylesModule.default.navAction
39
+ },
40
+ colorTheme: "secondary",
41
+ disabled: backButton.disabled,
42
+ Icon: backButton === null || backButton === void 0 ? void 0 : backButton.Icon,
43
+ iconPlacement: "left",
44
+ onClick: backButton.onClick,
45
+ size: "large",
46
+ variant: "text"
47
+ }, backButton.label || _constants.BACK), secondaryAction && !isMobileOrTablet && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
48
+ classNames: {
49
+ root: _stylesModule.default.navAction
50
+ },
51
+ colorTheme: secondaryAction.colorTheme || 'primary',
52
+ disabled: secondaryAction.disabled,
53
+ iconPlacement: "left",
54
+ onClick: secondaryAction.onClick,
55
+ size: "large",
56
+ variant: secondaryAction.variant || 'text'
57
+ }, secondaryAction.label), checkbox && !isMobileOrTablet && /*#__PURE__*/_react.default.createElement("div", {
58
+ className: _stylesModule.default.checkboxContainer
59
+ }, /*#__PURE__*/_react.default.createElement(_UTCheckbox.default, checkbox))), /*#__PURE__*/_react.default.createElement("div", {
60
+ className: _stylesModule.default.actionsGroup
61
+ }, primaryAction && !isMobileOrTablet && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
62
+ classNames: {
63
+ root: _stylesModule.default.navAction
64
+ },
65
+ colorTheme: primaryAction.colorTheme || 'primary',
66
+ disabled: primaryAction.disabled,
67
+ iconPlacement: "right",
68
+ onClick: primaryAction.onClick,
69
+ size: "large",
70
+ variant: primaryAction.variant || 'semitransparent'
71
+ }, primaryAction.label), !nextButton.isHidden && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
72
+ classNames: {
73
+ root: _stylesModule.default.navAction
74
+ },
75
+ colorTheme: "primary",
76
+ disabled: nextButton.disabled,
77
+ Icon: nextButton === null || nextButton === void 0 ? void 0 : nextButton.Icon,
78
+ iconPlacement: "right",
79
+ onClick: nextButton.onClick,
80
+ size: "large"
81
+ }, nextButton.label || _constants.NEXT)));
82
+ };
83
+ NavActions.propTypes = {
84
+ backButton: _types.buttonTypes,
85
+ checkbox: (0, _propTypes.shape)({
86
+ text: _propTypes.string
87
+ }),
88
+ currentStep: _propTypes.number,
89
+ nextButton: _types.buttonTypes,
90
+ primaryAction: _types.buttonTypes,
91
+ secondaryAction: _types.buttonTypes,
92
+ withIcon: _propTypes.bool
93
+ };
94
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(NavActions);
@@ -0,0 +1,34 @@
1
+ @import '../../../../../../scss/variables/mediaQueries.module.scss';
2
+
3
+ .hidden {
4
+ display: none;
5
+ }
6
+
7
+ .actionsContainer {
8
+ align-items: center;
9
+ display: flex;
10
+ gap: 16px;
11
+ justify-content: space-between;
12
+ padding: 16px 32px;
13
+
14
+ @media #{$mobile} {
15
+ padding: 16px;
16
+ }
17
+ }
18
+
19
+ .actionsGroup {
20
+ align-items: center;
21
+ display: flex;
22
+ grid-gap: 8px;
23
+ }
24
+
25
+ .checkboxContainer {
26
+ width: 100%;
27
+ }
28
+
29
+ .navAction {
30
+ flex-shrink: 0;
31
+ @media #{$mobile} {
32
+ width: 100%;
33
+ }
34
+ }