@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 +7 -0
- package/dist/components/UTPanel/index.js +9 -87
- package/dist/components/UTPanel/versions/V0/index.js +104 -0
- package/dist/components/UTPanel/versions/V1/README.md +36 -0
- package/dist/components/UTPanel/versions/V1/components/DataItem/constants.js +10 -0
- package/dist/components/UTPanel/versions/V1/components/DataItem/index.js +40 -0
- package/dist/components/UTPanel/versions/V1/components/DataItem/styles.module.scss +20 -0
- package/dist/components/UTPanel/versions/V1/constants.js +11 -0
- package/dist/components/UTPanel/versions/V1/index.js +196 -0
- package/dist/components/UTPanel/versions/V1/styles.module.scss +113 -0
- package/dist/components/UTPanel/versions/V1/theme.js +21 -0
- package/package.json +1 -1
- /package/dist/components/UTPanel/{styles.module.scss → versions/V0/styles.module.scss} +0 -0
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
|
|
14
|
-
var
|
|
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
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
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,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
|
File without changes
|