linear-react-components-ui 0.4.76-beta.33 → 0.4.76-beta.36
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/alerts/AlertProvider.js +1 -1
- package/lib/alerts/BaseAlert.js +1 -1
- package/lib/assets/styles/button.scss +3 -1
- 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 +9 -0
- package/lib/buttons/DefaultButton.js +1 -1
- package/lib/buttons/index.js +28 -28
- package/lib/calendar/base/helpers.js +6 -6
- package/lib/calendar/base/index.js +1 -1
- package/lib/calendar/index.js +10 -10
- package/lib/checkbox/index.js +1 -1
- package/lib/dialog/index.js +6 -6
- package/lib/drawer/Drawer.js +1 -1
- package/lib/drawer/index.js +4 -4
- package/lib/dropdown/Popup.js +3 -2
- package/lib/dropdown/withDropdown.js +2 -2
- package/lib/fieldset/index.js +1 -1
- package/lib/form/Field.js +1 -1
- package/lib/form/form.spec.js +8 -0
- package/lib/form/helpers.js +1 -1
- package/lib/form/index.js +45 -26
- package/lib/form/withFieldHOC.js +1 -1
- package/lib/form/withFormSecurity.js +2 -2
- package/lib/icons/helper.js +4 -0
- package/lib/index.js +12 -12
- package/lib/inputs/base/InputTextBase.js +1 -1
- package/lib/inputs/base/helpers.js +1 -1
- package/lib/inputs/color/index.js +1 -1
- package/lib/inputs/date/Dropdown.js +1 -1
- package/lib/inputs/date/helpers.js +1 -1
- package/lib/inputs/date/index.js +1 -1
- package/lib/inputs/inputHOC.js +1 -1
- package/lib/inputs/mask/Cnpj.js +1 -1
- package/lib/inputs/mask/Cpf.js +1 -1
- package/lib/inputs/mask/Phone.js +10 -1
- package/lib/inputs/mask/helpers.js +2 -2
- package/lib/inputs/mask/imaskHOC.js +1 -1
- package/lib/inputs/mask/index.js +4 -4
- package/lib/inputs/mask/input_mask.spec.js +21 -4
- package/lib/inputs/multiSelect/Dropdown.js +1 -1
- package/lib/inputs/multiSelect/index.js +1 -1
- package/lib/inputs/number/format_number.js +1 -1
- package/lib/inputs/period/Dropdown.js +1 -1
- package/lib/inputs/period/helper.js +1 -1
- package/lib/inputs/period/index.js +1 -1
- package/lib/inputs/search/index.js +1 -1
- package/lib/inputs/select/Dropdown.js +50 -63
- package/lib/inputs/select/helper.js +65 -2
- package/lib/inputs/select/multiple/index.js +6 -3
- package/lib/inputs/select/simple/index.js +8 -5
- package/lib/internals/constants.js +1 -1
- package/lib/internals/withTooltip.js +1 -1
- package/lib/labelMessages/index.js +1 -1
- package/lib/labels/DefaultLabel.js +1 -1
- package/lib/labels/index.js +10 -10
- package/lib/list/Item.js +9 -7
- package/lib/list/helpers.js +8 -3
- package/lib/list/index.js +91 -21
- package/lib/list/list.spec.js +113 -84
- package/lib/menus/sidenav/NavMenuItem.js +1 -1
- package/lib/menus/sidenav/NavSubMenuItem.js +1 -1
- package/lib/menus/sidenav/helpers.js +1 -1
- package/lib/menus/sidenav/index.js +10 -10
- package/lib/menus/sidenav/popup_menu_search/index.js +2 -1
- package/lib/panel/Default.js +1 -1
- package/lib/panel/helpers.js +1 -1
- package/lib/panel/index.js +14 -14
- package/lib/permissionValidations.js +1 -1
- package/lib/radio/index.js +1 -1
- package/lib/spinner/index.js +1 -1
- package/lib/split/Split.js +1 -1
- package/lib/table/Body.js +33 -23
- package/lib/table/Header.js +6 -4
- package/lib/table/helpers.js +1 -1
- package/lib/table/index.js +14 -12
- package/lib/tabs/Panel.js +1 -1
- package/lib/tabs/index.js +1 -1
- package/lib/tabs/tabHelpers.js +3 -2
- package/lib/toolbar/index.js +8 -8
- package/lib/treeview/Node.js +23 -7
- package/lib/treeview/index.js +12 -4
- package/lib/treeview/treeview.spec.js +18 -0
- package/lib/treeview_old/Node.js +1 -1
- package/lib/uitour/helpers.js +1 -1
- package/lib/uitour/index.js +1 -1
- package/package.json +1 -1
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
|
|
|
@@ -55,11 +57,22 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
55
57
|
|
|
56
58
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
57
59
|
|
|
58
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr
|
|
60
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
59
61
|
|
|
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,
|
|
75
|
+
selectOnEnter = props.selectOnEnter;
|
|
63
76
|
var selectedItemRef = (0, _react.useRef)(null);
|
|
64
77
|
var listRef = (0, _react.useRef)(null);
|
|
65
78
|
|
|
@@ -73,18 +86,18 @@ var List = function List(props) {
|
|
|
73
86
|
itensId = _useState4[0],
|
|
74
87
|
setItensId = _useState4[1];
|
|
75
88
|
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
selectable = props.selectable,
|
|
82
|
-
onSelectItem = props.onSelectItem;
|
|
89
|
+
var _useState5 = (0, _react.useState)(children),
|
|
90
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
91
|
+
newChildren = _useState6[0],
|
|
92
|
+
setNewChildren = _useState6[1];
|
|
93
|
+
|
|
83
94
|
var contextValues = {
|
|
84
95
|
selectable: selectable,
|
|
85
96
|
selectedItemId: selectedItemId,
|
|
86
97
|
selectedItemRef: selectedItemRef,
|
|
98
|
+
selectOnEnter: selectOnEnter,
|
|
87
99
|
children: children,
|
|
100
|
+
skeletonize: skeletonize,
|
|
88
101
|
handleSelectItem: function handleSelectItem(itemId, onClick) {
|
|
89
102
|
if (!onSelectItem && onClick) setSelectedItemId(itemId);
|
|
90
103
|
if (onSelectItem) onSelectItem(itemId);
|
|
@@ -92,7 +105,7 @@ var List = function List(props) {
|
|
|
92
105
|
};
|
|
93
106
|
|
|
94
107
|
var onKeyDown = function onKeyDown(e) {
|
|
95
|
-
if ([constants.keyCodes.ARROW_DOWN, constants.keyCodes.ARROW_UP].includes(e.keyCode)) {
|
|
108
|
+
if ([constants.keyCodes.ARROW_DOWN, constants.keyCodes.ARROW_UP].includes(e.keyCode) && !skeletonize) {
|
|
96
109
|
e.preventDefault();
|
|
97
110
|
|
|
98
111
|
if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
|
|
@@ -118,6 +131,37 @@ var List = function List(props) {
|
|
|
118
131
|
return null;
|
|
119
132
|
};
|
|
120
133
|
|
|
134
|
+
var getSkeleton = function getSkeleton() {
|
|
135
|
+
var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
136
|
+
var maxSkeletonsItensExceeded = 2;
|
|
137
|
+
var skeletonItensCount = length > skeletonItens ? maxSkeletonsItensExceeded : Math.floor(skeletonItens / length);
|
|
138
|
+
var skeletonItensList = Array.from(Array(skeletonItensCount).keys());
|
|
139
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
140
|
+
className: "skeleton-transparency"
|
|
141
|
+
}, skeletonItensList.map(function (id) {
|
|
142
|
+
return /*#__PURE__*/_react["default"].createElement(_Item["default"], {
|
|
143
|
+
key: id,
|
|
144
|
+
hovered: false,
|
|
145
|
+
style: {
|
|
146
|
+
pointerEvents: 'none'
|
|
147
|
+
}
|
|
148
|
+
}, /*#__PURE__*/_react["default"].createElement(_skeleton["default"], {
|
|
149
|
+
height: skeletonHeight,
|
|
150
|
+
style: {
|
|
151
|
+
margin: '6px 0'
|
|
152
|
+
}
|
|
153
|
+
}));
|
|
154
|
+
}));
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
var getNewChildren = function getNewChildren(headersChildren) {
|
|
158
|
+
return headersChildren.length > 0 ? headersChildren.map(function (item) {
|
|
159
|
+
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
|
|
160
|
+
key: item.props.title
|
|
161
|
+
}, item, getSkeleton(headersChildren.length));
|
|
162
|
+
}) : /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, headersChildren, getSkeleton());
|
|
163
|
+
};
|
|
164
|
+
|
|
121
165
|
(0, _react.useEffect)(function () {
|
|
122
166
|
if (selectedItemRef.current && listRef.current && listRef.current.scroll) {
|
|
123
167
|
var selectedItemRect = selectedItemRef.current.getBoundingClientRect();
|
|
@@ -145,28 +189,46 @@ var List = function List(props) {
|
|
|
145
189
|
}
|
|
146
190
|
}, [selectedItemRef.current]);
|
|
147
191
|
(0, _react.useEffect)(function () {
|
|
148
|
-
document.addEventListener('keydown', onKeyDown);
|
|
192
|
+
if (!skeletonize) document.addEventListener('keydown', onKeyDown);
|
|
149
193
|
return function () {
|
|
150
194
|
document.removeEventListener('keydown', onKeyDown);
|
|
151
195
|
};
|
|
152
|
-
});
|
|
196
|
+
}, [skeletonize, selectedItemId, itensId]);
|
|
153
197
|
(0, _react.useEffect)(function () {
|
|
154
|
-
if (onSelectItem && props.selectedItemId)
|
|
198
|
+
if (onSelectItem && props.selectedItemId) {
|
|
199
|
+
setSelectedItemId(props.selectedItemId);
|
|
200
|
+
if (selectedItemRef.current) selectedItemRef.current.focus();
|
|
201
|
+
}
|
|
155
202
|
}, [props.selectedItemId]);
|
|
156
203
|
(0, _react.useEffect)(function () {
|
|
157
|
-
var newItensIds = children.length > 0
|
|
158
|
-
return item.props.itemId;
|
|
159
|
-
}).filter(Boolean);
|
|
204
|
+
var newItensIds = children.length > 0 ? children.map(function (item) {
|
|
205
|
+
return item.props && item.props.itemId;
|
|
206
|
+
}).filter(Boolean) : [children.props.itemId];
|
|
160
207
|
setItensId(newItensIds);
|
|
161
|
-
}, [children
|
|
162
|
-
|
|
208
|
+
}, [children]);
|
|
209
|
+
(0, _react.useEffect)(function () {
|
|
210
|
+
if (skeletonize) {
|
|
211
|
+
var headersChildren = children.type && children.type === _helpers.LIST_ITEMS_TYPES.listHeader && children;
|
|
212
|
+
|
|
213
|
+
if (children.length > 0) {
|
|
214
|
+
headersChildren = children.filter(function (item) {
|
|
215
|
+
return item.type && item.type.name === _helpers.LIST_ITEMS_TYPES.listHeader;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
setNewChildren(getNewChildren(headersChildren));
|
|
220
|
+
} else {
|
|
221
|
+
setNewChildren(children);
|
|
222
|
+
}
|
|
223
|
+
}, [skeletonize, children]);
|
|
224
|
+
return /*#__PURE__*/_react["default"].createElement(_helpers.ListContext.Provider, {
|
|
163
225
|
value: contextValues
|
|
164
226
|
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
165
227
|
"data-testid": "list-component",
|
|
166
228
|
style: style,
|
|
167
229
|
ref: listRef,
|
|
168
230
|
className: "list-component ".concat(condensed && '-condensed', "\n ").concat(customClass, " ").concat(!transparent && '-listbackground')
|
|
169
|
-
},
|
|
231
|
+
}, newChildren));
|
|
170
232
|
};
|
|
171
233
|
|
|
172
234
|
List.propTypes = {
|
|
@@ -177,7 +239,11 @@ List.propTypes = {
|
|
|
177
239
|
selectable: _propTypes["default"].bool,
|
|
178
240
|
style: _propTypes["default"].object,
|
|
179
241
|
onSelectItem: _propTypes["default"].func,
|
|
180
|
-
selectedItemId: _propTypes["default"].string
|
|
242
|
+
selectedItemId: _propTypes["default"].string,
|
|
243
|
+
skeletonize: _propTypes["default"].bool,
|
|
244
|
+
skeletonItens: _propTypes["default"].number,
|
|
245
|
+
skeletonHeight: _propTypes["default"].number,
|
|
246
|
+
selectOnEnter: _propTypes["default"].bool
|
|
181
247
|
};
|
|
182
248
|
List.defaultProps = {
|
|
183
249
|
customClass: '',
|
|
@@ -186,7 +252,11 @@ List.defaultProps = {
|
|
|
186
252
|
selectable: false,
|
|
187
253
|
style: {},
|
|
188
254
|
onSelectItem: undefined,
|
|
189
|
-
selectedItemId: ''
|
|
255
|
+
selectedItemId: '',
|
|
256
|
+
skeletonize: false,
|
|
257
|
+
skeletonItens: 5,
|
|
258
|
+
skeletonHeight: 48,
|
|
259
|
+
selectOnEnter: false
|
|
190
260
|
};
|
|
191
261
|
var _default = List;
|
|
192
262
|
exports["default"] = _default;
|