linear-react-components-ui 0.4.76-beta.33 → 0.4.76-beta.34
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/README.md +7 -5
- package/lib/assets/styles/commons.scss +10 -0
- package/lib/assets/styles/list.scss +8 -0
- package/lib/assets/styles/select.scss +3 -3
- package/lib/assets/styles/table.scss +5 -7
- package/lib/assets/styles/treeview.scss +4 -0
- package/lib/dropdown/Popup.js +3 -2
- package/lib/form/form.spec.js +8 -0
- package/lib/form/index.js +40 -21
- package/lib/icons/helper.js +4 -0
- package/lib/inputs/mask/Phone.js +10 -1
- package/lib/inputs/mask/input_mask.spec.js +21 -4
- package/lib/inputs/select/Dropdown.js +49 -62
- package/lib/inputs/select/helper.js +65 -2
- package/lib/inputs/select/multiple/index.js +5 -2
- package/lib/inputs/select/simple/index.js +7 -4
- package/lib/list/Item.js +5 -4
- package/lib/list/helpers.js +8 -3
- package/lib/list/index.js +81 -17
- package/lib/list/list.spec.js +113 -84
- package/lib/menus/sidenav/index.js +1 -1
- package/lib/table/Body.js +31 -23
- package/lib/table/index.js +5 -3
- package/lib/treeview/Node.js +25 -5
- package/lib/treeview/index.js +11 -3
- package/lib/treeview/treeview.spec.js +18 -0
- package/package.json +1 -1
package/lib/list/Item.js
CHANGED
|
@@ -17,7 +17,7 @@ var _icons = _interopRequireDefault(require("../icons"));
|
|
|
17
17
|
|
|
18
18
|
var _checkbox = _interopRequireDefault(require("../checkbox"));
|
|
19
19
|
|
|
20
|
-
var _helpers =
|
|
20
|
+
var _helpers = require("./helpers");
|
|
21
21
|
|
|
22
22
|
var _withDropdown = require("../dropdown/withDropdown");
|
|
23
23
|
|
|
@@ -67,11 +67,12 @@ var Item = function Item(props) {
|
|
|
67
67
|
visible = props.visible,
|
|
68
68
|
permissionAttr = props.permissionAttr;
|
|
69
69
|
|
|
70
|
-
var _useContext = (0, _react.useContext)(_helpers
|
|
70
|
+
var _useContext = (0, _react.useContext)(_helpers.ListContext),
|
|
71
71
|
handleSelectItem = _useContext.handleSelectItem,
|
|
72
72
|
selectable = _useContext.selectable,
|
|
73
73
|
selectedItemId = _useContext.selectedItemId,
|
|
74
|
-
selectedItemRef = _useContext.selectedItemRef
|
|
74
|
+
selectedItemRef = _useContext.selectedItemRef,
|
|
75
|
+
skeletonize = _useContext.skeletonize;
|
|
75
76
|
|
|
76
77
|
var dropdownContext = (0, _react.useContext)(_withDropdown.WithDropdownContext);
|
|
77
78
|
var options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible];
|
|
@@ -109,7 +110,7 @@ var Item = function Item(props) {
|
|
|
109
110
|
};
|
|
110
111
|
|
|
111
112
|
var onKeyDown = (0, _react.useCallback)(function (e) {
|
|
112
|
-
if ([constants.keyCodes.ENTER].includes(e.keyCode)) {
|
|
113
|
+
if ([constants.keyCodes.ENTER].includes(e.keyCode) && !skeletonize) {
|
|
113
114
|
e.preventDefault();
|
|
114
115
|
handleOnSelectItem(e);
|
|
115
116
|
if (url) history.push(url);
|
package/lib/list/helpers.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
exports.LIST_ITEMS_TYPES = exports.ListContext = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
@@ -11,5 +11,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
11
11
|
|
|
12
12
|
var ListContext = /*#__PURE__*/_react["default"].createContext();
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
exports.ListContext = ListContext;
|
|
15
|
+
var LIST_ITEMS_TYPES = {
|
|
16
|
+
listHeader: 'Header',
|
|
17
|
+
listItem: 'Item',
|
|
18
|
+
listSeparator: 'Separator'
|
|
19
|
+
};
|
|
20
|
+
exports.LIST_ITEMS_TYPES = LIST_ITEMS_TYPES;
|
package/lib/list/index.js
CHANGED
|
@@ -35,11 +35,13 @@ var _Item = _interopRequireDefault(require("./Item"));
|
|
|
35
35
|
|
|
36
36
|
var constants = _interopRequireWildcard(require("../internals/constants"));
|
|
37
37
|
|
|
38
|
+
var _skeleton = _interopRequireDefault(require("../skeleton"));
|
|
39
|
+
|
|
38
40
|
var _Separator = _interopRequireDefault(require("./Separator"));
|
|
39
41
|
|
|
40
42
|
require("../assets/styles/list.scss");
|
|
41
43
|
|
|
42
|
-
var _helpers =
|
|
44
|
+
var _helpers = require("./helpers");
|
|
43
45
|
|
|
44
46
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
45
47
|
|
|
@@ -60,6 +62,16 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
60
62
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
61
63
|
|
|
62
64
|
var List = function List(props) {
|
|
65
|
+
var customClass = props.customClass,
|
|
66
|
+
condensed = props.condensed,
|
|
67
|
+
transparent = props.transparent,
|
|
68
|
+
style = props.style,
|
|
69
|
+
selectable = props.selectable,
|
|
70
|
+
onSelectItem = props.onSelectItem,
|
|
71
|
+
skeletonize = props.skeletonize,
|
|
72
|
+
skeletonItens = props.skeletonItens,
|
|
73
|
+
skeletonHeight = props.skeletonHeight,
|
|
74
|
+
children = props.children;
|
|
63
75
|
var selectedItemRef = (0, _react.useRef)(null);
|
|
64
76
|
var listRef = (0, _react.useRef)(null);
|
|
65
77
|
|
|
@@ -73,18 +85,17 @@ var List = function List(props) {
|
|
|
73
85
|
itensId = _useState4[0],
|
|
74
86
|
setItensId = _useState4[1];
|
|
75
87
|
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
selectable = props.selectable,
|
|
82
|
-
onSelectItem = props.onSelectItem;
|
|
88
|
+
var _useState5 = (0, _react.useState)(children),
|
|
89
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
90
|
+
newChildren = _useState6[0],
|
|
91
|
+
setNewChildren = _useState6[1];
|
|
92
|
+
|
|
83
93
|
var contextValues = {
|
|
84
94
|
selectable: selectable,
|
|
85
95
|
selectedItemId: selectedItemId,
|
|
86
96
|
selectedItemRef: selectedItemRef,
|
|
87
97
|
children: children,
|
|
98
|
+
skeletonize: skeletonize,
|
|
88
99
|
handleSelectItem: function handleSelectItem(itemId, onClick) {
|
|
89
100
|
if (!onSelectItem && onClick) setSelectedItemId(itemId);
|
|
90
101
|
if (onSelectItem) onSelectItem(itemId);
|
|
@@ -92,7 +103,7 @@ var List = function List(props) {
|
|
|
92
103
|
};
|
|
93
104
|
|
|
94
105
|
var onKeyDown = function onKeyDown(e) {
|
|
95
|
-
if ([constants.keyCodes.ARROW_DOWN, constants.keyCodes.ARROW_UP].includes(e.keyCode)) {
|
|
106
|
+
if ([constants.keyCodes.ARROW_DOWN, constants.keyCodes.ARROW_UP].includes(e.keyCode) && !skeletonize) {
|
|
96
107
|
e.preventDefault();
|
|
97
108
|
|
|
98
109
|
if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
|
|
@@ -149,24 +160,71 @@ var List = function List(props) {
|
|
|
149
160
|
return function () {
|
|
150
161
|
document.removeEventListener('keydown', onKeyDown);
|
|
151
162
|
};
|
|
152
|
-
});
|
|
163
|
+
}, [skeletonize]);
|
|
153
164
|
(0, _react.useEffect)(function () {
|
|
154
165
|
if (onSelectItem && props.selectedItemId) setSelectedItemId(props.selectedItemId);
|
|
155
166
|
}, [props.selectedItemId]);
|
|
156
167
|
(0, _react.useEffect)(function () {
|
|
157
|
-
var newItensIds = children.length > 0
|
|
158
|
-
return item.props.itemId;
|
|
159
|
-
}).filter(Boolean);
|
|
168
|
+
var newItensIds = children.length > 0 ? children.map(function (item) {
|
|
169
|
+
return item.props && item.props.itemId;
|
|
170
|
+
}).filter(Boolean) : [children.props.itemId];
|
|
160
171
|
setItensId(newItensIds);
|
|
161
172
|
}, [children.length]);
|
|
162
|
-
|
|
173
|
+
|
|
174
|
+
var getSkeleton = function getSkeleton() {
|
|
175
|
+
var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
176
|
+
var maxSkeletonsItensExceeded = 2;
|
|
177
|
+
var skeletonItensCount = length > skeletonItens ? maxSkeletonsItensExceeded : Math.floor(skeletonItens / length);
|
|
178
|
+
var skeletonItensList = Array.from(Array(skeletonItensCount).keys());
|
|
179
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
180
|
+
className: "skeleton-transparency"
|
|
181
|
+
}, skeletonItensList.map(function (id) {
|
|
182
|
+
return /*#__PURE__*/_react["default"].createElement(_Item["default"], {
|
|
183
|
+
key: id,
|
|
184
|
+
hovered: false,
|
|
185
|
+
style: {
|
|
186
|
+
pointerEvents: 'none'
|
|
187
|
+
}
|
|
188
|
+
}, /*#__PURE__*/_react["default"].createElement(_skeleton["default"], {
|
|
189
|
+
height: skeletonHeight,
|
|
190
|
+
style: {
|
|
191
|
+
margin: '6px 0'
|
|
192
|
+
}
|
|
193
|
+
}));
|
|
194
|
+
}));
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
var getNewChildren = function getNewChildren(headersChildren) {
|
|
198
|
+
return headersChildren.length > 0 ? headersChildren.map(function (item) {
|
|
199
|
+
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
|
|
200
|
+
key: item.props.title
|
|
201
|
+
}, item, getSkeleton(headersChildren.length));
|
|
202
|
+
}) : /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, headersChildren, getSkeleton());
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
(0, _react.useEffect)(function () {
|
|
206
|
+
if (skeletonize) {
|
|
207
|
+
var headersChildren = children.type && children.type === _helpers.LIST_ITEMS_TYPES.listHeader && children;
|
|
208
|
+
|
|
209
|
+
if (children.length > 0) {
|
|
210
|
+
headersChildren = children.filter(function (item) {
|
|
211
|
+
return item.type && item.type.name === _helpers.LIST_ITEMS_TYPES.listHeader;
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
setNewChildren(getNewChildren(headersChildren));
|
|
216
|
+
} else {
|
|
217
|
+
setNewChildren(children);
|
|
218
|
+
}
|
|
219
|
+
}, [skeletonize, children.length]);
|
|
220
|
+
return /*#__PURE__*/_react["default"].createElement(_helpers.ListContext.Provider, {
|
|
163
221
|
value: contextValues
|
|
164
222
|
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
165
223
|
"data-testid": "list-component",
|
|
166
224
|
style: style,
|
|
167
225
|
ref: listRef,
|
|
168
226
|
className: "list-component ".concat(condensed && '-condensed', "\n ").concat(customClass, " ").concat(!transparent && '-listbackground')
|
|
169
|
-
},
|
|
227
|
+
}, newChildren));
|
|
170
228
|
};
|
|
171
229
|
|
|
172
230
|
List.propTypes = {
|
|
@@ -177,7 +235,10 @@ List.propTypes = {
|
|
|
177
235
|
selectable: _propTypes["default"].bool,
|
|
178
236
|
style: _propTypes["default"].object,
|
|
179
237
|
onSelectItem: _propTypes["default"].func,
|
|
180
|
-
selectedItemId: _propTypes["default"].string
|
|
238
|
+
selectedItemId: _propTypes["default"].string,
|
|
239
|
+
skeletonize: _propTypes["default"].bool,
|
|
240
|
+
skeletonItens: _propTypes["default"].number,
|
|
241
|
+
skeletonHeight: _propTypes["default"].number
|
|
181
242
|
};
|
|
182
243
|
List.defaultProps = {
|
|
183
244
|
customClass: '',
|
|
@@ -186,7 +247,10 @@ List.defaultProps = {
|
|
|
186
247
|
selectable: false,
|
|
187
248
|
style: {},
|
|
188
249
|
onSelectItem: undefined,
|
|
189
|
-
selectedItemId: ''
|
|
250
|
+
selectedItemId: '',
|
|
251
|
+
skeletonize: false,
|
|
252
|
+
skeletonItens: 5,
|
|
253
|
+
skeletonHeight: 48
|
|
190
254
|
};
|
|
191
255
|
var _default = List;
|
|
192
256
|
exports["default"] = _default;
|