rsuite 5.47.0 → 5.48.1

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 (533) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/DateInput/package.json +7 -0
  3. package/README.md +2 -2
  4. package/cjs/Affix/Affix.d.ts +6 -0
  5. package/cjs/Affix/Affix.js +7 -0
  6. package/cjs/Animation/Bounce.d.ts +4 -0
  7. package/cjs/Animation/Bounce.js +4 -0
  8. package/cjs/Animation/Collapse.d.ts +4 -0
  9. package/cjs/Animation/Collapse.js +5 -0
  10. package/cjs/Animation/Fade.d.ts +4 -0
  11. package/cjs/Animation/Fade.js +4 -0
  12. package/cjs/Animation/Slide.d.ts +4 -0
  13. package/cjs/Animation/Slide.js +4 -0
  14. package/cjs/Animation/Transition.d.ts +4 -0
  15. package/cjs/Animation/Transition.js +4 -0
  16. package/cjs/AutoComplete/AutoComplete.d.ts +3 -0
  17. package/cjs/AutoComplete/AutoComplete.js +3 -0
  18. package/cjs/Avatar/Avatar.d.ts +4 -0
  19. package/cjs/Avatar/Avatar.js +4 -0
  20. package/cjs/AvatarGroup/AvatarGroup.d.ts +4 -0
  21. package/cjs/AvatarGroup/AvatarGroup.js +5 -0
  22. package/cjs/Badge/Badge.d.ts +4 -0
  23. package/cjs/Badge/Badge.js +4 -0
  24. package/cjs/Breadcrumb/Breadcrumb.d.ts +4 -0
  25. package/cjs/Breadcrumb/Breadcrumb.js +4 -0
  26. package/cjs/Breadcrumb/BreadcrumbItem.d.ts +4 -0
  27. package/cjs/Breadcrumb/BreadcrumbItem.js +4 -0
  28. package/cjs/Button/Button.d.ts +4 -0
  29. package/cjs/Button/Button.js +4 -0
  30. package/cjs/ButtonGroup/ButtonGroup.d.ts +4 -0
  31. package/cjs/ButtonGroup/ButtonGroup.js +4 -0
  32. package/cjs/ButtonToolbar/ButtonToolbar.d.ts +4 -0
  33. package/cjs/ButtonToolbar/ButtonToolbar.js +4 -0
  34. package/cjs/Calendar/Calendar.d.ts +4 -0
  35. package/cjs/Calendar/Calendar.js +4 -0
  36. package/cjs/Carousel/Carousel.d.ts +4 -0
  37. package/cjs/Carousel/Carousel.js +4 -0
  38. package/cjs/Cascader/Cascader.d.ts +4 -0
  39. package/cjs/Cascader/Cascader.js +5 -0
  40. package/cjs/CheckPicker/CheckPicker.d.ts +4 -0
  41. package/cjs/CheckPicker/CheckPicker.js +4 -0
  42. package/cjs/CheckTree/index.d.ts +4 -0
  43. package/cjs/CheckTree/index.js +4 -0
  44. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +5 -0
  45. package/cjs/CheckTreePicker/CheckTreePicker.js +6 -0
  46. package/cjs/Checkbox/Checkbox.d.ts +4 -0
  47. package/cjs/Checkbox/Checkbox.js +4 -0
  48. package/cjs/CheckboxGroup/CheckboxGroup.d.ts +4 -0
  49. package/cjs/CheckboxGroup/CheckboxGroup.js +4 -0
  50. package/cjs/Col/Col.d.ts +4 -0
  51. package/cjs/Col/Col.js +4 -0
  52. package/cjs/Container/Container.d.ts +4 -0
  53. package/cjs/Container/Container.js +4 -0
  54. package/cjs/Content/Content.d.ts +3 -0
  55. package/cjs/Content/Content.js +3 -0
  56. package/cjs/CustomProvider/CustomProvider.d.ts +5 -0
  57. package/cjs/CustomProvider/CustomProvider.js +6 -0
  58. package/cjs/DOMHelper/index.d.ts +4 -0
  59. package/cjs/DOMHelper/index.js +4 -0
  60. package/cjs/DateInput/DateField.d.ts +180 -0
  61. package/cjs/DateInput/DateField.js +151 -0
  62. package/cjs/DateInput/DateInput.d.ts +18 -0
  63. package/cjs/DateInput/DateInput.js +222 -0
  64. package/cjs/DateInput/index.d.ts +3 -0
  65. package/cjs/DateInput/index.js +9 -0
  66. package/cjs/DateInput/useDateInputState.d.ts +165 -0
  67. package/cjs/DateInput/useDateInputState.js +105 -0
  68. package/cjs/DateInput/utils.d.ts +41 -0
  69. package/cjs/DateInput/utils.js +159 -0
  70. package/cjs/DatePicker/DatePicker.d.ts +5 -0
  71. package/cjs/DatePicker/DatePicker.js +11 -5
  72. package/cjs/DateRangePicker/DateRangePicker.d.ts +5 -0
  73. package/cjs/DateRangePicker/DateRangePicker.js +5 -0
  74. package/cjs/Divider/Divider.d.ts +4 -0
  75. package/cjs/Divider/Divider.js +4 -0
  76. package/cjs/Drawer/Drawer.d.ts +4 -0
  77. package/cjs/Drawer/Drawer.js +4 -0
  78. package/cjs/Dropdown/Dropdown.d.ts +6 -3
  79. package/cjs/Dropdown/Dropdown.js +6 -3
  80. package/cjs/Dropdown/DropdownItem.d.ts +3 -3
  81. package/cjs/Dropdown/DropdownItem.js +3 -3
  82. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  83. package/cjs/Dropdown/DropdownMenu.js +3 -3
  84. package/cjs/Dropdown/DropdownSeparator.d.ts +1 -1
  85. package/cjs/Dropdown/DropdownSeparator.js +1 -1
  86. package/cjs/FlexboxGrid/FlexboxGrid.d.ts +4 -0
  87. package/cjs/FlexboxGrid/FlexboxGrid.js +4 -0
  88. package/cjs/FlexboxGrid/FlexboxGridItem.d.ts +4 -0
  89. package/cjs/FlexboxGrid/FlexboxGridItem.js +4 -0
  90. package/cjs/Footer/Footer.d.ts +4 -0
  91. package/cjs/Footer/Footer.js +4 -0
  92. package/cjs/Form/Form.d.ts +4 -0
  93. package/cjs/Form/Form.js +4 -0
  94. package/cjs/FormControl/FormControl.d.ts +4 -0
  95. package/cjs/FormControl/FormControl.js +6 -1
  96. package/cjs/FormControlLabel/FormControlLabel.d.ts +4 -0
  97. package/cjs/FormControlLabel/FormControlLabel.js +4 -0
  98. package/cjs/FormErrorMessage/FormErrorMessage.d.ts +4 -0
  99. package/cjs/FormErrorMessage/FormErrorMessage.js +4 -0
  100. package/cjs/FormGroup/FormGroup.d.ts +4 -0
  101. package/cjs/FormGroup/FormGroup.js +5 -0
  102. package/cjs/FormHelpText/FormHelpText.d.ts +4 -0
  103. package/cjs/FormHelpText/FormHelpText.js +4 -0
  104. package/cjs/Grid/Grid.d.ts +4 -0
  105. package/cjs/Grid/Grid.js +4 -0
  106. package/cjs/Header/Header.d.ts +4 -0
  107. package/cjs/Header/Header.js +4 -0
  108. package/cjs/IconButton/IconButton.d.ts +4 -0
  109. package/cjs/IconButton/IconButton.js +4 -0
  110. package/cjs/Input/Input.d.ts +4 -0
  111. package/cjs/Input/Input.js +4 -0
  112. package/cjs/InputGroup/InputGroup.d.ts +4 -0
  113. package/cjs/InputGroup/InputGroup.js +4 -0
  114. package/cjs/InputGroup/InputGroupAddon.d.ts +4 -0
  115. package/cjs/InputGroup/InputGroupAddon.js +4 -0
  116. package/cjs/InputGroup/InputGroupButton.d.ts +4 -0
  117. package/cjs/InputGroup/InputGroupButton.js +4 -0
  118. package/cjs/InputNumber/InputNumber.d.ts +4 -0
  119. package/cjs/InputNumber/InputNumber.js +5 -0
  120. package/cjs/InputPicker/InputPicker.d.ts +5 -0
  121. package/cjs/InputPicker/InputPicker.js +5 -0
  122. package/cjs/List/List.d.ts +4 -0
  123. package/cjs/List/List.js +4 -0
  124. package/cjs/List/ListItem.d.ts +4 -0
  125. package/cjs/List/ListItem.js +4 -0
  126. package/cjs/Loader/Loader.d.ts +4 -0
  127. package/cjs/Loader/Loader.js +4 -0
  128. package/cjs/MaskedInput/TextMask.d.ts +4 -0
  129. package/cjs/MaskedInput/TextMask.js +5 -0
  130. package/cjs/MaskedInput/createTextMaskInputElement.js +6 -16
  131. package/cjs/Message/Message.d.ts +4 -0
  132. package/cjs/Message/Message.js +4 -0
  133. package/cjs/Modal/Modal.d.ts +4 -0
  134. package/cjs/Modal/Modal.js +4 -0
  135. package/cjs/MultiCascader/MultiCascader.d.ts +4 -0
  136. package/cjs/MultiCascader/MultiCascader.js +8 -1
  137. package/cjs/Nav/Nav.d.ts +4 -0
  138. package/cjs/Nav/Nav.js +4 -0
  139. package/cjs/Nav/NavDropdown.d.ts +2 -1
  140. package/cjs/Nav/NavDropdown.js +2 -1
  141. package/cjs/Nav/NavItem.d.ts +6 -3
  142. package/cjs/Nav/NavItem.js +6 -3
  143. package/cjs/Nav/NavMenu.d.ts +6 -3
  144. package/cjs/Nav/NavMenu.js +6 -3
  145. package/cjs/Navbar/Navbar.d.ts +4 -0
  146. package/cjs/Navbar/Navbar.js +4 -0
  147. package/cjs/Notification/Notification.d.ts +5 -0
  148. package/cjs/Notification/Notification.js +5 -0
  149. package/cjs/Overlay/Overlay.d.ts +4 -0
  150. package/cjs/Overlay/Overlay.js +5 -0
  151. package/cjs/Overlay/OverlayTrigger.d.ts +4 -0
  152. package/cjs/Overlay/OverlayTrigger.js +16 -11
  153. package/cjs/Overlay/Position.d.ts +4 -0
  154. package/cjs/Overlay/Position.js +4 -0
  155. package/cjs/Pagination/Pagination.d.ts +5 -0
  156. package/cjs/Pagination/Pagination.js +5 -0
  157. package/cjs/Panel/Panel.d.ts +4 -0
  158. package/cjs/Panel/Panel.js +4 -0
  159. package/cjs/PanelGroup/PanelGroup.d.ts +4 -0
  160. package/cjs/PanelGroup/PanelGroup.js +5 -0
  161. package/cjs/Picker/PickerToggle.js +2 -1
  162. package/cjs/Placeholder/Placeholder.d.ts +4 -0
  163. package/cjs/Placeholder/Placeholder.js +4 -0
  164. package/cjs/Placeholder/PlaceholderGraph.d.ts +4 -0
  165. package/cjs/Placeholder/PlaceholderGraph.js +4 -0
  166. package/cjs/Placeholder/PlaceholderGrid.d.ts +4 -0
  167. package/cjs/Placeholder/PlaceholderGrid.js +4 -0
  168. package/cjs/Placeholder/PlaceholderParagraph.d.ts +4 -0
  169. package/cjs/Placeholder/PlaceholderParagraph.js +4 -0
  170. package/cjs/Plaintext/Plaintext.d.ts +2 -1
  171. package/cjs/Plaintext/Plaintext.js +5 -2
  172. package/cjs/Popover/Popover.d.ts +4 -0
  173. package/cjs/Popover/Popover.js +4 -0
  174. package/cjs/Progress/Progress.d.ts +4 -0
  175. package/cjs/Progress/Progress.js +4 -0
  176. package/cjs/Progress/ProgressCircle.d.ts +4 -0
  177. package/cjs/Progress/ProgressCircle.js +4 -0
  178. package/cjs/Progress/ProgressLine.d.ts +4 -0
  179. package/cjs/Progress/ProgressLine.js +4 -0
  180. package/cjs/Radio/Radio.d.ts +4 -0
  181. package/cjs/Radio/Radio.js +4 -0
  182. package/cjs/RadioGroup/RadioGroup.d.ts +4 -0
  183. package/cjs/RadioGroup/RadioGroup.js +5 -0
  184. package/cjs/RadioTileGroup/RadioTileGroup.d.ts +5 -0
  185. package/cjs/RadioTileGroup/RadioTileGroup.js +6 -0
  186. package/cjs/RangeSlider/RangeSlider.d.ts +4 -0
  187. package/cjs/RangeSlider/RangeSlider.js +5 -0
  188. package/cjs/Rate/Rate.d.ts +4 -0
  189. package/cjs/Rate/Rate.js +4 -0
  190. package/cjs/Ripple/Ripple.d.ts +4 -0
  191. package/cjs/Ripple/Ripple.js +5 -0
  192. package/cjs/Row/Row.d.ts +4 -0
  193. package/cjs/Row/Row.js +4 -0
  194. package/cjs/SafeAnchor/SafeAnchor.d.ts +4 -0
  195. package/cjs/SafeAnchor/SafeAnchor.js +5 -0
  196. package/cjs/Schema/Schema.d.ts +6 -0
  197. package/cjs/Schema/Schema.js +6 -0
  198. package/cjs/SelectPicker/SelectPicker.d.ts +4 -0
  199. package/cjs/SelectPicker/SelectPicker.js +4 -0
  200. package/cjs/Sidebar/Sidebar.d.ts +4 -0
  201. package/cjs/Sidebar/Sidebar.js +4 -0
  202. package/cjs/Sidenav/Sidenav.d.ts +4 -0
  203. package/cjs/Sidenav/Sidenav.js +5 -0
  204. package/cjs/Sidenav/SidenavBody.d.ts +5 -0
  205. package/cjs/Sidenav/SidenavBody.js +5 -0
  206. package/cjs/Sidenav/SidenavHeader.d.ts +5 -0
  207. package/cjs/Sidenav/SidenavHeader.js +5 -0
  208. package/cjs/Slider/Slider.d.ts +5 -0
  209. package/cjs/Slider/Slider.js +6 -0
  210. package/cjs/Stack/Stack.d.ts +6 -0
  211. package/cjs/Stack/Stack.js +6 -0
  212. package/cjs/Stack/StackItem.d.ts +5 -0
  213. package/cjs/Stack/StackItem.js +5 -0
  214. package/cjs/Steps/StepItem.d.ts +5 -0
  215. package/cjs/Steps/StepItem.js +5 -0
  216. package/cjs/Steps/Steps.d.ts +5 -0
  217. package/cjs/Steps/Steps.js +5 -0
  218. package/cjs/Table/Table.d.ts +19 -2
  219. package/cjs/Table/Table.js +20 -1
  220. package/cjs/Tag/Tag.d.ts +6 -0
  221. package/cjs/Tag/Tag.js +6 -0
  222. package/cjs/TagGroup/TagGroup.d.ts +5 -0
  223. package/cjs/TagGroup/TagGroup.js +5 -0
  224. package/cjs/TagInput/index.d.ts +5 -0
  225. package/cjs/TagInput/index.js +5 -0
  226. package/cjs/TagPicker/index.d.ts +2 -1
  227. package/cjs/TagPicker/index.js +2 -1
  228. package/cjs/Timeline/Timeline.d.ts +5 -0
  229. package/cjs/Timeline/Timeline.js +5 -0
  230. package/cjs/Timeline/TimelineItem.d.ts +5 -0
  231. package/cjs/Timeline/TimelineItem.js +5 -0
  232. package/cjs/Toggle/Toggle.d.ts +5 -0
  233. package/cjs/Toggle/Toggle.js +5 -0
  234. package/cjs/Tooltip/Tooltip.d.ts +5 -0
  235. package/cjs/Tooltip/Tooltip.js +5 -0
  236. package/cjs/Tree/Tree.d.ts +5 -0
  237. package/cjs/Tree/Tree.js +5 -0
  238. package/cjs/TreePicker/TreePicker.d.ts +5 -0
  239. package/cjs/TreePicker/TreePicker.js +6 -0
  240. package/cjs/Uploader/Uploader.d.ts +5 -0
  241. package/cjs/Uploader/Uploader.js +6 -0
  242. package/cjs/Whisper/Whisper.d.ts +6 -0
  243. package/cjs/Whisper/Whisper.js +6 -0
  244. package/cjs/Windowing/AutoSizer.d.ts +5 -0
  245. package/cjs/Windowing/AutoSizer.js +5 -0
  246. package/cjs/Windowing/List.d.ts +6 -1
  247. package/cjs/Windowing/List.js +5 -0
  248. package/cjs/index.d.ts +3 -0
  249. package/cjs/index.js +6 -2
  250. package/cjs/toaster/toaster.d.ts +9 -7
  251. package/cjs/toaster/useToaster.d.ts +19 -1
  252. package/cjs/toaster/useToaster.js +19 -1
  253. package/cjs/useMediaQuery/index.d.ts +2 -0
  254. package/cjs/useMediaQuery/index.js +9 -0
  255. package/cjs/useMediaQuery/useMediaQuery.d.ts +23 -0
  256. package/cjs/useMediaQuery/useMediaQuery.js +123 -0
  257. package/cjs/utils/BrowserDetection.d.ts +1 -0
  258. package/cjs/utils/BrowserDetection.js +5 -1
  259. package/cjs/utils/dateUtils.d.ts +6 -0
  260. package/cjs/utils/dateUtils.js +13 -1
  261. package/cjs/utils/index.d.ts +1 -0
  262. package/cjs/utils/index.js +4 -1
  263. package/cjs/utils/safeSetSelection.d.ts +2 -0
  264. package/cjs/utils/safeSetSelection.js +21 -0
  265. package/cjs/utils/treeUtils.d.ts +2 -2
  266. package/dist/rsuite.js +337 -123
  267. package/dist/rsuite.js.map +1 -1
  268. package/dist/rsuite.min.js +1 -1
  269. package/dist/rsuite.min.js.map +1 -1
  270. package/esm/Affix/Affix.d.ts +6 -0
  271. package/esm/Affix/Affix.js +7 -0
  272. package/esm/Animation/Bounce.d.ts +4 -0
  273. package/esm/Animation/Bounce.js +4 -0
  274. package/esm/Animation/Collapse.d.ts +4 -0
  275. package/esm/Animation/Collapse.js +5 -0
  276. package/esm/Animation/Fade.d.ts +4 -0
  277. package/esm/Animation/Fade.js +4 -0
  278. package/esm/Animation/Slide.d.ts +4 -0
  279. package/esm/Animation/Slide.js +4 -0
  280. package/esm/Animation/Transition.d.ts +4 -0
  281. package/esm/Animation/Transition.js +4 -0
  282. package/esm/AutoComplete/AutoComplete.d.ts +3 -0
  283. package/esm/AutoComplete/AutoComplete.js +3 -0
  284. package/esm/Avatar/Avatar.d.ts +4 -0
  285. package/esm/Avatar/Avatar.js +4 -0
  286. package/esm/AvatarGroup/AvatarGroup.d.ts +4 -0
  287. package/esm/AvatarGroup/AvatarGroup.js +5 -0
  288. package/esm/Badge/Badge.d.ts +4 -0
  289. package/esm/Badge/Badge.js +4 -0
  290. package/esm/Breadcrumb/Breadcrumb.d.ts +4 -0
  291. package/esm/Breadcrumb/Breadcrumb.js +4 -0
  292. package/esm/Breadcrumb/BreadcrumbItem.d.ts +4 -0
  293. package/esm/Breadcrumb/BreadcrumbItem.js +4 -0
  294. package/esm/Button/Button.d.ts +4 -0
  295. package/esm/Button/Button.js +4 -0
  296. package/esm/ButtonGroup/ButtonGroup.d.ts +4 -0
  297. package/esm/ButtonGroup/ButtonGroup.js +4 -0
  298. package/esm/ButtonToolbar/ButtonToolbar.d.ts +4 -0
  299. package/esm/ButtonToolbar/ButtonToolbar.js +4 -0
  300. package/esm/Calendar/Calendar.d.ts +4 -0
  301. package/esm/Calendar/Calendar.js +4 -0
  302. package/esm/Carousel/Carousel.d.ts +4 -0
  303. package/esm/Carousel/Carousel.js +4 -0
  304. package/esm/Cascader/Cascader.d.ts +4 -0
  305. package/esm/Cascader/Cascader.js +5 -0
  306. package/esm/CheckPicker/CheckPicker.d.ts +4 -0
  307. package/esm/CheckPicker/CheckPicker.js +4 -0
  308. package/esm/CheckTree/index.d.ts +4 -0
  309. package/esm/CheckTree/index.js +4 -0
  310. package/esm/CheckTreePicker/CheckTreePicker.d.ts +5 -0
  311. package/esm/CheckTreePicker/CheckTreePicker.js +6 -0
  312. package/esm/Checkbox/Checkbox.d.ts +4 -0
  313. package/esm/Checkbox/Checkbox.js +4 -0
  314. package/esm/CheckboxGroup/CheckboxGroup.d.ts +4 -0
  315. package/esm/CheckboxGroup/CheckboxGroup.js +4 -0
  316. package/esm/Col/Col.d.ts +4 -0
  317. package/esm/Col/Col.js +4 -0
  318. package/esm/Container/Container.d.ts +4 -0
  319. package/esm/Container/Container.js +4 -0
  320. package/esm/Content/Content.d.ts +3 -0
  321. package/esm/Content/Content.js +3 -0
  322. package/esm/CustomProvider/CustomProvider.d.ts +5 -0
  323. package/esm/CustomProvider/CustomProvider.js +6 -0
  324. package/esm/DOMHelper/index.d.ts +4 -0
  325. package/esm/DOMHelper/index.js +5 -0
  326. package/esm/DateInput/DateField.d.ts +180 -0
  327. package/esm/DateInput/DateField.js +144 -0
  328. package/esm/DateInput/DateInput.d.ts +18 -0
  329. package/esm/DateInput/DateInput.js +215 -0
  330. package/esm/DateInput/index.d.ts +3 -0
  331. package/esm/DateInput/index.js +3 -0
  332. package/esm/DateInput/useDateInputState.d.ts +165 -0
  333. package/esm/DateInput/useDateInputState.js +99 -0
  334. package/esm/DateInput/utils.d.ts +41 -0
  335. package/esm/DateInput/utils.js +151 -0
  336. package/esm/DatePicker/DatePicker.d.ts +5 -0
  337. package/esm/DatePicker/DatePicker.js +11 -5
  338. package/esm/DateRangePicker/DateRangePicker.d.ts +5 -0
  339. package/esm/DateRangePicker/DateRangePicker.js +5 -0
  340. package/esm/Divider/Divider.d.ts +4 -0
  341. package/esm/Divider/Divider.js +4 -0
  342. package/esm/Drawer/Drawer.d.ts +4 -0
  343. package/esm/Drawer/Drawer.js +4 -0
  344. package/esm/Dropdown/Dropdown.d.ts +6 -3
  345. package/esm/Dropdown/Dropdown.js +6 -3
  346. package/esm/Dropdown/DropdownItem.d.ts +3 -3
  347. package/esm/Dropdown/DropdownItem.js +3 -3
  348. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  349. package/esm/Dropdown/DropdownMenu.js +3 -3
  350. package/esm/Dropdown/DropdownSeparator.d.ts +1 -1
  351. package/esm/Dropdown/DropdownSeparator.js +1 -1
  352. package/esm/FlexboxGrid/FlexboxGrid.d.ts +4 -0
  353. package/esm/FlexboxGrid/FlexboxGrid.js +4 -0
  354. package/esm/FlexboxGrid/FlexboxGridItem.d.ts +4 -0
  355. package/esm/FlexboxGrid/FlexboxGridItem.js +4 -0
  356. package/esm/Footer/Footer.d.ts +4 -0
  357. package/esm/Footer/Footer.js +4 -0
  358. package/esm/Form/Form.d.ts +4 -0
  359. package/esm/Form/Form.js +4 -0
  360. package/esm/FormControl/FormControl.d.ts +4 -0
  361. package/esm/FormControl/FormControl.js +6 -1
  362. package/esm/FormControlLabel/FormControlLabel.d.ts +4 -0
  363. package/esm/FormControlLabel/FormControlLabel.js +4 -0
  364. package/esm/FormErrorMessage/FormErrorMessage.d.ts +4 -0
  365. package/esm/FormErrorMessage/FormErrorMessage.js +4 -0
  366. package/esm/FormGroup/FormGroup.d.ts +4 -0
  367. package/esm/FormGroup/FormGroup.js +5 -0
  368. package/esm/FormHelpText/FormHelpText.d.ts +4 -0
  369. package/esm/FormHelpText/FormHelpText.js +4 -0
  370. package/esm/Grid/Grid.d.ts +4 -0
  371. package/esm/Grid/Grid.js +4 -0
  372. package/esm/Header/Header.d.ts +4 -0
  373. package/esm/Header/Header.js +4 -0
  374. package/esm/IconButton/IconButton.d.ts +4 -0
  375. package/esm/IconButton/IconButton.js +4 -0
  376. package/esm/Input/Input.d.ts +4 -0
  377. package/esm/Input/Input.js +4 -0
  378. package/esm/InputGroup/InputGroup.d.ts +4 -0
  379. package/esm/InputGroup/InputGroup.js +4 -0
  380. package/esm/InputGroup/InputGroupAddon.d.ts +4 -0
  381. package/esm/InputGroup/InputGroupAddon.js +4 -0
  382. package/esm/InputGroup/InputGroupButton.d.ts +4 -0
  383. package/esm/InputGroup/InputGroupButton.js +5 -0
  384. package/esm/InputNumber/InputNumber.d.ts +4 -0
  385. package/esm/InputNumber/InputNumber.js +5 -0
  386. package/esm/InputPicker/InputPicker.d.ts +5 -0
  387. package/esm/InputPicker/InputPicker.js +5 -0
  388. package/esm/List/List.d.ts +4 -0
  389. package/esm/List/List.js +4 -0
  390. package/esm/List/ListItem.d.ts +4 -0
  391. package/esm/List/ListItem.js +4 -0
  392. package/esm/Loader/Loader.d.ts +4 -0
  393. package/esm/Loader/Loader.js +4 -0
  394. package/esm/MaskedInput/TextMask.d.ts +4 -0
  395. package/esm/MaskedInput/TextMask.js +5 -0
  396. package/esm/MaskedInput/createTextMaskInputElement.js +6 -16
  397. package/esm/Message/Message.d.ts +4 -0
  398. package/esm/Message/Message.js +4 -0
  399. package/esm/Modal/Modal.d.ts +4 -0
  400. package/esm/Modal/Modal.js +4 -0
  401. package/esm/MultiCascader/MultiCascader.d.ts +4 -0
  402. package/esm/MultiCascader/MultiCascader.js +9 -2
  403. package/esm/Nav/Nav.d.ts +4 -0
  404. package/esm/Nav/Nav.js +4 -0
  405. package/esm/Nav/NavDropdown.d.ts +2 -1
  406. package/esm/Nav/NavDropdown.js +2 -1
  407. package/esm/Nav/NavItem.d.ts +6 -3
  408. package/esm/Nav/NavItem.js +6 -3
  409. package/esm/Nav/NavMenu.d.ts +6 -3
  410. package/esm/Nav/NavMenu.js +6 -3
  411. package/esm/Navbar/Navbar.d.ts +4 -0
  412. package/esm/Navbar/Navbar.js +4 -0
  413. package/esm/Notification/Notification.d.ts +5 -0
  414. package/esm/Notification/Notification.js +5 -0
  415. package/esm/Overlay/Overlay.d.ts +4 -0
  416. package/esm/Overlay/Overlay.js +5 -0
  417. package/esm/Overlay/OverlayTrigger.d.ts +4 -0
  418. package/esm/Overlay/OverlayTrigger.js +16 -11
  419. package/esm/Overlay/Position.d.ts +4 -0
  420. package/esm/Overlay/Position.js +4 -0
  421. package/esm/Pagination/Pagination.d.ts +5 -0
  422. package/esm/Pagination/Pagination.js +5 -0
  423. package/esm/Panel/Panel.d.ts +4 -0
  424. package/esm/Panel/Panel.js +4 -0
  425. package/esm/PanelGroup/PanelGroup.d.ts +4 -0
  426. package/esm/PanelGroup/PanelGroup.js +5 -0
  427. package/esm/Picker/PickerToggle.js +2 -1
  428. package/esm/Placeholder/Placeholder.d.ts +4 -0
  429. package/esm/Placeholder/Placeholder.js +4 -0
  430. package/esm/Placeholder/PlaceholderGraph.d.ts +4 -0
  431. package/esm/Placeholder/PlaceholderGraph.js +4 -0
  432. package/esm/Placeholder/PlaceholderGrid.d.ts +4 -0
  433. package/esm/Placeholder/PlaceholderGrid.js +4 -0
  434. package/esm/Placeholder/PlaceholderParagraph.d.ts +4 -0
  435. package/esm/Placeholder/PlaceholderParagraph.js +4 -0
  436. package/esm/Plaintext/Plaintext.d.ts +2 -1
  437. package/esm/Plaintext/Plaintext.js +5 -2
  438. package/esm/Popover/Popover.d.ts +4 -0
  439. package/esm/Popover/Popover.js +4 -0
  440. package/esm/Progress/Progress.d.ts +4 -0
  441. package/esm/Progress/Progress.js +4 -0
  442. package/esm/Progress/ProgressCircle.d.ts +4 -0
  443. package/esm/Progress/ProgressCircle.js +4 -0
  444. package/esm/Progress/ProgressLine.d.ts +4 -0
  445. package/esm/Progress/ProgressLine.js +4 -0
  446. package/esm/Radio/Radio.d.ts +4 -0
  447. package/esm/Radio/Radio.js +4 -0
  448. package/esm/RadioGroup/RadioGroup.d.ts +4 -0
  449. package/esm/RadioGroup/RadioGroup.js +5 -0
  450. package/esm/RadioTileGroup/RadioTileGroup.d.ts +5 -0
  451. package/esm/RadioTileGroup/RadioTileGroup.js +6 -0
  452. package/esm/RangeSlider/RangeSlider.d.ts +4 -0
  453. package/esm/RangeSlider/RangeSlider.js +5 -0
  454. package/esm/Rate/Rate.d.ts +4 -0
  455. package/esm/Rate/Rate.js +4 -0
  456. package/esm/Ripple/Ripple.d.ts +4 -0
  457. package/esm/Ripple/Ripple.js +5 -0
  458. package/esm/Row/Row.d.ts +4 -0
  459. package/esm/Row/Row.js +4 -0
  460. package/esm/SafeAnchor/SafeAnchor.d.ts +4 -0
  461. package/esm/SafeAnchor/SafeAnchor.js +5 -0
  462. package/esm/Schema/Schema.d.ts +6 -0
  463. package/esm/Schema/Schema.js +7 -0
  464. package/esm/SelectPicker/SelectPicker.d.ts +4 -0
  465. package/esm/SelectPicker/SelectPicker.js +4 -0
  466. package/esm/Sidebar/Sidebar.d.ts +4 -0
  467. package/esm/Sidebar/Sidebar.js +4 -0
  468. package/esm/Sidenav/Sidenav.d.ts +4 -0
  469. package/esm/Sidenav/Sidenav.js +5 -0
  470. package/esm/Sidenav/SidenavBody.d.ts +5 -0
  471. package/esm/Sidenav/SidenavBody.js +5 -0
  472. package/esm/Sidenav/SidenavHeader.d.ts +5 -0
  473. package/esm/Sidenav/SidenavHeader.js +5 -0
  474. package/esm/Slider/Slider.d.ts +5 -0
  475. package/esm/Slider/Slider.js +6 -0
  476. package/esm/Stack/Stack.d.ts +6 -0
  477. package/esm/Stack/Stack.js +6 -0
  478. package/esm/Stack/StackItem.d.ts +5 -0
  479. package/esm/Stack/StackItem.js +5 -0
  480. package/esm/Steps/StepItem.d.ts +5 -0
  481. package/esm/Steps/StepItem.js +5 -0
  482. package/esm/Steps/Steps.d.ts +5 -0
  483. package/esm/Steps/Steps.js +5 -0
  484. package/esm/Table/Table.d.ts +19 -2
  485. package/esm/Table/Table.js +23 -4
  486. package/esm/Tag/Tag.d.ts +6 -0
  487. package/esm/Tag/Tag.js +6 -0
  488. package/esm/TagGroup/TagGroup.d.ts +5 -0
  489. package/esm/TagGroup/TagGroup.js +5 -0
  490. package/esm/TagInput/index.d.ts +5 -0
  491. package/esm/TagInput/index.js +5 -0
  492. package/esm/TagPicker/index.d.ts +2 -1
  493. package/esm/TagPicker/index.js +2 -1
  494. package/esm/Timeline/Timeline.d.ts +5 -0
  495. package/esm/Timeline/Timeline.js +5 -0
  496. package/esm/Timeline/TimelineItem.d.ts +5 -0
  497. package/esm/Timeline/TimelineItem.js +5 -0
  498. package/esm/Toggle/Toggle.d.ts +5 -0
  499. package/esm/Toggle/Toggle.js +5 -0
  500. package/esm/Tooltip/Tooltip.d.ts +5 -0
  501. package/esm/Tooltip/Tooltip.js +5 -0
  502. package/esm/Tree/Tree.d.ts +5 -0
  503. package/esm/Tree/Tree.js +5 -0
  504. package/esm/TreePicker/TreePicker.d.ts +5 -0
  505. package/esm/TreePicker/TreePicker.js +6 -0
  506. package/esm/Uploader/Uploader.d.ts +5 -0
  507. package/esm/Uploader/Uploader.js +6 -0
  508. package/esm/Whisper/Whisper.d.ts +6 -0
  509. package/esm/Whisper/Whisper.js +6 -0
  510. package/esm/Windowing/AutoSizer.d.ts +5 -0
  511. package/esm/Windowing/AutoSizer.js +5 -0
  512. package/esm/Windowing/List.d.ts +6 -1
  513. package/esm/Windowing/List.js +5 -0
  514. package/esm/index.d.ts +3 -0
  515. package/esm/index.js +3 -1
  516. package/esm/toaster/toaster.d.ts +9 -7
  517. package/esm/toaster/useToaster.d.ts +19 -1
  518. package/esm/toaster/useToaster.js +19 -1
  519. package/esm/useMediaQuery/index.d.ts +2 -0
  520. package/esm/useMediaQuery/index.js +3 -0
  521. package/esm/useMediaQuery/useMediaQuery.d.ts +23 -0
  522. package/esm/useMediaQuery/useMediaQuery.js +113 -0
  523. package/esm/utils/BrowserDetection.d.ts +1 -0
  524. package/esm/utils/BrowserDetection.js +3 -0
  525. package/esm/utils/dateUtils.d.ts +6 -0
  526. package/esm/utils/dateUtils.js +6 -0
  527. package/esm/utils/index.d.ts +1 -0
  528. package/esm/utils/index.js +1 -0
  529. package/esm/utils/safeSetSelection.d.ts +2 -0
  530. package/esm/utils/safeSetSelection.js +16 -0
  531. package/esm/utils/treeUtils.d.ts +2 -2
  532. package/package.json +1 -1
  533. package/useMediaQuery/package.json +7 -0
@@ -5,5 +5,9 @@ export declare const ContainerContext: React.Context<ContainerContextValue>;
5
5
  interface ContainerContextValue {
6
6
  setHasSidebar?: (value: boolean) => void;
7
7
  }
8
+ /**
9
+ * The Container component is used to wrap content in a themed container with a max-width.
10
+ * @see https://rsuitejs.com/components/container
11
+ */
8
12
  declare const Container: React.ForwardRefExoticComponent<WithAsProps<React.ElementType<any>> & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
9
13
  export default Container;
@@ -12,6 +12,10 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("../utils");
13
13
  var ContainerContext = /*#__PURE__*/_react.default.createContext({});
14
14
  exports.ContainerContext = ContainerContext;
15
+ /**
16
+ * The Container component is used to wrap content in a themed container with a max-width.
17
+ * @see https://rsuitejs.com/components/container
18
+ */
15
19
  var Container = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
16
20
  var _props$as = props.as,
17
21
  Component = _props$as === void 0 ? 'section' : _props$as,
@@ -1,6 +1,9 @@
1
1
  import { ComponentProps } from '../utils/createComponent';
2
2
  export declare type ContentProps = ComponentProps;
3
3
  /**
4
+ * The Content component is used to wrap content in a themed container with a max-width.
5
+ * @see https://rsuitejs.com/components/container/
6
+ *
4
7
  * For Internet Explorer 11 and lower, it's suggested that an ARIA role of "main"
5
8
  * be added to the <main> element to ensure it is accessible
6
9
  */
@@ -6,6 +6,9 @@ exports.__esModule = true;
6
6
  exports.default = void 0;
7
7
  var _createComponent = _interopRequireDefault(require("../utils/createComponent"));
8
8
  /**
9
+ * The Content component is used to wrap content in a themed container with a max-width.
10
+ * @see https://rsuitejs.com/components/container/
11
+ *
9
12
  * For Internet Explorer 11 and lower, it's suggested that an ARIA role of "main"
10
13
  * be added to the <main> element to ensure it is accessible
11
14
  */
@@ -158,6 +158,11 @@ declare const CustomContext: React.Context<CustomProviderProps<{
158
158
  off: string;
159
159
  } | undefined;
160
160
  }>>;
161
+ /**
162
+ * CustomProvider is used to provide global configuration, such as language, theme, etc.
163
+ *
164
+ * @see https://rsuitejs.com/components/custom-provider
165
+ */
161
166
  declare const CustomProvider: (props: Omit<CustomProviderProps, 'toasters'>) => JSX.Element;
162
167
  export { CustomContext };
163
168
  export default CustomProvider;
@@ -15,6 +15,12 @@ var _utils = require("../utils");
15
15
  var CustomContext = /*#__PURE__*/_react.default.createContext({});
16
16
  exports.CustomContext = CustomContext;
17
17
  var themes = ['light', 'dark', 'high-contrast'];
18
+
19
+ /**
20
+ * CustomProvider is used to provide global configuration, such as language, theme, etc.
21
+ *
22
+ * @see https://rsuitejs.com/components/custom-provider
23
+ */
18
24
  var CustomProvider = function CustomProvider(props) {
19
25
  var children = props.children,
20
26
  _props$classPrefix = props.classPrefix,
@@ -1,6 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import * as helpers from 'dom-lib';
3
3
  export * from 'dom-lib';
4
+ /**
5
+ * a wrapper of dom-lib with some custom methods.
6
+ * @see https://rsuitejs.com/components/dom-helper/
7
+ */
4
8
  declare const DOMHelper: {
5
9
  isElement: (value: any) => value is HTMLElement;
6
10
  on: typeof helpers.on;
@@ -15,6 +15,10 @@ Object.keys(helpers).forEach(function (key) {
15
15
  exports[key] = helpers[key];
16
16
  });
17
17
  var _isElement = _interopRequireDefault(require("./isElement"));
18
+ /**
19
+ * a wrapper of dom-lib with some custom methods.
20
+ * @see https://rsuitejs.com/components/dom-helper/
21
+ */
18
22
  var DOMHelper = (0, _extends2.default)({}, helpers, {
19
23
  isElement: _isElement.default
20
24
  });
@@ -0,0 +1,180 @@
1
+ /// <reference types="react" />
2
+ import { type Locale } from 'date-fns';
3
+ export declare const patternMap: {
4
+ y: string;
5
+ M: string;
6
+ d: string;
7
+ H: string;
8
+ h: string;
9
+ m: string;
10
+ s: string;
11
+ a: string;
12
+ };
13
+ export declare class DateField extends Object {
14
+ format: string;
15
+ patternArray: {
16
+ pattern: string;
17
+ key: string;
18
+ }[];
19
+ year: number | null;
20
+ month: number | null;
21
+ day: number | null;
22
+ hour: number | null;
23
+ minute: number | null;
24
+ second: number | null;
25
+ meridian: 'AM' | 'PM' | null;
26
+ constructor(format: string, value?: Date | null);
27
+ }
28
+ export declare const useDateField: (format: string, localize: Locale['localize'], date?: Date | null) => {
29
+ dateField: {
30
+ year: any;
31
+ format: string;
32
+ patternArray: {
33
+ pattern: string;
34
+ key: string;
35
+ }[];
36
+ month: number | null;
37
+ day: number | null;
38
+ hour: number | null;
39
+ minute: number | null;
40
+ second: number | null;
41
+ meridian: 'AM' | 'PM' | null;
42
+ constructor: Function;
43
+ toString(): string;
44
+ toLocaleString(): string;
45
+ valueOf(): Object;
46
+ hasOwnProperty(v: PropertyKey): boolean;
47
+ isPrototypeOf(v: Object): boolean;
48
+ propertyIsEnumerable(v: PropertyKey): boolean;
49
+ should: Chai.Assertion;
50
+ } | {
51
+ month: any;
52
+ format: string;
53
+ patternArray: {
54
+ pattern: string;
55
+ key: string;
56
+ }[];
57
+ year: number | null;
58
+ day: number | null;
59
+ hour: number | null;
60
+ minute: number | null;
61
+ second: number | null;
62
+ meridian: 'AM' | 'PM' | null;
63
+ constructor: Function;
64
+ toString(): string;
65
+ toLocaleString(): string;
66
+ valueOf(): Object;
67
+ hasOwnProperty(v: PropertyKey): boolean;
68
+ isPrototypeOf(v: Object): boolean;
69
+ propertyIsEnumerable(v: PropertyKey): boolean;
70
+ should: Chai.Assertion;
71
+ } | {
72
+ day: any;
73
+ format: string;
74
+ patternArray: {
75
+ pattern: string;
76
+ key: string;
77
+ }[];
78
+ year: number | null;
79
+ month: number | null;
80
+ hour: number | null;
81
+ minute: number | null;
82
+ second: number | null;
83
+ meridian: 'AM' | 'PM' | null;
84
+ constructor: Function;
85
+ toString(): string;
86
+ toLocaleString(): string;
87
+ valueOf(): Object;
88
+ hasOwnProperty(v: PropertyKey): boolean;
89
+ isPrototypeOf(v: Object): boolean;
90
+ propertyIsEnumerable(v: PropertyKey): boolean;
91
+ should: Chai.Assertion;
92
+ } | {
93
+ hour: any;
94
+ format: string;
95
+ patternArray: {
96
+ pattern: string;
97
+ key: string;
98
+ }[];
99
+ year: number | null;
100
+ month: number | null;
101
+ day: number | null;
102
+ minute: number | null;
103
+ second: number | null;
104
+ meridian: 'AM' | 'PM' | null;
105
+ constructor: Function;
106
+ toString(): string;
107
+ toLocaleString(): string;
108
+ valueOf(): Object;
109
+ hasOwnProperty(v: PropertyKey): boolean;
110
+ isPrototypeOf(v: Object): boolean;
111
+ propertyIsEnumerable(v: PropertyKey): boolean;
112
+ should: Chai.Assertion;
113
+ } | {
114
+ minute: any;
115
+ format: string;
116
+ patternArray: {
117
+ pattern: string;
118
+ key: string;
119
+ }[];
120
+ year: number | null;
121
+ month: number | null;
122
+ day: number | null;
123
+ hour: number | null;
124
+ second: number | null;
125
+ meridian: 'AM' | 'PM' | null;
126
+ constructor: Function;
127
+ toString(): string;
128
+ toLocaleString(): string;
129
+ valueOf(): Object;
130
+ hasOwnProperty(v: PropertyKey): boolean;
131
+ isPrototypeOf(v: Object): boolean;
132
+ propertyIsEnumerable(v: PropertyKey): boolean;
133
+ should: Chai.Assertion;
134
+ } | {
135
+ second: any;
136
+ format: string;
137
+ patternArray: {
138
+ pattern: string;
139
+ key: string;
140
+ }[];
141
+ year: number | null;
142
+ month: number | null;
143
+ day: number | null;
144
+ hour: number | null;
145
+ minute: number | null;
146
+ meridian: 'AM' | 'PM' | null;
147
+ constructor: Function;
148
+ toString(): string;
149
+ toLocaleString(): string;
150
+ valueOf(): Object;
151
+ hasOwnProperty(v: PropertyKey): boolean;
152
+ isPrototypeOf(v: Object): boolean;
153
+ propertyIsEnumerable(v: PropertyKey): boolean;
154
+ should: Chai.Assertion;
155
+ } | {
156
+ meridian: any;
157
+ format: string;
158
+ patternArray: {
159
+ pattern: string;
160
+ key: string;
161
+ }[];
162
+ year: number | null;
163
+ month: number | null;
164
+ day: number | null;
165
+ hour: number | null;
166
+ minute: number | null;
167
+ second: number | null;
168
+ constructor: Function;
169
+ toString(): string;
170
+ toLocaleString(): string;
171
+ valueOf(): Object;
172
+ hasOwnProperty(v: PropertyKey): boolean;
173
+ isPrototypeOf(v: Object): boolean;
174
+ propertyIsEnumerable(v: PropertyKey): boolean;
175
+ should: Chai.Assertion;
176
+ };
177
+ dispatch: import("react").Dispatch<any>;
178
+ toDate: (type: string, value: number | null) => Date;
179
+ toDateString: () => string;
180
+ };
@@ -0,0 +1,151 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.useDateField = exports.DateField = exports.patternMap = void 0;
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
10
+ var _react = require("react");
11
+ var _utils = require("./utils");
12
+ var patternMap = {
13
+ y: 'year',
14
+ M: 'month',
15
+ d: 'day',
16
+ H: 'hour',
17
+ h: 'hour',
18
+ m: 'minute',
19
+ s: 'second',
20
+ a: 'meridian'
21
+ };
22
+ exports.patternMap = patternMap;
23
+ var DateField = /*#__PURE__*/function (_Object) {
24
+ (0, _inheritsLoose2.default)(DateField, _Object);
25
+ function DateField(format, value) {
26
+ var _this;
27
+ _this = _Object.call(this) || this;
28
+ _this.format = void 0;
29
+ _this.patternArray = [];
30
+ _this.year = null;
31
+ _this.month = null;
32
+ _this.day = null;
33
+ _this.hour = null;
34
+ _this.minute = null;
35
+ _this.second = null;
36
+ _this.meridian = null;
37
+ _this.format = format;
38
+ var formatArray = format.match(new RegExp('([y|d|M|H|h|m|s|a])+', 'ig')) || [];
39
+ _this.patternArray = formatArray.map(function (pattern) {
40
+ return {
41
+ pattern: pattern,
42
+ key: patternMap[pattern[0]]
43
+ };
44
+ });
45
+ if (value) {
46
+ _this.year = value.getFullYear();
47
+ _this.month = value.getMonth() + 1;
48
+ _this.day = value.getDate();
49
+ _this.hour = value.getHours();
50
+ _this.minute = value.getMinutes();
51
+ _this.second = value.getSeconds();
52
+ _this.meridian = value.getHours() > 12 ? 'PM' : 'AM';
53
+ }
54
+ return _this;
55
+ }
56
+ return DateField;
57
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Object));
58
+ /**
59
+ * Pad a number with zeros to the left.
60
+ */
61
+ exports.DateField = DateField;
62
+ function padNumber(number, length) {
63
+ var numberString = String(number);
64
+ if (numberString.length >= length) {
65
+ return numberString;
66
+ }
67
+ var paddingCount = length - numberString.length;
68
+ for (var i = 0; i < paddingCount; i++) {
69
+ numberString = '0' + numberString;
70
+ }
71
+ return numberString;
72
+ }
73
+ var useDateField = function useDateField(format, localize, date) {
74
+ var _useReducer = (0, _react.useReducer)(function (state, action) {
75
+ switch (action.type) {
76
+ case 'setYear':
77
+ return (0, _extends2.default)({}, state, {
78
+ year: action.value
79
+ });
80
+ case 'setMonth':
81
+ return (0, _extends2.default)({}, state, {
82
+ month: action.value
83
+ });
84
+ case 'setDay':
85
+ return (0, _extends2.default)({}, state, {
86
+ day: action.value
87
+ });
88
+ case 'setHour':
89
+ return (0, _extends2.default)({}, state, {
90
+ hour: action.value
91
+ });
92
+ case 'setMinute':
93
+ return (0, _extends2.default)({}, state, {
94
+ minute: action.value
95
+ });
96
+ case 'setSecond':
97
+ return (0, _extends2.default)({}, state, {
98
+ second: action.value
99
+ });
100
+ case 'setMeridian':
101
+ return (0, _extends2.default)({}, state, {
102
+ meridian: action.value
103
+ });
104
+ default:
105
+ return state;
106
+ }
107
+ }, new DateField(format, date)),
108
+ dateField = _useReducer[0],
109
+ dispatch = _useReducer[1];
110
+ var toDateString = function toDateString() {
111
+ var str = format;
112
+ dateField.patternArray.forEach(function (item) {
113
+ var key = item.key,
114
+ pattern = item.pattern;
115
+ var value = dateField[key];
116
+ if (value !== null) {
117
+ if (pattern === 'MMM' && typeof value === 'number') {
118
+ value = localize === null || localize === void 0 ? void 0 : localize.month(value - 1, {
119
+ width: 'abbreviated'
120
+ });
121
+ } else if (pattern === 'MMMM' && typeof value === 'number') {
122
+ value = localize === null || localize === void 0 ? void 0 : localize.month(value - 1, {
123
+ width: 'wide'
124
+ });
125
+ } else if (pattern === 'aa' && typeof value === 'number') {
126
+ value = value === 0 ? 'AM' : 'PM';
127
+ } else if (pattern === 'hh' && typeof value === 'number') {
128
+ value = value === 0 ? 12 : value > 12 ? value - 12 : value;
129
+ }
130
+ if (typeof value === 'number') {
131
+ value = padNumber(value, pattern.length);
132
+ }
133
+ str = str.replace(pattern, value);
134
+ }
135
+ });
136
+ return str;
137
+ };
138
+ var toDate = function toDate(type, value) {
139
+ if (value === null) {
140
+ return new Date('');
141
+ }
142
+ return (0, _utils.modifyDate)(new Date(dateField.year, dateField.month ? dateField.month - 1 : 0, dateField.day, dateField.hour, dateField.minute, dateField.second), type, value);
143
+ };
144
+ return {
145
+ dateField: dateField,
146
+ dispatch: dispatch,
147
+ toDate: toDate,
148
+ toDateString: toDateString
149
+ };
150
+ };
151
+ exports.useDateField = useDateField;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { InputProps } from '../Input';
3
+ import { FormControlBaseProps } from '../@types/common';
4
+ export interface DateInputProps extends Omit<InputProps, 'value' | 'onChange' | 'defaultValue'>, FormControlBaseProps<Date | null> {
5
+ /**
6
+ * Format of the date when rendered in the input.
7
+ * Format of the string is based on Unicode Technical Standard: https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
8
+ * @default 'yyyy-MM-dd'
9
+ **/
10
+ format?: string;
11
+ }
12
+ /**
13
+ * The DateInput component lets users select a date with the keyboard.
14
+ * @version 5.58.0
15
+ * @see https://rsuitejs.com/components/date-input/
16
+ */
17
+ declare const DateInput: React.ForwardRefExoticComponent<DateInputProps & React.RefAttributes<unknown>>;
18
+ export default DateInput;
@@ -0,0 +1,222 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+ exports.__esModule = true;
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _Input = _interopRequireDefault(require("../Input"));
12
+ var _utils = require("../utils");
13
+ var _utils2 = require("./utils");
14
+ var _useDateInputState2 = _interopRequireDefault(require("./useDateInputState"));
15
+ var isTestEnvironment = undefined === 'test';
16
+ /**
17
+ * The DateInput component lets users select a date with the keyboard.
18
+ * @version 5.58.0
19
+ * @see https://rsuitejs.com/components/date-input/
20
+ */
21
+ var DateInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
22
+ var _props$format = props.format,
23
+ formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
24
+ valueProp = props.value,
25
+ defaultValue = props.defaultValue,
26
+ onChange = props.onChange,
27
+ onKeyDown = props.onKeyDown,
28
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["format", "value", "defaultValue", "onChange", "onKeyDown"]);
29
+ var inputRef = (0, _react.useRef)();
30
+ var _useState = (0, _react.useState)({
31
+ selectedPattern: 'y',
32
+ selectionStart: 0,
33
+ selectionEnd: 0
34
+ }),
35
+ selectedState = _useState[0],
36
+ setSelectedState = _useState[1];
37
+ var _useCustom = (0, _utils.useCustom)('Calendar'),
38
+ locale = _useCustom.locale;
39
+ var localize = locale.dateLocale.localize;
40
+ var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),
41
+ value = _useControlled[0],
42
+ setValue = _useControlled[1],
43
+ isControlled = _useControlled[2];
44
+ var _useDateInputState = (0, _useDateInputState2.default)({
45
+ formatStr: formatStr,
46
+ localize: localize,
47
+ date: value,
48
+ isControlledDate: isControlled
49
+ }),
50
+ dateField = _useDateInputState.dateField,
51
+ setDateOffset = _useDateInputState.setDateOffset,
52
+ setDateField = _useDateInputState.setDateField,
53
+ getDateField = _useDateInputState.getDateField,
54
+ toDateString = _useDateInputState.toDateString;
55
+ var dateString = toDateString();
56
+ var keyPressOptions = (0, _react.useMemo)(function () {
57
+ return {
58
+ formatStr: formatStr,
59
+ localize: localize,
60
+ selectedMonth: dateField.month,
61
+ dateString: dateString
62
+ };
63
+ }, [dateField, dateString, formatStr, localize]);
64
+ var setSelectionRange = (0, _react.useCallback)(function (selectionStart, selectionEnd) {
65
+ if (selectionStart === void 0) {
66
+ selectionStart = selectedState.selectionStart;
67
+ }
68
+ if (selectionEnd === void 0) {
69
+ selectionEnd = selectedState.selectionEnd;
70
+ }
71
+ var input = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;
72
+ if (isTestEnvironment) {
73
+ (0, _utils.safeSetSelection)(input, selectionStart, selectionEnd);
74
+ return;
75
+ }
76
+ requestAnimationFrame(function () {
77
+ (0, _utils.safeSetSelection)(input, selectionStart, selectionEnd);
78
+ });
79
+ }, [selectedState]);
80
+ var handleChange = (0, _react.useCallback)(function (value, event) {
81
+ setValue(value);
82
+ onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
83
+ }, [onChange, setValue]);
84
+ var handleChangeField = (0, _react.useCallback)(function (event, nextDirection) {
85
+ var input = event.target;
86
+ var direction = nextDirection || (event.key === 'ArrowRight' ? 'right' : 'left');
87
+ var state = (0, _utils2.getInputSelectedState)((0, _extends2.default)({}, keyPressOptions, {
88
+ input: input,
89
+ direction: direction
90
+ }));
91
+ setSelectionRange(state.selectionStart, state.selectionEnd);
92
+ setSelectedState(state);
93
+ }, [keyPressOptions, setSelectionRange]);
94
+ var handleChangeFieldValue = (0, _react.useCallback)(function (event) {
95
+ var key = event.key;
96
+ var input = event.target;
97
+ var offset = key === 'ArrowUp' ? 1 : -1;
98
+ var state = (0, _utils2.getInputSelectedState)((0, _extends2.default)({}, keyPressOptions, {
99
+ input: input,
100
+ valueOffset: offset
101
+ }));
102
+ setSelectedState(state);
103
+ setDateOffset(state.selectedPattern, offset, function (date) {
104
+ return handleChange(date, event);
105
+ });
106
+ setSelectionRange(state.selectionStart, state.selectionEnd);
107
+ }, [handleChange, keyPressOptions, setDateOffset, setSelectionRange]);
108
+ var isFieldFullValue = (0, _react.useCallback)(function (value, pattern) {
109
+ var patternGroup = (0, _utils2.getPatternGroups)(formatStr, pattern);
110
+ if (value.toString().length === patternGroup.length) {
111
+ return true;
112
+ }
113
+ switch (pattern) {
114
+ case 'M':
115
+ return parseInt(value + "0") > 12;
116
+ case 'd':
117
+ return parseInt(value + "0") > 31;
118
+ case 'H':
119
+ return parseInt(value + "0") > 23;
120
+ case 'h':
121
+ return parseInt(value + "0") > 12;
122
+ case 'm':
123
+ case 's':
124
+ return parseInt(value + "0") > 59;
125
+ default:
126
+ return false;
127
+ }
128
+ }, [formatStr]);
129
+ var handleChangeFieldValueWithNumericKeys = (0, _react.useCallback)(function (event) {
130
+ var key = event.key;
131
+ var input = event.target;
132
+ var pattern = selectedState.selectedPattern;
133
+ if (!pattern) {
134
+ return;
135
+ }
136
+ var field = getDateField(pattern);
137
+ var value = parseInt(key, 10);
138
+ var padValue = parseInt("" + (field.value || '') + key, 10);
139
+ var newValue = value;
140
+
141
+ // Check if the value entered by the user is a valid date
142
+ if ((0, _utils2.validateDateTime)(field.name, padValue)) {
143
+ newValue = padValue;
144
+ }
145
+ if (pattern === 'M') {
146
+ // Month cannot be less than 1.
147
+ newValue = Math.max(1, newValue);
148
+ }
149
+ setDateField(pattern, newValue, function (date) {
150
+ return handleChange(date, event);
151
+ });
152
+
153
+ // The currently selected month will be retained as a parameter of getInputSelectedState,
154
+ // but if the user enters a month, the month value will be replaced with the value entered by the user.
155
+ var selectedMonth = pattern === 'M' ? newValue : dateField.month;
156
+ var nextState = (0, _utils2.getInputSelectedState)((0, _extends2.default)({}, keyPressOptions, {
157
+ input: input,
158
+ selectedMonth: selectedMonth
159
+ }));
160
+ setSelectedState(nextState);
161
+ setSelectionRange(nextState.selectionStart, nextState.selectionEnd);
162
+
163
+ // If the field is full value, move the cursor to the next field
164
+ if (isFieldFullValue(newValue, pattern) && input.selectionEnd !== input.value.length) {
165
+ handleChangeField(event, 'right');
166
+ }
167
+ }, [dateField, getDateField, handleChange, handleChangeField, isFieldFullValue, keyPressOptions, selectedState.selectedPattern, setDateField, setSelectionRange]);
168
+ var handleRemoveFieldValue = (0, _react.useCallback)(function (event) {
169
+ if (selectedState.selectedPattern) {
170
+ setDateField(selectedState.selectedPattern, null, function (date) {
171
+ return handleChange(date, event);
172
+ });
173
+ setSelectionRange();
174
+ }
175
+ }, [handleChange, selectedState, setDateField, setSelectionRange]);
176
+ var handleKeyDown = function handleKeyDown(event) {
177
+ var _key$match;
178
+ var key = event.key;
179
+ switch (key) {
180
+ case 'ArrowRight':
181
+ case 'ArrowLeft':
182
+ handleChangeField(event);
183
+ event.preventDefault();
184
+ break;
185
+ case 'ArrowUp':
186
+ case 'ArrowDown':
187
+ handleChangeFieldValue(event);
188
+ event.preventDefault();
189
+ break;
190
+ case 'Backspace':
191
+ handleRemoveFieldValue(event);
192
+ event.preventDefault();
193
+ break;
194
+ case (_key$match = key.match(/\d/)) === null || _key$match === void 0 ? void 0 : _key$match.input:
195
+ handleChangeFieldValueWithNumericKeys(event);
196
+ event.preventDefault();
197
+ break;
198
+ }
199
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
200
+ };
201
+ var handleClick = (0, _react.useCallback)(function (event) {
202
+ var input = event.target;
203
+ var state = (0, _utils2.getInputSelectedState)((0, _extends2.default)({}, keyPressOptions, {
204
+ input: input
205
+ }));
206
+ setSelectedState(state);
207
+ setSelectionRange(state.selectionStart, state.selectionEnd);
208
+ }, [keyPressOptions, setSelectionRange]);
209
+ return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
210
+ inputMode: "text",
211
+ autoComplete: "off",
212
+ autoCorrect: "off",
213
+ spellCheck: false,
214
+ ref: (0, _utils.mergeRefs)(inputRef, ref),
215
+ onKeyDown: handleKeyDown,
216
+ onClick: handleClick,
217
+ value: dateString
218
+ }, rest));
219
+ });
220
+ DateInput.displayName = 'DateInput';
221
+ var _default = DateInput;
222
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import DateInput from './DateInput';
2
+ export type { DateInputProps } from './DateInput';
3
+ export default DateInput;
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _DateInput = _interopRequireDefault(require("./DateInput"));
8
+ var _default = _DateInput.default;
9
+ exports.default = _default;