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
@@ -16,7 +16,7 @@ const OkButton = ({
16
16
  onOk,
17
17
  children
18
18
  }) => {
19
- const disabled = disableOkBtn === null || disableOkBtn === void 0 ? void 0 : disableOkBtn(calendarDate);
19
+ const disabled = disableOkBtn?.(calendarDate);
20
20
  return /*#__PURE__*/_react.default.createElement(_Button.default, {
21
21
  appearance: "primary",
22
22
  size: "sm",
@@ -47,13 +47,13 @@ const Toolbar = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
47
47
  prefix,
48
48
  withPrefix
49
49
  } = (0, _hooks.useStyles)(classPrefix);
50
- if (hideOkBtn && (ranges === null || ranges === void 0 ? void 0 : ranges.length) === 0) {
50
+ if (hideOkBtn && ranges?.length === 0) {
51
51
  return null;
52
52
  }
53
53
  const classes = merge(className, withPrefix());
54
54
 
55
55
  // If there are no ranges, the ok button should be aligned to the right
56
- const justify = (ranges === null || ranges === void 0 ? void 0 : ranges.length) === 0 ? 'flex-end' : 'space-between';
56
+ const justify = ranges?.length === 0 ? 'flex-end' : 'space-between';
57
57
  return /*#__PURE__*/_react.default.createElement(_Stack.default, (0, _extends2.default)({
58
58
  ref: ref,
59
59
  className: classes,
@@ -74,7 +74,7 @@ const Toolbar = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
74
74
  disableOkBtn: disableOkBtn,
75
75
  calendarDate: calendarDate,
76
76
  onOk: onOk
77
- }, locale === null || locale === void 0 ? void 0 : locale.ok)));
77
+ }, locale?.ok)));
78
78
  });
79
79
  Toolbar.displayName = 'Toolbar';
80
80
  var _default = exports.default = Toolbar;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface UseCustomizedInputProps<T> {
3
2
  value?: T | null;
4
3
  formatStr: string;
@@ -40,8 +40,8 @@ function useFocus(props) {
40
40
  const formatStr = showMonth ? formattedMonthPattern : formattedDayPattern;
41
41
  const ariaLabel = (0, _utils.getAriaLabel)(date, formatStr, formatDate);
42
42
  const container = getOverlayContainer();
43
- const dateElement = container === null || container === void 0 ? void 0 : container.querySelector(`[aria-label="${ariaLabel}"]`);
44
- if ((dateElement === null || dateElement === void 0 ? void 0 : dateElement.getAttribute('aria-disabled')) === 'true') {
43
+ const dateElement = container?.querySelector(`[aria-label="${ariaLabel}"]`);
44
+ if (dateElement?.getAttribute('aria-disabled') === 'true') {
45
45
  return false;
46
46
  }
47
47
  return true;
@@ -53,8 +53,8 @@ function useFocus(props) {
53
53
  const focusSelectedDate = () => {
54
54
  (0, _delay.default)(() => {
55
55
  const container = getOverlayContainer();
56
- const selectedElement = container === null || container === void 0 ? void 0 : container.querySelector('[aria-selected="true"]');
57
- selectedElement === null || selectedElement === void 0 || selectedElement.focus();
56
+ const selectedElement = container?.querySelector('[aria-selected="true"]');
57
+ selectedElement?.focus();
58
58
  }, 1);
59
59
  };
60
60
 
@@ -62,10 +62,7 @@ function useFocus(props) {
62
62
  * Focus on the input element
63
63
  */
64
64
  const focusInput = (0, _hooks.useEventCallback)(() => {
65
- (0, _delay.default)(() => {
66
- var _target$current;
67
- return (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
68
- }, 1);
65
+ (0, _delay.default)(() => target.current?.focus(), 1);
69
66
  });
70
67
  const onKeyFocusEvent = (0, _hooks.useEventCallback)((event, options) => {
71
68
  const {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface UseMonthViewProps {
3
2
  onToggleMonthDropdown?: (toggle: boolean) => void;
4
3
  }
@@ -15,7 +15,7 @@ function useMonthView(props) {
15
15
  * The callback triggered after the month selection box is opened or closed.
16
16
  */
17
17
  const toggleMonthView = (0, _hooks.useEventCallback)(show => {
18
- onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 || onToggleMonthDropdown(show);
18
+ onToggleMonthDropdown?.(show);
19
19
  setMonthView(show);
20
20
  });
21
21
  return {
@@ -1,4 +1,3 @@
1
- /// <reference types="lodash" />
2
1
  import { ToolbarProps } from './Toolbar';
3
2
  import type { DateOptionPreset } from '../internals/types';
4
3
  import type { InnerRange } from './types';
@@ -9,7 +8,7 @@ export declare function getDefaultRanges<T extends Date | DateRange>(value: T):
9
8
  * @param ranges
10
9
  * @param calendarDate
11
10
  */
12
- export declare const getRanges: <T extends Date | DateRange>({ ranges, calendarDate }: Pick<ToolbarProps<T, T>, "calendarDate" | "ranges">) => InnerRange<T | null>[];
11
+ export declare const getRanges: <T extends Date | DateRange>({ ranges, calendarDate }: Pick<ToolbarProps<T>, "ranges" | "calendarDate">) => InnerRange<T | null>[];
13
12
  export declare function splitRanges<T extends Date | DateRange>(ranges?: DateOptionPreset<T | null>[]): {
14
13
  sideRanges: DateOptionPreset<T | null>[] | undefined;
15
14
  bottomRanges: DateOptionPreset<T | null>[] | undefined;
@@ -62,10 +62,10 @@ const getRanges = ({
62
62
  exports.getRanges = getRanges;
63
63
  function splitRanges(ranges) {
64
64
  // The shortcut option on the left side of the calendar panel
65
- const sideRanges = ranges === null || ranges === void 0 ? void 0 : ranges.filter(range => (range === null || range === void 0 ? void 0 : range.placement) === 'left');
65
+ const sideRanges = ranges?.filter(range => range?.placement === 'left');
66
66
 
67
67
  // The shortcut option on the bottom of the calendar panel
68
- const bottomRanges = ranges === null || ranges === void 0 ? void 0 : ranges.filter(range => (range === null || range === void 0 ? void 0 : range.placement) === 'bottom' || (range === null || range === void 0 ? void 0 : range.placement) === undefined);
68
+ const bottomRanges = ranges?.filter(range => range?.placement === 'bottom' || range?.placement === undefined);
69
69
  return {
70
70
  sideRanges,
71
71
  bottomRanges
@@ -63,11 +63,11 @@ const DateRangeInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
63
63
  };
64
64
  const startDateState = (0, _DateInput.useDateInputState)({
65
65
  ...dateInputOptions,
66
- date: (value === null || value === void 0 ? void 0 : value[0]) || null
66
+ date: value?.[0] || null
67
67
  });
68
68
  const endDateState = (0, _DateInput.useDateInputState)({
69
69
  ...dateInputOptions,
70
- date: (value === null || value === void 0 ? void 0 : value[1]) || null
70
+ date: value?.[1] || null
71
71
  });
72
72
  const {
73
73
  isMoveCursor,
@@ -100,8 +100,8 @@ const DateRangeInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
100
100
  };
101
101
  const setSelectionRange = (0, _DateInput.useInputSelection)(inputRef);
102
102
  const handleChange = (0, _hooks.useEventCallback)((date, event) => {
103
- const nextValue = dateType === _utils2.DateType.Start ? [date, value === null || value === void 0 ? void 0 : value[1]] : [value === null || value === void 0 ? void 0 : value[0], date];
104
- onChange === null || onChange === void 0 || onChange(nextValue, event);
103
+ const nextValue = dateType === _utils2.DateType.Start ? [date, value?.[1]] : [value?.[0], date];
104
+ onChange?.(nextValue, event);
105
105
  setValue(nextValue);
106
106
  });
107
107
  const handleClear = (0, _hooks.useEventCallback)(event => {
@@ -110,7 +110,7 @@ const DateRangeInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
110
110
  setSelectionRange(0, 0);
111
111
  reset();
112
112
  setValue(null);
113
- onChange === null || onChange === void 0 || onChange(null, event);
113
+ onChange?.(null, event);
114
114
  });
115
115
  const onSegmentChange = (0, _hooks.useEventCallback)((event, nextDirection) => {
116
116
  const input = event.target;
@@ -253,18 +253,17 @@ const DateRangeInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
253
253
  }
254
254
  });
255
255
  const handlePaste = (0, _hooks.useEventCallback)(event => {
256
- var _event$clipboardData;
257
256
  event.preventDefault();
258
- const pasteText = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData('text');
257
+ const pasteText = event.clipboardData?.getData('text');
259
258
  const [start, end] = pasteText.split(character).map(date => parseDate(date, formatStr));
260
259
  if ((0, _date.isValid)(start) && (0, _date.isValid)(end)) {
261
260
  const nextValue = [start, end];
262
- onChange === null || onChange === void 0 || onChange(nextValue, event);
261
+ onChange?.(nextValue, event);
263
262
  setValue(nextValue);
264
263
  startDateState.setNewDate(start);
265
264
  endDateState.setNewDate(end);
266
265
  }
267
- onPaste === null || onPaste === void 0 || onPaste(event);
266
+ onPaste?.(event);
268
267
  });
269
268
  const onKeyboardInput = (0, _DateInput.useKeyboardInputEvent)({
270
269
  onSegmentChange,
@@ -37,10 +37,10 @@ const Calendar = (0, _utils.forwardRef)((props, ref) => {
37
37
  onSelect
38
38
  });
39
39
  const disableCalendarDate = (0, _react.useCallback)(date => {
40
- return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date, value, _constants.DATERANGE_DISABLED_TARGET.CALENDAR);
40
+ return disabledDate?.(date, value, _constants.DATERANGE_DISABLED_TARGET.CALENDAR);
41
41
  }, [disabledDate, value]);
42
42
  const handleRenderTitle = (0, _react.useCallback)(date => {
43
- return renderTitle === null || renderTitle === void 0 ? void 0 : renderTitle(date, calendarKey);
43
+ return renderTitle?.(date, calendarKey);
44
44
  }, [renderTitle, calendarKey]);
45
45
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
46
46
  "data-testid": `calendar-${calendarKey}`
@@ -37,7 +37,6 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
37
37
  * @see https://rsuitejs.com/components/date-range-picker
38
38
  */
39
39
  const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
40
- var _ref, _ref2;
41
40
  const {
42
41
  formatDate,
43
42
  propsWithDefaults
@@ -112,9 +111,9 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
112
111
  merge,
113
112
  prefix
114
113
  } = (0, _hooks.useStyles)(classPrefix);
115
- const formatStr = format || (locale === null || locale === void 0 ? void 0 : locale.shortDateFormat) || 'yyyy-MM-dd';
114
+ const formatStr = format || locale?.shortDateFormat || 'yyyy-MM-dd';
116
115
  const rangeFormatStr = `${formatStr}${character}${formatStr}`;
117
- const [value, setValue] = (0, _hooks.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null);
116
+ const [value, setValue] = (0, _hooks.useControlled)(valueProp, defaultValue ?? null);
118
117
  const {
119
118
  mode,
120
119
  has
@@ -148,14 +147,14 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
148
147
  * the second click to determine the end date of the date range.
149
148
  *
150
149
  */
151
- const [selectedDates, setSelectedDates] = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []);
150
+ const [selectedDates, setSelectedDates] = (0, _react.useState)(valueProp ?? defaultValue ?? []);
152
151
 
153
152
  // The date of the current hover, used to reduce the calculation of `handleMouseMove`
154
153
  const [hoverDateRange, setHoverDateRange] = (0, _react.useState)(value);
155
154
 
156
155
  // The displayed calendar panel is rendered based on this value.
157
156
  const [calendarDateRange, setCalendarDateRangeValue] = (0, _react.useState)((0, _utils.getSafeCalendarDate)({
158
- value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null,
157
+ value: value ?? defaultCalendarValue ?? null,
159
158
  allowSameMonth
160
159
  }));
161
160
 
@@ -178,7 +177,7 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
178
177
  */
179
178
  const getCalendarDatetime = calendarKey => {
180
179
  const index = calendarKey === 'start' ? 0 : 1;
181
- return (calendarDateRange === null || calendarDateRange === void 0 ? void 0 : calendarDateRange[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);
180
+ return calendarDateRange?.[index] || defaultCalendarValue?.[index];
182
181
  };
183
182
 
184
183
  /**
@@ -193,7 +192,7 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
193
192
  let nextValue = dateRange;
194
193
 
195
194
  // The time should remain the same when the dates in the date range are changed.
196
- if (has('time') && dateRange !== null && dateRange !== void 0 && dateRange.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {
195
+ if (has('time') && dateRange?.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {
197
196
  const startDate = (0, _date.copyTime)({
198
197
  from: getCalendarDatetime('start'),
199
198
  to: dateRange[0]
@@ -219,8 +218,8 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
219
218
  };
220
219
  (0, _react.useEffect)(() => {
221
220
  // If value changes, update the selected and hover date values on the calendar panel.
222
- setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
223
- setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
221
+ setSelectedDates(valueProp ?? []);
222
+ setHoverDateRange(valueProp ?? null);
224
223
  }, [valueProp]);
225
224
  const getInputHtmlSize = () => {
226
225
  const padding = 4;
@@ -241,7 +240,7 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
241
240
  return date => (0, _utils.getWeekHoverRange)(date, {
242
241
  isoWeek,
243
242
  weekStart,
244
- locale: locale === null || locale === void 0 ? void 0 : locale.dateLocale
243
+ locale: locale?.dateLocale
245
244
  });
246
245
  } else if (hoverRange === 'month') {
247
246
  return _utils.getMonthHoverRange;
@@ -264,10 +263,10 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
264
263
  };
265
264
  const setDateRange = (event, nextValue, closeOverlay = true) => {
266
265
  // If nextValue is null, it means that the user is erasing the selected dates.
267
- setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
266
+ setSelectedDates(nextValue ?? []);
268
267
  setValue(nextValue);
269
268
  if (!(0, _utils.isSameRange)(nextValue, value, formatStr)) {
270
- onChange === null || onChange === void 0 || onChange(nextValue, event);
269
+ onChange?.(nextValue, event);
271
270
  }
272
271
 
273
272
  // `closeOverlay` default value is `true`
@@ -309,14 +308,14 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
309
308
  */
310
309
  const handleSelectDate = (0, _hooks.useEventCallback)((index, date, event) => {
311
310
  const calendarKey = index === 0 ? 'start' : 'end';
312
- let nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
311
+ let nextSelectDates = hoverDateRange ?? [];
313
312
  const hoverRangeValue = getHoverRangeValue(date);
314
313
  const noHoverRangeValid = (0, _isNil.default)(hoverRangeValue);
315
314
 
316
315
  // in `oneTap` mode
317
316
  if (oneTap) {
318
317
  setDateRange(event, noHoverRangeValid ? [(0, _date.startOfDay)(date), (0, _date.endOfDay)(date)] : hoverRangeValue);
319
- onSelect === null || onSelect === void 0 || onSelect(date, event);
318
+ onSelect?.(date, event);
320
319
  return;
321
320
  }
322
321
 
@@ -369,7 +368,7 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
369
368
  eventName: 'changeDate'
370
369
  });
371
370
  }
372
- onSelect === null || onSelect === void 0 || onSelect(date, event);
371
+ onSelect?.(date, event);
373
372
  setSelectedIdle(!isSelectedIdle);
374
373
  });
375
374
 
@@ -427,11 +426,11 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
427
426
  } else {
428
427
  // Reset the date on the calendar to the default date
429
428
  nextCalendarDate = (0, _utils.getSafeCalendarDate)({
430
- value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null,
429
+ value: defaultCalendarValue ?? null,
431
430
  allowSameMonth
432
431
  });
433
432
  }
434
- setSelectedDates(value !== null && value !== void 0 ? value : []);
433
+ setSelectedDates(value ?? []);
435
434
  setCalendarDateRange({
436
435
  dateRange: nextCalendarDate
437
436
  });
@@ -452,9 +451,9 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
452
451
  if (closeOverlay) {
453
452
  setDateRange(event, value, closeOverlay);
454
453
  } else {
455
- setSelectedDates(value !== null && value !== void 0 ? value : []);
454
+ setSelectedDates(value ?? []);
456
455
  }
457
- onShortcutClick === null || onShortcutClick === void 0 || onShortcutClick(range, event);
456
+ onShortcutClick?.(range, event);
458
457
 
459
458
  // End unfinished selections.
460
459
  setSelectedIdle(true);
@@ -469,14 +468,14 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
469
468
  const handleClickOK = (0, _hooks.useEventCallback)(event => {
470
469
  const nextValue = calculateDateRange();
471
470
  setDateRange(event, nextValue);
472
- onOk === null || onOk === void 0 || onOk(nextValue, event);
471
+ onOk?.(nextValue, event);
473
472
  });
474
473
  const handleClean = (0, _hooks.useEventCallback)(event => {
475
474
  setCalendarDateRange({
476
475
  dateRange: null
477
476
  });
478
477
  setDateRange(event, null);
479
- onClean === null || onClean === void 0 || onClean(event);
478
+ onClean?.(event);
480
479
  event.stopPropagation();
481
480
  });
482
481
 
@@ -565,20 +564,17 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
565
564
  return isRangeDisabled(startDate, endDate, _constants.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
566
565
  };
567
566
  const handleClose = (0, _hooks.useEventCallback)(() => {
568
- var _trigger$current, _trigger$current$clos;
569
- (_trigger$current = trigger.current) === null || _trigger$current === void 0 || (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 || _trigger$current$clos.call(_trigger$current);
567
+ trigger.current?.close?.();
570
568
  });
571
569
  const handleInputKeyDown = (0, _hooks.useEventCallback)(event => {
572
570
  (0, _Picker.onMenuKeyDown)(event, {
573
571
  esc: handleClose,
574
572
  enter: () => {
575
- var _trigger$current2;
576
573
  const {
577
574
  open
578
- } = ((_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.getState()) || {};
575
+ } = trigger.current?.getState() || {};
579
576
  if (!open) {
580
- var _trigger$current3;
581
- (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 || _trigger$current3.open();
577
+ trigger.current?.open();
582
578
  }
583
579
  }
584
580
  });
@@ -619,7 +615,7 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
619
615
  format: formatStr,
620
616
  value: selectedDates,
621
617
  monthDropdownProps,
622
- hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
618
+ hoverRangeValue: hoverDateRange ?? undefined,
623
619
  hideHours,
624
620
  hideMinutes,
625
621
  hideSeconds,
@@ -730,7 +726,7 @@ const DateRangePicker = (0, _utils3.forwardRef)((props, ref) => {
730
726
  selectedDone: isSelectedIdle,
731
727
  target: _constants.DATERANGE_DISABLED_TARGET.INPUT
732
728
  };
733
- if (isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(startDate, disabledOptions) || isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(endDate, disabledOptions)) {
729
+ if (isDateDisabled?.(startDate, disabledOptions) || isDateDisabled?.(endDate, disabledOptions)) {
734
730
  return true;
735
731
  }
736
732
  return false;
@@ -21,7 +21,7 @@ function Header(props) {
21
21
  clickable,
22
22
  onSelect
23
23
  } = props;
24
- const [startDate, endDate] = value !== null && value !== void 0 ? value : [null, null];
24
+ const [startDate, endDate] = value ?? [null, null];
25
25
  const v = startDate && endDate ? [startDate, endDate].sort(_date.compareAsc) : [startDate, endDate];
26
26
  const start = v[0] ? /*#__PURE__*/_react.default.createElement(_FormattedDate.FormattedDate, {
27
27
  date: v[0],
@@ -40,7 +40,7 @@ function Header(props) {
40
40
  size: "xs",
41
41
  appearance: "subtle",
42
42
  className: prefix('header-date'),
43
- onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect('start'),
43
+ onClick: () => onSelect?.('start'),
44
44
  "aria-label": "Select start date"
45
45
  }, start), /*#__PURE__*/_react.default.createElement("span", {
46
46
  className: prefix('header-character')
@@ -48,7 +48,7 @@ function Header(props) {
48
48
  size: "xs",
49
49
  appearance: "subtle",
50
50
  className: prefix('header-date'),
51
- onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect('end'),
51
+ onClick: () => onSelect?.('end'),
52
52
  "aria-label": "Select end date"
53
53
  }, end)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
54
54
  className: prefix('header-date')
@@ -27,7 +27,7 @@ function allowedMaxDays(days) {
27
27
  return (date, selectValue, selectedDone, target) => {
28
28
  let beforeLimit = false;
29
29
  let afterLimit = false;
30
- if (selectValue !== null && selectValue !== void 0 && selectValue[0]) {
30
+ if (selectValue?.[0]) {
31
31
  const startDate = selectValue[0];
32
32
  beforeLimit = (0, _utils.composeFunctions)(f => DateUtils.addDays(f, -days + 1), f => isAfterDay(f, date))(startDate);
33
33
  afterLimit = (0, _utils.composeFunctions)(f => DateUtils.addDays(f, days - 1), f => isBeforeDay(f, date))(startDate);
@@ -46,7 +46,7 @@ function allowedDays(days) {
46
46
  return (date, selectValue, selectedDone, target) => {
47
47
  let beforeLimit = false;
48
48
  let afterLimit = false;
49
- if (selectValue !== null && selectValue !== void 0 && selectValue[0]) {
49
+ if (selectValue?.[0]) {
50
50
  const startDate = selectValue[0];
51
51
  beforeLimit = (0, _utils.composeFunctions)(f => DateUtils.addDays(f, -days + 1), f => !DateUtils.isSameDay(f, date))(startDate);
52
52
  afterLimit = (0, _utils.composeFunctions)(f => DateUtils.addDays(f, days - 1), f => !DateUtils.isSameDay(f, date))(startDate);
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface CalendarHandlerProps {
3
2
  index: number;
4
3
  calendarDateRange: Date[];
@@ -16,19 +16,19 @@ function useCalendarHandlers({
16
16
  }) {
17
17
  const calendarDate = (0, _react.useMemo)(() => calendarDateRange[index], [calendarDateRange, index]);
18
18
  const handleSelect = (0, _hooks.useEventCallback)((date, event) => {
19
- onSelect === null || onSelect === void 0 || onSelect(index, date, event);
19
+ onSelect?.(index, date, event);
20
20
  });
21
21
  const handleChangeMonth = (0, _hooks.useEventCallback)(nextPageDate => {
22
- onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 || onChangeCalendarMonth(index, nextPageDate);
22
+ onChangeCalendarMonth?.(index, nextPageDate);
23
23
  });
24
24
  const handleChangeTime = (0, _hooks.useEventCallback)(nextPageDate => {
25
- onChangeCalendarTime === null || onChangeCalendarTime === void 0 || onChangeCalendarTime(index, nextPageDate);
25
+ onChangeCalendarTime?.(index, nextPageDate);
26
26
  });
27
27
  const handleMoveForward = (0, _hooks.useEventCallback)(() => {
28
- onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 || onChangeCalendarMonth(index, (0, _date.addMonths)(calendarDate, 1));
28
+ onChangeCalendarMonth?.(index, (0, _date.addMonths)(calendarDate, 1));
29
29
  });
30
30
  const handleMoveBackward = (0, _hooks.useEventCallback)(() => {
31
- onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 || onChangeCalendarMonth(index, (0, _date.addMonths)(calendarDate, -1));
31
+ onChangeCalendarMonth?.(index, (0, _date.addMonths)(calendarDate, -1));
32
32
  });
33
33
  return {
34
34
  calendarDate,
@@ -11,9 +11,8 @@ function getSafeCalendarDate({
11
11
  calendarKey = 'start',
12
12
  allowSameMonth
13
13
  }) {
14
- var _value;
15
14
  // Update calendarDate if the value is not null
16
- value = (_value = value) !== null && _value !== void 0 ? _value : [];
15
+ value = value ?? [];
17
16
  const gap = allowSameMonth ? 0 : 1;
18
17
  if (value[0] && value[1]) {
19
18
  const diffMonth = (0, _date.differenceInCalendarMonths)(value[1], value[0]);
@@ -134,11 +134,11 @@ const Dropdown = (0, _utils.forwardRef)((props, ref) => {
134
134
  }, popupProps), children);
135
135
  },
136
136
  onToggleMenu: open => {
137
- onToggle === null || onToggle === void 0 || onToggle(open);
137
+ onToggle?.(open);
138
138
  if (open) {
139
- onOpen === null || onOpen === void 0 || onOpen();
139
+ onOpen?.();
140
140
  } else {
141
- onClose === null || onClose === void 0 || onClose();
141
+ onClose?.();
142
142
  }
143
143
  }
144
144
  }, ({
@@ -51,12 +51,11 @@ const DropdownItem = (0, _utils.forwardRef)((props, ref) => {
51
51
  prefix
52
52
  } = (0, _hooks.useStyles)(classPrefix);
53
53
  const handleSelectItem = (0, _react.useCallback)(event => {
54
- var _dropdown$onSelect;
55
- onSelect === null || onSelect === void 0 || onSelect(eventKey, event);
56
- dropdown === null || dropdown === void 0 || (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 || _dropdown$onSelect.call(dropdown, eventKey, event);
54
+ onSelect?.(eventKey, event);
55
+ dropdown?.onSelect?.(eventKey, event);
57
56
  }, [onSelect, eventKey, dropdown]);
58
- const selected = activeProp || !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey);
59
- const dispatch = dropdown === null || dropdown === void 0 ? void 0 : dropdown.dispatch;
57
+ const selected = activeProp || !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(dropdown?.activeKey, eventKey);
58
+ const dispatch = dropdown?.dispatch;
60
59
  (0, _react.useEffect)(() => {
61
60
  if (dispatch) {
62
61
  dispatch({
@@ -39,5 +39,5 @@ export interface DropdownMenuProps<T = string | number> extends StandardProps {
39
39
  * </Dropdown.Menu>
40
40
  * </Dropdown>
41
41
  */
42
- declare const DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps<string | number> & SanitizedHTMListProps<HTMLElement, React.HTMLAttributes<HTMLElement>> & React.RefAttributes<HTMLElement>>;
42
+ declare const DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps<string | number> & SanitizedHTMListProps & React.RefAttributes<HTMLElement>>;
43
43
  export default DropdownMenu;
@@ -54,7 +54,7 @@ const DropdownMenu = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
54
54
  rtl
55
55
  } = (0, _hooks.useCustom)();
56
56
  const handleToggleSubmenu = (0, _react.useCallback)((_, event) => {
57
- onToggle === null || onToggle === void 0 || onToggle(eventKey, event);
57
+ onToggle?.(eventKey, event);
58
58
  }, [eventKey, onToggle]);
59
59
  const {
60
60
  merge,
@@ -3,6 +3,7 @@ import { FormControlComponent } from '../FormControl';
3
3
  import { FormInstance } from './hooks/useFormRef';
4
4
  import { Schema } from 'schema-typed';
5
5
  import type { WithAsProps, CheckTriggerType } from '../internals/types';
6
+ import type { Resolver } from './resolvers';
6
7
  export interface FormProps<V = Record<string, any>, M = any, E = {
7
8
  [P in keyof V]?: M;
8
9
  }> extends WithAsProps, Omit<FormHTMLAttributes<HTMLFormElement>, 'onChange' | 'onSubmit' | 'onError' | 'onReset'> {
@@ -40,6 +41,42 @@ export interface FormProps<V = Record<string, any>, M = any, E = {
40
41
  * @see https://github.com/rsuite/schema-typed
41
42
  */
42
43
  model?: Schema;
44
+ /**
45
+ * A resolver function for integrating third-party validation libraries such as
46
+ * Yup, Zod, AJV, Joi, Valibot, etc.
47
+ *
48
+ * When provided, the `resolver` takes precedence over the `model` prop for
49
+ * form-level validation (`check` / `checkAsync`). Field-level inline `rule`
50
+ * props on `<Form.Control>` components are still respected.
51
+ *
52
+ * The resolver receives the current form values and must return (or resolve to)
53
+ * a `{ errors }` object where each key is a field name and each value is an
54
+ * error message or error object. An empty `errors` object means the form is valid.
55
+ *
56
+ * **Note:** If the resolver is asynchronous, form-level sync validation
57
+ * (`check()`) will return `false` and log a warning. Use `checkAsync()` or
58
+ * rely on the `onSubmit` callback (which always awaits the resolver).
59
+ *
60
+ * @example
61
+ * ```tsx
62
+ * import * as yup from 'yup';
63
+ *
64
+ * const schema = yup.object({ name: yup.string().email().required() });
65
+ * const resolver = async (formValue) => {
66
+ * try {
67
+ * await schema.validate(formValue, { abortEarly: false });
68
+ * return { errors: {} };
69
+ * } catch (e) {
70
+ * const errors = {};
71
+ * e.inner.forEach(err => { if (err.path) errors[err.path] = err.message; });
72
+ * return { errors };
73
+ * }
74
+ * };
75
+ *
76
+ * <Form resolver={resolver} onSubmit={handleSubmit}>…</Form>
77
+ * ```
78
+ */
79
+ resolver?: Resolver<V>;
43
80
  /**
44
81
  * Make the form readonly
45
82
  */
@@ -98,9 +135,7 @@ export interface FormProps<V = Record<string, any>, M = any, E = {
98
135
  declare const Form: import("../internals/types").InternalRefForwardingComponent<"form", FormProps<Record<string, any>, any, {
99
136
  [x: string]: any;
100
137
  }> & {
101
- ref?: React.Ref<FormInstance<Record<string, any>, string, {
102
- [x: string]: string | undefined;
103
- }>> | undefined;
138
+ ref?: React.Ref<FormInstance>;
104
139
  }, never> & {
105
140
  Stack: import("../internals/types").InternalRefForwardingComponent<"span", import("../FormStack").FormStackProps, never> & Record<string, never>;
106
141
  Control: FormControlComponent;