rsuite 5.1.0 → 5.2.0

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.
Files changed (174) hide show
  1. package/Button/styles/index.less +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/README.md +0 -1
  4. package/Slider/styles/index.less +20 -14
  5. package/Toggle/styles/index.less +48 -27
  6. package/Toggle/styles/mixin.less +16 -14
  7. package/cjs/@types/common.d.ts +8 -2
  8. package/cjs/Affix/Affix.js +3 -3
  9. package/cjs/Animation/Collapse.js +9 -7
  10. package/cjs/Animation/Transition.js +4 -2
  11. package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
  12. package/cjs/AutoComplete/AutoComplete.js +7 -4
  13. package/cjs/Calendar/TimeDropdown.js +5 -3
  14. package/cjs/Cascader/Cascader.d.ts +1 -1
  15. package/cjs/Cascader/DropdownMenu.js +6 -5
  16. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  17. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  18. package/cjs/Checkbox/Checkbox.d.ts +3 -3
  19. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  20. package/cjs/DOMHelper/index.d.ts +12 -27
  21. package/cjs/DOMHelper/index.js +4 -3
  22. package/cjs/DOMHelper/isElement.d.ts +2 -0
  23. package/cjs/DOMHelper/isElement.js +11 -0
  24. package/cjs/DatePicker/DatePicker.d.ts +3 -3
  25. package/cjs/DateRangePicker/Calendar.d.ts +1 -1
  26. package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
  27. package/cjs/Disclosure/Disclosure.d.ts +1 -1
  28. package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
  29. package/cjs/Dropdown/DropdownItem.d.ts +1 -1
  30. package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
  31. package/cjs/Form/Form.d.ts +1 -1
  32. package/cjs/FormControl/FormControl.d.ts +9 -3
  33. package/cjs/Input/Input.d.ts +2 -1
  34. package/cjs/InputNumber/InputNumber.js +2 -2
  35. package/cjs/InputPicker/InputPicker.js +2 -2
  36. package/cjs/List/helper/useSortHelper.js +11 -6
  37. package/cjs/Menu/MenuItem.d.ts +1 -1
  38. package/cjs/Menu/Menubar.d.ts +1 -1
  39. package/cjs/Message/Message.js +13 -11
  40. package/cjs/Modal/Modal.js +5 -3
  41. package/cjs/Modal/utils.js +7 -5
  42. package/cjs/Notification/Notification.js +6 -3
  43. package/cjs/Overlay/Modal.js +14 -11
  44. package/cjs/Overlay/ModalManager.js +19 -7
  45. package/cjs/Overlay/OverlayTrigger.js +2 -2
  46. package/cjs/Overlay/Position.js +20 -13
  47. package/cjs/Overlay/positionUtils.js +16 -8
  48. package/cjs/Panel/Panel.d.ts +1 -1
  49. package/cjs/Picker/DropdownMenu.js +10 -6
  50. package/cjs/Picker/DropdownMenuCheckItem.d.ts +3 -3
  51. package/cjs/Picker/PickerOverlay.js +5 -3
  52. package/cjs/Picker/PickerToggle.d.ts +6 -0
  53. package/cjs/Picker/PickerToggle.js +9 -3
  54. package/cjs/Picker/SearchBar.d.ts +1 -1
  55. package/cjs/Picker/utils.d.ts +2 -2
  56. package/cjs/Radio/Radio.d.ts +1 -1
  57. package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
  58. package/cjs/RangeSlider/RangeSlider.js +9 -5
  59. package/cjs/Rate/Character.js +2 -2
  60. package/cjs/Ripple/Ripple.js +6 -7
  61. package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
  62. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  63. package/cjs/Slider/Graduated.js +1 -1
  64. package/cjs/Slider/Handle.js +10 -5
  65. package/cjs/Slider/ProgressBar.js +1 -1
  66. package/cjs/Slider/Slider.js +9 -5
  67. package/cjs/Toggle/Toggle.d.ts +3 -6
  68. package/cjs/Toggle/Toggle.js +32 -27
  69. package/cjs/Tree/Tree.d.ts +3 -3
  70. package/cjs/TreePicker/TreeNode.d.ts +1 -1
  71. package/cjs/TreePicker/TreeNode.js +2 -2
  72. package/cjs/TreePicker/TreePicker.d.ts +1 -1
  73. package/cjs/Uploader/Uploader.d.ts +4 -4
  74. package/cjs/locales/fa_IR.js +8 -8
  75. package/cjs/utils/BrowserDetection.js +1 -1
  76. package/cjs/utils/index.d.ts +1 -0
  77. package/cjs/utils/index.js +7 -2
  78. package/cjs/utils/scrollTopAnimation.js +5 -5
  79. package/cjs/utils/treeUtils.d.ts +2 -2
  80. package/cjs/utils/useEventListener.js +4 -2
  81. package/cjs/utils/useIsMounted.d.ts +2 -0
  82. package/cjs/utils/useIsMounted.js +22 -0
  83. package/cjs/utils/usePortal.js +2 -2
  84. package/cjs/utils/useRootClose.js +10 -10
  85. package/dist/rsuite-rtl.css +146 -116
  86. package/dist/rsuite-rtl.min.css +1 -1
  87. package/dist/rsuite-rtl.min.css.map +1 -1
  88. package/dist/rsuite.css +146 -116
  89. package/dist/rsuite.js +720 -511
  90. package/dist/rsuite.js.map +1 -1
  91. package/dist/rsuite.min.css +1 -1
  92. package/dist/rsuite.min.css.map +1 -1
  93. package/dist/rsuite.min.js +1 -1
  94. package/dist/rsuite.min.js.map +1 -1
  95. package/esm/@types/common.d.ts +8 -2
  96. package/esm/Affix/Affix.js +1 -1
  97. package/esm/Animation/Collapse.js +2 -1
  98. package/esm/Animation/Transition.js +3 -2
  99. package/esm/AutoComplete/AutoComplete.d.ts +2 -2
  100. package/esm/AutoComplete/AutoComplete.js +8 -5
  101. package/esm/Calendar/TimeDropdown.js +2 -1
  102. package/esm/Cascader/Cascader.d.ts +1 -1
  103. package/esm/Cascader/DropdownMenu.js +4 -3
  104. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  105. package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  106. package/esm/Checkbox/Checkbox.d.ts +3 -3
  107. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  108. package/esm/DOMHelper/index.d.ts +12 -27
  109. package/esm/DOMHelper/index.js +2 -3
  110. package/esm/DOMHelper/isElement.d.ts +2 -0
  111. package/esm/DOMHelper/isElement.js +5 -0
  112. package/esm/DatePicker/DatePicker.d.ts +3 -3
  113. package/esm/DateRangePicker/Calendar.d.ts +1 -1
  114. package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
  115. package/esm/Disclosure/Disclosure.d.ts +1 -1
  116. package/esm/Disclosure/DisclosureContext.d.ts +1 -1
  117. package/esm/Dropdown/DropdownItem.d.ts +1 -1
  118. package/esm/Dropdown/DropdownMenu.d.ts +2 -2
  119. package/esm/Form/Form.d.ts +1 -1
  120. package/esm/FormControl/FormControl.d.ts +9 -3
  121. package/esm/Input/Input.d.ts +2 -1
  122. package/esm/InputNumber/InputNumber.js +2 -2
  123. package/esm/InputPicker/InputPicker.js +1 -1
  124. package/esm/List/helper/useSortHelper.js +8 -4
  125. package/esm/Menu/MenuItem.d.ts +1 -1
  126. package/esm/Menu/Menubar.d.ts +1 -1
  127. package/esm/Message/Message.js +15 -13
  128. package/esm/Modal/Modal.js +3 -2
  129. package/esm/Modal/utils.js +6 -5
  130. package/esm/Notification/Notification.js +7 -4
  131. package/esm/Overlay/Modal.js +11 -8
  132. package/esm/Overlay/ModalManager.js +6 -1
  133. package/esm/Overlay/OverlayTrigger.js +1 -1
  134. package/esm/Overlay/Position.js +14 -8
  135. package/esm/Overlay/positionUtils.js +5 -1
  136. package/esm/Panel/Panel.d.ts +1 -1
  137. package/esm/Picker/DropdownMenu.js +3 -1
  138. package/esm/Picker/DropdownMenuCheckItem.d.ts +3 -3
  139. package/esm/Picker/PickerOverlay.js +2 -1
  140. package/esm/Picker/PickerToggle.d.ts +6 -0
  141. package/esm/Picker/PickerToggle.js +8 -3
  142. package/esm/Picker/SearchBar.d.ts +1 -1
  143. package/esm/Picker/utils.d.ts +2 -2
  144. package/esm/Radio/Radio.d.ts +1 -1
  145. package/esm/RadioGroup/RadioGroup.d.ts +1 -1
  146. package/esm/RangeSlider/RangeSlider.js +4 -2
  147. package/esm/Rate/Character.js +2 -2
  148. package/esm/Ripple/Ripple.js +4 -3
  149. package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
  150. package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  151. package/esm/Slider/Graduated.js +1 -1
  152. package/esm/Slider/Handle.js +5 -2
  153. package/esm/Slider/ProgressBar.js +1 -1
  154. package/esm/Slider/Slider.js +4 -2
  155. package/esm/Toggle/Toggle.d.ts +3 -6
  156. package/esm/Toggle/Toggle.js +34 -29
  157. package/esm/Tree/Tree.d.ts +3 -3
  158. package/esm/TreePicker/TreeNode.d.ts +1 -1
  159. package/esm/TreePicker/TreeNode.js +1 -1
  160. package/esm/TreePicker/TreePicker.d.ts +1 -1
  161. package/esm/Uploader/Uploader.d.ts +4 -4
  162. package/esm/locales/fa_IR.js +8 -8
  163. package/esm/utils/BrowserDetection.js +1 -1
  164. package/esm/utils/index.d.ts +1 -0
  165. package/esm/utils/index.js +2 -1
  166. package/esm/utils/scrollTopAnimation.js +2 -2
  167. package/esm/utils/treeUtils.d.ts +2 -2
  168. package/esm/utils/useEventListener.js +1 -1
  169. package/esm/utils/useIsMounted.d.ts +2 -0
  170. package/esm/utils/useIsMounted.js +16 -0
  171. package/esm/utils/usePortal.js +2 -2
  172. package/esm/utils/useRootClose.js +8 -6
  173. package/package.json +4 -4
  174. package/styles/plugins/palette.js +10 -1
@@ -21,9 +21,6 @@ var _Plaintext = _interopRequireDefault(require("../Plaintext"));
21
21
 
22
22
  var _Loader = _interopRequireDefault(require("../Loader"));
23
23
 
24
- /**
25
- * fixme: Should contain an input[type=checkbox]
26
- */
27
24
  var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
28
25
  var _props$as = props.as,
29
26
  Component = _props$as === void 0 ? 'span' : _props$as,
@@ -36,13 +33,14 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
36
33
  checkedChildren = props.checkedChildren,
37
34
  unCheckedChildren = props.unCheckedChildren,
38
35
  _props$classPrefix = props.classPrefix,
39
- classPrefix = _props$classPrefix === void 0 ? 'btn-toggle' : _props$classPrefix,
36
+ classPrefix = _props$classPrefix === void 0 ? 'toggle' : _props$classPrefix,
40
37
  checkedProp = props.checked,
41
38
  defaultChecked = props.defaultChecked,
42
39
  size = props.size,
43
40
  localeProp = props.locale,
44
41
  onChange = props.onChange,
45
42
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "readOnly", "loading", "plaintext", "className", "checkedChildren", "unCheckedChildren", "classPrefix", "checked", "defaultChecked", "size", "locale", "onChange"]);
43
+ var inputRef = (0, _react.useRef)();
46
44
 
47
45
  var _useControlled = (0, _utils.useControlled)(checkedProp, defaultChecked),
48
46
  checked = _useControlled[0],
@@ -63,49 +61,50 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
63
61
  }));
64
62
  var inner = checked ? checkedChildren : unCheckedChildren;
65
63
  var label = checked ? locale.on : locale.off;
66
- var handleChange = (0, _react.useCallback)(function (event) {
64
+ var handleInputChange = (0, _react.useCallback)(function (e) {
67
65
  if (disabled || readOnly) {
68
66
  return;
69
67
  }
70
68
 
71
- setChecked(!checked);
72
- onChange === null || onChange === void 0 ? void 0 : onChange(!checked, event);
73
- }, [checked, disabled, onChange, readOnly, setChecked]);
74
- var handleKeyDown = (0, _react.useCallback)(function (event) {
75
- if (event.key !== ' ') {
76
- return;
77
- }
78
-
79
- handleChange(event);
80
- event.preventDefault();
81
- }, [handleChange]);
69
+ var checked = e.target.checked;
70
+ setChecked(checked);
71
+ onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);
72
+ }, [disabled, readOnly, setChecked, onChange]);
82
73
 
83
74
  if (plaintext) {
84
75
  return /*#__PURE__*/_react.default.createElement(_Plaintext.default, null, inner || label);
85
76
  }
86
77
 
87
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
78
+ return /*#__PURE__*/_react.default.createElement("label", (0, _extends2.default)({
79
+ ref: ref,
80
+ className: classes
81
+ }, rest), /*#__PURE__*/_react.default.createElement("input", {
82
+ ref: inputRef,
83
+ type: "checkbox",
84
+ checked: checked,
85
+ disabled: disabled,
86
+ readOnly: readOnly,
87
+ onChange: handleInputChange,
88
+ className: prefix('input'),
88
89
  role: "switch",
89
90
  "aria-checked": checked,
90
91
  "aria-disabled": disabled,
91
92
  "aria-label": typeof inner === 'string' ? inner : label,
92
- "aria-busy": loading || undefined,
93
- tabIndex: 0
94
- }, rest, {
95
- ref: ref,
96
- className: classes,
97
- onClick: handleChange,
98
- onKeyDown: handleKeyDown
99
- }), /*#__PURE__*/_react.default.createElement("span", {
93
+ "aria-busy": loading || undefined
94
+ }), /*#__PURE__*/_react.default.createElement(Component, {
95
+ className: prefix('presentation')
96
+ }, /*#__PURE__*/_react.default.createElement("span", {
100
97
  className: prefix('inner')
101
98
  }, inner), loading && /*#__PURE__*/_react.default.createElement(_Loader.default, {
102
99
  className: prefix('loader')
103
- }));
100
+ })));
104
101
  });
105
102
 
106
103
  Toggle.displayName = 'Toggle';
107
104
  Toggle.propTypes = {
108
105
  disabled: _propTypes.default.bool,
106
+ readOnly: _propTypes.default.bool,
107
+ plaintext: _propTypes.default.bool,
109
108
  checked: _propTypes.default.bool,
110
109
  defaultChecked: _propTypes.default.bool,
111
110
  checkedChildren: _propTypes.default.node,
@@ -113,7 +112,13 @@ Toggle.propTypes = {
113
112
  loading: _propTypes.default.bool,
114
113
  classPrefix: _propTypes.default.string,
115
114
  className: _propTypes.default.string,
116
- onChange: _propTypes.default.func
115
+ onChange: _propTypes.default.func,
116
+ as: _propTypes.default.elementType,
117
+ size: _propTypes.default.oneOf(['sm', 'md', 'lg']),
118
+ locale: _propTypes.default.shape({
119
+ on: _propTypes.default.string,
120
+ off: _propTypes.default.string
121
+ })
117
122
  };
118
123
  var _default = Toggle;
119
124
  exports.default = _default;
@@ -23,7 +23,7 @@ export interface TreeDragProps<ItemDataType = Record<string, any>> {
23
23
  /** Whether the node can be dragged */
24
24
  draggable?: boolean;
25
25
  /** Called when scrolling */
26
- onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;
26
+ onScroll?: (event: React.SyntheticEvent) => void;
27
27
  /** Called when node drag start */
28
28
  onDragStart?: (nodeData: ItemDataType, e: React.DragEvent) => void;
29
29
  /** Called when node drag enter */
@@ -61,7 +61,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
61
61
  /** Callback function for data change */
62
62
  onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: React.ReactNode) => ItemDataType[]) => void;
63
63
  /** Callback function after selecting tree node */
64
- onSelect?: (activeNode: ItemDataType, value: ValueType, event: React.SyntheticEvent<any>) => void;
64
+ onSelect?: (activeNode: ItemDataType, value: ValueType, event: React.SyntheticEvent) => void;
65
65
  /** Custom Render tree Node */
66
66
  renderTreeNode?: (nodeData: ItemDataType) => React.ReactNode;
67
67
  /** Custom Render icon */
@@ -69,7 +69,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
69
69
  /** callback fired when search */
70
70
  onSearch?: (searchKeyword: string, event: React.KeyboardEvent<HTMLInputElement>) => void;
71
71
  /** Called when clean */
72
- onClean?: (event: React.SyntheticEvent<any>) => void;
72
+ onClean?: (event: React.SyntheticEvent) => void;
73
73
  /** Custom search rules. */
74
74
  searchBy?: (keyword: string, label: React.ReactNode, item: any) => boolean;
75
75
  /** Customizing the Rendering Menu list */
@@ -22,7 +22,7 @@ export interface TreeNodeProps extends WithAsProps {
22
22
  classPrefix?: string;
23
23
  style?: React.CSSProperties;
24
24
  onExpand?: (nodeData: any) => void;
25
- onSelect?: (nodeData: any, event: React.SyntheticEvent<any>) => void;
25
+ onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
26
26
  onRenderTreeIcon?: (nodeData: any) => React.ReactNode;
27
27
  onRenderTreeNode?: (nodeData: any) => React.ReactNode;
28
28
  onDragStart?: (data: any, event: React.DragEvent<any>) => void;
@@ -15,7 +15,7 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _domLib = require("dom-lib");
18
+ var _hasClass = _interopRequireDefault(require("dom-lib/hasClass"));
19
19
 
20
20
  var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"));
21
21
 
@@ -94,7 +94,7 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
94
94
  }
95
95
 
96
96
  if (event.target instanceof HTMLElement) {
97
- if ((0, _domLib.hasClass)(event.target.parentNode, prefix('expand-icon-wrapper'))) {
97
+ if ((0, _hasClass.default)(event.target.parentNode, prefix('expand-icon-wrapper'))) {
98
98
  return;
99
99
  }
100
100
  }
@@ -22,7 +22,7 @@ export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, I
22
22
  /** Custom render selected items */
23
23
  renderValue?: (value: T, selectedItems: ItemDataType, selectedElement: React.ReactNode) => React.ReactNode;
24
24
  /** Called when scrolling */
25
- onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;
25
+ onScroll?: (event: React.SyntheticEvent) => void;
26
26
  }
27
27
  declare const TreePicker: PickerComponent<TreePickerProps>;
28
28
  export default TreePicker;
@@ -82,13 +82,13 @@ export interface UploaderProps extends WithAsProps {
82
82
  /** In the file list, for uploading failed files, click the callback function to upload */
83
83
  onReupload?: (file: FileType) => void;
84
84
  /** In the file list, click the callback function for the uploaded file */
85
- onPreview?: (file: FileType, event: React.SyntheticEvent<any>) => void;
85
+ onPreview?: (file: FileType, event: React.SyntheticEvent) => void;
86
86
  /** Upload callback function with erro */
87
- onError?: (status: any, file: FileType, event: React.SyntheticEvent<any>, xhr: XMLHttpRequest) => void;
87
+ onError?: (status: any, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
88
88
  /** callback function after successful upload */
89
- onSuccess?: (response: any, file: FileType, event: React.SyntheticEvent<any>, xhr: XMLHttpRequest) => void;
89
+ onSuccess?: (response: any, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
90
90
  /** Callback functions that upload progress change */
91
- onProgress?: (percent: number, file: FileType, event: React.SyntheticEvent<any>, xhr: XMLHttpRequest) => void;
91
+ onProgress?: (percent: number, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
92
92
  /** In the file list, click the callback function to delete a file */
93
93
  onRemove?: (file: FileType) => void;
94
94
  /** Custom render file information */
@@ -10,14 +10,14 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _faIR = _interopRequireDefault(require("date-fns/locale/fa-IR"));
11
11
 
12
12
  var Calendar = {
13
- sunday: 'یکشنبه',
14
- monday: 'دوشنبه',
15
- tuesday: 'سه شنبه',
16
- wednesday: 'چهارشنبه',
17
- thursday: 'پنجشنبه',
18
- friday: 'جمعه',
19
- saturday: 'شنبه',
20
- ok: 'خوب',
13
+ sunday: 'ی',
14
+ monday: 'د',
15
+ tuesday: 'س',
16
+ wednesday: 'چ',
17
+ thursday: 'پ',
18
+ friday: 'ج',
19
+ saturday: 'ش',
20
+ ok: 'تایید',
21
21
  today: 'امروز',
22
22
  yesterday: 'دیروز',
23
23
  hours: 'ساعت',
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports.isEdge = exports.isIE11 = exports.isIE10 = exports.isIE = void 0;
7
7
 
8
- var _canUseDOM = _interopRequireDefault(require("dom-lib/lib/query/canUseDOM"));
8
+ var _canUseDOM = _interopRequireDefault(require("dom-lib/canUseDOM"));
9
9
 
10
10
  // from http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
11
11
  // Internet Explorer 6-11
@@ -39,3 +39,4 @@ export { default as useEventCallback } from './useEventCallback';
39
39
  export { default as useUpdatedRef } from './useUpdatedRef';
40
40
  export { default as useWillUnmount } from './useWillUnmount';
41
41
  export { default as useUpdateEffect } from './useUpdateEffect';
42
+ export { default as useIsMounted } from './useIsMounted';
@@ -40,13 +40,14 @@ var _exportNames = {
40
40
  useUpdatedRef: true,
41
41
  useWillUnmount: true,
42
42
  useUpdateEffect: true,
43
+ useIsMounted: true,
43
44
  defaultClassPrefix: true,
44
45
  getClassNamePrefix: true,
45
46
  globalKey: true,
46
47
  DateUtils: true,
47
48
  TypeChecker: true
48
49
  };
49
- exports.TypeChecker = exports.DateUtils = exports.globalKey = exports.getClassNamePrefix = exports.defaultClassPrefix = exports.useUpdateEffect = exports.useWillUnmount = exports.useUpdatedRef = exports.useEventCallback = exports.stringToObject = exports.getSafeRegExpString = exports.useRootClose = exports.useControlled = exports.useTimeout = exports.createComponent = exports.usePortal = exports.useCustom = exports.useElementResize = exports.useEventListener = exports.useClassNames = exports.appendTooltip = exports.scrollTopAnimation = exports.reactToString = exports.composeFunctions = exports.shallowEqualArray = exports.shallowEqual = exports.mergeRefs = exports.getDOMNode = exports.placementPolyfill = exports.clone = exports.getDataGroupBy = exports.previewFile = exports.ajaxUpload = exports.tplTransform = exports.ReactChildren = exports.isOneOf = exports.createChainedFunction = exports.prefix = exports.guid = void 0;
50
+ exports.TypeChecker = exports.DateUtils = exports.globalKey = exports.getClassNamePrefix = exports.defaultClassPrefix = exports.useIsMounted = exports.useUpdateEffect = exports.useWillUnmount = exports.useUpdatedRef = exports.useEventCallback = exports.stringToObject = exports.getSafeRegExpString = exports.useRootClose = exports.useControlled = exports.useTimeout = exports.createComponent = exports.usePortal = exports.useCustom = exports.useElementResize = exports.useEventListener = exports.useClassNames = exports.appendTooltip = exports.scrollTopAnimation = exports.reactToString = exports.composeFunctions = exports.shallowEqualArray = exports.shallowEqual = exports.mergeRefs = exports.getDOMNode = exports.placementPolyfill = exports.clone = exports.getDataGroupBy = exports.previewFile = exports.ajaxUpload = exports.tplTransform = exports.ReactChildren = exports.isOneOf = exports.createChainedFunction = exports.prefix = exports.guid = void 0;
50
51
 
51
52
  var _BrowserDetection = require("./BrowserDetection");
52
53
 
@@ -229,4 +230,8 @@ exports.useWillUnmount = _useWillUnmount.default;
229
230
 
230
231
  var _useUpdateEffect = _interopRequireDefault(require("./useUpdateEffect"));
231
232
 
232
- exports.useUpdateEffect = _useUpdateEffect.default;
233
+ exports.useUpdateEffect = _useUpdateEffect.default;
234
+
235
+ var _useIsMounted = _interopRequireDefault(require("./useIsMounted"));
236
+
237
+ exports.useIsMounted = _useIsMounted.default;
@@ -5,19 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports.default = scrollTopAnimation;
7
7
 
8
- var _domLib = require("dom-lib");
8
+ var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
9
9
 
10
- var _requestAnimationFramePolyfill = _interopRequireDefault(require("dom-lib/lib/animation/requestAnimationFramePolyfill"));
10
+ var _requestAnimationFramePolyfill = _interopRequireDefault(require("dom-lib/requestAnimationFramePolyfill"));
11
11
 
12
12
  function scrollTopAnimation(target, nextTop, animation, callback) {
13
13
  if (animation === void 0) {
14
14
  animation = true;
15
15
  }
16
16
 
17
- var top = (0, _domLib.scrollTop)(target);
17
+ var top = (0, _scrollTop.default)(target);
18
18
 
19
19
  var step = function step() {
20
- (0, _domLib.scrollTop)(target, top > nextTop ? nextTop : top);
20
+ (0, _scrollTop.default)(target, top > nextTop ? nextTop : top);
21
21
 
22
22
  if (top <= nextTop) {
23
23
  (0, _requestAnimationFramePolyfill.default)(step);
@@ -30,6 +30,6 @@ function scrollTopAnimation(target, nextTop, animation, callback) {
30
30
  if (animation) {
31
31
  (0, _requestAnimationFramePolyfill.default)(step);
32
32
  } else {
33
- (0, _domLib.scrollTop)(target, nextTop);
33
+ (0, _scrollTop.default)(target, nextTop);
34
34
  }
35
35
  }
@@ -210,7 +210,7 @@ interface TreeSearchProps {
210
210
  searchKeyword: string;
211
211
  data: ItemDataType[];
212
212
  searchBy: (keyword: any, label: any, item: any) => boolean;
213
- callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent<any>) => void;
213
+ callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent) => void;
214
214
  }
215
215
  /**
216
216
  * A hook that handles tree search filter options
@@ -221,7 +221,7 @@ export declare function useTreeSearch(props: TreeSearchProps): {
221
221
  filteredData: ItemDataType[];
222
222
  setFilteredData: (data: ItemDataType[], searchKeyword: string) => void;
223
223
  setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
224
- handleSearch: (searchKeyword: string, event: React.SyntheticEvent<any>) => void;
224
+ handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
225
225
  };
226
226
  export declare function useGetTreeNodeChildren(treeData: ItemDataType[], valueKey: string, childrenKey: string): {
227
227
  data: ItemDataType[];
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  exports.__esModule = true;
4
6
  exports.default = useEventListener;
5
7
 
6
8
  var _react = require("react");
7
9
 
8
- var _domLib = require("dom-lib");
10
+ var _on = _interopRequireDefault(require("dom-lib/on"));
9
11
 
10
12
  /**
11
13
  * Attach the event handler directly to the specified DOM element.
@@ -22,7 +24,7 @@ function useEventListener(eventTarget, event, listener, capture) {
22
24
 
23
25
  (0, _react.useEffect)(function () {
24
26
  var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
25
- var controller = target ? (0, _domLib.on)(target, event, listener, capture) : null;
27
+ var controller = target ? (0, _on.default)(target, event, listener, capture) : null;
26
28
  return function () {
27
29
  controller === null || controller === void 0 ? void 0 : controller.off();
28
30
  };
@@ -0,0 +1,2 @@
1
+ declare function useIsMounted(): () => boolean;
2
+ export default useIsMounted;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = require("react");
7
+
8
+ function useIsMounted() {
9
+ var isMounted = (0, _react.useRef)(false);
10
+ (0, _react.useEffect)(function () {
11
+ isMounted.current = true;
12
+ return function () {
13
+ isMounted.current = false;
14
+ };
15
+ }, []);
16
+ return (0, _react.useCallback)(function () {
17
+ return isMounted.current;
18
+ }, []);
19
+ }
20
+
21
+ var _default = useIsMounted;
22
+ exports.default = _default;
@@ -9,7 +9,7 @@ var _react = require("react");
9
9
 
10
10
  var _reactDom = require("react-dom");
11
11
 
12
- var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
12
+ var _canUseDOM = _interopRequireDefault(require("dom-lib/canUseDOM"));
13
13
 
14
14
  function usePortal(props) {
15
15
  if (props === void 0) {
@@ -19,7 +19,7 @@ function usePortal(props) {
19
19
  var _props = props,
20
20
  id = _props.id,
21
21
  container = _props.container;
22
- var rootElemRef = (0, _react.useRef)(_DOMHelper.default.canUseDOM ? document.body : null);
22
+ var rootElemRef = (0, _react.useRef)(_canUseDOM.default ? document.body : null);
23
23
  (0, _react.useEffect)(function () {
24
24
  var containerElement = typeof container === 'function' ? container() : container; // Look for existing target dom element to append to
25
25
 
@@ -7,7 +7,11 @@ exports.default = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
10
+ var _contains = _interopRequireDefault(require("dom-lib/contains"));
11
+
12
+ var _ownerDocument = _interopRequireDefault(require("dom-lib/ownerDocument"));
13
+
14
+ var _on = _interopRequireDefault(require("dom-lib/on"));
11
15
 
12
16
  var _ = require("./");
13
17
 
@@ -40,12 +44,12 @@ function useRootClose(onRootClose, _ref) {
40
44
  var triggerElement = (0, _.getDOMNode)(triggerTarget);
41
45
  var overlayElement = (0, _.getDOMNode)(overlayTarget); // Check if the clicked element is a trigger.
42
46
 
43
- if (triggerElement && _DOMHelper.default.contains(triggerElement, event.target)) {
47
+ if (triggerElement && (0, _contains.default)(triggerElement, event.target)) {
44
48
  return;
45
49
  } // Check if the clicked element is a overlay.
46
50
 
47
51
 
48
- if (overlayElement && _DOMHelper.default.contains(overlayElement, event.target)) {
52
+ if (overlayElement && (0, _contains.default)(overlayElement, event.target)) {
49
53
  return;
50
54
  }
51
55
 
@@ -58,13 +62,9 @@ function useRootClose(onRootClose, _ref) {
58
62
  (0, _react.useEffect)(function () {
59
63
  var currentTarget = (0, _.getDOMNode)(triggerTarget);
60
64
  if (disabled || !currentTarget) return;
61
-
62
- var doc = _DOMHelper.default.ownerDocument(currentTarget);
63
-
64
- var onDocumentMouseDownListener = _DOMHelper.default.on(doc, 'mousedown', handleDocumentMouseDown, true);
65
-
66
- var onDocumentKeyupListener = _DOMHelper.default.on(doc, 'keyup', handleDocumentKeyUp);
67
-
65
+ var doc = (0, _ownerDocument.default)(currentTarget);
66
+ var onDocumentMouseDownListener = (0, _on.default)(doc, 'mousedown', handleDocumentMouseDown, true);
67
+ var onDocumentKeyupListener = (0, _on.default)(doc, 'keyup', handleDocumentKeyUp);
68
68
  return function () {
69
69
  onDocumentMouseDownListener === null || onDocumentMouseDownListener === void 0 ? void 0 : onDocumentMouseDownListener.off();
70
70
  onDocumentKeyupListener === null || onDocumentKeyupListener === void 0 ? void 0 : onDocumentKeyupListener.off();