rsuite 6.1.2 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/Timeline/styles/index.css +11 -0
  3. package/Timeline/styles/index.scss +13 -0
  4. package/Uploader/styles/index.css +3 -0
  5. package/Uploader/styles/index.scss +3 -0
  6. package/cjs/Affix/Affix.js +4 -4
  7. package/cjs/Animation/Collapse.js +4 -5
  8. package/cjs/Animation/Transition.d.ts +2 -2
  9. package/cjs/Animation/Transition.js +17 -20
  10. package/cjs/AutoComplete/AutoComplete.d.ts +2 -0
  11. package/cjs/AutoComplete/AutoComplete.js +12 -10
  12. package/cjs/Avatar/useImage.js +1 -1
  13. package/cjs/AvatarGroup/AvatarGroup.d.ts +2 -2
  14. package/cjs/Badge/Badge.js +1 -4
  15. package/cjs/Breadcrumb/Breadcrumb.js +4 -4
  16. package/cjs/Button/Button.js +6 -6
  17. package/cjs/Calendar/Calendar.js +5 -5
  18. package/cjs/Calendar/CalendarBody.js +1 -1
  19. package/cjs/Calendar/CalendarContainer.js +14 -33
  20. package/cjs/Calendar/CalendarHeader.js +7 -8
  21. package/cjs/Calendar/Grid/GridCell.js +2 -2
  22. package/cjs/Calendar/Grid/GridHeaderRow.js +1 -1
  23. package/cjs/Calendar/Grid/GridRow.js +5 -6
  24. package/cjs/Calendar/MonthDropdown/MonthDropdown.js +1 -1
  25. package/cjs/Calendar/MonthDropdown/MonthDropdownItem.js +1 -1
  26. package/cjs/Calendar/TimeDropdown/TimeDropdown.js +12 -14
  27. package/cjs/Calendar/hooks/useCalendar.d.ts +16 -17
  28. package/cjs/Calendar/hooks/useCalendar.js +2 -4
  29. package/cjs/Calendar/hooks/useCalendarDate.js +5 -9
  30. package/cjs/Calendar/hooks/useCalendarState.js +6 -12
  31. package/cjs/Calendar/types.d.ts +0 -1
  32. package/cjs/Carousel/Carousel.js +5 -6
  33. package/cjs/CascadeTree/CascadeTree.js +6 -16
  34. package/cjs/CascadeTree/TreeView.js +5 -7
  35. package/cjs/CascadeTree/hooks/useSearch.d.ts +0 -1
  36. package/cjs/CascadeTree/hooks/useSearch.js +1 -1
  37. package/cjs/CascadeTree/hooks/useSelect.d.ts +0 -1
  38. package/cjs/CascadeTree/hooks/useSelect.js +3 -4
  39. package/cjs/CascadeTree/types.d.ts +0 -1
  40. package/cjs/CascadeTree/utils.js +1 -2
  41. package/cjs/Cascader/Cascader.js +18 -29
  42. package/cjs/Cascader/useActive.d.ts +0 -1
  43. package/cjs/Cascader/useActive.js +4 -6
  44. package/cjs/CheckPicker/CheckPicker.js +14 -15
  45. package/cjs/CheckTree/CheckTree.js +1 -1
  46. package/cjs/CheckTree/CheckTreeNode.js +3 -4
  47. package/cjs/CheckTree/CheckTreeView.js +5 -5
  48. package/cjs/CheckTree/hooks/useTreeCheckState.js +2 -2
  49. package/cjs/CheckTree/utils.js +9 -17
  50. package/cjs/CheckTreePicker/CheckTreePicker.js +7 -7
  51. package/cjs/CheckTreePicker/hooks/useFocusState.d.ts +0 -1
  52. package/cjs/CheckTreePicker/hooks/useFocusState.js +3 -6
  53. package/cjs/Checkbox/Checkbox.js +4 -5
  54. package/cjs/Checkbox/hooks/useIndeterminateCheckbox.d.ts +0 -1
  55. package/cjs/Checkbox/hooks/useIndeterminateCheckbox.js +1 -1
  56. package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
  57. package/cjs/DOMHelper/index.d.ts +1 -2
  58. package/cjs/DOMHelper/isElement.js +1 -1
  59. package/cjs/DateInput/DateField.d.ts +122 -3
  60. package/cjs/DateInput/DateField.js +12 -15
  61. package/cjs/DateInput/DateInput.js +3 -4
  62. package/cjs/DateInput/hooks/useDateInputState.d.ts +124 -4
  63. package/cjs/DateInput/hooks/useDateInputState.js +2 -2
  64. package/cjs/DateInput/hooks/useIsFocused.js +2 -2
  65. package/cjs/DateInput/hooks/useKeyboardInputEvent.d.ts +0 -1
  66. package/cjs/DateInput/hooks/useKeyboardInputEvent.js +8 -9
  67. package/cjs/DateInput/hooks/useSelectedState.d.ts +0 -1
  68. package/cjs/DateInput/utils.d.ts +0 -1
  69. package/cjs/DateInput/utils.js +2 -3
  70. package/cjs/DatePicker/DatePicker.js +18 -25
  71. package/cjs/DatePicker/PredefinedRanges.js +3 -3
  72. package/cjs/DatePicker/Toolbar.js +4 -4
  73. package/cjs/DatePicker/hooks/useCustomizedInput.d.ts +0 -1
  74. package/cjs/DatePicker/hooks/useFocus.js +5 -8
  75. package/cjs/DatePicker/hooks/useMonthView.d.ts +0 -1
  76. package/cjs/DatePicker/hooks/useMonthView.js +1 -1
  77. package/cjs/DatePicker/utils.d.ts +1 -2
  78. package/cjs/DatePicker/utils.js +2 -2
  79. package/cjs/DateRangeInput/DateRangeInput.js +8 -9
  80. package/cjs/DateRangePicker/Calendar.js +2 -2
  81. package/cjs/DateRangePicker/DateRangePicker.js +25 -29
  82. package/cjs/DateRangePicker/Header.js +3 -3
  83. package/cjs/DateRangePicker/disabledDateUtils.js +2 -2
  84. package/cjs/DateRangePicker/hooks/useCalendarHandlers.d.ts +0 -1
  85. package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +5 -5
  86. package/cjs/DateRangePicker/utils.js +1 -2
  87. package/cjs/Dropdown/Dropdown.js +3 -3
  88. package/cjs/Dropdown/DropdownItem.js +4 -5
  89. package/cjs/Dropdown/DropdownMenu.d.ts +1 -1
  90. package/cjs/Dropdown/DropdownMenu.js +1 -1
  91. package/cjs/Form/Form.d.ts +38 -3
  92. package/cjs/Form/Form.js +25 -12
  93. package/cjs/Form/hooks/useFormRef.d.ts +0 -1
  94. package/cjs/Form/hooks/useFormValidate.d.ts +2 -1
  95. package/cjs/Form/hooks/useFormValidate.js +136 -20
  96. package/cjs/Form/hooks/useFormValue.d.ts +0 -1
  97. package/cjs/Form/index.d.ts +1 -0
  98. package/cjs/Form/resolvers.d.ts +59 -0
  99. package/cjs/Form/resolvers.js +4 -0
  100. package/cjs/FormControl/FormControl.js +5 -5
  101. package/cjs/FormGroup/FormGroupContext.d.ts +1 -1
  102. package/cjs/Highlight/utils/highlightText.js +1 -1
  103. package/cjs/InlineEdit/renderChildren.js +5 -6
  104. package/cjs/InlineEdit/useEditState.js +9 -12
  105. package/cjs/InlineEdit/useFocusEvent.d.ts +0 -1
  106. package/cjs/InlineEdit/useFocusEvent.js +7 -11
  107. package/cjs/Input/Input.js +1 -1
  108. package/cjs/InputGroup/InputGroupContext.d.ts +2 -1
  109. package/cjs/InputNumber/index.d.ts +0 -1
  110. package/cjs/InputPicker/InputAutosize.js +1 -1
  111. package/cjs/InputPicker/InputPicker.js +30 -35
  112. package/cjs/InputPicker/InputSearch.js +1 -2
  113. package/cjs/InputPicker/hooks/useData.d.ts +0 -1
  114. package/cjs/InputPicker/hooks/useData.js +1 -1
  115. package/cjs/InputPicker/hooks/useInput.js +3 -6
  116. package/cjs/InputPicker/hooks/useMaxWidth.js +2 -4
  117. package/cjs/List/helper/AutoScroller.js +2 -4
  118. package/cjs/List/helper/useSortHelper.d.ts +4 -4
  119. package/cjs/List/helper/useSortHelper.js +13 -19
  120. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  121. package/cjs/MaskedInput/TextMask.js +3 -5
  122. package/cjs/MaskedInput/conformToMask.d.ts +1 -1
  123. package/cjs/MaskedInput/createTextMaskInputElement.js +2 -3
  124. package/cjs/Menu/MenuItem.js +3 -4
  125. package/cjs/Message/Message.js +1 -1
  126. package/cjs/Modal/Modal.js +8 -10
  127. package/cjs/Modal/ModalBody.js +1 -1
  128. package/cjs/Modal/utils.d.ts +2 -3
  129. package/cjs/Modal/utils.js +2 -3
  130. package/cjs/MultiCascadeTree/SearchView.js +1 -1
  131. package/cjs/MultiCascadeTree/TreeView.js +2 -2
  132. package/cjs/MultiCascadeTree/hooks/useCascadeValue.d.ts +0 -1
  133. package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +5 -8
  134. package/cjs/MultiCascadeTree/hooks/useColumnData.d.ts +0 -1
  135. package/cjs/MultiCascadeTree/hooks/useSearch.d.ts +0 -1
  136. package/cjs/MultiCascadeTree/hooks/useSearch.js +2 -2
  137. package/cjs/MultiCascadeTree/hooks/useSelect.js +3 -4
  138. package/cjs/MultiCascadeTree/types.d.ts +0 -1
  139. package/cjs/MultiCascadeTree/utils.d.ts +4 -4
  140. package/cjs/MultiCascadeTree/utils.js +2 -3
  141. package/cjs/MultiCascader/MultiCascader.js +13 -16
  142. package/cjs/Nav/AdaptiveNavItem.js +2 -3
  143. package/cjs/Nav/Nav.d.ts +1 -1
  144. package/cjs/Nav/Nav.js +4 -4
  145. package/cjs/Nav/NavDropdown.d.ts +1 -1
  146. package/cjs/Nav/NavDropdown.js +3 -3
  147. package/cjs/Nav/NavDropdownItem.js +2 -2
  148. package/cjs/Nav/NavDropdownMenu.d.ts +1 -1
  149. package/cjs/Nav/NavDropdownMenu.js +1 -1
  150. package/cjs/Nav/NavItem.js +4 -4
  151. package/cjs/Navbar/Navbar.js +1 -1
  152. package/cjs/Navbar/NavbarContent.js +1 -1
  153. package/cjs/Navbar/NavbarDrawer.js +1 -1
  154. package/cjs/Navbar/NavbarDropdown.d.ts +1 -1
  155. package/cjs/Navbar/NavbarDropdown.js +3 -3
  156. package/cjs/Navbar/NavbarDropdownItem.js +5 -6
  157. package/cjs/Navbar/NavbarDropdownMenu.d.ts +1 -1
  158. package/cjs/Navbar/NavbarDropdownMenu.js +1 -1
  159. package/cjs/Navbar/NavbarItem.js +4 -4
  160. package/cjs/Navbar/NavbarToggle.js +2 -2
  161. package/cjs/Notification/Notification.js +1 -1
  162. package/cjs/NumberInput/NumberInput.js +3 -3
  163. package/cjs/NumberInput/hooks/useEvents.d.ts +0 -1
  164. package/cjs/NumberInput/hooks/useEvents.js +2 -3
  165. package/cjs/NumberInput/hooks/useWheelHandler.js +1 -2
  166. package/cjs/Pagination/Pagination.js +1 -1
  167. package/cjs/Pagination/PaginationButton.js +1 -1
  168. package/cjs/Pagination/PaginationGroup.js +3 -4
  169. package/cjs/Panel/Panel.js +2 -2
  170. package/cjs/PanelGroup/PanelGroup.js +1 -1
  171. package/cjs/PasswordInput/PasswordInput.js +2 -2
  172. package/cjs/PinInput/PinInput.js +1 -1
  173. package/cjs/PinInput/hooks/usePinInputRefs.d.ts +0 -1
  174. package/cjs/PinInput/hooks/usePinInputRefs.js +2 -4
  175. package/cjs/PinInput/hooks/usePinValue.d.ts +1 -1
  176. package/cjs/PinInput/hooks/usePinValue.js +2 -2
  177. package/cjs/Progress/ProgressLine.js +1 -1
  178. package/cjs/Progress/types.d.ts +0 -1
  179. package/cjs/ProgressCircle/hooks/useProgressCirclePath.d.ts +0 -1
  180. package/cjs/Radio/Radio.js +3 -3
  181. package/cjs/RadioGroup/RadioGroup.js +1 -1
  182. package/cjs/RadioTile/RadioTile.js +2 -2
  183. package/cjs/RadioTileGroup/RadioTileGroup.js +1 -1
  184. package/cjs/RangeSlider/RangeSlider.js +6 -6
  185. package/cjs/Rate/Character.js +2 -2
  186. package/cjs/Rate/Rate.js +3 -3
  187. package/cjs/Rate/useRatingStates.d.ts +0 -1
  188. package/cjs/SegmentedControl/SegmentedControl.js +3 -3
  189. package/cjs/SegmentedControl/hooks/useIndicatorPosition.js +1 -1
  190. package/cjs/SelectPicker/SelectPicker.js +13 -16
  191. package/cjs/Sidebar/Sidebar.js +1 -1
  192. package/cjs/Sidenav/ExpandedSidenavDropdown.js +6 -6
  193. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +4 -5
  194. package/cjs/Sidenav/Node.js +9 -16
  195. package/cjs/Sidenav/Sidenav.js +2 -2
  196. package/cjs/Sidenav/SidenavDropdown.d.ts +1 -1
  197. package/cjs/Sidenav/SidenavDropdown.js +4 -4
  198. package/cjs/Sidenav/SidenavDropdownItem.js +3 -4
  199. package/cjs/Sidenav/SidenavItem.js +5 -6
  200. package/cjs/Sidenav/SidenavToggle.js +2 -2
  201. package/cjs/Slider/Slider.js +3 -3
  202. package/cjs/Slider/useDrag.d.ts +0 -1
  203. package/cjs/Slider/useDrag.js +7 -12
  204. package/cjs/Slider/utils.d.ts +1 -2
  205. package/cjs/Slider/utils.js +2 -3
  206. package/cjs/Steps/StepItem.js +1 -2
  207. package/cjs/Table/Table.d.ts +3 -3
  208. package/cjs/Tabs/Tabs.js +3 -4
  209. package/cjs/TimePicker/TimePicker.js +2 -2
  210. package/cjs/Timeline/Timeline.d.ts +6 -1
  211. package/cjs/Timeline/Timeline.js +14 -10
  212. package/cjs/Toggle/Toggle.js +2 -2
  213. package/cjs/Tree/Tree.js +2 -2
  214. package/cjs/Tree/TreeNode.js +10 -11
  215. package/cjs/Tree/TreeView.js +5 -5
  216. package/cjs/Tree/hooks/useExpandTree.js +1 -1
  217. package/cjs/Tree/hooks/useFlattenTree.js +6 -9
  218. package/cjs/Tree/hooks/useFocusTree.d.ts +1 -2
  219. package/cjs/Tree/hooks/useFocusTree.js +12 -14
  220. package/cjs/Tree/hooks/useTreeDrag.d.ts +0 -1
  221. package/cjs/Tree/hooks/useTreeDrag.js +10 -12
  222. package/cjs/Tree/hooks/useTreeNodeProps.js +1 -1
  223. package/cjs/Tree/hooks/useTreeSearch.js +4 -4
  224. package/cjs/Tree/hooks/useVirtualizedTreeData.js +2 -2
  225. package/cjs/Tree/types.d.ts +2 -3
  226. package/cjs/Tree/utils/flattenTree.d.ts +1 -1
  227. package/cjs/Tree/utils/focusableTree.js +5 -8
  228. package/cjs/Tree/utils/getNodeParentKeys.js +2 -4
  229. package/cjs/Tree/utils/hasVisibleChildren.d.ts +1 -1
  230. package/cjs/Tree/utils/treeKeyboardInteractions.js +3 -3
  231. package/cjs/TreePicker/TreePicker.js +8 -9
  232. package/cjs/TreePicker/hooks/useFocusState.d.ts +0 -1
  233. package/cjs/TreePicker/hooks/useFocusState.js +4 -8
  234. package/cjs/Uploader/UploadFileItem.js +8 -10
  235. package/cjs/Uploader/UploadTrigger.js +8 -10
  236. package/cjs/Uploader/Uploader.d.ts +2 -0
  237. package/cjs/Uploader/Uploader.js +66 -26
  238. package/cjs/Uploader/utils/ajaxUpload.js +5 -5
  239. package/cjs/Uploader/utils/previewFile.js +1 -1
  240. package/cjs/internals/Disclosure/Disclosure.js +5 -8
  241. package/cjs/internals/Disclosure/DisclosureButton.js +2 -2
  242. package/cjs/internals/InputBase/InputBase.js +5 -6
  243. package/cjs/internals/Menu/Menu.js +16 -20
  244. package/cjs/internals/Menu/MenuItem.js +4 -5
  245. package/cjs/internals/Menu/Menubar.js +5 -7
  246. package/cjs/internals/Menu/useMenu.js +5 -10
  247. package/cjs/internals/Overlay/Modal.js +8 -11
  248. package/cjs/internals/Overlay/ModalManager.js +3 -5
  249. package/cjs/internals/Overlay/Overlay.js +1 -1
  250. package/cjs/internals/Overlay/OverlayTrigger.d.ts +0 -1
  251. package/cjs/internals/Overlay/OverlayTrigger.js +5 -7
  252. package/cjs/internals/Overlay/Position.js +6 -8
  253. package/cjs/internals/Picker/ListCheckItem.js +3 -3
  254. package/cjs/internals/Picker/ListItem.js +1 -1
  255. package/cjs/internals/Picker/Listbox.js +9 -10
  256. package/cjs/internals/Picker/PickerIndicator.js +13 -11
  257. package/cjs/internals/Picker/PickerPopup.js +4 -5
  258. package/cjs/internals/Picker/PickerToggle.js +3 -4
  259. package/cjs/internals/Picker/SelectedElement.js +1 -1
  260. package/cjs/internals/Picker/hooks/useFocusItemValue.d.ts +0 -1
  261. package/cjs/internals/Picker/hooks/useFocusItemValue.js +14 -28
  262. package/cjs/internals/Picker/hooks/usePickerRef.d.ts +0 -1
  263. package/cjs/internals/Picker/hooks/usePickerRef.js +9 -15
  264. package/cjs/internals/Picker/hooks/useSearch.d.ts +0 -1
  265. package/cjs/internals/Picker/hooks/useSearch.js +2 -2
  266. package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +0 -1
  267. package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.js +13 -17
  268. package/cjs/internals/Picker/utils.js +9 -9
  269. package/cjs/internals/Ripple/Ripple.js +3 -4
  270. package/cjs/internals/SafeAnchor/SafeAnchor.js +1 -1
  271. package/cjs/internals/ScrollView/hooks/useScrollState.d.ts +0 -1
  272. package/cjs/internals/ScrollView/hooks/useScrollState.js +2 -3
  273. package/cjs/internals/Tree/TreeProvider.d.ts +4 -4
  274. package/cjs/internals/Tree/TreeProvider.js +2 -8
  275. package/cjs/internals/Tree/types.d.ts +0 -1
  276. package/cjs/internals/Tree/utils/getParentMap.d.ts +0 -1
  277. package/cjs/internals/Windowing/AutoSizer.js +2 -3
  278. package/cjs/internals/Windowing/List.js +4 -8
  279. package/cjs/internals/constants/index.d.ts +2 -2
  280. package/cjs/internals/hooks/useClickOutside.js +2 -4
  281. package/cjs/internals/hooks/useCustom.d.ts +0 -1
  282. package/cjs/internals/hooks/useCustom.js +5 -7
  283. package/cjs/internals/hooks/useElementResize.d.ts +0 -1
  284. package/cjs/internals/hooks/useEventCallback.js +1 -2
  285. package/cjs/internals/hooks/useEventListener.js +1 -1
  286. package/cjs/internals/hooks/useFocus.js +2 -4
  287. package/cjs/internals/hooks/useFocusVirtualListItem.d.ts +0 -1
  288. package/cjs/internals/hooks/useMount.js +1 -2
  289. package/cjs/internals/hooks/useRootClose.js +6 -6
  290. package/cjs/internals/hooks/useTimeout.js +1 -2
  291. package/cjs/internals/hooks/useToggleCaret.d.ts +0 -1
  292. package/cjs/internals/hooks/useUniqueId.js +1 -1
  293. package/cjs/internals/hooks/useUpdatedRef.d.ts +0 -1
  294. package/cjs/internals/styled-system/style-manager.js +1 -1
  295. package/cjs/internals/styled-system/useStyled.js +2 -2
  296. package/cjs/internals/types/utils.d.ts +0 -1
  297. package/cjs/internals/utils/colours.d.ts +4 -4
  298. package/cjs/internals/utils/colours.js +1 -1
  299. package/cjs/internals/utils/date/disableTime.js +6 -12
  300. package/cjs/internals/utils/date/omitHideDisabledProps.d.ts +1 -1
  301. package/cjs/internals/utils/date/useDateMode.d.ts +1 -1
  302. package/cjs/internals/utils/react/ReactChildren.js +1 -2
  303. package/cjs/internals/utils/react/deprecateComponent.js +1 -2
  304. package/cjs/internals/utils/react/getDOMNode.js +4 -5
  305. package/cjs/internals/utils/sizes.d.ts +2 -2
  306. package/cjs/internals/utils/style-sheet/css.d.ts +0 -1
  307. package/cjs/internals/utils/style-sheet/css.js +1 -1
  308. package/cjs/internals/utils/style-sheet/prefix.d.ts +0 -1
  309. package/cjs/internals/utils/style-sheet/responsive.d.ts +1 -1
  310. package/cjs/internals/utils/style-sheet/styles.d.ts +3 -3
  311. package/cjs/internals/utils/style-sheet/styles.js +1 -1
  312. package/cjs/toaster/ToastContainer.js +3 -5
  313. package/cjs/toaster/hooks/useDelayedClosure.d.ts +0 -1
  314. package/cjs/toaster/hooks/useDelayedClosure.js +3 -4
  315. package/cjs/toaster/toaster.js +42 -15
  316. package/cjs/useDialog/Dialog.d.ts +1 -1
  317. package/cjs/useDialog/Dialog.js +1 -1
  318. package/cjs/useDialog/useDialog.d.ts +1 -1
  319. package/cjs/useDialog/useDialog.js +3 -3
  320. package/cjs/useFormControl/hooks/useField.d.ts +0 -1
  321. package/cjs/useFormControl/hooks/useField.js +5 -7
  322. package/cjs/useFormControl/hooks/useRegisterModel.js +2 -2
  323. package/cjs/useFormControl/useFormControl.js +8 -8
  324. package/cjs/useToaster/useToaster.js +4 -5
  325. package/dist/rsuite-no-reset.css +14 -0
  326. package/dist/rsuite-no-reset.min.css +1 -1
  327. package/dist/rsuite.css +14 -0
  328. package/dist/rsuite.js +224 -224
  329. package/dist/rsuite.min.css +1 -1
  330. package/dist/rsuite.min.js +1 -1
  331. package/dist/rsuite.min.js.map +1 -1
  332. package/esm/Affix/Affix.js +4 -4
  333. package/esm/Animation/Collapse.js +1 -2
  334. package/esm/Animation/Transition.d.ts +2 -2
  335. package/esm/Animation/Transition.js +17 -20
  336. package/esm/AutoComplete/AutoComplete.d.ts +2 -0
  337. package/esm/AutoComplete/AutoComplete.js +12 -10
  338. package/esm/Avatar/useImage.js +1 -1
  339. package/esm/AvatarGroup/AvatarGroup.d.ts +2 -2
  340. package/esm/Badge/Badge.js +1 -4
  341. package/esm/Breadcrumb/Breadcrumb.js +4 -4
  342. package/esm/Button/Button.js +6 -6
  343. package/esm/Calendar/Calendar.js +5 -5
  344. package/esm/Calendar/CalendarBody.js +1 -1
  345. package/esm/Calendar/CalendarContainer.js +14 -33
  346. package/esm/Calendar/CalendarHeader.js +7 -8
  347. package/esm/Calendar/Grid/GridCell.js +2 -2
  348. package/esm/Calendar/Grid/GridHeaderRow.js +1 -1
  349. package/esm/Calendar/Grid/GridRow.js +5 -6
  350. package/esm/Calendar/MonthDropdown/MonthDropdown.js +1 -1
  351. package/esm/Calendar/MonthDropdown/MonthDropdownItem.js +1 -1
  352. package/esm/Calendar/TimeDropdown/TimeDropdown.js +12 -14
  353. package/esm/Calendar/hooks/useCalendar.d.ts +16 -17
  354. package/esm/Calendar/hooks/useCalendar.js +2 -4
  355. package/esm/Calendar/hooks/useCalendarDate.js +5 -9
  356. package/esm/Calendar/hooks/useCalendarState.js +6 -12
  357. package/esm/Calendar/types.d.ts +0 -1
  358. package/esm/Carousel/Carousel.js +5 -6
  359. package/esm/CascadeTree/CascadeTree.js +6 -16
  360. package/esm/CascadeTree/TreeView.js +5 -7
  361. package/esm/CascadeTree/hooks/useSearch.d.ts +0 -1
  362. package/esm/CascadeTree/hooks/useSearch.js +1 -1
  363. package/esm/CascadeTree/hooks/useSelect.d.ts +0 -1
  364. package/esm/CascadeTree/hooks/useSelect.js +3 -4
  365. package/esm/CascadeTree/types.d.ts +0 -1
  366. package/esm/CascadeTree/utils.js +1 -2
  367. package/esm/Cascader/Cascader.js +18 -29
  368. package/esm/Cascader/useActive.d.ts +0 -1
  369. package/esm/Cascader/useActive.js +4 -6
  370. package/esm/CheckPicker/CheckPicker.js +14 -15
  371. package/esm/CheckTree/CheckTree.js +1 -1
  372. package/esm/CheckTree/CheckTreeNode.js +3 -4
  373. package/esm/CheckTree/CheckTreeView.js +5 -5
  374. package/esm/CheckTree/hooks/useTreeCheckState.js +2 -2
  375. package/esm/CheckTree/utils.js +9 -17
  376. package/esm/CheckTreePicker/CheckTreePicker.js +7 -7
  377. package/esm/CheckTreePicker/hooks/useFocusState.d.ts +0 -1
  378. package/esm/CheckTreePicker/hooks/useFocusState.js +3 -6
  379. package/esm/Checkbox/Checkbox.js +4 -5
  380. package/esm/Checkbox/hooks/useIndeterminateCheckbox.d.ts +0 -1
  381. package/esm/Checkbox/hooks/useIndeterminateCheckbox.js +1 -1
  382. package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
  383. package/esm/DOMHelper/index.d.ts +1 -2
  384. package/esm/DOMHelper/isElement.js +1 -1
  385. package/esm/DateInput/DateField.d.ts +122 -3
  386. package/esm/DateInput/DateField.js +12 -15
  387. package/esm/DateInput/DateInput.js +3 -4
  388. package/esm/DateInput/hooks/useDateInputState.d.ts +124 -4
  389. package/esm/DateInput/hooks/useDateInputState.js +2 -2
  390. package/esm/DateInput/hooks/useIsFocused.js +2 -2
  391. package/esm/DateInput/hooks/useKeyboardInputEvent.d.ts +0 -1
  392. package/esm/DateInput/hooks/useKeyboardInputEvent.js +8 -9
  393. package/esm/DateInput/hooks/useSelectedState.d.ts +0 -1
  394. package/esm/DateInput/utils.d.ts +0 -1
  395. package/esm/DateInput/utils.js +2 -3
  396. package/esm/DatePicker/DatePicker.js +18 -25
  397. package/esm/DatePicker/PredefinedRanges.js +3 -3
  398. package/esm/DatePicker/Toolbar.js +4 -4
  399. package/esm/DatePicker/hooks/useCustomizedInput.d.ts +0 -1
  400. package/esm/DatePicker/hooks/useFocus.js +5 -8
  401. package/esm/DatePicker/hooks/useMonthView.d.ts +0 -1
  402. package/esm/DatePicker/hooks/useMonthView.js +1 -1
  403. package/esm/DatePicker/utils.d.ts +1 -2
  404. package/esm/DatePicker/utils.js +2 -2
  405. package/esm/DateRangeInput/DateRangeInput.js +8 -9
  406. package/esm/DateRangePicker/Calendar.js +2 -2
  407. package/esm/DateRangePicker/DateRangePicker.js +25 -29
  408. package/esm/DateRangePicker/Header.js +3 -3
  409. package/esm/DateRangePicker/disabledDateUtils.js +2 -2
  410. package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +0 -1
  411. package/esm/DateRangePicker/hooks/useCalendarHandlers.js +5 -5
  412. package/esm/DateRangePicker/utils.js +1 -2
  413. package/esm/Dropdown/Dropdown.js +3 -3
  414. package/esm/Dropdown/DropdownItem.js +4 -5
  415. package/esm/Dropdown/DropdownMenu.d.ts +1 -1
  416. package/esm/Dropdown/DropdownMenu.js +1 -1
  417. package/esm/Form/Form.d.ts +38 -3
  418. package/esm/Form/Form.js +25 -12
  419. package/esm/Form/hooks/useFormRef.d.ts +0 -1
  420. package/esm/Form/hooks/useFormValidate.d.ts +2 -1
  421. package/esm/Form/hooks/useFormValidate.js +136 -20
  422. package/esm/Form/hooks/useFormValue.d.ts +0 -1
  423. package/esm/Form/index.d.ts +1 -0
  424. package/esm/Form/resolvers.d.ts +59 -0
  425. package/esm/Form/resolvers.js +2 -0
  426. package/esm/FormControl/FormControl.js +5 -5
  427. package/esm/FormGroup/FormGroupContext.d.ts +1 -1
  428. package/esm/Highlight/utils/highlightText.js +1 -1
  429. package/esm/InlineEdit/renderChildren.js +5 -6
  430. package/esm/InlineEdit/useEditState.js +9 -12
  431. package/esm/InlineEdit/useFocusEvent.d.ts +0 -1
  432. package/esm/InlineEdit/useFocusEvent.js +7 -11
  433. package/esm/Input/Input.js +1 -1
  434. package/esm/InputGroup/InputGroupContext.d.ts +2 -1
  435. package/esm/InputNumber/index.d.ts +0 -1
  436. package/esm/InputPicker/InputAutosize.js +1 -1
  437. package/esm/InputPicker/InputPicker.js +30 -35
  438. package/esm/InputPicker/InputSearch.js +1 -2
  439. package/esm/InputPicker/hooks/useData.d.ts +0 -1
  440. package/esm/InputPicker/hooks/useData.js +1 -1
  441. package/esm/InputPicker/hooks/useInput.js +3 -6
  442. package/esm/InputPicker/hooks/useMaxWidth.js +2 -4
  443. package/esm/List/helper/AutoScroller.js +2 -4
  444. package/esm/List/helper/useSortHelper.d.ts +4 -4
  445. package/esm/List/helper/useSortHelper.js +13 -19
  446. package/esm/MaskedInput/TextMask.d.ts +5 -5
  447. package/esm/MaskedInput/TextMask.js +3 -5
  448. package/esm/MaskedInput/conformToMask.d.ts +1 -1
  449. package/esm/MaskedInput/createTextMaskInputElement.js +2 -3
  450. package/esm/Menu/MenuItem.js +3 -4
  451. package/esm/Message/Message.js +1 -1
  452. package/esm/Modal/Modal.js +8 -10
  453. package/esm/Modal/ModalBody.js +1 -1
  454. package/esm/Modal/utils.d.ts +2 -3
  455. package/esm/Modal/utils.js +2 -3
  456. package/esm/MultiCascadeTree/SearchView.js +1 -1
  457. package/esm/MultiCascadeTree/TreeView.js +2 -2
  458. package/esm/MultiCascadeTree/hooks/useCascadeValue.d.ts +0 -1
  459. package/esm/MultiCascadeTree/hooks/useCascadeValue.js +5 -8
  460. package/esm/MultiCascadeTree/hooks/useColumnData.d.ts +0 -1
  461. package/esm/MultiCascadeTree/hooks/useSearch.d.ts +0 -1
  462. package/esm/MultiCascadeTree/hooks/useSearch.js +2 -2
  463. package/esm/MultiCascadeTree/hooks/useSelect.js +3 -4
  464. package/esm/MultiCascadeTree/types.d.ts +0 -1
  465. package/esm/MultiCascadeTree/utils.d.ts +4 -4
  466. package/esm/MultiCascadeTree/utils.js +2 -3
  467. package/esm/MultiCascader/MultiCascader.js +13 -16
  468. package/esm/Nav/AdaptiveNavItem.js +2 -3
  469. package/esm/Nav/Nav.d.ts +1 -1
  470. package/esm/Nav/Nav.js +4 -4
  471. package/esm/Nav/NavDropdown.d.ts +1 -1
  472. package/esm/Nav/NavDropdown.js +3 -3
  473. package/esm/Nav/NavDropdownItem.js +2 -2
  474. package/esm/Nav/NavDropdownMenu.d.ts +1 -1
  475. package/esm/Nav/NavDropdownMenu.js +1 -1
  476. package/esm/Nav/NavItem.js +4 -4
  477. package/esm/Navbar/Navbar.js +1 -1
  478. package/esm/Navbar/NavbarContent.js +1 -1
  479. package/esm/Navbar/NavbarDrawer.js +1 -1
  480. package/esm/Navbar/NavbarDropdown.d.ts +1 -1
  481. package/esm/Navbar/NavbarDropdown.js +3 -3
  482. package/esm/Navbar/NavbarDropdownItem.js +5 -6
  483. package/esm/Navbar/NavbarDropdownMenu.d.ts +1 -1
  484. package/esm/Navbar/NavbarDropdownMenu.js +1 -1
  485. package/esm/Navbar/NavbarItem.js +4 -4
  486. package/esm/Navbar/NavbarToggle.js +2 -2
  487. package/esm/Notification/Notification.js +1 -1
  488. package/esm/NumberInput/NumberInput.js +3 -3
  489. package/esm/NumberInput/hooks/useEvents.d.ts +0 -1
  490. package/esm/NumberInput/hooks/useEvents.js +2 -3
  491. package/esm/NumberInput/hooks/useWheelHandler.js +1 -2
  492. package/esm/Pagination/Pagination.js +1 -1
  493. package/esm/Pagination/PaginationButton.js +1 -1
  494. package/esm/Pagination/PaginationGroup.js +3 -4
  495. package/esm/Panel/Panel.js +2 -2
  496. package/esm/PanelGroup/PanelGroup.js +1 -1
  497. package/esm/PasswordInput/PasswordInput.js +2 -2
  498. package/esm/PinInput/PinInput.js +1 -1
  499. package/esm/PinInput/hooks/usePinInputRefs.d.ts +0 -1
  500. package/esm/PinInput/hooks/usePinInputRefs.js +2 -4
  501. package/esm/PinInput/hooks/usePinValue.d.ts +1 -1
  502. package/esm/PinInput/hooks/usePinValue.js +2 -2
  503. package/esm/Progress/ProgressLine.js +1 -1
  504. package/esm/Progress/types.d.ts +0 -1
  505. package/esm/ProgressCircle/hooks/useProgressCirclePath.d.ts +0 -1
  506. package/esm/Radio/Radio.js +3 -3
  507. package/esm/RadioGroup/RadioGroup.js +1 -1
  508. package/esm/RadioTile/RadioTile.js +2 -2
  509. package/esm/RadioTileGroup/RadioTileGroup.js +1 -1
  510. package/esm/RangeSlider/RangeSlider.js +6 -6
  511. package/esm/Rate/Character.js +2 -2
  512. package/esm/Rate/Rate.js +3 -3
  513. package/esm/Rate/useRatingStates.d.ts +0 -1
  514. package/esm/SegmentedControl/SegmentedControl.js +3 -3
  515. package/esm/SegmentedControl/hooks/useIndicatorPosition.js +1 -1
  516. package/esm/SelectPicker/SelectPicker.js +13 -16
  517. package/esm/Sidebar/Sidebar.js +1 -1
  518. package/esm/Sidenav/ExpandedSidenavDropdown.js +6 -6
  519. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +4 -5
  520. package/esm/Sidenav/Node.js +9 -16
  521. package/esm/Sidenav/Sidenav.js +2 -2
  522. package/esm/Sidenav/SidenavDropdown.d.ts +1 -1
  523. package/esm/Sidenav/SidenavDropdown.js +4 -4
  524. package/esm/Sidenav/SidenavDropdownItem.js +3 -4
  525. package/esm/Sidenav/SidenavItem.js +5 -6
  526. package/esm/Sidenav/SidenavToggle.js +2 -2
  527. package/esm/Slider/Slider.js +3 -3
  528. package/esm/Slider/useDrag.d.ts +0 -1
  529. package/esm/Slider/useDrag.js +7 -12
  530. package/esm/Slider/utils.d.ts +1 -2
  531. package/esm/Slider/utils.js +2 -3
  532. package/esm/Steps/StepItem.js +1 -2
  533. package/esm/Table/Table.d.ts +3 -3
  534. package/esm/Tabs/Tabs.js +3 -4
  535. package/esm/TimePicker/TimePicker.js +2 -2
  536. package/esm/Timeline/Timeline.d.ts +6 -1
  537. package/esm/Timeline/Timeline.js +14 -10
  538. package/esm/Toggle/Toggle.js +2 -2
  539. package/esm/Tree/Tree.js +2 -2
  540. package/esm/Tree/TreeNode.js +10 -11
  541. package/esm/Tree/TreeView.js +5 -5
  542. package/esm/Tree/hooks/useExpandTree.js +1 -1
  543. package/esm/Tree/hooks/useFlattenTree.js +6 -9
  544. package/esm/Tree/hooks/useFocusTree.d.ts +1 -2
  545. package/esm/Tree/hooks/useFocusTree.js +12 -14
  546. package/esm/Tree/hooks/useTreeDrag.d.ts +0 -1
  547. package/esm/Tree/hooks/useTreeDrag.js +10 -12
  548. package/esm/Tree/hooks/useTreeNodeProps.js +1 -1
  549. package/esm/Tree/hooks/useTreeSearch.js +4 -4
  550. package/esm/Tree/hooks/useVirtualizedTreeData.js +2 -2
  551. package/esm/Tree/types.d.ts +2 -3
  552. package/esm/Tree/utils/flattenTree.d.ts +1 -1
  553. package/esm/Tree/utils/focusableTree.js +5 -8
  554. package/esm/Tree/utils/getNodeParentKeys.js +2 -4
  555. package/esm/Tree/utils/hasVisibleChildren.d.ts +1 -1
  556. package/esm/Tree/utils/treeKeyboardInteractions.js +3 -3
  557. package/esm/TreePicker/TreePicker.js +8 -9
  558. package/esm/TreePicker/hooks/useFocusState.d.ts +0 -1
  559. package/esm/TreePicker/hooks/useFocusState.js +4 -8
  560. package/esm/Uploader/UploadFileItem.js +8 -10
  561. package/esm/Uploader/UploadTrigger.js +8 -10
  562. package/esm/Uploader/Uploader.d.ts +2 -0
  563. package/esm/Uploader/Uploader.js +66 -26
  564. package/esm/Uploader/utils/ajaxUpload.js +5 -5
  565. package/esm/Uploader/utils/previewFile.js +1 -1
  566. package/esm/internals/Disclosure/Disclosure.js +5 -8
  567. package/esm/internals/Disclosure/DisclosureButton.js +2 -2
  568. package/esm/internals/InputBase/InputBase.js +5 -6
  569. package/esm/internals/Menu/Menu.js +16 -20
  570. package/esm/internals/Menu/MenuItem.js +4 -5
  571. package/esm/internals/Menu/Menubar.js +5 -7
  572. package/esm/internals/Menu/useMenu.js +5 -10
  573. package/esm/internals/Overlay/Modal.js +8 -11
  574. package/esm/internals/Overlay/ModalManager.js +3 -5
  575. package/esm/internals/Overlay/Overlay.js +1 -1
  576. package/esm/internals/Overlay/OverlayTrigger.d.ts +0 -1
  577. package/esm/internals/Overlay/OverlayTrigger.js +5 -7
  578. package/esm/internals/Overlay/Position.js +6 -8
  579. package/esm/internals/Picker/ListCheckItem.js +3 -3
  580. package/esm/internals/Picker/ListItem.js +1 -1
  581. package/esm/internals/Picker/Listbox.js +9 -10
  582. package/esm/internals/Picker/PickerIndicator.js +13 -11
  583. package/esm/internals/Picker/PickerPopup.js +4 -5
  584. package/esm/internals/Picker/PickerToggle.js +3 -4
  585. package/esm/internals/Picker/SelectedElement.js +1 -1
  586. package/esm/internals/Picker/hooks/useFocusItemValue.d.ts +0 -1
  587. package/esm/internals/Picker/hooks/useFocusItemValue.js +14 -28
  588. package/esm/internals/Picker/hooks/usePickerRef.d.ts +0 -1
  589. package/esm/internals/Picker/hooks/usePickerRef.js +9 -15
  590. package/esm/internals/Picker/hooks/useSearch.d.ts +0 -1
  591. package/esm/internals/Picker/hooks/useSearch.js +2 -2
  592. package/esm/internals/Picker/hooks/useToggleKeyDownEvent.d.ts +0 -1
  593. package/esm/internals/Picker/hooks/useToggleKeyDownEvent.js +13 -17
  594. package/esm/internals/Picker/utils.js +9 -9
  595. package/esm/internals/Ripple/Ripple.js +3 -4
  596. package/esm/internals/SafeAnchor/SafeAnchor.js +1 -1
  597. package/esm/internals/ScrollView/hooks/useScrollState.d.ts +0 -1
  598. package/esm/internals/ScrollView/hooks/useScrollState.js +2 -3
  599. package/esm/internals/Tree/TreeProvider.d.ts +4 -4
  600. package/esm/internals/Tree/TreeProvider.js +2 -8
  601. package/esm/internals/Tree/types.d.ts +0 -1
  602. package/esm/internals/Tree/utils/getParentMap.d.ts +0 -1
  603. package/esm/internals/Windowing/AutoSizer.js +2 -3
  604. package/esm/internals/Windowing/List.js +4 -8
  605. package/esm/internals/constants/index.d.ts +2 -2
  606. package/esm/internals/hooks/useClickOutside.js +2 -4
  607. package/esm/internals/hooks/useCustom.d.ts +0 -1
  608. package/esm/internals/hooks/useCustom.js +5 -7
  609. package/esm/internals/hooks/useElementResize.d.ts +0 -1
  610. package/esm/internals/hooks/useEventCallback.js +1 -2
  611. package/esm/internals/hooks/useEventListener.js +1 -1
  612. package/esm/internals/hooks/useFocus.js +2 -4
  613. package/esm/internals/hooks/useFocusVirtualListItem.d.ts +0 -1
  614. package/esm/internals/hooks/useMount.js +1 -2
  615. package/esm/internals/hooks/useRootClose.js +6 -6
  616. package/esm/internals/hooks/useTimeout.js +1 -2
  617. package/esm/internals/hooks/useToggleCaret.d.ts +0 -1
  618. package/esm/internals/hooks/useUniqueId.js +1 -1
  619. package/esm/internals/hooks/useUpdatedRef.d.ts +0 -1
  620. package/esm/internals/styled-system/style-manager.js +1 -1
  621. package/esm/internals/styled-system/useStyled.js +2 -2
  622. package/esm/internals/types/utils.d.ts +0 -1
  623. package/esm/internals/utils/colours.d.ts +4 -4
  624. package/esm/internals/utils/colours.js +1 -1
  625. package/esm/internals/utils/date/disableTime.js +6 -12
  626. package/esm/internals/utils/date/omitHideDisabledProps.d.ts +1 -1
  627. package/esm/internals/utils/date/useDateMode.d.ts +1 -1
  628. package/esm/internals/utils/react/ReactChildren.js +1 -2
  629. package/esm/internals/utils/react/deprecateComponent.js +1 -2
  630. package/esm/internals/utils/react/getDOMNode.js +4 -5
  631. package/esm/internals/utils/sizes.d.ts +2 -2
  632. package/esm/internals/utils/style-sheet/css.d.ts +0 -1
  633. package/esm/internals/utils/style-sheet/css.js +1 -1
  634. package/esm/internals/utils/style-sheet/prefix.d.ts +0 -1
  635. package/esm/internals/utils/style-sheet/responsive.d.ts +1 -1
  636. package/esm/internals/utils/style-sheet/styles.d.ts +3 -3
  637. package/esm/internals/utils/style-sheet/styles.js +1 -1
  638. package/esm/toaster/ToastContainer.js +3 -5
  639. package/esm/toaster/hooks/useDelayedClosure.d.ts +0 -1
  640. package/esm/toaster/hooks/useDelayedClosure.js +3 -4
  641. package/esm/toaster/toaster.js +42 -15
  642. package/esm/useDialog/Dialog.d.ts +1 -1
  643. package/esm/useDialog/Dialog.js +1 -1
  644. package/esm/useDialog/useDialog.d.ts +1 -1
  645. package/esm/useDialog/useDialog.js +3 -3
  646. package/esm/useFormControl/hooks/useField.d.ts +0 -1
  647. package/esm/useFormControl/hooks/useField.js +5 -7
  648. package/esm/useFormControl/hooks/useRegisterModel.js +2 -2
  649. package/esm/useFormControl/useFormControl.js +8 -8
  650. package/esm/useToaster/useToaster.js +4 -5
  651. package/package.json +1 -1
@@ -20,8 +20,7 @@ const useDrag = props => {
20
20
 
21
21
  // Release the move event
22
22
  const releaseMoves = useCallback(() => {
23
- var _moveTracker$current;
24
- (_moveTracker$current = moveTracker.current) === null || _moveTracker$current === void 0 || _moveTracker$current.releaseMoves();
23
+ moveTracker.current?.releaseMoves();
25
24
  moveTracker.current = null;
26
25
  }, []);
27
26
  const setTooltipPosition = useCallback(() => {
@@ -34,18 +33,15 @@ const useDrag = props => {
34
33
  }
35
34
  }, [tooltip]);
36
35
  const handleDragMove = useEventCallback((_deltaX, _deltaY, event) => {
37
- var _moveTracker$current2;
38
- if ((_moveTracker$current2 = moveTracker.current) !== null && _moveTracker$current2 !== void 0 && _moveTracker$current2.isDragging()) {
39
- var _rootRef$current;
40
- onDragMove === null || onDragMove === void 0 || onDragMove(event, (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.dataset);
36
+ if (moveTracker.current?.isDragging()) {
37
+ onDragMove?.(event, rootRef.current?.dataset);
41
38
  setTooltipPosition();
42
39
  }
43
40
  });
44
41
  const handleDragEnd = useEventCallback(event => {
45
- var _rootRef$current2;
46
42
  setActive(false);
47
43
  releaseMoves();
48
- onDragEnd === null || onDragEnd === void 0 || onDragEnd(event, (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.dataset);
44
+ onDragEnd?.(event, rootRef.current?.dataset);
49
45
  });
50
46
  const getMouseMoveTracker = useCallback(() => {
51
47
  return moveTracker.current || new PointerMoveTracker(document.body, {
@@ -55,15 +51,14 @@ const useDrag = props => {
55
51
  });
56
52
  }, [handleDragEnd, handleDragMove]);
57
53
  const onMoveStart = useEventCallback(event => {
58
- var _moveTracker$current3, _rootRef$current3;
59
54
  if (disabled) {
60
55
  return;
61
56
  }
62
57
  moveTracker.current = getMouseMoveTracker();
63
- (_moveTracker$current3 = moveTracker.current) === null || _moveTracker$current3 === void 0 || _moveTracker$current3.captureMoves(event);
64
- (_rootRef$current3 = rootRef.current) === null || _rootRef$current3 === void 0 || _rootRef$current3.focus();
58
+ moveTracker.current?.captureMoves(event);
59
+ rootRef.current?.focus();
65
60
  setActive(true);
66
- onDragStart === null || onDragStart === void 0 || onDragStart(event);
61
+ onDragStart?.(event);
67
62
  });
68
63
  const onMouseEnter = useEventCallback(() => {
69
64
  setTooltipPosition();
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  export declare const precisionMath: (value: any) => number;
3
- export declare function checkValue<T extends number | undefined | null>(value: T, min: number, max: number): number | T;
2
+ export declare function checkValue<T extends number | undefined | null>(value: T, min: number, max: number): number | (T & undefined);
4
3
  export declare function getPosition(e: React.MouseEvent | React.TouchEvent): {
5
4
  pageX: number;
6
5
  pageY: number;
@@ -13,7 +13,6 @@ export function checkValue(value, min, max) {
13
13
  return value;
14
14
  }
15
15
  export function getPosition(e) {
16
- var _event, _event2;
17
16
  let event = 'touches' in e ? e.touches[0] : e;
18
17
 
19
18
  // For touchend event, we need to use `changedTouches` instead of `touches`
@@ -21,7 +20,7 @@ export function getPosition(e) {
21
20
  event = e.changedTouches[0];
22
21
  }
23
22
  return {
24
- pageX: ((_event = event) === null || _event === void 0 ? void 0 : _event.pageX) || 0,
25
- pageY: ((_event2 = event) === null || _event2 === void 0 ? void 0 : _event2.pageY) || 0
23
+ pageX: event?.pageX || 0,
24
+ pageY: event?.pageY || 0
26
25
  };
27
26
  }
@@ -17,7 +17,6 @@ const STEP_STATUS_ICON = {
17
17
  * @see https://rsuitejs.com/components/steps
18
18
  */
19
19
  const StepItem = forwardRef((props, ref) => {
20
- var _STEP_STATUS_ICON$sta;
21
20
  const {
22
21
  as: Component = 'div',
23
22
  className,
@@ -43,7 +42,7 @@ const StepItem = forwardRef((props, ref) => {
43
42
  className: prefix('icon', {
44
43
  [`icon-${status}`]: status
45
44
  })
46
- }, status ? (_STEP_STATUS_ICON$sta = STEP_STATUS_ICON[status]) !== null && _STEP_STATUS_ICON$sta !== void 0 ? _STEP_STATUS_ICON$sta : stepNumber : stepNumber);
45
+ }, status ? STEP_STATUS_ICON[status] ?? stepNumber : stepNumber);
47
46
  return /*#__PURE__*/React.createElement(Component, _extends({
48
47
  ref: ref,
49
48
  className: classes,
@@ -12,11 +12,11 @@ export interface CellProps<Row extends RowDataType> extends Omit<TableCellProps<
12
12
  *
13
13
  * @see https://rsuitejs.com/components/table/
14
14
  */
15
- declare const Table: (<Row extends RowDataType<any>, Key extends RowKeyType>(props: TableProps<Row, Key> & React.RefAttributes<TableInstance<Row, Key>>) => React.ReactElement) & {
15
+ declare const Table: (<Row extends RowDataType, Key extends RowKeyType>(props: TableProps<Row, Key> & React.RefAttributes<TableInstance<Row, Key>>) => React.ReactElement) & {
16
16
  /**
17
17
  * The `Table.Cell` component is used to display data in a table cell.
18
18
  */
19
- Cell: <Row_1 extends RowDataType<any>, Key_1 extends RowKeyType>(props: import("rsuite-table/lib/Cell").InnerCellProps<Row_1, Key_1> & React.RefAttributes<HTMLDivElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
19
+ Cell: <Row extends RowDataType, Key extends RowKeyType>(props: import("rsuite-table/lib/Cell").InnerCellProps<Row, Key> & React.RefAttributes<HTMLDivElement>) => React.ReactElement;
20
20
  /**
21
21
  * The `Table.Column` component is used to define a column in a table.
22
22
  */
@@ -24,7 +24,7 @@ declare const Table: (<Row extends RowDataType<any>, Key extends RowKeyType>(pro
24
24
  /**
25
25
  * The `Table.HeaderCell` component is used to define a header cell in a table.
26
26
  */
27
- HeaderCell: <Row_2 extends RowDataType<any>, Key_2 extends RowKeyType>(props: import("rsuite-table").HeaderCellProps<Row_2, Key_2> & React.RefAttributes<HTMLDivElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
27
+ HeaderCell: <Row extends RowDataType, Key extends RowKeyType>(props: import("rsuite-table").HeaderCellProps<Row, Key> & React.RefAttributes<HTMLDivElement>) => React.ReactElement;
28
28
  /**
29
29
  * The `Table.ColumnGroup` component is used to define a column group in a table.
30
30
  */
package/esm/Tabs/Tabs.js CHANGED
@@ -13,7 +13,7 @@ import { useStyles, useCustom, useControlled, useEventCallback, useUniqueId } fr
13
13
  */
14
14
 
15
15
  function getFocusableTabs(tablist) {
16
- const tabs = tablist === null || tablist === void 0 ? void 0 : tablist.querySelectorAll('[role=tab]');
16
+ const tabs = tablist?.querySelectorAll('[role=tab]');
17
17
  return Array.from(tabs).filter(tab => !(tab.getAttribute('aria-disabled') === 'true'));
18
18
  }
19
19
  function getFocusedTab(tablist) {
@@ -137,10 +137,9 @@ const Tabs = forwardRef((props, ref) => {
137
137
  const tablistRef = React.useRef(null);
138
138
  const handleSelect = useEventCallback((eventKey, event) => {
139
139
  setActiveKey(eventKey);
140
- onSelect === null || onSelect === void 0 || onSelect(eventKey, event);
140
+ onSelect?.(eventKey, event);
141
141
  });
142
142
  const handleKeyDown = useEventCallback(event => {
143
- var _getFocusableTabs;
144
143
  const target = event.target;
145
144
  if (target.getAttribute('role') !== 'tab') {
146
145
  return;
@@ -162,7 +161,7 @@ const Tabs = forwardRef((props, ref) => {
162
161
  event.preventDefault();
163
162
  break;
164
163
  case 'Home':
165
- item = (_getFocusableTabs = getFocusableTabs(tablistRef.current)) === null || _getFocusableTabs === void 0 ? void 0 : _getFocusableTabs[0];
164
+ item = getFocusableTabs(tablistRef.current)?.[0];
166
165
  event.preventDefault();
167
166
  break;
168
167
  case 'End':
@@ -11,12 +11,12 @@ const TimePicker = forwardRef((props, ref) => {
11
11
  } = useCustom('TimePicker', props);
12
12
  const locale = getLocale('DateTimeFormats');
13
13
  const defaultRanges = useMemo(() => [{
14
- label: locale === null || locale === void 0 ? void 0 : locale.now,
14
+ label: locale?.now,
15
15
  value: () => new Date()
16
16
  }], [locale]);
17
17
  return /*#__PURE__*/React.createElement(DatePicker, _extends({
18
18
  ref: ref,
19
- format: locale === null || locale === void 0 ? void 0 : locale.shortTimeFormat,
19
+ format: locale?.shortTimeFormat,
20
20
  ranges: defaultRanges
21
21
  }, propsWithDefaults));
22
22
  });
@@ -7,6 +7,11 @@ export interface TimelineProps extends BoxProps {
7
7
  align?: 'left' | 'right' | 'alternate';
8
8
  /** Timeline endless **/
9
9
  endless?: boolean;
10
+ /**
11
+ * Reverse the order of Timeline items
12
+ * @version 6.2.0
13
+ **/
14
+ reverse?: boolean;
10
15
  /**
11
16
  * Whether an item is active (with highlighted dot).
12
17
  *
@@ -22,7 +27,7 @@ export interface TimelineProps extends BoxProps {
22
27
  */
23
28
  declare const Timeline: import("../internals/types").InternalRefForwardingComponent<"div", TimelineProps, never> & {
24
29
  Item: import("../internals/types").InternalRefForwardingComponent<"div", import("./TimelineItem").TimelineItemProps, never> & Record<string, never>;
25
- ACTIVE_FIRST: (index: number) => boolean;
30
+ ACTIVE_FIRST: (index: number) => index is 0;
26
31
  ACTIVE_LAST: (index: number, totalItemsCount: number) => boolean;
27
32
  };
28
33
  export default Timeline;
@@ -30,6 +30,7 @@ const Timeline = forwardRef((props, ref) => {
30
30
  className,
31
31
  align = 'left',
32
32
  endless,
33
+ reverse,
33
34
  isItemActive = ACTIVE_LAST,
34
35
  ...rest
35
36
  } = propsWithDefaults;
@@ -38,23 +39,26 @@ const Timeline = forwardRef((props, ref) => {
38
39
  withPrefix
39
40
  } = useStyles(classPrefix);
40
41
  const count = rch.count(children);
41
- const withTime = some(React.Children.toArray(children), item => {
42
- var _item$props;
43
- return item === null || item === void 0 || (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.time;
44
- });
42
+ const withTime = some(React.Children.toArray(children), item => item?.props?.time);
45
43
  const classes = merge(className, withPrefix(`align-${align}`, {
46
44
  endless,
47
- 'with-time': withTime
45
+ 'with-time': withTime,
46
+ reverse
48
47
  }));
48
+ const childrenArray = React.Children.toArray(children);
49
+ const orderedChildren = reverse ? [...childrenArray].reverse() : childrenArray;
49
50
  return /*#__PURE__*/React.createElement(Box, _extends({
50
51
  as: as,
51
52
  ref: ref,
52
53
  className: classes
53
- }, rest), rch.mapCloneElement(children, (_child, index) => ({
54
- last: index + 1 === count,
55
- INTERNAL_active: isItemActive(index, count),
56
- align
57
- })));
54
+ }, rest), orderedChildren.map((child, domIndex) => {
55
+ const logicalIndex = reverse ? count - 1 - domIndex : domIndex;
56
+ return /*#__PURE__*/React.cloneElement(child, {
57
+ last: logicalIndex + 1 === count,
58
+ INTERNAL_active: isItemActive(logicalIndex, count),
59
+ align
60
+ });
61
+ }));
58
62
  }, SubcomponentsAndStaticMethods);
59
63
  Timeline.displayName = 'Timeline';
60
64
  export default Timeline;
@@ -45,7 +45,7 @@ const Toggle = forwardRef((props, ref) => {
45
45
  } = useStyles(classPrefix);
46
46
  const classes = merge(className, withPrefix({}));
47
47
  const inner = checked ? checkedChildren : unCheckedChildren;
48
- const innerLabel = checked ? locale === null || locale === void 0 ? void 0 : locale.on : locale === null || locale === void 0 ? void 0 : locale.off;
48
+ const innerLabel = checked ? locale?.on : locale?.off;
49
49
  const labelId = useUniqueId('rs-label');
50
50
  const innerId = inner ? labelId + '-inner' : undefined;
51
51
  const labelledby = label ? labelId : innerId;
@@ -58,7 +58,7 @@ const Toggle = forwardRef((props, ref) => {
58
58
  checked
59
59
  } = e.target;
60
60
  setChecked(checked);
61
- onChange === null || onChange === void 0 || onChange(checked, e);
61
+ onChange?.(checked, e);
62
62
  });
63
63
  if (plaintext) {
64
64
  return /*#__PURE__*/React.createElement(Plaintext, null, inner || innerLabel);
package/esm/Tree/Tree.js CHANGED
@@ -65,8 +65,8 @@ const Tree = forwardRef((props, ref) => {
65
65
  });
66
66
  const handleSelect = useEventCallback((nodeData, nextValue, event) => {
67
67
  setValue(nextValue);
68
- onSelect === null || onSelect === void 0 || onSelect(nodeData, nextValue, event);
69
- onChange === null || onChange === void 0 || onChange(nextValue, event);
68
+ onSelect?.(nodeData, nextValue, event);
69
+ onChange?.(nextValue, event);
70
70
  });
71
71
  const treeContext = useMemo(() => ({
72
72
  props: {
@@ -55,43 +55,42 @@ const TreeNode = forwardRef((props, ref) => {
55
55
  } = useStyles(classPrefix);
56
56
  const labelStr = useMemo(() => stringifyReactNode(label), [label]);
57
57
  const handleExpand = useEventCallback(event => {
58
- var _event$nativeEvent, _event$nativeEvent$st;
59
58
  // Stop propagation when using custom loading icon
60
- event === null || event === void 0 || (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 || (_event$nativeEvent$st = _event$nativeEvent.stopImmediatePropagation) === null || _event$nativeEvent$st === void 0 || _event$nativeEvent$st.call(_event$nativeEvent);
59
+ event?.nativeEvent?.stopImmediatePropagation?.();
61
60
  event.stopPropagation();
62
- onExpand === null || onExpand === void 0 || onExpand(nodeData, expanded);
61
+ onExpand?.(nodeData, expanded);
63
62
  });
64
63
  const handleSelect = useEventCallback(event => {
65
64
  if (disabled) {
66
65
  return;
67
66
  }
68
- onSelect === null || onSelect === void 0 || onSelect(nodeData, event);
67
+ onSelect?.(nodeData, event);
69
68
  });
70
69
  const handleDragStart = useEventCallback(event => {
71
- onDragStart === null || onDragStart === void 0 || onDragStart(nodeData, event);
70
+ onDragStart?.(nodeData, event);
72
71
  });
73
72
  const handleDragEnter = useEventCallback(event => {
74
73
  event.preventDefault();
75
74
  event.stopPropagation();
76
- onDragEnter === null || onDragEnter === void 0 || onDragEnter(nodeData, event);
75
+ onDragEnter?.(nodeData, event);
77
76
  });
78
77
  const handleDragOver = useEventCallback(event => {
79
78
  event.preventDefault();
80
79
  event.stopPropagation();
81
- onDragOver === null || onDragOver === void 0 || onDragOver(nodeData, event);
80
+ onDragOver?.(nodeData, event);
82
81
  });
83
82
  const handleDragLeave = useEventCallback(event => {
84
83
  event.stopPropagation();
85
- onDragLeave === null || onDragLeave === void 0 || onDragLeave(nodeData, event);
84
+ onDragLeave?.(nodeData, event);
86
85
  });
87
86
  const handleDragEnd = useEventCallback(event => {
88
87
  event.stopPropagation();
89
- onDragEnd === null || onDragEnd === void 0 || onDragEnd(nodeData, event);
88
+ onDragEnd?.(nodeData, event);
90
89
  });
91
90
  const handleDrop = useEventCallback(event => {
92
91
  event.preventDefault();
93
92
  event.stopPropagation();
94
- onDrop === null || onDrop === void 0 || onDrop(nodeData, event);
93
+ onDrop?.(nodeData, event);
95
94
  });
96
95
  const classes = merge(className, withPrefix({
97
96
  disabled,
@@ -112,7 +111,7 @@ const TreeNode = forwardRef((props, ref) => {
112
111
  "aria-disabled": disabled,
113
112
  "aria-selected": active,
114
113
  "data-layer": layer,
115
- "data-key": (nodeData === null || nodeData === void 0 ? void 0 : nodeData.refKey) || '',
114
+ "data-key": nodeData?.refKey || '',
116
115
  title: labelStr,
117
116
  className: classes,
118
117
  style: styles,
@@ -82,7 +82,7 @@ const TreeView = forwardRef((props, ref) => {
82
82
  withPrefix
83
83
  } = useStyles(classPrefix);
84
84
  const handleSearchCallback = useEventCallback((value, _data, event) => {
85
- onSearch === null || onSearch === void 0 || onSearch(value, event);
85
+ onSearch?.(value, event);
86
86
  });
87
87
  const {
88
88
  filteredData,
@@ -103,7 +103,7 @@ const TreeView = forwardRef((props, ref) => {
103
103
  if (virtualized) {
104
104
  return transformation().filter(n => n.visible);
105
105
  }
106
- return filteredData.map((dataItem, index) => render === null || render === void 0 ? void 0 : render(dataItem, index, 1)).filter(n => n);
106
+ return filteredData.map((dataItem, index) => render?.(dataItem, index, 1)).filter(n => n);
107
107
  };
108
108
  useEffect(() => {
109
109
  setFilteredData(data, keyword);
@@ -162,8 +162,8 @@ const TreeView = forwardRef((props, ref) => {
162
162
  const nextValue = nodeData[valueKey];
163
163
  const path = getPathTowardsItem(nodeData, item => itemParentMap.get(item[valueKey]));
164
164
  setFocusItemValue(nextValue);
165
- onSelect === null || onSelect === void 0 || onSelect(nodeData, nextValue, event);
166
- onSelectItem === null || onSelectItem === void 0 || onSelectItem(nodeData, path);
165
+ onSelect?.(nodeData, nextValue, event);
166
+ onSelectItem?.(nodeData, path);
167
167
  });
168
168
  const selectActiveItem = useEventCallback(event => {
169
169
  if (isNil(focusItemValue)) return;
@@ -208,7 +208,7 @@ const TreeView = forwardRef((props, ref) => {
208
208
  })), /*#__PURE__*/React.createElement("div", {
209
209
  className: prefix('group'),
210
210
  role: "group"
211
- }, children === null || children === void 0 ? void 0 : children.map((child, i) => renderNode(child, i, layer)), showIndentLine && /*#__PURE__*/React.createElement(IndentLine, null)));
211
+ }, children?.map((child, i) => renderNode(child, i, layer)), showIndentLine && /*#__PURE__*/React.createElement(IndentLine, null)));
212
212
  }
213
213
  return /*#__PURE__*/React.createElement(TreeViewNode, _extends({
214
214
  ref: ref => saveTreeNodeRef(ref, node.refKey),
@@ -49,7 +49,7 @@ function useExpandTree(data, props) {
49
49
  valueKey
50
50
  });
51
51
  setExpandItemValues(nextExpandItemValues);
52
- onExpand === null || onExpand === void 0 || onExpand(nextExpandItemValues, node, createConcatChildrenFunction(node, node[valueKey], {
52
+ onExpand?.(nextExpandItemValues, node, createConcatChildrenFunction(node, node[valueKey], {
53
53
  valueKey,
54
54
  childrenKey
55
55
  }));
@@ -86,27 +86,24 @@ function useFlattenTree(data, options) {
86
86
  }
87
87
  flattenTreeData(node[childrenKey], node, layer + 1);
88
88
  });
89
- callback === null || callback === void 0 || callback(flattenedNodes.current);
89
+ callback?.(flattenedNodes.current);
90
90
  forceUpdate();
91
91
  }, [callback, forceUpdate, valueKey, labelKey, uncheckableItemValues, childrenKey]);
92
92
  useEffect(() => {
93
- // when data is changed, should clear the flattenedNodes, avoid duplicate keys
94
93
  flattenedNodes.current = {};
95
94
  seenValues.current.clear();
96
95
  flattenTreeData(data);
96
+ if (multiple) {
97
+ updateTreeNodeCheckState(value);
98
+ forceUpdate();
99
+ }
97
100
  }, [data]);
98
101
  useEffect(() => {
99
102
  if (multiple) {
100
103
  updateTreeNodeCheckState(value);
101
104
  forceUpdate();
102
105
  }
103
-
104
- /**
105
- * Add a dependency on data, because when loading data asynchronously through getChildren,
106
- * data may change and the node status needs to be updated.
107
- * @see https://github.com/rsuite/rsuite/issues/3973
108
- */
109
- }, [value, data]);
106
+ }, [value]);
110
107
  return flattenedNodes.current;
111
108
  }
112
109
  export default useFlattenTree;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { TreeNode } from '../../internals/Tree/types';
3
2
  interface UseFocusTreeProps<T extends TreeNode> {
4
3
  filteredData: T[];
@@ -17,7 +16,7 @@ declare function useFocusTree(props: UseFocusTreeProps<TreeNode>): {
17
16
  focusTreeFirstNode: (...args: any[]) => any;
18
17
  focusItemValue: string | number | null | undefined;
19
18
  treeNodesRefs: {};
20
- saveTreeNodeRef: (ref: any, refKey?: string | undefined) => void;
19
+ saveTreeNodeRef: (ref: any, refKey?: string) => void;
21
20
  setFocusItemValue: import("react").Dispatch<import("react").SetStateAction<string | number | null | undefined>>;
22
21
  onTreeKeydown: (...args: any[]) => any;
23
22
  };
@@ -60,7 +60,7 @@ function useFocusTree(props) {
60
60
  }
61
61
  if (focusedValue) {
62
62
  setFocusItemValue(focusedValue);
63
- onFocused === null || onFocused === void 0 || onFocused(focusedValue);
63
+ onFocused?.(focusedValue);
64
64
  }
65
65
  });
66
66
  const handleLeftArrowEvent = useEventCallback(() => {
@@ -68,13 +68,12 @@ function useFocusTree(props) {
68
68
  return;
69
69
  }
70
70
  const focusItem = getActiveItem(focusItemValue, flattenedNodes, valueKey);
71
- const expand = expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]);
71
+ const expand = expandItemValues.includes(focusItem?.[valueKey]);
72
72
  const onFocusItem = () => {
73
- var _focusItem$parent, _focusItem$parent2;
74
- const focusedValue = focusItem === null || focusItem === void 0 || (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey];
73
+ const focusedValue = focusItem?.parent?.[valueKey];
75
74
  setFocusItemValue(focusedValue);
76
- onFocused === null || onFocused === void 0 || onFocused(focusedValue);
77
- focusTreeNode(focusItem === null || focusItem === void 0 || (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs);
75
+ onFocused?.(focusedValue);
76
+ focusTreeNode(focusItem?.parent?.refKey, treeNodesRefs);
78
77
  };
79
78
  handleLeftArrow({
80
79
  focusItem,
@@ -89,7 +88,7 @@ function useFocusTree(props) {
89
88
  return;
90
89
  }
91
90
  const focusItem = getActiveItem(focusItemValue, flattenedNodes, valueKey);
92
- const expand = expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]);
91
+ const expand = expandItemValues.includes(focusItem?.[valueKey]);
93
92
  const onFocusItem = () => handleFocusItem(KEY_VALUES.DOWN);
94
93
  handleRightArrow({
95
94
  focusItem,
@@ -104,7 +103,7 @@ function useFocusTree(props) {
104
103
  const focusedValue = focusFirstItem(focusProps);
105
104
  if (focusedValue) {
106
105
  setFocusItemValue(focusedValue);
107
- onFocused === null || onFocused === void 0 || onFocused(focusedValue);
106
+ onFocused?.(focusedValue);
108
107
  }
109
108
  });
110
109
  const handleEndKey = useEventCallback(() => {
@@ -112,7 +111,7 @@ function useFocusTree(props) {
112
111
  const focusedValue = focusLastItem(focusProps);
113
112
  if (focusedValue) {
114
113
  setFocusItemValue(focusedValue);
115
- onFocused === null || onFocused === void 0 || onFocused(focusedValue);
114
+ onFocused?.(focusedValue);
116
115
  }
117
116
  });
118
117
  const onTreeKeydown = useEventCallback(event => {
@@ -133,21 +132,20 @@ function useFocusTree(props) {
133
132
  container: treeViewRef.current
134
133
  });
135
134
  if (refKey) {
136
- var _flattenedNodesRef$cu;
137
- const node = (_flattenedNodesRef$cu = flattenedNodesRef.current) === null || _flattenedNodesRef$cu === void 0 ? void 0 : _flattenedNodesRef$cu[refKey];
135
+ const node = flattenedNodesRef.current?.[refKey];
138
136
  if (node) {
139
137
  setFocusItemValue(node[valueKey]);
140
- onFocused === null || onFocused === void 0 || onFocused(node[valueKey]);
138
+ onFocused?.(node[valueKey]);
141
139
  }
142
140
  }
143
141
  }, [onFocused, valueKey]);
144
142
  useEffect(() => {
145
- const unregister = register === null || register === void 0 ? void 0 : register({
143
+ const unregister = register?.({
146
144
  focusTreeFirstNode,
147
145
  focusTreeActiveNode
148
146
  });
149
147
  return () => {
150
- unregister === null || unregister === void 0 || unregister();
148
+ unregister?.();
151
149
  };
152
150
  }, []);
153
151
  useEffect(() => {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TREE_NODE_DROP_POSITION } from '../../internals/constants';
3
2
  import type { DropData } from '../types';
4
3
  interface TreeDragProps {
@@ -60,9 +60,8 @@ function createDragPreview(name, className) {
60
60
  * Removes the drag preview element from the DOM.
61
61
  */
62
62
  function removeDragPreview() {
63
- var _dragPreview$parentNo, _dragPreview$parentNo2;
64
63
  const dragPreview = document.getElementById('rs-tree-drag-preview');
65
- dragPreview === null || dragPreview === void 0 || (_dragPreview$parentNo = dragPreview.parentNode) === null || _dragPreview$parentNo === void 0 || (_dragPreview$parentNo2 = _dragPreview$parentNo.removeChild) === null || _dragPreview$parentNo2 === void 0 || _dragPreview$parentNo2.call(_dragPreview$parentNo, dragPreview);
64
+ dragPreview?.parentNode?.removeChild?.(dragPreview);
66
65
  }
67
66
  /**
68
67
  * Custom hook for handling tree node dragging.
@@ -101,7 +100,7 @@ export default function useTreeDrag(props) {
101
100
  const getDragNodeKeys = useCallback(dragNode => {
102
101
  let dragNodeKeys = [dragNode[valueKey]];
103
102
  const traverse = data => {
104
- if ((data === null || data === void 0 ? void 0 : data.length) > 0) {
103
+ if (data?.length > 0) {
105
104
  data.forEach(node => {
106
105
  dragNodeKeys = dragNodeKeys.concat([node[valueKey]]);
107
106
  if (node[childrenKey]) {
@@ -197,12 +196,11 @@ export default function useTreeDrag(props) {
197
196
  }, [createDragTreeDataFunction, dropNodePosition]);
198
197
  const handleDragStart = useEventCallback((nodeData, event) => {
199
198
  if (draggable) {
200
- var _event$dataTransfer;
201
199
  const dragMoverNode = createDragPreview(stringifyReactNode(nodeData[labelKey]), prefix('drag-preview'));
202
- (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 || _event$dataTransfer.setDragImage(dragMoverNode, 0, 0);
200
+ event.dataTransfer?.setDragImage(dragMoverNode, 0, 0);
203
201
  setDragNodeKeys(getDragNodeKeys(nodeData));
204
202
  setDragNode(flattenedNodes[nodeData.refKey]);
205
- onDragStart === null || onDragStart === void 0 || onDragStart(nodeData, event);
203
+ onDragStart?.(nodeData, event);
206
204
  }
207
205
  });
208
206
  const handleDragEnter = useEventCallback((nodeData, event) => {
@@ -213,7 +211,7 @@ export default function useTreeDrag(props) {
213
211
  setDragOverNodeKey(nodeData[valueKey]);
214
212
  setDropNodePosition(calDropNodePosition(event, treeNodesRefs[nodeData.refKey]));
215
213
  }
216
- onDragEnter === null || onDragEnter === void 0 || onDragEnter(nodeData, event);
214
+ onDragEnter?.(nodeData, event);
217
215
  });
218
216
  const handleDragOver = useEventCallback((nodeData, event) => {
219
217
  if (dragNodeKeys.some(d => equal(d, nodeData[valueKey]))) {
@@ -225,24 +223,24 @@ export default function useTreeDrag(props) {
225
223
  if (lastDropNodePosition === dropNodePosition) return;
226
224
  setDropNodePosition(lastDropNodePosition);
227
225
  }
228
- onDragOver === null || onDragOver === void 0 || onDragOver(nodeData, event);
226
+ onDragOver?.(nodeData, event);
229
227
  });
230
228
  const handleDragLeave = useEventCallback((nodeData, event) => {
231
- onDragLeave === null || onDragLeave === void 0 || onDragLeave(nodeData, event);
229
+ onDragLeave?.(nodeData, event);
232
230
  });
233
231
  const handleDragEnd = useEventCallback((nodeData, event) => {
234
232
  removeDragPreview();
235
233
  setDragNode(null);
236
234
  setDragNodeKeys([]);
237
235
  setDragOverNodeKey(null);
238
- onDragEnd === null || onDragEnd === void 0 || onDragEnd(nodeData, event);
236
+ onDragEnd?.(nodeData, event);
239
237
  });
240
238
  const handleDrop = useEventCallback((nodeData, event) => {
241
239
  if (dragNodeKeys.some(d => equal(d, nodeData[valueKey]))) {
242
240
  console.error('Cannot drag a node to itself and its children');
243
241
  } else {
244
242
  const dropData = getDropData(nodeData);
245
- onDrop === null || onDrop === void 0 || onDrop(dropData, event);
243
+ onDrop?.(dropData, event);
246
244
  }
247
245
  removeDragPreview();
248
246
  setDragNode(null);
@@ -258,7 +256,7 @@ export default function useTreeDrag(props) {
258
256
  onDrop: handleDrop
259
257
  };
260
258
  return {
261
- dragNode: dragNode === null || dragNode === void 0 ? void 0 : dragNode.current,
259
+ dragNode: dragNode?.current,
262
260
  dragOverNodeKey,
263
261
  dropNodePosition,
264
262
  dragEvents
@@ -33,7 +33,7 @@ function useTreeNodeProps(props) {
33
33
  const {
34
34
  visible
35
35
  } = nodeData;
36
- const draggingNode = dragNode !== null && dragNode !== void 0 ? dragNode : {};
36
+ const draggingNode = dragNode ?? {};
37
37
  const nodeValue = nodeData[valueKey];
38
38
  const nodeLabel = nodeData[labelKey];
39
39
  const children = nodeData[childrenKey];
@@ -34,21 +34,21 @@ export default function useTreeSearch(props) {
34
34
  }, [childrenKey, labelKey, searchBy]);
35
35
 
36
36
  // Use search keywords to filter options.
37
- const [keyword, setSearchKeyword] = useState(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
37
+ const [keyword, setSearchKeyword] = useState(searchKeyword ?? '');
38
38
  const [filteredData, setFilteredData] = useState(() => filterVisibleData(data, keyword));
39
39
  const handleSearch = (searchKeyword, event) => {
40
40
  const filteredData = filterVisibleData(data, searchKeyword);
41
41
  setFilteredData(filteredData);
42
42
  setSearchKeyword(searchKeyword);
43
43
  if (event) {
44
- callback === null || callback === void 0 || callback(searchKeyword, filteredData, event);
44
+ callback?.(searchKeyword, filteredData, event);
45
45
  }
46
46
  };
47
47
  useEffect(() => {
48
- handleSearch(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
48
+ handleSearch(searchKeyword ?? '');
49
49
  }, [searchKeyword]);
50
50
  useEffect(() => {
51
- setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
51
+ setSearchKeyword(searchKeyword ?? '');
52
52
  }, [searchKeyword, setSearchKeyword]);
53
53
  const setVisibleData = useCallback((data, searchKeyword) => {
54
54
  setFilteredData(filterVisibleData(data, searchKeyword));
@@ -35,14 +35,14 @@ function useVirtualizedTreeData(nodes, data, options) {
35
35
  } = options;
36
36
  return UNSAFE_flattenTree(data, childrenKey, node => {
37
37
  let formatted = {};
38
- const curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];
38
+ const curNode = nodes?.[node.refKey];
39
39
  const parentKeys = getNodeParentKeys(nodes, curNode, valueKey);
40
40
  /**
41
41
  * When using virtualized,
42
42
  * if the parent node is collapsed, the child nodes should be hidden
43
43
  * avoid component height calculation errors
44
44
  */
45
- let visible = curNode !== null && curNode !== void 0 && curNode.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;
45
+ let visible = curNode?.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;
46
46
 
47
47
  /**
48
48
  * when searching, every node default expand