rsuite 5.1.0 → 5.2.3
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/Button/styles/index.less +7 -1
- package/CHANGELOG.md +45 -0
- package/PanelGroup/styles/index.less +12 -12
- package/README.md +3 -45
- package/Sidenav/styles/index.less +4 -0
- package/Slider/styles/index.less +20 -14
- package/Toggle/styles/index.less +48 -27
- package/Toggle/styles/mixin.less +16 -14
- package/cjs/@types/common.d.ts +8 -2
- package/cjs/Affix/Affix.js +3 -3
- package/cjs/Animation/Collapse.js +9 -7
- package/cjs/Animation/Transition.js +4 -2
- package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
- package/cjs/AutoComplete/AutoComplete.js +7 -4
- package/cjs/Calendar/TimeDropdown.js +5 -3
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/DropdownMenu.js +6 -5
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/cjs/CheckTreePicker/utils.d.ts +1 -1
- package/cjs/CheckTreePicker/utils.js +7 -6
- package/cjs/Checkbox/Checkbox.d.ts +3 -3
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/cjs/DOMHelper/index.d.ts +12 -27
- package/cjs/DOMHelper/index.js +4 -3
- package/cjs/DOMHelper/isElement.d.ts +2 -0
- package/cjs/DOMHelper/isElement.js +11 -0
- package/cjs/DatePicker/DatePicker.d.ts +3 -3
- package/cjs/DateRangePicker/Calendar.d.ts +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/Disclosure/Disclosure.d.ts +1 -1
- package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.js +16 -19
- package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +2 -0
- package/cjs/Dropdown/useRenderDropdownItem.js +26 -0
- package/cjs/Form/Form.d.ts +1 -1
- package/cjs/FormControl/FormControl.d.ts +9 -3
- package/cjs/Input/Input.d.ts +2 -1
- package/cjs/InputNumber/InputNumber.js +2 -2
- package/cjs/InputPicker/InputPicker.js +3 -3
- package/cjs/List/helper/useSortHelper.js +11 -6
- package/cjs/MaskedInput/MaskedInput.d.ts +5 -42
- package/cjs/MaskedInput/MaskedInput.js +9 -63
- package/cjs/MaskedInput/TextMask.d.ts +43 -0
- package/cjs/MaskedInput/TextMask.js +80 -0
- package/cjs/Menu/Menu.js +46 -34
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +16 -12
- package/cjs/Menu/Menubar.d.ts +1 -1
- package/cjs/Message/Message.js +13 -11
- package/cjs/Modal/Modal.js +5 -3
- package/cjs/Modal/utils.js +15 -14
- package/cjs/Notification/Notification.js +6 -3
- package/cjs/Overlay/Modal.js +14 -11
- package/cjs/Overlay/ModalManager.js +19 -7
- package/cjs/Overlay/OverlayTrigger.js +2 -2
- package/cjs/Overlay/Position.js +27 -17
- package/cjs/Overlay/positionUtils.js +16 -8
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Picker/DropdownMenu.js +10 -6
- package/cjs/Picker/DropdownMenuCheckItem.d.ts +3 -3
- package/cjs/Picker/PickerOverlay.js +5 -3
- package/cjs/Picker/PickerToggle.d.ts +6 -0
- package/cjs/Picker/PickerToggle.js +16 -8
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/utils.d.ts +2 -2
- package/cjs/Radio/Radio.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.js +2 -2
- package/cjs/RangeSlider/RangeSlider.js +9 -5
- package/cjs/Rate/Character.js +2 -2
- package/cjs/Rate/Rate.js +3 -1
- package/cjs/Ripple/Ripple.js +6 -7
- package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdownItem.js +17 -10
- package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/cjs/Slider/Graduated.js +1 -1
- package/cjs/Slider/Handle.js +10 -5
- package/cjs/Slider/ProgressBar.js +1 -1
- package/cjs/Slider/Slider.js +9 -5
- package/cjs/Toggle/Toggle.d.ts +3 -6
- package/cjs/Toggle/Toggle.js +32 -27
- package/cjs/Tree/Tree.d.ts +3 -3
- package/cjs/TreePicker/TreeNode.d.ts +1 -1
- package/cjs/TreePicker/TreeNode.js +2 -2
- package/cjs/TreePicker/TreePicker.d.ts +1 -1
- package/cjs/Uploader/Uploader.d.ts +4 -4
- package/cjs/locales/fa_IR.js +8 -8
- package/cjs/utils/BrowserDetection.js +1 -1
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +7 -2
- package/cjs/utils/scrollTopAnimation.js +5 -5
- package/cjs/utils/treeUtils.d.ts +2 -2
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +11 -6
- package/cjs/utils/useEventListener.js +4 -2
- package/cjs/utils/useIsMounted.d.ts +2 -0
- package/cjs/utils/useIsMounted.js +22 -0
- package/cjs/utils/usePortal.js +2 -2
- package/cjs/utils/useRootClose.js +10 -10
- package/dist/rsuite-rtl.css +194 -119
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +194 -119
- package/dist/rsuite.js +703 -504
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.LICENSE.txt +9 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +8 -2
- package/esm/Affix/Affix.js +1 -1
- package/esm/Animation/Collapse.js +2 -1
- package/esm/Animation/Transition.js +3 -2
- package/esm/AutoComplete/AutoComplete.d.ts +2 -2
- package/esm/AutoComplete/AutoComplete.js +8 -5
- package/esm/Calendar/TimeDropdown.js +2 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/DropdownMenu.js +4 -3
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/esm/CheckTreePicker/utils.d.ts +1 -1
- package/esm/CheckTreePicker/utils.js +7 -6
- package/esm/Checkbox/Checkbox.d.ts +3 -3
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/esm/DOMHelper/index.d.ts +12 -27
- package/esm/DOMHelper/index.js +2 -3
- package/esm/DOMHelper/isElement.d.ts +2 -0
- package/esm/DOMHelper/isElement.js +5 -0
- package/esm/DatePicker/DatePicker.d.ts +3 -3
- package/esm/DateRangePicker/Calendar.d.ts +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/esm/Disclosure/Disclosure.d.ts +1 -1
- package/esm/Disclosure/DisclosureContext.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.js +15 -19
- package/esm/Dropdown/DropdownMenu.d.ts +2 -2
- package/esm/Dropdown/useRenderDropdownItem.d.ts +2 -0
- package/esm/Dropdown/useRenderDropdownItem.js +18 -0
- package/esm/Form/Form.d.ts +1 -1
- package/esm/FormControl/FormControl.d.ts +9 -3
- package/esm/Input/Input.d.ts +2 -1
- package/esm/InputNumber/InputNumber.js +2 -2
- package/esm/InputPicker/InputPicker.js +2 -2
- package/esm/List/helper/useSortHelper.js +8 -4
- package/esm/MaskedInput/MaskedInput.d.ts +5 -42
- package/esm/MaskedInput/MaskedInput.js +9 -63
- package/esm/MaskedInput/TextMask.d.ts +43 -0
- package/esm/MaskedInput/TextMask.js +67 -0
- package/esm/Menu/Menu.js +46 -36
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +16 -12
- package/esm/Menu/Menubar.d.ts +1 -1
- package/esm/Message/Message.js +15 -13
- package/esm/Modal/Modal.js +3 -2
- package/esm/Modal/utils.js +14 -12
- package/esm/Notification/Notification.js +7 -4
- package/esm/Overlay/Modal.js +11 -8
- package/esm/Overlay/ModalManager.js +6 -1
- package/esm/Overlay/OverlayTrigger.js +1 -1
- package/esm/Overlay/Position.js +20 -11
- package/esm/Overlay/positionUtils.js +5 -1
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Picker/DropdownMenu.js +3 -1
- package/esm/Picker/DropdownMenuCheckItem.d.ts +3 -3
- package/esm/Picker/PickerOverlay.js +2 -1
- package/esm/Picker/PickerToggle.d.ts +6 -0
- package/esm/Picker/PickerToggle.js +15 -8
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/utils.d.ts +2 -2
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.js +2 -2
- package/esm/RangeSlider/RangeSlider.js +4 -2
- package/esm/Rate/Character.js +2 -2
- package/esm/Rate/Rate.js +2 -1
- package/esm/Ripple/Ripple.js +4 -3
- package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdownItem.js +16 -10
- package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/esm/Slider/Graduated.js +1 -1
- package/esm/Slider/Handle.js +5 -2
- package/esm/Slider/ProgressBar.js +1 -1
- package/esm/Slider/Slider.js +4 -2
- package/esm/Toggle/Toggle.d.ts +3 -6
- package/esm/Toggle/Toggle.js +34 -29
- package/esm/Tree/Tree.d.ts +3 -3
- package/esm/TreePicker/TreeNode.d.ts +1 -1
- package/esm/TreePicker/TreeNode.js +1 -1
- package/esm/TreePicker/TreePicker.d.ts +1 -1
- package/esm/Uploader/Uploader.d.ts +4 -4
- package/esm/locales/fa_IR.js +8 -8
- package/esm/utils/BrowserDetection.js +1 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/esm/utils/scrollTopAnimation.js +2 -2
- package/esm/utils/treeUtils.d.ts +2 -2
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +12 -5
- package/esm/utils/useEventListener.js +1 -1
- package/esm/utils/useIsMounted.d.ts +2 -0
- package/esm/utils/useIsMounted.js +16 -0
- package/esm/utils/usePortal.js +2 -2
- package/esm/utils/useRootClose.js +8 -6
- package/package.json +5 -5
- package/styles/plugins/palette.js +10 -1
|
@@ -17,7 +17,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _getPosition2 = _interopRequireDefault(require("dom-lib/getPosition"));
|
|
21
|
+
|
|
22
|
+
var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
|
|
21
23
|
|
|
22
24
|
var _partial = _interopRequireDefault(require("lodash/partial"));
|
|
23
25
|
|
|
@@ -99,10 +101,10 @@ var scrollTo = function scrollTo(time, row) {
|
|
|
99
101
|
var node = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
|
|
100
102
|
|
|
101
103
|
if (node && container) {
|
|
102
|
-
var _getPosition = (0,
|
|
104
|
+
var _getPosition = (0, _getPosition2.default)(node, container),
|
|
103
105
|
top = _getPosition.top;
|
|
104
106
|
|
|
105
|
-
(0, _utils.scrollTopAnimation)(container, top, (0,
|
|
107
|
+
(0, _utils.scrollTopAnimation)(container, top, (0, _scrollTop.default)(container) !== 0);
|
|
106
108
|
}
|
|
107
109
|
});
|
|
108
110
|
};
|
|
@@ -25,7 +25,7 @@ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T,
|
|
|
25
25
|
/** Called when clean */
|
|
26
26
|
onClean?: (event: React.SyntheticEvent) => void;
|
|
27
27
|
/** Called when searching */
|
|
28
|
-
onSearch?: (searchKeyword: string, event: React.SyntheticEvent
|
|
28
|
+
onSearch?: (searchKeyword: string, event: React.SyntheticEvent) => void;
|
|
29
29
|
/** Asynchronously load the children of the tree node. */
|
|
30
30
|
getChildren?: (node: ItemDataType) => ItemDataType[] | Promise<ItemDataType[]>;
|
|
31
31
|
}
|
|
@@ -17,8 +17,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
17
17
|
|
|
18
18
|
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
19
19
|
|
|
20
|
-
var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
|
|
21
|
-
|
|
22
20
|
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
23
21
|
|
|
24
22
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
@@ -31,6 +29,10 @@ var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"
|
|
|
31
29
|
|
|
32
30
|
var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
|
|
33
31
|
|
|
32
|
+
var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
|
|
33
|
+
|
|
34
|
+
var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
|
|
35
|
+
|
|
34
36
|
var emptyArray = [];
|
|
35
37
|
|
|
36
38
|
var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
@@ -83,10 +85,9 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
83
85
|
}
|
|
84
86
|
|
|
85
87
|
if (activeItem) {
|
|
86
|
-
var position =
|
|
87
|
-
|
|
88
|
+
var position = (0, _getPosition.default)(activeItem, column); // Let the active option scroll into view.
|
|
88
89
|
|
|
89
|
-
|
|
90
|
+
(0, _scrollTop.default)(column, position.top);
|
|
90
91
|
}
|
|
91
92
|
});
|
|
92
93
|
}, [prefix]);
|
|
@@ -20,7 +20,7 @@ export interface CheckTreeNodeProps extends WithAsProps {
|
|
|
20
20
|
uncheckable?: boolean;
|
|
21
21
|
allUncheckable?: boolean;
|
|
22
22
|
onExpand?: (nodeData: any) => void;
|
|
23
|
-
onSelect?: (nodeData: any, event: React.SyntheticEvent
|
|
23
|
+
onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
|
|
24
24
|
onRenderTreeIcon?: (nodeData: any, expandIcon?: React.ReactNode) => React.ReactNode;
|
|
25
25
|
onRenderTreeNode?: (nodeData: any) => React.ReactNode;
|
|
26
26
|
}
|
|
@@ -14,7 +14,7 @@ export interface CheckTreePickerProps<T = ValueType> extends TreeBaseProps<T, It
|
|
|
14
14
|
/** Custom render selected items */
|
|
15
15
|
renderValue?: (value: any[], selectedItems: any[], selectedElement: React.ReactNode) => React.ReactNode;
|
|
16
16
|
/** Called when scrolling */
|
|
17
|
-
onScroll?: (event: React.SyntheticEvent
|
|
17
|
+
onScroll?: (event: React.SyntheticEvent) => void;
|
|
18
18
|
}
|
|
19
19
|
declare const CheckTreePicker: PickerComponent<CheckTreePickerProps>;
|
|
20
20
|
export default CheckTreePicker;
|
|
@@ -19,7 +19,7 @@ export interface TreeNodesType {
|
|
|
19
19
|
[key: string]: TreeNodeType;
|
|
20
20
|
}
|
|
21
21
|
export declare function isEveryChildChecked(nodes: TreeNodesType, parent: TreeNodeType): boolean;
|
|
22
|
-
export declare function isSomeChildChecked(nodes: TreeNodesType, parent: TreeNodeType): boolean;
|
|
22
|
+
export declare function isSomeChildChecked(nodes: TreeNodesType, parent: TreeNodeType, childrenKey: string): boolean;
|
|
23
23
|
export declare function isSomeNodeHasChildren(data: any[], childrenKey: string): boolean;
|
|
24
24
|
/**
|
|
25
25
|
* is all siblings nodes is uncheckable
|
|
@@ -41,18 +41,19 @@ function isEveryChildChecked(nodes, parent) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
function isSomeChildChecked(nodes, parent) {
|
|
44
|
+
function isSomeChildChecked(nodes, parent, childrenKey) {
|
|
45
45
|
if ((0, _isNil2.default)(nodes[parent.refKey])) {
|
|
46
46
|
return false;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
var children = (0, _treeUtils.getChildrenByFlattenNodes)(nodes, parent);
|
|
50
|
+
return children.some(function (child) {
|
|
51
|
+
var _child$childrenKey;
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
if ((child === null || child === void 0 ? void 0 : (_child$childrenKey = child[childrenKey]) === null || _child$childrenKey === void 0 ? void 0 : _child$childrenKey.length) > 0) {
|
|
54
|
+
return isSomeChildChecked(nodes, child, childrenKey);
|
|
55
|
+
}
|
|
54
56
|
|
|
55
|
-
return children.some(function (child) {
|
|
56
57
|
return nodes[child.refKey].check;
|
|
57
58
|
});
|
|
58
59
|
}
|
|
@@ -215,7 +216,7 @@ function getNodeCheckState(_ref) {
|
|
|
215
216
|
return _utils.CHECK_STATE.CHECK;
|
|
216
217
|
}
|
|
217
218
|
|
|
218
|
-
if (isSomeChildChecked(nodes, node)) {
|
|
219
|
+
if (isSomeChildChecked(nodes, node, childrenKey)) {
|
|
219
220
|
nodes[node.refKey].checkAll = false;
|
|
220
221
|
return _utils.CHECK_STATE.INDETERMINATE;
|
|
221
222
|
}
|
|
@@ -31,11 +31,11 @@ export interface CheckboxProps<V = ValueType> extends WithAsProps {
|
|
|
31
31
|
/** Used for the name of the form */
|
|
32
32
|
name?: string;
|
|
33
33
|
/** Called when the user attempts to change the checked state. */
|
|
34
|
-
onChange?: (value: V, checked: boolean, event: React.
|
|
34
|
+
onChange?: (value: V, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
35
35
|
/** Called when the checkbox or label is clicked. */
|
|
36
|
-
onClick?: (event: React.SyntheticEvent
|
|
36
|
+
onClick?: (event: React.SyntheticEvent) => void;
|
|
37
37
|
/** Called when the checkbox is clicked. */
|
|
38
|
-
onCheckboxClick?: (event: React.SyntheticEvent
|
|
38
|
+
onCheckboxClick?: (event: React.SyntheticEvent) => void;
|
|
39
39
|
}
|
|
40
40
|
declare const Checkbox: RsRefForwardingComponent<'div', CheckboxProps>;
|
|
41
41
|
export default Checkbox;
|
|
@@ -83,10 +83,10 @@ var CheckboxGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
83
83
|
}, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
|
|
84
84
|
return /*#__PURE__*/_react.default.createElement(_CheckboxGroupContext.CheckboxGroupContext.Provider, {
|
|
85
85
|
value: contextValue
|
|
86
|
-
}, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, {
|
|
86
|
+
}, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({
|
|
87
87
|
ref: ref,
|
|
88
88
|
localeKey: "notSelected"
|
|
89
|
-
}, value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
89
|
+
}, rest), value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
90
90
|
ref: ref,
|
|
91
91
|
role: "group",
|
|
92
92
|
className: classes
|
|
@@ -8,6 +8,6 @@ export interface CheckboxGroupContextValue {
|
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
readOnly?: boolean;
|
|
10
10
|
plaintext?: boolean;
|
|
11
|
-
onChange?: (value: any, checked: boolean, event: React.
|
|
11
|
+
onChange?: (value: any, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
12
12
|
}
|
|
13
13
|
export declare const CheckboxGroupContext: React.Context<CheckboxGroupContextValue>;
|
package/cjs/DOMHelper/index.d.ts
CHANGED
|
@@ -2,34 +2,17 @@ import * as helpers from 'dom-lib';
|
|
|
2
2
|
export * from 'dom-lib';
|
|
3
3
|
declare const DOMHelper: {
|
|
4
4
|
isElement: (node: HTMLElement) => boolean;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
end: any;
|
|
8
|
-
backfaceVisibility: string;
|
|
9
|
-
transform: string;
|
|
10
|
-
property: string;
|
|
11
|
-
timing: string;
|
|
12
|
-
delay: string;
|
|
13
|
-
duration: string;
|
|
14
|
-
};
|
|
15
|
-
translateDOMPositionXY: (style: CSSStyleDeclaration, x?: number, y?: number) => CSSStyleDeclaration;
|
|
16
|
-
getVendorPrefixedName: typeof helpers.getVendorPrefixedName;
|
|
17
|
-
BrowserSupportCore: {
|
|
18
|
-
hasCSSAnimations: () => boolean;
|
|
19
|
-
hasCSSTransforms: () => boolean;
|
|
20
|
-
hasCSS3DTransforms: () => boolean;
|
|
21
|
-
hasCSSTransitions: () => boolean;
|
|
22
|
-
};
|
|
23
|
-
DOMMouseMoveTracker: typeof helpers.DOMMouseMoveTracker;
|
|
5
|
+
on: typeof helpers.on;
|
|
6
|
+
off: typeof helpers.off;
|
|
24
7
|
WheelHandler: typeof helpers.WheelHandler;
|
|
8
|
+
DOMMouseMoveTracker: typeof helpers.DOMMouseMoveTracker;
|
|
25
9
|
addClass: (target: Element, className: string) => Element;
|
|
26
|
-
hasClass: (target: Element, className: string) => boolean;
|
|
27
10
|
removeClass: (target: Element, className: string) => Element;
|
|
11
|
+
hasClass: (target: Element, className: string) => boolean;
|
|
28
12
|
toggleClass: (target: Element, className: string) => Element;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
getComputedStyle: (node: Element) => CSSStyleDeclaration;
|
|
13
|
+
cancelAnimationFramePolyfill: typeof clearTimeout;
|
|
14
|
+
requestAnimationFramePolyfill: typeof requestAnimationFrame;
|
|
15
|
+
getAnimationEnd: typeof helpers.getAnimationEnd;
|
|
33
16
|
ownerDocument: (node: Element) => Document;
|
|
34
17
|
ownerWindow: (componentOrElement: Element) => Window;
|
|
35
18
|
getWindow: (node: any) => Window;
|
|
@@ -53,11 +36,13 @@ declare const DOMHelper: {
|
|
|
53
36
|
width: number;
|
|
54
37
|
};
|
|
55
38
|
isOverflowing: (container: Element) => boolean;
|
|
56
|
-
activeElement: (doc?: Document) => Element;
|
|
57
39
|
getScrollbarSize: (recalc?: boolean) => number | void;
|
|
58
40
|
getHeight: (node: Element | Window, client?: Element) => number;
|
|
59
41
|
getWidth: (node: Element | Window, client?: Element) => number;
|
|
60
|
-
|
|
61
|
-
|
|
42
|
+
isFocusable: typeof helpers.isFocusable;
|
|
43
|
+
getStyle: (node: Element, property?: string) => string | CSSStyleDeclaration;
|
|
44
|
+
removeStyle: (node: Element, keys: string | string[]) => void;
|
|
45
|
+
addStyle: (node: Element, property: string | import("dom-lib/esm/addStyle").CSSProperty, value?: string | number) => void;
|
|
46
|
+
translateDOMPositionXY: (style: CSSStyleDeclaration, x?: number, y?: number) => CSSStyleDeclaration;
|
|
62
47
|
};
|
|
63
48
|
export default DOMHelper;
|
package/cjs/DOMHelper/index.js
CHANGED
|
@@ -18,10 +18,11 @@ Object.keys(helpers).forEach(function (key) {
|
|
|
18
18
|
if (key in exports && exports[key] === helpers[key]) return;
|
|
19
19
|
exports[key] = helpers[key];
|
|
20
20
|
});
|
|
21
|
+
|
|
22
|
+
var _isElement = _interopRequireDefault(require("./isElement"));
|
|
23
|
+
|
|
21
24
|
var DOMHelper = (0, _extends2.default)({}, helpers, {
|
|
22
|
-
isElement:
|
|
23
|
-
return (node === null || node === void 0 ? void 0 : node.nodeType) && typeof (node === null || node === void 0 ? void 0 : node.nodeName) === 'string';
|
|
24
|
-
}
|
|
25
|
+
isElement: _isElement.default
|
|
25
26
|
});
|
|
26
27
|
var _default = DOMHelper;
|
|
27
28
|
exports.default = _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var isElement = function isElement(node) {
|
|
7
|
+
return (node === null || node === void 0 ? void 0 : node.nodeType) === 1 && typeof (node === null || node === void 0 ? void 0 : node.nodeName) === 'string';
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
var _default = isElement;
|
|
11
|
+
exports.default = _default;
|
|
@@ -41,19 +41,19 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
41
41
|
/** Hidden seconds */
|
|
42
42
|
hideSeconds?: (second: number, date: Date) => boolean;
|
|
43
43
|
/** Called when the calendar panel date changes */
|
|
44
|
-
onChangeCalendarDate?: (date: Date, event?: React.SyntheticEvent
|
|
44
|
+
onChangeCalendarDate?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
45
45
|
/** Called when opening the month view */
|
|
46
46
|
onToggleMonthDropdown?: (toggle: boolean) => void;
|
|
47
47
|
/** Called when opening the time view */
|
|
48
48
|
onToggleTimeDropdown?: (toggle: boolean) => void;
|
|
49
49
|
/** Called when the option is selected */
|
|
50
|
-
onSelect?: (date: Date, event?: React.SyntheticEvent
|
|
50
|
+
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
51
51
|
/** Called after the prev month */
|
|
52
52
|
onPrevMonth?: (date: Date) => void;
|
|
53
53
|
/** Called after the next month */
|
|
54
54
|
onNextMonth?: (date: Date) => void;
|
|
55
55
|
/** Called after clicking the OK button */
|
|
56
|
-
onOk?: (date: Date, event: React.SyntheticEvent
|
|
56
|
+
onOk?: (date: Date, event: React.SyntheticEvent) => void;
|
|
57
57
|
/** Called when clean */
|
|
58
58
|
onClean?: (event: React.MouseEvent) => void;
|
|
59
59
|
/** Custom render value */
|
|
@@ -16,7 +16,7 @@ export interface CalendarProps extends WithAsProps, Omit<CalendarCoreProps, Omit
|
|
|
16
16
|
onChangeCalendarDate?: (index: number, date: Date) => void;
|
|
17
17
|
onChangeCalendarTime?: (index: number, date: Date) => void;
|
|
18
18
|
onMouseMove?: (date: Date) => void;
|
|
19
|
-
onSelect?: (date: Date, event?: React.SyntheticEvent
|
|
19
|
+
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
20
20
|
showOneCalendar?: boolean;
|
|
21
21
|
showWeekNumbers?: boolean;
|
|
22
22
|
value?: ValueType;
|
|
@@ -26,9 +26,9 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
26
26
|
/** Disabled date */
|
|
27
27
|
disabledDate?: DisabledDateFunction;
|
|
28
28
|
/** Called when the option is selected */
|
|
29
|
-
onSelect?: (date: Date, event?: React.SyntheticEvent
|
|
29
|
+
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
30
30
|
/** Called after clicking the OK button */
|
|
31
|
-
onOk?: (date: ValueType, event: React.SyntheticEvent
|
|
31
|
+
onOk?: (date: ValueType, event: React.SyntheticEvent) => void;
|
|
32
32
|
/** Called when clean */
|
|
33
33
|
onClean?: (event: React.MouseEvent) => void;
|
|
34
34
|
/** Custom render value */
|
|
@@ -12,7 +12,7 @@ export interface DisclosureProps {
|
|
|
12
12
|
defaultOpen?: boolean;
|
|
13
13
|
hideOnClickOutside?: boolean;
|
|
14
14
|
/** Callback when disclosure button is being activated to update the open state */
|
|
15
|
-
onToggle?: (open: boolean, event: React.SyntheticEvent
|
|
15
|
+
onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
|
|
16
16
|
}
|
|
17
17
|
declare function Disclosure(props: DisclosureProps): JSX.Element;
|
|
18
18
|
declare namespace Disclosure {
|
|
@@ -13,7 +13,7 @@ export declare type DisclosureContextProps = [
|
|
|
13
13
|
DisclosureState,
|
|
14
14
|
Dispatch<DisclosureAction>,
|
|
15
15
|
{
|
|
16
|
-
onToggle: (open: boolean, event?: React.SyntheticEvent
|
|
16
|
+
onToggle: (open: boolean, event?: React.SyntheticEvent) => void;
|
|
17
17
|
}
|
|
18
18
|
];
|
|
19
19
|
declare const DisclosureContext: React.Context<DisclosureContextProps>;
|
|
@@ -32,7 +32,7 @@ export interface DropdownMenuItemProps<T = any> extends WithAsProps, Omit<React.
|
|
|
32
32
|
*/
|
|
33
33
|
open?: boolean;
|
|
34
34
|
/** Select the callback function for the current option */
|
|
35
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent
|
|
35
|
+
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* The <Dropdown.Item> API
|
|
@@ -41,6 +41,8 @@ var _useInternalId = _interopRequireDefault(require("../utils/useInternalId"));
|
|
|
41
41
|
|
|
42
42
|
var _DropdownState = require("./DropdownState");
|
|
43
43
|
|
|
44
|
+
var _useRenderDropdownItem = require("./useRenderDropdownItem");
|
|
45
|
+
|
|
44
46
|
/**
|
|
45
47
|
* The <Dropdown.Item> API
|
|
46
48
|
* When used inside <Sidenav>, renders a <TreeviewItem>
|
|
@@ -112,15 +114,7 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
112
114
|
};
|
|
113
115
|
}
|
|
114
116
|
}, [internalId, selected, dispatch]);
|
|
115
|
-
var renderDropdownItem = (0,
|
|
116
|
-
if (Component === 'li') {
|
|
117
|
-
return ui;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return /*#__PURE__*/_react.default.createElement("li", {
|
|
121
|
-
role: "none presentation"
|
|
122
|
-
}, ui);
|
|
123
|
-
}, [Component]);
|
|
117
|
+
var renderDropdownItem = (0, _useRenderDropdownItem.useRenderDropdownItem)(Component);
|
|
124
118
|
|
|
125
119
|
if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {
|
|
126
120
|
return /*#__PURE__*/_react.default.createElement(_SidenavDropdownItem.default, (0, _extends2.default)({
|
|
@@ -129,18 +123,19 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
129
123
|
}
|
|
130
124
|
|
|
131
125
|
if (divider) {
|
|
132
|
-
return renderDropdownItem(
|
|
126
|
+
return renderDropdownItem((0, _extends2.default)({
|
|
133
127
|
ref: ref,
|
|
134
|
-
role:
|
|
128
|
+
role: 'separator',
|
|
135
129
|
className: merge(prefix('divider'), className)
|
|
136
|
-
}, restProps))
|
|
130
|
+
}, restProps));
|
|
137
131
|
}
|
|
138
132
|
|
|
139
133
|
if (panel) {
|
|
140
|
-
return renderDropdownItem(
|
|
134
|
+
return renderDropdownItem((0, _extends2.default)({
|
|
141
135
|
ref: ref,
|
|
142
|
-
className: merge(prefix('panel'), className)
|
|
143
|
-
|
|
136
|
+
className: merge(prefix('panel'), className),
|
|
137
|
+
children: children
|
|
138
|
+
}, restProps));
|
|
144
139
|
}
|
|
145
140
|
|
|
146
141
|
if (navbar) {
|
|
@@ -195,12 +190,14 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
195
190
|
dataAttributes['data-event-key-type'] = typeof eventKey;
|
|
196
191
|
}
|
|
197
192
|
|
|
198
|
-
return renderDropdownItem(
|
|
193
|
+
return renderDropdownItem((0, _extends2.default)({
|
|
199
194
|
ref: (0, _utils.mergeRefs)(ref, menuitemRef),
|
|
200
195
|
className: classes
|
|
201
|
-
}, menuitem, dataAttributes, restProps
|
|
202
|
-
|
|
203
|
-
|
|
196
|
+
}, menuitem, dataAttributes, restProps, {
|
|
197
|
+
children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon && /*#__PURE__*/_react.default.cloneElement(icon, {
|
|
198
|
+
className: prefix('menu-icon')
|
|
199
|
+
}), children)
|
|
200
|
+
}));
|
|
204
201
|
});
|
|
205
202
|
});
|
|
206
203
|
|
|
@@ -19,8 +19,8 @@ export interface DropdownMenuProps<T = string> extends StandardProps {
|
|
|
19
19
|
disabled?: boolean;
|
|
20
20
|
activeKey?: T;
|
|
21
21
|
trigger?: 'hover' | 'click';
|
|
22
|
-
onSelect?: (eventKey: T, event: React.SyntheticEvent
|
|
23
|
-
onToggle?: (eventKey: T, event: React.SyntheticEvent
|
|
22
|
+
onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
23
|
+
onToggle?: (eventKey: T, event: React.SyntheticEvent) => void;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* The <Dropdown.Menu> API
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.useRenderDropdownItem = useRenderDropdownItem;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
function useRenderDropdownItem(Component) {
|
|
11
|
+
return (0, _react.useCallback)(function (props, OverrideComponent) {
|
|
12
|
+
if (Component === 'li') {
|
|
13
|
+
if (OverrideComponent) {
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
15
|
+
role: "none presentation"
|
|
16
|
+
}, /*#__PURE__*/_react.default.createElement(OverrideComponent, props));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(Component, props);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
23
|
+
role: "none presentation"
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement(Component, props));
|
|
25
|
+
}, [Component]);
|
|
26
|
+
}
|
package/cjs/Form/Form.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export interface FormProps<T = Record<string, any>, errorMsgType = any, E = {
|
|
|
33
33
|
/** The error message comes from context */
|
|
34
34
|
errorFromContext?: boolean;
|
|
35
35
|
/** Callback fired when data changing */
|
|
36
|
-
onChange?: (formValue: T, event: React.SyntheticEvent
|
|
36
|
+
onChange?: (formValue: T, event: React.SyntheticEvent) => void;
|
|
37
37
|
/** Callback fired when error checking */
|
|
38
38
|
onError?: (formError: E) => void;
|
|
39
39
|
/** Callback fired when data cheking */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import Input from '../Input';
|
|
3
|
+
import { TypeAttributes, FormControlBaseProps, WithAsProps } from '../@types/common';
|
|
3
4
|
/**
|
|
4
5
|
* Props that FormControl passes to its accepter
|
|
5
6
|
*/
|
|
@@ -12,7 +13,7 @@ export interface FormControlProps<P = any, ValueType = any> extends WithAsProps,
|
|
|
12
13
|
/** Value */
|
|
13
14
|
value?: ValueType;
|
|
14
15
|
/** Callback fired when data changing */
|
|
15
|
-
onChange?(value: ValueType, event: React.SyntheticEvent
|
|
16
|
+
onChange?(value: ValueType, event: React.SyntheticEvent): void;
|
|
16
17
|
/** The data validation trigger type, and it wiill overrides the setting on <Form> */
|
|
17
18
|
checkTrigger?: TypeAttributes.CheckTrigger;
|
|
18
19
|
/** Show error messages */
|
|
@@ -28,5 +29,10 @@ export interface FormControlProps<P = any, ValueType = any> extends WithAsProps,
|
|
|
28
29
|
/** Asynchronous check value */
|
|
29
30
|
checkAsync?: boolean;
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
interface FormControlComponent extends React.FC<FormControlProps> {
|
|
33
|
+
<Accepter extends React.ElementType = typeof Input>(props: FormControlProps & {
|
|
34
|
+
accepter?: Accepter;
|
|
35
|
+
} & React.ComponentPropsWithRef<Accepter>): React.ReactElement;
|
|
36
|
+
}
|
|
37
|
+
declare const FormControl: FormControlComponent;
|
|
32
38
|
export default FormControl;
|
package/cjs/Input/Input.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { WithAsProps, RsRefForwardingComponent, TypeAttributes, FormControlBaseP
|
|
|
3
3
|
export interface LocaleType {
|
|
4
4
|
unfilled: string;
|
|
5
5
|
}
|
|
6
|
-
export interface InputProps extends WithAsProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'>, FormControlBaseProps
|
|
6
|
+
export interface InputProps extends WithAsProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'>, FormControlBaseProps {
|
|
7
7
|
/** The HTML input type */
|
|
8
8
|
type?: string;
|
|
9
9
|
/** The HTML input id */
|
|
@@ -12,6 +12,7 @@ export interface InputProps extends WithAsProps, Omit<React.InputHTMLAttributes<
|
|
|
12
12
|
size?: TypeAttributes.Size;
|
|
13
13
|
/** Ref of input element */
|
|
14
14
|
inputRef?: React.Ref<any>;
|
|
15
|
+
onChange?: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
15
16
|
/** Called on press enter */
|
|
16
17
|
onPressEnter?: React.KeyboardEventHandler<HTMLInputElement>;
|
|
17
18
|
}
|
|
@@ -21,7 +21,7 @@ var _AngleUp = _interopRequireDefault(require("@rsuite/icons/legacy/AngleUp"));
|
|
|
21
21
|
|
|
22
22
|
var _AngleDown = _interopRequireDefault(require("@rsuite/icons/legacy/AngleDown"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _on = _interopRequireDefault(require("dom-lib/on"));
|
|
25
25
|
|
|
26
26
|
var _InputGroup = _interopRequireDefault(require("../InputGroup/InputGroup"));
|
|
27
27
|
|
|
@@ -216,7 +216,7 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
216
216
|
var wheelListener;
|
|
217
217
|
|
|
218
218
|
if (inputRef.current && scrollable) {
|
|
219
|
-
wheelListener =
|
|
219
|
+
wheelListener = (0, _on.default)(inputRef.current, 'wheel', handleWheel, {
|
|
220
220
|
passive: false
|
|
221
221
|
});
|
|
222
222
|
}
|
|
@@ -33,7 +33,7 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
|
33
33
|
|
|
34
34
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _getWidth = _interopRequireDefault(require("dom-lib/getWidth"));
|
|
37
37
|
|
|
38
38
|
var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
|
|
39
39
|
|
|
@@ -232,7 +232,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
232
232
|
|
|
233
233
|
// In multiple selection, you need to set a maximum width for the input.
|
|
234
234
|
if ((_triggerRef$current2 = triggerRef.current) !== null && _triggerRef$current2 !== void 0 && _triggerRef$current2.root) {
|
|
235
|
-
setMaxWidth((0,
|
|
235
|
+
setMaxWidth((0, _getWidth.default)(triggerRef.current.root));
|
|
236
236
|
}
|
|
237
237
|
}, []); // Update the position of the menu when the search keyword and value change
|
|
238
238
|
|
|
@@ -696,7 +696,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
696
696
|
var plaintextProps = {}; // TagPicker has -6px margin-left on the plaintext wrapper
|
|
697
697
|
// for fixing margin-left on tags from 2nd line on
|
|
698
698
|
|
|
699
|
-
if (multi) {
|
|
699
|
+
if (multi && hasValue) {
|
|
700
700
|
plaintextProps.style = {
|
|
701
701
|
marginLeft: -6
|
|
702
702
|
};
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _on = _interopRequireDefault(require("dom-lib/on"));
|
|
9
9
|
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
|
|
@@ -13,6 +13,8 @@ var _AutoScroller = _interopRequireDefault(require("./AutoScroller"));
|
|
|
13
13
|
|
|
14
14
|
var _utils = require("./utils");
|
|
15
15
|
|
|
16
|
+
var _utils2 = require("../../utils");
|
|
17
|
+
|
|
16
18
|
var _useManager2 = _interopRequireDefault(require("./useManager"));
|
|
17
19
|
|
|
18
20
|
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -41,14 +43,16 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
41
43
|
listItemRegister = _useManager.listItemRegister,
|
|
42
44
|
getManagedItem = _useManager.getManagedItem,
|
|
43
45
|
getOrderedItems = _useManager.getOrderedItems;
|
|
46
|
+
|
|
47
|
+
var isMounted = (0, _utils2.useIsMounted)();
|
|
44
48
|
/**
|
|
45
49
|
* start dragging
|
|
46
50
|
* */
|
|
47
51
|
|
|
48
|
-
|
|
49
52
|
var handlePress = (0, _react.useCallback)(function (mouseDownEvent, targetNode, curManagedItem) {
|
|
50
53
|
var _activeNodeHelper;
|
|
51
54
|
|
|
55
|
+
if (!isMounted()) return;
|
|
52
56
|
var listItemBaseClassName = targetNode.classList[0]; // get list item base className
|
|
53
57
|
|
|
54
58
|
var helperElementClass = listItemBaseClassName + "-helper";
|
|
@@ -108,7 +112,7 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
108
112
|
});
|
|
109
113
|
};
|
|
110
114
|
|
|
111
|
-
var sortMouseMoveListener = (0,
|
|
115
|
+
var sortMouseMoveListener = (0, _on.default)(window, 'mousemove', function (mouseOverEvent) {
|
|
112
116
|
// Update helper position
|
|
113
117
|
var offset = {
|
|
114
118
|
x: (mouseOverEvent === null || mouseOverEvent === void 0 ? void 0 : mouseOverEvent.pageX) || 0,
|
|
@@ -213,7 +217,7 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
213
217
|
}, {
|
|
214
218
|
passive: false
|
|
215
219
|
});
|
|
216
|
-
var sortMouseEndListener = (0,
|
|
220
|
+
var sortMouseEndListener = (0, _on.default)(window, 'mouseup', function (event) {
|
|
217
221
|
// Remove the event listeners
|
|
218
222
|
sortMouseMoveListener.off();
|
|
219
223
|
sortMouseEndListener.off();
|
|
@@ -228,7 +232,8 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
228
232
|
setTimeout(function () {
|
|
229
233
|
var _activeNodeHelper2, _activeNodeHelper2$pa;
|
|
230
234
|
|
|
231
|
-
// Remove the helper from the DOM
|
|
235
|
+
if (!isMounted()) return; // Remove the helper from the DOM
|
|
236
|
+
|
|
232
237
|
(_activeNodeHelper2 = activeNodeHelper) === null || _activeNodeHelper2 === void 0 ? void 0 : (_activeNodeHelper2$pa = _activeNodeHelper2.parentNode) === null || _activeNodeHelper2$pa === void 0 ? void 0 : _activeNodeHelper2$pa.removeChild(activeNodeHelper);
|
|
233
238
|
activeNodeHelper = null; // Remove redundant styles
|
|
234
239
|
|
|
@@ -271,7 +276,7 @@ var useSortHelper = function useSortHelper(config) {
|
|
|
271
276
|
oldIndex: activeNodeOldIndex,
|
|
272
277
|
newIndex: activeNodeNextIndex
|
|
273
278
|
}, mouseDownEvent.nativeEvent);
|
|
274
|
-
}, [autoScroll, getOrderedItems, onSort, onSortEnd, onSortMove, onSortStart, transitionDuration]);
|
|
279
|
+
}, [autoScroll, getOrderedItems, isMounted, onSort, onSortEnd, onSortMove, onSortStart, transitionDuration]);
|
|
275
280
|
/**
|
|
276
281
|
* Determine whether to start dragging
|
|
277
282
|
* */
|