linear-react-components-ui 0.4.76-beta.12 → 0.4.76-beta.15
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/.tool-versions +1 -0
- package/.vscode/settings.json +1 -2
- package/README.md +33 -0
- 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 +28 -2
- package/lib/assets/styles/effects.scss +12 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- 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/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +3 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/radio.scss +19 -0
- package/lib/assets/styles/select.scss +1 -0
- package/lib/assets/styles/skeleton.scss +48 -0
- package/lib/assets/styles/table.scss +14 -5
- package/lib/assets/styles/tabs.scss +116 -75
- package/lib/assets/styles/treeview.scss +32 -0
- package/lib/avatar/avatar.spec.js +17 -6
- package/lib/avatar/index.js +1 -1
- package/lib/buttons/DefaultButton.js +13 -4
- package/lib/buttons/split_button/index.js +8 -4
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/checkbox.spec.js +16 -16
- package/lib/checkbox/index.js +33 -12
- package/lib/dialog/base/index.js +15 -6
- package/lib/dialog/form/index.js +24 -4
- package/lib/drawer/Drawer.js +9 -5
- package/lib/drawer/Header.js +15 -5
- package/lib/drawer/index.js +4 -1
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/helpers.js +20 -1
- package/lib/form/index.js +207 -224
- package/lib/form/withFieldHOC.js +5 -1
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/icons/helper.js +16 -0
- package/lib/inputs/base/InputTextBase.js +10 -5
- package/lib/inputs/base/helpers.js +2 -1
- 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/Phone.js +10 -1
- package/lib/inputs/mask/imaskHOC.js +2 -1
- package/lib/inputs/multiSelect/ActionButtons.js +68 -0
- package/lib/inputs/multiSelect/Dropdown.js +200 -0
- package/lib/inputs/multiSelect/helper.js +18 -0
- package/lib/inputs/multiSelect/index.js +343 -0
- package/lib/inputs/number/BaseNumber.js +1 -1
- package/lib/inputs/number/index.js +7 -5
- package/lib/inputs/period/Dialog.js +38 -0
- package/lib/inputs/period/Dropdown.js +90 -0
- package/lib/inputs/period/PeriodList.js +79 -0
- package/lib/inputs/period/helper.js +118 -0
- package/lib/inputs/period/index.js +490 -0
- package/lib/inputs/select/Dropdown.js +9 -6
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +9 -7
- package/lib/inputs/select/simple/index.js +30 -18
- package/lib/internals/withTooltip.js +85 -81
- package/lib/labels/DefaultLabel.js +7 -4
- package/lib/list/Item.js +3 -3
- package/lib/list/index.js +20 -10
- package/lib/list/list.spec.js +129 -85
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/sidenav/NavMenuItem.js +2 -2
- package/lib/menus/sidenav/index.js +7 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/radio/index.js +9 -6
- package/lib/skeleton/SkeletonContainer.js +42 -0
- package/lib/skeleton/index.js +84 -0
- package/lib/spinner/index.js +6 -1
- package/lib/split/Split.js +5 -11
- package/lib/table/HeaderColumn.js +24 -3
- package/lib/table/Row.js +7 -3
- package/lib/table/RowColumn.js +22 -3
- package/lib/table/index.js +11 -4
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +12 -9
- package/lib/tabs/MenuItems.js +15 -9
- package/lib/tabs/Panel.js +1 -3
- package/lib/tabs/index.js +156 -22
- 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 +24 -9
- package/lib/tooltip/index.js +20 -7
- package/lib/treeview/Node.js +348 -49
- package/lib/treeview/index.js +467 -36
- package/package.json +9 -8
- package/lib/inputs/date/helper.js +0 -16
|
@@ -127,9 +127,6 @@ var SimpleSelect = /*#__PURE__*/function (_Component) {
|
|
|
127
127
|
onFocus: function onFocus() {
|
|
128
128
|
_this2.onFocus();
|
|
129
129
|
},
|
|
130
|
-
onBlur: function onBlur(e) {
|
|
131
|
-
_this2.onBlur(e);
|
|
132
|
-
},
|
|
133
130
|
onChange: function onChange(e) {
|
|
134
131
|
_this2.onFilter(e.target.value);
|
|
135
132
|
},
|
|
@@ -293,18 +290,11 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
293
290
|
enumerable: true,
|
|
294
291
|
writable: true,
|
|
295
292
|
value: function value(selected) {
|
|
296
|
-
var
|
|
297
|
-
onChange = _this3$props2.onChange,
|
|
298
|
-
idKey = _this3$props2.idKey,
|
|
299
|
-
name = _this3$props2.name;
|
|
293
|
+
var onChange = _this3.props.onChange;
|
|
300
294
|
|
|
301
295
|
if (onChange) {
|
|
302
|
-
var event =
|
|
303
|
-
|
|
304
|
-
name: name,
|
|
305
|
-
value: selected ? selected[idKey] : undefined
|
|
306
|
-
}
|
|
307
|
-
};
|
|
296
|
+
var event = _this3.getSelectEvent(selected);
|
|
297
|
+
|
|
308
298
|
onChange(event);
|
|
309
299
|
}
|
|
310
300
|
}
|
|
@@ -364,9 +354,15 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
364
354
|
configurable: true,
|
|
365
355
|
enumerable: true,
|
|
366
356
|
writable: true,
|
|
367
|
-
value: function value(
|
|
357
|
+
value: function value(selected) {
|
|
368
358
|
var onBlur = _this3.props.onBlur;
|
|
369
|
-
|
|
359
|
+
|
|
360
|
+
if (onBlur) {
|
|
361
|
+
var event = _this3.getSelectEvent(selected);
|
|
362
|
+
|
|
363
|
+
onBlur(event);
|
|
364
|
+
}
|
|
365
|
+
|
|
370
366
|
if (!_this3.state.insideComponent) _this3.setState({
|
|
371
367
|
opened: false,
|
|
372
368
|
isTyping: false
|
|
@@ -378,9 +374,9 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
378
374
|
enumerable: true,
|
|
379
375
|
writable: true,
|
|
380
376
|
value: function value(e) {
|
|
381
|
-
var _this3$
|
|
382
|
-
dataSource = _this3$
|
|
383
|
-
idKey = _this3$
|
|
377
|
+
var _this3$props2 = _this3.props,
|
|
378
|
+
dataSource = _this3$props2.dataSource,
|
|
379
|
+
idKey = _this3$props2.idKey;
|
|
384
380
|
var _this3$state = _this3.state,
|
|
385
381
|
selected = _this3$state.selected,
|
|
386
382
|
isTyping = _this3$state.isTyping;
|
|
@@ -421,6 +417,22 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
421
417
|
});
|
|
422
418
|
}
|
|
423
419
|
});
|
|
420
|
+
Object.defineProperty(this, "getSelectEvent", {
|
|
421
|
+
configurable: true,
|
|
422
|
+
enumerable: true,
|
|
423
|
+
writable: true,
|
|
424
|
+
value: function value(selected) {
|
|
425
|
+
var _this3$props3 = _this3.props,
|
|
426
|
+
idKey = _this3$props3.idKey,
|
|
427
|
+
name = _this3$props3.name;
|
|
428
|
+
return {
|
|
429
|
+
target: {
|
|
430
|
+
name: name,
|
|
431
|
+
value: selected ? selected[idKey] : undefined
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
});
|
|
424
436
|
Object.defineProperty(this, "setOnDenied", {
|
|
425
437
|
configurable: true,
|
|
426
438
|
enumerable: true,
|
|
@@ -33,6 +33,8 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
33
33
|
|
|
34
34
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
35
|
|
|
36
|
+
var TOOLTIP_INITIAL_HEIGHT = 40;
|
|
37
|
+
|
|
36
38
|
var hasTooltip = function hasTooltip(_ref) {
|
|
37
39
|
var tooltip = _ref.tooltip;
|
|
38
40
|
return tooltip;
|
|
@@ -45,35 +47,34 @@ var getDisplayName = function getDisplayName(WrappedComponent) {
|
|
|
45
47
|
var withTooltip = function withTooltip(WrappedComponent) {
|
|
46
48
|
var EnhancedComponent = function EnhancedComponent(props) {
|
|
47
49
|
var tooltip = props.tooltip,
|
|
48
|
-
tooltipPosition = props.tooltipPosition,
|
|
49
50
|
tooltipWidth = props.tooltipWidth,
|
|
50
51
|
space = props.space;
|
|
51
52
|
|
|
52
|
-
var _useState = (0, _react.useState)(
|
|
53
|
+
var _useState = (0, _react.useState)(props.tooltipPosition),
|
|
53
54
|
_useState2 = _slicedToArray(_useState, 2),
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
tooltipPosition = _useState2[0],
|
|
56
|
+
setTooltipPosition = _useState2[1];
|
|
56
57
|
|
|
57
|
-
var _useState3 = (0, _react.useState)(
|
|
58
|
-
width: tooltipWidth,
|
|
59
|
-
height: undefined
|
|
60
|
-
}),
|
|
58
|
+
var _useState3 = (0, _react.useState)(''),
|
|
61
59
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
tooltipStyle = _useState4[0],
|
|
61
|
+
setTooltipStyle = _useState4[1];
|
|
64
62
|
|
|
65
|
-
var _useState5 = (0, _react.useState)(
|
|
63
|
+
var _useState5 = (0, _react.useState)(false),
|
|
66
64
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
showTooltip = _useState6[0],
|
|
66
|
+
setShowTooltip = _useState6[1];
|
|
69
67
|
|
|
70
|
-
var _useState7 = (0, _react.useState)(
|
|
68
|
+
var _useState7 = (0, _react.useState)({
|
|
69
|
+
width: tooltipWidth,
|
|
70
|
+
height: TOOLTIP_INITIAL_HEIGHT
|
|
71
|
+
}),
|
|
71
72
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
tooltipDimensions = _useState8[0],
|
|
74
|
+
setTooltipDimensions = _useState8[1];
|
|
74
75
|
|
|
75
|
-
var
|
|
76
|
-
var
|
|
76
|
+
var targetElement = (0, _react.useRef)(null);
|
|
77
|
+
var tooltipElement = (0, _react.useRef)(null);
|
|
77
78
|
|
|
78
79
|
var onMouseOver = function onMouseOver(e) {
|
|
79
80
|
if (targetElement && targetElement.current && targetElement.current.contains(e.target)) {
|
|
@@ -85,58 +86,24 @@ var withTooltip = function withTooltip(WrappedComponent) {
|
|
|
85
86
|
setShowTooltip(false);
|
|
86
87
|
};
|
|
87
88
|
|
|
88
|
-
var
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (targetElement.current && dimensionsTargetElement !== currentDimensions) {
|
|
92
|
-
return setDimensionsTargetElement(currentDimensions);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return null;
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
var getScrollableParent = function getScrollableParent(node) {
|
|
99
|
-
if (node === null || node.nodeName === '#document') {
|
|
100
|
-
return setFindScrollableParent(false);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
var _window$getComputedSt = window.getComputedStyle(node),
|
|
104
|
-
overflowY = _window$getComputedSt.overflowY;
|
|
105
|
-
|
|
106
|
-
var isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';
|
|
107
|
-
|
|
108
|
-
if (isScrollable && node.scrollHeight > node.clientHeight) {
|
|
109
|
-
scrollableParent.current = node;
|
|
110
|
-
return setFindScrollableParent(false);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return getScrollableParent(node.parentNode);
|
|
89
|
+
var onAnyScroll = function onAnyScroll() {
|
|
90
|
+
setShowTooltip(false);
|
|
114
91
|
};
|
|
115
92
|
|
|
116
93
|
(0, _react.useEffect)(function () {
|
|
117
94
|
if (hasTooltip(props)) {
|
|
118
95
|
document.addEventListener('mouseover', onMouseOver);
|
|
96
|
+
document.addEventListener('scroll', onAnyScroll, true);
|
|
119
97
|
|
|
120
98
|
if (targetElement && targetElement.current) {
|
|
121
99
|
targetElement.current.addEventListener('mouseout', onMouseOut);
|
|
122
100
|
}
|
|
123
|
-
|
|
124
|
-
if (targetElement && targetElement.current && findScrollableParent) {
|
|
125
|
-
getScrollableParent(targetElement.current);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if (scrollableParent && scrollableParent.current) {
|
|
129
|
-
scrollableParent.current.addEventListener('scroll', onParentScroll);
|
|
130
|
-
}
|
|
131
101
|
}
|
|
132
102
|
|
|
133
103
|
return function () {
|
|
134
104
|
if (hasTooltip(props)) {
|
|
135
105
|
document.removeEventListener('mouseover', onMouseOver);
|
|
136
|
-
|
|
137
|
-
if (scrollableParent && scrollableParent.current) {
|
|
138
|
-
scrollableParent.current.removeEventListener('scroll', onParentScroll);
|
|
139
|
-
}
|
|
106
|
+
document.removeEventListener('scroll', onAnyScroll, true);
|
|
140
107
|
|
|
141
108
|
if (targetElement && targetElement.current) {
|
|
142
109
|
targetElement.current.removeEventListener('mouseout', onMouseOut);
|
|
@@ -144,39 +111,76 @@ var withTooltip = function withTooltip(WrappedComponent) {
|
|
|
144
111
|
}
|
|
145
112
|
};
|
|
146
113
|
}, []);
|
|
114
|
+
(0, _react.useEffect)(function () {
|
|
115
|
+
if (targetElement.current && tooltipElement.current) {
|
|
116
|
+
var width = tooltipDimensions.width,
|
|
117
|
+
height = tooltipDimensions.height;
|
|
118
|
+
var targetDimensions = targetElement.current.getBoundingClientRect();
|
|
119
|
+
var targetVerticalCenter = (targetDimensions.top + targetDimensions.bottom) / 2;
|
|
120
|
+
var tooltipClientWidth = tooltipElement.current.clientWidth;
|
|
121
|
+
var style = "width: ".concat(typeof width === 'string' ? width : "".concat(width, "px"));
|
|
122
|
+
var left = targetDimensions.left + targetDimensions.width / 2 - tooltipClientWidth / 2;
|
|
123
|
+
left = Math.min(left, document.body.clientWidth - tooltipClientWidth - space);
|
|
124
|
+
style += "; left: ".concat(Math.max(space, left), "px");
|
|
125
|
+
|
|
126
|
+
switch (tooltipPosition) {
|
|
127
|
+
case 'top':
|
|
128
|
+
if (targetDimensions.top < height) {
|
|
129
|
+
setTooltipPosition('bottom');
|
|
130
|
+
} else {
|
|
131
|
+
style += "; top: ".concat(targetDimensions.top + window.scrollY - height - 5, "px");
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
break;
|
|
135
|
+
|
|
136
|
+
case 'bottom':
|
|
137
|
+
if (window.innerHeight - targetDimensions.bottom < height) {
|
|
138
|
+
setTooltipPosition('top');
|
|
139
|
+
} else {
|
|
140
|
+
style += "; top: ".concat(targetDimensions.top + window.scrollY + targetDimensions.height + 5, "px");
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
break;
|
|
144
|
+
|
|
145
|
+
case 'left':
|
|
146
|
+
if (targetDimensions.left < tooltipClientWidth) {
|
|
147
|
+
setTooltipPosition('right');
|
|
148
|
+
} else {
|
|
149
|
+
style += "; top: ".concat(targetVerticalCenter + window.scrollY - height / 2, "px");
|
|
150
|
+
style += "; left: ".concat(targetDimensions.left - tooltipClientWidth - 6, "px");
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
break;
|
|
154
|
+
|
|
155
|
+
case 'right':
|
|
156
|
+
if (window.innerWidth - targetDimensions.right < tooltipClientWidth) {
|
|
157
|
+
setTooltipPosition('left');
|
|
158
|
+
} else {
|
|
159
|
+
style += "; top: ".concat(targetVerticalCenter + window.scrollY - height / 2, "px");
|
|
160
|
+
style += "; left: ".concat(targetDimensions.left + targetDimensions.width + 5, "px");
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
break;
|
|
164
|
+
|
|
165
|
+
default:
|
|
166
|
+
style += '';
|
|
167
|
+
}
|
|
147
168
|
|
|
148
|
-
|
|
149
|
-
// where on the screen is the target
|
|
150
|
-
var width = tooltipDimensions.width,
|
|
151
|
-
height = tooltipDimensions.height;
|
|
152
|
-
var targetDimensions = dimensionsTargetElement || targetElement.current.getBoundingClientRect();
|
|
153
|
-
var targetVerticalCenter = (targetDimensions.top + targetDimensions.bottom) / 2;
|
|
154
|
-
var style = "width: ".concat(width + 2, "px");
|
|
155
|
-
var left = targetDimensions.left + targetDimensions.width / 2 - width / 2;
|
|
156
|
-
left = Math.min(left, document.body.clientWidth - width - space);
|
|
157
|
-
style += "; left: ".concat(Math.max(space, left), "px"); // when the position is informed
|
|
158
|
-
|
|
159
|
-
if (tooltipPosition === 'top') {
|
|
160
|
-
style += "; top: ".concat(targetDimensions.top + window.scrollY - height - 5, "px");
|
|
161
|
-
} else if (tooltipPosition === 'bottom') {
|
|
162
|
-
style += "; top: ".concat(targetDimensions.top + window.scrollY + targetDimensions.height + 5, "px");
|
|
163
|
-
} else if (tooltipPosition === 'left') {
|
|
164
|
-
style += "; top: ".concat(targetVerticalCenter + window.scrollY - height / 2, "px");
|
|
165
|
-
style += "; left: ".concat(targetDimensions.left - width - 6, "px");
|
|
166
|
-
} else if (tooltipPosition === 'right') {
|
|
167
|
-
style += "; top: ".concat(targetVerticalCenter + window.scrollY - height / 2, "px");
|
|
168
|
-
style += "; left: ".concat(targetDimensions.left + targetDimensions.width + 5, "px");
|
|
169
|
+
setTooltipStyle(style);
|
|
169
170
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
}, [tooltipDimensions, tooltipElement.current, targetElement.current, tooltipPosition]);
|
|
172
|
+
(0, _react.useEffect)(function () {
|
|
173
|
+
setTooltipPosition(props.tooltipPosition);
|
|
174
|
+
}, [window.scrollY, window.scrollX, window.innerWidth]);
|
|
173
175
|
|
|
174
176
|
var getTooltip = function getTooltip() {
|
|
175
177
|
if (tooltip) {
|
|
176
178
|
return /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
|
|
177
179
|
text: tooltip,
|
|
178
|
-
|
|
180
|
+
tooltipRef: tooltipElement,
|
|
181
|
+
style: tooltipStyle,
|
|
179
182
|
className: tooltipPosition,
|
|
183
|
+
tooltipDimensions: tooltipDimensions,
|
|
180
184
|
handlerSetDimensions: setTooltipDimensions
|
|
181
185
|
});
|
|
182
186
|
}
|
|
@@ -48,7 +48,8 @@ var DefaultLabel = function DefaultLabel(props) {
|
|
|
48
48
|
size = props.size,
|
|
49
49
|
iconAlign = props.iconAlign,
|
|
50
50
|
bordered = props.bordered,
|
|
51
|
-
permissionAttr = props.permissionAttr
|
|
51
|
+
permissionAttr = props.permissionAttr,
|
|
52
|
+
skeletonize = props.skeletonize;
|
|
52
53
|
var options = [_permissionValidations.OPTIONS_ON_DENIED.unvisible];
|
|
53
54
|
|
|
54
55
|
var _useState = (0, _react.useState)((0, _permissionValidations.actionsOnPermissionDenied)(permissionAttr, options)),
|
|
@@ -56,7 +57,7 @@ var DefaultLabel = function DefaultLabel(props) {
|
|
|
56
57
|
onDenied = _useState2[0];
|
|
57
58
|
|
|
58
59
|
var getClass = function getClass() {
|
|
59
|
-
return "label-component ".concat(className, " ").concat(customClass, " ").concat(bordered
|
|
60
|
+
return "label-component ".concat(className, " ").concat(customClass, " ").concat(bordered ? '-bordered' : '', " ").concat(disabled ? '-disabled' : '', "\n ").concat(skeletonize ? '-skeletonized' : '', "\n ").concat(size ? "-".concat(size) : '', "\n ").concat(iconAlign ? "icon-".concat(iconAlign) : '');
|
|
60
61
|
};
|
|
61
62
|
|
|
62
63
|
var getIcon = function getIcon() {
|
|
@@ -94,7 +95,8 @@ DefaultLabel.defaultProps = {
|
|
|
94
95
|
style: {},
|
|
95
96
|
visible: true,
|
|
96
97
|
disabled: false,
|
|
97
|
-
permissionAttr: undefined
|
|
98
|
+
permissionAttr: undefined,
|
|
99
|
+
skeletonize: false
|
|
98
100
|
};
|
|
99
101
|
DefaultLabel.propTypes = {
|
|
100
102
|
customClass: _propTypes["default"].string,
|
|
@@ -109,7 +111,8 @@ DefaultLabel.propTypes = {
|
|
|
109
111
|
style: _propTypes["default"].object,
|
|
110
112
|
visible: _propTypes["default"].bool,
|
|
111
113
|
disabled: _propTypes["default"].bool,
|
|
112
|
-
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
|
|
114
|
+
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
|
|
115
|
+
skeletonize: _propTypes["default"].bool
|
|
113
116
|
};
|
|
114
117
|
|
|
115
118
|
var _default = (0, _withTooltip["default"])(DefaultLabel);
|
package/lib/list/Item.js
CHANGED
|
@@ -99,12 +99,12 @@ var Item = function Item(props) {
|
|
|
99
99
|
|
|
100
100
|
var getProps = function getProps() {
|
|
101
101
|
if (shouldDisable()) return undefined;
|
|
102
|
-
if (_onClick === undefined && dropdownContext === undefined) return null;
|
|
102
|
+
if (_onClick === undefined && dropdownContext === undefined && !selectable) return null;
|
|
103
103
|
return {
|
|
104
104
|
onClick: function onClick(e) {
|
|
105
|
-
if (_onClick !== undefined) _onClick(e);
|
|
105
|
+
if (_onClick !== undefined) _onClick(e, itemId);
|
|
106
106
|
if (dropdownContext) dropdownContext.handleDropdownClose();
|
|
107
|
-
if (selectable
|
|
107
|
+
if (selectable) handleSelectItem(itemId, _onClick);
|
|
108
108
|
},
|
|
109
109
|
onKeyDown: null,
|
|
110
110
|
role: 'button',
|
package/lib/list/index.js
CHANGED
|
@@ -58,24 +58,30 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
58
58
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
59
59
|
|
|
60
60
|
var List = function List(props) {
|
|
61
|
-
var _useState = (0, _react.useState)(''),
|
|
62
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
63
|
-
selectedItemId = _useState2[0],
|
|
64
|
-
setSelectedItemId = _useState2[1];
|
|
65
|
-
|
|
66
61
|
var children = props.children,
|
|
67
62
|
customClass = props.customClass,
|
|
68
63
|
condensed = props.condensed,
|
|
69
64
|
transparent = props.transparent,
|
|
70
65
|
style = props.style,
|
|
71
|
-
selectable = props.selectable
|
|
66
|
+
selectable = props.selectable,
|
|
67
|
+
onSelectItem = props.onSelectItem;
|
|
68
|
+
|
|
69
|
+
var _useState = (0, _react.useState)(''),
|
|
70
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
71
|
+
selectedItemId = _useState2[0],
|
|
72
|
+
setSelectedItemId = _useState2[1];
|
|
73
|
+
|
|
72
74
|
var contextValues = {
|
|
73
75
|
selectable: selectable,
|
|
74
76
|
selectedItemId: selectedItemId,
|
|
75
|
-
handleSelectItem: function handleSelectItem(selectedId) {
|
|
76
|
-
setSelectedItemId(selectedId);
|
|
77
|
+
handleSelectItem: function handleSelectItem(selectedId, onClick) {
|
|
78
|
+
if (!onSelectItem && onClick) setSelectedItemId(selectedId);
|
|
79
|
+
if (onSelectItem) onSelectItem(selectedId);
|
|
77
80
|
}
|
|
78
81
|
};
|
|
82
|
+
(0, _react.useEffect)(function () {
|
|
83
|
+
if (onSelectItem && props.selectedItemId) setSelectedItemId(props.selectedItemId);
|
|
84
|
+
}, [props.selectedItemId]);
|
|
79
85
|
return /*#__PURE__*/_react["default"].createElement(_helpers["default"].Provider, {
|
|
80
86
|
value: contextValues
|
|
81
87
|
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
@@ -91,14 +97,18 @@ List.propTypes = {
|
|
|
91
97
|
customClass: _propTypes["default"].string,
|
|
92
98
|
condensed: _propTypes["default"].bool,
|
|
93
99
|
selectable: _propTypes["default"].bool,
|
|
94
|
-
style: _propTypes["default"].object
|
|
100
|
+
style: _propTypes["default"].object,
|
|
101
|
+
onSelectItem: _propTypes["default"].func,
|
|
102
|
+
selectedItemId: _propTypes["default"].string
|
|
95
103
|
};
|
|
96
104
|
List.defaultProps = {
|
|
97
105
|
customClass: '',
|
|
98
106
|
condensed: false,
|
|
99
107
|
transparent: false,
|
|
100
108
|
selectable: false,
|
|
101
|
-
style: {}
|
|
109
|
+
style: {},
|
|
110
|
+
onSelectItem: undefined,
|
|
111
|
+
selectedItemId: ''
|
|
102
112
|
};
|
|
103
113
|
var _default = List;
|
|
104
114
|
exports["default"] = _default;
|