@widergy/energy-ui 3.21.2 → 3.22.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,10 @@
1
+ # [3.22.0](https://github.com/widergy/energy-ui/compare/v3.21.2...v3.22.0) (2024-09-24)
2
+
3
+
4
+ ### Features
5
+
6
+ * utpanel v1 ([#491](https://github.com/widergy/energy-ui/issues/491)) ([353d235](https://github.com/widergy/energy-ui/commit/353d2355f923d56e2ab667312e074dc809c6e2c7))
7
+
1
8
  ## [3.21.2](https://github.com/widergy/energy-ui/compare/v3.21.1...v3.21.2) (2024-09-23)
2
9
 
3
10
 
@@ -5,100 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _SwipeableDrawer = _interopRequireDefault(require("@material-ui/core/SwipeableDrawer"));
9
- require("react-perfect-scrollbar/dist/css/styles.css");
10
- var _reactPerfectScrollbar = _interopRequireDefault(require("react-perfect-scrollbar"));
11
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
12
8
  var _propTypes = require("prop-types");
13
- var _UTButton = _interopRequireDefault(require("../UTButton"));
14
- var _UTLabel = _interopRequireDefault(require("../UTLabel"));
15
- var _commonTypes = require("../../types/commonTypes");
16
- var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
9
+ var _V = _interopRequireDefault(require("./versions/V0"));
10
+ var _V2 = _interopRequireDefault(require("./versions/V1"));
17
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
19
12
  const UTPanel = _ref => {
20
13
  let {
21
- children,
22
- classes = {},
23
- containerRef,
24
- disableScrollbar = false,
25
- modalProps,
26
- onClose,
27
- onEndReachedCallback,
28
- onOpen = () => {},
29
- open,
30
- panelSide,
31
- perfectScrollbarOptions,
32
- title,
33
- TitleComponent,
34
- TitleIcon,
14
+ version = 'V0',
35
15
  ...props
36
16
  } = _ref;
37
- const {
38
- title: titleClass,
39
- titleIcon: titleIconClass,
40
- titleContainer: titleContainerClass,
41
- perfectScrollbar: perfectScrollbarClass,
42
- closeButton: closeButtonClass,
43
- iconClose: iconCloseClass,
44
- ...drawerClasses
45
- } = classes;
46
- return /*#__PURE__*/_react.default.createElement(_SwipeableDrawer.default, _extends({
47
- anchor: panelSide,
48
- open: open,
49
- onOpen: onOpen,
50
- onClose: onClose,
51
- disableSwipeToOpen: true,
52
- swipeAreaWidth: 0,
53
- ModalProps: {
54
- container: containerRef,
55
- keepMounted: !!containerRef,
56
- ...modalProps
57
- },
58
- classes: {
59
- ...drawerClasses,
60
- paper: `${_stylesModule.default.paper} ${drawerClasses.paper}`,
61
- root: `${containerRef && _stylesModule.default.root} ${drawerClasses.root}`
62
- }
63
- }, props), /*#__PURE__*/_react.default.createElement("div", {
64
- className: `${_stylesModule.default.titleContainer} ${titleContainerClass}`
65
- }, TitleComponent || /*#__PURE__*/_react.default.createElement("div", {
66
- className: _stylesModule.default.iconTitleContainer
67
- }, TitleIcon && /*#__PURE__*/_react.default.createElement(TitleIcon, {
68
- className: `${_stylesModule.default.titleIcon} ${titleIconClass}`
69
- }), /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
70
- weight: "semibold",
71
- className: classes.title
72
- }, title)), /*#__PURE__*/_react.default.createElement(_UTButton.default, {
73
- classNames: {
74
- icon: iconCloseClass,
75
- root: closeButtonClass
76
- },
77
- Icon: _Close.default,
78
- onClick: onClose,
79
- variant: "text"
80
- })), disableScrollbar ? children : /*#__PURE__*/_react.default.createElement(_reactPerfectScrollbar.default, {
81
- onYReachEnd: onEndReachedCallback,
82
- className: `${_stylesModule.default.perfectScrollbar} ${perfectScrollbarClass}`,
83
- options: {
84
- suppressScrollX: true,
85
- ...perfectScrollbarOptions
86
- }
87
- }, children));
17
+ const Component = {
18
+ V0: _V.default,
19
+ V1: _V2.default
20
+ }[version];
21
+ return /*#__PURE__*/_react.default.createElement(Component, props);
88
22
  };
89
23
  UTPanel.propTypes = {
90
- classes: (0, _propTypes.objectOf)(_propTypes.string),
91
- containerRef: _commonTypes.refType,
92
- disableScrollbar: _propTypes.bool,
93
- modalProps: _propTypes.object,
94
- onClose: _propTypes.func,
95
- onEndReachedCallback: _propTypes.func,
96
- onOpen: _propTypes.func,
97
- open: _propTypes.bool,
98
- panelSide: _propTypes.string,
99
- perfectScrollbarOptions: _propTypes.object,
100
- title: _propTypes.string,
101
- TitleComponent: (0, _propTypes.oneOfType)([_propTypes.element, _propTypes.elementType]),
102
- TitleIcon: _propTypes.elementType
24
+ version: _propTypes.string
103
25
  };
104
26
  var _default = exports.default = UTPanel;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _SwipeableDrawer = _interopRequireDefault(require("@material-ui/core/SwipeableDrawer"));
9
+ require("react-perfect-scrollbar/dist/css/styles.css");
10
+ var _reactPerfectScrollbar = _interopRequireDefault(require("react-perfect-scrollbar"));
11
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
12
+ var _propTypes = require("prop-types");
13
+ var _UTButton = _interopRequireDefault(require("../../../UTButton"));
14
+ var _UTLabel = _interopRequireDefault(require("../../../UTLabel"));
15
+ var _commonTypes = require("../../../../types/commonTypes");
16
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
19
+ const UTPanel = _ref => {
20
+ let {
21
+ children,
22
+ classes = {},
23
+ containerRef,
24
+ disableScrollbar = false,
25
+ modalProps,
26
+ onClose,
27
+ onEndReachedCallback,
28
+ onOpen = () => {},
29
+ open,
30
+ panelSide,
31
+ perfectScrollbarOptions,
32
+ title,
33
+ TitleComponent,
34
+ TitleIcon,
35
+ ...props
36
+ } = _ref;
37
+ const {
38
+ title: titleClass,
39
+ titleIcon: titleIconClass,
40
+ titleContainer: titleContainerClass,
41
+ perfectScrollbar: perfectScrollbarClass,
42
+ closeButton: closeButtonClass,
43
+ iconClose: iconCloseClass,
44
+ ...drawerClasses
45
+ } = classes;
46
+ return /*#__PURE__*/_react.default.createElement(_SwipeableDrawer.default, _extends({
47
+ anchor: panelSide,
48
+ open: open,
49
+ onOpen: onOpen,
50
+ onClose: onClose,
51
+ disableSwipeToOpen: true,
52
+ swipeAreaWidth: 0,
53
+ ModalProps: {
54
+ container: containerRef,
55
+ keepMounted: !!containerRef,
56
+ ...modalProps
57
+ },
58
+ classes: {
59
+ ...drawerClasses,
60
+ paper: `${_stylesModule.default.paper} ${drawerClasses.paper}`,
61
+ root: `${containerRef && _stylesModule.default.root} ${drawerClasses.root}`
62
+ }
63
+ }, props), /*#__PURE__*/_react.default.createElement("div", {
64
+ className: `${_stylesModule.default.titleContainer} ${titleContainerClass}`
65
+ }, TitleComponent || /*#__PURE__*/_react.default.createElement("div", {
66
+ className: _stylesModule.default.iconTitleContainer
67
+ }, TitleIcon && /*#__PURE__*/_react.default.createElement(TitleIcon, {
68
+ className: `${_stylesModule.default.titleIcon} ${titleIconClass}`
69
+ }), /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
70
+ weight: "semibold",
71
+ className: classes.title
72
+ }, title)), /*#__PURE__*/_react.default.createElement(_UTButton.default, {
73
+ classNames: {
74
+ icon: iconCloseClass,
75
+ root: closeButtonClass
76
+ },
77
+ Icon: _Close.default,
78
+ onClick: onClose,
79
+ variant: "text"
80
+ })), disableScrollbar ? children : /*#__PURE__*/_react.default.createElement(_reactPerfectScrollbar.default, {
81
+ onYReachEnd: onEndReachedCallback,
82
+ className: `${_stylesModule.default.perfectScrollbar} ${perfectScrollbarClass}`,
83
+ options: {
84
+ suppressScrollX: true,
85
+ ...perfectScrollbarOptions
86
+ }
87
+ }, children));
88
+ };
89
+ UTPanel.propTypes = {
90
+ classes: (0, _propTypes.objectOf)(_propTypes.string),
91
+ containerRef: _commonTypes.refType,
92
+ disableScrollbar: _propTypes.bool,
93
+ modalProps: _propTypes.object,
94
+ onClose: _propTypes.func,
95
+ onEndReachedCallback: _propTypes.func,
96
+ onOpen: _propTypes.func,
97
+ open: _propTypes.bool,
98
+ panelSide: _propTypes.string,
99
+ perfectScrollbarOptions: _propTypes.object,
100
+ title: _propTypes.string,
101
+ TitleComponent: (0, _propTypes.oneOfType)([_propTypes.element, _propTypes.elementType]),
102
+ TitleIcon: _propTypes.elementType
103
+ };
104
+ var _default = exports.default = UTPanel;
@@ -0,0 +1,36 @@
1
+ # UTPanel
2
+
3
+ Component used for displaying a side panel.
4
+
5
+ ## Props
6
+
7
+ | Name | Type | Default | Description |
8
+ | :-------------------------- | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | children | node | | Component content |
10
+ | classes | object | | Classes returned by UTPanel own[theme](./theme.js#L40) `retrieveStyle` and classes received from props. |
11
+ | classNames | object | | Overrides the default panel theme. |
12
+ | collapsableHeader | bool | true | Indicates if "header items" section is collapsible. |
13
+ | currentStep | number | 1 | Workflow step number used to show the current progress in the UTProgressBar |
14
+ | disableScrollbar | bool | false | Render the children without scrollbar |
15
+ | HeaderComponent | node | | Custom header to render. |
16
+ | headerItems | array | | Array of items (object) to show in "header items" section. Each item should have: "title" - String, "icon" - String, "value" - String |
17
+ | headerMainActionButton | object | | Object with header main button details: "callBack" - func // "colorTheme" - string - deafult: 'primary' // "text" - string // "variant" - string - default: 'semitransparent' |
18
+ | headerSecondaryActionButton | object | | Object with header secondary button details:<br /> "callBack" - func // "colorTheme" - string - default: "success" // "text" - string // "variant" - string - ddefault: "filled" |
19
+ | hideCloseButton | bool | false | Indicates whether the close button is hide or not |
20
+ | hideHeader | bool | false | Indicates whether the entire header is hide or not |
21
+ | hideMainButton | bool | false | Indicates whether the main (bottom) button is hide or not |
22
+ | isWorkflow | bool | false | Indicates if the panel children's content a workflow. This prop activates the progress bar. |
23
+ | mainButton | object | | [UTButton props](https://github.com/widergy/Energy-UI/tree/master/src/lib/components/UTButton) |
24
+ | modalProps | object | | Material UI[modal props](https://v4.mui.com/api/modal/) |
25
+ | onClose | func | | Callback to execute when closing panel. |
26
+ | onEndReachedCallback | func | | Callback to execute when reaching the end of the vertical scroll |
27
+ | onOpen | func | () => {} | Callback to execute when opening panel. |
28
+ | open | bool | | Indicates whether the panel is open or not |
29
+ | panelSide | string | | Indicates panel side. |
30
+ | perfectScrollbarOptions | object | | [Perfect scrollbar](https://www.npmjs.com/package/react-perfect-scrollbar) props |
31
+ | singleHeaderItemsColumn | bool | false | Indicates whether the header items are shown in a single column or not |
32
+ | size | string | 'M' | Indicates the size of panel. Currently we have two options:<br /> L -> 800px<br /> M -> 450px |
33
+ | stepsCount | Number | | Indicates the total steps in case of workflow |
34
+ | subtitle | string | | Subtitle to show |
35
+ | title | string | | Title to show |
36
+ | titleProps | object | {} | UTLabel props for title. Default props: variant="title2" weight="medium" |
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SIZES = void 0;
7
+ const SIZES = exports.SIZES = {
8
+ L: 'large',
9
+ M: 'medium'
10
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = require("prop-types");
9
+ var _UTIcon = _interopRequireDefault(require("../../../../../UTIcon"));
10
+ var _UTLabel = _interopRequireDefault(require("../../../../../UTLabel"));
11
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
12
+ var _constants = require("./constants");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const DataItem = _ref => {
15
+ let {
16
+ size = 'M',
17
+ value,
18
+ icon,
19
+ title
20
+ } = _ref;
21
+ return /*#__PURE__*/_react.default.createElement("div", {
22
+ className: `${_stylesModule.default.container} ${_stylesModule.default[_constants.SIZES[size]]}`
23
+ }, /*#__PURE__*/_react.default.createElement(_UTIcon.default, {
24
+ className: _stylesModule.default.icon,
25
+ colorTheme: "gray",
26
+ name: icon
27
+ }), /*#__PURE__*/_react.default.createElement("div", {
28
+ className: _stylesModule.default.textContainer
29
+ }, /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
30
+ colorTheme: "gray",
31
+ weight: "medium"
32
+ }, title), /*#__PURE__*/_react.default.createElement(_UTLabel.default, null, value)));
33
+ };
34
+ DataItem.propTypes = {
35
+ icon: _propTypes.string,
36
+ size: _propTypes.string,
37
+ title: _propTypes.string,
38
+ value: _propTypes.string
39
+ };
40
+ var _default = exports.default = DataItem;
@@ -0,0 +1,20 @@
1
+ .container {
2
+ align-items: center;
3
+ display: flex;
4
+ flex: 50%;
5
+ }
6
+
7
+ .textContainer {
8
+ display: flex;
9
+ grid-gap: 8px;
10
+ }
11
+
12
+ .large {
13
+ grid-gap: 16px;
14
+ padding: 16px 0;
15
+ }
16
+
17
+ .medium {
18
+ grid-gap: 8px;
19
+ padding: 8px 0;
20
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SIZES = exports.ACCEPT_BUTTON_TEXT = void 0;
7
+ const SIZES = exports.SIZES = {
8
+ L: 'large',
9
+ M: 'medium'
10
+ };
11
+ const ACCEPT_BUTTON_TEXT = exports.ACCEPT_BUTTON_TEXT = 'Aceptar';
@@ -0,0 +1,196 @@
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 _SwipeableDrawer = _interopRequireDefault(require("@material-ui/core/SwipeableDrawer"));
9
+ require("react-perfect-scrollbar/dist/css/styles.css");
10
+ var _reactPerfectScrollbar = _interopRequireDefault(require("react-perfect-scrollbar"));
11
+ var _propTypes = require("prop-types");
12
+ var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
13
+ var _UTButton = _interopRequireDefault(require("../../../UTButton"));
14
+ var _UTLabel = _interopRequireDefault(require("../../../UTLabel"));
15
+ var _index = _interopRequireDefault(require("../../../UTProgressBar/index.js"));
16
+ var _classesUtils = require("../../../../utils/classesUtils.js");
17
+ var _index2 = _interopRequireDefault(require("../../../WithTheme/index.js"));
18
+ var _DataItem = _interopRequireDefault(require("./components/DataItem"));
19
+ var _stylesModule = _interopRequireDefault(require("./styles.module.scss"));
20
+ var _constants = require("./constants.js");
21
+ var _theme = require("./theme");
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
+ 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); }
24
+ 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; }
25
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
26
+ const UTPanel = _ref => {
27
+ let {
28
+ children,
29
+ classes: theme,
30
+ classNames,
31
+ collapsableHeader = true,
32
+ currentStep = 1,
33
+ disableScrollbar = false,
34
+ HeaderComponent,
35
+ headerItems,
36
+ headerMainActionButton = {},
37
+ headerSecondaryActionButton = {},
38
+ hideCloseButton = false,
39
+ hideHeader = false,
40
+ hideMainButton = false,
41
+ isWorkflow = false,
42
+ mainButton = {},
43
+ modalProps,
44
+ onClose,
45
+ onEndReachedCallback,
46
+ onOpen = () => {},
47
+ open,
48
+ panelSide,
49
+ perfectScrollbarOptions,
50
+ singleHeaderItemsColumn = false,
51
+ size = 'M',
52
+ stepsCount,
53
+ subtitle = '',
54
+ title = '',
55
+ titleProps = {},
56
+ ...props
57
+ } = _ref;
58
+ const classes = (0, _react.useMemo)(() => (0, _classesUtils.mergeClasses)(theme, classNames), [classNames, theme]);
59
+ const [collapseHeader, setCollapseHeader] = (0, _react.useState)(true);
60
+ const {
61
+ closeButton: closeButtonClass,
62
+ headerContainer: headerContainerClass,
63
+ iconClose: iconCloseClass,
64
+ perfectScrollbar: perfectScrollbarClass,
65
+ title: titleClass,
66
+ ...drawerClasses
67
+ } = classes;
68
+ return /*#__PURE__*/_react.default.createElement(_SwipeableDrawer.default, _extends({
69
+ anchor: panelSide,
70
+ classes: {
71
+ ...drawerClasses,
72
+ paper: `${_stylesModule.default.paper} ${drawerClasses.paper} ${_stylesModule.default[_constants.SIZES[size]]}`,
73
+ root: drawerClasses.root
74
+ },
75
+ disableSwipeToOpen: true,
76
+ ModalProps: {
77
+ ...modalProps
78
+ },
79
+ onClose: onClose,
80
+ onOpen: onOpen,
81
+ open: open,
82
+ swipeAreaWidth: 0
83
+ }, props), /*#__PURE__*/_react.default.createElement("div", {
84
+ className: _stylesModule.default.controlAreaContainer
85
+ }, /*#__PURE__*/_react.default.createElement("div", {
86
+ className: _stylesModule.default.controlAreaBar
87
+ }, !hideCloseButton && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
88
+ classNames: {
89
+ icon: iconCloseClass,
90
+ root: closeButtonClass
91
+ },
92
+ Icon: "IconX",
93
+ onClick: onClose,
94
+ variant: "text"
95
+ })), isWorkflow && /*#__PURE__*/_react.default.createElement(_index.default, {
96
+ classNames: {
97
+ barColorPrimary: classes.barColorPrimary,
98
+ container: _stylesModule.default.progressBarContainer,
99
+ colorPrimary: classes.colorPrimary
100
+ },
101
+ value: currentStep * 100 / stepsCount
102
+ })), !hideHeader && /*#__PURE__*/_react.default.createElement("div", {
103
+ className: `${_stylesModule.default.headerContainer} ${headerContainerClass}`
104
+ }, HeaderComponent || /*#__PURE__*/_react.default.createElement("div", {
105
+ className: _stylesModule.default.headerArea
106
+ }, /*#__PURE__*/_react.default.createElement("div", {
107
+ className: _stylesModule.default.headerLeftArea
108
+ }, /*#__PURE__*/_react.default.createElement("div", {
109
+ className: _stylesModule.default.titleArea
110
+ }, /*#__PURE__*/_react.default.createElement(_UTLabel.default, _extends({
111
+ className: classes.title,
112
+ variant: "title2",
113
+ weight: "medium"
114
+ }, titleProps), title), collapsableHeader && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
115
+ Icon: collapseHeader ? 'IconChevronUp' : 'IconChevronDown',
116
+ onClick: () => setCollapseHeader(!collapseHeader),
117
+ size: "small",
118
+ variant: "text"
119
+ })), subtitle && /*#__PURE__*/_react.default.createElement("div", {
120
+ className: _stylesModule.default.subtitleArea
121
+ }, /*#__PURE__*/_react.default.createElement(_UTLabel.default, {
122
+ colorTheme: "gray"
123
+ }, subtitle))), /*#__PURE__*/_react.default.createElement("div", {
124
+ className: _stylesModule.default.headerRightArea
125
+ }, !(0, _isEmpty.default)(headerSecondaryActionButton) && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
126
+ colorTheme: headerSecondaryActionButton.colorTheme || 'primary',
127
+ onClick: headerSecondaryActionButton.callBack,
128
+ variant: headerSecondaryActionButton.variant || 'semitransparent'
129
+ }, headerSecondaryActionButton.text), !(0, _isEmpty.default)(headerMainActionButton) && /*#__PURE__*/_react.default.createElement(_UTButton.default, {
130
+ colorTheme: headerMainActionButton.colorTheme || 'success',
131
+ onClick: headerMainActionButton.callBack,
132
+ variant: headerMainActionButton.variant || 'filled'
133
+ }, headerMainActionButton.text)))), !(0, _isEmpty.default)(headerItems) && /*#__PURE__*/_react.default.createElement("div", {
134
+ className: `${_stylesModule.default.headerItemsContainer}
135
+ ${collapseHeader ? _stylesModule.default.expandedContainer : _stylesModule.default.collapsedContainer}
136
+ ${singleHeaderItemsColumn && _stylesModule.default.singleHeaderItemsColumn || ''}`
137
+ }, headerItems.map(_DataItem.default)), /*#__PURE__*/_react.default.createElement("div", {
138
+ className: `${_stylesModule.default.bodyContainer} ${classes.bodyContainer}`
139
+ }, disableScrollbar ? children : /*#__PURE__*/_react.default.createElement(_reactPerfectScrollbar.default, {
140
+ className: `${_stylesModule.default.perfectScrollbar} ${perfectScrollbarClass}`,
141
+ onYReachEnd: onEndReachedCallback,
142
+ options: {
143
+ suppressScrollX: true,
144
+ ...perfectScrollbarOptions
145
+ }
146
+ }, children)), !hideMainButton && /*#__PURE__*/_react.default.createElement(_UTButton.default, _extends({
147
+ classNames: {
148
+ root: _stylesModule.default.mainButton
149
+ },
150
+ size: "large"
151
+ }, mainButton), mainButton?.text || _constants.ACCEPT_BUTTON_TEXT));
152
+ };
153
+ UTPanel.propTypes = {
154
+ classes: (0, _propTypes.objectOf)(_propTypes.string),
155
+ classNames: _propTypes.object,
156
+ collapsableHeader: _propTypes.bool,
157
+ currentStep: _propTypes.number,
158
+ disableScrollbar: _propTypes.bool,
159
+ HeaderComponent: (0, _propTypes.oneOfType)([_propTypes.element, _propTypes.elementType]),
160
+ headerItems: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
161
+ title: _propTypes.string,
162
+ icon: _propTypes.string,
163
+ value: _propTypes.string
164
+ })),
165
+ headerMainActionButton: (0, _propTypes.shape)({
166
+ callBack: _propTypes.func,
167
+ colorTheme: _propTypes.string,
168
+ text: _propTypes.string,
169
+ variant: _propTypes.string
170
+ }),
171
+ headerSecondaryActionButton: (0, _propTypes.shape)({
172
+ callBack: _propTypes.func,
173
+ colorTheme: _propTypes.string,
174
+ text: _propTypes.string,
175
+ variant: _propTypes.string
176
+ }),
177
+ isWorkflow: _propTypes.bool,
178
+ mainButton: _propTypes.object,
179
+ modalProps: _propTypes.object,
180
+ onClose: _propTypes.func,
181
+ onEndReachedCallback: _propTypes.func,
182
+ onOpen: _propTypes.func,
183
+ open: _propTypes.bool,
184
+ panelSide: _propTypes.string,
185
+ perfectScrollbarOptions: _propTypes.object,
186
+ hideCloseButton: _propTypes.bool,
187
+ hideMainButton: _propTypes.bool,
188
+ hideHeader: _propTypes.bool,
189
+ singleHeaderItemsColumn: _propTypes.bool,
190
+ size: _propTypes.string,
191
+ stepsCount: _propTypes.number,
192
+ subtitle: _propTypes.string,
193
+ title: _propTypes.string,
194
+ titleProps: _propTypes.object
195
+ };
196
+ var _default = exports.default = (0, _index2.default)(_theme.retrieveStyle)(UTPanel);
@@ -0,0 +1,113 @@
1
+ $large-panel-size: 600px;
2
+ $medium-panel-size: 450px;
3
+
4
+ .paper {
5
+ display: flex;
6
+ height: calc(100% - 20px);
7
+ position: absolute;
8
+ }
9
+
10
+ .controlAreaBar {
11
+ display: flex;
12
+ justify-content: flex-end;
13
+ padding: 8px;
14
+ }
15
+
16
+ .controlAreaContainer {
17
+ display: flex;
18
+ flex-direction: column;
19
+ }
20
+
21
+ .headerContainer {
22
+ padding: 8px 24px;
23
+ }
24
+
25
+ .headerArea {
26
+ align-items: center;
27
+ display: flex;
28
+ justify-content: space-between;
29
+ }
30
+
31
+ .headerLeftArea {
32
+ display: flex;
33
+ flex-direction: column;
34
+ grid-gap: 8px;
35
+ }
36
+
37
+ .headerRightArea {
38
+ display: flex;
39
+ grid-gap: 8px;
40
+ }
41
+
42
+ .titleArea {
43
+ align-items: center;
44
+ display: flex;
45
+ grid-gap: 12px;
46
+ }
47
+
48
+ .subtitleArea {
49
+ display: flex;
50
+ }
51
+
52
+ .singleHeaderItemsColumn {
53
+ display: block !important;
54
+ }
55
+
56
+ .headerItemsContainer {
57
+ display: flex;
58
+ flex-wrap: wrap;
59
+ padding: 0 24px;
60
+ transition:
61
+ max-height 0.08s ease,
62
+ opacity 0.08s ease,
63
+ margin-top 0.08s ease;
64
+
65
+ max-height: 100%;
66
+ margin-top: 0;
67
+ }
68
+
69
+ .expandedContainer {
70
+ opacity: 1;
71
+ max-height: 100%;
72
+ }
73
+
74
+ .collapsedContainer {
75
+ opacity: 0;
76
+ max-height: 0;
77
+ margin-top: -16px;
78
+ }
79
+
80
+ .large {
81
+ width: $large-panel-size;
82
+ }
83
+
84
+ .medium {
85
+ width: $medium-panel-size;
86
+ }
87
+
88
+ .progressBar {
89
+ height: 8px;
90
+ }
91
+
92
+ .bodyContainer {
93
+ padding: 24px;
94
+ }
95
+
96
+ .perfectScrollbar {
97
+ margin: 10px 0;
98
+ }
99
+
100
+ .root {
101
+ position: absolute !important;
102
+ }
103
+
104
+ .progressBarContainer {
105
+ margin-bottom: 16px;
106
+ }
107
+
108
+ .mainButton {
109
+ border-radius: 0 !important;
110
+ bottom: 0;
111
+ position: absolute;
112
+ width: 100%;
113
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.retrieveStyle = void 0;
7
+ var _seamlessImmutable = require("seamless-immutable");
8
+ const retrieveStyle = _ref => {
9
+ let {
10
+ theme
11
+ } = _ref;
12
+ return {
13
+ barColorPrimary: {
14
+ background: (0, _seamlessImmutable.getIn)(theme, ['UTPanel', 'progressBar', 'barColorPrimary', 'background'], 'linear-gradient(90deg, #25E0A6 0%, #20BBFC 100%) !important')
15
+ },
16
+ colorPrimary: {
17
+ backgroundColor: (0, _seamlessImmutable.getIn)(theme, ['UTPanel', 'progressBar', 'colorPrimary', 'backgroundColor'], `${theme.Palette.light['04']} !important`)
18
+ }
19
+ };
20
+ };
21
+ exports.retrieveStyle = retrieveStyle;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@widergy/energy-ui",
3
- "version": "3.21.2",
3
+ "version": "3.22.0",
4
4
  "description": "Widergy Web Components",
5
5
  "author": "widergy",
6
6
  "license": "MIT",