rsuite 6.0.0-canary-20250416 → 6.0.0-canary-20250507

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 (547) hide show
  1. package/AutoComplete/styles/index.css +32 -71
  2. package/Button/styles/index.css +4 -6
  3. package/CHANGELOG.md +15 -0
  4. package/Calendar/styles/index.css +8 -16
  5. package/CascadeTree/styles/index.css +8 -16
  6. package/Cascader/styles/index.css +36 -79
  7. package/CheckPicker/styles/index.css +32 -66
  8. package/CheckTree/styles/index.css +34 -70
  9. package/CheckTreePicker/styles/index.css +34 -70
  10. package/Checkbox/styles/index.css +7 -9
  11. package/Checkbox/styles/index.less +1 -1
  12. package/DateInput/styles/index.css +6 -9
  13. package/DatePicker/styles/index.css +38 -81
  14. package/DateRangeInput/styles/index.css +6 -9
  15. package/DateRangePicker/styles/index.css +38 -81
  16. package/Dropdown/styles/index.css +6 -10
  17. package/FormControl/styles/index.css +2 -2
  18. package/FormControl/styles/index.less +2 -2
  19. package/IconButton/styles/index.css +4 -6
  20. package/Input/styles/index.css +6 -9
  21. package/Input/styles/mixin.less +2 -3
  22. package/InputGroup/styles/index.css +7 -13
  23. package/InputGroup/styles/index.less +3 -4
  24. package/InputNumber/styles/index.css +36 -35
  25. package/InputNumber/styles/index.less +1 -67
  26. package/InputPicker/styles/index.css +32 -71
  27. package/Message/styles/index.css +5 -15
  28. package/Message/styles/index.less +4 -3
  29. package/MultiCascadeTree/styles/index.css +38 -80
  30. package/MultiCascader/styles/index.css +38 -80
  31. package/Nav/styles/index.css +8 -14
  32. package/Navbar/styles/index.css +16 -40
  33. package/NumberInput/package.json +7 -0
  34. package/NumberInput/styles/index.css +1402 -0
  35. package/NumberInput/styles/index.less +74 -0
  36. package/{InputNumber → NumberInput}/styles/mixin.less +0 -0
  37. package/Pagination/styles/index.css +34 -75
  38. package/PasswordInput/styles/index.css +6 -9
  39. package/PinInput/package.json +7 -0
  40. package/PinInput/styles/index.css +212 -0
  41. package/PinInput/styles/index.less +66 -0
  42. package/Radio/styles/index.css +7 -9
  43. package/Radio/styles/index.less +1 -1
  44. package/RangeSlider/styles/index.css +2 -0
  45. package/SelectPicker/styles/index.css +32 -71
  46. package/Sidenav/styles/index.css +30 -67
  47. package/Slider/styles/index.css +2 -0
  48. package/Slider/styles/index.less +2 -0
  49. package/Stat/styles/index.css +4 -6
  50. package/Tabs/styles/index.css +8 -14
  51. package/Tag/styles/index.css +0 -15
  52. package/TagInput/styles/index.css +34 -72
  53. package/TagPicker/styles/index.css +34 -72
  54. package/TimePicker/styles/index.css +38 -81
  55. package/TimeRangePicker/styles/index.css +38 -81
  56. package/Toggle/styles/index.css +9 -13
  57. package/Toggle/styles/index.less +3 -4
  58. package/Tree/styles/index.css +34 -75
  59. package/TreePicker/styles/index.css +34 -75
  60. package/Uploader/styles/index.css +6 -10
  61. package/cjs/Accordion/Accordion.js +2 -2
  62. package/cjs/Affix/Affix.js +1 -2
  63. package/cjs/Animation/Bounce.js +1 -2
  64. package/cjs/Animation/Collapse.js +1 -2
  65. package/cjs/Animation/Fade.js +1 -2
  66. package/cjs/Animation/Slide.js +1 -2
  67. package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
  68. package/cjs/AutoComplete/AutoComplete.js +1 -2
  69. package/cjs/Avatar/Avatar.js +1 -2
  70. package/cjs/AvatarGroup/AvatarGroup.js +1 -2
  71. package/cjs/Badge/Badge.js +1 -2
  72. package/cjs/Breadcrumb/Breadcrumb.js +1 -2
  73. package/cjs/Button/Button.d.ts +2 -2
  74. package/cjs/Button/Button.js +1 -2
  75. package/cjs/ButtonGroup/ButtonGroup.d.ts +2 -2
  76. package/cjs/ButtonGroup/ButtonGroup.js +1 -2
  77. package/cjs/ButtonToolbar/ButtonToolbar.js +1 -2
  78. package/cjs/Calendar/Calendar.js +4 -4
  79. package/cjs/Calendar/CalendarBody.js +1 -4
  80. package/cjs/Calendar/CalendarContainer.js +1 -1
  81. package/cjs/Calendar/CalendarHeader.js +3 -3
  82. package/cjs/Calendar/CalendarProvider.d.ts +1 -1
  83. package/cjs/Calendar/Grid/GridCell.js +1 -2
  84. package/cjs/Calendar/Grid/GridHeaderRow.js +1 -2
  85. package/cjs/Calendar/Grid/GridRow.d.ts +2 -0
  86. package/cjs/Calendar/Grid/GridRow.js +5 -4
  87. package/cjs/Calendar/MonthDropdown/MonthDropdownItem.js +1 -2
  88. package/cjs/Calendar/hooks/useCalendar.d.ts +24 -2
  89. package/cjs/Calendar/hooks/useCalendar.js +34 -1
  90. package/cjs/Card/Card.js +1 -2
  91. package/cjs/CardGroup/CardGroup.js +1 -2
  92. package/cjs/Carousel/Carousel.js +1 -2
  93. package/cjs/CascadeTree/CascadeTree.js +1 -2
  94. package/cjs/CascadeTree/SearchView.js +1 -2
  95. package/cjs/CascadeTree/TreeView.js +1 -2
  96. package/cjs/Cascader/Cascader.js +1 -2
  97. package/cjs/CheckPicker/CheckPicker.js +1 -2
  98. package/cjs/CheckTree/CheckTree.js +1 -2
  99. package/cjs/CheckTree/CheckTreeNode.js +1 -2
  100. package/cjs/CheckTree/CheckTreeView.js +1 -2
  101. package/cjs/CheckTreePicker/CheckTreePicker.js +1 -2
  102. package/cjs/Checkbox/Checkbox.js +1 -2
  103. package/cjs/CheckboxGroup/CheckboxGroup.js +1 -2
  104. package/cjs/Container/Container.js +1 -2
  105. package/cjs/CustomProvider/CustomProvider.d.ts +1 -271
  106. package/cjs/CustomProvider/CustomProvider.js +2 -3
  107. package/cjs/CustomProvider/index.d.ts +1 -6
  108. package/cjs/CustomProvider/index.js +3 -12
  109. package/cjs/DateInput/DateInput.js +1 -2
  110. package/cjs/DateInput/hooks/useDateInputState.js +2 -2
  111. package/cjs/DatePicker/DatePicker.js +2 -3
  112. package/cjs/DatePicker/hooks/useFocus.js +1 -2
  113. package/cjs/DateRangeInput/DateRangeInput.js +1 -2
  114. package/cjs/DateRangePicker/DateRangePicker.js +2 -3
  115. package/cjs/DateRangePicker/Header.js +3 -3
  116. package/cjs/DateRangePicker/utils.d.ts +1 -1
  117. package/cjs/DateRangePicker/utils.js +1 -1
  118. package/cjs/Divider/Divider.js +1 -2
  119. package/cjs/Drawer/Drawer.js +1 -2
  120. package/cjs/Dropdown/Dropdown.js +1 -2
  121. package/cjs/Dropdown/DropdownMenu.js +1 -2
  122. package/cjs/FlexboxGrid/FlexboxGrid.js +1 -2
  123. package/cjs/Form/Form.js +1 -2
  124. package/cjs/Form/FormContext.d.ts +1 -1
  125. package/cjs/Form/hooks/useFormValidate.js +5 -5
  126. package/cjs/FormControl/FormControl.js +54 -86
  127. package/cjs/FormControlLabel/FormControlLabel.js +1 -2
  128. package/cjs/FormErrorMessage/FormErrorMessage.js +1 -2
  129. package/cjs/FormGroup/FormGroup.js +1 -2
  130. package/cjs/FormHelpText/FormHelpText.js +1 -2
  131. package/cjs/FormStack/FormStack.js +1 -2
  132. package/cjs/Grid/Col.js +1 -2
  133. package/cjs/Grid/Grid.js +1 -2
  134. package/cjs/Grid/Row.js +1 -2
  135. package/cjs/Heading/Heading.js +1 -2
  136. package/cjs/Highlight/Highlight.js +2 -3
  137. package/cjs/IconButton/IconButton.js +1 -2
  138. package/cjs/Image/Image.js +2 -3
  139. package/cjs/InlineEdit/InlineEdit.js +1 -2
  140. package/cjs/Input/Input.js +3 -3
  141. package/cjs/InputGroup/InputGroup.js +1 -2
  142. package/cjs/InputNumber/index.d.ts +12 -2
  143. package/cjs/InputNumber/index.js +11 -4
  144. package/cjs/InputPicker/InputPicker.js +1 -2
  145. package/cjs/InputPicker/utils.d.ts +1 -1
  146. package/cjs/Kbd/Kbd.js +1 -2
  147. package/cjs/Link/Link.js +1 -2
  148. package/cjs/List/List.js +1 -2
  149. package/cjs/Loader/Loader.js +1 -2
  150. package/cjs/MaskedInput/MaskedInput.js +2 -2
  151. package/cjs/Message/Message.js +1 -2
  152. package/cjs/Modal/Modal.js +1 -2
  153. package/cjs/Modal/ModalHeader.js +1 -2
  154. package/cjs/MultiCascadeTree/MultiCascadeTree.js +1 -2
  155. package/cjs/MultiCascadeTree/SearchView.js +1 -2
  156. package/cjs/MultiCascadeTree/TreeView.js +1 -2
  157. package/cjs/MultiCascader/MultiCascader.js +1 -2
  158. package/cjs/Nav/Nav.js +1 -2
  159. package/cjs/Nav/NavDropdownMenu.js +1 -2
  160. package/cjs/Navbar/Navbar.d.ts +1 -1
  161. package/cjs/Navbar/Navbar.js +1 -2
  162. package/cjs/Navbar/NavbarDropdownMenu.js +1 -2
  163. package/cjs/Navbar/NavbarToggle.d.ts +8 -3
  164. package/cjs/Navbar/NavbarToggle.js +9 -14
  165. package/cjs/Notification/Notification.js +1 -2
  166. package/{esm/InputNumber/InputNumber.d.ts → cjs/NumberInput/NumberInput.d.ts} +20 -8
  167. package/cjs/NumberInput/NumberInput.js +162 -0
  168. package/cjs/NumberInput/hooks/useEvents.d.ts +22 -0
  169. package/cjs/NumberInput/hooks/useEvents.js +114 -0
  170. package/cjs/NumberInput/hooks/useNumberInputValue.d.ts +7 -0
  171. package/cjs/NumberInput/hooks/useNumberInputValue.js +34 -0
  172. package/cjs/NumberInput/hooks/useWheelHandler.d.ts +5 -0
  173. package/cjs/NumberInput/hooks/useWheelHandler.js +25 -0
  174. package/cjs/NumberInput/index.d.ts +4 -0
  175. package/cjs/NumberInput/index.js +11 -0
  176. package/cjs/NumberInput/utils/number.d.ts +17 -0
  177. package/cjs/NumberInput/utils/number.js +67 -0
  178. package/cjs/Pagination/LimitPicker.d.ts +2 -2
  179. package/cjs/Pagination/Pagination.d.ts +2 -2
  180. package/cjs/Pagination/Pagination.js +1 -2
  181. package/cjs/Pagination/PaginationGroup.js +1 -2
  182. package/cjs/Panel/Panel.js +1 -2
  183. package/cjs/PanelGroup/PanelGroup.js +1 -2
  184. package/cjs/PasswordInput/PasswordInput.d.ts +4 -0
  185. package/cjs/PasswordInput/PasswordInput.js +5 -4
  186. package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.js +1 -2
  187. package/cjs/PinInput/PinInput.d.ts +36 -0
  188. package/cjs/PinInput/PinInput.js +224 -0
  189. package/cjs/PinInput/hooks/usePinInputRefs.d.ts +12 -0
  190. package/cjs/PinInput/hooks/usePinInputRefs.js +62 -0
  191. package/cjs/PinInput/hooks/usePinValue.d.ts +14 -0
  192. package/cjs/PinInput/hooks/usePinValue.js +73 -0
  193. package/cjs/PinInput/index.d.ts +4 -0
  194. package/cjs/PinInput/index.js +9 -0
  195. package/cjs/Placeholder/PlaceholderGraph.js +1 -2
  196. package/cjs/Placeholder/PlaceholderGrid.js +1 -2
  197. package/cjs/Placeholder/PlaceholderParagraph.js +1 -2
  198. package/cjs/Popover/Popover.js +1 -2
  199. package/cjs/Progress/ProgressCircle.js +1 -2
  200. package/cjs/Progress/ProgressLine.js +1 -2
  201. package/cjs/Radio/Radio.js +1 -2
  202. package/cjs/RadioGroup/RadioGroup.js +1 -2
  203. package/cjs/RadioTile/RadioTile.js +1 -2
  204. package/cjs/RadioTileGroup/RadioTileGroup.js +1 -2
  205. package/cjs/RangeSlider/RangeSlider.js +2 -3
  206. package/cjs/Rate/Rate.js +1 -2
  207. package/cjs/SelectPicker/SelectPicker.js +1 -2
  208. package/cjs/Sidebar/Sidebar.js +1 -2
  209. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +1 -2
  210. package/cjs/Sidenav/Sidenav.js +1 -2
  211. package/cjs/Sidenav/SidenavDropdownMenu.js +1 -2
  212. package/cjs/Slider/Slider.d.ts +5 -1
  213. package/cjs/Slider/Slider.js +13 -14
  214. package/cjs/Stack/Stack.js +1 -2
  215. package/cjs/Stat/Stat.js +1 -2
  216. package/cjs/Stat/StatValue.js +2 -2
  217. package/cjs/StatGroup/StatGroup.js +1 -2
  218. package/cjs/Steps/Steps.js +1 -2
  219. package/cjs/Table/Table.js +2 -2
  220. package/cjs/Tabs/Tabs.js +1 -2
  221. package/cjs/Tag/Tag.js +1 -2
  222. package/cjs/TagInput/TagInput.js +2 -2
  223. package/cjs/TagPicker/TagPicker.js +2 -2
  224. package/cjs/Text/Text.js +1 -2
  225. package/cjs/Textarea/Textarea.js +1 -2
  226. package/cjs/TimePicker/TimePicker.d.ts +1 -2
  227. package/cjs/TimePicker/TimePicker.js +2 -2
  228. package/cjs/TimeRangePicker/TimeRangePicker.js +2 -2
  229. package/cjs/Timeline/Timeline.js +1 -2
  230. package/cjs/Toggle/Toggle.js +1 -2
  231. package/cjs/Tooltip/Tooltip.js +1 -2
  232. package/cjs/Tree/Tree.js +1 -2
  233. package/cjs/Tree/TreeNode.js +1 -2
  234. package/cjs/Tree/TreeNodeToggle.js +1 -2
  235. package/cjs/Tree/TreeView.js +1 -2
  236. package/cjs/Tree/hooks/useFocusTree.js +1 -2
  237. package/cjs/TreePicker/TreePicker.js +1 -2
  238. package/cjs/Uploader/Uploader.js +1 -2
  239. package/cjs/Whisper/Whisper.js +2 -2
  240. package/cjs/index.d.ts +3 -0
  241. package/cjs/index.js +18 -0
  242. package/cjs/internals/Box/index.d.ts +1 -0
  243. package/cjs/internals/Box/index.js +1 -0
  244. package/cjs/internals/Burger/Burger.d.ts +16 -0
  245. package/cjs/internals/Burger/Burger.js +46 -0
  246. package/cjs/internals/Burger/index.d.ts +4 -0
  247. package/cjs/internals/Burger/index.js +11 -0
  248. package/cjs/internals/CloseButton/CloseButton.js +1 -2
  249. package/cjs/internals/Menu/Menu.js +1 -2
  250. package/cjs/internals/Menu/Menubar.js +2 -2
  251. package/cjs/internals/Picker/PickerIndicator.js +1 -2
  252. package/cjs/internals/Picker/hooks/useCombobox.d.ts +1 -1
  253. package/cjs/internals/Plaintext/Plaintext.js +1 -2
  254. package/cjs/internals/Provider/CustomContext.d.ts +253 -0
  255. package/cjs/internals/Provider/CustomContext.js +8 -0
  256. package/cjs/internals/Provider/types.d.ts +236 -0
  257. package/cjs/internals/Ripple/Ripple.js +1 -2
  258. package/cjs/internals/SafeAnchor/SafeAnchor.js +2 -2
  259. package/cjs/internals/Windowing/List.js +2 -2
  260. package/cjs/internals/hooks/index.d.ts +1 -0
  261. package/cjs/internals/hooks/index.js +3 -1
  262. package/cjs/{CustomProvider → internals/hooks}/useCustom.d.ts +4 -4
  263. package/cjs/{CustomProvider → internals/hooks}/useCustom.js +5 -5
  264. package/cjs/internals/hooks/useStyles.js +2 -2
  265. package/cjs/internals/hooks/useToggleCaret.js +2 -2
  266. package/cjs/{CustomProvider → internals/intl}/FormattedDate.js +2 -2
  267. package/cjs/{CustomProvider → internals/intl}/FormattedNumber.js +2 -2
  268. package/cjs/internals/types/picker.d.ts +2 -2
  269. package/cjs/internals/types/sizes.d.ts +2 -0
  270. package/cjs/internals/types/sizes.js +2 -1
  271. package/cjs/internals/utils/date/getWeekStartDates.d.ts +0 -1
  272. package/cjs/internals/utils/date/getWeekStartDates.js +2 -4
  273. package/cjs/internals/utils/react/createComponent.js +15 -4
  274. package/cjs/{FormControl → useFormControl}/hooks/useField.d.ts +3 -3
  275. package/cjs/{FormControl → useFormControl}/hooks/useField.js +5 -6
  276. package/cjs/useFormControl/hooks/useRegisterModel.d.ts +2 -0
  277. package/cjs/{FormControl → useFormControl}/hooks/useRegisterModel.js +2 -3
  278. package/cjs/useFormControl/index.d.ts +4 -0
  279. package/cjs/useFormControl/index.js +11 -0
  280. package/cjs/useFormControl/useFormControl.d.ts +38 -0
  281. package/cjs/useFormControl/useFormControl.js +138 -0
  282. package/cjs/{FormControl/utils.js → useFormControl/utils/nameToPath.js} +0 -0
  283. package/cjs/useToaster/useToaster.js +2 -5
  284. package/dist/rsuite-no-reset-rtl.css +246 -265
  285. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  286. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  287. package/dist/rsuite-no-reset.css +246 -265
  288. package/dist/rsuite-no-reset.min.css +1 -1
  289. package/dist/rsuite-no-reset.min.css.map +1 -1
  290. package/dist/rsuite-rtl.css +246 -265
  291. package/dist/rsuite-rtl.min.css +1 -1
  292. package/dist/rsuite-rtl.min.css.map +1 -1
  293. package/dist/rsuite.css +246 -265
  294. package/dist/rsuite.js +389 -257
  295. package/dist/rsuite.js.map +1 -1
  296. package/dist/rsuite.min.css +1 -1
  297. package/dist/rsuite.min.css.map +1 -1
  298. package/dist/rsuite.min.js +1 -1
  299. package/dist/rsuite.min.js.map +1 -1
  300. package/esm/Accordion/Accordion.js +1 -1
  301. package/esm/Affix/Affix.js +1 -2
  302. package/esm/Animation/Bounce.js +1 -2
  303. package/esm/Animation/Collapse.js +1 -2
  304. package/esm/Animation/Fade.js +1 -2
  305. package/esm/Animation/Slide.js +1 -2
  306. package/esm/AutoComplete/AutoComplete.d.ts +2 -2
  307. package/esm/AutoComplete/AutoComplete.js +1 -2
  308. package/esm/Avatar/Avatar.js +1 -2
  309. package/esm/AvatarGroup/AvatarGroup.js +1 -2
  310. package/esm/Badge/Badge.js +1 -2
  311. package/esm/Breadcrumb/Breadcrumb.js +1 -2
  312. package/esm/Button/Button.d.ts +2 -2
  313. package/esm/Button/Button.js +1 -2
  314. package/esm/ButtonGroup/ButtonGroup.d.ts +2 -2
  315. package/esm/ButtonGroup/ButtonGroup.js +1 -2
  316. package/esm/ButtonToolbar/ButtonToolbar.js +1 -2
  317. package/esm/Calendar/Calendar.js +3 -4
  318. package/esm/Calendar/CalendarBody.js +1 -4
  319. package/esm/Calendar/CalendarContainer.js +1 -1
  320. package/esm/Calendar/CalendarHeader.js +1 -1
  321. package/esm/Calendar/CalendarProvider.d.ts +1 -1
  322. package/esm/Calendar/Grid/GridCell.js +1 -2
  323. package/esm/Calendar/Grid/GridHeaderRow.js +1 -2
  324. package/esm/Calendar/Grid/GridRow.d.ts +2 -0
  325. package/esm/Calendar/Grid/GridRow.js +5 -4
  326. package/esm/Calendar/MonthDropdown/MonthDropdownItem.js +1 -2
  327. package/esm/Calendar/hooks/useCalendar.d.ts +24 -2
  328. package/esm/Calendar/hooks/useCalendar.js +35 -2
  329. package/esm/Card/Card.js +1 -2
  330. package/esm/CardGroup/CardGroup.js +1 -2
  331. package/esm/Carousel/Carousel.js +1 -2
  332. package/esm/CascadeTree/CascadeTree.js +1 -2
  333. package/esm/CascadeTree/SearchView.js +1 -2
  334. package/esm/CascadeTree/TreeView.js +1 -2
  335. package/esm/Cascader/Cascader.js +1 -2
  336. package/esm/CheckPicker/CheckPicker.js +1 -2
  337. package/esm/CheckTree/CheckTree.js +1 -2
  338. package/esm/CheckTree/CheckTreeNode.js +1 -2
  339. package/esm/CheckTree/CheckTreeView.js +1 -2
  340. package/esm/CheckTreePicker/CheckTreePicker.js +1 -2
  341. package/esm/Checkbox/Checkbox.js +1 -2
  342. package/esm/CheckboxGroup/CheckboxGroup.js +1 -2
  343. package/esm/Container/Container.js +1 -2
  344. package/esm/CustomProvider/CustomProvider.d.ts +1 -271
  345. package/esm/CustomProvider/CustomProvider.js +1 -1
  346. package/esm/CustomProvider/index.d.ts +1 -6
  347. package/esm/CustomProvider/index.js +0 -6
  348. package/esm/DateInput/DateInput.js +1 -2
  349. package/esm/DateInput/hooks/useDateInputState.js +1 -1
  350. package/esm/DatePicker/DatePicker.js +2 -3
  351. package/esm/DatePicker/hooks/useFocus.js +1 -2
  352. package/esm/DateRangeInput/DateRangeInput.js +1 -2
  353. package/esm/DateRangePicker/DateRangePicker.js +2 -3
  354. package/esm/DateRangePicker/Header.js +1 -1
  355. package/esm/DateRangePicker/utils.d.ts +1 -1
  356. package/esm/DateRangePicker/utils.js +1 -1
  357. package/esm/Divider/Divider.js +1 -2
  358. package/esm/Drawer/Drawer.js +1 -2
  359. package/esm/Dropdown/Dropdown.js +1 -2
  360. package/esm/Dropdown/DropdownMenu.js +1 -2
  361. package/esm/FlexboxGrid/FlexboxGrid.js +1 -2
  362. package/esm/Form/Form.js +1 -2
  363. package/esm/Form/FormContext.d.ts +1 -1
  364. package/esm/Form/hooks/useFormValidate.js +1 -1
  365. package/esm/FormControl/FormControl.js +54 -85
  366. package/esm/FormControlLabel/FormControlLabel.js +1 -2
  367. package/esm/FormErrorMessage/FormErrorMessage.js +1 -2
  368. package/esm/FormGroup/FormGroup.js +1 -2
  369. package/esm/FormHelpText/FormHelpText.js +1 -2
  370. package/esm/FormStack/FormStack.js +1 -2
  371. package/esm/Grid/Col.js +1 -2
  372. package/esm/Grid/Grid.js +1 -2
  373. package/esm/Grid/Row.js +1 -2
  374. package/esm/Heading/Heading.js +1 -2
  375. package/esm/Highlight/Highlight.js +2 -3
  376. package/esm/IconButton/IconButton.js +1 -2
  377. package/esm/Image/Image.js +2 -3
  378. package/esm/InlineEdit/InlineEdit.js +1 -2
  379. package/esm/Input/Input.js +2 -2
  380. package/esm/InputGroup/InputGroup.js +1 -2
  381. package/esm/InputNumber/index.d.ts +12 -2
  382. package/esm/InputNumber/index.js +8 -1
  383. package/esm/InputPicker/InputPicker.js +1 -2
  384. package/esm/InputPicker/utils.d.ts +1 -1
  385. package/esm/Kbd/Kbd.js +1 -2
  386. package/esm/Link/Link.js +1 -2
  387. package/esm/List/List.js +1 -2
  388. package/esm/Loader/Loader.js +1 -2
  389. package/esm/MaskedInput/MaskedInput.js +1 -1
  390. package/esm/Message/Message.js +1 -2
  391. package/esm/Modal/Modal.js +1 -2
  392. package/esm/Modal/ModalHeader.js +1 -2
  393. package/esm/MultiCascadeTree/MultiCascadeTree.js +1 -2
  394. package/esm/MultiCascadeTree/SearchView.js +1 -2
  395. package/esm/MultiCascadeTree/TreeView.js +1 -2
  396. package/esm/MultiCascader/MultiCascader.js +1 -2
  397. package/esm/Nav/Nav.js +1 -2
  398. package/esm/Nav/NavDropdownMenu.js +1 -2
  399. package/esm/Navbar/Navbar.d.ts +1 -1
  400. package/esm/Navbar/Navbar.js +1 -2
  401. package/esm/Navbar/NavbarDropdownMenu.js +1 -2
  402. package/esm/Navbar/NavbarToggle.d.ts +8 -3
  403. package/esm/Navbar/NavbarToggle.js +10 -15
  404. package/esm/Notification/Notification.js +1 -2
  405. package/{cjs/InputNumber/InputNumber.d.ts → esm/NumberInput/NumberInput.d.ts} +20 -8
  406. package/esm/NumberInput/NumberInput.js +157 -0
  407. package/esm/NumberInput/hooks/useEvents.d.ts +22 -0
  408. package/esm/NumberInput/hooks/useEvents.js +110 -0
  409. package/esm/NumberInput/hooks/useNumberInputValue.d.ts +7 -0
  410. package/esm/NumberInput/hooks/useNumberInputValue.js +29 -0
  411. package/esm/NumberInput/hooks/useWheelHandler.d.ts +5 -0
  412. package/esm/NumberInput/hooks/useWheelHandler.js +21 -0
  413. package/esm/NumberInput/index.d.ts +4 -0
  414. package/esm/NumberInput/index.js +8 -0
  415. package/esm/NumberInput/utils/number.d.ts +17 -0
  416. package/esm/NumberInput/utils/number.js +59 -0
  417. package/esm/Pagination/LimitPicker.d.ts +2 -2
  418. package/esm/Pagination/Pagination.d.ts +2 -2
  419. package/esm/Pagination/Pagination.js +1 -2
  420. package/esm/Pagination/PaginationGroup.js +1 -2
  421. package/esm/Panel/Panel.js +1 -2
  422. package/esm/PanelGroup/PanelGroup.js +1 -2
  423. package/esm/PasswordInput/PasswordInput.d.ts +4 -0
  424. package/esm/PasswordInput/PasswordInput.js +5 -4
  425. package/esm/PasswordStrengthMeter/PasswordStrengthMeter.js +1 -2
  426. package/esm/PinInput/PinInput.d.ts +36 -0
  427. package/esm/PinInput/PinInput.js +219 -0
  428. package/esm/PinInput/hooks/usePinInputRefs.d.ts +12 -0
  429. package/esm/PinInput/hooks/usePinInputRefs.js +58 -0
  430. package/esm/PinInput/hooks/usePinValue.d.ts +14 -0
  431. package/esm/PinInput/hooks/usePinValue.js +69 -0
  432. package/esm/PinInput/index.d.ts +4 -0
  433. package/esm/PinInput/index.js +4 -0
  434. package/esm/Placeholder/PlaceholderGraph.js +1 -2
  435. package/esm/Placeholder/PlaceholderGrid.js +1 -2
  436. package/esm/Placeholder/PlaceholderParagraph.js +1 -2
  437. package/esm/Popover/Popover.js +1 -2
  438. package/esm/Progress/ProgressCircle.js +1 -2
  439. package/esm/Progress/ProgressLine.js +1 -2
  440. package/esm/Radio/Radio.js +1 -2
  441. package/esm/RadioGroup/RadioGroup.js +1 -2
  442. package/esm/RadioTile/RadioTile.js +1 -2
  443. package/esm/RadioTileGroup/RadioTileGroup.js +1 -2
  444. package/esm/RangeSlider/RangeSlider.js +1 -2
  445. package/esm/Rate/Rate.js +1 -2
  446. package/esm/SelectPicker/SelectPicker.js +1 -2
  447. package/esm/Sidebar/Sidebar.js +1 -2
  448. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +1 -2
  449. package/esm/Sidenav/Sidenav.js +1 -2
  450. package/esm/Sidenav/SidenavDropdownMenu.js +1 -2
  451. package/esm/Slider/Slider.d.ts +5 -1
  452. package/esm/Slider/Slider.js +12 -13
  453. package/esm/Stack/Stack.js +1 -2
  454. package/esm/Stat/Stat.js +1 -2
  455. package/esm/Stat/StatValue.js +1 -1
  456. package/esm/StatGroup/StatGroup.js +1 -2
  457. package/esm/Steps/Steps.js +1 -2
  458. package/esm/Table/Table.js +1 -1
  459. package/esm/Tabs/Tabs.js +1 -2
  460. package/esm/Tag/Tag.js +1 -2
  461. package/esm/TagInput/TagInput.js +1 -1
  462. package/esm/TagPicker/TagPicker.js +1 -1
  463. package/esm/Text/Text.js +1 -2
  464. package/esm/Textarea/Textarea.js +1 -2
  465. package/esm/TimePicker/TimePicker.d.ts +1 -2
  466. package/esm/TimePicker/TimePicker.js +1 -1
  467. package/esm/TimeRangePicker/TimeRangePicker.js +1 -1
  468. package/esm/Timeline/Timeline.js +1 -2
  469. package/esm/Toggle/Toggle.js +1 -2
  470. package/esm/Tooltip/Tooltip.js +1 -2
  471. package/esm/Tree/Tree.js +1 -2
  472. package/esm/Tree/TreeNode.js +1 -2
  473. package/esm/Tree/TreeNodeToggle.js +1 -2
  474. package/esm/Tree/TreeView.js +1 -2
  475. package/esm/Tree/hooks/useFocusTree.js +1 -2
  476. package/esm/TreePicker/TreePicker.js +1 -2
  477. package/esm/Uploader/Uploader.js +1 -2
  478. package/esm/Whisper/Whisper.js +1 -1
  479. package/esm/index.d.ts +3 -0
  480. package/esm/index.js +3 -0
  481. package/esm/internals/Box/index.d.ts +1 -0
  482. package/esm/internals/Box/index.js +1 -0
  483. package/esm/internals/Burger/Burger.d.ts +16 -0
  484. package/esm/internals/Burger/Burger.js +41 -0
  485. package/esm/internals/Burger/index.d.ts +4 -0
  486. package/esm/internals/Burger/index.js +8 -0
  487. package/esm/internals/CloseButton/CloseButton.js +1 -2
  488. package/esm/internals/Menu/Menu.js +1 -1
  489. package/esm/internals/Menu/Menubar.js +1 -1
  490. package/esm/internals/Picker/PickerIndicator.js +1 -2
  491. package/esm/internals/Picker/hooks/useCombobox.d.ts +1 -1
  492. package/esm/internals/Plaintext/Plaintext.js +1 -2
  493. package/esm/internals/Provider/CustomContext.d.ts +253 -0
  494. package/esm/internals/Provider/CustomContext.js +3 -0
  495. package/esm/internals/Provider/types.d.ts +236 -0
  496. package/esm/internals/Ripple/Ripple.js +1 -2
  497. package/esm/internals/SafeAnchor/SafeAnchor.js +1 -1
  498. package/esm/internals/Windowing/List.js +1 -1
  499. package/esm/internals/hooks/index.d.ts +1 -0
  500. package/esm/internals/hooks/index.js +1 -0
  501. package/esm/{CustomProvider → internals/hooks}/useCustom.d.ts +4 -4
  502. package/esm/{CustomProvider → internals/hooks}/useCustom.js +4 -4
  503. package/esm/internals/hooks/useStyles.js +1 -1
  504. package/esm/internals/hooks/useToggleCaret.js +1 -1
  505. package/esm/{CustomProvider → internals/intl}/FormattedDate.js +1 -1
  506. package/esm/{CustomProvider → internals/intl}/FormattedNumber.js +1 -1
  507. package/esm/internals/types/picker.d.ts +2 -2
  508. package/esm/internals/types/sizes.d.ts +2 -0
  509. package/esm/internals/types/sizes.js +3 -1
  510. package/esm/internals/utils/date/getWeekStartDates.d.ts +0 -1
  511. package/esm/internals/utils/date/getWeekStartDates.js +2 -4
  512. package/esm/internals/utils/react/createComponent.js +12 -2
  513. package/esm/{FormControl → useFormControl}/hooks/useField.d.ts +3 -3
  514. package/esm/{FormControl → useFormControl}/hooks/useField.js +4 -5
  515. package/esm/useFormControl/hooks/useRegisterModel.d.ts +2 -0
  516. package/esm/{FormControl → useFormControl}/hooks/useRegisterModel.js +2 -3
  517. package/esm/useFormControl/index.d.ts +4 -0
  518. package/esm/useFormControl/index.js +8 -0
  519. package/esm/useFormControl/useFormControl.d.ts +38 -0
  520. package/esm/useFormControl/useFormControl.js +133 -0
  521. package/esm/{FormControl/utils.js → useFormControl/utils/nameToPath.js} +0 -0
  522. package/esm/useToaster/useToaster.js +1 -3
  523. package/internals/Burger/styles/index.less +67 -0
  524. package/internals/CloseButton/styles/index.less +0 -10
  525. package/internals/Picker/styles/index.less +13 -10
  526. package/internals/Picker/styles/mixin.less +3 -3
  527. package/package.json +3 -3
  528. package/styles/color-modes/dark.less +7 -10
  529. package/styles/color-modes/high-contrast.less +3 -6
  530. package/styles/color-modes/light.less +5 -8
  531. package/styles/index.less +3 -1
  532. package/styles/mixins/utilities.less +2 -5
  533. package/useFormControl/package.json +7 -0
  534. package/cjs/CustomProvider/types.d.ts +0 -234
  535. package/cjs/FormControl/hooks/useRegisterModel.d.ts +0 -3
  536. package/cjs/InputNumber/InputNumber.js +0 -300
  537. package/esm/CustomProvider/types.d.ts +0 -234
  538. package/esm/FormControl/hooks/useRegisterModel.d.ts +0 -3
  539. package/esm/InputNumber/InputNumber.js +0 -293
  540. /package/cjs/{CustomProvider → internals/Provider}/types.js +0 -0
  541. /package/cjs/{CustomProvider → internals/intl}/FormattedDate.d.ts +0 -0
  542. /package/cjs/{CustomProvider → internals/intl}/FormattedNumber.d.ts +0 -0
  543. /package/cjs/{FormControl/utils.d.ts → useFormControl/utils/nameToPath.d.ts} +0 -0
  544. /package/esm/{CustomProvider → internals/Provider}/types.js +0 -0
  545. /package/esm/{CustomProvider → internals/intl}/FormattedDate.d.ts +0 -0
  546. /package/esm/{CustomProvider → internals/intl}/FormattedNumber.d.ts +0 -0
  547. /package/esm/{FormControl/utils.d.ts → useFormControl/utils/nameToPath.d.ts} +0 -0
@@ -10,13 +10,11 @@ import { startOfWeek } from 'date-fns/startOfWeek';
10
10
  */
11
11
  export function getWeekStartDates(firstDayOfMonth, options) {
12
12
  const {
13
- weekStart = 0,
14
- isoWeek,
13
+ weekStart,
15
14
  locale
16
15
  } = options;
17
- const weekStartsOn = isoWeek ? 1 : weekStart;
18
16
  const firstDay = startOfWeek(firstDayOfMonth, {
19
- weekStartsOn,
17
+ weekStartsOn: weekStart,
20
18
  locale
21
19
  });
22
20
  const days = [firstDay];
@@ -3,9 +3,19 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import React from 'react';
4
4
  import kebabCase from 'lodash/kebabCase';
5
5
  import Box from "../../Box/Box.js";
6
- import { useStyles } from "../../hooks/index.js";
7
6
  import { forwardRef } from "./forwardRef.js";
8
- import { useCustom } from "../../../CustomProvider/index.js";
7
+ /**
8
+ * Why not import like this:
9
+ * ```
10
+ * import { useStyles, useCustom } from '../../hooks/index.js';
11
+ * ```
12
+ *
13
+ * We import useStyles and useCustom separately to prevent Vite from displaying Rollup warnings
14
+ * during the build process. This approach avoids circular dependency issues that could affect
15
+ * chunk division and optimizes the build output.
16
+ */
17
+ import { useStyles } from "../../hooks/useStyles.js";
18
+ import { useCustom } from "../../hooks/useCustom.js";
9
19
  /**
10
20
  * Create a component with `classPrefix` and `as` attributes.
11
21
  * By default, the component is based on Box component and inherits all Box props.
@@ -4,15 +4,15 @@ interface FieldProps {
4
4
  formValue?: Record<string, any>;
5
5
  formError?: Record<string, any>;
6
6
  value: any;
7
- nestedField: boolean;
7
+ nestedField?: boolean;
8
8
  errorMessage: React.ReactNode;
9
9
  errorFromContext?: boolean;
10
10
  }
11
- declare function useField(props: FieldProps): {
11
+ export declare function useField(props: FieldProps): {
12
12
  fieldValue: any;
13
13
  fieldError: import("react").ReactNode;
14
14
  setFieldValue: (fieldName: string, fieldValue: any) => {
15
15
  [x: string]: any;
16
16
  };
17
17
  };
18
- export default useField;
18
+ export {};
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { isValidElement, useCallback, useMemo } from 'react';
3
2
  import get from 'lodash/get';
4
3
  import set from 'lodash/set';
5
- import { nameToPath } from "../utils.js";
4
+ import { isValidElement, useCallback, useMemo } from 'react';
5
+ import { nameToPath } from "../utils/nameToPath.js";
6
6
  function getErrorMessage(error) {
7
7
  var _error$array;
8
8
  if (typeof error === 'string') {
@@ -22,7 +22,7 @@ function getErrorMessage(error) {
22
22
  }
23
23
  return error === null || error === void 0 ? void 0 : error.errorMessage;
24
24
  }
25
- function useField(props) {
25
+ export function useField(props) {
26
26
  const {
27
27
  name,
28
28
  formValue,
@@ -67,5 +67,4 @@ function useField(props) {
67
67
  fieldError,
68
68
  setFieldValue
69
69
  };
70
- }
71
- export default useField;
70
+ }
@@ -0,0 +1,2 @@
1
+ import type { CheckType } from 'schema-typed';
2
+ export declare function useRegisterModel(name: string, rule?: CheckType<unknown, any>): void;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { useRef, useEffect } from 'react';
3
3
  import { useFormContext } from "../../Form/FormContext.js";
4
- function useRegisterModel(name, rule) {
4
+ export function useRegisterModel(name, rule) {
5
5
  const {
6
6
  pushFieldRule,
7
7
  removeFieldRule
@@ -14,5 +14,4 @@ function useRegisterModel(name, rule) {
14
14
  removeFieldRule === null || removeFieldRule === void 0 || removeFieldRule(name);
15
15
  };
16
16
  }, [name, pushFieldRule, removeFieldRule]);
17
- }
18
- export default useRegisterModel;
17
+ }
@@ -0,0 +1,4 @@
1
+ import useFormControl from './useFormControl';
2
+ export type { UseFormControlProps } from './useFormControl';
3
+ export { useFormControl };
4
+ export default useFormControl;
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ import useFormControl from "./useFormControl.js";
3
+
4
+ // export types
5
+
6
+ // export hooks
7
+ export { useFormControl };
8
+ export default useFormControl;
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import type { CheckType } from 'schema-typed';
3
+ import type { CheckTriggerType } from '../internals/types';
4
+ export interface UseFormControlProps {
5
+ /** The name of form field */
6
+ name: string;
7
+ /** The current value (controlled) */
8
+ value?: any;
9
+ /** The data validation trigger type */
10
+ checkTrigger?: CheckTriggerType;
11
+ /** Show error messages */
12
+ errorMessage?: React.ReactNode;
13
+ /** Asynchronous check value */
14
+ checkAsync?: boolean;
15
+ /** Remove field value and error message when component is unmounted */
16
+ shouldResetWithUnmount?: boolean;
17
+ /** Validation rule */
18
+ rule?: CheckType<unknown, any>;
19
+ }
20
+ /**
21
+ * Hook for accessing form control functionality.
22
+ * Must be used within a Form component.
23
+ *
24
+ * @param props The form control properties
25
+ * @returns Form control functionality for the specified field
26
+ */
27
+ export declare function useFormControl(props: UseFormControlProps): {
28
+ value: any;
29
+ error: React.ReactNode;
30
+ plaintext: boolean | undefined;
31
+ readOnly: boolean | undefined;
32
+ disabled: boolean | undefined;
33
+ onChange: (...args: any[]) => any;
34
+ onCheck: (...args: any[]) => any;
35
+ onBlur: (...args: any[]) => any;
36
+ setValue: (value: any, shouldValidate?: boolean) => void;
37
+ };
38
+ export default useFormControl;
@@ -0,0 +1,133 @@
1
+ 'use client';
2
+ import { useCallback, useContext } from 'react';
3
+ import { FormValueContext, useFormContext } from "../Form/FormContext.js";
4
+ import { useWillUnmount, useEventCallback } from "../internals/hooks/index.js";
5
+ import { useRegisterModel } from "./hooks/useRegisterModel.js";
6
+ import { useField } from "./hooks/useField.js";
7
+ /**
8
+ * Hook for accessing form control functionality.
9
+ * Must be used within a Form component.
10
+ *
11
+ * @param props The form control properties
12
+ * @returns Form control functionality for the specified field
13
+ */
14
+ export function useFormControl(props) {
15
+ const {
16
+ name,
17
+ value: controlledValue,
18
+ checkTrigger,
19
+ errorMessage,
20
+ checkAsync = false,
21
+ shouldResetWithUnmount = false,
22
+ rule
23
+ } = props;
24
+ const {
25
+ readOnly,
26
+ plaintext,
27
+ disabled,
28
+ errorFromContext,
29
+ formError,
30
+ nestedField,
31
+ onFieldChange,
32
+ removeFieldValue,
33
+ removeFieldError,
34
+ checkTrigger: contextCheckTrigger,
35
+ checkFieldForNextValue,
36
+ checkFieldAsyncForNextValue
37
+ } = useFormContext();
38
+
39
+ // Throw an error if not used within a Form component
40
+ if (!onFieldChange) {
41
+ console.error(`<useFormControl> must be used inside a component decorated with <Form>. And need to update React to 16.6.0 +.`);
42
+ }
43
+ const formValue = useContext(FormValueContext);
44
+
45
+ // Register form field model
46
+ useRegisterModel(name, rule);
47
+
48
+ // Cleanup on unmount if shouldResetWithUnmount is true
49
+ useWillUnmount(() => {
50
+ if (shouldResetWithUnmount) {
51
+ removeFieldValue === null || removeFieldValue === void 0 || removeFieldValue(name);
52
+ removeFieldError === null || removeFieldError === void 0 || removeFieldError(name);
53
+ }
54
+ });
55
+
56
+ // Use the useField hook to handle field value and error
57
+ const {
58
+ fieldValue: value,
59
+ fieldError: error,
60
+ setFieldValue
61
+ } = useField({
62
+ name,
63
+ errorMessage,
64
+ formValue,
65
+ formError,
66
+ value: controlledValue,
67
+ nestedField,
68
+ errorFromContext
69
+ });
70
+ const trigger = checkTrigger || contextCheckTrigger;
71
+
72
+ // Handler for field check (validation)
73
+ const onCheck = useEventCallback(value => {
74
+ // Don't perform validation when checkTrigger is null
75
+ if (trigger === null) {
76
+ return;
77
+ }
78
+ const nextFormValue = setFieldValue(name, value);
79
+ if (checkAsync) {
80
+ checkFieldAsyncForNextValue === null || checkFieldAsyncForNextValue === void 0 || checkFieldAsyncForNextValue(name, nextFormValue);
81
+ } else {
82
+ checkFieldForNextValue === null || checkFieldForNextValue === void 0 || checkFieldForNextValue(name, nextFormValue);
83
+ }
84
+ });
85
+
86
+ // Handler for field change
87
+ const onChange = useEventCallback((value, event) => {
88
+ if (trigger === 'change') {
89
+ onCheck(value);
90
+ }
91
+ onFieldChange === null || onFieldChange === void 0 || onFieldChange(name, value, event);
92
+ });
93
+
94
+ // Handler for field blur
95
+ const onBlur = useEventCallback(() => {
96
+ if (trigger === 'blur') {
97
+ onCheck(value);
98
+ }
99
+ });
100
+
101
+ /**
102
+ * Directly sets the field value without triggering validation or onChange events.
103
+ * Useful for programmatically updating field values.
104
+ * @param value The new value to set
105
+ * @param shouldValidate Whether to trigger validation (defaults to false)
106
+ */
107
+ const setValue = useCallback(function (value, shouldValidate) {
108
+ if (shouldValidate === void 0) {
109
+ shouldValidate = false;
110
+ }
111
+ const nextFormValue = setFieldValue(name, value);
112
+ onFieldChange === null || onFieldChange === void 0 || onFieldChange(name, value);
113
+ if (shouldValidate && trigger !== null) {
114
+ if (checkAsync) {
115
+ checkFieldAsyncForNextValue === null || checkFieldAsyncForNextValue === void 0 || checkFieldAsyncForNextValue(name, nextFormValue);
116
+ } else {
117
+ checkFieldForNextValue === null || checkFieldForNextValue === void 0 || checkFieldForNextValue(name, nextFormValue);
118
+ }
119
+ }
120
+ }, [name, setFieldValue, trigger, checkAsync, checkFieldAsyncForNextValue, checkFieldForNextValue]);
121
+ return {
122
+ value,
123
+ error,
124
+ plaintext,
125
+ readOnly,
126
+ disabled,
127
+ onChange,
128
+ onCheck,
129
+ onBlur,
130
+ setValue
131
+ };
132
+ }
133
+ export default useFormControl;
@@ -1,9 +1,7 @@
1
1
  'use client';
2
2
  import { useMemo, useContext } from 'react';
3
3
  import toaster from "../toaster/index.js";
4
- // From CustomProvider/CustomProvider.tsx import CustomContext instead of directly from 'CustomProvider/index.ts'
5
- // because babel compiles commonjs, which causes CustomContext to be undefined
6
- import { CustomContext } from "../CustomProvider/CustomProvider.js";
4
+ import { CustomContext } from "../internals/Provider/CustomContext.js";
7
5
  /**
8
6
  * Toaster display brief, temporary notifications of actions, errors, or other events in an application.
9
7
  * It is often used with the Message and Notification components.
@@ -0,0 +1,67 @@
1
+ .rs-burger {
2
+ --rs-burger-size: 36px;
3
+ --rs-burger-thickness: 2px;
4
+ --rs-burger-color: currentColor;
5
+ --rs-burger-spacing: calc(var(--rs-spacing) * 1.5);
6
+ --rs-burger-line-size: calc(var(--rs-burger-size) - var(--rs-burger-spacing) * 2);
7
+
8
+ border: none;
9
+ background: transparent;
10
+ cursor: pointer;
11
+ outline: none;
12
+ transition: background 0.2s;
13
+ box-sizing: border-box;
14
+ width: var(--rs-burger-size);
15
+ height: var(--rs-burger-size);
16
+ padding: var(--rs-burger-spacing);
17
+
18
+ // The burger line (middle)
19
+ &-line {
20
+ position: relative;
21
+ display: block;
22
+ width: var(--rs-burger-line-size);
23
+ height: var(--rs-burger-thickness);
24
+ background: var(--rs-burger-color);
25
+ border-radius: var(--rs-burger-thickness);
26
+ transition-property: background, transform;
27
+ transition-duration: 0.2s, 0.3s;
28
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
29
+ pointer-events: none;
30
+
31
+ // Top and bottom lines
32
+ &::before,
33
+ &::after {
34
+ content: '';
35
+ position: absolute;
36
+ display: block;
37
+ inset-inline-start: 0;
38
+ width: 100%;
39
+ height: var(--rs-burger-thickness);
40
+ background: var(--rs-burger-color);
41
+ border-radius: var(--rs-burger-thickness);
42
+ transition-property: transform;
43
+ transition-duration: 0.3s;
44
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
45
+ }
46
+
47
+ &::before {
48
+ top: calc(var(--rs-burger-line-size) / -3);
49
+ }
50
+ &::after {
51
+ top: calc(var(--rs-burger-line-size) / 3);
52
+ }
53
+ }
54
+
55
+ // Opened state animation
56
+ &:where([data-opened='true']) {
57
+ .rs-burger-line {
58
+ background: transparent;
59
+ &::before {
60
+ transform: translateY(calc(var(--rs-burger-line-size) / 3)) rotate(45deg);
61
+ }
62
+ &::after {
63
+ transform: translateY(calc(var(--rs-burger-line-size) / -3)) rotate(-45deg);
64
+ }
65
+ }
66
+ }
67
+ }
@@ -12,14 +12,4 @@
12
12
  .rs-icon {
13
13
  vertical-align: bottom;
14
14
  }
15
-
16
- &:hover,
17
- &:focus {
18
- color: var(--rs-close-button-hover-color);
19
-
20
- svg path {
21
- stroke: var(--rs-close-button-hover-color);
22
- stroke-width: 1;
23
- }
24
- }
25
15
  }
@@ -24,6 +24,7 @@
24
24
  --rs-picker-loader-size: 20px;
25
25
  --rs-picker-toggle-border-width: 1px;
26
26
  --rs-picker-toggle-bg: var(--rs-input-bg);
27
+ --rs-picker-toggle-border-color: var(--rs-border-primary);
27
28
 
28
29
  display: inline-block;
29
30
  vertical-align: middle;
@@ -46,6 +47,10 @@
46
47
  .rs-picker-value-count {
47
48
  opacity: 0.5;
48
49
  }
50
+
51
+ .rs-picker-toggle {
52
+ pointer-events: none;
53
+ }
49
54
  }
50
55
 
51
56
  &-toggle &-toggle-placeholder {
@@ -73,14 +78,14 @@
73
78
  margin: 0 var(--rs-spacing) 0 0;
74
79
  }
75
80
 
76
- &:not([data-disabled='true']):hover,
77
81
  &.rs-picker-focused {
78
82
  border-color: var(--rs-input-focus-border);
79
83
  }
80
84
 
81
85
  &-toggle-active,
82
86
  &.rs-picker-focused {
83
- box-shadow: var(--rs-state-focus-shadow);
87
+ --rs-picker-toggle-border-color: var(--rs-input-focus-border);
88
+ .focus-ring();
84
89
  }
85
90
 
86
91
  &-label.rs-input-group-addon {
@@ -278,11 +283,8 @@
278
283
  });
279
284
  }
280
285
 
281
- .rs-picker[data-variant='default'],
282
- :not([data-disabled='true']) & {
283
- &:hover,
284
- &:focus,
285
- &-active {
286
+ .rs-picker[data-variant='default'] {
287
+ &:focus {
286
288
  border-color: var(--rs-input-focus-border);
287
289
  }
288
290
  }
@@ -351,13 +353,14 @@
351
353
 
352
354
  // Picker clear button
353
355
  .rs-picker-clean {
354
- .combobox-indicator-icon();
355
-
356
- background: inherit;
357
356
  color: var(--rs-text-secondary);
358
357
  transition: 0.2s color linear;
359
358
  cursor: pointer;
360
359
 
360
+ &:hover {
361
+ color: var(--rs-text-primary);
362
+ }
363
+
361
364
  &.rs-btn-close {
362
365
  padding: 0;
363
366
  }
@@ -93,7 +93,9 @@
93
93
  .picker-default-toggle() {
94
94
  [data-variant='default'] & {
95
95
  color: var(--rs-text-primary);
96
- border: var(--rs-picker-toggle-border-width) solid var(--rs-border-primary);
96
+ border-width: var(--rs-picker-toggle-border-width);
97
+ border-color: var(--rs-picker-toggle-border-color);
98
+ border-style: solid;
97
99
  }
98
100
 
99
101
  [data-disabled='true'] & {
@@ -101,7 +103,6 @@
101
103
  }
102
104
 
103
105
  [data-variant='default']:not([data-disabled='true']) {
104
- &:hover,
105
106
  &:focus {
106
107
  border-color: var(--rs-input-focus-border);
107
108
  }
@@ -118,7 +119,6 @@
118
119
  .rs-picker[data-variant='subtle'][data-disabled='true'] & {
119
120
  cursor: @cursor-disabled;
120
121
 
121
- &:hover,
122
122
  &:focus,
123
123
  &:active {
124
124
  background: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "6.0.0-canary-20250416",
3
+ "version": "6.0.0-canary-20250507",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -38,7 +38,7 @@
38
38
  "react-use-set": "^1.0.0",
39
39
  "react-window": "^1.8.11",
40
40
  "rsuite-table": "^5.19.1",
41
- "schema-typed": "^2.4.1"
41
+ "schema-typed": "^2.4.2"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "react": ">=18",
@@ -60,7 +60,7 @@
60
60
  "size-limit": [
61
61
  {
62
62
  "path": "lib/dist/rsuite.min.js",
63
- "limit": "280 kB",
63
+ "limit": "300 kB",
64
64
  "gzip": true
65
65
  }
66
66
  ]
@@ -76,10 +76,10 @@
76
76
  --rs-bg-active: var(--rs-primary-700);
77
77
  --rs-bg-backdrop: rgb(from var(--rs-gray-900) r g b / 80%);
78
78
  --rs-state-hover-bg: var(--rs-gray-600);
79
- --rs-color-focus-ring: 0 0 0 3px rgb(from var(--rs-gray-500) r g b / 25%);
80
- --rs-state-focus-shadow: 0 0 0 3px rgb(from var(--rs-gray-500) r g b / 25%);
81
- --rs-state-focus-outline: 3px solid rgb(from var(--rs-gray-500) r g b / 25%);
82
- --rs-state-error-outline: 3px solid rgb(from var(--rs-color-red) r g b / 25%);
79
+ --rs-color-focus-ring: 0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
80
+ --rs-state-focus-shadow: 0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
81
+ --rs-state-focus-outline: 2px solid rgb(from var(--rs-gray-500) r g b / 25%);
82
+ --rs-state-error-outline: 2px solid rgb(from var(--rs-color-red) r g b / 25%);
83
83
 
84
84
  // Kbd
85
85
  --rs-kbd-bg: var(--rs-gray-600);
@@ -336,9 +336,6 @@
336
336
  --rs-badge-text: var(--rs-gray-0);
337
337
  --rs-badge-border: var(--rs-gray-900);
338
338
 
339
- // Close Button
340
- --rs-close-button-hover-color: var(--rs-color-red);
341
-
342
339
  // Tag
343
340
  --rs-tag-bg: var(--rs-gray-600);
344
341
 
@@ -407,9 +404,9 @@
407
404
  @supports not (color: rgb(from white r g b)) {
408
405
  // Misc
409
406
  --rs-bg-backdrop: fade(@B900-dark, 80%);
410
- --rs-color-focus-ring: 0 0 0 3px fade(@H500-dark, 25%);
411
- --rs-state-focus-shadow: 0 0 0 3px fade(@H500-dark, 25%);
412
- --rs-state-focus-outline: 3px solid fade(@H500-dark, 25%);
407
+ --rs-color-focus-ring: 0 0 0 2px fade(@H500-dark, 25%);
408
+ --rs-state-focus-shadow: 0 0 0 2px fade(@H500-dark, 25%);
409
+ --rs-state-focus-outline: 2px solid fade(@H500-dark, 25%);
413
410
 
414
411
  // Loader
415
412
  --rs-loader-ring: fade(@B050-dark, 30);
@@ -78,10 +78,10 @@
78
78
  --rs-bg-backdrop: rgb(from var(--rs-gray-900) r g b / 80%);
79
79
  --rs-state-hover-bg: var(--rs-gray-600);
80
80
  --rs-color-focus-ring: var(--rs-gray-0);
81
- --rs-state-focus-shadow: 0 0 0 3px var(--rs-gray-900), 0 0 0 5px var(--rs-gray-0);
81
+ --rs-state-focus-shadow: 0 0 0 2px var(--rs-gray-900), 0 0 0 5px var(--rs-gray-0);
82
82
  --rs-state-focus-shadow-slim: 0 0 0 2px var(--rs-gray-0);
83
- --rs-state-focus-outline: 3px solid rgb(from var(--rs-primary-500) r g b / 25%);
84
- --rs-state-error-outline: 3px solid rgb(from var(--rs-color-red) r g b / 25%);
83
+ --rs-state-focus-outline: 2px solid rgb(from var(--rs-primary-500) r g b / 25%);
84
+ --rs-state-error-outline: 2px solid rgb(from var(--rs-color-red) r g b / 25%);
85
85
 
86
86
  // Kbd
87
87
  --rs-kbd-bg: var(--rs-gray-600);
@@ -342,9 +342,6 @@
342
342
  --rs-badge-text: var(--rs-gray-0);
343
343
  --rs-badge-border: var(--rs-gray-900);
344
344
 
345
- // Close Button
346
- --rs-close-button-hover-color: var(--rs-color-red);
347
-
348
345
  // Tag
349
346
  --rs-tag-bg: var(--rs-gray-600);
350
347
 
@@ -85,9 +85,9 @@
85
85
  --rs-bg-backdrop: rgb(from var(--rs-gray-900) r g b / 30%);
86
86
  --rs-state-hover-bg: var(--rs-primary-50);
87
87
  --rs-color-focus-ring: rgb(from var(--rs-primary-500) r g b / 25%);
88
- --rs-state-focus-shadow: 0 0 0 3px rgb(from var(--rs-primary-500) r g b / 25%);
89
- --rs-state-focus-outline: 3px solid rgb(from var(--rs-primary-500) r g b / 25%);
90
- --rs-state-error-outline: 3px solid rgb(from var(--rs-color-red) r g b / 25%);
88
+ --rs-state-focus-shadow: 0 0 0 2px rgb(from var(--rs-primary-500) r g b / 25%);
89
+ --rs-state-focus-outline: 2px solid rgb(from var(--rs-primary-500) r g b / 25%);
90
+ --rs-state-error-outline: 2px solid rgb(from var(--rs-color-red) r g b / 25%);
91
91
 
92
92
  // Kbd
93
93
  --rs-kbd-bg: var(--rs-gray-50);
@@ -351,9 +351,6 @@
351
351
  --rs-badge-text: var(--rs-gray-0);
352
352
  --rs-badge-border: var(--rs-gray-0);
353
353
 
354
- // Close Button
355
- --rs-close-button-hover-color: var(--rs-color-red);
356
-
357
354
  // Tag
358
355
  --rs-tag-bg: var(--rs-gray-50);
359
356
 
@@ -425,8 +422,8 @@
425
422
  // Misc
426
423
  --rs-bg-backdrop: fade(@B900, 30%);
427
424
  --rs-color-focus-ring: fade(@H500, 25%);
428
- --rs-state-focus-shadow: 0 0 0 3px fade(@H500, 25%);
429
- --rs-state-focus-outline: 3px solid fade(@H500, 25%);
425
+ --rs-state-focus-shadow: 0 0 0 2px fade(@H500, 25%);
426
+ --rs-state-focus-outline: 2px solid fade(@H500, 25%);
430
427
 
431
428
  // Loader
432
429
  --rs-loader-ring: fade(@B050, 80);
package/styles/index.less CHANGED
@@ -43,7 +43,7 @@
43
43
  @import '../Image/styles/index';
44
44
  @import '../Input/styles/index';
45
45
  @import '../InputGroup/styles/index';
46
- @import '../InputNumber/styles/index';
46
+ @import '../NumberInput/styles/index';
47
47
  @import '../InputPicker/styles/index';
48
48
  @import '../Textarea/styles/index';
49
49
  @import '../InlineEdit/styles/index';
@@ -66,6 +66,7 @@
66
66
  @import '../Placeholder/styles/index';
67
67
  @import '../Popover/styles/index';
68
68
  @import '../Progress/styles/index';
69
+ @import '../PinInput/styles/index';
69
70
  @import '../Radio/styles/index';
70
71
  @import '../RadioGroup/styles/index';
71
72
  @import '../RadioTile/styles/index';
@@ -102,3 +103,4 @@
102
103
  @import '../internals/Picker/styles/index';
103
104
  @import '../internals/SearchBox/styles/index';
104
105
  @import '../internals/Box/styles/index';
106
+ @import '../internals/Burger/styles/index';
@@ -124,11 +124,8 @@
124
124
 
125
125
  // Useful when appending the ring into an existing :focus rule
126
126
  .focus-ring() {
127
- outline: 3px solid var(--rs-color-focus-ring);
128
-
129
- .high-contrast-mode({
130
- outline-offset: 2px;
131
- });
127
+ outline: 2px solid var(--rs-color-focus-ring);
128
+ outline-offset: -1px;
132
129
  }
133
130
 
134
131
  .focus-ring(slim) {
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "rsuite/useFormControl",
3
+ "private": true,
4
+ "main": "../cjs/useFormControl/index.js",
5
+ "module": "../esm/useFormControl/index.js",
6
+ "types": "../esm/useFormControl/index.d.ts"
7
+ }