rsuite 5.0.2 → 5.2.1

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 (252) hide show
  1. package/Button/styles/index.less +1 -1
  2. package/CHANGELOG.md +46 -0
  3. package/MaskedInput/package.json +7 -0
  4. package/Navbar/styles/index.less +8 -0
  5. package/Picker/styles/index.less +1 -1
  6. package/Picker/styles/mixin.less +1 -1
  7. package/README.md +4 -46
  8. package/Sidenav/styles/index.less +17 -16
  9. package/Slider/styles/index.less +20 -14
  10. package/Toggle/styles/index.less +53 -12
  11. package/Toggle/styles/mixin.less +25 -11
  12. package/Uploader/styles/index.less +0 -1
  13. package/cjs/@types/common.d.ts +8 -2
  14. package/cjs/Affix/Affix.js +3 -3
  15. package/cjs/Animation/Collapse.js +9 -7
  16. package/cjs/Animation/Transition.js +4 -2
  17. package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
  18. package/cjs/AutoComplete/AutoComplete.js +7 -4
  19. package/cjs/Calendar/TimeDropdown.js +5 -3
  20. package/cjs/Cascader/Cascader.d.ts +1 -1
  21. package/cjs/Cascader/Cascader.js +1 -0
  22. package/cjs/Cascader/DropdownMenu.js +6 -5
  23. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  24. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  25. package/cjs/CheckTreePicker/utils.d.ts +1 -1
  26. package/cjs/CheckTreePicker/utils.js +7 -6
  27. package/cjs/Checkbox/Checkbox.d.ts +3 -3
  28. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  29. package/cjs/DOMHelper/index.d.ts +13 -28
  30. package/cjs/DOMHelper/index.js +4 -3
  31. package/cjs/DOMHelper/isElement.d.ts +2 -0
  32. package/cjs/DOMHelper/isElement.js +11 -0
  33. package/cjs/DatePicker/DatePicker.d.ts +3 -3
  34. package/cjs/DatePicker/DatePicker.js +4 -2
  35. package/cjs/DateRangePicker/Calendar.d.ts +1 -1
  36. package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
  37. package/cjs/DateRangePicker/DateRangePicker.js +4 -2
  38. package/cjs/Disclosure/Disclosure.d.ts +1 -1
  39. package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
  40. package/cjs/Dropdown/DropdownItem.d.ts +1 -1
  41. package/cjs/Dropdown/DropdownItem.js +21 -18
  42. package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
  43. package/cjs/Dropdown/useRenderDropdownItem.d.ts +2 -0
  44. package/cjs/Dropdown/useRenderDropdownItem.js +26 -0
  45. package/cjs/Form/Form.d.ts +1 -1
  46. package/cjs/FormControl/FormControl.d.ts +9 -3
  47. package/cjs/FormControl/FormControl.js +6 -2
  48. package/cjs/Input/Input.d.ts +2 -1
  49. package/cjs/InputNumber/InputNumber.js +2 -2
  50. package/cjs/InputPicker/InputPicker.js +2 -2
  51. package/cjs/List/helper/useSortHelper.js +11 -6
  52. package/cjs/MaskedInput/MaskedInput.d.ts +43 -0
  53. package/cjs/MaskedInput/MaskedInput.js +80 -0
  54. package/cjs/MaskedInput/adjustCaretPosition.d.ts +11 -0
  55. package/cjs/MaskedInput/adjustCaretPosition.js +218 -0
  56. package/cjs/MaskedInput/conformToMask.d.ts +8 -0
  57. package/cjs/MaskedInput/conformToMask.js +247 -0
  58. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +7 -0
  59. package/cjs/MaskedInput/createTextMaskInputElement.js +226 -0
  60. package/cjs/MaskedInput/index.d.ts +3 -0
  61. package/cjs/MaskedInput/index.js +11 -0
  62. package/cjs/MaskedInput/types.d.ts +10 -0
  63. package/cjs/{@types/icons.js → MaskedInput/types.js} +0 -0
  64. package/cjs/MaskedInput/utilities.d.ts +7 -0
  65. package/cjs/MaskedInput/utilities.js +47 -0
  66. package/cjs/Menu/MenuItem.d.ts +1 -1
  67. package/cjs/Menu/Menubar.d.ts +1 -1
  68. package/cjs/Message/Message.js +13 -11
  69. package/cjs/Modal/Modal.js +5 -3
  70. package/cjs/Modal/utils.js +7 -5
  71. package/cjs/MultiCascader/MultiCascader.js +1 -0
  72. package/cjs/Notification/Notification.js +6 -3
  73. package/cjs/Overlay/Modal.js +14 -11
  74. package/cjs/Overlay/ModalManager.js +19 -7
  75. package/cjs/Overlay/OverlayTrigger.js +2 -2
  76. package/cjs/Overlay/Position.js +20 -13
  77. package/cjs/Overlay/positionUtils.js +16 -8
  78. package/cjs/Panel/Panel.d.ts +1 -1
  79. package/cjs/Picker/DropdownMenu.js +10 -6
  80. package/cjs/Picker/DropdownMenuCheckItem.d.ts +3 -3
  81. package/cjs/Picker/PickerOverlay.js +5 -3
  82. package/cjs/Picker/PickerToggle.d.ts +6 -0
  83. package/cjs/Picker/PickerToggle.js +17 -8
  84. package/cjs/Picker/SearchBar.d.ts +1 -1
  85. package/cjs/Picker/utils.d.ts +2 -2
  86. package/cjs/Picker/utils.js +1 -1
  87. package/cjs/Radio/Radio.d.ts +1 -1
  88. package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
  89. package/cjs/RangeSlider/RangeSlider.js +9 -5
  90. package/cjs/Rate/Character.js +2 -2
  91. package/cjs/Ripple/Ripple.js +6 -7
  92. package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
  93. package/cjs/Sidenav/SidenavDropdownItem.js +17 -10
  94. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  95. package/cjs/Slider/Graduated.js +1 -1
  96. package/cjs/Slider/Handle.js +10 -5
  97. package/cjs/Slider/ProgressBar.js +1 -1
  98. package/cjs/Slider/Slider.js +9 -5
  99. package/cjs/Toggle/Toggle.d.ts +5 -6
  100. package/cjs/Toggle/Toggle.js +42 -19
  101. package/cjs/Tree/Tree.d.ts +3 -3
  102. package/cjs/TreePicker/TreeNode.d.ts +1 -1
  103. package/cjs/TreePicker/TreeNode.js +2 -2
  104. package/cjs/TreePicker/TreePicker.d.ts +1 -1
  105. package/cjs/Uploader/UploadFileItem.d.ts +0 -1
  106. package/cjs/Uploader/UploadFileItem.js +3 -6
  107. package/cjs/Uploader/Uploader.d.ts +4 -4
  108. package/cjs/index.d.ts +2 -0
  109. package/cjs/index.js +5 -1
  110. package/cjs/locales/fa_IR.d.ts +105 -0
  111. package/cjs/locales/fa_IR.js +84 -0
  112. package/cjs/locales/index.d.ts +1 -0
  113. package/cjs/locales/index.js +6 -2
  114. package/cjs/utils/BrowserDetection.js +1 -1
  115. package/cjs/utils/index.d.ts +1 -0
  116. package/cjs/utils/index.js +7 -2
  117. package/cjs/utils/scrollTopAnimation.js +5 -5
  118. package/cjs/utils/treeUtils.d.ts +2 -2
  119. package/cjs/utils/useEventListener.js +4 -2
  120. package/cjs/utils/useIsMounted.d.ts +2 -0
  121. package/cjs/utils/useIsMounted.js +22 -0
  122. package/cjs/utils/usePortal.js +2 -2
  123. package/cjs/utils/useRootClose.js +10 -10
  124. package/dist/rsuite-rtl.css +220 -124
  125. package/dist/rsuite-rtl.min.css +1 -1
  126. package/dist/rsuite-rtl.min.css.map +1 -1
  127. package/dist/rsuite.css +220 -124
  128. package/dist/rsuite.js +780 -504
  129. package/dist/rsuite.js.map +1 -1
  130. package/dist/rsuite.min.css +1 -1
  131. package/dist/rsuite.min.css.map +1 -1
  132. package/dist/rsuite.min.js +1 -1
  133. package/dist/rsuite.min.js.map +1 -1
  134. package/esm/@types/common.d.ts +8 -2
  135. package/esm/Affix/Affix.js +1 -1
  136. package/esm/Animation/Collapse.js +2 -1
  137. package/esm/Animation/Transition.js +3 -2
  138. package/esm/AutoComplete/AutoComplete.d.ts +2 -2
  139. package/esm/AutoComplete/AutoComplete.js +8 -5
  140. package/esm/Calendar/TimeDropdown.js +2 -1
  141. package/esm/Cascader/Cascader.d.ts +1 -1
  142. package/esm/Cascader/Cascader.js +1 -0
  143. package/esm/Cascader/DropdownMenu.js +4 -3
  144. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  145. package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
  146. package/esm/CheckTreePicker/utils.d.ts +1 -1
  147. package/esm/CheckTreePicker/utils.js +7 -6
  148. package/esm/Checkbox/Checkbox.d.ts +3 -3
  149. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
  150. package/esm/DOMHelper/index.d.ts +13 -28
  151. package/esm/DOMHelper/index.js +2 -3
  152. package/esm/DOMHelper/isElement.d.ts +2 -0
  153. package/esm/DOMHelper/isElement.js +5 -0
  154. package/esm/DatePicker/DatePicker.d.ts +3 -3
  155. package/esm/DatePicker/DatePicker.js +4 -2
  156. package/esm/DateRangePicker/Calendar.d.ts +1 -1
  157. package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
  158. package/esm/DateRangePicker/DateRangePicker.js +4 -2
  159. package/esm/Disclosure/Disclosure.d.ts +1 -1
  160. package/esm/Disclosure/DisclosureContext.d.ts +1 -1
  161. package/esm/Dropdown/DropdownItem.d.ts +1 -1
  162. package/esm/Dropdown/DropdownItem.js +20 -18
  163. package/esm/Dropdown/DropdownMenu.d.ts +2 -2
  164. package/esm/Dropdown/useRenderDropdownItem.d.ts +2 -0
  165. package/esm/Dropdown/useRenderDropdownItem.js +18 -0
  166. package/esm/Form/Form.d.ts +1 -1
  167. package/esm/FormControl/FormControl.d.ts +9 -3
  168. package/esm/FormControl/FormControl.js +6 -2
  169. package/esm/Input/Input.d.ts +2 -1
  170. package/esm/InputNumber/InputNumber.js +2 -2
  171. package/esm/InputPicker/InputPicker.js +1 -1
  172. package/esm/List/helper/useSortHelper.js +8 -4
  173. package/esm/MaskedInput/MaskedInput.d.ts +43 -0
  174. package/esm/MaskedInput/MaskedInput.js +67 -0
  175. package/esm/MaskedInput/adjustCaretPosition.d.ts +11 -0
  176. package/esm/MaskedInput/adjustCaretPosition.js +213 -0
  177. package/esm/MaskedInput/conformToMask.d.ts +8 -0
  178. package/esm/MaskedInput/conformToMask.js +239 -0
  179. package/esm/MaskedInput/createTextMaskInputElement.d.ts +7 -0
  180. package/esm/MaskedInput/createTextMaskInputElement.js +212 -0
  181. package/esm/MaskedInput/index.d.ts +3 -0
  182. package/esm/MaskedInput/index.js +2 -0
  183. package/esm/MaskedInput/types.d.ts +10 -0
  184. package/esm/{@types/icons.js → MaskedInput/types.js} +0 -0
  185. package/esm/MaskedInput/utilities.d.ts +7 -0
  186. package/esm/MaskedInput/utilities.js +38 -0
  187. package/esm/Menu/MenuItem.d.ts +1 -1
  188. package/esm/Menu/Menubar.d.ts +1 -1
  189. package/esm/Message/Message.js +15 -13
  190. package/esm/Modal/Modal.js +3 -2
  191. package/esm/Modal/utils.js +6 -5
  192. package/esm/MultiCascader/MultiCascader.js +1 -0
  193. package/esm/Notification/Notification.js +7 -4
  194. package/esm/Overlay/Modal.js +11 -8
  195. package/esm/Overlay/ModalManager.js +6 -1
  196. package/esm/Overlay/OverlayTrigger.js +1 -1
  197. package/esm/Overlay/Position.js +14 -8
  198. package/esm/Overlay/positionUtils.js +6 -2
  199. package/esm/Panel/Panel.d.ts +1 -1
  200. package/esm/Picker/DropdownMenu.js +3 -1
  201. package/esm/Picker/DropdownMenuCheckItem.d.ts +3 -3
  202. package/esm/Picker/PickerOverlay.js +2 -1
  203. package/esm/Picker/PickerToggle.d.ts +6 -0
  204. package/esm/Picker/PickerToggle.js +14 -6
  205. package/esm/Picker/SearchBar.d.ts +1 -1
  206. package/esm/Picker/utils.d.ts +2 -2
  207. package/esm/Picker/utils.js +1 -1
  208. package/esm/Radio/Radio.d.ts +1 -1
  209. package/esm/RadioGroup/RadioGroup.d.ts +1 -1
  210. package/esm/RangeSlider/RangeSlider.js +4 -2
  211. package/esm/Rate/Character.js +2 -2
  212. package/esm/Ripple/Ripple.js +4 -3
  213. package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
  214. package/esm/Sidenav/SidenavDropdownItem.js +16 -10
  215. package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  216. package/esm/Slider/Graduated.js +1 -1
  217. package/esm/Slider/Handle.js +5 -2
  218. package/esm/Slider/ProgressBar.js +1 -1
  219. package/esm/Slider/Slider.js +4 -2
  220. package/esm/Toggle/Toggle.d.ts +5 -6
  221. package/esm/Toggle/Toggle.js +43 -21
  222. package/esm/Tree/Tree.d.ts +3 -3
  223. package/esm/TreePicker/TreeNode.d.ts +1 -1
  224. package/esm/TreePicker/TreeNode.js +1 -1
  225. package/esm/TreePicker/TreePicker.d.ts +1 -1
  226. package/esm/Uploader/UploadFileItem.d.ts +0 -1
  227. package/esm/Uploader/UploadFileItem.js +3 -6
  228. package/esm/Uploader/Uploader.d.ts +4 -4
  229. package/esm/index.d.ts +2 -0
  230. package/esm/index.js +1 -0
  231. package/esm/locales/fa_IR.d.ts +105 -0
  232. package/esm/locales/fa_IR.js +74 -0
  233. package/esm/locales/index.d.ts +1 -0
  234. package/esm/locales/index.js +2 -1
  235. package/esm/utils/BrowserDetection.js +1 -1
  236. package/esm/utils/index.d.ts +1 -0
  237. package/esm/utils/index.js +2 -1
  238. package/esm/utils/scrollTopAnimation.js +2 -2
  239. package/esm/utils/treeUtils.d.ts +2 -2
  240. package/esm/utils/useEventListener.js +1 -1
  241. package/esm/utils/useIsMounted.d.ts +2 -0
  242. package/esm/utils/useIsMounted.js +16 -0
  243. package/esm/utils/usePortal.js +2 -2
  244. package/esm/utils/useRootClose.js +8 -6
  245. package/locales/fa_IR/package.json +7 -0
  246. package/package.json +5 -7
  247. package/styles/color-modes/dark.less +1 -0
  248. package/styles/color-modes/high-contrast.less +1 -0
  249. package/styles/color-modes/light.less +3 -0
  250. package/styles/plugins/palette.js +10 -1
  251. package/cjs/@types/icons.d.ts +0 -1
  252. package/esm/@types/icons.d.ts +0 -1
@@ -1,6 +1,7 @@
1
1
  import { useState, useRef, useCallback, useEffect } from 'react';
2
2
  import bindElementResize, { unbind as unbindElementResize } from 'element-resize-event';
3
- import helper from '../DOMHelper';
3
+ import getHeight from 'dom-lib/getHeight';
4
+ import on from 'dom-lib/on';
4
5
  export var useBodyStyles = function useBodyStyles(ref, options) {
5
6
  var _useState = useState({}),
6
7
  bodyStyles = _useState[0],
@@ -24,14 +25,14 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
24
25
  var footerHeight = 46;
25
26
  var headerDOM = dialog.querySelector("." + prefix('header'));
26
27
  var footerDOM = dialog.querySelector("." + prefix('footer'));
27
- headerHeight = headerDOM ? helper.getHeight(headerDOM) + headerHeight : headerHeight;
28
- footerHeight = footerDOM ? helper.getHeight(footerDOM) + footerHeight : footerHeight;
28
+ headerHeight = headerDOM ? getHeight(headerDOM) + headerHeight : headerHeight;
29
+ footerHeight = footerDOM ? getHeight(footerDOM) + footerHeight : footerHeight;
29
30
  /**
30
31
  * Header height + Footer height + Dialog margin
31
32
  */
32
33
 
33
34
  var excludeHeight = headerHeight + footerHeight + (entering ? 70 : 60);
34
- var bodyHeight = helper.getHeight(window) - excludeHeight;
35
+ var bodyHeight = getHeight(window) - excludeHeight;
35
36
  var maxHeight = scrollHeight >= bodyHeight ? bodyHeight : scrollHeight;
36
37
  styles.maxHeight = maxHeight;
37
38
  }
@@ -53,7 +54,7 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
53
54
 
54
55
  updateBodyStyles(null, entering);
55
56
  contentElement.current = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("." + prefix('content'));
56
- windowResizeListener.current = helper.on(window, 'resize', updateBodyStyles);
57
+ windowResizeListener.current = on(window, 'resize', updateBodyStyles);
57
58
  bindElementResize(contentElement.current, updateBodyStyles);
58
59
  }
59
60
  }, [drawer, overflow, prefix, ref, updateBodyStyles]);
@@ -457,6 +457,7 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
457
457
  classPrefix: classPrefix,
458
458
  hasValue: hasValue,
459
459
  name: 'cascader',
460
+ appearance: appearance,
460
461
  cleanable: cleanable
461
462
  })),
462
463
  classes = _usePickerClassName[0],
@@ -6,7 +6,7 @@ var _templateObject, _templateObject2;
6
6
 
7
7
  import React, { useCallback, useState } from 'react';
8
8
  import PropTypes from 'prop-types';
9
- import { useClassNames, useTimeout, MESSAGE_STATUS_ICONS } from '../utils';
9
+ import { useClassNames, useTimeout, MESSAGE_STATUS_ICONS, useIsMounted } from '../utils';
10
10
  import CloseButton from '../CloseButton';
11
11
  var Notification = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
12
  var _props$as = props.as,
@@ -30,8 +30,9 @@ var Notification = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
30
  var _useClassNames = useClassNames(classPrefix),
31
31
  withClassPrefix = _useClassNames.withClassPrefix,
32
32
  merge = _useClassNames.merge,
33
- prefix = _useClassNames.prefix; // Timed close message
33
+ prefix = _useClassNames.prefix;
34
34
 
35
+ var isMounted = useIsMounted(); // Timed close message
35
36
 
36
37
  var _useTimeout = useTimeout(onClose, duration, duration > 0),
37
38
  clear = _useTimeout.clear; // Click to trigger to close the message
@@ -42,9 +43,11 @@ var Notification = /*#__PURE__*/React.forwardRef(function (props, ref) {
42
43
  onClose === null || onClose === void 0 ? void 0 : onClose(event);
43
44
  clear();
44
45
  setTimeout(function () {
45
- setDisplay('hide');
46
+ if (isMounted()) {
47
+ setDisplay('hide');
48
+ }
46
49
  }, 1000);
47
- }, [onClose, clear]);
50
+ }, [onClose, clear, isMounted]);
48
51
  var renderHeader = useCallback(function () {
49
52
  if (!header) {
50
53
  return null;
@@ -3,7 +3,10 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  import React, { useRef, useEffect, useState, useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import classNames from 'classnames';
6
- import helper from '../DOMHelper';
6
+ import canUseDOM from 'dom-lib/canUseDOM';
7
+ import contains from 'dom-lib/contains';
8
+ import getContainer from 'dom-lib/getContainer';
9
+ import on from 'dom-lib/on';
7
10
  import ModalManager from './ModalManager';
8
11
  import Fade from '../Animation/Fade';
9
12
  import { animationPropTypes } from '../Animation/utils';
@@ -102,8 +105,8 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
102
105
  }
103
106
  }, [keyboard, modal, onEscapeKeyUp, onClose]);
104
107
  var checkForFocus = useCallback(function () {
105
- if (helper.canUseDOM) {
106
- lastFocus.current = helper.activeElement();
108
+ if (canUseDOM) {
109
+ lastFocus.current = document.activeElement;
107
110
  }
108
111
  }, []);
109
112
  var restoreLastFocus = useCallback(function () {
@@ -122,10 +125,10 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
122
125
  return;
123
126
  }
124
127
 
125
- var currentActiveElement = helper.activeElement();
128
+ var currentActiveElement = document.activeElement;
126
129
  var dialog = getDialogElement();
127
130
 
128
- if (dialog && dialog !== currentActiveElement && !helper.contains(dialog, currentActiveElement)) {
131
+ if (dialog && dialog !== currentActiveElement && !contains(dialog, currentActiveElement)) {
129
132
  dialog.focus();
130
133
  }
131
134
  }, [enforceFocus, getDialogElement, modal]);
@@ -144,10 +147,10 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
144
147
  var docusinListener = useRef();
145
148
  var handleOpen = useCallback(function () {
146
149
  var dialog = getDialogElement();
147
- var containerElement = helper.getContainer(container, document.body);
150
+ var containerElement = getContainer(container, document.body);
148
151
  modal.add(containerElement, containerClassName);
149
- documentKeyupListener.current = helper.on(document, 'keydown', handleDocumentKeyUp);
150
- docusinListener.current = helper.on(document, 'focus', handleEnforceFocus, true);
152
+ documentKeyupListener.current = on(document, 'keydown', handleDocumentKeyUp);
153
+ docusinListener.current = on(document, 'focus', handleEnforceFocus, true);
151
154
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
152
155
  checkForFocus();
153
156
 
@@ -1,4 +1,9 @@
1
- import { addClass, removeClass, addStyle, getStyle, getScrollbarSize, isOverflowing } from 'dom-lib';
1
+ import addClass from 'dom-lib/addClass';
2
+ import removeClass from 'dom-lib/removeClass';
3
+ import addStyle from 'dom-lib/addStyle';
4
+ import getStyle from 'dom-lib/getStyle';
5
+ import getScrollbarSize from 'dom-lib/getScrollbarSize';
6
+ import isOverflowing from 'dom-lib/isOverflowing';
2
7
 
3
8
  function findIndexOf(arr, cb) {
4
9
  var index = -1;
@@ -4,7 +4,7 @@ import _isUndefined from "lodash/isUndefined";
4
4
  import React, { useRef, useEffect, useImperativeHandle, useCallback } from 'react';
5
5
  import get from 'lodash/get';
6
6
  import isNil from 'lodash/isNil';
7
- import { contains } from 'dom-lib';
7
+ import contains from 'dom-lib/contains';
8
8
  import Overlay from './Overlay';
9
9
  import { createChainedFunction, usePortal, useControlled } from '../utils';
10
10
  import isOneOf from '../utils/isOneOf';
@@ -2,7 +2,13 @@ import React, { useState, useEffect, useRef, useMemo, useCallback, useImperative
2
2
  import bindElementResize from 'element-resize-event';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
5
- import helper from '../DOMHelper';
5
+ import getContainer from 'dom-lib/getContainer';
6
+ import ownerDocument from 'dom-lib/ownerDocument';
7
+ import removeClass from 'dom-lib/removeClass';
8
+ import on from 'dom-lib/on';
9
+ import addClass from 'dom-lib/addClass';
10
+ import addStyle from 'dom-lib/addStyle';
11
+ import isElement from '../DOMHelper/isElement';
6
12
  import positionUtils from './positionUtils';
7
13
  import { getDOMNode } from '../utils';
8
14
  import { useUpdateEffect } from '../utils';
@@ -52,7 +58,7 @@ var usePosition = function usePosition(props, ref) {
52
58
 
53
59
  var targetElement = getDOMNode(triggerTarget);
54
60
 
55
- if (!helper.isElement(targetElement)) {
61
+ if (!isElement(targetElement)) {
56
62
  throw new Error('`target` should return an HTMLElement');
57
63
  } // If the target and placement do not change, the position is not updated.
58
64
 
@@ -62,16 +68,16 @@ var usePosition = function usePosition(props, ref) {
62
68
  }
63
69
 
64
70
  var overlay = getDOMNode(ref.current);
65
- var containerElement = helper.getContainer(typeof container === 'function' ? container() : container, helper.ownerDocument(ref.current).body);
71
+ var containerElement = getContainer(typeof container === 'function' ? container() : container, ownerDocument(ref.current).body);
66
72
  var posi = utils.calcOverlayPosition(overlay, targetElement, containerElement);
67
73
 
68
74
  if (forceUpdateDOM && overlay) {
69
75
  var _overlay$className, _overlay$className$ma;
70
76
 
71
77
  var preClassName = overlay === null || overlay === void 0 ? void 0 : (_overlay$className = overlay.className) === null || _overlay$className === void 0 ? void 0 : (_overlay$className$ma = _overlay$className.match(/(placement-\S+)/)) === null || _overlay$className$ma === void 0 ? void 0 : _overlay$className$ma[0];
72
- helper.removeClass(overlay, preClassName);
73
- helper.addClass(overlay, posi.positionClassName);
74
- helper.addStyle(overlay, {
78
+ removeClass(overlay, preClassName);
79
+ addClass(overlay, posi.positionClassName);
80
+ addStyle(overlay, {
75
81
  left: posi.positionLeft + "px",
76
82
  top: posi.positionTop + "px"
77
83
  });
@@ -91,13 +97,13 @@ var usePosition = function usePosition(props, ref) {
91
97
  var _containerRef$current;
92
98
 
93
99
  // Update the overlay position when the container scroll bar is scrolling
94
- containerScrollListener = helper.on(((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.tagName) === 'BODY' ? window : containerRef.current, 'scroll', function () {
100
+ containerScrollListener = on(((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.tagName) === 'BODY' ? window : containerRef.current, 'scroll', function () {
95
101
  return updatePosition(true, true);
96
102
  });
97
103
  } // Update the position when the window size changes
98
104
 
99
105
 
100
- var resizeListener = helper.on(window, 'resize', function () {
106
+ var resizeListener = on(window, 'resize', function () {
101
107
  return updatePosition(true, true);
102
108
  });
103
109
 
@@ -1,7 +1,11 @@
1
1
  import maxBy from 'lodash/maxBy';
2
2
  import minBy from 'lodash/minBy';
3
3
  import kebabCase from 'lodash/kebabCase';
4
- import { ownerDocument, getOffset, getPosition as _getPosition, scrollTop, scrollLeft } from 'dom-lib';
4
+ import ownerDocument from 'dom-lib/ownerDocument';
5
+ import getOffset from 'dom-lib/getOffset';
6
+ import scrollTop from 'dom-lib/scrollTop';
7
+ import scrollLeft from 'dom-lib/scrollLeft';
8
+ import _getPosition from 'dom-lib/getPosition';
5
9
  export var AutoPlacement = {
6
10
  left: 'Start',
7
11
  right: 'End',
@@ -123,7 +127,7 @@ export default (function (props) {
123
127
 
124
128
  return {
125
129
  getPosition: function getPosition(target, container) {
126
- var offset = container.tagName === 'BODY' ? getOffset(target) : _getPosition(target, container);
130
+ var offset = container.tagName === 'BODY' ? getOffset(target) : _getPosition(target, container, false);
127
131
  return offset;
128
132
  },
129
133
  calcAutoPlacement: function calcAutoPlacement(targetOffset, container, overlay) {
@@ -24,7 +24,7 @@ export interface PanelProps<T = string | number> extends WithAsProps, AnimationE
24
24
  /** Role of Panel */
25
25
  panelRole?: string;
26
26
  /** callback function for the panel clicked */
27
- onSelect?: (eventKey: T, event: React.SyntheticEvent<any>) => void;
27
+ onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
28
28
  }
29
29
  declare const Panel: RsRefForwardingComponent<'div', PanelProps>;
30
30
  export default Panel;
@@ -9,7 +9,9 @@ import isUndefined from 'lodash/isUndefined';
9
9
  import isString from 'lodash/isString';
10
10
  import isNumber from 'lodash/isNumber';
11
11
  import findIndex from 'lodash/findIndex';
12
- import { getPosition, scrollTop, getHeight } from 'dom-lib';
12
+ import getPosition from 'dom-lib/getPosition';
13
+ import scrollTop from 'dom-lib/scrollTop';
14
+ import getHeight from 'dom-lib/getHeight';
13
15
  import classNames from 'classnames';
14
16
  import { List, AutoSizer } from './VirtualizedList';
15
17
  import shallowEqual from '../utils/shallowEqual';
@@ -12,9 +12,9 @@ export interface DropdownMenuCheckItemProps extends WithAsProps {
12
12
  title?: string;
13
13
  className?: string;
14
14
  children?: React.ReactNode;
15
- onSelect?: (value: any, event: React.SyntheticEvent<HTMLElement>, checked: boolean) => void;
16
- onCheck?: (value: any, event: React.SyntheticEvent<HTMLElement>, checked: boolean) => void;
17
- onSelectItem?: (value: any, event: React.SyntheticEvent<HTMLElement>, checked: boolean) => void;
15
+ onSelect?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
16
+ onCheck?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
17
+ onSelectItem?: (value: any, event: React.SyntheticEvent, checked: boolean) => void;
18
18
  onKeyDown?: (event: React.KeyboardEvent) => void;
19
19
  }
20
20
  declare const DropdownMenuCheckItem: RsRefForwardingComponent<'div', DropdownMenuCheckItemProps>;
@@ -2,7 +2,8 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useRef, useCallback, useEffect } from 'react';
4
4
  import omit from 'lodash/omit';
5
- import { addStyle, getWidth } from 'dom-lib';
5
+ import addStyle from 'dom-lib/addStyle';
6
+ import getWidth from 'dom-lib/getWidth';
6
7
  import { getDOMNode, mergeRefs, useElementResize, useClassNames } from '../utils';
7
8
  var omitProps = ['placement', 'arrowOffsetLeft', 'arrowOffsetTop', 'positionLeft', 'positionTop', 'getPositionInstance', 'getToggleInstance', 'autoWidth'];
8
9
  var resizePlacement = ['topStart', 'topEnd', 'leftEnd', 'rightEnd', 'auto', 'autoVerticalStart', 'autoVerticalEnd', 'autoHorizontalEnd'];
@@ -23,7 +23,13 @@ export interface PickerToggleProps extends ToggleButtonProps {
23
23
  onInputBlur?: (event: React.FocusEvent<HTMLElement>) => void;
24
24
  onInputFocus?: (event: React.FocusEvent<HTMLElement>) => void;
25
25
  placement?: TypeAttributes.Placement;
26
+ /**
27
+ * Custom caret component
28
+ * @deprecated Use `caretAs` instead
29
+ */
26
30
  caretComponent?: React.FC<IconProps>;
31
+ /** Custom caret component */
32
+ caretAs?: React.ElementType;
27
33
  onClean?: (event: React.MouseEvent) => void;
28
34
  }
29
35
  declare const PickerToggle: RsRefForwardingComponent<typeof ToggleButton, PickerToggleProps>;
@@ -7,12 +7,13 @@ var _templateObject, _templateObject2;
7
7
  import React, { useState, useCallback, useEffect, useRef } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import debounce from 'lodash/debounce';
10
- import MaskedInput from 'react-text-mask';
11
10
  import ToggleButton from './ToggleButton';
12
11
  import CloseButton from '../CloseButton';
13
12
  import { useClassNames, KEY_VALUES, mergeRefs } from '../utils';
14
13
  import Plaintext from '../Plaintext';
15
14
  import useToggleCaret from '../utils/useToggleCaret';
15
+ import MaskedInput from '../MaskedInput';
16
+ import deprecatePropType from '../utils/deprecatePropType';
16
17
  var defaultInputMask = [];
17
18
  var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
18
19
  var activeProp = props.active,
@@ -47,7 +48,9 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
47
48
  onBlur = props.onBlur,
48
49
  placement = props.placement,
49
50
  caretComponent = props.caretComponent,
50
- rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "cleanable", "tabIndex", "id", "value", "input", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent"]);
51
+ _props$caretAs = props.caretAs,
52
+ caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
53
+ rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "cleanable", "tabIndex", "id", "value", "input", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs"]);
51
54
 
52
55
  var inputRef = useRef();
53
56
 
@@ -117,7 +120,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
117
120
  }
118
121
  }, [onInputPressEnter, input]);
119
122
  var ToggleCaret = useToggleCaret(placement);
120
- var Caret = caretComponent !== null && caretComponent !== void 0 ? caretComponent : ToggleCaret;
123
+ var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;
121
124
 
122
125
  if (plaintext) {
123
126
  return /*#__PURE__*/React.createElement(Plaintext, {
@@ -126,7 +129,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
126
129
  }, hasValue ? children : null);
127
130
  }
128
131
 
129
- var cleanable = cleanableProp && hasValue && !readOnly; // When the component is read-only or disabled, the input is not interactive.
132
+ var showCleanButton = cleanableProp && hasValue && !readOnly; // When the component is read-only or disabled, the input is not interactive.
130
133
 
131
134
  var inputFocused = readOnly || disabled ? false : input && activeState;
132
135
  return /*#__PURE__*/React.createElement(Component, _extends({
@@ -168,9 +171,12 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
168
171
  }), children ? /*#__PURE__*/React.createElement("span", {
169
172
  className: prefix(hasValue ? 'value' : 'placeholder'),
170
173
  "aria-placeholder": typeof children === 'string' ? children : null
171
- }, children) : null, cleanable && /*#__PURE__*/React.createElement(CloseButton, {
174
+ }, children) : null, showCleanButton && /*#__PURE__*/React.createElement(CloseButton, {
172
175
  className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["clean"]))),
173
176
  tabIndex: -1,
177
+ locale: {
178
+ closeLabel: 'Clear'
179
+ },
174
180
  onClick: handleClean
175
181
  }), caret && /*#__PURE__*/React.createElement(Caret, {
176
182
  className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["caret"])))
@@ -189,6 +195,8 @@ PickerToggle.propTypes = {
189
195
  active: PropTypes.bool,
190
196
  readOnly: PropTypes.bool,
191
197
  disabled: PropTypes.bool,
192
- plaintext: PropTypes.bool
198
+ plaintext: PropTypes.bool,
199
+ caretComponent: deprecatePropType(PropTypes.elementType, 'Use `caretAs` instead.'),
200
+ caretAs: PropTypes.elementType
193
201
  };
194
202
  export default PickerToggle;
@@ -5,7 +5,7 @@ export interface SearchBarProps extends WithAsProps {
5
5
  placeholder?: string;
6
6
  className?: string;
7
7
  inputRef?: React.Ref<HTMLInputElement>;
8
- onChange?: (value: string, event: React.SyntheticEvent<HTMLElement>) => void;
8
+ onChange?: (value: string, event: React.SyntheticEvent) => void;
9
9
  }
10
10
  declare const SearchBar: RsRefForwardingComponent<'div', SearchBarProps>;
11
11
  export default SearchBar;
@@ -89,7 +89,7 @@ interface SearchProps {
89
89
  labelKey: string;
90
90
  data: ItemDataType[];
91
91
  searchBy: (keyword: any, label: any, item: any) => boolean;
92
- callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent<any>) => void;
92
+ callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent) => void;
93
93
  }
94
94
  /**
95
95
  * A hook that handles search filter options
@@ -101,7 +101,7 @@ export declare function useSearch(props: SearchProps): {
101
101
  updateFilteredData: (nextData: ItemDataType[]) => void;
102
102
  setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
103
103
  checkShouldDisplay: (item: ItemDataType, keyword?: string) => boolean;
104
- handleSearch: (searchKeyword: string, event: React.SyntheticEvent<any>) => void;
104
+ handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
105
105
  };
106
106
  interface Refs {
107
107
  triggerRef?: React.RefObject<OverlayTriggerInstance>;
@@ -72,7 +72,7 @@ export function usePickerClassName(props) {
72
72
  withClassPrefix = _useClassNames.withClassPrefix,
73
73
  merge = _useClassNames.merge;
74
74
 
75
- var classes = merge(className, withClassPrefix(name, appearance, 'toggle-wrapper', (_withClassPrefix = {}, _withClassPrefix["placement-" + kebabCase(placementPolyfill(placement))] = placement, _withClassPrefix['read-only'] = readOnly, _withClassPrefix['has-value'] = hasValue, _withClassPrefix.cleanable = hasValue && cleanable, _withClassPrefix.block = block, _withClassPrefix.disabled = disabled, _withClassPrefix.countable = countable, _withClassPrefix.plaintext = plaintext, _withClassPrefix)));
75
+ var classes = merge(className, withClassPrefix(name, appearance, 'toggle-wrapper', (_withClassPrefix = {}, _withClassPrefix["placement-" + kebabCase(placementPolyfill(placement))] = placement, _withClassPrefix['read-only'] = readOnly, _withClassPrefix['has-value'] = hasValue, _withClassPrefix.cleanable = cleanable, _withClassPrefix.block = block, _withClassPrefix.disabled = disabled, _withClassPrefix.countable = countable, _withClassPrefix.plaintext = plaintext, _withClassPrefix)));
76
76
  var usedClassNamePropKeys = Object.keys(omit(props, [].concat(Object.keys(rest || {}), ['disabled', 'readOnly', 'plaintext'])));
77
77
  return [classes, usedClassNamePropKeys];
78
78
  }
@@ -27,7 +27,7 @@ export interface RadioProps<T = ValueType> extends WithAsProps, Omit<React.HTMLA
27
27
  /** Primary content */
28
28
  children?: React.ReactNode;
29
29
  /** Callback function with value changed */
30
- onChange?: (value: T, checked: boolean, event: React.SyntheticEvent<HTMLInputElement>) => void;
30
+ onChange?: (value: T, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
31
31
  }
32
32
  declare const Radio: React.ForwardRefExoticComponent<RadioProps<ValueType> & React.RefAttributes<unknown>>;
33
33
  export default Radio;
@@ -9,7 +9,7 @@ export interface RadioContextProps {
9
9
  disabled?: boolean;
10
10
  readOnly?: boolean;
11
11
  plaintext?: boolean;
12
- onChange?: (value: ValueType, event: React.SyntheticEvent<HTMLInputElement>) => void;
12
+ onChange?: (value: ValueType, event: React.ChangeEvent<HTMLInputElement>) => void;
13
13
  }
14
14
  export interface RadioGroupProps<T = ValueType> extends WithAsProps, FormControlBaseProps<T> {
15
15
  /** A radio group can have different appearances */
@@ -2,7 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useMemo, useRef, useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { getWidth, getHeight, getOffset } from 'dom-lib';
5
+ import getWidth from 'dom-lib/getWidth';
6
+ import getHeight from 'dom-lib/getHeight';
7
+ import getOffset from 'dom-lib/getOffset';
6
8
  import { useClassNames, useCustom, useControlled, useEventCallback } from '../utils';
7
9
  import { sliderPropTypes } from '../Slider/Slider';
8
10
  import ProgressBar from '../Slider/ProgressBar';
@@ -114,7 +116,7 @@ var RangeSlider = /*#__PURE__*/React.forwardRef(function (props, ref) {
114
116
  }, [count, getBarHeight, getBarWidth, step, vertical]);
115
117
  var getValueByPosition = useCallback(function (event) {
116
118
  var barOffset = getOffset(barRef.current);
117
- var offset = vertical ? event.pageY - barOffset.top : event.pageX - barOffset.left;
119
+ var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;
118
120
  var val = rtl && !vertical ? barOffset.width - offset : offset;
119
121
  return getValueByOffset(val) + min;
120
122
  }, [getValueByOffset, min, rtl, vertical]);
@@ -5,12 +5,12 @@ var _characterStatus;
5
5
 
6
6
  import React, { useCallback, useRef } from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import helper from '../DOMHelper';
8
+ import contains from 'dom-lib/contains';
9
9
  import { useClassNames } from '../utils';
10
10
  var characterStatus = (_characterStatus = {}, _characterStatus[0] = 'empty', _characterStatus[0.5] = 'half', _characterStatus[1] = 'full', _characterStatus);
11
11
 
12
12
  var getKey = function getKey(a, b) {
13
- return helper.contains(a, b) ? 'before' : 'after';
13
+ return contains(a, b) ? 'before' : 'after';
14
14
  };
15
15
 
16
16
  var Character = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -2,12 +2,13 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useRef, useState, useEffect, useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
+ import getOffset from 'dom-lib/getOffset';
6
+ import on from 'dom-lib/on';
5
7
  import Transition from '../Animation/Transition';
6
- import helper from '../DOMHelper';
7
8
  import { mergeRefs, useClassNames } from '../utils';
8
9
 
9
10
  var getPosition = function getPosition(target, event) {
10
- var offset = helper.getOffset(target);
11
+ var offset = getOffset(target);
11
12
  var offsetX = (event.pageX || 0) - offset.left;
12
13
  var offsetY = (event.pageY || 0) - offset.top;
13
14
  var radiusX = Math.max(offset.width - offsetX, offsetX);
@@ -58,7 +59,7 @@ var Ripple = /*#__PURE__*/React.forwardRef(function (props, ref) {
58
59
  }, [onMouseDown]);
59
60
  useEffect(function () {
60
61
  var parentNode = triggerRef.current.parentNode;
61
- var mousedownListener = helper.on(parentNode, 'mousedown', handleMouseDown);
62
+ var mousedownListener = on(parentNode, 'mousedown', handleMouseDown);
62
63
  return function () {
63
64
  mousedownListener === null || mousedownListener === void 0 ? void 0 : mousedownListener.off();
64
65
  };
@@ -23,7 +23,7 @@ export interface SidenavDropdownItemProps<T = any> extends WithAsProps, Omit<Rea
23
23
  /** Whether the submenu is expanded, used in Sidenav. */
24
24
  expanded?: boolean;
25
25
  /** Select the callback function for the current option */
26
- onSelect?: (eventKey: T, event: React.SyntheticEvent<HTMLElement>) => void;
26
+ onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
27
27
  }
28
28
  /**
29
29
  * Tree View Node
@@ -9,6 +9,7 @@ import Ripple from '../Ripple';
9
9
  import SafeAnchor from '../SafeAnchor';
10
10
  import NavContext from '../Nav/NavContext';
11
11
  import DropdownContext from '../Dropdown/DropdownContext';
12
+ import { useRenderDropdownItem } from '../Dropdown/useRenderDropdownItem';
12
13
 
13
14
  /**
14
15
  * Tree View Node
@@ -59,34 +60,39 @@ var SidenavDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
59
60
  var menuitemEventHandlers = {
60
61
  onClick: createChainedFunction(handleClick, onClick)
61
62
  };
63
+ var renderDropdownItem = useRenderDropdownItem(Component);
62
64
 
63
65
  if (divider) {
64
- return /*#__PURE__*/React.createElement(Component, _extends({
66
+ return renderDropdownItem(_extends({
65
67
  ref: ref,
66
- role: "separator",
68
+ role: 'separator',
67
69
  style: style,
68
70
  className: merge(prefix('divider'), className)
69
71
  }, rest));
70
72
  }
71
73
 
72
74
  if (panel) {
73
- return /*#__PURE__*/React.createElement(Component, _extends({
75
+ return renderDropdownItem(_extends({
74
76
  ref: ref,
75
- role: "none presentation",
77
+ role: 'none presentation',
76
78
  style: style,
77
79
  className: merge(prefix('panel'), className)
78
- }, rest), children);
80
+ }, rest, {
81
+ children: children
82
+ }));
79
83
  }
80
84
 
81
- return /*#__PURE__*/React.createElement(SafeAnchor, _extends({
85
+ return renderDropdownItem(_extends({
82
86
  ref: ref
83
87
  }, rest, {
84
88
  style: style,
85
89
  className: classes,
86
- "aria-current": selected || undefined
87
- }, menuitemEventHandlers), icon && /*#__PURE__*/React.cloneElement(icon, {
88
- className: prefix('menu-icon')
89
- }), children, /*#__PURE__*/React.createElement(Ripple, null));
90
+ 'aria-current': selected || undefined
91
+ }, menuitemEventHandlers, {
92
+ children: /*#__PURE__*/React.createElement(React.Fragment, null, icon && /*#__PURE__*/React.cloneElement(icon, {
93
+ className: prefix('menu-icon')
94
+ }), children, /*#__PURE__*/React.createElement(Ripple, null))
95
+ }), SafeAnchor);
90
96
  });
91
97
  SidenavDropdownItem.displayName = 'Sidenav.Dropdown.Item';
92
98
  SidenavDropdownItem.propTypes = {
@@ -15,7 +15,7 @@ export interface SidenavDropdownMenuProps<T = any> extends WithAsProps, Omit<Rea
15
15
  /** Whether the submenu is expanded, used in Sidenav. */
16
16
  expanded?: boolean;
17
17
  /** Select the callback function for the current option */
18
- onSelect?: (eventKey: T, event: React.SyntheticEvent<HTMLElement>) => void;
18
+ onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
19
19
  title?: React.ReactNode;
20
20
  }
21
21
  /**
@@ -65,7 +65,7 @@ var Graduated = /*#__PURE__*/React.forwardRef(function (props, ref) {
65
65
  return /*#__PURE__*/React.createElement(Component, {
66
66
  ref: ref,
67
67
  className: classes
68
- }, /*#__PURE__*/React.createElement("ul", null, graduatedItems));
68
+ }, /*#__PURE__*/React.createElement("ol", null, graduatedItems));
69
69
  });
70
70
  Graduated.displayName = 'Graduated';
71
71
  Graduated.propTypes = {
@@ -2,7 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useState, useRef, useEffect, useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { DOMMouseMoveTracker, addStyle, getWidth } from 'dom-lib';
5
+ import DOMMouseMoveTracker from 'dom-lib/DOMMouseMoveTracker';
6
+ import addStyle from 'dom-lib/addStyle';
7
+ import getWidth from 'dom-lib/getWidth';
6
8
  import Tooltip from '../Tooltip';
7
9
  import { useClassNames, mergeRefs } from '../utils';
8
10
  import Input from './Input';
@@ -39,7 +41,7 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
39
41
 
40
42
  var rootRef = useRef();
41
43
  var horizontalKey = rtl ? 'right' : 'left';
42
- var direction = vertical ? 'top' : horizontalKey;
44
+ var direction = vertical ? 'bottom' : horizontalKey;
43
45
 
44
46
  var styles = _extends({}, style, (_extends2 = {}, _extends2[direction] = position + "%", _extends2));
45
47
 
@@ -119,6 +121,7 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
119
121
  ref: tooltipRef,
120
122
  className: merge(prefix('tooltip'), 'placement-top')
121
123
  }, renderTooltip ? renderTooltip(value) : value), /*#__PURE__*/React.createElement(Input, _extends({
124
+ tabIndex: -1,
122
125
  value: value
123
126
  }, rest)), children);
124
127
  });
@@ -24,7 +24,7 @@ var ProgressBar = /*#__PURE__*/React.forwardRef(function (props, ref) {
24
24
 
25
25
  var sizeKey = vertical ? 'height' : 'width';
26
26
  var dirKey = rtl ? 'right' : 'left';
27
- var startKey = vertical ? 'top' : dirKey;
27
+ var startKey = vertical ? 'bottom' : dirKey;
28
28
 
29
29
  var styles = _extends({}, style, (_extends2 = {}, _extends2[startKey] = start + "%", _extends2[sizeKey] = end - start + "%", _extends2));
30
30