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
package/CHANGELOG.md CHANGED
@@ -1,3 +1,30 @@
1
+ # [6.2.0](https://github.com/rsuite/rsuite/compare/v6.1.3...v6.2.0) (2026-06-12)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **CheckTreePicker,CheckTree:** fix infinite loop with cascade and defaultExpandAll ([#4579](https://github.com/rsuite/rsuite/issues/4579)) ([fc86644](https://github.com/rsuite/rsuite/commit/fc86644b595809c83f4aa453f7a5e07d00367522)), closes [#3973](https://github.com/rsuite/rsuite/issues/3973) [#3973](https://github.com/rsuite/rsuite/issues/3973) [#4541](https://github.com/rsuite/rsuite/issues/4541) [#4404](https://github.com/rsuite/rsuite/issues/4404) [#4424](https://github.com/rsuite/rsuite/issues/4424)
7
+ * **toaster:** prevent duplicate containers when push() is called synchronously in a loop ([#4571](https://github.com/rsuite/rsuite/issues/4571)) ([c507f5f](https://github.com/rsuite/rsuite/commit/c507f5f59a726dc25dce65ab37fad484563e502d))
8
+ * **Uploader:** prevent horizontal overflow and width increase ([#4580](https://github.com/rsuite/rsuite/issues/4580)) ([e064f4c](https://github.com/rsuite/rsuite/commit/e064f4cc27959f94d3354a9177a8ae0a9ad71460)), closes [#4536](https://github.com/rsuite/rsuite/issues/4536)
9
+
10
+
11
+ ### Features
12
+
13
+ * **Form:** add `resolver` prop for third-party validation library integration ([#4573](https://github.com/rsuite/rsuite/issues/4573)) ([4a9ff7b](https://github.com/rsuite/rsuite/commit/4a9ff7bef3979764fcf3b12e869ccbf5bf61c3bd))
14
+ * **Timeline:** add `reverse` prop to display items in reverse order ([#4569](https://github.com/rsuite/rsuite/issues/4569)) ([a0dd1f4](https://github.com/rsuite/rsuite/commit/a0dd1f4307756f283c05157cd05f8ea6f7885c36))
15
+ * **Uploader:** add `onCompletion` callback prop ([#4570](https://github.com/rsuite/rsuite/issues/4570)) ([7eb0748](https://github.com/rsuite/rsuite/commit/7eb0748f78d36e1f34ac940b4fac3b6c20bf1a52)), closes [#813](https://github.com/rsuite/rsuite/issues/813)
16
+
17
+
18
+
19
+ ## [6.1.3](https://github.com/rsuite/rsuite/compare/v6.1.2...v6.1.3) (2026-04-22)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * **TimeDropdown:** guard +12 hour offset on showMeridiem in 24h mode ([#4566](https://github.com/rsuite/rsuite/issues/4566)) ([338828f](https://github.com/rsuite/rsuite/commit/338828fd5096477e3b7ed0c6cbebf71d142a17ca)), closes [#4526](https://github.com/rsuite/rsuite/issues/4526)
25
+
26
+
27
+
1
28
  ## [6.1.2](https://github.com/rsuite/rsuite/compare/v6.1.1...v6.1.2) (2026-01-28)
2
29
 
3
30
 
@@ -145,6 +145,17 @@
145
145
  height:auto;
146
146
  min-height:var(--rs-time-line-tail-min-height);
147
147
  }
148
+ .rs-timeline-reverse.rs-timeline-endless .rs-timeline-item:first-child .rs-timeline-item-tail{
149
+ top:0;
150
+ bottom:0;
151
+ height:auto;
152
+ }
153
+
154
+ .rs-timeline-reverse.rs-timeline-endless .rs-timeline-item:last-child .rs-timeline-item-tail{
155
+ height:calc(var(--rs-time-line-dot-center-gap) + var(--rs-time-line-dot-side-length));
156
+ min-height:0;
157
+ }
158
+
148
159
  .rs-timeline-item:only-child .rs-timeline-item-tail{
149
160
  display:none;
150
161
  }
@@ -8,6 +8,8 @@
8
8
  // --------------------------------------------------
9
9
 
10
10
  .rs-timeline {
11
+ $root: &;
12
+
11
13
  // CSS Variables
12
14
  --rs-time-line-tail-min-height: 2.375rem; // 20px + 18px
13
15
  --rs-time-line-item-content-margin: 12px;
@@ -87,6 +89,17 @@
87
89
  min-height: var(--rs-time-line-tail-min-height);
88
90
  }
89
91
 
92
+ @at-root #{$root}-reverse#{$root}-endless #{$root}-item:first-child #{$root}-item-tail {
93
+ top: 0;
94
+ bottom: 0;
95
+ height: auto;
96
+ }
97
+
98
+ @at-root #{$root}-reverse#{$root}-endless #{$root}-item:last-child #{$root}-item-tail {
99
+ height: calc(var(--rs-time-line-dot-center-gap) + var(--rs-time-line-dot-side-length));
100
+ min-height: 0;
101
+ }
102
+
90
103
  &-item:only-child &-item-tail {
91
104
  display: none;
92
105
  }
@@ -1272,6 +1272,7 @@
1272
1272
  text-overflow:ellipsis;
1273
1273
  white-space:nowrap;
1274
1274
  flex:1 1 auto;
1275
+ min-width:0;
1275
1276
  }
1276
1277
  .rs-uploader[data-list-type=text] .rs-uploader-file-item-size{
1277
1278
  flex:0 0 auto;
@@ -1318,6 +1319,7 @@
1318
1319
  .rs-uploader[data-list-type=picture]{
1319
1320
  display:inline-flex;
1320
1321
  flex-direction:row;
1322
+ flex-wrap:wrap;
1321
1323
  gap:var(--rs-uploader-item-spacing);
1322
1324
  }
1323
1325
  .rs-uploader[data-list-type=picture] .rs-uploader-trigger-btn{
@@ -1352,6 +1354,7 @@
1352
1354
  }
1353
1355
  .rs-uploader[data-list-type=picture] .rs-uploader-file-items{
1354
1356
  display:inline-flex;
1357
+ flex-wrap:wrap;
1355
1358
  gap:var(--rs-uploader-item-spacing);
1356
1359
  }
1357
1360
  .rs-uploader[data-list-type=picture] .rs-uploader-file-item{
@@ -109,6 +109,7 @@
109
109
  @include utils.ellipsis-basic;
110
110
 
111
111
  flex: 1 1 auto;
112
+ min-width: 0;
112
113
  }
113
114
 
114
115
  &-size {
@@ -169,6 +170,7 @@
169
170
  .rs-uploader[data-list-type='picture'] {
170
171
  display: inline-flex;
171
172
  flex-direction: row;
173
+ flex-wrap: wrap;
172
174
  gap: var(--rs-uploader-item-spacing);
173
175
 
174
176
  .rs-uploader-trigger-btn {
@@ -213,6 +215,7 @@
213
215
 
214
216
  .rs-uploader-file-items {
215
217
  display: inline-flex;
218
+ flex-wrap: wrap;
216
219
  gap: var(--rs-uploader-item-spacing);
217
220
  }
218
221
 
@@ -22,10 +22,10 @@ function useOffset(mountRef, onOffsetChange) {
22
22
  return;
23
23
  }
24
24
  const newOffset = (0, _getOffset.default)(mountRef.current);
25
- if ((newOffset === null || newOffset === void 0 ? void 0 : newOffset.height) !== (offset === null || offset === void 0 ? void 0 : offset.height) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.width) !== (offset === null || offset === void 0 ? void 0 : offset.width) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.top) !== (offset === null || offset === void 0 ? void 0 : offset.top) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.left) !== (offset === null || offset === void 0 ? void 0 : offset.left)) {
25
+ if (newOffset?.height !== offset?.height || newOffset?.width !== offset?.width || newOffset?.top !== offset?.top || newOffset?.left !== offset?.left) {
26
26
  setOffset(newOffset);
27
27
  if (offset !== null && newOffset !== null) {
28
- onOffsetChange === null || onOffsetChange === void 0 || onOffsetChange(newOffset);
28
+ onOffsetChange?.(newOffset);
29
29
  }
30
30
  }
31
31
  }, [mountRef, offset, onOffsetChange]);
@@ -76,7 +76,7 @@ function useFixed(offset, containerOffset, props) {
76
76
  const scrollY = window.scrollY || window.pageYOffset;
77
77
 
78
78
  // When the scroll distance exceeds the element's top value, it is fixed.
79
- let nextFixed = scrollY - (Number(offset === null || offset === void 0 ? void 0 : offset.top) - Number(top)) >= 0;
79
+ let nextFixed = scrollY - (Number(offset?.top) - Number(top)) >= 0;
80
80
 
81
81
  // If the current element is specified in the container,
82
82
  // add to determine whether the current container is in the window range.
@@ -85,7 +85,7 @@ function useFixed(offset, containerOffset, props) {
85
85
  }
86
86
  if (nextFixed !== fixed) {
87
87
  setFixed(nextFixed);
88
- onChange === null || onChange === void 0 || onChange(nextFixed);
88
+ onChange?.(nextFixed);
89
89
  }
90
90
  }, [offset, top, containerOffset, fixed, onChange]);
91
91
 
@@ -8,7 +8,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _getStyle = _interopRequireDefault(require("dom-lib/getStyle"));
10
10
  var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
11
- var _get2 = _interopRequireDefault(require("lodash/get"));
11
+ var _get = _interopRequireDefault(require("lodash/get"));
12
12
  var _capitalize = _interopRequireDefault(require("lodash/capitalize"));
13
13
  var _Transition = _interopRequireDefault(require("./Transition"));
14
14
  var _hooks = require("../internals/hooks");
@@ -19,19 +19,18 @@ let DIMENSION = exports.DIMENSION = /*#__PURE__*/function (DIMENSION) {
19
19
  DIMENSION["WIDTH"] = "width";
20
20
  return DIMENSION;
21
21
  }({});
22
- const triggerBrowserReflow = node => (0, _get2.default)(node, 'offsetHeight');
22
+ const triggerBrowserReflow = node => (0, _get.default)(node, 'offsetHeight');
23
23
  const MARGINS = {
24
24
  height: ['marginTop', 'marginBottom'],
25
25
  width: ['marginLeft', 'marginRight']
26
26
  };
27
27
  function defaultGetDimensionValue(dimension, elem) {
28
- var _get;
29
- const value = (_get = (0, _get2.default)(elem, `offset${(0, _capitalize.default)(dimension)}`)) !== null && _get !== void 0 ? _get : 0;
28
+ const value = (0, _get.default)(elem, `offset${(0, _capitalize.default)(dimension)}`) ?? 0;
30
29
  const margins = MARGINS[dimension];
31
30
  return value + parseInt((0, _getStyle.default)(elem, margins[0]), 10) + parseInt((0, _getStyle.default)(elem, margins[1]), 10);
32
31
  }
33
32
  function getScrollDimensionValue(elem, dimension) {
34
- const value = (0, _get2.default)(elem, `scroll${(0, _capitalize.default)(dimension)}`);
33
+ const value = (0, _get.default)(elem, `scroll${(0, _capitalize.default)(dimension)}`);
35
34
  return `${value}px`;
36
35
  }
37
36
 
@@ -63,7 +63,7 @@ declare class Transition extends React.Component<TransitionProps, TransitionStat
63
63
  componentWillUnmount(): void;
64
64
  onTransitionEnd(node: HTMLElement, handler: (event?: React.AnimationEvent) => void): void;
65
65
  setNextCallback(callback: (event?: React.AnimationEvent) => void): {
66
- (event?: React.AnimationEvent<Element> | undefined): void;
66
+ (event?: React.AnimationEvent): void;
67
67
  cancel: () => any;
68
68
  } | null;
69
69
  getChildElement(): HTMLElement;
@@ -71,6 +71,6 @@ declare class Transition extends React.Component<TransitionProps, TransitionStat
71
71
  performExit(props: TransitionProps): void;
72
72
  cancelNextCallback(): void;
73
73
  safeSetState(nextState: TransitionState, callback: (event?: React.AnimationEvent) => void): void;
74
- render(): React.ReactNode;
74
+ render(): string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.DetailedReactHTMLElement<any, HTMLElement> | null | undefined;
75
75
  }
76
76
  export default Transition;
@@ -27,13 +27,16 @@ const transitionProps = ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExit
27
27
  * @see https://rsuitejs.com/components/animation/#transition
28
28
  */
29
29
  class Transition extends _react.default.Component {
30
+ static displayName = 'Transition';
31
+ static defaultProps = {
32
+ timeout: 1000
33
+ };
34
+ animationEventListener = null;
35
+ instanceElement = null;
36
+ nextCallback = null;
37
+ needsUpdate = null;
30
38
  constructor(props) {
31
39
  super(props);
32
- this.animationEventListener = null;
33
- this.instanceElement = null;
34
- this.nextCallback = null;
35
- this.needsUpdate = null;
36
- this.childRef = void 0;
37
40
  let initialStatus;
38
41
  if (props.in) {
39
42
  initialStatus = props.transitionAppear ? STATUS.EXITED : STATUS.ENTERED;
@@ -103,9 +106,8 @@ class Transition extends _react.default.Component {
103
106
  this.instanceElement = null;
104
107
  }
105
108
  onTransitionEnd(node, handler) {
106
- var _this$animationEventL;
107
109
  this.setNextCallback(handler);
108
- (_this$animationEventL = this.animationEventListener) === null || _this$animationEventL === void 0 || _this$animationEventL.off();
110
+ this.animationEventListener?.off();
109
111
  if (!this.nextCallback) {
110
112
  return;
111
113
  }
@@ -162,16 +164,16 @@ class Transition extends _react.default.Component {
162
164
  this.cancelNextCallback();
163
165
  const node = this.getChildElement();
164
166
  this.instanceElement = node;
165
- onEnter === null || onEnter === void 0 || onEnter(node);
167
+ onEnter?.(node);
166
168
  this.safeSetState({
167
169
  status: STATUS.ENTERING
168
170
  }, () => {
169
- onEntering === null || onEntering === void 0 || onEntering(node);
171
+ onEntering?.(node);
170
172
  this.onTransitionEnd(node, () => {
171
173
  this.safeSetState({
172
174
  status: STATUS.ENTERED
173
175
  }, () => {
174
- onEntered === null || onEntered === void 0 || onEntered(node);
176
+ onEntered?.(node);
175
177
  });
176
178
  });
177
179
  });
@@ -185,16 +187,16 @@ class Transition extends _react.default.Component {
185
187
  this.cancelNextCallback();
186
188
  const node = this.getChildElement();
187
189
  this.instanceElement = node;
188
- onExit === null || onExit === void 0 || onExit(node);
190
+ onExit?.(node);
189
191
  this.safeSetState({
190
192
  status: STATUS.EXITING
191
193
  }, () => {
192
- onExiting === null || onExiting === void 0 || onExiting(node);
194
+ onExiting?.(node);
193
195
  this.onTransitionEnd(node, () => {
194
196
  this.safeSetState({
195
197
  status: STATUS.EXITED
196
198
  }, () => {
197
- onExited === null || onExited === void 0 || onExited(node);
199
+ onExited?.(node);
198
200
  });
199
201
  });
200
202
  });
@@ -208,11 +210,10 @@ class Transition extends _react.default.Component {
208
210
  safeSetState(nextState, callback) {
209
211
  if (this.instanceElement) {
210
212
  const nextCallback = this.setNextCallback(callback);
211
- this.setState(nextState, () => nextCallback === null || nextCallback === void 0 ? void 0 : nextCallback());
213
+ this.setState(nextState, () => nextCallback?.());
212
214
  }
213
215
  }
214
216
  render() {
215
- var _child$props;
216
217
  const status = this.state.status;
217
218
  if (status === STATUS.UNMOUNTED) {
218
219
  return null;
@@ -245,12 +246,8 @@ class Transition extends _react.default.Component {
245
246
  return /*#__PURE__*/_react.default.cloneElement(child, {
246
247
  ...childProps,
247
248
  ref: this.childRef,
248
- className: (0, _classnames.default)(className, (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.className, transitionClassName)
249
+ className: (0, _classnames.default)(className, child.props?.className, transitionClassName)
249
250
  });
250
251
  }
251
252
  }
252
- Transition.displayName = 'Transition';
253
- Transition.defaultProps = {
254
- timeout: 1000
255
- };
256
253
  var _default = exports.default = Transition;
@@ -30,6 +30,8 @@ export interface AutoCompleteProps<T = string> extends FormControlPickerProps<T,
30
30
  onOpen?: () => void;
31
31
  /** Called on close */
32
32
  onClose?: () => void;
33
+ /** Ref to the input element */
34
+ inputRef?: React.Ref<HTMLInputElement>;
33
35
  }
34
36
  /**
35
37
  * Autocomplete function of input field.
@@ -57,12 +57,13 @@ const AutoComplete = (0, _utils.forwardRef)((props, ref) => {
57
57
  onFocus,
58
58
  onBlur,
59
59
  onMenuFocus,
60
+ inputRef,
60
61
  ...rest
61
62
  } = propsWithDefaults;
62
63
  const datalist = (0, _utils2.transformData)(data);
63
64
  const [value, setValue] = (0, _hooks.useControlled)(valueProp, defaultValue);
64
65
  const [focus, setFocus] = (0, _react.useState)(false);
65
- const items = (datalist === null || datalist === void 0 ? void 0 : datalist.filter((0, _utils2.shouldDisplay)(filterBy, value))) || [];
66
+ const items = datalist?.filter((0, _utils2.shouldDisplay)(filterBy, value)) || [];
66
67
  const hasItems = items.length > 0;
67
68
  const {
68
69
  trigger,
@@ -91,13 +92,13 @@ const AutoComplete = (0, _utils.forwardRef)((props, ref) => {
91
92
  esc: handleClose
92
93
  });
93
94
  handleKeyDown(event);
94
- onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);
95
+ onKeyDown?.(event);
95
96
  };
96
97
  const selectFocusMenuItem = event => {
97
98
  if (!focusItemValue) {
98
99
  return;
99
100
  }
100
- const focusItem = datalist.find(item => (item === null || item === void 0 ? void 0 : item.value) === focusItemValue);
101
+ const focusItem = datalist.find(item => item?.value === focusItemValue);
101
102
  setValue(focusItemValue);
102
103
  setFocusItemValue(focusItemValue);
103
104
  handleSelect(focusItem, event);
@@ -107,10 +108,10 @@ const AutoComplete = (0, _utils.forwardRef)((props, ref) => {
107
108
  handleClose();
108
109
  };
109
110
  const handleSelect = (0, _hooks.useEventCallback)((item, event) => {
110
- onSelect === null || onSelect === void 0 || onSelect(item.value, item, event);
111
+ onSelect?.(item.value, item, event);
111
112
  });
112
113
  const handleChangeValue = (0, _hooks.useEventCallback)((value, event) => {
113
- onChange === null || onChange === void 0 || onChange(value, event);
114
+ onChange?.(value, event);
114
115
  });
115
116
  const handleChange = (value, event) => {
116
117
  setFocusItemValue('');
@@ -121,12 +122,12 @@ const AutoComplete = (0, _utils.forwardRef)((props, ref) => {
121
122
  const handleClose = (0, _hooks.useEventCallback)(() => {
122
123
  if (isMounted()) {
123
124
  setFocus(false);
124
- onClose === null || onClose === void 0 || onClose();
125
+ onClose?.();
125
126
  }
126
127
  });
127
128
  const handleOpen = (0, _hooks.useEventCallback)(() => {
128
129
  setFocus(true);
129
- onOpen === null || onOpen === void 0 || onOpen();
130
+ onOpen?.();
130
131
  });
131
132
  const handleItemSelect = (0, _hooks.useEventCallback)((nextItemValue, item, event) => {
132
133
  setValue(nextItemValue);
@@ -138,12 +139,12 @@ const AutoComplete = (0, _utils.forwardRef)((props, ref) => {
138
139
  handleClose();
139
140
  });
140
141
  const handleInputFocus = (0, _hooks.useEventCallback)(event => {
141
- onFocus === null || onFocus === void 0 || onFocus(event);
142
+ onFocus?.(event);
142
143
  handleOpen();
143
144
  });
144
145
  const handleInputBlur = (0, _hooks.useEventCallback)(event => {
145
146
  setTimeout(handleClose, 300);
146
- onBlur === null || onBlur === void 0 || onBlur(event);
147
+ onBlur?.(event);
147
148
  });
148
149
  const {
149
150
  withPrefix,
@@ -210,7 +211,8 @@ const AutoComplete = (0, _utils.forwardRef)((props, ref) => {
210
211
  onBlur: handleInputBlur,
211
212
  onFocus: handleInputFocus,
212
213
  onChange: handleChange,
213
- onKeyDown: handleKeyDownEvent
214
+ onKeyDown: handleKeyDownEvent,
215
+ inputRef: inputRef
214
216
  })));
215
217
  });
216
218
  AutoComplete.displayName = 'AutoComplete';
@@ -39,7 +39,7 @@ const useImage = props => {
39
39
  const handleError = (0, _react.useCallback)(event => {
40
40
  setStatus('error');
41
41
  flush();
42
- onError === null || onError === void 0 || onError(event);
42
+ onError?.(event);
43
43
  }, [onError]);
44
44
  (0, _react.useEffect)(() => {
45
45
  setStatus(src ? 'loading' : 'pending');
@@ -16,8 +16,8 @@ export interface AvatarGroupProps extends BoxProps {
16
16
  size?: Size;
17
17
  }
18
18
  export declare const AvatarGroupContext: React.Context<{
19
- size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
20
- spacing?: number | undefined;
19
+ size?: Size;
20
+ spacing?: number;
21
21
  }>;
22
22
  /**
23
23
  * The AvatarGroup component is used to represent a collection of avatars.
@@ -42,10 +42,7 @@ const Badge = (0, _utils.forwardRef)((props, ref) => {
42
42
  merge
43
43
  } = (0, _hooks.useStyles)(classPrefix);
44
44
  const text = typeof content === 'number' && content > maxCount ? `${maxCount}+` : content;
45
- const isOneChar = (0, _react.useMemo)(() => {
46
- var _String;
47
- return ((_String = String(content)) === null || _String === void 0 ? void 0 : _String.length) === 1;
48
- }, [content]);
45
+ const isOneChar = (0, _react.useMemo)(() => String(content)?.length === 1, [content]);
49
46
  const classes = merge(className, withPrefix({
50
47
  wrapper: children
51
48
  }));
@@ -48,7 +48,7 @@ const Breadcrumb = (0, _utils.forwardRef)((props, ref) => {
48
48
  const [showEllipsis, setShowEllipsis] = (0, _react.useState)(true);
49
49
  const handleClickEllipsis = (0, _hooks.useEventCallback)(event => {
50
50
  setShowEllipsis(false);
51
- onExpand === null || onExpand === void 0 || onExpand(event);
51
+ onExpand?.(event);
52
52
  });
53
53
  const content = (0, _react.useMemo)(() => {
54
54
  const count = _utils.rch.count(children);
@@ -63,8 +63,8 @@ const Breadcrumb = (0, _utils.forwardRef)((props, ref) => {
63
63
  return [...items.slice(0, 1), [/*#__PURE__*/_react.default.createElement(_BreadcrumbItem.default, {
64
64
  role: "button",
65
65
  key: "ellipsis",
66
- title: locale === null || locale === void 0 ? void 0 : locale.expandText,
67
- "aria-label": locale === null || locale === void 0 ? void 0 : locale.expandText,
66
+ title: locale?.expandText,
67
+ "aria-label": locale?.expandText,
68
68
  separator: /*#__PURE__*/_react.default.createElement(Separator, null, separator),
69
69
  onClick: handleClickEllipsis
70
70
  }, /*#__PURE__*/_react.default.createElement("span", {
@@ -72,7 +72,7 @@ const Breadcrumb = (0, _utils.forwardRef)((props, ref) => {
72
72
  }, ellipsis))], ...items.slice(items.length - 1, items.length)];
73
73
  }
74
74
  return items;
75
- }, [children, ellipsis, handleClickEllipsis, locale === null || locale === void 0 ? void 0 : locale.expandText, maxItems, separator, showEllipsis]);
75
+ }, [children, ellipsis, handleClickEllipsis, locale?.expandText, maxItems, separator, showEllipsis]);
76
76
  const classes = merge(className, withPrefix());
77
77
  return /*#__PURE__*/_react.default.createElement(_StyledBox.default, (0, _extends2.default)({
78
78
  name: "breadcrumb",
@@ -31,11 +31,11 @@ const Button = (0, _utils.forwardRef)((props, ref) => {
31
31
  children,
32
32
  classPrefix = 'btn',
33
33
  color,
34
- disabled = buttonGroup === null || buttonGroup === void 0 ? void 0 : buttonGroup.disabled,
34
+ disabled = buttonGroup?.disabled,
35
35
  loading,
36
36
  role,
37
37
  ripple = true,
38
- size = (buttonGroup === null || buttonGroup === void 0 ? void 0 : buttonGroup.size) || 'md',
38
+ size = buttonGroup?.size || 'md',
39
39
  startIcon,
40
40
  endIcon,
41
41
  type: typeProp,
@@ -66,16 +66,16 @@ const Button = (0, _utils.forwardRef)((props, ref) => {
66
66
  if (toggleable) {
67
67
  const nextActive = !active;
68
68
  setActive(nextActive);
69
- onToggle === null || onToggle === void 0 || onToggle(nextActive, event);
69
+ onToggle?.(nextActive, event);
70
70
  }
71
- onClick === null || onClick === void 0 || onClick(event);
71
+ onClick?.(event);
72
72
  });
73
73
  const buttonAs = as || (rest.href ? _SafeAnchor.default : 'button');
74
74
  const isCustomElement = buttonAs !== 'button' && buttonAs !== _SafeAnchor.default;
75
75
  const uncertainProps = {
76
76
  [(0, _utils.isDisableableElement)(buttonAs) || buttonAs === _SafeAnchor.default ? 'disabled' : 'aria-disabled']: disabled,
77
- type: typeProp !== null && typeProp !== void 0 ? typeProp : buttonAs === 'button' ? 'button' : undefined,
78
- role: role !== null && role !== void 0 ? role : isCustomElement ? 'button' : undefined
77
+ type: typeProp ?? (buttonAs === 'button' ? 'button' : undefined),
78
+ role: role ?? (isCustomElement ? 'button' : undefined)
79
79
  };
80
80
  return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({
81
81
  as: buttonAs,
@@ -46,16 +46,16 @@ const Calendar = (0, _utils.forwardRef)((props, ref) => {
46
46
  } = (0, _hooks2.useCalendarDate)(value, defaultValue);
47
47
  const handleChange = (0, _hooks.useEventCallback)(nextValue => {
48
48
  setCalendarDate(nextValue);
49
- onChange === null || onChange === void 0 || onChange(nextValue);
49
+ onChange?.(nextValue);
50
50
  if (!(0, _date.isSameMonth)(nextValue, calendarDate)) {
51
- onMonthChange === null || onMonthChange === void 0 || onMonthChange(nextValue);
51
+ onMonthChange?.(nextValue);
52
52
  }
53
53
  });
54
54
  const handleClickToday = (0, _hooks.useEventCallback)(() => {
55
55
  handleChange(new Date());
56
56
  });
57
57
  const handleSelect = (0, _hooks.useEventCallback)(nextValue => {
58
- onSelect === null || onSelect === void 0 || onSelect(nextValue);
58
+ onSelect?.(nextValue);
59
59
  handleChange(nextValue);
60
60
  });
61
61
  const {
@@ -66,10 +66,10 @@ const Calendar = (0, _utils.forwardRef)((props, ref) => {
66
66
  className: prefix('btn-today'),
67
67
  size: "sm",
68
68
  onClick: handleClickToday
69
- }, (locale === null || locale === void 0 ? void 0 : locale.today) || 'Today');
69
+ }, locale?.today || 'Today');
70
70
  const renderTitle = date => /*#__PURE__*/_react.default.createElement(_FormattedDate.FormattedDate, {
71
71
  date: date,
72
- formatStr: (locale === null || locale === void 0 ? void 0 : locale.formattedMonthPattern) || 'MMMM yyyy'
72
+ formatStr: locale?.formattedMonthPattern || 'MMMM yyyy'
73
73
  });
74
74
  const classes = merge(className, prefix('panel', {
75
75
  bordered,
@@ -43,7 +43,7 @@ const CalendarBody = (0, _utils.forwardRef)((props, ref) => {
43
43
  }), /*#__PURE__*/_react.default.createElement(_Grid.default, {
44
44
  rows: (0, _date.getWeekStartDates)(yearMonth, {
45
45
  weekStart,
46
- locale: locale === null || locale === void 0 ? void 0 : locale.dateLocale
46
+ locale: locale?.dateLocale
47
47
  }),
48
48
  "aria-label": getAriaLabelForMonth(yearMonth)
49
49
  }));
@@ -78,8 +78,7 @@ const CalendarContainer = (0, _utils.forwardRef)((props, ref) => {
78
78
  onToggleMonthDropdown
79
79
  });
80
80
  const isDateDisabled = (0, _react.useCallback)(date => {
81
- var _disabledDate;
82
- return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(toJsDate(date))) !== null && _disabledDate !== void 0 ? _disabledDate : false;
81
+ return disabledDate?.(toJsDate(date)) ?? false;
83
82
  }, [disabledDate]);
84
83
  const isMonthDisabled = (0, _react.useCallback)(yearMonth => {
85
84
  return (0, _plainDate.isEveryDayInMonth)(yearMonth, isDateDisabled);
@@ -103,19 +102,19 @@ const CalendarContainer = (0, _utils.forwardRef)((props, ref) => {
103
102
  const handleChangeMonth = (0, _hooks.useEventCallback)((yearMonth, event) => {
104
103
  reset();
105
104
  // Call `onChangeMonth` with the first day in the month
106
- onChangeMonth === null || onChangeMonth === void 0 || onChangeMonth(new Date(yearMonth.year, yearMonth.month - 1, 1), event);
105
+ onChangeMonth?.(new Date(yearMonth.year, yearMonth.month - 1, 1), event);
107
106
  });
108
- const cellClassName = (0, _react.useCallback)(date => cellClassNameProp === null || cellClassNameProp === void 0 ? void 0 : cellClassNameProp(toJsDate(date)), [cellClassNameProp]);
109
- const onMouseMove = (0, _react.useCallback)(date => onMouseMoveProp === null || onMouseMoveProp === void 0 ? void 0 : onMouseMoveProp(toJsDate(date)), [onMouseMoveProp]);
110
- const onSelect = (0, _react.useCallback)((date, event) => onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(toJsDate(date), event), [onSelectProp]);
111
- const renderCell = (0, _react.useCallback)(date => renderCellProp === null || renderCellProp === void 0 ? void 0 : renderCellProp(toJsDate(date)), [renderCellProp]);
112
- const renderCellOnPicker = (0, _react.useCallback)(date => renderCellOnPickerProp === null || renderCellOnPickerProp === void 0 ? void 0 : renderCellOnPickerProp(toJsDate(date)), [renderCellOnPickerProp]);
107
+ const cellClassName = (0, _react.useCallback)(date => cellClassNameProp?.(toJsDate(date)), [cellClassNameProp]);
108
+ const onMouseMove = (0, _react.useCallback)(date => onMouseMoveProp?.(toJsDate(date)), [onMouseMoveProp]);
109
+ const onSelect = (0, _react.useCallback)((date, event) => onSelectProp?.(toJsDate(date), event), [onSelectProp]);
110
+ const renderCell = (0, _react.useCallback)(date => renderCellProp?.(toJsDate(date)), [renderCellProp]);
111
+ const renderCellOnPicker = (0, _react.useCallback)(date => renderCellOnPickerProp?.(toJsDate(date)), [renderCellOnPickerProp]);
113
112
  const handleChangeTime = (0, _hooks.useEventCallback)((time, event) => {
114
113
  let nextDate = calendarDate || (0, _date.startOfToday)();
115
114
  nextDate = (0, _date.setHours)(nextDate, time.hour);
116
115
  nextDate = (0, _date.setMinutes)(nextDate, time.minute);
117
116
  nextDate = (0, _date.setSeconds)(nextDate, time.second);
118
- onChangeTime === null || onChangeTime === void 0 || onChangeTime(nextDate, event);
117
+ onChangeTime?.(nextDate, event);
119
118
  });
120
119
  const contextValue = {
121
120
  date: calendarDate,
@@ -192,30 +191,12 @@ function useTimeDropdownProps(calendarProps) {
192
191
  disabledSeconds
193
192
  } = calendarProps;
194
193
  return (0, _react.useMemo)(() => ({
195
- hideHours: (hour, date) => {
196
- var _hideHours;
197
- return (_hideHours = hideHours === null || hideHours === void 0 ? void 0 : hideHours(hour, toJsDate(date))) !== null && _hideHours !== void 0 ? _hideHours : false;
198
- },
199
- hideMinutes: (minute, date) => {
200
- var _hideMinutes;
201
- return (_hideMinutes = hideMinutes === null || hideMinutes === void 0 ? void 0 : hideMinutes(minute, toJsDate(date))) !== null && _hideMinutes !== void 0 ? _hideMinutes : false;
202
- },
203
- hideSeconds: (second, date) => {
204
- var _hideSeconds;
205
- return (_hideSeconds = hideSeconds === null || hideSeconds === void 0 ? void 0 : hideSeconds(second, toJsDate(date))) !== null && _hideSeconds !== void 0 ? _hideSeconds : false;
206
- },
207
- disabledHours: (hour, date) => {
208
- var _disabledHours;
209
- return (_disabledHours = disabledHours === null || disabledHours === void 0 ? void 0 : disabledHours(hour, toJsDate(date))) !== null && _disabledHours !== void 0 ? _disabledHours : false;
210
- },
211
- disabledMinutes: (minute, date) => {
212
- var _disabledMinutes;
213
- return (_disabledMinutes = disabledMinutes === null || disabledMinutes === void 0 ? void 0 : disabledMinutes(minute, toJsDate(date))) !== null && _disabledMinutes !== void 0 ? _disabledMinutes : false;
214
- },
215
- disabledSeconds: (second, date) => {
216
- var _disabledSeconds;
217
- return (_disabledSeconds = disabledSeconds === null || disabledSeconds === void 0 ? void 0 : disabledSeconds(second, toJsDate(date))) !== null && _disabledSeconds !== void 0 ? _disabledSeconds : false;
218
- }
194
+ hideHours: (hour, date) => hideHours?.(hour, toJsDate(date)) ?? false,
195
+ hideMinutes: (minute, date) => hideMinutes?.(minute, toJsDate(date)) ?? false,
196
+ hideSeconds: (second, date) => hideSeconds?.(second, toJsDate(date)) ?? false,
197
+ disabledHours: (hour, date) => disabledHours?.(hour, toJsDate(date)) ?? false,
198
+ disabledMinutes: (minute, date) => disabledMinutes?.(minute, toJsDate(date)) ?? false,
199
+ disabledSeconds: (second, date) => disabledSeconds?.(second, toJsDate(date)) ?? false
219
200
  }), [hideHours, hideMinutes, hideSeconds, disabledHours, disabledMinutes, disabledSeconds]);
220
201
  }
221
202
  function toJsDate(date) {