linear-react-components-ui 0.4.76-beta.1 → 0.4.76-beta.13
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/.husky/pre-commit +2 -2
- package/README.md +12 -2
- package/lib/assets/styles/button.scss +17 -10
- package/lib/assets/styles/checkbox.scss +92 -70
- package/lib/assets/styles/commons.scss +26 -0
- package/lib/assets/styles/drawers.scss +22 -6
- package/lib/assets/styles/dropdown.scss +3 -0
- package/lib/assets/styles/gridlayout.scss +2 -1
- package/lib/assets/styles/input.scss +21 -0
- package/lib/assets/styles/label.scss +9 -1
- package/lib/assets/styles/panel.scss +5 -1
- package/lib/assets/styles/radio.scss +19 -0
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +6 -5
- package/lib/assets/styles/tabs.scss +2 -0
- package/lib/buttons/DefaultButton.js +7 -4
- package/lib/buttons/split_button/index.js +8 -4
- package/lib/checkbox/Label.js +1 -1
- package/lib/checkbox/checkbox.spec.js +16 -16
- package/lib/checkbox/index.js +16 -9
- package/lib/dialog/base/index.js +1 -1
- package/lib/dialog/form/index.js +10 -3
- package/lib/drawer/Drawer.js +9 -5
- package/lib/drawer/Header.js +15 -5
- package/lib/form/helpers.js +12 -1
- package/lib/form/index.js +195 -278
- package/lib/form/withFieldHOC.js +3 -1
- package/lib/form/withFormSecurity.js +8 -8
- package/lib/inputs/base/InputTextBase.js +20 -6
- package/lib/inputs/base/helpers.js +15 -3
- package/lib/inputs/date/Dropdown.js +3 -3
- package/lib/inputs/date/date.spec.js +46 -36
- package/lib/inputs/date/helpers.js +36 -0
- package/lib/inputs/date/index.js +12 -10
- package/lib/inputs/mask/imaskHOC.js +2 -1
- package/lib/internals/withTooltip.js +13 -10
- package/lib/labels/DefaultLabel.js +7 -4
- package/lib/menus/sidenav/NavMenuItem.js +2 -2
- package/lib/panel/Content.js +11 -4
- package/lib/radio/index.js +9 -6
- package/lib/skeleton/SkeletonContainer.js +42 -0
- package/lib/skeleton/index.js +84 -0
- package/lib/table/HeaderColumn.js +24 -3
- package/lib/table/Row.js +6 -2
- package/lib/table/RowColumn.js +22 -3
- package/lib/table/index.js +11 -4
- package/lib/tabs/MenuItems.js +9 -3
- package/lib/tabs/index.js +78 -53
- package/lib/tabs/tabs.spec.js +8 -5
- package/lib/toolbar/ButtonBar.js +30 -24
- package/lib/toolbar/LabelBar.js +22 -27
- package/lib/toolbar/helpers.js +12 -0
- package/lib/toolbar/index.js +23 -12
- package/lib/tooltip/index.js +8 -7
- package/lib/treeview/Node.js +231 -202
- package/lib/treeview/index.js +31 -13
- package/package.json +1 -1
- package/.DS_Store +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
var SkeletonContainer = function SkeletonContainer(_ref) {
|
|
15
|
+
var children = _ref.children,
|
|
16
|
+
row = _ref.row,
|
|
17
|
+
customClass = _ref.customClass,
|
|
18
|
+
style = _ref.style;
|
|
19
|
+
|
|
20
|
+
var getClass = function getClass() {
|
|
21
|
+
return "skeletoncontainer-component ".concat(customClass, "\n ").concat(row && '-row');
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
25
|
+
className: getClass(),
|
|
26
|
+
style: style
|
|
27
|
+
}, children);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
SkeletonContainer.propTypes = {
|
|
31
|
+
children: _propTypes["default"].element.isRequired,
|
|
32
|
+
row: _propTypes["default"].bool,
|
|
33
|
+
customClass: _propTypes["default"].string,
|
|
34
|
+
style: _propTypes["default"].object
|
|
35
|
+
};
|
|
36
|
+
SkeletonContainer.defaultProps = {
|
|
37
|
+
row: false,
|
|
38
|
+
customClass: undefined,
|
|
39
|
+
style: null
|
|
40
|
+
};
|
|
41
|
+
var _default = SkeletonContainer;
|
|
42
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "SkeletonContainer", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _SkeletonContainer["default"];
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports["default"] = void 0;
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
+
|
|
18
|
+
var _gridlayout = _interopRequireDefault(require("../gridlayout"));
|
|
19
|
+
|
|
20
|
+
var _SkeletonContainer = _interopRequireDefault(require("./SkeletonContainer"));
|
|
21
|
+
|
|
22
|
+
require("../assets/styles/skeleton.scss");
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
26
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
27
|
+
|
|
28
|
+
var Skeleton = function Skeleton(props) {
|
|
29
|
+
var customClass = props.customClass,
|
|
30
|
+
style = props.style,
|
|
31
|
+
width = props.width,
|
|
32
|
+
height = props.height,
|
|
33
|
+
round = props.round,
|
|
34
|
+
color = props.color,
|
|
35
|
+
size = props.size,
|
|
36
|
+
gridLayout = props.gridLayout;
|
|
37
|
+
var customStyles = {
|
|
38
|
+
width: width,
|
|
39
|
+
height: height
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var getClass = function getClass() {
|
|
43
|
+
return "skeleton-component ".concat(customClass, "\n ").concat(color && "-".concat(color), "\n ").concat(round && '-round', "\n ").concat(round && size && "-".concat(size));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var renderContent = function renderContent() {
|
|
47
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
48
|
+
className: getClass(),
|
|
49
|
+
style: _extends({}, customStyles, style)
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
if (gridLayout !== undefined) {
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(_gridlayout["default"], {
|
|
55
|
+
customClass: "-withskeleton",
|
|
56
|
+
cols: gridLayout
|
|
57
|
+
}, renderContent());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return renderContent();
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
Skeleton.propTypes = {
|
|
64
|
+
width: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
65
|
+
height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
66
|
+
round: _propTypes["default"].bool,
|
|
67
|
+
size: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large']),
|
|
68
|
+
color: _propTypes["default"].oneOf(['default', 'white']),
|
|
69
|
+
gridLayout: _propTypes["default"].string,
|
|
70
|
+
customClass: _propTypes["default"].string,
|
|
71
|
+
style: _propTypes["default"].object
|
|
72
|
+
};
|
|
73
|
+
Skeleton.defaultProps = {
|
|
74
|
+
width: undefined,
|
|
75
|
+
height: undefined,
|
|
76
|
+
round: false,
|
|
77
|
+
size: 'medium',
|
|
78
|
+
color: 'default',
|
|
79
|
+
gridLayout: undefined,
|
|
80
|
+
customClass: '',
|
|
81
|
+
style: null
|
|
82
|
+
};
|
|
83
|
+
var _default = Skeleton;
|
|
84
|
+
exports["default"] = _default;
|
|
@@ -1,26 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = void 0;
|
|
7
9
|
|
|
8
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
11
|
|
|
10
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
13
|
|
|
14
|
+
var _skeleton = _interopRequireDefault(require("../skeleton"));
|
|
15
|
+
|
|
16
|
+
var _helpers = _interopRequireDefault(require("./helpers"));
|
|
17
|
+
|
|
12
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
19
|
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
|
|
14
24
|
var HeaderColumn = function HeaderColumn(_ref) {
|
|
15
25
|
var customClass = _ref.customClass,
|
|
16
26
|
style = _ref.style,
|
|
17
27
|
children = _ref.children,
|
|
18
28
|
textAlign = _ref.textAlign,
|
|
19
29
|
visible = _ref.visible;
|
|
20
|
-
|
|
30
|
+
|
|
31
|
+
var _useContext = (0, _react.useContext)(_helpers["default"]),
|
|
32
|
+
skeletonize = _useContext.skeletonize,
|
|
33
|
+
vertical = _useContext.vertical;
|
|
34
|
+
|
|
35
|
+
if (!visible) return null;
|
|
36
|
+
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
21
37
|
className: "headercolumn ".concat(customClass, " text-align-").concat(textAlign),
|
|
22
38
|
style: style
|
|
23
|
-
},
|
|
39
|
+
}, skeletonize && !vertical ? /*#__PURE__*/_react["default"].createElement(_skeleton["default"], {
|
|
40
|
+
height: style.height ? null : 16,
|
|
41
|
+
style: {
|
|
42
|
+
marginBottom: 0
|
|
43
|
+
}
|
|
44
|
+
}) : children);
|
|
24
45
|
};
|
|
25
46
|
|
|
26
47
|
HeaderColumn.propTypes = {
|
package/lib/table/Row.js
CHANGED
|
@@ -32,12 +32,16 @@ var Row = function Row(props) {
|
|
|
32
32
|
selectedRowId = _useContext.selectedRowId,
|
|
33
33
|
handleSelectRow = _useContext.handleSelectRow,
|
|
34
34
|
handleTableRowClick = _useContext.handleTableRowClick,
|
|
35
|
-
handleTableColClick = _useContext.handleTableColClick
|
|
35
|
+
handleTableColClick = _useContext.handleTableColClick,
|
|
36
|
+
vertical = _useContext.vertical,
|
|
37
|
+
skeletonize = _useContext.skeletonize;
|
|
36
38
|
|
|
37
39
|
var contextValues = {
|
|
38
40
|
dataId: dataId,
|
|
39
41
|
rowBorder: rowBorder,
|
|
40
|
-
handleTableColClick: handleTableColClick
|
|
42
|
+
handleTableColClick: handleTableColClick,
|
|
43
|
+
vertical: vertical,
|
|
44
|
+
skeletonize: skeletonize
|
|
41
45
|
};
|
|
42
46
|
return /*#__PURE__*/_react["default"].createElement(_helpers.RowContext.Provider, {
|
|
43
47
|
value: contextValues
|
package/lib/table/RowColumn.js
CHANGED
|
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
13
|
|
|
14
14
|
var _helpers = require("./helpers");
|
|
15
15
|
|
|
16
|
+
var _skeleton = _interopRequireDefault(require("../skeleton"));
|
|
17
|
+
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
19
|
|
|
18
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -49,8 +51,27 @@ var RowColumn = function RowColumn(props) {
|
|
|
49
51
|
textAlign = props.textAlign,
|
|
50
52
|
visible = props.visible;
|
|
51
53
|
var context = (0, _react.useContext)(_helpers.RowContext);
|
|
54
|
+
var skeletonize = context.skeletonize,
|
|
55
|
+
vertical = context.vertical;
|
|
52
56
|
var hiddenContent = displayContent !== 'always';
|
|
57
|
+
|
|
58
|
+
var renderContent = function renderContent() {
|
|
59
|
+
if (skeletonize) {
|
|
60
|
+
return /*#__PURE__*/_react["default"].createElement(_skeleton["default"], {
|
|
61
|
+
height: 16,
|
|
62
|
+
style: {
|
|
63
|
+
marginBottom: 0
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return hiddenContent ? /*#__PURE__*/_react["default"].createElement("span", {
|
|
69
|
+
className: displayClass[displayContent]
|
|
70
|
+
}, props.children) : props.children;
|
|
71
|
+
};
|
|
72
|
+
|
|
53
73
|
if (!visible) return null;
|
|
74
|
+
if (skeletonize && !vertical) return null;
|
|
54
75
|
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
55
76
|
className: "rowcolumn ".concat(customClass, " text-align-").concat(textAlign, " ").concat(!context.rowBorder && ' -noborder'),
|
|
56
77
|
style: style,
|
|
@@ -59,9 +80,7 @@ var RowColumn = function RowColumn(props) {
|
|
|
59
80
|
},
|
|
60
81
|
role: "presentation",
|
|
61
82
|
tabIndex: "-1"
|
|
62
|
-
},
|
|
63
|
-
className: displayClass[displayContent]
|
|
64
|
-
}, props.children) : props.children);
|
|
83
|
+
}, renderContent());
|
|
65
84
|
};
|
|
66
85
|
|
|
67
86
|
RowColumn.propTypes = {
|
package/lib/table/index.js
CHANGED
|
@@ -81,18 +81,21 @@ var getClass = function getClass(_ref) {
|
|
|
81
81
|
striped = _ref.striped,
|
|
82
82
|
bordered = _ref.bordered,
|
|
83
83
|
hovered = _ref.hovered,
|
|
84
|
+
skeletonize = _ref.skeletonize,
|
|
84
85
|
headerColored = _ref.headerColored,
|
|
85
86
|
condensed = _ref.condensed,
|
|
86
87
|
vertical = _ref.vertical,
|
|
87
88
|
bodyScrollable = _ref.bodyScrollable;
|
|
88
|
-
return "table-component ".concat(customClass, " ").concat(striped && '-striped', " \n ").concat(bordered && '-bordered', " ").concat(hovered && '-hovered', " ").concat(headerColored && '-headercolor', "\n ").concat(condensed && '-condensed', "\n ").concat(vertical && '-vertical', "\n ").concat(bodyScrollable
|
|
89
|
+
return "table-component ".concat(customClass, " ").concat(striped && '-striped', " \n ").concat(bordered && '-bordered', " ").concat(hovered && '-hovered', " ").concat(headerColored && '-headercolor', "\n ").concat(condensed && '-condensed', "\n ").concat(vertical && '-vertical', "\n ").concat(skeletonize ? '-skeletonized' : '', "\n ").concat(bodyScrollable ? '-scrollable' : '');
|
|
89
90
|
};
|
|
90
91
|
|
|
91
92
|
var Table = function Table(props) {
|
|
92
93
|
var onColClick = props.onColClick,
|
|
93
94
|
onRowClick = props.onRowClick,
|
|
94
95
|
bodyScrollable = props.bodyScrollable,
|
|
95
|
-
children = props.children
|
|
96
|
+
children = props.children,
|
|
97
|
+
vertical = props.vertical,
|
|
98
|
+
skeletonize = props.skeletonize;
|
|
96
99
|
|
|
97
100
|
var _useState = (0, _react.useState)(props.selectedRowId),
|
|
98
101
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -127,6 +130,8 @@ var Table = function Table(props) {
|
|
|
127
130
|
bodyScrollable: bodyScrollable,
|
|
128
131
|
bodyScrollWidth: bodyScrollWidth,
|
|
129
132
|
selectedRowId: selectedRowId,
|
|
133
|
+
vertical: vertical,
|
|
134
|
+
skeletonize: skeletonize,
|
|
130
135
|
handleSelectRow: function handleSelectRow(selectedId) {
|
|
131
136
|
setSelectedRowId(selectedId);
|
|
132
137
|
},
|
|
@@ -157,7 +162,8 @@ Table.propTypes = {
|
|
|
157
162
|
onColClick: _propTypes["default"].func,
|
|
158
163
|
vertical: _propTypes["default"].bool,
|
|
159
164
|
selectedRowId: _propTypes["default"].string,
|
|
160
|
-
bodyScrollable: _propTypes["default"].bool
|
|
165
|
+
bodyScrollable: _propTypes["default"].bool,
|
|
166
|
+
skeletonize: _propTypes["default"].bool
|
|
161
167
|
};
|
|
162
168
|
Table.defaultProps = {
|
|
163
169
|
striped: false,
|
|
@@ -170,7 +176,8 @@ Table.defaultProps = {
|
|
|
170
176
|
onColClick: undefined,
|
|
171
177
|
vertical: false,
|
|
172
178
|
selectedRowId: null,
|
|
173
|
-
bodyScrollable: false
|
|
179
|
+
bodyScrollable: false,
|
|
180
|
+
skeletonize: false
|
|
174
181
|
};
|
|
175
182
|
var _default = Table;
|
|
176
183
|
exports["default"] = _default;
|
package/lib/tabs/MenuItems.js
CHANGED
|
@@ -30,7 +30,8 @@ var MenuItems = function MenuItems(_ref) {
|
|
|
30
30
|
tabMenuAlign = _ref.tabMenuAlign,
|
|
31
31
|
firstTabIdent = _ref.firstTabIdent,
|
|
32
32
|
tabMenuSize = _ref.tabMenuSize,
|
|
33
|
-
currentPanels = _ref.currentPanels
|
|
33
|
+
currentPanels = _ref.currentPanels,
|
|
34
|
+
tabWidth = _ref.tabWidth;
|
|
34
35
|
return /*#__PURE__*/_react["default"].createElement("ul", {
|
|
35
36
|
className: "menu ".concat(firstTabIdent && '-firsttabident'),
|
|
36
37
|
style: helpers.menuStyles(tabMenuAlign)
|
|
@@ -50,6 +51,9 @@ var MenuItems = function MenuItems(_ref) {
|
|
|
50
51
|
var onDenied = (0, _permissionValidations.actionsOnPermissionDenied)(permissionAttr, helpers.onDeniedOptions);
|
|
51
52
|
return onDenied.unvisible ? null : /*#__PURE__*/_react["default"].createElement("li", {
|
|
52
53
|
key: id,
|
|
54
|
+
style: {
|
|
55
|
+
width: tabWidth
|
|
56
|
+
},
|
|
53
57
|
className: "menuitem ".concat(selectedTabId === id && 'selected')
|
|
54
58
|
}, /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
|
|
55
59
|
className: "btn menubutton",
|
|
@@ -82,13 +86,15 @@ MenuItems.propTypes = {
|
|
|
82
86
|
handlerRemovePanel: _propTypes["default"].func,
|
|
83
87
|
tabMenuAlign: _propTypes["default"].string.isRequired,
|
|
84
88
|
tabMenuSize: _propTypes["default"].string,
|
|
85
|
-
firstTabIdent: _propTypes["default"].bool
|
|
89
|
+
firstTabIdent: _propTypes["default"].bool,
|
|
90
|
+
tabWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
|
|
86
91
|
};
|
|
87
92
|
MenuItems.defaultProps = {
|
|
88
93
|
handlerRemovePanel: null,
|
|
89
94
|
selectedTabId: '',
|
|
90
95
|
firstTabIdent: false,
|
|
91
|
-
tabMenuSize: 'medium'
|
|
96
|
+
tabMenuSize: 'medium',
|
|
97
|
+
tabWidth: 'auto'
|
|
92
98
|
};
|
|
93
99
|
var _default = MenuItems;
|
|
94
100
|
exports["default"] = _default;
|
package/lib/tabs/index.js
CHANGED
|
@@ -53,6 +53,8 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
53
53
|
|
|
54
54
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
55
55
|
|
|
56
|
+
var DROPDOWN_WIDTH = 26;
|
|
57
|
+
|
|
56
58
|
var Tabs = function Tabs(props) {
|
|
57
59
|
var handlerTabClick = props.handlerTabClick,
|
|
58
60
|
children = props.children,
|
|
@@ -60,7 +62,8 @@ var Tabs = function Tabs(props) {
|
|
|
60
62
|
tabMenuPosition = props.tabMenuPosition,
|
|
61
63
|
style = props.style,
|
|
62
64
|
selectedTab = props.selectedTab,
|
|
63
|
-
toolbar = props.toolbar
|
|
65
|
+
toolbar = props.toolbar,
|
|
66
|
+
tabsWidthOnExceedCount = props.tabsWidthOnExceedCount;
|
|
64
67
|
|
|
65
68
|
var _useState = (0, _react.useState)((0, _tabHelpers.buildPanels)(children) || []),
|
|
66
69
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -96,18 +99,76 @@ var Tabs = function Tabs(props) {
|
|
|
96
99
|
tabsContentWidth = _useState14[0],
|
|
97
100
|
setTabsContentWidth = _useState14[1];
|
|
98
101
|
|
|
99
|
-
var
|
|
102
|
+
var _useState15 = (0, _react.useState)(false),
|
|
103
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
104
|
+
hasMenuAttributes = _useState16[0],
|
|
105
|
+
setHasMenuAttributes = _useState16[1];
|
|
106
|
+
|
|
107
|
+
var _useState17 = (0, _react.useState)('auto'),
|
|
108
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
109
|
+
tabWidth = _useState18[0],
|
|
110
|
+
setTabWidth = _useState18[1];
|
|
111
|
+
|
|
112
|
+
var componentRef = (0, _react.useRef)(null);
|
|
113
|
+
|
|
114
|
+
var _menuRef = (0, _react.useRef)(null);
|
|
100
115
|
|
|
101
|
-
var
|
|
116
|
+
var _toolBarRef = (0, _react.useRef)(null);
|
|
117
|
+
|
|
118
|
+
var getTabListWidth = function getTabListWidth() {
|
|
119
|
+
var tabMenu = _menuRef.current.children[0];
|
|
120
|
+
|
|
121
|
+
var tabList = _toConsumableArray(tabMenu.children);
|
|
122
|
+
|
|
123
|
+
var tabsListWidth = tabList.reduce(function (total, tab) {
|
|
124
|
+
return total + tab.clientWidth;
|
|
125
|
+
}, 0);
|
|
126
|
+
return tabsListWidth;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var getMenuAttributes = function getMenuAttributes() {
|
|
130
|
+
var menuSize = _menuRef.current.clientWidth;
|
|
131
|
+
var toolbarSize = toolbar && _toolBarRef.current ? _toolBarRef.current.clientWidth : 0;
|
|
132
|
+
var contentWidth = (toolbar ? menuSize - toolbarSize : menuSize) - DROPDOWN_WIDTH;
|
|
133
|
+
setTabsContentWidth(contentWidth);
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
var getTabsList = function getTabsList() {
|
|
137
|
+
var tabsListWidth = getTabListWidth();
|
|
138
|
+
|
|
139
|
+
var newDropdownPanels = _toConsumableArray(dropdownPanels);
|
|
140
|
+
|
|
141
|
+
var newCurrentPanels = _toConsumableArray(panels);
|
|
142
|
+
|
|
143
|
+
if (newDropdownPanels.length) {
|
|
144
|
+
var newDropdownPanelsIds = newDropdownPanels.map(function (dd) {
|
|
145
|
+
return dd.props.id;
|
|
146
|
+
});
|
|
147
|
+
newCurrentPanels = newCurrentPanels.filter(function (tab) {
|
|
148
|
+
return !newDropdownPanelsIds.includes(tab.props.id);
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (tabsListWidth > tabsContentWidth) {
|
|
153
|
+
var lastPanel = newCurrentPanels[newCurrentPanels.length - 1];
|
|
154
|
+
newDropdownPanels.push(lastPanel);
|
|
155
|
+
newCurrentPanels.pop();
|
|
156
|
+
if (tabsWidthOnExceedCount) setTabWidth(tabsWidthOnExceedCount);
|
|
157
|
+
} else if (tabsListWidth + (tabsWidthOnExceedCount || 110) < tabsContentWidth && newDropdownPanels.length) {
|
|
158
|
+
newCurrentPanels.push(newDropdownPanels[0]);
|
|
159
|
+
newDropdownPanels.shift();
|
|
160
|
+
}
|
|
102
161
|
|
|
103
|
-
|
|
162
|
+
setCurrentPanels(newCurrentPanels);
|
|
163
|
+
setDropdownPanels(newDropdownPanels);
|
|
164
|
+
};
|
|
104
165
|
|
|
105
166
|
var onMenuClick = function onMenuClick(tabId) {
|
|
106
167
|
var includedInDropdown = dropdownPanels.filter(function (item) {
|
|
107
168
|
return item.props.id === tabId;
|
|
108
169
|
});
|
|
109
170
|
|
|
110
|
-
if (includedInDropdown.length > 0) {
|
|
171
|
+
if (includedInDropdown.length > 0 && getTabListWidth() > 0) {
|
|
111
172
|
var newDropdownPanels = dropdownPanels.filter(function (item) {
|
|
112
173
|
return item.props.id !== tabId;
|
|
113
174
|
});
|
|
@@ -148,58 +209,20 @@ var Tabs = function Tabs(props) {
|
|
|
148
209
|
if (handlerCloseTab) handlerCloseTab(closedPanelId, newSelectedTabId);
|
|
149
210
|
};
|
|
150
211
|
|
|
151
|
-
var getMenuAttributes = function getMenuAttributes() {
|
|
152
|
-
var menuSize = _menuRef.current.clientWidth;
|
|
153
|
-
var dropdownWidth = dropdownPanels.length > 0 ? _menuRef.current.children[1].clientWidth : 0;
|
|
154
|
-
var toolbarSize = toolbar && _toolBarRef ? _toolBarRef.current.clientWidth : 0;
|
|
155
|
-
var contentWidth = (toolbar ? menuSize - toolbarSize : menuSize) - dropdownWidth;
|
|
156
|
-
setTabsContentWidth(contentWidth);
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
var getTabsList = function getTabsList() {
|
|
160
|
-
var tabMenu = _menuRef.current.children[0];
|
|
161
|
-
|
|
162
|
-
var tabList = _toConsumableArray(tabMenu.children);
|
|
163
|
-
|
|
164
|
-
var tabsListWidth = tabList.reduce(function (total, tab) {
|
|
165
|
-
return total + tab.clientWidth;
|
|
166
|
-
}, 0);
|
|
167
|
-
|
|
168
|
-
var dropdownTabs = _toConsumableArray(dropdownPanels);
|
|
169
|
-
|
|
170
|
-
var currentTabs = _toConsumableArray(panels);
|
|
171
|
-
|
|
172
|
-
if (dropdownTabs.length) {
|
|
173
|
-
var dropDownTabsIds = dropdownTabs.map(function (dd) {
|
|
174
|
-
return dd.props.id;
|
|
175
|
-
});
|
|
176
|
-
currentTabs = currentTabs.filter(function (tab) {
|
|
177
|
-
return !dropDownTabsIds.includes(tab.props.id);
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
if (tabsListWidth > tabsContentWidth) {
|
|
182
|
-
var lastPanel = currentTabs[currentTabs.length - 1];
|
|
183
|
-
dropdownTabs.push(lastPanel);
|
|
184
|
-
currentTabs.pop();
|
|
185
|
-
} else if (tabsListWidth + 110 < tabsContentWidth && dropdownTabs.length) {
|
|
186
|
-
currentTabs.push(dropdownTabs[0]);
|
|
187
|
-
dropdownTabs.shift();
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
setCurrentPanels(currentTabs);
|
|
191
|
-
setDropdownPanels(dropdownTabs);
|
|
192
|
-
};
|
|
193
|
-
|
|
194
212
|
var onResize = function onResize() {
|
|
195
213
|
if (componentRef.current && _menuRef.current) {
|
|
196
214
|
setContentHeight(componentRef.current.offsetHeight - _menuRef.current.offsetHeight);
|
|
197
|
-
|
|
215
|
+
|
|
216
|
+
if (!hasMenuAttributes && _menuRef.current && _menuRef.current.clientWidth > 0) {
|
|
217
|
+
getMenuAttributes();
|
|
218
|
+
setHasMenuAttributes(true);
|
|
219
|
+
}
|
|
198
220
|
}
|
|
199
221
|
};
|
|
200
222
|
|
|
201
223
|
var renderContent = function renderContent() {
|
|
202
224
|
var menu = /*#__PURE__*/_react["default"].createElement(_Menu["default"], _extends({}, props, {
|
|
225
|
+
tabWidth: tabWidth,
|
|
203
226
|
menuRef: function menuRef(ref) {
|
|
204
227
|
_menuRef.current = ref;
|
|
205
228
|
},
|
|
@@ -231,14 +254,14 @@ var Tabs = function Tabs(props) {
|
|
|
231
254
|
return function () {
|
|
232
255
|
return window.removeEventListener('resize', onResize);
|
|
233
256
|
};
|
|
234
|
-
}, []);
|
|
257
|
+
}, [_menuRef.current]);
|
|
235
258
|
(0, _react.useEffect)(function () {
|
|
236
259
|
if (selectedTab) setSelectedTabId(selectedTab);
|
|
237
260
|
if (children) setPanels((0, _tabHelpers.buildPanels)(children));
|
|
238
261
|
}, [selectedTab, children]);
|
|
239
262
|
(0, _react.useEffect)(function () {
|
|
240
263
|
getTabsList();
|
|
241
|
-
}, [panels.length, currentPanels.length]);
|
|
264
|
+
}, [panels.length, currentPanels.length, tabsContentWidth]);
|
|
242
265
|
|
|
243
266
|
var getContextValues = function getContextValues() {
|
|
244
267
|
return {
|
|
@@ -268,7 +291,8 @@ Tabs.propTypes = {
|
|
|
268
291
|
children: _propTypes["default"].any.isRequired,
|
|
269
292
|
toolbar: _propTypes["default"].object,
|
|
270
293
|
customClassForToolBar: _propTypes["default"].string,
|
|
271
|
-
style: _propTypes["default"].object
|
|
294
|
+
style: _propTypes["default"].object,
|
|
295
|
+
tabsWidthOnExceedCount: _propTypes["default"].number
|
|
272
296
|
};
|
|
273
297
|
Tabs.defaultProps = {
|
|
274
298
|
selectedTab: null,
|
|
@@ -279,7 +303,8 @@ Tabs.defaultProps = {
|
|
|
279
303
|
handlerCloseTab: null,
|
|
280
304
|
toolbar: undefined,
|
|
281
305
|
customClassForToolBar: '',
|
|
282
|
-
style: {}
|
|
306
|
+
style: {},
|
|
307
|
+
tabsWidthOnExceedCount: 0
|
|
283
308
|
};
|
|
284
309
|
var _default = Tabs;
|
|
285
310
|
exports["default"] = _default;
|
package/lib/tabs/tabs.spec.js
CHANGED
|
@@ -135,7 +135,7 @@ describe('Tabs', function () {
|
|
|
135
135
|
container = _render10.container;
|
|
136
136
|
|
|
137
137
|
expect(container.querySelector('.tabs-component')).toHaveClass('menu-bottom');
|
|
138
|
-
expect(container.querySelector('.tabs-component').lastChild).toHaveClass('
|
|
138
|
+
expect(container.querySelector('.tabs-component').lastChild).toHaveClass('menucontainer');
|
|
139
139
|
});
|
|
140
140
|
it('should apply tabMenuAlign', function () {
|
|
141
141
|
var _render11 = (0, _react2.render)(tabsMockRender({
|
|
@@ -328,7 +328,8 @@ describe('Tabs', function () {
|
|
|
328
328
|
})),
|
|
329
329
|
container = _render23.container;
|
|
330
330
|
|
|
331
|
-
|
|
331
|
+
var noPermissionComponent = container.querySelector('.no-permission-component');
|
|
332
|
+
expect(noPermissionComponent).toBeFalsy();
|
|
332
333
|
});
|
|
333
334
|
it('should check permission and be unavailable', function () {
|
|
334
335
|
Object.defineProperty(window, 'sessionStorage', {
|
|
@@ -336,11 +337,13 @@ describe('Tabs', function () {
|
|
|
336
337
|
});
|
|
337
338
|
|
|
338
339
|
var _render24 = (0, _react2.render)(tabsMockRender({}, {
|
|
339
|
-
permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('
|
|
340
|
+
permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('hideContent')
|
|
340
341
|
})),
|
|
341
|
-
container = _render24.container;
|
|
342
|
+
container = _render24.container; // debug();
|
|
342
343
|
|
|
343
|
-
|
|
344
|
+
|
|
345
|
+
var noPermissionComponent = container.querySelector('.no-permission-component');
|
|
346
|
+
expect(noPermissionComponent).toBeTruthy();
|
|
344
347
|
});
|
|
345
348
|
});
|
|
346
349
|
});
|
package/lib/toolbar/ButtonBar.js
CHANGED
|
@@ -7,43 +7,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
14
|
var _buttons = _interopRequireWildcard(require("../buttons"));
|
|
15
15
|
|
|
16
|
+
var _helpers = _interopRequireDefault(require("./helpers"));
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
+
|
|
16
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
21
|
|
|
18
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
23
|
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
|
-
|
|
22
24
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
25
|
|
|
24
|
-
var getProps = function getProps(props) {
|
|
25
|
-
return _extends({}, props, {
|
|
26
|
-
boxShadow: false,
|
|
27
|
-
customClass: "buttonbar ".concat(props.customClass)
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
|
|
31
26
|
var ButtonBar = function ButtonBar(props) {
|
|
27
|
+
var _useContext = (0, _react.useContext)(_helpers["default"]),
|
|
28
|
+
skeletonize = _useContext.skeletonize;
|
|
29
|
+
|
|
30
|
+
var getProps = function getProps() {
|
|
31
|
+
return _extends({}, props, {
|
|
32
|
+
skeletonize: skeletonize,
|
|
33
|
+
boxShadow: false,
|
|
34
|
+
customClass: "buttonbar ".concat(props.customClass)
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
|
|
32
38
|
return {
|
|
33
|
-
"default": /*#__PURE__*/_react["default"].createElement(_buttons["default"], getProps(
|
|
34
|
-
primary: /*#__PURE__*/_react["default"].createElement(_buttons.PrimaryButton, getProps(
|
|
35
|
-
danger: /*#__PURE__*/_react["default"].createElement(_buttons.DangerButton, getProps(
|
|
36
|
-
info: /*#__PURE__*/_react["default"].createElement(_buttons.InfoButton, getProps(
|
|
37
|
-
success: /*#__PURE__*/_react["default"].createElement(_buttons.SuccessButton, getProps(
|
|
38
|
-
warning: /*#__PURE__*/_react["default"].createElement(_buttons.WarningButton, getProps(
|
|
39
|
-
add: /*#__PURE__*/_react["default"].createElement(_buttons.AddButton, getProps(
|
|
40
|
-
cancel: /*#__PURE__*/_react["default"].createElement(_buttons.CancelButton, getProps(
|
|
41
|
-
destroy: /*#__PURE__*/_react["default"].createElement(_buttons.DestroyButton, getProps(
|
|
42
|
-
edit: /*#__PURE__*/_react["default"].createElement(_buttons.EditButton, getProps(
|
|
43
|
-
save: /*#__PURE__*/_react["default"].createElement(_buttons.SaveButton, getProps(
|
|
44
|
-
activate: /*#__PURE__*/_react["default"].createElement(_buttons.ActivateButton, getProps(
|
|
45
|
-
inactivate: /*#__PURE__*/_react["default"].createElement(_buttons.InactivateButton, getProps(
|
|
46
|
-
restore: /*#__PURE__*/_react["default"].createElement(_buttons.RestoreButton, getProps(
|
|
39
|
+
"default": /*#__PURE__*/_react["default"].createElement(_buttons["default"], getProps()),
|
|
40
|
+
primary: /*#__PURE__*/_react["default"].createElement(_buttons.PrimaryButton, getProps()),
|
|
41
|
+
danger: /*#__PURE__*/_react["default"].createElement(_buttons.DangerButton, getProps()),
|
|
42
|
+
info: /*#__PURE__*/_react["default"].createElement(_buttons.InfoButton, getProps()),
|
|
43
|
+
success: /*#__PURE__*/_react["default"].createElement(_buttons.SuccessButton, getProps()),
|
|
44
|
+
warning: /*#__PURE__*/_react["default"].createElement(_buttons.WarningButton, getProps()),
|
|
45
|
+
add: /*#__PURE__*/_react["default"].createElement(_buttons.AddButton, getProps()),
|
|
46
|
+
cancel: /*#__PURE__*/_react["default"].createElement(_buttons.CancelButton, getProps()),
|
|
47
|
+
destroy: /*#__PURE__*/_react["default"].createElement(_buttons.DestroyButton, getProps()),
|
|
48
|
+
edit: /*#__PURE__*/_react["default"].createElement(_buttons.EditButton, getProps()),
|
|
49
|
+
save: /*#__PURE__*/_react["default"].createElement(_buttons.SaveButton, getProps()),
|
|
50
|
+
activate: /*#__PURE__*/_react["default"].createElement(_buttons.ActivateButton, getProps()),
|
|
51
|
+
inactivate: /*#__PURE__*/_react["default"].createElement(_buttons.InactivateButton, getProps()),
|
|
52
|
+
restore: /*#__PURE__*/_react["default"].createElement(_buttons.RestoreButton, getProps())
|
|
47
53
|
}[props.type];
|
|
48
54
|
};
|
|
49
55
|
|