@widergy/energy-ui 3.30.2 → 3.32.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 CHANGED
@@ -1,3 +1,17 @@
1
+ # [3.32.0](https://github.com/widergy/energy-ui/compare/v3.31.0...v3.32.0) (2024-10-18)
2
+
3
+
4
+ ### Features
5
+
6
+ * [EVE-4292] wizard pagination ([#510](https://github.com/widergy/energy-ui/issues/510)) ([4bf7586](https://github.com/widergy/energy-ui/commit/4bf7586216286146749ffb921dbcc42efd75753f))
7
+
8
+ # [3.31.0](https://github.com/widergy/energy-ui/compare/v3.30.2...v3.31.0) (2024-10-18)
9
+
10
+
11
+ ### Features
12
+
13
+ * [UG-2131] spacing and bottom actions updates ([#515](https://github.com/widergy/energy-ui/issues/515)) ([8b38e37](https://github.com/widergy/energy-ui/commit/8b38e37ec30837b2838fa1d64de57e0e73275520))
14
+
1
15
  ## [3.30.2](https://github.com/widergy/energy-ui/compare/v3.30.1...v3.30.2) (2024-10-17)
2
16
 
3
17
 
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_REDIRECTION_ICON = void 0;
7
+ const DEFAULT_REDIRECTION_ICON = exports.DEFAULT_REDIRECTION_ICON = 'IconChevronRight';
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = require("prop-types");
9
9
  var _UTButton = _interopRequireDefault(require("../../../UTButton"));
10
10
  var _constants = require("../../constants");
11
+ var _constants2 = require("./constants");
11
12
  var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
14
  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); }
@@ -40,7 +41,7 @@ const BottomActions = _ref => {
40
41
  colorTheme: colorTheme,
41
42
  dataTestId: dataTestId,
42
43
  disabled: disabled,
43
- Icon: type === _constants.ACTION_TYPES.REDIRECTION ? 'IconChevronRight' : Icon,
44
+ Icon: type === _constants.ACTION_TYPES.REDIRECTION ? Icon || _constants2.DEFAULT_REDIRECTION_ICON : Icon,
44
45
  iconPlacement: type === _constants.ACTION_TYPES.REDIRECTION ? 'right' : 'left',
45
46
  key: label,
46
47
  loading: loading,
@@ -35,14 +35,16 @@ const Header = _ref => {
35
35
  } = _ref;
36
36
  return /*#__PURE__*/_react.default.createElement("div", {
37
37
  className: "".concat(_stylesModule.default.header, " ").concat(_stylesModule.default[size], " ").concat(classNames.header)
38
- }, (0, _utils.renderAdornment)(adornment, 'left', size), /*#__PURE__*/_react.default.createElement("div", {
38
+ }, (0, _utils.renderAdornment)(adornment, 'left'), /*#__PURE__*/_react.default.createElement("div", {
39
39
  className: _stylesModule.default.headerTitles
40
- }, (0, _utils.renderAdornment)(adornment, 'top', size), /*#__PURE__*/_react.default.createElement(_UTLabel.default, _extends({
40
+ }, (0, _utils.renderAdornment)(adornment, 'top'), /*#__PURE__*/_react.default.createElement("div", {
41
+ className: _stylesModule.default.titleAndDescription
42
+ }, /*#__PURE__*/_react.default.createElement(_UTLabel.default, _extends({
41
43
  variant: "title3",
42
44
  weight: "medium"
43
45
  }, titleProps), title), description && /*#__PURE__*/_react.default.createElement(_UTLabel.default, _extends({
44
46
  colorTheme: "gray"
45
- }, descriptionProps), description)), status ? /*#__PURE__*/_react.default.createElement(_UTStatus.default, _extends({
47
+ }, descriptionProps), description))), status ? /*#__PURE__*/_react.default.createElement(_UTStatus.default, _extends({
46
48
  className: "".concat(_stylesModule.default["placeSelf-".concat(statusAlignment)]),
47
49
  type: "light"
48
50
  }, (0, _utils.statusPropsMapper)(status)), statusLabel || status) : null, !(0, _array.isEmpty)(headerActions) && /*#__PURE__*/_react.default.createElement(_HeaderActions.default, {
@@ -84,7 +86,7 @@ Header.propTypes = {
84
86
  status: _propTypes.string,
85
87
  statusAlignment: (0, _propTypes.oneOf)([_constants.PLACE_SELF_TYPES.CENTER, _constants.PLACE_SELF_TYPES.END, _constants.PLACE_SELF_TYPES.START]),
86
88
  statusLabel: _propTypes.string,
87
- title: _propTypes.string.isRequired,
89
+ title: _propTypes.string,
88
90
  titleProps: (0, _propTypes.shape)({
89
91
  variant: _propTypes.string,
90
92
  weight: _propTypes.string
@@ -7,8 +7,14 @@
7
7
  .headerTitles {
8
8
  display: flex;
9
9
  flex-direction: column;
10
- grid-gap: 8px;
10
+ grid-gap: 16px;
11
11
  margin-right: auto;
12
+ }
13
+
14
+ .titleAndDescription {
15
+ display: flex;
16
+ flex-direction: column;
17
+ grid-gap: 8px;
12
18
  overflow-wrap: anywhere;
13
19
  }
14
20
 
@@ -35,4 +41,8 @@
35
41
  .defaultAvatar {
36
42
  height: 64px;
37
43
  width: 64px;
38
- }
44
+ }
45
+
46
+ .adornment {
47
+ max-width: 100%;
48
+ }
@@ -143,12 +143,13 @@ const statusPropsMapper = status => ({
143
143
  withoutIcon: true
144
144
  };
145
145
  exports.statusPropsMapper = statusPropsMapper;
146
- const renderAdornment = (adornment, position, size) => {
146
+ const renderAdornment = (adornment, position) => {
147
+ var _adornment$props;
147
148
  if ((0, _object.objectIsEmpty)(adornment) || adornment.position !== position) return null;
148
149
  const AdornmentComponent = _constants2.ADORNMENT_COMPONENT_MAPPER[adornment.type];
149
150
  const defaultPlaceSelf = adornment.position === 'left' ? _constants.PLACE_SELF_TYPES.CENTER : _constants.PLACE_SELF_TYPES.START;
150
- return /*#__PURE__*/_react.default.createElement(AdornmentComponent, _extends({
151
- className: "".concat(_stylesModule.default["placeSelf-".concat(adornment.alignment || defaultPlaceSelf)], " ").concat(position === 'top' ? _stylesModule.default["gap-".concat(size)] : '')
152
- }, adornment.props || {}));
151
+ return /*#__PURE__*/_react.default.createElement(AdornmentComponent, _extends({}, adornment.props || {}, {
152
+ className: "".concat(_stylesModule.default.adornment, " ").concat(_stylesModule.default["placeSelf-".concat(adornment.alignment || defaultPlaceSelf)], " ").concat(((_adornment$props = adornment.props) === null || _adornment$props === void 0 ? void 0 : _adornment$props.className) || '')
153
+ }));
153
154
  };
154
155
  exports.renderAdornment = renderAdornment;
@@ -3,8 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VARIANTS = exports.DISABLE_TEXT = exports.DEFAULT_PROPS = void 0;
7
- const DISABLE_TEXT = exports.DISABLE_TEXT = 'No volver a mostrar';
6
+ exports.VARIANTS = exports.DEFAULT_PROPS = exports.ACTIONS = void 0;
8
7
  const VARIANTS = exports.VARIANTS = {
9
8
  dark: 'dark',
10
9
  information: 'information',
@@ -12,4 +11,9 @@ const VARIANTS = exports.VARIANTS = {
12
11
  };
13
12
  const DEFAULT_PROPS = exports.DEFAULT_PROPS = {
14
13
  variant: 'dark'
14
+ };
15
+ const ACTIONS = exports.ACTIONS = {
16
+ NEXT: 'next',
17
+ PREVIOUS: 'previous',
18
+ RESET: 'reset'
15
19
  };
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = require("prop-types");
9
9
  require("react-perfect-scrollbar/dist/css/styles.css");
10
+ var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
10
11
  var _classesUtils = require("../../utils/classesUtils");
11
12
  var _WithTheme = _interopRequireDefault(require("../WithTheme"));
12
13
  var _UTButton = _interopRequireDefault(require("../UTButton"));
@@ -14,26 +15,45 @@ var _UTLabel = _interopRequireDefault(require("../UTLabel"));
14
15
  var _StepImage = _interopRequireDefault(require("./components/StepImage"));
15
16
  var _theme = require("./theme");
16
17
  var _utils = require("./utils");
17
- var _constants = require("./constants");
18
18
  var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
19
+ var _constants = require("./constants");
19
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
21
  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); }
21
22
  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 && {}.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; }
22
23
  const UTWizard = _ref => {
24
+ var _subSteps$currentSubs;
23
25
  let {
24
26
  classes: themeClasses,
25
27
  classNames,
26
- description,
27
28
  enabled,
28
29
  handleOnClick,
29
30
  openByDefault = true,
30
- image,
31
- title,
31
+ subSteps = [],
32
32
  variant
33
33
  } = _ref;
34
34
  const classes = (0, _react.useMemo)(() => (0, _classesUtils.mergeClasses)(themeClasses, classNames), [classNames]);
35
+ const [currentSubstep, updateSubstep] = (0, _react.useReducer)((state, action) => {
36
+ switch (action) {
37
+ case _constants.ACTIONS.RESET:
38
+ return 0;
39
+ case _constants.ACTIONS.PREVIOUS:
40
+ return state - 1;
41
+ case _constants.ACTIONS.NEXT:
42
+ return state + 1;
43
+ default:
44
+ return state;
45
+ }
46
+ }, 0);
47
+ const stepEnabled = enabled && !(0, _isEmpty.default)(subSteps[currentSubstep]);
48
+ const {
49
+ title,
50
+ description,
51
+ image
52
+ } = (_subSteps$currentSubs = subSteps[currentSubstep]) !== null && _subSteps$currentSubs !== void 0 ? _subSteps$currentSubs : {};
35
53
  const [isOpen, setIsOpen] = (0, _react.useState)(openByDefault);
36
- const stepEnabled = !!(enabled && title && description);
54
+ (0, _react.useEffect)(() => {
55
+ updateSubstep(_constants.ACTIONS.RESET);
56
+ }, [subSteps]);
37
57
  return stepEnabled && (isOpen ? /*#__PURE__*/_react.default.createElement("div", {
38
58
  className: "".concat(classes.container, " ").concat(_stylesModule.default.container)
39
59
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -41,32 +61,50 @@ const UTWizard = _ref => {
41
61
  }, /*#__PURE__*/_react.default.createElement("div", {
42
62
  className: _stylesModule.default.header
43
63
  }, /*#__PURE__*/_react.default.createElement("div", {
44
- className: _stylesModule.default.title
64
+ className: _stylesModule.default.titleContainer
45
65
  }, /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
46
- weight: "medium",
66
+ className: _stylesModule.default.grow,
47
67
  colorTheme: (0, _utils.getLabelTheme)(variant),
68
+ weight: "medium",
48
69
  withMarkdown: true
49
70
  }, title), /*#__PURE__*/_react.default.createElement(_UTButton.default, {
71
+ colorTheme: (0, _utils.getButtonTheme)(variant),
50
72
  Icon: "IconChevronDown",
51
73
  onClick: () => setIsOpen(false),
52
74
  size: "small",
53
- variant: "text",
54
- colorTheme: (0, _utils.getButtonTheme)(variant)
75
+ variant: "text"
76
+ }), /*#__PURE__*/_react.default.createElement(_UTButton.default, {
77
+ colorTheme: (0, _utils.getButtonTheme)(variant),
78
+ Icon: "IconX",
79
+ onClick: handleOnClick,
80
+ size: "small",
81
+ variant: "text"
55
82
  })), /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
56
83
  variant: "small",
57
84
  colorTheme: (0, _utils.getLabelTheme)(variant),
58
85
  withMarkdown: true
59
86
  }, description)), image && /*#__PURE__*/_react.default.createElement(_StepImage.default, {
60
87
  Image: image
61
- }), /*#__PURE__*/_react.default.createElement("div", {
88
+ }), subSteps.length > 1 && /*#__PURE__*/_react.default.createElement("div", {
62
89
  className: _stylesModule.default.footer
63
- }, /*#__PURE__*/_react.default.createElement(_UTButton.default, {
64
- variant: "text",
65
- onClick: handleOnClick,
90
+ }, /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
91
+ className: _stylesModule.default.grow,
92
+ colorTheme: (0, _utils.getLabelTheme)(variant),
93
+ variant: "small",
94
+ withMarkdown: true
95
+ }, "".concat(currentSubstep + 1, " de ").concat(subSteps.length)), currentSubstep > 0 && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
96
+ colorTheme: (0, _utils.getButtonTheme)(variant),
97
+ onClick: () => updateSubstep(_constants.ACTIONS.PREVIOUS),
66
98
  size: "small",
99
+ variant: "text",
100
+ weight: "medium"
101
+ }, "Atr\xE1s"), currentSubstep < subSteps.length - 1 && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
67
102
  colorTheme: (0, _utils.getButtonTheme)(variant),
103
+ onClick: () => updateSubstep(_constants.ACTIONS.NEXT),
104
+ size: "small",
105
+ variant: "filled",
68
106
  weight: "medium"
69
- }, _constants.DISABLE_TEXT)))) : /*#__PURE__*/_react.default.createElement("div", {
107
+ }, "Siguiente")))) : /*#__PURE__*/_react.default.createElement("div", {
70
108
  className: "".concat(classes.buttonContainer, " ").concat(_stylesModule.default.buttonContainer)
71
109
  }, /*#__PURE__*/_react.default.createElement(_UTButton.default, {
72
110
  size: "small",
@@ -81,12 +119,10 @@ const UTWizard = _ref => {
81
119
  UTWizard.propTypes = {
82
120
  classes: (0, _propTypes.objectOf)(_propTypes.string),
83
121
  classNames: (0, _propTypes.objectOf)(_propTypes.string),
84
- description: _propTypes.string,
85
122
  enabled: _propTypes.bool,
86
123
  handleOnClick: _propTypes.func,
87
- image: (0, _propTypes.oneOfType)([_propTypes.string, _propTypes.elementType]),
88
124
  openByDefault: _propTypes.bool,
89
- title: _propTypes.string,
125
+ subSteps: _propTypes.array,
90
126
  variant: _propTypes.string
91
127
  };
92
128
  var _default = exports.default = (0, _WithTheme.default)(_theme.retrieveStyle)(UTWizard);
@@ -26,17 +26,21 @@
26
26
  width: 264px;
27
27
  }
28
28
 
29
- .footer {
29
+ .grow {
30
+ flex-grow: 1;
31
+ }
32
+
33
+ .titleContainer {
34
+ align-items: center;
30
35
  display: flex;
31
- justify-content: flex-end;
32
- width: 100%;
36
+ flex-direction: row;
33
37
  }
34
38
 
35
- .title {
39
+ .footer {
36
40
  align-items: center;
37
41
  display: flex;
38
42
  flex-direction: row;
39
- justify-content: space-between;
43
+ grid-gap: 8px;
40
44
  }
41
45
 
42
46
  .buttonContainer {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@widergy/energy-ui",
3
- "version": "3.30.2",
3
+ "version": "3.32.0",
4
4
  "description": "Widergy Web Components",
5
5
  "author": "widergy",
6
6
  "license": "MIT",