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
@@ -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
- animation: typeof helpers.animation;
6
- transition: () => {
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
- getStyle: (node: Element, property?: string) => string | CSSStyleDeclaration;
30
- removeStyle: (node: Element, keys: string | string[]) => void;
31
- addStyle: (node: Element, property: string | import("dom-lib/lib/style/addStyle").CSSProperty, value?: string | number) => void;
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
- on: typeof helpers.on;
61
- off: typeof helpers.off;
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;
@@ -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: function isElement(node) {
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,2 @@
1
+ declare const isElement: (node: HTMLElement) => boolean;
2
+ export default isElement;
@@ -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<HTMLElement>) => void;
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<HTMLElement>) => void;
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<HTMLElement>) => void;
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<any>) => void;
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<HTMLElement>) => void;
29
+ onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
30
30
  /** Called after clicking the OK button */
31
- onOk?: (date: ValueType, event: React.SyntheticEvent<HTMLElement>) => void;
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<HTMLElement>) => void;
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<HTMLElement>) => void;
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<HTMLElement>) => void;
35
+ onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
36
36
  }
37
37
  /**
38
38
  * The <Dropdown.Item> API
@@ -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<Element>) => void;
23
- onToggle?: (eventKey: T, event: React.SyntheticEvent<Element>) => void;
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
@@ -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<HTMLElement>) => void;
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 { TypeAttributes, FormControlBaseProps, WithAsProps, RsRefForwardingComponent } from '../@types/common';
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<HTMLElement>): void;
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
- declare const FormControl: RsRefForwardingComponent<'div', FormControlProps>;
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;
@@ -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<string | number | ReadonlyArray<string>> {
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 _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
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 = _DOMHelper.default.on(inputRef.current, 'wheel', handleWheel, {
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 _domLib = require("dom-lib");
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, _domLib.getWidth)(triggerRef.current.root));
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
 
@@ -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 _domLib = require("dom-lib");
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, _domLib.on)(window, 'mousemove', function (mouseOverEvent) {
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, _domLib.on)(window, 'mouseup', function (event) {
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
  * */
@@ -8,7 +8,7 @@ export interface MenuItemProps {
8
8
  /** Render prop */
9
9
  children: (menuitem: React.LiHTMLAttributes<HTMLLIElement> & MenuitemRenderProps, ref: React.Ref<HTMLLIElement>) => React.ReactElement;
10
10
  /** Callback when menuitem is being activated */
11
- onActivate?: (event: React.SyntheticEvent<HTMLElement>) => void;
11
+ onActivate?: (event: React.SyntheticEvent) => void;
12
12
  }
13
13
  export interface MenuitemRenderProps {
14
14
  selected: boolean;
@@ -5,6 +5,6 @@ export interface MenubarProps {
5
5
  /** Render prop */
6
6
  children: (menubar: React.HTMLAttributes<HTMLUListElement>, ref: React.Ref<HTMLUListElement>) => React.ReactElement;
7
7
  /** Callback triggered when an item is being activated */
8
- onActivateItem?: (event: React.SyntheticEvent<HTMLElement>) => void;
8
+ onActivateItem?: (event: React.SyntheticEvent) => void;
9
9
  }
10
10
  export default function Menubar({ vertical, children, onActivateItem }: MenubarProps): JSX.Element;
@@ -50,12 +50,24 @@ var Message = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
50
50
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
51
51
  withClassPrefix = _useClassNames.withClassPrefix,
52
52
  merge = _useClassNames.merge,
53
- prefix = _useClassNames.prefix; // Timed close message
53
+ prefix = _useClassNames.prefix;
54
54
 
55
+ var isMounted = (0, _utils.useIsMounted)(); // Timed close message
55
56
 
56
57
  var _useTimeout = (0, _utils.useTimeout)(onClose, duration, duration > 0),
57
58
  clear = _useTimeout.clear;
58
59
 
60
+ var handleClose = (0, _react.useCallback)(function (event) {
61
+ setDisplay('hiding');
62
+ onClose === null || onClose === void 0 ? void 0 : onClose(event);
63
+ clear();
64
+ setTimeout(function () {
65
+ if (isMounted()) {
66
+ setDisplay('hide');
67
+ }
68
+ }, 1000);
69
+ }, [clear, isMounted, onClose]);
70
+
59
71
  if (display === 'hide') {
60
72
  return null;
61
73
  }
@@ -63,16 +75,6 @@ var Message = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
63
75
  var classes = merge(className, withClassPrefix(type, display, (_withClassPrefix = {
64
76
  full: full
65
77
  }, _withClassPrefix['has-title'] = header, _withClassPrefix['has-icon'] = showIcon, _withClassPrefix)));
66
-
67
- var handleClose = function handleClose(event) {
68
- setDisplay('hiding');
69
- onClose === null || onClose === void 0 ? void 0 : onClose(event);
70
- clear();
71
- setTimeout(function () {
72
- setDisplay('hide');
73
- }, 1000);
74
- };
75
-
76
78
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
77
79
  role: "alert"
78
80
  }, rest, {
@@ -19,6 +19,10 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
 
20
20
  var _pick = _interopRequireDefault(require("lodash/pick"));
21
21
 
22
+ var _on = _interopRequireDefault(require("dom-lib/on"));
23
+
24
+ var _getTransitionEnd = _interopRequireDefault(require("dom-lib/getTransitionEnd"));
25
+
22
26
  var _Modal = _interopRequireWildcard(require("../Overlay/Modal"));
23
27
 
24
28
  var _Bounce = _interopRequireDefault(require("../Animation/Bounce"));
@@ -37,8 +41,6 @@ var _ModalTitle = _interopRequireDefault(require("./ModalTitle"));
37
41
 
38
42
  var _ModalFooter = _interopRequireDefault(require("./ModalFooter"));
39
43
 
40
- var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
41
-
42
44
  var _utils2 = require("./utils");
43
45
 
44
46
  var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
@@ -122,7 +124,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
122
124
  // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.
123
125
  if (backdrop === 'static') {
124
126
  setShake(true);
125
- transitionEndListener.current = _DOMHelper.default.on(dialogRef.current, _DOMHelper.default.animation.events().end, function () {
127
+ transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getTransitionEnd.default)(), function () {
126
128
  setShake(false);
127
129
  });
128
130
  }
@@ -11,7 +11,9 @@ var _react = require("react");
11
11
 
12
12
  var _elementResizeEvent = _interopRequireWildcard(require("element-resize-event"));
13
13
 
14
- var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
14
+ var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
15
+
16
+ var _on = _interopRequireDefault(require("dom-lib/on"));
15
17
 
16
18
  var useBodyStyles = function useBodyStyles(ref, options) {
17
19
  var _useState = (0, _react.useState)({}),
@@ -36,14 +38,14 @@ var useBodyStyles = function useBodyStyles(ref, options) {
36
38
  var footerHeight = 46;
37
39
  var headerDOM = dialog.querySelector("." + prefix('header'));
38
40
  var footerDOM = dialog.querySelector("." + prefix('footer'));
39
- headerHeight = headerDOM ? _DOMHelper.default.getHeight(headerDOM) + headerHeight : headerHeight;
40
- footerHeight = footerDOM ? _DOMHelper.default.getHeight(footerDOM) + footerHeight : footerHeight;
41
+ headerHeight = headerDOM ? (0, _getHeight.default)(headerDOM) + headerHeight : headerHeight;
42
+ footerHeight = footerDOM ? (0, _getHeight.default)(footerDOM) + footerHeight : footerHeight;
41
43
  /**
42
44
  * Header height + Footer height + Dialog margin
43
45
  */
44
46
 
45
47
  var excludeHeight = headerHeight + footerHeight + (entering ? 70 : 60);
46
- var bodyHeight = _DOMHelper.default.getHeight(window) - excludeHeight;
48
+ var bodyHeight = (0, _getHeight.default)(window) - excludeHeight;
47
49
  var maxHeight = scrollHeight >= bodyHeight ? bodyHeight : scrollHeight;
48
50
  styles.maxHeight = maxHeight;
49
51
  }
@@ -65,7 +67,7 @@ var useBodyStyles = function useBodyStyles(ref, options) {
65
67
 
66
68
  updateBodyStyles(null, entering);
67
69
  contentElement.current = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("." + prefix('content'));
68
- windowResizeListener.current = _DOMHelper.default.on(window, 'resize', updateBodyStyles);
70
+ windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);
69
71
  (0, _elementResizeEvent.default)(contentElement.current, updateBodyStyles);
70
72
  }
71
73
  }, [drawer, overflow, prefix, ref, updateBodyStyles]);
@@ -45,8 +45,9 @@ var Notification = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
45
45
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
46
46
  withClassPrefix = _useClassNames.withClassPrefix,
47
47
  merge = _useClassNames.merge,
48
- prefix = _useClassNames.prefix; // Timed close message
48
+ prefix = _useClassNames.prefix;
49
49
 
50
+ var isMounted = (0, _utils.useIsMounted)(); // Timed close message
50
51
 
51
52
  var _useTimeout = (0, _utils.useTimeout)(onClose, duration, duration > 0),
52
53
  clear = _useTimeout.clear; // Click to trigger to close the message
@@ -57,9 +58,11 @@ var Notification = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
57
58
  onClose === null || onClose === void 0 ? void 0 : onClose(event);
58
59
  clear();
59
60
  setTimeout(function () {
60
- setDisplay('hide');
61
+ if (isMounted()) {
62
+ setDisplay('hide');
63
+ }
61
64
  }, 1000);
62
- }, [onClose, clear]);
65
+ }, [onClose, clear, isMounted]);
63
66
  var renderHeader = (0, _react.useCallback)(function () {
64
67
  if (!header) {
65
68
  return null;
@@ -17,7 +17,13 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
- var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
20
+ var _canUseDOM = _interopRequireDefault(require("dom-lib/canUseDOM"));
21
+
22
+ var _contains = _interopRequireDefault(require("dom-lib/contains"));
23
+
24
+ var _getContainer = _interopRequireDefault(require("dom-lib/getContainer"));
25
+
26
+ var _on = _interopRequireDefault(require("dom-lib/on"));
21
27
 
22
28
  var _ModalManager = _interopRequireDefault(require("./ModalManager"));
23
29
 
@@ -121,8 +127,8 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
121
127
  }
122
128
  }, [keyboard, modal, onEscapeKeyUp, onClose]);
123
129
  var checkForFocus = (0, _react.useCallback)(function () {
124
- if (_DOMHelper.default.canUseDOM) {
125
- lastFocus.current = _DOMHelper.default.activeElement();
130
+ if (_canUseDOM.default) {
131
+ lastFocus.current = document.activeElement;
126
132
  }
127
133
  }, []);
128
134
  var restoreLastFocus = (0, _react.useCallback)(function () {
@@ -141,11 +147,10 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
141
147
  return;
142
148
  }
143
149
 
144
- var currentActiveElement = _DOMHelper.default.activeElement();
145
-
150
+ var currentActiveElement = document.activeElement;
146
151
  var dialog = getDialogElement();
147
152
 
148
- if (dialog && dialog !== currentActiveElement && !_DOMHelper.default.contains(dialog, currentActiveElement)) {
153
+ if (dialog && dialog !== currentActiveElement && !(0, _contains.default)(dialog, currentActiveElement)) {
149
154
  dialog.focus();
150
155
  }
151
156
  }, [enforceFocus, getDialogElement, modal]);
@@ -164,12 +169,10 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
164
169
  var docusinListener = (0, _react.useRef)();
165
170
  var handleOpen = (0, _react.useCallback)(function () {
166
171
  var dialog = getDialogElement();
167
-
168
- var containerElement = _DOMHelper.default.getContainer(container, document.body);
169
-
172
+ var containerElement = (0, _getContainer.default)(container, document.body);
170
173
  modal.add(containerElement, containerClassName);
171
- documentKeyupListener.current = _DOMHelper.default.on(document, 'keydown', handleDocumentKeyUp);
172
- docusinListener.current = _DOMHelper.default.on(document, 'focus', handleEnforceFocus, true);
174
+ documentKeyupListener.current = (0, _on.default)(document, 'keydown', handleDocumentKeyUp);
175
+ docusinListener.current = (0, _on.default)(document, 'focus', handleEnforceFocus, true);
173
176
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
174
177
  checkForFocus();
175
178
 
@@ -1,9 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  exports.__esModule = true;
4
6
  exports.default = void 0;
5
7
 
6
- var _domLib = require("dom-lib");
8
+ var _addClass = _interopRequireDefault(require("dom-lib/addClass"));
9
+
10
+ var _removeClass = _interopRequireDefault(require("dom-lib/removeClass"));
11
+
12
+ var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
13
+
14
+ var _getStyle = _interopRequireDefault(require("dom-lib/getStyle"));
15
+
16
+ var _getScrollbarSize = _interopRequireDefault(require("dom-lib/getScrollbarSize"));
17
+
18
+ var _isOverflowing = _interopRequireDefault(require("dom-lib/isOverflowing"));
7
19
 
8
20
  function findIndexOf(arr, cb) {
9
21
  var index = -1;
@@ -65,18 +77,18 @@ var ModalManager = /*#__PURE__*/function () {
65
77
  overflow: container.style.overflow,
66
78
  paddingRight: container.style.paddingRight
67
79
  },
68
- overflowing: (0, _domLib.isOverflowing)(container)
80
+ overflowing: (0, _isOverflowing.default)(container)
69
81
  };
70
82
 
71
83
  if (data.overflowing) {
72
- var paddingRight = parseInt((0, _domLib.getStyle)(container, 'paddingRight') || 0, 10);
73
- var barSize = (0, _domLib.getScrollbarSize)();
74
- (0, _domLib.addStyle)(container, {
84
+ var paddingRight = parseInt((0, _getStyle.default)(container, 'paddingRight') || 0, 10);
85
+ var barSize = (0, _getScrollbarSize.default)();
86
+ (0, _addStyle.default)(container, {
75
87
  paddingRight: (barSize ? paddingRight + barSize : paddingRight) + 'px'
76
88
  });
77
89
  }
78
90
 
79
- data.classes.forEach(_domLib.addClass.bind(null, container));
91
+ data.classes.forEach(_addClass.default.bind(null, container));
80
92
  this.containers.push(container);
81
93
  this.data.push(data);
82
94
  return modalIndex;
@@ -99,7 +111,7 @@ var ModalManager = /*#__PURE__*/function () {
99
111
  Object.keys(data.style).forEach(function (key) {
100
112
  return container.style[key] = data.style[key];
101
113
  });
102
- data.classes.forEach(_domLib.removeClass.bind(null, container));
114
+ data.classes.forEach(_removeClass.default.bind(null, container));
103
115
  this.containers.splice(containerIndex, 1);
104
116
  this.data.splice(containerIndex, 1);
105
117
  }
@@ -19,7 +19,7 @@ var _get = _interopRequireDefault(require("lodash/get"));
19
19
 
20
20
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
21
21
 
22
- var _domLib = require("dom-lib");
22
+ var _contains = _interopRequireDefault(require("dom-lib/contains"));
23
23
 
24
24
  var _Overlay = _interopRequireDefault(require("./Overlay"));
25
25
 
@@ -58,7 +58,7 @@ function onMouseEventHandler(handler, event, delay) {
58
58
  var target = event.currentTarget;
59
59
  var related = event.relatedTarget || (0, _get.default)(event, ['nativeEvent', 'toElement']);
60
60
 
61
- if ((!related || related !== target) && !(0, _domLib.contains)(target, related)) {
61
+ if ((!related || related !== target) && !(0, _contains.default)(target, related)) {
62
62
  handler(event, delay);
63
63
  }
64
64
  }