rsuite 5.2.4 → 5.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/Avatar/styles/index.less +2 -2
  2. package/AvatarGroup/package.json +7 -0
  3. package/AvatarGroup/styles/index.less +19 -0
  4. package/ButtonGroup/styles/index.less +0 -18
  5. package/CHANGELOG.md +61 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/Dropdown/styles/index.less +4 -3
  8. package/Modal/styles/index.less +23 -22
  9. package/Nav/styles/index.less +1 -0
  10. package/Navbar/styles/index.less +19 -5
  11. package/Radio/styles/index.less +6 -0
  12. package/Sidenav/styles/index.less +2 -2
  13. package/Stack/package.json +7 -0
  14. package/Stack/styles/index.less +5 -0
  15. package/TreePicker/styles/index.less +10 -14
  16. package/cjs/@types/common.d.ts +13 -12
  17. package/cjs/@types/utils.d.ts +12 -0
  18. package/cjs/Affix/Affix.js +8 -6
  19. package/cjs/Animation/Transition.d.ts +21 -12
  20. package/cjs/Animation/Transition.js +4 -1
  21. package/cjs/AutoComplete/AutoComplete.js +1 -1
  22. package/cjs/AutoComplete/utils.d.ts +1 -1
  23. package/cjs/Avatar/Avatar.js +10 -3
  24. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  25. package/cjs/AvatarGroup/AvatarGroup.js +76 -0
  26. package/cjs/AvatarGroup/index.d.ts +3 -0
  27. package/cjs/AvatarGroup/index.js +11 -0
  28. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  29. package/cjs/Button/Button.js +8 -2
  30. package/cjs/ButtonGroup/ButtonGroup.js +14 -3
  31. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  32. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  33. package/cjs/ButtonGroup/index.d.ts +2 -0
  34. package/cjs/ButtonGroup/index.js +3 -0
  35. package/cjs/Calendar/Calendar.d.ts +4 -4
  36. package/cjs/Calendar/Calendar.js +26 -22
  37. package/cjs/Calendar/CalendarContext.js +1 -1
  38. package/cjs/Calendar/Header.js +1 -3
  39. package/cjs/Calendar/Table.js +1 -1
  40. package/cjs/Calendar/TableRow.js +13 -8
  41. package/cjs/Calendar/TimeDropdown.js +6 -5
  42. package/cjs/Calendar/View.js +9 -5
  43. package/cjs/Calendar/types.d.ts +2 -2
  44. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  45. package/cjs/Carousel/Carousel.d.ts +1 -1
  46. package/cjs/Carousel/Carousel.js +1 -1
  47. package/cjs/Cascader/Cascader.d.ts +1 -1
  48. package/cjs/Cascader/Cascader.js +10 -10
  49. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  50. package/cjs/Cascader/utils.d.ts +10 -10
  51. package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
  52. package/cjs/CheckPicker/CheckPicker.js +4 -4
  53. package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  54. package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
  55. package/cjs/CheckTree/index.js +6 -5
  56. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  57. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  58. package/cjs/CheckTreePicker/CheckTreePicker.js +29 -25
  59. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  60. package/cjs/CheckTreePicker/utils.js +12 -10
  61. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  62. package/cjs/Container/Container.js +6 -3
  63. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  64. package/cjs/DOMHelper/index.d.ts +12 -12
  65. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  66. package/cjs/DatePicker/DatePicker.js +19 -11
  67. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  68. package/cjs/DatePicker/Toolbar.js +6 -8
  69. package/cjs/DatePicker/types.d.ts +4 -4
  70. package/cjs/DatePicker/utils.d.ts +4 -3
  71. package/cjs/DateRangePicker/Calendar.d.ts +8 -7
  72. package/cjs/DateRangePicker/Calendar.js +1 -1
  73. package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
  74. package/cjs/DateRangePicker/DateRangePicker.js +112 -111
  75. package/cjs/DateRangePicker/types.d.ts +2 -1
  76. package/cjs/DateRangePicker/utils.d.ts +6 -6
  77. package/cjs/DateRangePicker/utils.js +7 -2
  78. package/cjs/Disclosure/Disclosure.d.ts +8 -5
  79. package/cjs/Disclosure/Disclosure.js +55 -13
  80. package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
  81. package/cjs/Disclosure/DisclosureButton.js +9 -7
  82. package/cjs/Disclosure/DisclosureContent.js +4 -6
  83. package/cjs/Disclosure/DisclosureContext.d.ts +8 -3
  84. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  85. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  86. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  87. package/cjs/Dropdown/Dropdown.js +1 -1
  88. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  89. package/cjs/Dropdown/DropdownItem.js +10 -11
  90. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  91. package/cjs/Dropdown/DropdownMenu.js +81 -23
  92. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  93. package/cjs/Dropdown/DropdownToggle.js +10 -2
  94. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  95. package/cjs/Form/Form.js +1 -1
  96. package/cjs/Form/FormContext.d.ts +1 -1
  97. package/cjs/FormControl/FormControl.d.ts +1 -1
  98. package/cjs/FormControl/FormControl.js +5 -4
  99. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  100. package/cjs/FormGroup/FormGroup.js +9 -4
  101. package/cjs/Input/Input.d.ts +3 -2
  102. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  103. package/cjs/InputNumber/InputNumber.js +6 -2
  104. package/cjs/InputPicker/InputAutosize.js +4 -4
  105. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  106. package/cjs/InputPicker/InputPicker.js +15 -10
  107. package/cjs/List/ListContext.d.ts +1 -1
  108. package/cjs/List/ListContext.js +8 -1
  109. package/cjs/List/helper/AutoScroller.js +4 -2
  110. package/cjs/List/helper/useManager.d.ts +3 -3
  111. package/cjs/List/helper/useManager.js +1 -1
  112. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  113. package/cjs/List/helper/useSortHelper.js +6 -4
  114. package/cjs/List/helper/utils.d.ts +2 -2
  115. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  116. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  117. package/cjs/MaskedInput/conformToMask.js +5 -4
  118. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  119. package/cjs/MaskedInput/utilities.d.ts +1 -1
  120. package/cjs/Menu/Menu.js +14 -7
  121. package/cjs/Menu/MenuContext.d.ts +1 -1
  122. package/cjs/Menu/MenuItem.d.ts +1 -1
  123. package/cjs/Menu/MenuItem.js +19 -15
  124. package/cjs/Menu/Menubar.js +8 -8
  125. package/cjs/Menu/useMenu.js +17 -7
  126. package/cjs/Modal/Modal.js +39 -21
  127. package/cjs/Modal/ModalContext.d.ts +2 -2
  128. package/cjs/Modal/utils.d.ts +1 -1
  129. package/cjs/Modal/utils.js +3 -5
  130. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  131. package/cjs/MultiCascader/MultiCascader.js +6 -6
  132. package/cjs/MultiCascader/utils.d.ts +17 -17
  133. package/cjs/Nav/Nav.d.ts +1 -1
  134. package/cjs/Nav/Nav.js +10 -12
  135. package/cjs/Nav/NavContext.d.ts +7 -1
  136. package/cjs/Nav/NavContext.js +1 -0
  137. package/cjs/Nav/NavItem.d.ts +1 -1
  138. package/cjs/Navbar/Navbar.js +1 -1
  139. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  140. package/cjs/Navbar/index.d.ts +1 -0
  141. package/cjs/Navbar/index.js +4 -3
  142. package/cjs/Overlay/Modal.d.ts +2 -2
  143. package/cjs/Overlay/Modal.js +71 -63
  144. package/cjs/Overlay/ModalManager.d.ts +17 -8
  145. package/cjs/Overlay/ModalManager.js +11 -20
  146. package/cjs/Overlay/Overlay.d.ts +3 -3
  147. package/cjs/Overlay/Overlay.js +8 -2
  148. package/cjs/Overlay/OverlayContext.d.ts +6 -0
  149. package/cjs/Overlay/OverlayContext.js +14 -0
  150. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  151. package/cjs/Overlay/OverlayTrigger.js +21 -7
  152. package/cjs/Overlay/Position.d.ts +4 -4
  153. package/cjs/Overlay/Position.js +14 -8
  154. package/cjs/Overlay/positionUtils.d.ts +1 -1
  155. package/cjs/Overlay/positionUtils.js +8 -8
  156. package/cjs/Pagination/Pagination.d.ts +1 -1
  157. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  158. package/cjs/Pagination/PaginationGroup.js +5 -3
  159. package/cjs/Panel/Panel.d.ts +1 -1
  160. package/cjs/Panel/Panel.js +2 -2
  161. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  162. package/cjs/PanelGroup/PanelGroup.js +8 -5
  163. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  164. package/cjs/Picker/DropdownMenu.js +5 -5
  165. package/cjs/Picker/PickerOverlay.js +4 -3
  166. package/cjs/Picker/PickerToggle.js +4 -3
  167. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  168. package/cjs/Picker/SearchBar.d.ts +1 -1
  169. package/cjs/Picker/SelectedElement.js +2 -1
  170. package/cjs/Picker/propTypes.d.ts +5 -7
  171. package/cjs/Picker/propTypes.js +4 -3
  172. package/cjs/Picker/utils.d.ts +11 -11
  173. package/cjs/Picker/utils.js +22 -18
  174. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  175. package/cjs/Plaintext/Plaintext.js +2 -1
  176. package/cjs/Radio/Radio.d.ts +1 -1
  177. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  178. package/cjs/RadioGroup/RadioGroup.js +1 -1
  179. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  180. package/cjs/RangeSlider/RangeSlider.js +6 -4
  181. package/cjs/Rate/Character.js +4 -2
  182. package/cjs/Rate/Rate.js +2 -1
  183. package/cjs/Ripple/Ripple.js +1 -1
  184. package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
  185. package/cjs/SelectPicker/SelectPicker.js +8 -8
  186. package/cjs/SelectPicker/index.d.ts +1 -1
  187. package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  188. package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
  189. package/cjs/Sidenav/Node.d.ts +1 -1
  190. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  191. package/cjs/Sidenav/Sidenav.js +5 -2
  192. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  193. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  194. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  195. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  196. package/cjs/Sidenav/SidenavItem.js +4 -0
  197. package/cjs/Slider/Graduated.d.ts +5 -5
  198. package/cjs/Slider/Handle.d.ts +1 -1
  199. package/cjs/Slider/Handle.js +10 -6
  200. package/cjs/Slider/Mark.d.ts +1 -1
  201. package/cjs/Slider/Slider.d.ts +1 -1
  202. package/cjs/Slider/Slider.js +2 -2
  203. package/cjs/Slider/utils.d.ts +2 -1
  204. package/cjs/Slider/utils.js +4 -5
  205. package/cjs/Stack/Stack.d.ts +26 -0
  206. package/cjs/Stack/Stack.js +86 -0
  207. package/cjs/Stack/index.d.ts +3 -0
  208. package/cjs/Stack/index.js +11 -0
  209. package/cjs/Steps/StepItem.js +1 -1
  210. package/cjs/TagInput/index.js +1 -1
  211. package/cjs/Toggle/Toggle.js +5 -4
  212. package/cjs/Tree/Tree.d.ts +3 -2
  213. package/cjs/Tree/Tree.js +6 -5
  214. package/cjs/Tree/TreeContext.d.ts +0 -1
  215. package/cjs/TreePicker/TreeNode.js +7 -22
  216. package/cjs/TreePicker/TreePicker.js +32 -52
  217. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  218. package/cjs/Uploader/UploadFileItem.js +2 -2
  219. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  220. package/cjs/Uploader/UploadTrigger.js +2 -3
  221. package/cjs/Uploader/Uploader.d.ts +5 -5
  222. package/cjs/Uploader/Uploader.js +1 -2
  223. package/cjs/index.d.ts +6 -2
  224. package/cjs/index.js +13 -5
  225. package/cjs/locales/index.d.ts +3 -3
  226. package/cjs/toaster/ToastContainer.d.ts +1 -1
  227. package/cjs/toaster/ToastContainer.js +1 -1
  228. package/cjs/toaster/toaster.js +3 -1
  229. package/cjs/utils/BrowserDetection.js +1 -1
  230. package/cjs/utils/ReactChildren.d.ts +2 -2
  231. package/cjs/utils/ajaxUpload.d.ts +1 -1
  232. package/cjs/utils/ajaxUpload.js +5 -4
  233. package/cjs/utils/appendTooltip.d.ts +1 -1
  234. package/cjs/utils/constants.d.ts +4 -4
  235. package/cjs/utils/createChainedFunction.d.ts +1 -1
  236. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  237. package/cjs/utils/index.d.ts +1 -0
  238. package/cjs/utils/index.js +7 -2
  239. package/cjs/utils/mergeRefs.d.ts +2 -2
  240. package/cjs/utils/previewFile.d.ts +1 -1
  241. package/cjs/utils/propTypeChecker.d.ts +6 -2
  242. package/cjs/utils/propTypeChecker.js +7 -6
  243. package/cjs/utils/reactToString.d.ts +2 -1
  244. package/cjs/utils/statusIcons.d.ts +1 -1
  245. package/cjs/utils/stringToObject.d.ts +1 -1
  246. package/cjs/utils/treeUtils.d.ts +35 -32
  247. package/cjs/utils/treeUtils.js +46 -23
  248. package/cjs/utils/useControlled.d.ts +6 -1
  249. package/cjs/utils/useControlled.js +0 -8
  250. package/cjs/utils/useCustom.js +6 -4
  251. package/cjs/utils/useFocus.d.ts +2 -2
  252. package/cjs/utils/useMount.d.ts +2 -0
  253. package/cjs/utils/useMount.js +19 -0
  254. package/cjs/utils/usePortal.d.ts +2 -2
  255. package/cjs/utils/useRootClose.d.ts +2 -2
  256. package/cjs/utils/useTimeout.d.ts +1 -1
  257. package/cjs/utils/useTimeout.js +5 -3
  258. package/dist/rsuite-rtl.css +95 -210
  259. package/dist/rsuite-rtl.min.css +1 -1
  260. package/dist/rsuite-rtl.min.css.map +1 -1
  261. package/dist/rsuite.css +95 -210
  262. package/dist/rsuite.js +214 -115
  263. package/dist/rsuite.js.map +1 -1
  264. package/dist/rsuite.min.css +1 -1
  265. package/dist/rsuite.min.css.map +1 -1
  266. package/dist/rsuite.min.js +1 -1
  267. package/dist/rsuite.min.js.map +1 -1
  268. package/esm/@types/common.d.ts +13 -12
  269. package/esm/@types/utils.d.ts +12 -0
  270. package/esm/Affix/Affix.js +9 -7
  271. package/esm/Animation/Transition.d.ts +21 -12
  272. package/esm/Animation/Transition.js +4 -1
  273. package/esm/AutoComplete/AutoComplete.js +1 -1
  274. package/esm/AutoComplete/utils.d.ts +1 -1
  275. package/esm/Avatar/Avatar.js +7 -3
  276. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  277. package/esm/AvatarGroup/AvatarGroup.js +57 -0
  278. package/esm/AvatarGroup/index.d.ts +3 -0
  279. package/esm/AvatarGroup/index.js +2 -0
  280. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  281. package/esm/Button/Button.js +6 -2
  282. package/esm/ButtonGroup/ButtonGroup.js +11 -3
  283. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  284. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  285. package/esm/ButtonGroup/index.d.ts +2 -0
  286. package/esm/ButtonGroup/index.js +2 -0
  287. package/esm/Calendar/Calendar.d.ts +4 -4
  288. package/esm/Calendar/Calendar.js +27 -23
  289. package/esm/Calendar/CalendarContext.js +1 -1
  290. package/esm/Calendar/Header.js +1 -3
  291. package/esm/Calendar/Table.js +1 -1
  292. package/esm/Calendar/TableRow.js +14 -9
  293. package/esm/Calendar/TimeDropdown.js +5 -4
  294. package/esm/Calendar/View.js +10 -6
  295. package/esm/Calendar/types.d.ts +2 -2
  296. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  297. package/esm/Carousel/Carousel.d.ts +1 -1
  298. package/esm/Carousel/Carousel.js +1 -1
  299. package/esm/Cascader/Cascader.d.ts +1 -1
  300. package/esm/Cascader/Cascader.js +10 -10
  301. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  302. package/esm/Cascader/utils.d.ts +10 -10
  303. package/esm/CheckPicker/CheckPicker.d.ts +9 -4
  304. package/esm/CheckPicker/CheckPicker.js +4 -4
  305. package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  306. package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
  307. package/esm/CheckTree/index.js +7 -6
  308. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  309. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  310. package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
  311. package/esm/CheckTreePicker/utils.d.ts +3 -1
  312. package/esm/CheckTreePicker/utils.js +12 -10
  313. package/esm/Checkbox/Checkbox.d.ts +1 -1
  314. package/esm/Container/Container.js +7 -4
  315. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  316. package/esm/DOMHelper/index.d.ts +12 -12
  317. package/esm/DatePicker/DatePicker.d.ts +1 -1
  318. package/esm/DatePicker/DatePicker.js +18 -11
  319. package/esm/DatePicker/Toolbar.d.ts +12 -9
  320. package/esm/DatePicker/Toolbar.js +6 -8
  321. package/esm/DatePicker/types.d.ts +4 -4
  322. package/esm/DatePicker/utils.d.ts +4 -3
  323. package/esm/DateRangePicker/Calendar.d.ts +8 -7
  324. package/esm/DateRangePicker/Calendar.js +1 -1
  325. package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
  326. package/esm/DateRangePicker/DateRangePicker.js +112 -111
  327. package/esm/DateRangePicker/types.d.ts +2 -1
  328. package/esm/DateRangePicker/utils.d.ts +6 -6
  329. package/esm/DateRangePicker/utils.js +6 -2
  330. package/esm/Disclosure/Disclosure.d.ts +8 -5
  331. package/esm/Disclosure/Disclosure.js +56 -15
  332. package/esm/Disclosure/DisclosureButton.d.ts +2 -2
  333. package/esm/Disclosure/DisclosureButton.js +8 -7
  334. package/esm/Disclosure/DisclosureContent.js +5 -7
  335. package/esm/Disclosure/DisclosureContext.d.ts +8 -3
  336. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  337. package/esm/Disclosure/useDisclosureContext.js +11 -0
  338. package/esm/Dropdown/Dropdown.d.ts +1 -1
  339. package/esm/Dropdown/Dropdown.js +1 -1
  340. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  341. package/esm/Dropdown/DropdownItem.js +10 -10
  342. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  343. package/esm/Dropdown/DropdownMenu.js +82 -24
  344. package/esm/Dropdown/DropdownState.d.ts +1 -1
  345. package/esm/Dropdown/DropdownToggle.js +9 -2
  346. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  347. package/esm/Form/Form.js +1 -1
  348. package/esm/Form/FormContext.d.ts +1 -1
  349. package/esm/FormControl/FormControl.d.ts +1 -1
  350. package/esm/FormControl/FormControl.js +5 -4
  351. package/esm/FormGroup/FormGroup.d.ts +1 -1
  352. package/esm/FormGroup/FormGroup.js +7 -4
  353. package/esm/Input/Input.d.ts +3 -2
  354. package/esm/InputGroup/InputGroup.d.ts +1 -1
  355. package/esm/InputNumber/InputNumber.js +6 -2
  356. package/esm/InputPicker/InputAutosize.js +4 -4
  357. package/esm/InputPicker/InputPicker.d.ts +2 -2
  358. package/esm/InputPicker/InputPicker.js +15 -10
  359. package/esm/List/ListContext.d.ts +1 -1
  360. package/esm/List/ListContext.js +7 -1
  361. package/esm/List/helper/AutoScroller.js +4 -2
  362. package/esm/List/helper/useManager.d.ts +3 -3
  363. package/esm/List/helper/useManager.js +1 -1
  364. package/esm/List/helper/useSortHelper.d.ts +3 -3
  365. package/esm/List/helper/useSortHelper.js +6 -4
  366. package/esm/List/helper/utils.d.ts +2 -2
  367. package/esm/MaskedInput/TextMask.d.ts +5 -5
  368. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  369. package/esm/MaskedInput/conformToMask.js +5 -4
  370. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  371. package/esm/MaskedInput/utilities.d.ts +1 -1
  372. package/esm/Menu/Menu.js +13 -7
  373. package/esm/Menu/MenuContext.d.ts +1 -1
  374. package/esm/Menu/MenuItem.d.ts +1 -1
  375. package/esm/Menu/MenuItem.js +18 -15
  376. package/esm/Menu/Menubar.js +7 -8
  377. package/esm/Menu/useMenu.js +17 -7
  378. package/esm/Modal/Modal.js +41 -23
  379. package/esm/Modal/ModalContext.d.ts +2 -2
  380. package/esm/Modal/utils.d.ts +1 -1
  381. package/esm/Modal/utils.js +3 -5
  382. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  383. package/esm/MultiCascader/MultiCascader.js +6 -6
  384. package/esm/MultiCascader/utils.d.ts +17 -17
  385. package/esm/Nav/Nav.d.ts +1 -1
  386. package/esm/Nav/Nav.js +11 -13
  387. package/esm/Nav/NavContext.d.ts +7 -1
  388. package/esm/Nav/NavContext.js +1 -0
  389. package/esm/Nav/NavItem.d.ts +1 -1
  390. package/esm/Navbar/Navbar.js +1 -1
  391. package/esm/Navbar/NavbarItem.d.ts +1 -1
  392. package/esm/Navbar/index.d.ts +1 -0
  393. package/esm/Navbar/index.js +1 -0
  394. package/esm/Overlay/Modal.d.ts +2 -2
  395. package/esm/Overlay/Modal.js +72 -64
  396. package/esm/Overlay/ModalManager.d.ts +17 -8
  397. package/esm/Overlay/ModalManager.js +11 -20
  398. package/esm/Overlay/Overlay.d.ts +3 -3
  399. package/esm/Overlay/Overlay.js +8 -3
  400. package/esm/Overlay/OverlayContext.d.ts +6 -0
  401. package/esm/Overlay/OverlayContext.js +4 -0
  402. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  403. package/esm/Overlay/OverlayTrigger.js +21 -8
  404. package/esm/Overlay/Position.d.ts +4 -4
  405. package/esm/Overlay/Position.js +14 -8
  406. package/esm/Overlay/positionUtils.d.ts +1 -1
  407. package/esm/Overlay/positionUtils.js +6 -6
  408. package/esm/Pagination/Pagination.d.ts +1 -1
  409. package/esm/Pagination/PaginationButton.d.ts +3 -3
  410. package/esm/Pagination/PaginationGroup.js +5 -3
  411. package/esm/Panel/Panel.d.ts +1 -1
  412. package/esm/Panel/Panel.js +2 -2
  413. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  414. package/esm/PanelGroup/PanelGroup.js +9 -6
  415. package/esm/Picker/DropdownMenu.d.ts +8 -5
  416. package/esm/Picker/DropdownMenu.js +5 -5
  417. package/esm/Picker/PickerOverlay.js +4 -3
  418. package/esm/Picker/PickerToggle.js +4 -3
  419. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  420. package/esm/Picker/SearchBar.d.ts +1 -1
  421. package/esm/Picker/SelectedElement.js +2 -1
  422. package/esm/Picker/propTypes.d.ts +5 -7
  423. package/esm/Picker/propTypes.js +4 -3
  424. package/esm/Picker/utils.d.ts +11 -11
  425. package/esm/Picker/utils.js +21 -18
  426. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  427. package/esm/Plaintext/Plaintext.js +2 -1
  428. package/esm/Radio/Radio.d.ts +1 -1
  429. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  430. package/esm/RadioGroup/RadioGroup.js +1 -1
  431. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  432. package/esm/RangeSlider/RangeSlider.js +5 -4
  433. package/esm/Rate/Character.js +3 -2
  434. package/esm/Rate/Rate.js +2 -1
  435. package/esm/Ripple/Ripple.js +1 -1
  436. package/esm/SelectPicker/SelectPicker.d.ts +12 -5
  437. package/esm/SelectPicker/SelectPicker.js +8 -8
  438. package/esm/SelectPicker/index.d.ts +1 -1
  439. package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  440. package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
  441. package/esm/Sidenav/Node.d.ts +1 -1
  442. package/esm/Sidenav/Sidenav.d.ts +4 -4
  443. package/esm/Sidenav/Sidenav.js +5 -2
  444. package/esm/Sidenav/SidenavDropdown.js +11 -7
  445. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  446. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  447. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  448. package/esm/Sidenav/SidenavItem.js +4 -0
  449. package/esm/Slider/Graduated.d.ts +5 -5
  450. package/esm/Slider/Handle.d.ts +1 -1
  451. package/esm/Slider/Handle.js +10 -6
  452. package/esm/Slider/Mark.d.ts +1 -1
  453. package/esm/Slider/Slider.d.ts +1 -1
  454. package/esm/Slider/Slider.js +2 -2
  455. package/esm/Slider/utils.d.ts +2 -1
  456. package/esm/Slider/utils.js +5 -2
  457. package/esm/Stack/Stack.d.ts +26 -0
  458. package/esm/Stack/Stack.js +71 -0
  459. package/esm/Stack/index.d.ts +3 -0
  460. package/esm/Stack/index.js +2 -0
  461. package/esm/Steps/StepItem.js +1 -1
  462. package/esm/TagInput/index.js +1 -1
  463. package/esm/Toggle/Toggle.js +5 -4
  464. package/esm/Tree/Tree.d.ts +3 -2
  465. package/esm/Tree/Tree.js +7 -6
  466. package/esm/Tree/TreeContext.d.ts +0 -1
  467. package/esm/TreePicker/TreeNode.js +6 -21
  468. package/esm/TreePicker/TreePicker.js +31 -50
  469. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  470. package/esm/Uploader/UploadFileItem.js +2 -2
  471. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  472. package/esm/Uploader/UploadTrigger.js +2 -3
  473. package/esm/Uploader/Uploader.d.ts +5 -5
  474. package/esm/Uploader/Uploader.js +1 -2
  475. package/esm/index.d.ts +6 -2
  476. package/esm/index.js +3 -1
  477. package/esm/locales/index.d.ts +3 -3
  478. package/esm/toaster/ToastContainer.d.ts +1 -1
  479. package/esm/toaster/ToastContainer.js +1 -1
  480. package/esm/toaster/toaster.js +3 -1
  481. package/esm/utils/BrowserDetection.js +1 -1
  482. package/esm/utils/ReactChildren.d.ts +2 -2
  483. package/esm/utils/ajaxUpload.d.ts +1 -1
  484. package/esm/utils/ajaxUpload.js +5 -4
  485. package/esm/utils/appendTooltip.d.ts +1 -1
  486. package/esm/utils/constants.d.ts +4 -4
  487. package/esm/utils/createChainedFunction.d.ts +1 -1
  488. package/esm/utils/getDataGroupBy.d.ts +1 -1
  489. package/esm/utils/index.d.ts +1 -0
  490. package/esm/utils/index.js +2 -1
  491. package/esm/utils/mergeRefs.d.ts +2 -2
  492. package/esm/utils/previewFile.d.ts +1 -1
  493. package/esm/utils/propTypeChecker.d.ts +6 -2
  494. package/esm/utils/propTypeChecker.js +7 -6
  495. package/esm/utils/reactToString.d.ts +2 -1
  496. package/esm/utils/statusIcons.d.ts +1 -1
  497. package/esm/utils/stringToObject.d.ts +1 -1
  498. package/esm/utils/treeUtils.d.ts +35 -32
  499. package/esm/utils/treeUtils.js +45 -21
  500. package/esm/utils/useControlled.d.ts +6 -1
  501. package/esm/utils/useControlled.js +0 -8
  502. package/esm/utils/useCustom.js +6 -4
  503. package/esm/utils/useFocus.d.ts +2 -2
  504. package/esm/utils/useMount.d.ts +2 -0
  505. package/esm/utils/useMount.js +13 -0
  506. package/esm/utils/usePortal.d.ts +2 -2
  507. package/esm/utils/useRootClose.d.ts +2 -2
  508. package/esm/utils/useTimeout.d.ts +1 -1
  509. package/esm/utils/useTimeout.js +5 -3
  510. package/package.json +2 -2
  511. package/styles/index.less +2 -0
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent, TypeAttributes, FormControlBaseProps } from '../@types/common';
3
+ import { PrependParameters } from '../@types/utils';
3
4
  export interface LocaleType {
4
5
  unfilled: string;
5
6
  }
6
- export interface InputProps extends WithAsProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'>, FormControlBaseProps {
7
+ export interface InputProps extends WithAsProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'>, Omit<FormControlBaseProps, 'onChange'> {
7
8
  /** The HTML input type */
8
9
  type?: string;
9
10
  /** The HTML input id */
@@ -12,7 +13,7 @@ export interface InputProps extends WithAsProps, Omit<React.InputHTMLAttributes<
12
13
  size?: TypeAttributes.Size;
13
14
  /** Ref of input element */
14
15
  inputRef?: React.Ref<any>;
15
- onChange?: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
16
+ onChange?: PrependParameters<React.ChangeEventHandler<HTMLInputElement>, [value: string]>;
16
17
  /** Called on press enter */
17
18
  onPressEnter?: React.KeyboardEventHandler<HTMLInputElement>;
18
19
  }
@@ -5,7 +5,7 @@ import { WithAsProps, TypeAttributes, RsRefForwardingComponent } from '../@types
5
5
  export declare const InputGroupContext: React.Context<{
6
6
  onFocus: () => void;
7
7
  onBlur: () => void;
8
- }>;
8
+ } | null>;
9
9
  export interface InputGroupProps extends WithAsProps {
10
10
  /** Sets the composition content internally */
11
11
  inside?: boolean;
@@ -128,11 +128,15 @@ var InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
128
128
  value = _useControlled[0],
129
129
  setValue = _useControlled[1];
130
130
 
131
- var _useState = (0, _react.useState)(disableMaxValue(value, max)),
131
+ var _useState = (0, _react.useState)(function () {
132
+ return disableMaxValue(value, max);
133
+ }),
132
134
  disabledUpButton = _useState[0],
133
135
  setDisabledUpButton = _useState[1];
134
136
 
135
- var _useState2 = (0, _react.useState)(disableMinValue(value, min)),
137
+ var _useState2 = (0, _react.useState)(function () {
138
+ return disableMinValue(value, min);
139
+ }),
136
140
  disabledDownButton = _useState2[0],
137
141
  setDisabledDownButton = _useState2[1];
138
142
 
@@ -91,10 +91,10 @@ var InputAutosize = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
91
91
  _props$inputId = props.inputId,
92
92
  inputId = _props$inputId === void 0 ? uniqueId : _props$inputId,
93
93
  tabIndex = props.tabIndex;
94
- var rootRef = (0, _react.useRef)();
95
- var inputRef = (0, _react.useRef)();
96
- var sizerRef = (0, _react.useRef)();
97
- var placeholderRef = (0, _react.useRef)();
94
+ var rootRef = (0, _react.useRef)(null);
95
+ var inputRef = (0, _react.useRef)(null);
96
+ var sizerRef = (0, _react.useRef)(null);
97
+ var placeholderRef = (0, _react.useRef)(null);
98
98
  (0, _react.useImperativeHandle)(ref, function () {
99
99
  return {
100
100
  root: rootRef.current,
@@ -9,11 +9,11 @@ export interface InputPickerContextProps {
9
9
  /** Multiple selections are allowed */
10
10
  multi?: boolean;
11
11
  /** Tag related props. */
12
- tagProps?: TagProps;
12
+ tagProps: TagProps;
13
13
  /**
14
14
  * Set the trigger for creating tags. only valid when creatable
15
15
  */
16
- trigger?: TriggerType | TriggerType[];
16
+ trigger: TriggerType | TriggerType[];
17
17
  /**
18
18
  * No overlay provides options
19
19
  */
@@ -53,7 +53,10 @@ var _InputSearch = _interopRequireDefault(require("./InputSearch"));
53
53
 
54
54
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
55
55
 
56
- var InputPickerContext = /*#__PURE__*/_react.default.createContext({});
56
+ var InputPickerContext = /*#__PURE__*/_react.default.createContext({
57
+ tagProps: {},
58
+ trigger: 'Enter'
59
+ });
57
60
 
58
61
  exports.InputPickerContext = InputPickerContext;
59
62
 
@@ -76,7 +79,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
76
79
  readOnly = props.readOnly,
77
80
  plaintext = props.plaintext,
78
81
  defaultValue = props.defaultValue,
79
- defaultOpen = props.defaultOpen,
82
+ _props$defaultOpen = props.defaultOpen,
83
+ defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
80
84
  _props$disabledItemVa = props.disabledItemValues,
81
85
  disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
82
86
  overrideLocale = props.locale,
@@ -137,9 +141,9 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
137
141
  throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');
138
142
  }
139
143
 
140
- var overlayRef = (0, _react.useRef)();
141
- var targetRef = (0, _react.useRef)();
142
- var triggerRef = (0, _react.useRef)();
144
+ var overlayRef = (0, _react.useRef)(null);
145
+ var targetRef = (0, _react.useRef)(null);
146
+ var triggerRef = (0, _react.useRef)(null);
143
147
  var inputRef = (0, _react.useRef)();
144
148
 
145
149
  var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),
@@ -466,8 +470,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
466
470
  var events = {
467
471
  onMenuPressBackspace: multi ? removeLastItem : handleClean,
468
472
  onMenuKeyDown: onKeyDown,
469
- onMenuPressEnter: null,
470
- onKeyDown: null
473
+ onMenuPressEnter: undefined,
474
+ onKeyDown: undefined
471
475
  };
472
476
  var handleKeyPress = (0, _react.useCallback)(function (event) {
473
477
  // When typing a space, create a tag.
@@ -527,7 +531,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
527
531
 
528
532
  var renderDropdownMenuItem = function renderDropdownMenuItem(label, item) {
529
533
  // 'Create option "{0}"' => Create option "xxxxx"
530
- var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils.tplTransform)(locale === null || locale === void 0 ? void 0 : locale.createOption, label)) : label;
534
+ var newLabel = item.create ? /*#__PURE__*/_react.default.createElement("span", null, (0, _utils.tplTransform)(locale.createOption, label)) : label;
531
535
  return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;
532
536
  };
533
537
 
@@ -638,7 +642,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
638
642
  maxHeight: menuMaxHeight,
639
643
  data: items,
640
644
  group: !(0, _isUndefined.default)(groupBy),
641
- onSelect: multi ? handleCheckTag : handleSelectItem,
645
+ onSelect: multi ? handleCheckTag : handleSelectItem // fixme don't use any
646
+ ,
642
647
  renderMenuGroup: renderMenuGroup,
643
648
  renderMenuItem: renderDropdownMenuItem,
644
649
  virtualized: virtualized
@@ -731,7 +736,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
731
736
  plaintext: plaintext,
732
737
  ref: targetRef,
733
738
  as: toggleAs,
734
- tabIndex: null,
739
+ tabIndex: undefined,
735
740
  onClean: handleClean,
736
741
  cleanable: cleanable && !disabled,
737
742
  hasValue: hasValue,
@@ -4,7 +4,7 @@ import useManager from './helper/useManager';
4
4
  export declare type ListContextType = {
5
5
  bordered?: boolean;
6
6
  size?: ListProps['size'];
7
- register?: ReturnType<typeof useManager>['listItemRegister'];
7
+ register: ReturnType<typeof useManager>['listItemRegister'];
8
8
  };
9
9
  declare const ListContext: React.Context<ListContextType>;
10
10
  export default ListContext;
@@ -7,9 +7,16 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _noop = _interopRequireDefault(require("lodash/noop"));
11
+
10
12
  var ListContext = /*#__PURE__*/_react.default.createContext({
11
13
  bordered: false,
12
- size: 'md'
14
+ size: 'md',
15
+ register: function register() {
16
+ return {
17
+ unregister: _noop.default
18
+ };
19
+ }
13
20
  });
14
21
 
15
22
  var _default = ListContext;
@@ -21,8 +21,10 @@ var AutoScroller = /*#__PURE__*/function () {
21
21
  var _proto = AutoScroller.prototype;
22
22
 
23
23
  _proto.clear = function clear() {
24
- clearInterval(this.interval);
25
- this.interval = null;
24
+ if (this.interval !== null) {
25
+ clearInterval(this.interval);
26
+ this.interval = null;
27
+ }
26
28
  };
27
29
 
28
30
  _proto.update = function update(_ref) {
@@ -2,10 +2,10 @@ import { Offset } from '../../@types/common';
2
2
  export declare type Collection = string | number;
3
3
  export interface ManagedItem {
4
4
  node: HTMLElement;
5
- edgeOffset: Offset;
5
+ edgeOffset: Offset | null;
6
6
  info: {
7
7
  collection: Collection;
8
- index: number;
8
+ index?: number;
9
9
  disabled?: boolean;
10
10
  };
11
11
  }
@@ -13,7 +13,7 @@ declare const useManager: () => {
13
13
  listItemRegister: (item: ManagedItem) => {
14
14
  unregister: () => void;
15
15
  };
16
- getManagedItem: (node: HTMLElement) => ManagedItem;
16
+ getManagedItem: (node: HTMLElement) => ManagedItem | undefined;
17
17
  getOrderedItems: (collection: any) => ManagedItem[];
18
18
  };
19
19
  export default useManager;
@@ -38,7 +38,7 @@ var useManager = function useManager() {
38
38
  }, []);
39
39
  var getOrderedItems = (0, _react.useCallback)(function (collection) {
40
40
  return collection != null ? [].concat(collectionMapRef.current[collection]).sort(function (nodeInfo1, nodeInfo2) {
41
- return nodeInfo1.info.index - nodeInfo2.info.index;
41
+ return Number(nodeInfo1.info.index) - Number(nodeInfo2.info.index);
42
42
  }) : [];
43
43
  }, []);
44
44
  return {
@@ -1,5 +1,5 @@
1
1
  import { MouseEventHandler } from 'react';
2
- import { Collection } from './useManager';
2
+ import { Collection, ManagedItem } from './useManager';
3
3
  interface MovedItemInfo {
4
4
  collection: Collection;
5
5
  node: HTMLElement;
@@ -18,9 +18,9 @@ export declare type SortConfig = {
18
18
  declare const useSortHelper: (config: SortConfig) => {
19
19
  handleStart: MouseEventHandler<Element>;
20
20
  handleEnd: MouseEventHandler<Element>;
21
- containerRef: import("react").MutableRefObject<HTMLDivElement>;
21
+ containerRef: import("react").RefObject<HTMLDivElement>;
22
22
  sorting: boolean;
23
- register: (item: import("./useManager").ManagedItem) => {
23
+ register: (item: ManagedItem) => {
24
24
  unregister: () => void;
25
25
  };
26
26
  };
@@ -50,7 +50,7 @@ var useSortHelper = function useSortHelper(config) {
50
50
  * */
51
51
 
52
52
  var handlePress = (0, _react.useCallback)(function (mouseDownEvent, targetNode, curManagedItem) {
53
- var _activeNodeHelper;
53
+ var _curManagedItem$info$, _curManagedItem$info$2, _activeNodeHelper;
54
54
 
55
55
  if (!isMounted()) return;
56
56
  var listItemBaseClassName = targetNode.classList[0]; // get list item base className
@@ -60,8 +60,8 @@ var useSortHelper = function useSortHelper(config) {
60
60
 
61
61
  var containerElement = containerRef.current;
62
62
  var activeNode = curManagedItem.node;
63
- var activeNodeOldIndex = curManagedItem.info.index;
64
- var activeNodeNextIndex = curManagedItem.info.index;
63
+ var activeNodeOldIndex = (_curManagedItem$info$ = curManagedItem.info.index) !== null && _curManagedItem$info$ !== void 0 ? _curManagedItem$info$ : 0;
64
+ var activeNodeNextIndex = (_curManagedItem$info$2 = curManagedItem.info.index) !== null && _curManagedItem$info$2 !== void 0 ? _curManagedItem$info$2 : 0;
65
65
  var activeNodeHolderTranslate = {
66
66
  x: 0,
67
67
  y: 0
@@ -132,8 +132,10 @@ var useSortHelper = function useSortHelper(config) {
132
132
  var activeNodeHeight = parseFloat(activeNodeStyle.height) || 0;
133
133
 
134
134
  for (var i = 0, len = listItemManagerRefs.length; i < len; i++) {
135
+ var _listItemManagerRefs$;
136
+
135
137
  var currentNode = listItemManagerRefs[i].node;
136
- var currentNodeIndex = listItemManagerRefs[i].info.index;
138
+ var currentNodeIndex = (_listItemManagerRefs$ = listItemManagerRefs[i].info.index) !== null && _listItemManagerRefs$ !== void 0 ? _listItemManagerRefs$ : 0;
137
139
  var offsetY = activeNodeBoundingClientRect.height > currentNode.offsetHeight ? currentNode.offsetHeight / 2 : activeNodeBoundingClientRect.height / 2;
138
140
  var translate = {
139
141
  x: 0,
@@ -11,6 +11,6 @@ export declare function setTransitionDuration(node: HTMLElement, duration?: numb
11
11
  /**
12
12
  * find closest target node from source node
13
13
  * */
14
- export declare function closestNode(sourceNode: HTMLElement, judge: (target: HTMLElement) => boolean): HTMLElement;
14
+ export declare function closestNode(sourceNode: HTMLElement, judge: (target: HTMLElement) => boolean): HTMLElement | null;
15
15
  export declare function getEdgeOffset(node: HTMLElement, parent: HTMLElement, offset?: Offset): Offset;
16
- export declare function getScrollingParent(el: HTMLElement): HTMLElement;
16
+ export declare function getScrollingParent(el: HTMLElement): HTMLElement | null;
@@ -34,10 +34,10 @@ export declare type TextMaskProps = TextMaskBaseProps & React.HTMLAttributes<HTM
34
34
  };
35
35
  declare const TextMask: React.ForwardRefExoticComponent<TextMaskBaseProps & React.HTMLAttributes<HTMLInputElement> & {
36
36
  /** Custom rendering DOM */
37
- render?: (ref: React.Ref<HTMLInputElement>, props: React.HTMLAttributes<HTMLInputElement>) => any;
38
- onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
39
- value?: string | number;
40
- readOnly?: boolean;
41
- disabled?: boolean;
37
+ render?: ((ref: React.Ref<HTMLInputElement>, props: React.HTMLAttributes<HTMLInputElement>) => any) | undefined;
38
+ onChange?: ((event: React.ChangeEvent<HTMLInputElement>) => void) | undefined;
39
+ value?: string | number | undefined;
40
+ readOnly?: boolean | undefined;
41
+ disabled?: boolean | undefined;
42
42
  } & React.RefAttributes<HTMLInputElement>>;
43
43
  export default TextMask;
@@ -1,11 +1,11 @@
1
1
  export default function adjustCaretPosition({ previousConformedValue, previousPlaceholder, currentCaretPosition, conformedValue, rawValue, placeholderChar, placeholder, indexesOfPipedChars, caretTrapIndexes }: {
2
- previousConformedValue?: string;
3
- previousPlaceholder?: string;
4
- currentCaretPosition?: number;
2
+ previousConformedValue?: string | undefined;
3
+ previousPlaceholder?: string | undefined;
4
+ currentCaretPosition?: number | undefined;
5
5
  conformedValue: any;
6
6
  rawValue: any;
7
7
  placeholderChar: any;
8
8
  placeholder: any;
9
- indexesOfPipedChars?: any[];
10
- caretTrapIndexes?: any[];
11
- }): number;
9
+ indexesOfPipedChars?: string[] | undefined;
10
+ caretTrapIndexes?: number[] | undefined;
11
+ }): number | undefined;
@@ -49,7 +49,8 @@ function conformToMask(rawValue, mask, config) {
49
49
  placeholderChar = _config$placeholderCh === void 0 ? _utilities.defaultPlaceholderChar : _config$placeholderCh,
50
50
  _config$placeholder = _config.placeholder,
51
51
  placeholder = _config$placeholder === void 0 ? (0, _utilities.convertMaskToPlaceholder)(mask, placeholderChar) : _config$placeholder,
52
- currentCaretPosition = _config.currentCaretPosition,
52
+ _config$currentCaretP = _config.currentCaretPosition,
53
+ currentCaretPosition = _config$currentCaretP === void 0 ? 0 : _config$currentCaretP,
53
54
  keepCharPositions = _config.keepCharPositions; // The configs below indicate that the user wants the algorithm to work in *no guide* mode
54
55
 
55
56
  var suppressGuide = guide === false && previousConformedValue !== undefined; // Calculate lengths once for performance
@@ -130,9 +131,9 @@ function conformToMask(rawValue, mask, config) {
130
131
  // or we find at least one character that we can map.
131
132
  while (rawValueArr.length > 0) {
132
133
  // Let's retrieve the first user character in the queue of characters we have left
133
- var _rawValueArr$shift = rawValueArr.shift(),
134
- rawValueChar = _rawValueArr$shift.char,
135
- isNew = _rawValueArr$shift.isNew; // If the character we got from the user input is a placeholder character (which happens
134
+ var _ref = rawValueArr.shift(),
135
+ rawValueChar = _ref.char,
136
+ isNew = _ref.isNew; // If the character we got from the user input is a placeholder character (which happens
136
137
  // regularly because user input could be something like (540) 90_-____, which includes
137
138
  // a bunch of `_` which are placeholder characters) and we are not in *no guide* mode,
138
139
  // then we map this placeholder character to the current spot in the placeholder
@@ -1,7 +1,7 @@
1
1
  export default function createTextMaskInputElement(config: any): {
2
2
  state: {
3
- previousConformedValue: any;
4
- previousPlaceholder: any;
3
+ previousConformedValue: undefined;
4
+ previousPlaceholder: undefined;
5
5
  };
6
6
  update(rawValue: any, { inputElement, mask: providedMask, guide, pipe, placeholderChar, keepCharPositions, showMask }?: any): void;
7
7
  };
@@ -3,5 +3,5 @@ export declare const defaultPlaceholderChar = "_";
3
3
  export declare function convertMaskToPlaceholder(mask?: MaskType | MaskFunctionType, placeholderChar?: string): string;
4
4
  export declare function processCaretTraps(mask: any): {
5
5
  maskWithoutCaretTraps: any;
6
- indexes: any[];
6
+ indexes: number[];
7
7
  };
package/cjs/Menu/Menu.js CHANGED
@@ -13,6 +13,8 @@ var _react = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
17
+
16
18
  var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
17
19
 
18
20
  var _utils = require("../utils");
@@ -45,8 +47,8 @@ function Menu(props) {
45
47
  renderMenuButton = props.renderMenuButton,
46
48
  renderMenuPopup = props.renderMenuPopup,
47
49
  onToggleMenu = props.onToggleMenu;
48
- var buttonElementRef = (0, _react.useRef)();
49
- var menuElementRef = (0, _react.useRef)();
50
+ var buttonElementRef = (0, _react.useRef)(null);
51
+ var menuElementRef = (0, _react.useRef)(null);
50
52
  var parentMenu = (0, _react.useContext)(_MenuContext.default);
51
53
  var isSubmenu = !!parentMenu;
52
54
  var menu = (0, _useMenu.default)();
@@ -59,7 +61,7 @@ function Menu(props) {
59
61
  var _useCustom = (0, _utils.useCustom)('Menu'),
60
62
  rtl = _useCustom.rtl;
61
63
 
62
- var activeItem = (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;
64
+ var activeItem = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;
63
65
 
64
66
  var _useFocus = (0, _useFocus2.default)(menuElementRef),
65
67
  grabFocus = _useFocus.grab;
@@ -94,7 +96,9 @@ function Menu(props) {
94
96
  onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(false, event);
95
97
 
96
98
  if (returnFocusToButton) {
97
- buttonElementRef.current.focus({
99
+ var _buttonElementRef$cur;
100
+
101
+ (_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 ? void 0 : _buttonElementRef$cur.focus({
98
102
  preventScroll: true
99
103
  });
100
104
  }
@@ -109,7 +113,9 @@ function Menu(props) {
109
113
  (0, _useClickOutside.default)({
110
114
  enabled: open,
111
115
  isOutside: function isOutside(event) {
112
- return !buttonElementRef.current.contains(event.target) && !menuElementRef.current.contains(event.target);
116
+ var _buttonElementRef$cur2, _menuElementRef$curre;
117
+
118
+ return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));
113
119
  },
114
120
  // fixme if clicking on a focusable element, don't move focus to menu button
115
121
  handle: function handle(event) {
@@ -348,7 +354,8 @@ function Menu(props) {
348
354
  });
349
355
  var customMenuPopup = renderMenuPopup === null || renderMenuPopup === void 0 ? void 0 : renderMenuPopup((0, _extends2.default)({}, menuProps, {
350
356
  open: open
351
- }), menuElementRef);
357
+ }), menuElementRef); // fixme Wrong children here
358
+
352
359
  var menuElement = customMenuPopup !== null && customMenuPopup !== void 0 ? customMenuPopup : /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
353
360
  ref: menuElementRef
354
361
  }, menuProps, {
@@ -364,7 +371,7 @@ function Menu(props) {
364
371
  closeMenu(e);
365
372
  }
366
373
  }, [disabled, closeMenu]);
367
- var rootElementRef = (0, _react.useRef)();
374
+ var rootElementRef = (0, _react.useRef)(null);
368
375
  var handleContainerBlur = (0, _react.useCallback)(function (event) {
369
376
  if ((0, _events.isFocusLeaving)(event)) {
370
377
  closeMenu(event, false);
@@ -47,5 +47,5 @@ export declare type MenuAction = {
47
47
  to: MoveFocusTo.Specific;
48
48
  id: string;
49
49
  };
50
- declare const MenuContext: React.Context<MenuContextProps>;
50
+ declare const MenuContext: React.Context<MenuContextProps | null>;
51
51
  export default MenuContext;
@@ -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) => void;
11
+ onActivate?: React.MouseEventHandler;
12
12
  }
13
13
  export interface MenuitemRenderProps {
14
14
  selected: boolean;
@@ -11,6 +11,8 @@ var _react = require("react");
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
15
+
14
16
  var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
15
17
 
16
18
  var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
@@ -19,22 +21,24 @@ var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
19
21
  * Headless ARIA `menuitem`
20
22
  */
21
23
  function MenuItem(props) {
22
- var _menuState$items$menu;
23
-
24
24
  var children = props.children,
25
- selected = props.selected,
26
- disabled = props.disabled,
25
+ _props$selected = props.selected,
26
+ selected = _props$selected === void 0 ? false : _props$selected,
27
+ _props$disabled = props.disabled,
28
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
27
29
  onActivate = props.onActivate;
28
- var menuitemRef = (0, _react.useRef)();
30
+ var menuitemRef = (0, _react.useRef)(null);
29
31
  var menuitemId = (0, _useUniqueId.default)('menuitem-');
30
- var menu = (0, _react.useContext)(_MenuContext.default); // fixme make sure <MenuItem> is used inside a <Menu>
32
+ var menu = (0, _react.useContext)(_MenuContext.default);
31
33
 
32
- var _ref = menu !== null && menu !== void 0 ? menu : [],
33
- menuState = _ref[0],
34
- dispatch = _ref[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
34
+ if (!menu) {
35
+ throw new Error('<MenuItem> must be rendered within a <Menu>');
36
+ }
35
37
 
38
+ var menuState = menu[0],
39
+ dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
36
40
 
37
- var hasFocus = (menuState === null || menuState === void 0 ? void 0 : (_menuState$items$menu = menuState.items[menuState === null || menuState === void 0 ? void 0 : menuState.activeItemIndex]) === null || _menuState$items$menu === void 0 ? void 0 : _menuState$items$menu.element) === menuitemRef.current && !!menuitemRef.current;
41
+ var hasFocus = !(0, _isNil.default)(menuitemRef.current) && !(0, _isNil.default)(menuState.activeItemIndex) && menuState.items[menuState.activeItemIndex].element === menuitemRef.current;
38
42
  var handleClick = (0, _react.useCallback)(function (event) {
39
43
  if (disabled) {
40
44
  return;
@@ -44,17 +48,17 @@ function MenuItem(props) {
44
48
  }, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`
45
49
 
46
50
  var handleMouseDown = (0, _react.useCallback)(function () {
47
- if (!hasFocus) {
51
+ if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {
48
52
  dispatch({
49
53
  type: _MenuContext.MenuActionTypes.MoveFocus,
50
54
  to: _MenuContext.MoveFocusTo.Specific,
51
55
  id: menuitemRef.current.id
52
56
  });
53
57
  }
54
- }, [hasFocus, dispatch]); // Gain/release focus on mouseenter/mouseleave in `menu`
58
+ }, [dispatch, hasFocus]); // Gain/release focus on mouseenter/mouseleave in `menu`
55
59
 
56
60
  var handleMouseMove = (0, _react.useCallback)(function () {
57
- if (!hasFocus) {
61
+ if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {
58
62
  dispatch({
59
63
  type: _MenuContext.MenuActionTypes.MoveFocus,
60
64
  to: _MenuContext.MoveFocusTo.Specific,
@@ -70,7 +74,7 @@ function MenuItem(props) {
70
74
  }, [dispatch]);
71
75
  (0, _react.useEffect)(function () {
72
76
  var menuitemElement = menuitemRef.current;
73
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
77
+ dispatch({
74
78
  type: _MenuContext.MenuActionTypes.RegisterItem,
75
79
  element: menuitemElement,
76
80
  props: {
@@ -78,7 +82,7 @@ function MenuItem(props) {
78
82
  }
79
83
  });
80
84
  return function () {
81
- dispatch === null || dispatch === void 0 ? void 0 : dispatch({
85
+ dispatch({
82
86
  type: _MenuContext.MenuActionTypes.UnregisterItem,
83
87
  id: menuitemElement.id
84
88
  });
@@ -9,6 +9,8 @@ exports.default = Menubar;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
13
+
12
14
  var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
13
15
 
14
16
  var _utils = require("../utils");
@@ -19,8 +21,6 @@ var _useMenu = _interopRequireDefault(require("./useMenu"));
19
21
 
20
22
  // Headless ARIA `menubar`
21
23
  function Menubar(_ref) {
22
- var _items$activeItemInde;
23
-
24
24
  var _ref$vertical = _ref.vertical,
25
25
  vertical = _ref$vertical === void 0 ? false : _ref$vertical,
26
26
  children = _ref.children,
@@ -32,7 +32,7 @@ function Menubar(_ref) {
32
32
  items = _menubar$.items,
33
33
  activeItemIndex = _menubar$.activeItemIndex,
34
34
  dispatch = menubar[1];
35
- var menubarElementRef = (0, _react.useRef)();
35
+ var menubarElementRef = (0, _react.useRef)(null);
36
36
  var onFocus = (0, _react.useCallback)(function (event) {
37
37
  // Focus moves inside Menubar
38
38
  if ((0, _events.isFocusEntering)(event)) {
@@ -58,7 +58,7 @@ function Menubar(_ref) {
58
58
  rtl = _useCustom.rtl;
59
59
 
60
60
  var onKeyDown = (0, _react.useCallback)(function (event) {
61
- var activeItem = items[activeItemIndex];
61
+ var activeItemElement = (0, _isNil.default)(activeItemIndex) ? null : items[activeItemIndex].element;
62
62
 
63
63
  switch (true) {
64
64
  case !vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:
@@ -104,10 +104,10 @@ function Menubar(_ref) {
104
104
  case !vertical && event.key === _utils.KEY_VALUES.DOWN:
105
105
  case vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:
106
106
  case vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:
107
- if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.element.getAttribute('aria-haspopup')) === 'menu') {
107
+ if ((activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.getAttribute('aria-haspopup')) === 'menu') {
108
108
  event.preventDefault();
109
109
  event.stopPropagation();
110
- activeItem.element.click();
110
+ activeItemElement.click();
111
111
  }
112
112
 
113
113
  break;
@@ -116,7 +116,7 @@ function Menubar(_ref) {
116
116
  case event.key === _utils.KEY_VALUES.SPACE:
117
117
  event.preventDefault();
118
118
  event.stopPropagation();
119
- activeItem === null || activeItem === void 0 ? void 0 : activeItem.element.click();
119
+ activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.click();
120
120
  break;
121
121
  }
122
122
  }, [rtl, items, activeItemIndex, dispatch, vertical]); // Only used for handling click events bubbling from children
@@ -138,7 +138,7 @@ function Menubar(_ref) {
138
138
  onBlur: onBlur,
139
139
  onKeyDown: onKeyDown,
140
140
  onClick: onClick,
141
- 'aria-activedescendant': (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element.id,
141
+ 'aria-activedescendant': (0, _isNil.default)(activeItemIndex) ? undefined : items[activeItemIndex].element.id,
142
142
  'aria-orientation': vertical ? 'vertical' : undefined // implicitly set 'horizontal'
143
143
 
144
144
  }, menubarElementRef));