rsuite 5.5.2 → 5.6.2
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 +27 -0
- package/README.md +4 -2
- package/cjs/@types/common.d.ts +4 -4
- package/cjs/Affix/Affix.js +0 -1
- package/cjs/Animation/Transition.d.ts +1 -1
- package/cjs/Animation/Transition.js +10 -4
- package/cjs/Calendar/TimeDropdown.js +7 -4
- package/cjs/Carousel/Carousel.d.ts +5 -1
- package/cjs/Carousel/Carousel.js +22 -16
- package/cjs/Cascader/DropdownMenu.js +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.js +29 -17
- package/cjs/CheckTreePicker/utils.d.ts +3 -3
- package/cjs/CheckTreePicker/utils.js +3 -3
- package/cjs/DOMHelper/index.d.ts +4 -4
- package/cjs/DatePicker/DatePicker.d.ts +2 -1
- package/cjs/DatePicker/DatePicker.js +19 -12
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/DateRangePicker/DateRangePicker.js +5 -4
- package/cjs/IconButton/IconButton.d.ts +5 -2
- package/cjs/IconButton/IconButton.js +2 -2
- package/cjs/IconButton/test/IconButton.test.d.ts +1 -0
- package/cjs/IconButton/test/IconButton.test.js +24 -0
- package/cjs/InputPicker/InputAutosize.js +3 -1
- package/cjs/InputPicker/InputPicker.js +6 -2
- package/cjs/List/ListItem.js +13 -11
- package/cjs/List/helper/AutoScroller.d.ts +2 -3
- package/cjs/List/helper/useManager.d.ts +2 -2
- package/cjs/List/helper/useSortHelper.js +23 -9
- package/cjs/List/helper/utils.d.ts +4 -3
- package/cjs/List/helper/utils.js +2 -2
- package/cjs/MaskedInput/conformToMask.js +1 -0
- package/cjs/Menu/MenuItem.js +14 -11
- package/cjs/MultiCascader/DropdownMenu.js +2 -1
- package/cjs/MultiCascader/utils.js +7 -7
- package/cjs/Overlay/Position.js +1 -2
- package/cjs/Pagination/PaginationGroup.js +3 -3
- package/cjs/Picker/PickerOverlay.js +4 -1
- package/cjs/Picker/SelectedElement.js +1 -1
- package/cjs/Picker/index.d.ts +2 -1
- package/cjs/Ripple/Ripple.js +17 -9
- package/cjs/TreePicker/TreePicker.js +16 -12
- package/cjs/Uploader/UploadTrigger.js +3 -1
- package/cjs/Uploader/Uploader.js +8 -2
- package/cjs/toaster/toaster.d.ts +1 -1
- package/cjs/toaster/toaster.js +9 -3
- package/cjs/utils/treeUtils.d.ts +3 -3
- package/cjs/utils/treeUtils.js +6 -4
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +5 -2
- package/cjs/utils/useTimeout.d.ts +2 -2
- package/cjs/utils/useTimeout.js +17 -8
- package/dist/rsuite.js +381 -62
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +4 -4
- package/esm/Affix/Affix.js +0 -1
- package/esm/Animation/Transition.d.ts +1 -1
- package/esm/Animation/Transition.js +10 -4
- package/esm/Calendar/TimeDropdown.js +7 -4
- package/esm/Carousel/Carousel.d.ts +5 -1
- package/esm/Carousel/Carousel.js +23 -17
- package/esm/Cascader/DropdownMenu.js +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +29 -17
- package/esm/CheckTreePicker/utils.d.ts +3 -3
- package/esm/CheckTreePicker/utils.js +3 -3
- package/esm/DOMHelper/index.d.ts +4 -4
- package/esm/DatePicker/DatePicker.d.ts +2 -1
- package/esm/DatePicker/DatePicker.js +19 -12
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/esm/DateRangePicker/DateRangePicker.js +5 -4
- package/esm/IconButton/IconButton.d.ts +5 -2
- package/esm/IconButton/IconButton.js +1 -1
- package/esm/IconButton/test/IconButton.test.d.ts +1 -0
- package/esm/IconButton/test/IconButton.test.js +18 -0
- package/esm/InputPicker/InputAutosize.js +3 -1
- package/esm/InputPicker/InputPicker.js +6 -2
- package/esm/List/ListItem.js +13 -11
- package/esm/List/helper/AutoScroller.d.ts +2 -3
- package/esm/List/helper/useManager.d.ts +2 -2
- package/esm/List/helper/useSortHelper.js +23 -9
- package/esm/List/helper/utils.d.ts +4 -3
- package/esm/List/helper/utils.js +2 -2
- package/esm/MaskedInput/conformToMask.js +1 -0
- package/esm/Menu/MenuItem.js +14 -11
- package/esm/MultiCascader/DropdownMenu.js +2 -1
- package/esm/MultiCascader/utils.js +7 -7
- package/esm/Overlay/Position.js +1 -2
- package/esm/Pagination/PaginationGroup.js +3 -3
- package/esm/Picker/PickerOverlay.js +4 -1
- package/esm/Picker/SelectedElement.js +1 -1
- package/esm/Picker/index.d.ts +2 -1
- package/esm/Ripple/Ripple.js +17 -9
- package/esm/TreePicker/TreePicker.js +16 -12
- package/esm/Uploader/UploadTrigger.js +3 -1
- package/esm/Uploader/Uploader.js +8 -2
- package/esm/toaster/toaster.d.ts +1 -1
- package/esm/toaster/toaster.js +9 -3
- package/esm/utils/treeUtils.d.ts +3 -3
- package/esm/utils/treeUtils.js +6 -4
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +5 -2
- package/esm/utils/useTimeout.d.ts +2 -2
- package/esm/utils/useTimeout.js +17 -8
- package/package.json +3 -3
|
@@ -417,7 +417,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
417
417
|
var allData = getAllData();
|
|
418
418
|
var focusItem = allData.find(function (item) {
|
|
419
419
|
return (0, _shallowEqual.default)(item[valueKey], focusItemValue);
|
|
420
|
-
});
|
|
420
|
+
}); // FIXME Bad state flow
|
|
421
421
|
|
|
422
422
|
if (!focusItem && focusItemValue === searchKeyword) {
|
|
423
423
|
focusItem = createOption(searchKeyword);
|
|
@@ -425,7 +425,11 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
425
425
|
|
|
426
426
|
setValue(focusItemValue);
|
|
427
427
|
setSearchKeyword('');
|
|
428
|
-
|
|
428
|
+
|
|
429
|
+
if (focusItem) {
|
|
430
|
+
handleSelect(focusItemValue, focusItem, event);
|
|
431
|
+
}
|
|
432
|
+
|
|
429
433
|
handleChange(focusItemValue, event);
|
|
430
434
|
handleClose();
|
|
431
435
|
}, [setValue, disabledItemValues, controlledData, focusItemValue, valueKey, searchKeyword, handleClose, setSearchKeyword, createOption, getAllData, handleChange, handleSelect]);
|
package/cjs/List/ListItem.js
CHANGED
|
@@ -43,18 +43,20 @@ var ListItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
43
43
|
|
|
44
44
|
var listItemRef = (0, _react.useRef)(null);
|
|
45
45
|
(0, _react.useEffect)(function () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
46
|
+
if (listItemRef.current) {
|
|
47
|
+
var _register = register({
|
|
48
|
+
node: listItemRef.current,
|
|
49
|
+
edgeOffset: null,
|
|
50
|
+
info: {
|
|
51
|
+
collection: collection,
|
|
52
|
+
disabled: disabled,
|
|
53
|
+
index: index
|
|
54
|
+
}
|
|
55
|
+
}),
|
|
56
|
+
unregister = _register.unregister;
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
return unregister;
|
|
59
|
+
}
|
|
58
60
|
}, [collection, disabled, index, register]);
|
|
59
61
|
var classes = merge(className, withClassPrefix(size, {
|
|
60
62
|
disabled: disabled,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
declare type OffsetCallback = (offset: Offset) => void;
|
|
1
|
+
import { Axis, EdgeOffset } from './utils';
|
|
2
|
+
declare type OffsetCallback = (offset: EdgeOffset) => void;
|
|
4
3
|
export interface AutoScrollerUpdatePayload {
|
|
5
4
|
translate: Axis;
|
|
6
5
|
minTranslate: Axis;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { EdgeOffset } from './utils';
|
|
2
2
|
export declare type Collection = string | number;
|
|
3
3
|
export interface ManagedItem {
|
|
4
4
|
node: HTMLElement;
|
|
5
|
-
edgeOffset:
|
|
5
|
+
edgeOffset: Partial<EdgeOffset> | null;
|
|
6
6
|
info: {
|
|
7
7
|
collection: Collection;
|
|
8
8
|
index?: number;
|
|
@@ -124,11 +124,17 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
124
124
|
x: offset.x - mouseDownEvent.pageX,
|
|
125
125
|
y: offset.y - mouseDownEvent.pageY
|
|
126
126
|
};
|
|
127
|
-
|
|
127
|
+
|
|
128
|
+
if (activeNodeHelper) {
|
|
129
|
+
(0, _utils.setTranslate3d)(activeNodeHelper, activeNodeHolderTranslate);
|
|
130
|
+
} // animate
|
|
131
|
+
|
|
128
132
|
|
|
129
133
|
activeNodeNextIndex = -1;
|
|
130
134
|
var listItemManagerRefs = getOrderedItems(curManagedItem.info.collection);
|
|
131
|
-
var
|
|
135
|
+
var aTop = activeNodeOffsetEdge.top || 0;
|
|
136
|
+
var cTop = containerScrollDelta.top || 0;
|
|
137
|
+
var sortingOffsetY = aTop + activeNodeHolderTranslate.y + cTop;
|
|
132
138
|
var activeNodeHeight = parseFloat(activeNodeStyle.height) || 0;
|
|
133
139
|
|
|
134
140
|
for (var i = 0, len = listItemManagerRefs.length; i < len; i++) {
|
|
@@ -161,14 +167,16 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
161
167
|
continue;
|
|
162
168
|
}
|
|
163
169
|
|
|
164
|
-
|
|
170
|
+
var curEdgeOffsetTop = curEdgeOffset.top || 0;
|
|
171
|
+
|
|
172
|
+
if (prvNode && currentNodeIndex > activeNodeOldIndex && sortingOffsetY + offsetY >= curEdgeOffsetTop) {
|
|
165
173
|
translate.y = -activeNodeHeight;
|
|
166
174
|
animatedNodesOffset[currentNodeIndex] = {
|
|
167
175
|
x: 0,
|
|
168
176
|
y: currentNode.offsetHeight
|
|
169
177
|
};
|
|
170
178
|
activeNodeNextIndex = currentNodeIndex;
|
|
171
|
-
} else if (nextNode && currentNodeIndex < activeNodeOldIndex && sortingOffsetY <=
|
|
179
|
+
} else if (nextNode && currentNodeIndex < activeNodeOldIndex && sortingOffsetY <= curEdgeOffsetTop + offsetY) {
|
|
172
180
|
translate.y = activeNodeHeight;
|
|
173
181
|
animatedNodesOffset[currentNodeIndex] = {
|
|
174
182
|
x: 0,
|
|
@@ -202,9 +210,11 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
202
210
|
height: activeNodeBoundingClientRect.height,
|
|
203
211
|
translate: activeNodeHolderTranslate,
|
|
204
212
|
maxTranslate: {
|
|
213
|
+
x: 0,
|
|
205
214
|
y: containerBoundingRect.top + containerBoundingRect.height - activeNodeBoundingClientRect.top - activeNodeBoundingClientRect.height / 2
|
|
206
215
|
},
|
|
207
216
|
minTranslate: {
|
|
217
|
+
x: 0,
|
|
208
218
|
y: containerBoundingRect.top - activeNodeBoundingClientRect.top - activeNodeBoundingClientRect.height / 2
|
|
209
219
|
}
|
|
210
220
|
});
|
|
@@ -225,11 +235,15 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
225
235
|
sortMouseEndListener.off();
|
|
226
236
|
var holderTranslate = getHolderTranslate();
|
|
227
237
|
var containerScrollDelta = getContainerScrollDelta();
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
238
|
+
|
|
239
|
+
if (activeNodeHelper) {
|
|
240
|
+
(0, _utils.setTranslate3d)(activeNodeHelper, {
|
|
241
|
+
x: holderTranslate.x - (containerScrollDelta.left || 0),
|
|
242
|
+
y: holderTranslate.y - (containerScrollDelta.top || 0)
|
|
243
|
+
});
|
|
244
|
+
(0, _utils.setTransitionDuration)(activeNodeHelper, transitionDuration);
|
|
245
|
+
} // wait for animation
|
|
246
|
+
|
|
233
247
|
|
|
234
248
|
setTimeout(function () {
|
|
235
249
|
var _activeNodeHelper2, _activeNodeHelper2$pa;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
2
|
import { Offset } from '../../@types/common';
|
|
3
3
|
export interface Axis {
|
|
4
|
-
x
|
|
5
|
-
y
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
6
|
}
|
|
7
|
+
export declare type EdgeOffset = Omit<Offset, 'width' | 'height'>;
|
|
7
8
|
export declare function isContainInteractiveElement(targetNode: HTMLElement): boolean;
|
|
8
9
|
export declare function setInlineStyles(node: HTMLElement, styles: CSSProperties): void;
|
|
9
10
|
export declare function setTranslate3d(node: HTMLElement, translate: Axis | null): void;
|
|
@@ -12,5 +13,5 @@ export declare function setTransitionDuration(node: HTMLElement, duration?: numb
|
|
|
12
13
|
* find closest target node from source node
|
|
13
14
|
* */
|
|
14
15
|
export declare function closestNode(sourceNode: HTMLElement, judge: (target: HTMLElement) => boolean): HTMLElement | null;
|
|
15
|
-
export declare function getEdgeOffset(node: HTMLElement, parent: HTMLElement, offset?:
|
|
16
|
+
export declare function getEdgeOffset(node: HTMLElement, parent: HTMLElement, offset?: EdgeOffset): Partial<EdgeOffset>;
|
|
16
17
|
export declare function getScrollingParent(el: HTMLElement): HTMLElement | null;
|
package/cjs/List/helper/utils.js
CHANGED
|
@@ -73,8 +73,8 @@ function getEdgeOffset(node, parent, offset) {
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
var nodeOffset = {
|
|
76
|
-
left: offset.left + node.offsetLeft,
|
|
77
|
-
top: offset.top + node.offsetTop
|
|
76
|
+
left: (offset.left || 0) + node.offsetLeft,
|
|
77
|
+
top: (offset.top || 0) + node.offsetTop
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
if (node.parentNode === parent) {
|
|
@@ -131,6 +131,7 @@ function conformToMask(rawValue, mask, config) {
|
|
|
131
131
|
// or we find at least one character that we can map.
|
|
132
132
|
while (rawValueArr.length > 0) {
|
|
133
133
|
// Let's retrieve the first user character in the queue of characters we have left
|
|
134
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
134
135
|
var _ref = rawValueArr.shift(),
|
|
135
136
|
rawValueChar = _ref.char,
|
|
136
137
|
isNew = _ref.isNew; // If the character we got from the user input is a placeholder character (which happens
|
package/cjs/Menu/MenuItem.js
CHANGED
|
@@ -74,19 +74,22 @@ function MenuItem(props) {
|
|
|
74
74
|
}, [dispatch]);
|
|
75
75
|
(0, _react.useEffect)(function () {
|
|
76
76
|
var menuitemElement = menuitemRef.current;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
element: menuitemElement,
|
|
80
|
-
props: {
|
|
81
|
-
disabled: disabled
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
return function () {
|
|
77
|
+
|
|
78
|
+
if (menuitemElement) {
|
|
85
79
|
dispatch({
|
|
86
|
-
type: _MenuContext.MenuActionTypes.
|
|
87
|
-
|
|
80
|
+
type: _MenuContext.MenuActionTypes.RegisterItem,
|
|
81
|
+
element: menuitemElement,
|
|
82
|
+
props: {
|
|
83
|
+
disabled: disabled
|
|
84
|
+
}
|
|
88
85
|
});
|
|
89
|
-
|
|
86
|
+
return function () {
|
|
87
|
+
dispatch({
|
|
88
|
+
type: _MenuContext.MenuActionTypes.UnregisterItem,
|
|
89
|
+
id: menuitemElement.id
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
}
|
|
90
93
|
}, [menuitemRef, disabled, dispatch]);
|
|
91
94
|
var menuitemProps = {
|
|
92
95
|
id: menuitemId,
|
|
@@ -35,7 +35,8 @@ var emptyArray = [];
|
|
|
35
35
|
var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
36
36
|
var _props$as = props.as,
|
|
37
37
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
38
|
-
classPrefix = props.classPrefix,
|
|
38
|
+
_props$classPrefix = props.classPrefix,
|
|
39
|
+
classPrefix = _props$classPrefix === void 0 ? 'menu' : _props$classPrefix,
|
|
39
40
|
className = props.className,
|
|
40
41
|
cascade = props.cascade,
|
|
41
42
|
_props$cascadeData = props.cascadeData,
|
|
@@ -296,21 +296,21 @@ function useCascadeValue(props, flattenData) {
|
|
|
296
296
|
removedValue = removedValue.concat(removeAllChildrenValue(nextValue, item, {
|
|
297
297
|
valueKey: valueKey,
|
|
298
298
|
childrenKey: childrenKey
|
|
299
|
-
})); // Traverse all ancestor nodes of the current node
|
|
299
|
+
}) || []); // Traverse all ancestor nodes of the current node
|
|
300
300
|
// Then determine whether all the child nodes of these nodes are selected, and then they themselves must be selected
|
|
301
301
|
|
|
302
302
|
var _loop = function _loop(i) {
|
|
303
303
|
// Whether the parent node can be selected
|
|
304
|
-
var isCheckableParent = !uncheckableItemValues.some(function (v) {
|
|
304
|
+
var isCheckableParent = !(uncheckableItemValues !== null && uncheckableItemValues !== void 0 && uncheckableItemValues.some(function (v) {
|
|
305
305
|
return v === parents[i][valueKey];
|
|
306
|
-
});
|
|
306
|
+
}));
|
|
307
307
|
|
|
308
308
|
if (isCheckableParent) {
|
|
309
309
|
var isCheckAll = parents[i][childrenKey] // Filter out options that are marked as not selectable
|
|
310
310
|
.filter(function (n) {
|
|
311
|
-
return !uncheckableItemValues.some(function (v) {
|
|
311
|
+
return !(uncheckableItemValues !== null && uncheckableItemValues !== void 0 && uncheckableItemValues.some(function (v) {
|
|
312
312
|
return v === n[valueKey];
|
|
313
|
-
});
|
|
313
|
+
}));
|
|
314
314
|
}) // Check if all nodes are selected
|
|
315
315
|
.every(function (n) {
|
|
316
316
|
return nextValue.some(function (v) {
|
|
@@ -325,7 +325,7 @@ function useCascadeValue(props, flattenData) {
|
|
|
325
325
|
removedValue = removedValue.concat(removeAllChildrenValue(nextValue, parents[i], {
|
|
326
326
|
valueKey: valueKey,
|
|
327
327
|
childrenKey: childrenKey
|
|
328
|
-
}));
|
|
328
|
+
}) || []);
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
};
|
|
@@ -408,7 +408,7 @@ function useCascadeValue(props, flattenData) {
|
|
|
408
408
|
});
|
|
409
409
|
|
|
410
410
|
if (item !== null && item !== void 0 && item.parent && nextValue.some(function (v) {
|
|
411
|
-
return v === item.parent[valueKey];
|
|
411
|
+
return v === item.parent && item.parent[valueKey];
|
|
412
412
|
})) {
|
|
413
413
|
return false;
|
|
414
414
|
}
|
package/cjs/Overlay/Position.js
CHANGED
|
@@ -89,8 +89,7 @@ var usePosition = function usePosition(props, ref) {
|
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
var overlay = (0, _utils.getDOMNode)(ref.current);
|
|
93
|
-
|
|
92
|
+
var overlay = (0, _utils.getDOMNode)(ref.current);
|
|
94
93
|
var containerElement = (0, _getContainer.default)(typeof container === 'function' ? container() : container !== null && container !== void 0 ? container : null, (0, _ownerDocument.default)(ref.current).body);
|
|
95
94
|
var posi = utils.calcOverlayPosition(overlay, targetElement, containerElement);
|
|
96
95
|
|
|
@@ -39,7 +39,7 @@ var LimitPicker = function LimitPicker(props) {
|
|
|
39
39
|
var formatlimitOptions = limitOptions.map(function (item) {
|
|
40
40
|
return {
|
|
41
41
|
value: item,
|
|
42
|
-
label: (0, _utils.tplTransform)(locale.limit, item)
|
|
42
|
+
label: locale.limit && (0, _utils.tplTransform)(locale.limit, item)
|
|
43
43
|
};
|
|
44
44
|
});
|
|
45
45
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -162,12 +162,12 @@ var PaginationGroup = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
162
162
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
163
163
|
key: onlyKey,
|
|
164
164
|
className: prefix('total')
|
|
165
|
-
}, (0, _utils.tplTransform)(locale.total, total));
|
|
165
|
+
}, locale.total && (0, _utils.tplTransform)(locale.total, total));
|
|
166
166
|
} else if (key === 'skip') {
|
|
167
167
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
168
168
|
key: onlyKey,
|
|
169
169
|
className: (0, _classnames.default)(prefix('skip'))
|
|
170
|
-
}, (0, _utils.tplTransform)(locale.skip, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
170
|
+
}, locale.skip && (0, _utils.tplTransform)(locale.skip, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
171
171
|
size: size,
|
|
172
172
|
onBlur: handleInputBlur,
|
|
173
173
|
onPressEnter: handleInputPressEnter
|
|
@@ -53,7 +53,10 @@ var PickerOverlay = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
53
53
|
// Get the width value of the button,
|
|
54
54
|
// and then set it to the menu to make their width consistent.
|
|
55
55
|
var width = (0, _getWidth.default)((0, _utils.getDOMNode)(toggle.root));
|
|
56
|
-
|
|
56
|
+
|
|
57
|
+
if (overlayRef.current) {
|
|
58
|
+
(0, _addStyle.default)(overlayRef.current, 'min-width', width + "px");
|
|
59
|
+
}
|
|
57
60
|
}
|
|
58
61
|
}, [autoWidth, target, overlayRef]);
|
|
59
62
|
|
|
@@ -45,7 +45,7 @@ var SelectedElement = function SelectedElement(props) {
|
|
|
45
45
|
key: item[valueKey]
|
|
46
46
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
47
47
|
className: prefix('value-item')
|
|
48
|
-
}, item[labelKey], checkAll ? " (" + locale.checkAll + ")" : ''), index === count - 1 ? null : /*#__PURE__*/_react.default.createElement("span", {
|
|
48
|
+
}, item[labelKey], checkAll && locale !== null && locale !== void 0 && locale.checkAll ? " (" + locale.checkAll + ")" : ''), index === count - 1 ? null : /*#__PURE__*/_react.default.createElement("span", {
|
|
49
49
|
className: prefix('value-separator')
|
|
50
50
|
}, ","));
|
|
51
51
|
})), countable ? /*#__PURE__*/_react.default.createElement("span", {
|
package/cjs/Picker/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { pickTriggerPropKeys, omitTriggerPropKeys, OverlayTriggerInstance, PositionChildProps } from './PickerToggleTrigger';
|
|
2
|
+
import { PickerToggleProps } from './PickerToggle';
|
|
2
3
|
import { PickerInstance, PickerComponent } from './types';
|
|
3
4
|
export { default as DropdownMenu } from './DropdownMenu';
|
|
4
5
|
export { default as DropdownMenuCheckItem } from './DropdownMenuCheckItem';
|
|
@@ -10,6 +11,6 @@ export { default as PickerToggleTrigger } from './PickerToggleTrigger';
|
|
|
10
11
|
export { default as SearchBar } from './SearchBar';
|
|
11
12
|
export { default as SelectedElement } from './SelectedElement';
|
|
12
13
|
export { pickTriggerPropKeys, omitTriggerPropKeys };
|
|
13
|
-
export type { OverlayTriggerInstance, PositionChildProps, PickerInstance, PickerComponent };
|
|
14
|
+
export type { OverlayTriggerInstance, PositionChildProps, PickerInstance, PickerComponent, PickerToggleProps };
|
|
14
15
|
export * from './utils';
|
|
15
16
|
export * from './propTypes';
|
package/cjs/Ripple/Ripple.js
CHANGED
|
@@ -68,17 +68,25 @@ var Ripple = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
var handleMouseDown = (0, _react.useCallback)(function (event) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
if (triggerRef.current) {
|
|
72
|
+
var _position = getPosition(triggerRef.current, event);
|
|
73
|
+
|
|
74
|
+
setRippling(true);
|
|
75
|
+
setPosition(_position);
|
|
76
|
+
onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(_position, event);
|
|
77
|
+
}
|
|
75
78
|
}, [onMouseDown]);
|
|
76
79
|
(0, _react.useEffect)(function () {
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
var _triggerRef$current;
|
|
81
|
+
|
|
82
|
+
var parentNode = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.parentNode;
|
|
83
|
+
|
|
84
|
+
if (parentNode) {
|
|
85
|
+
var mousedownListener = (0, _on.default)(parentNode, 'mousedown', handleMouseDown);
|
|
86
|
+
return function () {
|
|
87
|
+
mousedownListener === null || mousedownListener === void 0 ? void 0 : mousedownListener.off();
|
|
88
|
+
};
|
|
89
|
+
}
|
|
82
90
|
}, [handleMouseDown]);
|
|
83
91
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
84
92
|
className: classes,
|
|
@@ -83,11 +83,13 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
83
83
|
_props$childrenKey = props.childrenKey,
|
|
84
84
|
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
|
85
85
|
draggable = props.draggable,
|
|
86
|
-
|
|
86
|
+
_props$defaultExpandA = props.defaultExpandAll,
|
|
87
|
+
defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,
|
|
87
88
|
_props$disabledItemVa = props.disabledItemValues,
|
|
88
89
|
disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
|
|
89
90
|
controlledExpandItemValues = props.expandItemValues,
|
|
90
|
-
|
|
91
|
+
_props$defaultExpandI = props.defaultExpandItemValues,
|
|
92
|
+
defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,
|
|
91
93
|
id = props.id,
|
|
92
94
|
listProps = props.listProps,
|
|
93
95
|
getChildren = props.getChildren,
|
|
@@ -222,15 +224,17 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
222
224
|
});
|
|
223
225
|
}, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized]);
|
|
224
226
|
var focusActiveNode = (0, _react.useCallback)(function () {
|
|
225
|
-
(
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
227
|
+
if (listRef.current) {
|
|
228
|
+
(0, _treeUtils.focusToActiveTreeNode)({
|
|
229
|
+
list: listRef.current,
|
|
230
|
+
valueKey: valueKey,
|
|
231
|
+
selector: "." + treePrefix('node-active'),
|
|
232
|
+
activeNode: activeNode,
|
|
233
|
+
virtualized: virtualized,
|
|
234
|
+
container: treeViewRef.current,
|
|
235
|
+
formattedNodes: getFormattedNodes()
|
|
236
|
+
});
|
|
237
|
+
}
|
|
234
238
|
}, [treePrefix, activeNode, getFormattedNodes, valueKey, virtualized]);
|
|
235
239
|
(0, _react.useEffect)(function () {
|
|
236
240
|
setFilteredData(data, searchKeywordState);
|
|
@@ -699,7 +703,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
699
703
|
var node = activeNode !== null && activeNode !== void 0 ? activeNode : {};
|
|
700
704
|
selectedElement = node[labelKey];
|
|
701
705
|
|
|
702
|
-
if ((0, _isFunction2.default)(renderValue)) {
|
|
706
|
+
if ((0, _isFunction2.default)(renderValue) && value) {
|
|
703
707
|
selectedElement = renderValue(value, node, selectedElement);
|
|
704
708
|
|
|
705
709
|
if ((0, _isNil2.default)(selectedElement)) {
|
|
@@ -69,7 +69,9 @@ var UploadTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
69
69
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.click();
|
|
70
70
|
}, []);
|
|
71
71
|
var handleClearInput = (0, _react.useCallback)(function () {
|
|
72
|
-
inputRef.current
|
|
72
|
+
if (inputRef.current) {
|
|
73
|
+
inputRef.current.value = '';
|
|
74
|
+
}
|
|
73
75
|
}, []);
|
|
74
76
|
var handleDragEnter = (0, _react.useCallback)(function (event) {
|
|
75
77
|
if (draggable) {
|
package/cjs/Uploader/Uploader.js
CHANGED
|
@@ -205,7 +205,9 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
205
205
|
*/
|
|
206
206
|
|
|
207
207
|
var cleanInputValue = (0, _react.useCallback)(function () {
|
|
208
|
-
|
|
208
|
+
var _trigger$current;
|
|
209
|
+
|
|
210
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.clearInput();
|
|
209
211
|
}, []);
|
|
210
212
|
/**
|
|
211
213
|
* Callback for successful file upload.
|
|
@@ -279,7 +281,11 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
279
281
|
updateFileStatus((0, _extends2.default)({}, file, {
|
|
280
282
|
status: 'uploading'
|
|
281
283
|
}));
|
|
282
|
-
|
|
284
|
+
|
|
285
|
+
if (file.fileKey) {
|
|
286
|
+
xhrs.current[file.fileKey] = xhr;
|
|
287
|
+
}
|
|
288
|
+
|
|
283
289
|
onUpload === null || onUpload === void 0 ? void 0 : onUpload(file, uploadData, xhr);
|
|
284
290
|
}, [action, data, handleAjaxUploadError, handleAjaxUploadProgress, handleAjaxUploadSuccess, headers, name, onUpload, timeout, updateFileStatus, withCredentials, disableMultipart]);
|
|
285
291
|
var handleAjaxUpload = (0, _react.useCallback)(function () {
|
package/cjs/toaster/toaster.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface Toaster {
|
|
|
8
8
|
* @param message
|
|
9
9
|
* @param options
|
|
10
10
|
*/
|
|
11
|
-
push(message: React.ReactNode, options?: ToastContainerProps): string;
|
|
11
|
+
push(message: React.ReactNode, options?: ToastContainerProps): string | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Remove a message by key
|
|
14
14
|
* @param key
|
package/cjs/toaster/toaster.js
CHANGED
|
@@ -41,6 +41,8 @@ var toaster = function toaster(message) {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
toaster.push = function (message, options) {
|
|
44
|
+
var _container$current;
|
|
45
|
+
|
|
44
46
|
if (options === void 0) {
|
|
45
47
|
options = {};
|
|
46
48
|
}
|
|
@@ -53,18 +55,22 @@ toaster.push = function (message, options) {
|
|
|
53
55
|
container = createContainer((_options$placement = options.placement) !== null && _options$placement !== void 0 ? _options$placement : '', options);
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
return container.current.push(message);
|
|
58
|
+
return (_container$current = container.current) === null || _container$current === void 0 ? void 0 : _container$current.push(message);
|
|
57
59
|
};
|
|
58
60
|
|
|
59
61
|
toaster.remove = function (key) {
|
|
60
62
|
containers.forEach(function (c) {
|
|
61
|
-
|
|
63
|
+
var _c$current;
|
|
64
|
+
|
|
65
|
+
return (_c$current = c.current) === null || _c$current === void 0 ? void 0 : _c$current.remove(key);
|
|
62
66
|
});
|
|
63
67
|
};
|
|
64
68
|
|
|
65
69
|
toaster.clear = function () {
|
|
66
70
|
containers.forEach(function (c) {
|
|
67
|
-
|
|
71
|
+
var _c$current2;
|
|
72
|
+
|
|
73
|
+
return (_c$current2 = c.current) === null || _c$current2 === void 0 ? void 0 : _c$current2.clear();
|
|
68
74
|
});
|
|
69
75
|
};
|
|
70
76
|
|
package/cjs/utils/treeUtils.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare function hasVisibleChildren(node: TreeNodeType, childrenKey: stri
|
|
|
38
38
|
* @param b
|
|
39
39
|
*/
|
|
40
40
|
export declare function compareArray(a: any[], b: any[]): boolean;
|
|
41
|
-
export declare function getDefaultExpandItemValues(data: ItemDataType[], props: Pick<TreePickerProps, 'defaultExpandAll' | 'valueKey' | 'childrenKey' | 'defaultExpandItemValues'
|
|
41
|
+
export declare function getDefaultExpandItemValues(data: ItemDataType[], props: Required<Pick<TreePickerProps, 'defaultExpandAll' | 'valueKey' | 'childrenKey' | 'defaultExpandItemValues'>>): any[];
|
|
42
42
|
/**
|
|
43
43
|
* 获取 expandItemValues 的 value
|
|
44
44
|
* @param props
|
|
@@ -70,7 +70,7 @@ export declare function filterNodesOfTree(data: any, check: any): TreeNodeType[]
|
|
|
70
70
|
* @param isSearching - component is in Searching
|
|
71
71
|
* @returns
|
|
72
72
|
*/
|
|
73
|
-
export declare const getFocusableItems: (filteredData: ItemDataType[], props: PartialTreeProps, isSearching?: boolean | undefined) => TreeNodeType[];
|
|
73
|
+
export declare const getFocusableItems: (filteredData: ItemDataType[], props: Required<Pick<PartialTreeProps, 'disabledItemValues' | 'valueKey' | 'childrenKey' | 'expandItemValues'>>, isSearching?: boolean | undefined) => TreeNodeType[];
|
|
74
74
|
/**
|
|
75
75
|
* return all focusable Item and active Element index
|
|
76
76
|
* @param focusItemValue
|
|
@@ -235,7 +235,7 @@ export interface FocusToTreeNodeProps {
|
|
|
235
235
|
valueKey: string;
|
|
236
236
|
activeNode: any;
|
|
237
237
|
virtualized: boolean;
|
|
238
|
-
container:
|
|
238
|
+
container: HTMLElement | null;
|
|
239
239
|
list: ListInstance;
|
|
240
240
|
formattedNodes: TreeNodeType[];
|
|
241
241
|
}
|
package/cjs/utils/treeUtils.js
CHANGED
|
@@ -165,11 +165,13 @@ function getNodeParentKeys(nodes, node, valueKey) {
|
|
|
165
165
|
var parentKeys = [];
|
|
166
166
|
|
|
167
167
|
var traverse = function traverse(node) {
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
var _node$parent;
|
|
169
|
+
|
|
170
|
+
if (node !== null && node !== void 0 && (_node$parent = node.parent) !== null && _node$parent !== void 0 && _node$parent.refKey) {
|
|
171
|
+
var _node$parent2;
|
|
170
172
|
|
|
171
173
|
traverse(nodes[node.parent.refKey]);
|
|
172
|
-
parentKeys.push(node === null || node === void 0 ? void 0 : (_node$
|
|
174
|
+
parentKeys.push(node === null || node === void 0 ? void 0 : (_node$parent2 = node.parent) === null || _node$parent2 === void 0 ? void 0 : _node$parent2[valueKey]);
|
|
173
175
|
}
|
|
174
176
|
};
|
|
175
177
|
|
|
@@ -718,7 +720,7 @@ function getChildrenByFlattenNodes(nodes, parent) {
|
|
|
718
720
|
return Object.values(nodes).filter(function (item) {
|
|
719
721
|
var _item$parent;
|
|
720
722
|
|
|
721
|
-
return (item === null || item === void 0 ? void 0 : (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent.refKey) === parent.refKey && !nodes[item.refKey].uncheckable;
|
|
723
|
+
return (item === null || item === void 0 ? void 0 : (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent.refKey) === parent.refKey && item.refKey && !nodes[item.refKey].uncheckable;
|
|
722
724
|
});
|
|
723
725
|
}
|
|
724
726
|
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* @param eventTarget The target to listen for events on
|
|
6
6
|
* @param listener An event handler
|
|
7
7
|
*/
|
|
8
|
-
export default function useElementResize(eventTarget: Element | (() => Element), listener: ResizeObserverCallback): void;
|
|
8
|
+
export default function useElementResize(eventTarget: Element | null | (() => Element | null), listener: ResizeObserverCallback): void;
|
|
@@ -19,8 +19,11 @@ function useElementResize(eventTarget, listener) {
|
|
|
19
19
|
(0, _react.useEffect)(function () {
|
|
20
20
|
if (!resizeObserver.current) {
|
|
21
21
|
var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
|
|
23
|
+
if (target) {
|
|
24
|
+
resizeObserver.current = new _resizeObserver.ResizeObserver(listener);
|
|
25
|
+
resizeObserver.current.observe(target);
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
return function () {
|
|
@@ -6,7 +6,7 @@ export interface UseTimeoutFnReturn {
|
|
|
6
6
|
* A timer hook
|
|
7
7
|
* @param fn Timer callback function
|
|
8
8
|
* @param ms Milliseconds of the timer
|
|
9
|
-
* @param
|
|
9
|
+
* @param enabled Whether to open the timer
|
|
10
10
|
*/
|
|
11
|
-
declare function useTimeout(fn: (() => void) | undefined, ms?: number,
|
|
11
|
+
declare function useTimeout(fn: (() => void) | undefined, ms?: number, enabled?: boolean): UseTimeoutFnReturn;
|
|
12
12
|
export default useTimeout;
|