@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.
- package/CHANGELOG.md +7 -0
- package/dist/components/UTAutocomplete/theme.js +2 -2
- package/dist/components/UTBanner/index.js +38 -0
- package/dist/components/UTBanner/styles.module.scss +7 -0
- package/dist/components/UTBanner/theme.js +18 -0
- package/dist/components/UTButton/index.js +1 -5
- package/dist/components/UTCarousel/components/Slider/index.js +17 -17
- package/dist/components/UTHeader/assets/edit.svg +3 -0
- package/dist/components/UTHeader/assets/ellipsis.svg +3 -0
- package/dist/components/UTHeader/index.js +149 -0
- package/dist/components/UTHeader/styles.module.scss +39 -0
- package/dist/components/UTHeader/theme.js +21 -0
- package/dist/components/UTProgressBar/index.js +2 -2
- package/dist/components/UTSelect/index.js +2 -2
- package/dist/components/UTSelect/theme.js +2 -2
- package/dist/components/UTStepper/components/Connectors/index.js +44 -0
- package/dist/components/UTStepper/components/Connectors/styles.module.scss +19 -0
- package/dist/components/UTStepper/components/Step/assets/check.svg +5 -0
- package/dist/components/UTStepper/components/Step/index.js +61 -0
- package/dist/components/UTStepper/components/Step/styles.module.scss +67 -0
- package/dist/components/UTStepper/constants.js +10 -0
- package/dist/components/UTStepper/index.js +64 -0
- package/dist/components/UTStepper/styles.module.scss +27 -0
- package/dist/components/UTStepper/theme.js +50 -0
- package/dist/components/UTTextInput/theme.js +2 -2
- package/dist/components/UTWorkflowContainer/index.js +12 -114
- package/dist/components/UTWorkflowContainer/{components → versions/V0/components}/ActionButton/index.js +1 -1
- package/dist/components/UTWorkflowContainer/versions/V0/index.js +128 -0
- package/dist/components/UTWorkflowContainer/{theme.js → versions/V0/theme.js} +2 -2
- package/dist/components/UTWorkflowContainer/versions/V1/README.md +37 -0
- package/dist/components/UTWorkflowContainer/versions/V1/components/NavActions/constants.js +8 -0
- package/dist/components/UTWorkflowContainer/versions/V1/components/NavActions/index.js +94 -0
- package/dist/components/UTWorkflowContainer/versions/V1/components/NavActions/styles.module.scss +34 -0
- package/dist/components/UTWorkflowContainer/versions/V1/index.js +132 -0
- package/dist/components/UTWorkflowContainer/versions/V1/styles.module.scss +38 -0
- package/dist/components/UTWorkflowContainer/versions/V1/theme.js +32 -0
- package/dist/components/UTWorkflowContainer/versions/V1/types.js +15 -0
- package/dist/scss/variables/mediaQueries.module.scss +1 -1
- package/package.json +1 -1
- /package/dist/components/UTWorkflowContainer/{components → versions/V0/components}/ActionButton/styles.module.scss +0 -0
- /package/dist/components/UTWorkflowContainer/{constants.js → versions/V0/constants.js} +0 -0
- /package/dist/components/UTWorkflowContainer/{hooks → versions/V0/hooks}/use-previous.js +0 -0
- /package/dist/components/UTWorkflowContainer/{styles.module.scss → versions/V0/styles.module.scss} +0 -0
- /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
|
|
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)(
|
|
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 =
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = require("prop-types");
|
|
9
|
-
var
|
|
10
|
-
var
|
|
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
|
-
|
|
27
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
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 =
|
|
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("
|
|
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("
|
|
9
|
-
var _classesUtils = require("
|
|
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,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);
|
package/dist/components/UTWorkflowContainer/versions/V1/components/NavActions/styles.module.scss
ADDED
|
@@ -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
|
+
}
|