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
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { BaseBoxProps } from '../internals/Box';
3
2
  import type { ListProps } from '../internals/Windowing';
4
3
  import type { TreeNode } from '../internals/Tree/types';
@@ -6,8 +5,8 @@ import type { TreeNode } from '../internals/Tree/types';
6
5
  * Tree Node Drag Type
7
6
  */
8
7
  export declare enum TREE_NODE_DROP_POSITION {
9
- DRAG_OVER = 0,
10
- DRAG_OVER_TOP = 1,
8
+ DRAG_OVER = 0,// drag node in tree node
9
+ DRAG_OVER_TOP = 1,// drag node on tree node
11
10
  DRAG_OVER_BOTTOM = 2
12
11
  }
13
12
  export interface DropData<T> {
@@ -2,7 +2,7 @@
2
2
  * Strategy for walking the tree.
3
3
  */
4
4
  export declare enum WalkTreeStrategy {
5
- DFS = 0,
5
+ DFS = 0,// Depth-first search
6
6
  BFS = 1
7
7
  }
8
8
  /**
@@ -63,9 +63,8 @@ export const getActiveItem = (focusItemValue, flattenedNodes, valueKey) => {
63
63
  *
64
64
  */
65
65
  export const focusTreeNode = (refKey, treeNodeRefs) => {
66
- var _treeItem$focus;
67
66
  const treeItem = treeNodeRefs[refKey];
68
- treeItem === null || treeItem === void 0 || (_treeItem$focus = treeItem.focus) === null || _treeItem$focus === void 0 || _treeItem$focus.call(treeItem);
67
+ treeItem?.focus?.();
69
68
  };
70
69
  /**
71
70
  * Focuses on the next item in a tree.
@@ -164,9 +163,8 @@ export function scrollToActiveTreeNode(props) {
164
163
  formattedNodes
165
164
  } = props;
166
165
  if (virtualized && value) {
167
- var _list$scrollToItem;
168
166
  const scrollIndex = getScrollToIndex(formattedNodes, value, valueKey);
169
- list === null || list === void 0 || (_list$scrollToItem = list.scrollToItem) === null || _list$scrollToItem === void 0 || _list$scrollToItem.call(list, scrollIndex);
167
+ list?.scrollToItem?.(scrollIndex);
170
168
  }
171
169
  }
172
170
  export const focusCurrentItem = props => {
@@ -174,10 +172,9 @@ export const focusCurrentItem = props => {
174
172
  selector = SELECTED_TREEITEM_SELECTOR,
175
173
  container
176
174
  } = props;
177
- const activeItem = container === null || container === void 0 ? void 0 : container.querySelector(selector);
175
+ const activeItem = container?.querySelector(selector);
178
176
  if (activeItem) {
179
- var _activeItem$focus, _activeItem$dataset;
180
- activeItem === null || activeItem === void 0 || (_activeItem$focus = activeItem.focus) === null || _activeItem$focus === void 0 || _activeItem$focus.call(activeItem);
181
- return (_activeItem$dataset = activeItem.dataset) === null || _activeItem$dataset === void 0 ? void 0 : _activeItem$dataset.key;
177
+ activeItem?.focus?.();
178
+ return activeItem.dataset?.key;
182
179
  }
183
180
  };
@@ -5,11 +5,9 @@
5
5
  export function getNodeParentKeys(nodes, node, valueKey) {
6
6
  const parentKeys = [];
7
7
  const traverse = node => {
8
- var _node$parent;
9
- if (node !== null && node !== void 0 && (_node$parent = node.parent) !== null && _node$parent !== void 0 && _node$parent.refKey) {
10
- var _node$parent2;
8
+ if (node?.parent?.refKey) {
11
9
  traverse(nodes[node.parent.refKey]);
12
- parentKeys.push(node === null || node === void 0 || (_node$parent2 = node.parent) === null || _node$parent2 === void 0 ? void 0 : _node$parent2[valueKey]);
10
+ parentKeys.push(node?.parent?.[valueKey]);
13
11
  }
14
12
  };
15
13
  traverse(node);
@@ -2,4 +2,4 @@ import type { TreeNode } from '../../internals/Tree/types';
2
2
  /**
3
3
  * Checks if a node has visible children.
4
4
  */
5
- export declare function hasVisibleChildren(node: TreeNode, childrenKey: string): any;
5
+ export declare function hasVisibleChildren(node: TreeNode, childrenKey: string): boolean;
@@ -16,8 +16,8 @@ export function handleLeftArrow(props) {
16
16
  return;
17
17
  }
18
18
  if (expand) {
19
- onExpand === null || onExpand === void 0 || onExpand(focusItem, expand);
20
- } else if (focusItem !== null && focusItem !== void 0 && focusItem.parent) {
19
+ onExpand?.(focusItem, expand);
20
+ } else if (focusItem?.parent) {
21
21
  onFocusItem();
22
22
  }
23
23
  }
@@ -40,7 +40,7 @@ export function handleRightArrow(props) {
40
40
  return;
41
41
  }
42
42
  if (!expand) {
43
- onExpand === null || onExpand === void 0 || onExpand(focusItem, expand);
43
+ onExpand?.(focusItem, expand);
44
44
  } else {
45
45
  onFocusItem();
46
46
  }
@@ -135,8 +135,7 @@ const TreePicker = forwardRef((props, ref) => {
135
135
  onEntered
136
136
  });
137
137
  const handleSelect = useEventCallback((treeNode, value, event) => {
138
- var _target$current, _trigger$current, _trigger$current$clos;
139
- onSelect === null || onSelect === void 0 || onSelect(treeNode, value, event);
138
+ onSelect?.(treeNode, value, event);
140
139
 
141
140
  // Only leaf nodes can update the value and close the picker.
142
141
  if (onlyLeafSelectable && !isLeafNode(treeNode)) {
@@ -144,8 +143,8 @@ const TreePicker = forwardRef((props, ref) => {
144
143
  }
145
144
  setFocusItemValue(value);
146
145
  handleChange(value, event);
147
- (_target$current = target.current) === null || _target$current === void 0 || _target$current.focus();
148
- (_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);
146
+ target.current?.focus();
147
+ trigger.current?.close?.();
149
148
  });
150
149
  const handleClean = useEventCallback(event => {
151
150
  const target = event.target;
@@ -154,7 +153,7 @@ const TreePicker = forwardRef((props, ref) => {
154
153
  return;
155
154
  }
156
155
  setValue(null);
157
- onChange === null || onChange === void 0 || onChange(null, event);
156
+ onChange?.(null, event);
158
157
  });
159
158
  const handleTreePressEnter = useEventCallback(event => {
160
159
  if (isNil(focusItemValue)) {
@@ -183,7 +182,7 @@ const TreePicker = forwardRef((props, ref) => {
183
182
  });
184
183
  const handleChange = useEventCallback((nextValue, event) => {
185
184
  setValue(nextValue);
186
- onChange === null || onChange === void 0 || onChange(nextValue, event);
185
+ onChange?.(nextValue, event);
187
186
  });
188
187
  const treeContext = useMemo(() => ({
189
188
  register,
@@ -233,7 +232,7 @@ const TreePicker = forwardRef((props, ref) => {
233
232
  ref: mergeRefs(overlay, speakerRef),
234
233
  onKeyDown: onPickerKeydown,
235
234
  target: trigger
236
- }, renderTree ? renderTree(tree) : tree, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
235
+ }, renderTree ? renderTree(tree) : tree, renderExtraFooter?.());
237
236
  };
238
237
 
239
238
  /**
@@ -243,7 +242,7 @@ const TreePicker = forwardRef((props, ref) => {
243
242
  let hasValidValue = !isNil(activeNode) || !isNil(value) && isFunction(renderValue);
244
243
  let selectedElement = placeholder;
245
244
  if (hasValidValue) {
246
- const node = activeNode !== null && activeNode !== void 0 ? activeNode : {};
245
+ const node = activeNode ?? {};
247
246
  selectedElement = node[labelKey];
248
247
  if (isFunction(renderValue) && value) {
249
248
  selectedElement = renderValue(value, node, selectedElement);
@@ -284,7 +283,7 @@ const TreePicker = forwardRef((props, ref) => {
284
283
  placement: placement,
285
284
  inputValue: value,
286
285
  focusItemValue: focusItemValue
287
- }, rest), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));
286
+ }, rest), selectedElement || locale?.placeholder));
288
287
  });
289
288
  TreePicker.displayName = 'TreePicker';
290
289
  export default TreePicker;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface FocusStateProps {
3
2
  target: React.RefObject<HTMLElement | null>;
4
3
  value?: number | string | null | undefined;
@@ -10,27 +10,23 @@ function useFocusState(props) {
10
10
  const [active, setActive] = useState(false);
11
11
  const [focusItemValue, setFocusItemValue] = useState(null);
12
12
  const focusTarget = useEventCallback(() => {
13
- var _target$current;
14
- (_target$current = target.current) === null || _target$current === void 0 || _target$current.focus();
13
+ target.current?.focus();
15
14
  });
16
15
  const onEnter = useEventCallback(node => {
17
- var _props$onEnter;
18
16
  setActive(true);
19
- (_props$onEnter = props.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props, node);
17
+ props.onEnter?.(node);
20
18
  });
21
19
  const onExit = useEventCallback(node => {
22
- var _props$onExit;
23
20
  setActive(false);
24
21
  focusTarget();
25
- (_props$onExit = props.onExit) === null || _props$onExit === void 0 || _props$onExit.call(props, node);
22
+ props.onExit?.(node);
26
23
  });
27
24
  const onEntered = useEventCallback(node => {
28
- var _props$onEntered;
29
25
  if (value) {
30
26
  setFocusItemValue(value);
31
27
  focusActiveNode();
32
28
  }
33
- (_props$onEntered = props.onEntered) === null || _props$onEntered === void 0 || _props$onEntered.call(props, node);
29
+ props.onEntered?.(node);
34
30
  });
35
31
  return {
36
32
  active,
@@ -63,13 +63,12 @@ const UploadFileItem = forwardRef((props, ref) => {
63
63
  * Get thumbnail of image file
64
64
  */
65
65
  const getThumbnail = useCallback(callback => {
66
- var _file$blobFile;
67
66
  if (!~['picture-text', 'picture'].indexOf(listType)) {
68
67
  return;
69
68
  }
70
69
 
71
70
  // The thumbnail file size cannot be larger than the preset value.
72
- if (!file.blobFile || (file === null || file === void 0 || (_file$blobFile = file.blobFile) === null || _file$blobFile === void 0 ? void 0 : _file$blobFile.size) > maxPreviewFileSize) {
71
+ if (!file.blobFile || file?.blobFile?.size > maxPreviewFileSize) {
73
72
  return;
74
73
  }
75
74
  previewFile(file.blobFile, callback);
@@ -85,19 +84,19 @@ const UploadFileItem = forwardRef((props, ref) => {
85
84
  if (disabled) {
86
85
  return;
87
86
  }
88
- onPreview === null || onPreview === void 0 || onPreview(file, event);
87
+ onPreview?.(file, event);
89
88
  }, [disabled, file, onPreview]);
90
89
  const handleRemove = useCallback(event => {
91
90
  if (disabled) {
92
91
  return;
93
92
  }
94
- onCancel === null || onCancel === void 0 || onCancel(file.fileKey, event);
93
+ onCancel?.(file.fileKey, event);
95
94
  }, [disabled, file.fileKey, onCancel]);
96
95
  const handleReupload = useCallback(event => {
97
96
  if (disabled) {
98
97
  return;
99
98
  }
100
- onReupload === null || onReupload === void 0 || onReupload(file, event);
99
+ onReupload?.(file, event);
101
100
  }, [disabled, file, onReupload]);
102
101
 
103
102
  /**
@@ -173,8 +172,8 @@ const UploadFileItem = forwardRef((props, ref) => {
173
172
  return null;
174
173
  }
175
174
  let closeLabel = 'Remove file';
176
- if (locale !== null && locale !== void 0 && locale.removeFile) {
177
- closeLabel = (locale === null || locale === void 0 ? void 0 : locale.removeFile) + (file !== null && file !== void 0 && file.name ? `: ${file === null || file === void 0 ? void 0 : file.name}` : '');
175
+ if (locale?.removeFile) {
176
+ closeLabel = locale?.removeFile + (file?.name ? `: ${file?.name}` : '');
178
177
  }
179
178
  return /*#__PURE__*/React.createElement(CloseButton, {
180
179
  className: prefix('btn-remove'),
@@ -194,7 +193,7 @@ const UploadFileItem = forwardRef((props, ref) => {
194
193
  if (file.status === 'error') {
195
194
  return /*#__PURE__*/React.createElement("div", {
196
195
  className: prefix('status')
197
- }, /*#__PURE__*/React.createElement("span", null, locale === null || locale === void 0 ? void 0 : locale.error), allowReupload && /*#__PURE__*/React.createElement("a", {
196
+ }, /*#__PURE__*/React.createElement("span", null, locale?.error), allowReupload && /*#__PURE__*/React.createElement("a", {
198
197
  role: "button",
199
198
  tabIndex: -1,
200
199
  onClick: handleReupload,
@@ -211,10 +210,9 @@ const UploadFileItem = forwardRef((props, ref) => {
211
210
  */
212
211
  const renderFileSize = () => {
213
212
  if (file.status !== 'error' && file.blobFile) {
214
- var _file$blobFile2;
215
213
  return /*#__PURE__*/React.createElement("span", {
216
214
  className: prefix('size')
217
- }, formatSize(file === null || file === void 0 || (_file$blobFile2 = file.blobFile) === null || _file$blobFile2 === void 0 ? void 0 : _file$blobFile2.size));
215
+ }, formatSize(file?.blobFile?.size));
218
216
  }
219
217
  return null;
220
218
  };
@@ -5,7 +5,6 @@ import { useStyles, useEventCallback } from "../internals/hooks/index.js";
5
5
  import { forwardRef } from "../internals/utils/index.js";
6
6
  import classNames from 'classnames';
7
7
  const UploadTrigger = forwardRef((props, ref) => {
8
- var _children$props;
9
8
  const {
10
9
  as: Component = Button,
11
10
  name,
@@ -37,8 +36,7 @@ const UploadTrigger = forwardRef((props, ref) => {
37
36
  'drag-over': dragOver
38
37
  }));
39
38
  const handleClick = useEventCallback(() => {
40
- var _inputRef$current;
41
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.click();
39
+ inputRef.current?.click();
42
40
  });
43
41
  const handleClearInput = useEventCallback(() => {
44
42
  if (inputRef.current) {
@@ -50,26 +48,26 @@ const UploadTrigger = forwardRef((props, ref) => {
50
48
  event.preventDefault();
51
49
  setDragOver(true);
52
50
  }
53
- onDragEnter === null || onDragEnter === void 0 || onDragEnter(event);
51
+ onDragEnter?.(event);
54
52
  });
55
53
  const handleDragLeave = useEventCallback(event => {
56
54
  if (draggable) {
57
55
  event.preventDefault();
58
56
  setDragOver(false);
59
57
  }
60
- onDragLeave === null || onDragLeave === void 0 || onDragLeave(event);
58
+ onDragLeave?.(event);
61
59
  });
62
60
  const handleDragOver = useEventCallback(event => {
63
61
  draggable && event.preventDefault();
64
- onDragOver === null || onDragOver === void 0 || onDragOver(event);
62
+ onDragOver?.(event);
65
63
  });
66
64
  const handleDrop = useEventCallback(event => {
67
65
  if (draggable) {
68
66
  event.preventDefault();
69
67
  setDragOver(false);
70
- onChange === null || onChange === void 0 || onChange(event);
68
+ onChange?.(event);
71
69
  }
72
- onDrop === null || onDrop === void 0 || onDrop(event);
70
+ onDrop?.(event);
73
71
  });
74
72
  useImperativeHandle(ref, () => ({
75
73
  root: rootRef.current,
@@ -92,8 +90,8 @@ const UploadTrigger = forwardRef((props, ref) => {
92
90
  };
93
91
  const trigger = children ? (/*#__PURE__*/React.cloneElement(children, {
94
92
  ...buttonProps,
95
- className: classNames((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.className, prefix('btn'))
96
- })) : /*#__PURE__*/React.createElement(Component, buttonProps, locale === null || locale === void 0 ? void 0 : locale.upload);
93
+ className: classNames(children.props?.className, prefix('btn'))
94
+ })) : /*#__PURE__*/React.createElement(Component, buttonProps, locale?.upload);
97
95
  return /*#__PURE__*/React.createElement("div", {
98
96
  ref: rootRef,
99
97
  className: classes,
@@ -99,6 +99,8 @@ export interface UploaderProps extends BaseBoxProps, Omit<UploadTriggerProps, 'o
99
99
  onProgress?: (percent: number, file: FileType, event: ProgressEvent, xhr: XMLHttpRequest) => void;
100
100
  /** In the file list, click the callback function to delete a file */
101
101
  onRemove?: (file: FileType) => void;
102
+ /** Callback function called when all files in the current upload batch have finished (succeeded or failed) */
103
+ onCompletion?: (completedFiles: FileType[], failedFiles: FileType[]) => void;
102
104
  /** Custom render file information */
103
105
  renderFileInfo?: (file: FileType, fileElement: React.ReactNode) => React.ReactNode;
104
106
  /** Custom render thumbnail */
@@ -13,9 +13,8 @@ import { useStyles, useCustom, useWillUnmount, useEventCallback } from "../inter
13
13
  // Define several states of the file during the upload process.
14
14
 
15
15
  const getFiles = event => {
16
- if (typeof (event === null || event === void 0 ? void 0 : event['dataTransfer']) === 'object') {
17
- var _event$dataTransfer;
18
- return event === null || event === void 0 || (_event$dataTransfer = event['dataTransfer']) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.files;
16
+ if (typeof event?.['dataTransfer'] === 'object') {
17
+ return event?.['dataTransfer']?.files;
19
18
  }
20
19
  if (event.target) {
21
20
  return event.target['files'];
@@ -33,7 +32,6 @@ const createFile = file => {
33
32
  };
34
33
  };
35
34
  function fileListReducer(files, action) {
36
- var _action$files;
37
35
  switch (action.type) {
38
36
  // Add one or more files
39
37
  case 'push':
@@ -51,10 +49,10 @@ function fileListReducer(files, action) {
51
49
 
52
50
  // Initialization file list
53
51
  case 'init':
54
- return ((_action$files = action.files) === null || _action$files === void 0 ? void 0 : _action$files.map(file => {
52
+ return action.files?.map(file => {
55
53
  // The state of the file needs to be preserved when the `fileList` is controlled.
56
54
  return files.find(f => f.fileKey === file.fileKey) || createFile(file);
57
- })) || [];
55
+ }) || [];
58
56
  default:
59
57
  throw new Error();
60
58
  }
@@ -65,8 +63,7 @@ const useFileList = (defaultFileList = []) => {
65
63
  const [fileList, dispatch] = useReducer(fileListReducer, fileListRef.current);
66
64
  fileListRef.current = fileList;
67
65
  useEffect(() => {
68
- var _fileListUpdateCallba;
69
- (_fileListUpdateCallba = fileListUpdateCallback.current) === null || _fileListUpdateCallba === void 0 || _fileListUpdateCallba.call(fileListUpdateCallback, fileList);
66
+ fileListUpdateCallback.current?.(fileList);
70
67
  fileListUpdateCallback.current = null;
71
68
  }, [fileList]);
72
69
  useWillUnmount(() => {
@@ -130,6 +127,7 @@ const Uploader = forwardRef((props, ref) => {
130
127
  onError,
131
128
  onProgress,
132
129
  onReupload,
130
+ onCompletion,
133
131
  ...rest
134
132
  } = propsWithDefaults;
135
133
  const {
@@ -141,6 +139,11 @@ const Uploader = forwardRef((props, ref) => {
141
139
  const rootRef = useRef(null);
142
140
  const xhrs = useRef({});
143
141
  const trigger = useRef(null);
142
+ const uploadingCount = useRef(0);
143
+ const uploadResults = useRef({
144
+ completed: [],
145
+ failed: []
146
+ });
144
147
  const [fileList, dispatch] = useFileList(fileListProp || defaultFileList);
145
148
  useEffect(() => {
146
149
  if (typeof fileListProp !== 'undefined') {
@@ -162,8 +165,7 @@ const Uploader = forwardRef((props, ref) => {
162
165
  * Clear the value in input.
163
166
  */
164
167
  const cleanInputValue = useCallback(() => {
165
- var _trigger$current;
166
- (_trigger$current = trigger.current) === null || _trigger$current === void 0 || _trigger$current.clearInput();
168
+ trigger.current?.clearInput();
167
169
  }, []);
168
170
 
169
171
  /**
@@ -180,8 +182,17 @@ const Uploader = forwardRef((props, ref) => {
180
182
  progress: 100
181
183
  };
182
184
  updateFileStatus(nextFile);
183
- onSuccess === null || onSuccess === void 0 || onSuccess(response, nextFile, event, xhr);
184
- }, [onSuccess, updateFileStatus]);
185
+ onSuccess?.(response, nextFile, event, xhr);
186
+ uploadingCount.current--;
187
+ uploadResults.current.completed.push(nextFile);
188
+ if (uploadingCount.current === 0) {
189
+ onCompletion?.(uploadResults.current.completed, uploadResults.current.failed);
190
+ uploadResults.current = {
191
+ completed: [],
192
+ failed: []
193
+ };
194
+ }
195
+ }, [onCompletion, onSuccess, updateFileStatus]);
185
196
 
186
197
  /**
187
198
  * Callback for file upload error.
@@ -196,8 +207,17 @@ const Uploader = forwardRef((props, ref) => {
196
207
  status: 'error'
197
208
  };
198
209
  updateFileStatus(nextFile);
199
- onError === null || onError === void 0 || onError(status, nextFile, event, xhr);
200
- }, [onError, updateFileStatus]);
210
+ onError?.(status, nextFile, event, xhr);
211
+ uploadingCount.current--;
212
+ uploadResults.current.failed.push(nextFile);
213
+ if (uploadingCount.current === 0) {
214
+ onCompletion?.(uploadResults.current.completed, uploadResults.current.failed);
215
+ uploadResults.current = {
216
+ completed: [],
217
+ failed: []
218
+ };
219
+ }
220
+ }, [onCompletion, onError, updateFileStatus]);
201
221
 
202
222
  /**
203
223
  * Callback for file upload progress update.
@@ -213,7 +233,7 @@ const Uploader = forwardRef((props, ref) => {
213
233
  progress: percent
214
234
  };
215
235
  updateFileStatus(nextFile);
216
- onProgress === null || onProgress === void 0 || onProgress(percent, nextFile, event, xhr);
236
+ onProgress?.(percent, nextFile, event, xhr);
217
237
  }, [onProgress, updateFileStatus]);
218
238
 
219
239
  /**
@@ -245,15 +265,25 @@ const Uploader = forwardRef((props, ref) => {
245
265
  if (file.fileKey) {
246
266
  xhrs.current[file.fileKey] = xhr;
247
267
  }
248
- onUpload === null || onUpload === void 0 || onUpload(file, uploadData, xhr);
268
+ onUpload?.(file, uploadData, xhr);
249
269
  });
250
270
  const handleAjaxUpload = useEventCallback(() => {
251
271
  fileList.current.forEach(file => {
252
- const checkState = shouldUpload === null || shouldUpload === void 0 ? void 0 : shouldUpload(file);
272
+ const checkState = shouldUpload?.(file);
253
273
  if (checkState instanceof Promise) {
274
+ uploadingCount.current++;
254
275
  checkState.then(res => {
255
276
  if (res) {
256
277
  handleUploadFile(file);
278
+ } else {
279
+ uploadingCount.current--;
280
+ if (uploadingCount.current === 0) {
281
+ onCompletion?.(uploadResults.current.completed, uploadResults.current.failed);
282
+ uploadResults.current = {
283
+ completed: [],
284
+ failed: []
285
+ };
286
+ }
257
287
  }
258
288
  });
259
289
  return;
@@ -261,6 +291,7 @@ const Uploader = forwardRef((props, ref) => {
261
291
  return;
262
292
  }
263
293
  if (file.status === 'inited') {
294
+ uploadingCount.current++;
264
295
  handleUploadFile(file);
265
296
  }
266
297
  });
@@ -278,13 +309,13 @@ const Uploader = forwardRef((props, ref) => {
278
309
  });
279
310
  });
280
311
  const nextFileList = [...fileList.current, ...newFileList];
281
- const checkState = shouldQueueUpdate === null || shouldQueueUpdate === void 0 ? void 0 : shouldQueueUpdate(nextFileList, newFileList);
312
+ const checkState = shouldQueueUpdate?.(nextFileList, newFileList);
282
313
  if (checkState === false) {
283
314
  cleanInputValue();
284
315
  return;
285
316
  }
286
317
  const upload = () => {
287
- onChange === null || onChange === void 0 || onChange(nextFileList, event);
318
+ onChange?.(nextFileList, event);
288
319
  if (rootRef.current) {
289
320
  dispatch({
290
321
  type: 'push',
@@ -303,29 +334,38 @@ const Uploader = forwardRef((props, ref) => {
303
334
  upload();
304
335
  });
305
336
  const handleRemoveFile = useEventCallback((fileKey, event) => {
306
- var _xhrs$current;
307
337
  const file = find(fileList.current, f => f.fileKey === fileKey);
308
338
  const nextFileList = fileList.current.filter(f => f.fileKey !== fileKey);
309
- if (((_xhrs$current = xhrs.current) === null || _xhrs$current === void 0 || (_xhrs$current = _xhrs$current[file.fileKey]) === null || _xhrs$current === void 0 ? void 0 : _xhrs$current.readyState) !== 4) {
310
- var _xhrs$current$file$fi;
311
- (_xhrs$current$file$fi = xhrs.current[file.fileKey]) === null || _xhrs$current$file$fi === void 0 || _xhrs$current$file$fi.abort();
339
+ if (xhrs.current?.[file.fileKey]?.readyState !== 4) {
340
+ xhrs.current[file.fileKey]?.abort();
341
+ uploadingCount.current--;
342
+ uploadResults.current.failed.push(file);
343
+ if (uploadingCount.current === 0) {
344
+ onCompletion?.(uploadResults.current.completed, uploadResults.current.failed);
345
+ uploadResults.current = {
346
+ completed: [],
347
+ failed: []
348
+ };
349
+ }
312
350
  }
313
351
  dispatch({
314
352
  type: 'remove',
315
353
  fileKey
316
354
  });
317
- onRemove === null || onRemove === void 0 || onRemove(file);
318
- onChange === null || onChange === void 0 || onChange(nextFileList, event);
355
+ onRemove?.(file);
356
+ onChange?.(nextFileList, event);
319
357
  cleanInputValue();
320
358
  });
321
359
  const handleReupload = useEventCallback(file => {
360
+ uploadingCount.current++;
322
361
  autoUpload && handleUploadFile(file);
323
- onReupload === null || onReupload === void 0 || onReupload(file);
362
+ onReupload?.(file);
324
363
  });
325
364
 
326
365
  // public API
327
366
  const start = useCallback(file => {
328
367
  if (file) {
368
+ uploadingCount.current++;
329
369
  handleUploadFile(file);
330
370
  return;
331
371
  }
@@ -48,7 +48,7 @@ export default function ajaxUpload(options) {
48
48
  if (timeout) {
49
49
  xhr.timeout = timeout;
50
50
  xhr.ontimeout = event => {
51
- onError === null || onError === void 0 || onError({
51
+ onError?.({
52
52
  type: 'timeout'
53
53
  }, event, xhr);
54
54
  };
@@ -59,13 +59,13 @@ export default function ajaxUpload(options) {
59
59
  xhr.onload = event => {
60
60
  const resp = getResponse(xhr);
61
61
  if (xhr.status < 200 || xhr.status >= 300) {
62
- onError === null || onError === void 0 || onError({
62
+ onError?.({
63
63
  type: 'server_error',
64
64
  response: resp
65
65
  }, event, xhr);
66
66
  return;
67
67
  }
68
- onSuccess === null || onSuccess === void 0 || onSuccess(resp, event, xhr);
68
+ onSuccess?.(resp, event, xhr);
69
69
  };
70
70
  if (xhr.upload) {
71
71
  xhr.upload.onprogress = event => {
@@ -73,11 +73,11 @@ export default function ajaxUpload(options) {
73
73
  if (event.lengthComputable) {
74
74
  percent = event.loaded / event.total * 100;
75
75
  }
76
- onProgress === null || onProgress === void 0 || onProgress(percent, event, xhr);
76
+ onProgress?.(percent, event, xhr);
77
77
  };
78
78
  }
79
79
  xhr.onerror = event => {
80
- onError === null || onError === void 0 || onError({
80
+ onError?.({
81
81
  type: 'xhr_error'
82
82
  }, event, xhr);
83
83
  };
@@ -2,7 +2,7 @@
2
2
  // https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types
3
3
  const MIME = ['image/apng', 'image/avif', 'image/gif', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];
4
4
  export function isImage(file) {
5
- return MIME.includes(file === null || file === void 0 ? void 0 : file.type);
5
+ return MIME.includes(file?.type);
6
6
  }
7
7
  export function previewFile(file, callback) {
8
8
  if (!isImage(file)) {
@@ -41,13 +41,10 @@ const Disclosure = /*#__PURE__*/React.memo(props => {
41
41
  open: defaultOpen
42
42
  });
43
43
  const containerElementRef = useRef(null);
44
- const open = openProp !== null && openProp !== void 0 ? openProp : openState;
44
+ const open = openProp ?? openState;
45
45
  useClickOutside({
46
46
  enabled: hideOnClickOutside,
47
- isOutside: event => {
48
- var _containerElementRef$;
49
- return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));
50
- },
47
+ isOutside: event => !containerElementRef.current?.contains(event.target),
51
48
  handle: () => dispatch({
52
49
  type: DisclosureActionTypes.Hide
53
50
  })
@@ -57,7 +54,7 @@ const Disclosure = /*#__PURE__*/React.memo(props => {
57
54
  dispatch({
58
55
  type: DisclosureActionTypes.Show
59
56
  });
60
- onToggle === null || onToggle === void 0 || onToggle(true, event);
57
+ onToggle?.(true, event);
61
58
  }
62
59
  }, [open, dispatch, onToggle]);
63
60
  const onMouseLeave = useCallback(event => {
@@ -65,14 +62,14 @@ const Disclosure = /*#__PURE__*/React.memo(props => {
65
62
  dispatch({
66
63
  type: DisclosureActionTypes.Hide
67
64
  });
68
- onToggle === null || onToggle === void 0 || onToggle(false, event);
65
+ onToggle?.(false, event);
69
66
  }
70
67
  }, [open, dispatch, onToggle]);
71
68
  const contextValue = useMemo(() => {
72
69
  const cascadeDispatch = action => {
73
70
  const result = dispatch(action);
74
71
  if ('cascade' in action) {
75
- parentDisclosure === null || parentDisclosure === void 0 || parentDisclosure[1](action);
72
+ parentDisclosure?.[1](action);
76
73
  }
77
74
  return result;
78
75
  };