rsuite 6.0.0-canary-20250424 → 6.0.0-canary-20250620

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 (927) hide show
  1. package/Accordion/styles/index.css +645 -325
  2. package/Animation/styles/index.css +153 -141
  3. package/AutoComplete/styles/index.css +2408 -2061
  4. package/Avatar/styles/index.css +227 -76
  5. package/AvatarGroup/styles/index.css +280 -107
  6. package/Badge/styles/index.css +335 -174
  7. package/Box/styles/index.css +132 -94
  8. package/Breadcrumb/styles/index.css +225 -71
  9. package/Button/styles/index.css +1199 -1016
  10. package/ButtonGroup/styles/index.css +221 -54
  11. package/ButtonToolbar/styles/index.css +274 -98
  12. package/CHANGELOG.md +66 -0
  13. package/Calendar/styles/index.css +1866 -1737
  14. package/Card/styles/index.css +242 -92
  15. package/CardGroup/styles/index.css +185 -6
  16. package/Carousel/styles/index.css +369 -213
  17. package/CascadeTree/styles/index.css +376 -237
  18. package/Cascader/styles/index.css +2494 -2146
  19. package/Center/styles/index.css +185 -6
  20. package/CheckPicker/styles/index.css +2555 -2193
  21. package/CheckTree/styles/index.css +2640 -2276
  22. package/CheckTreePicker/styles/index.css +2652 -2286
  23. package/Checkbox/styles/index.css +409 -251
  24. package/CheckboxGroup/styles/index.css +189 -25
  25. package/Container/styles/index.css +186 -20
  26. package/Content/styles/index.css +181 -15
  27. package/DateInput/styles/index.css +317 -164
  28. package/DatePicker/styles/index.css +3108 -2800
  29. package/DateRangeInput/styles/index.css +317 -164
  30. package/DateRangePicker/styles/index.css +3200 -2884
  31. package/Divider/styles/index.css +251 -96
  32. package/Drawer/styles/index.css +461 -312
  33. package/Dropdown/styles/index.css +1497 -1329
  34. package/FlexboxGrid/styles/index.css +498 -284
  35. package/Footer/styles/index.css +181 -23
  36. package/Form/styles/index.css +178 -12
  37. package/FormControl/styles/index.css +210 -44
  38. package/FormControlLabel/styles/index.css +190 -31
  39. package/FormErrorMessage/styles/index.css +332 -208
  40. package/FormGroup/styles/index.css +216 -48
  41. package/FormHelpText/styles/index.css +203 -44
  42. package/FormStack/styles/index.css +191 -26
  43. package/Grid/styles/index.css +2042 -1743
  44. package/Header/styles/index.css +181 -23
  45. package/Heading/styles/index.css +238 -73
  46. package/HeadingGroup/styles/index.css +181 -2
  47. package/Highlight/styles/index.css +190 -5
  48. package/IconButton/styles/index.css +1343 -1163
  49. package/Image/styles/index.css +216 -22
  50. package/InlineEdit/styles/index.css +378 -84
  51. package/Input/styles/index.css +317 -164
  52. package/InputGroup/styles/index.css +446 -1219
  53. package/InputNumber/styles/index.css +1565 -1366
  54. package/InputPicker/styles/index.css +2497 -2156
  55. package/Kbd/styles/index.css +258 -107
  56. package/Link/styles/index.css +203 -23
  57. package/List/styles/index.css +311 -158
  58. package/Loader/styles/index.css +354 -206
  59. package/Menu/styles/index.css +325 -186
  60. package/Message/styles/index.css +494 -408
  61. package/Modal/styles/index.css +394 -224
  62. package/MultiCascadeTree/styles/index.css +2694 -2331
  63. package/MultiCascader/styles/index.css +2710 -2346
  64. package/Nav/styles/index.css +1801 -1636
  65. package/Navbar/styles/index.css +1751 -1564
  66. package/Notification/styles/index.css +369 -221
  67. package/NumberInput/styles/index.css +1565 -1366
  68. package/Pagination/styles/index.css +2625 -2390
  69. package/Panel/styles/index.css +624 -305
  70. package/PanelGroup/styles/index.css +212 -55
  71. package/PasswordInput/styles/index.css +559 -164
  72. package/PasswordStrengthMeter/styles/index.css +224 -32
  73. package/PinInput/styles/index.css +381 -207
  74. package/Placeholder/styles/index.css +364 -200
  75. package/Popover/styles/index.css +468 -298
  76. package/Progress/styles/index.css +517 -236
  77. package/ProgressCircle/package.json +3 -3
  78. package/ProgressCircle/styles/index.css +248 -0
  79. package/README.md +1 -1
  80. package/Radio/styles/index.css +406 -242
  81. package/RadioGroup/styles/index.css +277 -124
  82. package/RadioTile/styles/index.css +286 -133
  83. package/RadioTileGroup/styles/index.css +0 -0
  84. package/RangeSlider/styles/index.css +599 -458
  85. package/Rate/styles/index.css +318 -179
  86. package/SelectPicker/styles/index.css +2430 -2088
  87. package/Sidebar/styles/index.css +188 -28
  88. package/Sidenav/styles/index.css +764 -591
  89. package/Slider/styles/index.css +599 -458
  90. package/Stack/styles/index.css +268 -93
  91. package/Stat/styles/index.css +1620 -1454
  92. package/StatGroup/styles/index.css +185 -6
  93. package/Steps/styles/index.css +384 -234
  94. package/Table/styles/index.css +626 -497
  95. package/Tabs/styles/index.css +1815 -1649
  96. package/Tag/styles/index.css +1487 -139
  97. package/TagGroup/styles/index.css +185 -19
  98. package/TagInput/styles/index.css +2831 -2469
  99. package/TagPicker/styles/index.css +2827 -2466
  100. package/Text/styles/index.css +398 -224
  101. package/Textarea/styles/index.css +184 -5
  102. package/TimePicker/styles/index.css +3108 -2800
  103. package/TimeRangePicker/styles/index.css +3200 -2884
  104. package/Timeline/styles/index.css +305 -148
  105. package/Toggle/styles/index.css +606 -429
  106. package/Tooltip/styles/index.css +347 -214
  107. package/Tree/styles/index.css +2538 -2197
  108. package/TreePicker/styles/index.css +2548 -2206
  109. package/Uploader/styles/index.css +1680 -1612
  110. package/VisuallyHidden/styles/index.css +11 -11
  111. package/cjs/Affix/Affix.js +1 -2
  112. package/cjs/Animation/Bounce.js +4 -5
  113. package/cjs/Animation/Collapse.js +1 -2
  114. package/cjs/Animation/Fade.js +5 -6
  115. package/cjs/Animation/Slide.js +5 -6
  116. package/cjs/AutoComplete/AutoComplete.js +1 -2
  117. package/cjs/Avatar/Avatar.js +1 -2
  118. package/cjs/AvatarGroup/AvatarGroup.js +1 -2
  119. package/cjs/Badge/Badge.js +1 -2
  120. package/cjs/Breadcrumb/Breadcrumb.js +1 -2
  121. package/cjs/Button/Button.js +1 -2
  122. package/cjs/ButtonGroup/ButtonGroup.js +1 -2
  123. package/cjs/Calendar/CalendarContainer.js +1 -2
  124. package/cjs/Calendar/CalendarHeader.js +1 -2
  125. package/cjs/Calendar/Grid/GridRow.js +1 -2
  126. package/cjs/Calendar/MonthDropdown/MonthDropdown.js +17 -22
  127. package/cjs/Calendar/MonthDropdown/MonthDropdownItem.js +1 -2
  128. package/cjs/Calendar/TimeDropdown/TimeDropdown.js +1 -2
  129. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.js +1 -2
  130. package/cjs/Calendar/hooks/useCalendarDate.js +3 -6
  131. package/cjs/Carousel/Carousel.js +1 -2
  132. package/cjs/CascadeTree/CascadeTree.js +1 -2
  133. package/cjs/CascadeTree/TreeView.js +1 -2
  134. package/cjs/CascadeTree/hooks/usePaths.js +7 -8
  135. package/cjs/Cascader/Cascader.js +1 -2
  136. package/cjs/CheckPicker/CheckPicker.js +1 -2
  137. package/cjs/CheckTree/CheckTree.js +1 -2
  138. package/cjs/CheckTree/CheckTreeNode.js +1 -2
  139. package/cjs/CheckTree/CheckTreeView.js +17 -22
  140. package/cjs/CheckTree/hooks/useTreeNodeProps.js +1 -2
  141. package/cjs/CheckTree/hooks/useTreeValue.js +4 -5
  142. package/cjs/CheckTreePicker/CheckTreePicker.d.ts +4 -0
  143. package/cjs/CheckTreePicker/CheckTreePicker.js +29 -2
  144. package/cjs/Checkbox/Checkbox.js +1 -2
  145. package/cjs/CheckboxGroup/CheckboxGroup.js +1 -2
  146. package/cjs/Container/Container.js +1 -2
  147. package/cjs/CustomProvider/CustomProvider.js +14 -4
  148. package/cjs/DOMHelper/index.js +1 -2
  149. package/cjs/DateInput/DateInput.js +5 -2
  150. package/cjs/DateInput/hooks/useDateInputState.js +6 -7
  151. package/cjs/DateInput/hooks/useIsFocused.js +4 -5
  152. package/cjs/DateInput/hooks/useKeyboardInputEvent.js +7 -8
  153. package/cjs/DateInput/test/types/TestKeyPressProps.d.ts +6 -0
  154. package/cjs/DateInput/test/types/TestKeyPressProps.js +4 -0
  155. package/cjs/DatePicker/DatePicker.js +3 -10
  156. package/cjs/DatePicker/PredefinedRanges.js +1 -2
  157. package/cjs/DatePicker/Toolbar.js +6 -7
  158. package/cjs/DatePicker/utils.js +14 -24
  159. package/cjs/DateRangeInput/DateRangeInput.js +6 -6
  160. package/cjs/DateRangePicker/Calendar.d.ts +2 -1
  161. package/cjs/DateRangePicker/Calendar.js +8 -3
  162. package/cjs/DateRangePicker/DateRangePicker.d.ts +3 -1
  163. package/cjs/DateRangePicker/DateRangePicker.js +9 -20
  164. package/cjs/DateRangePicker/DateRangePickerProvider.js +1 -2
  165. package/cjs/DateRangePicker/disabledDateUtils.js +5 -18
  166. package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +7 -8
  167. package/cjs/DateRangePicker/utils.js +5 -6
  168. package/cjs/Dropdown/Dropdown.js +9 -12
  169. package/cjs/Dropdown/DropdownItem.js +6 -8
  170. package/cjs/Dropdown/DropdownMenu.js +36 -43
  171. package/cjs/Dropdown/DropdownState.js +1 -4
  172. package/cjs/Form/Form.js +1 -2
  173. package/cjs/Form/FormContext.d.ts +1 -1
  174. package/cjs/Form/FormContext.js +1 -2
  175. package/cjs/Form/hooks/useFormValidate.js +8 -13
  176. package/cjs/Form/hooks/useSchemaModel.js +6 -9
  177. package/cjs/FormControl/FormControl.d.ts +2 -2
  178. package/cjs/FormControl/FormControl.js +53 -84
  179. package/cjs/FormErrorMessage/FormErrorMessage.d.ts +2 -2
  180. package/cjs/FormGroup/FormGroup.d.ts +0 -18
  181. package/cjs/FormGroup/FormGroup.js +4 -33
  182. package/cjs/FormGroup/FormGroupContext.d.ts +4 -0
  183. package/cjs/FormGroup/FormGroupContext.js +8 -0
  184. package/cjs/FormGroup/index.d.ts +1 -1
  185. package/cjs/FormGroup/index.js +4 -4
  186. package/cjs/FormGroup/useFormGroup.d.ts +18 -0
  187. package/cjs/FormGroup/useFormGroup.js +35 -0
  188. package/cjs/Grid/Col.js +1 -2
  189. package/cjs/Grid/utils/styles.js +1 -4
  190. package/cjs/InlineEdit/useEditState.js +1 -1
  191. package/cjs/InlineEdit/useFocusEvent.js +6 -7
  192. package/cjs/Input/Input.js +2 -3
  193. package/cjs/InputGroup/InputGroup.d.ts +0 -5
  194. package/cjs/InputGroup/InputGroup.js +4 -5
  195. package/cjs/InputGroup/InputGroupContext.d.ts +6 -0
  196. package/cjs/InputGroup/InputGroupContext.js +8 -0
  197. package/cjs/InputGroup/index.d.ts +1 -0
  198. package/cjs/InputGroup/index.js +3 -1
  199. package/cjs/InputPicker/InputAutosize.js +1 -2
  200. package/cjs/InputPicker/InputPicker.js +1 -2
  201. package/cjs/List/List.js +1 -2
  202. package/cjs/List/ListItem.js +1 -2
  203. package/cjs/List/helper/AutoScroller.js +7 -8
  204. package/cjs/List/helper/useSortHelper.js +1 -1
  205. package/cjs/List/helper/utils.js +4 -7
  206. package/cjs/MaskedInput/TextMask.js +1 -2
  207. package/cjs/MaskedInput/adjustCaretPosition.js +11 -12
  208. package/cjs/MaskedInput/conformToMask.js +1 -10
  209. package/cjs/MaskedInput/createTextMaskInputElement.js +9 -10
  210. package/cjs/MaskedInput/utilities.js +1 -7
  211. package/cjs/Menu/Menu.js +1 -2
  212. package/cjs/Menu/MenuItem.js +6 -8
  213. package/cjs/Message/Message.js +1 -2
  214. package/cjs/Modal/Modal.js +1 -2
  215. package/cjs/Modal/ModalBody.js +1 -2
  216. package/cjs/Modal/ModalHeader.js +1 -2
  217. package/cjs/Modal/ModalTitle.js +1 -2
  218. package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +1 -4
  219. package/cjs/MultiCascadeTree/utils.js +1 -4
  220. package/cjs/MultiCascader/MultiCascader.js +1 -2
  221. package/cjs/Nav/AdaptiveNavItem.js +3 -4
  222. package/cjs/Nav/Nav.js +3 -4
  223. package/cjs/Nav/NavDropdown.js +9 -12
  224. package/cjs/Nav/NavDropdownItem.js +6 -8
  225. package/cjs/Nav/NavDropdownMenu.js +36 -43
  226. package/cjs/Nav/NavItem.js +1 -2
  227. package/cjs/Nav/NavMegaMenu.js +1 -2
  228. package/cjs/Nav/NavMenu.js +3 -4
  229. package/cjs/Navbar/Navbar.js +1 -2
  230. package/cjs/Navbar/NavbarDrawer.js +1 -2
  231. package/cjs/Navbar/NavbarDropdown.js +8 -11
  232. package/cjs/Navbar/NavbarDropdownItem.js +1 -2
  233. package/cjs/Navbar/NavbarDropdownMenu.js +12 -16
  234. package/cjs/Navbar/NavbarItem.js +1 -2
  235. package/cjs/Navbar/NavbarMegaMenu.js +1 -2
  236. package/cjs/Navbar/NavbarToggle.js +1 -2
  237. package/cjs/Notification/Notification.js +1 -2
  238. package/cjs/NumberInput/utils/number.js +1 -4
  239. package/cjs/Pagination/LimitPicker.js +1 -2
  240. package/cjs/Pagination/PaginationButton.js +1 -2
  241. package/cjs/Panel/Panel.js +1 -2
  242. package/cjs/Panel/PanelHeader.js +1 -2
  243. package/cjs/PanelGroup/PanelGroup.js +1 -2
  244. package/cjs/PanelGroup/index.js +1 -2
  245. package/cjs/Placeholder/PlaceholderGrid.js +1 -2
  246. package/cjs/Placeholder/PlaceholderParagraph.js +1 -2
  247. package/cjs/Popover/Popover.js +1 -2
  248. package/cjs/Progress/Progress.d.ts +1 -1
  249. package/cjs/Progress/Progress.js +1 -1
  250. package/cjs/Progress/ProgressInfo.d.ts +17 -0
  251. package/cjs/Progress/ProgressInfo.js +29 -0
  252. package/cjs/Progress/ProgressLine.d.ts +20 -6
  253. package/cjs/Progress/ProgressLine.js +48 -37
  254. package/cjs/Progress/ProgressSections.d.ts +15 -0
  255. package/cjs/Progress/ProgressSections.js +43 -0
  256. package/cjs/Progress/ProgressStroke.d.ts +24 -0
  257. package/cjs/Progress/ProgressStroke.js +51 -0
  258. package/cjs/Progress/index.d.ts +3 -3
  259. package/cjs/Progress/index.js +1 -1
  260. package/cjs/Progress/types.d.ts +11 -0
  261. package/cjs/Progress/types.js +4 -0
  262. package/cjs/{Progress → ProgressCircle}/ProgressCircle.d.ts +20 -14
  263. package/cjs/ProgressCircle/ProgressCircle.js +113 -0
  264. package/cjs/ProgressCircle/ProgressCircleSections.d.ts +23 -0
  265. package/cjs/ProgressCircle/ProgressCircleSections.js +52 -0
  266. package/cjs/ProgressCircle/hooks/useProgressCirclePath.d.ts +28 -0
  267. package/cjs/ProgressCircle/hooks/useProgressCirclePath.js +66 -0
  268. package/cjs/ProgressCircle/index.d.ts +4 -0
  269. package/cjs/ProgressCircle/index.js +11 -0
  270. package/cjs/Radio/Radio.js +1 -2
  271. package/cjs/RadioGroup/RadioGroup.js +1 -2
  272. package/cjs/RadioTile/RadioTile.js +1 -2
  273. package/cjs/RadioTileGroup/RadioTileGroup.js +1 -2
  274. package/cjs/RangeSlider/RangeSlider.js +1 -3
  275. package/cjs/Rate/Character.js +1 -2
  276. package/cjs/Rate/useRatingStates.js +6 -7
  277. package/cjs/SelectPicker/SelectPicker.js +1 -2
  278. package/cjs/Sidebar/Sidebar.js +1 -2
  279. package/cjs/Sidenav/ExpandedSidenavDropdown.js +12 -17
  280. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +3 -4
  281. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +9 -12
  282. package/cjs/Sidenav/Sidenav.d.ts +0 -15
  283. package/cjs/Sidenav/Sidenav.js +4 -5
  284. package/cjs/Sidenav/SidenavContext.d.ts +16 -0
  285. package/cjs/Sidenav/SidenavContext.js +8 -0
  286. package/cjs/Sidenav/SidenavDropdown.js +15 -19
  287. package/cjs/Sidenav/SidenavDropdownItem.js +8 -10
  288. package/cjs/Sidenav/SidenavDropdownMenu.js +38 -45
  289. package/cjs/Sidenav/SidenavItem.js +8 -10
  290. package/cjs/Sidenav/SidenavToggle.js +3 -4
  291. package/cjs/Slider/ProgressBar.d.ts +0 -1
  292. package/cjs/Slider/ProgressBar.js +1 -3
  293. package/cjs/Slider/Slider.js +14 -6
  294. package/cjs/Stack/Stack.js +4 -2
  295. package/cjs/Stack/VStack.js +1 -3
  296. package/cjs/Tag/Tag.js +1 -2
  297. package/cjs/TagInput/TagInput.js +1 -2
  298. package/cjs/TagPicker/TagPicker.js +1 -2
  299. package/cjs/TimePicker/TimePicker.js +1 -2
  300. package/cjs/Toggle/Toggle.js +1 -2
  301. package/cjs/Tooltip/Tooltip.js +1 -2
  302. package/cjs/Tree/Tree.js +1 -2
  303. package/cjs/Tree/TreeNode.js +1 -2
  304. package/cjs/Tree/TreeView.js +17 -22
  305. package/cjs/Tree/hooks/useFlattenTree.js +2 -8
  306. package/cjs/Tree/hooks/useTreeNodeProps.js +1 -2
  307. package/cjs/Tree/hooks/useVirtualizedTreeData.js +1 -7
  308. package/cjs/Tree/utils/flattenTree.js +2 -8
  309. package/cjs/Tree/utils/getExpandItemValues.js +6 -7
  310. package/cjs/Tree/utils/indentTreeNode.js +1 -4
  311. package/cjs/TreePicker/TreePicker.js +1 -2
  312. package/cjs/Uploader/UploadFileItem.js +2 -6
  313. package/cjs/Uploader/UploadTrigger.js +1 -2
  314. package/cjs/Uploader/Uploader.js +2 -6
  315. package/cjs/global.d.ts +0 -6
  316. package/cjs/index.d.ts +3 -0
  317. package/cjs/index.js +18 -0
  318. package/cjs/internals/Disclosure/Disclosure.js +1 -2
  319. package/cjs/internals/InputBase/InputBase.js +2 -3
  320. package/cjs/internals/Menu/Menu.js +13 -18
  321. package/cjs/internals/Menu/MenuItem.js +1 -2
  322. package/cjs/internals/Menu/Menubar.js +6 -8
  323. package/cjs/internals/Menu/useRenderMenuItem.js +1 -2
  324. package/cjs/internals/Overlay/Modal.js +1 -2
  325. package/cjs/internals/Overlay/Overlay.js +1 -2
  326. package/cjs/internals/Overlay/OverlayProvider.js +1 -2
  327. package/cjs/internals/Overlay/OverlayTrigger.js +3 -11
  328. package/cjs/internals/Overlay/Position.js +4 -8
  329. package/cjs/internals/Overlay/types.d.ts +1 -1
  330. package/cjs/internals/Overlay/utils/position.d.ts +24 -0
  331. package/cjs/internals/Overlay/{positionUtils.js → utils/position.js} +136 -50
  332. package/cjs/internals/Picker/Listbox.js +18 -23
  333. package/cjs/internals/Picker/PickerIndicator.js +9 -10
  334. package/cjs/internals/Picker/PickerLabel.js +6 -7
  335. package/cjs/internals/Picker/PickerPopup.js +1 -2
  336. package/cjs/internals/Picker/PickerToggle.js +1 -2
  337. package/cjs/internals/Picker/PickerToggleTrigger.js +1 -2
  338. package/cjs/internals/Picker/utils.js +1 -4
  339. package/cjs/internals/Provider/CustomContext.d.ts +20 -1
  340. package/cjs/internals/Provider/types.d.ts +6 -3
  341. package/cjs/internals/Ripple/Ripple.js +1 -2
  342. package/cjs/internals/SafeAnchor/SafeAnchor.js +1 -2
  343. package/cjs/internals/Tree/TreeProvider.js +4 -5
  344. package/cjs/internals/Tree/utils/filterNodesOfTree.js +1 -4
  345. package/cjs/internals/Tree/utils/findNodeOfTree.js +1 -4
  346. package/cjs/internals/Windowing/AutoSizer.js +1 -2
  347. package/cjs/internals/Windowing/List.js +1 -2
  348. package/cjs/internals/Windowing/index.js +1 -2
  349. package/cjs/internals/hooks/useClickOutside.js +5 -6
  350. package/cjs/internals/hooks/useEventCallback.js +1 -4
  351. package/cjs/internals/hooks/useEventListener.js +1 -4
  352. package/cjs/internals/hooks/usePortal.js +9 -15
  353. package/cjs/internals/hooks/useRootClose.js +6 -7
  354. package/cjs/internals/hooks/useStyles.js +5 -8
  355. package/cjs/internals/hooks/useTimeout.js +1 -7
  356. package/cjs/internals/hooks/useToggleCaret.d.ts +1 -1
  357. package/cjs/internals/intl/FormattedDate.js +4 -5
  358. package/cjs/internals/intl/FormattedNumber.js +5 -7
  359. package/cjs/internals/types/placement.d.ts +5 -0
  360. package/cjs/internals/utils/colours.js +1 -4
  361. package/cjs/internals/utils/composeFunctions.js +1 -4
  362. package/cjs/internals/utils/createChainedFunction.js +2 -8
  363. package/cjs/internals/utils/date/copyTime.js +4 -5
  364. package/cjs/internals/utils/getDataGroupBy.js +5 -8
  365. package/cjs/internals/utils/html/htmlPropsUtils.js +1 -4
  366. package/cjs/internals/utils/placement.js +1 -4
  367. package/cjs/internals/utils/react/createComponent.js +6 -7
  368. package/cjs/internals/utils/string/tplTransform.js +1 -4
  369. package/cjs/internals/utils/style-sheet/css.js +3 -12
  370. package/cjs/internals/utils/style-sheet/styles.js +2 -8
  371. package/cjs/locales/ar_EG.d.ts +6 -0
  372. package/cjs/locales/ar_EG.js +6 -0
  373. package/cjs/locales/ca_ES.d.ts +6 -0
  374. package/cjs/locales/ca_ES.js +6 -0
  375. package/cjs/locales/cs_CZ.d.ts +6 -0
  376. package/cjs/locales/cs_CZ.js +6 -0
  377. package/cjs/locales/da_DK.d.ts +6 -0
  378. package/cjs/locales/da_DK.js +6 -0
  379. package/cjs/locales/de_DE.d.ts +6 -0
  380. package/cjs/locales/de_DE.js +6 -0
  381. package/cjs/locales/en_GB.d.ts +6 -0
  382. package/cjs/locales/en_GB.js +6 -0
  383. package/cjs/locales/en_US.d.ts +6 -0
  384. package/cjs/locales/en_US.js +6 -0
  385. package/cjs/locales/es_AR.d.ts +6 -0
  386. package/cjs/locales/es_AR.js +6 -0
  387. package/cjs/locales/es_ES.d.ts +6 -0
  388. package/cjs/locales/es_ES.js +7 -1
  389. package/cjs/locales/fa_IR.d.ts +6 -0
  390. package/cjs/locales/fa_IR.js +6 -0
  391. package/cjs/locales/fi_FI.d.ts +6 -0
  392. package/cjs/locales/fi_FI.js +6 -0
  393. package/cjs/locales/fr_FR.d.ts +6 -0
  394. package/cjs/locales/fr_FR.js +6 -0
  395. package/cjs/locales/gu_IN.d.ts +157 -0
  396. package/cjs/locales/gu_IN.js +97 -0
  397. package/cjs/locales/hu_HU.d.ts +6 -0
  398. package/cjs/locales/hu_HU.js +6 -0
  399. package/cjs/locales/index.d.ts +3 -0
  400. package/cjs/locales/index.js +8 -2
  401. package/cjs/locales/it_IT.d.ts +6 -0
  402. package/cjs/locales/it_IT.js +6 -0
  403. package/cjs/locales/ja_JP.d.ts +6 -0
  404. package/cjs/locales/ja_JP.js +6 -0
  405. package/cjs/locales/kk_KZ.d.ts +6 -0
  406. package/cjs/locales/kk_KZ.js +6 -0
  407. package/cjs/locales/ko_KR.d.ts +6 -0
  408. package/cjs/locales/ko_KR.js +6 -0
  409. package/cjs/locales/ne_NP.d.ts +6 -0
  410. package/cjs/locales/ne_NP.js +6 -0
  411. package/cjs/locales/nl_NL.d.ts +6 -0
  412. package/cjs/locales/nl_NL.js +8 -2
  413. package/cjs/locales/pl_PL.d.ts +6 -0
  414. package/cjs/locales/pl_PL.js +6 -0
  415. package/cjs/locales/pt_BR.d.ts +6 -0
  416. package/cjs/locales/pt_BR.js +6 -0
  417. package/cjs/locales/ru_RU.d.ts +6 -0
  418. package/cjs/locales/ru_RU.js +6 -0
  419. package/cjs/locales/sv_SE.d.ts +6 -0
  420. package/cjs/locales/sv_SE.js +6 -0
  421. package/cjs/locales/th_TH.d.ts +169 -0
  422. package/cjs/locales/th_TH.js +100 -0
  423. package/cjs/locales/tr_TR.d.ts +6 -0
  424. package/cjs/locales/tr_TR.js +6 -0
  425. package/cjs/locales/uk_UA.d.ts +157 -0
  426. package/cjs/locales/uk_UA.js +97 -0
  427. package/cjs/locales/zh_CN.d.ts +6 -0
  428. package/cjs/locales/zh_CN.js +6 -0
  429. package/cjs/locales/zh_TW.d.ts +6 -0
  430. package/cjs/locales/zh_TW.js +6 -0
  431. package/cjs/toaster/ToastContainer.js +3 -4
  432. package/cjs/toaster/toaster.js +2 -6
  433. package/cjs/useDialog/Dialog.d.ts +15 -0
  434. package/cjs/useDialog/Dialog.js +109 -0
  435. package/cjs/useDialog/DialogContainer.d.ts +11 -0
  436. package/cjs/useDialog/DialogContainer.js +57 -0
  437. package/cjs/useDialog/index.d.ts +3 -0
  438. package/cjs/useDialog/index.js +15 -0
  439. package/cjs/useDialog/types.d.ts +33 -0
  440. package/cjs/useDialog/types.js +4 -0
  441. package/cjs/useDialog/useDialog.d.ts +15 -0
  442. package/cjs/useDialog/useDialog.js +126 -0
  443. package/cjs/{FormControl → useFormControl}/hooks/useField.d.ts +3 -3
  444. package/cjs/{FormControl → useFormControl}/hooks/useField.js +5 -6
  445. package/cjs/useFormControl/hooks/useRegisterModel.d.ts +2 -0
  446. package/cjs/{FormControl → useFormControl}/hooks/useRegisterModel.js +2 -3
  447. package/cjs/useFormControl/index.d.ts +4 -0
  448. package/cjs/useFormControl/index.js +11 -0
  449. package/cjs/useFormControl/useFormControl.d.ts +38 -0
  450. package/cjs/useFormControl/useFormControl.js +135 -0
  451. package/cjs/{FormControl/utils.js → useFormControl/utils/nameToPath.js} +0 -0
  452. package/cjs/useMediaQuery/breakpoints.js +4 -10
  453. package/cjs/useMediaQuery/useMediaQuery.js +1 -4
  454. package/cjs/useToaster/useToaster.d.ts +1 -1
  455. package/cjs/useToaster/useToaster.js +9 -9
  456. package/dist/rsuite-no-reset.css +14370 -13982
  457. package/dist/rsuite-no-reset.min.css +1 -2
  458. package/dist/rsuite.css +14599 -14187
  459. package/dist/rsuite.js +436 -260
  460. package/dist/rsuite.js.map +1 -1
  461. package/dist/rsuite.min.css +1 -2
  462. package/dist/rsuite.min.js +1 -1
  463. package/dist/rsuite.min.js.map +1 -1
  464. package/esm/Animation/Bounce.js +4 -5
  465. package/esm/Animation/Fade.js +5 -6
  466. package/esm/Animation/Slide.js +5 -6
  467. package/esm/Calendar/MonthDropdown/MonthDropdown.js +16 -20
  468. package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +1 -2
  469. package/esm/Calendar/hooks/useCalendarDate.js +3 -6
  470. package/esm/CascadeTree/hooks/usePaths.js +7 -8
  471. package/esm/CheckTree/CheckTreeView.js +16 -20
  472. package/esm/CheckTree/hooks/useTreeValue.js +4 -5
  473. package/esm/CheckTreePicker/CheckTreePicker.d.ts +4 -0
  474. package/esm/CheckTreePicker/CheckTreePicker.js +28 -0
  475. package/esm/CustomProvider/CustomProvider.js +13 -2
  476. package/esm/DateInput/DateInput.js +4 -0
  477. package/esm/DateInput/hooks/useDateInputState.js +6 -7
  478. package/esm/DateInput/hooks/useIsFocused.js +4 -5
  479. package/esm/DateInput/hooks/useKeyboardInputEvent.js +7 -8
  480. package/esm/DateInput/test/types/TestKeyPressProps.d.ts +6 -0
  481. package/esm/DateInput/test/types/TestKeyPressProps.js +2 -0
  482. package/esm/DatePicker/DatePicker.js +2 -8
  483. package/esm/DatePicker/Toolbar.js +6 -7
  484. package/esm/DatePicker/utils.js +14 -24
  485. package/esm/DateRangeInput/DateRangeInput.js +5 -4
  486. package/esm/DateRangePicker/Calendar.d.ts +2 -1
  487. package/esm/DateRangePicker/Calendar.js +7 -1
  488. package/esm/DateRangePicker/DateRangePicker.d.ts +3 -1
  489. package/esm/DateRangePicker/DateRangePicker.js +8 -18
  490. package/esm/DateRangePicker/disabledDateUtils.js +4 -16
  491. package/esm/DateRangePicker/hooks/useCalendarHandlers.js +7 -8
  492. package/esm/DateRangePicker/utils.js +5 -6
  493. package/esm/Dropdown/Dropdown.js +8 -10
  494. package/esm/Dropdown/DropdownItem.js +5 -6
  495. package/esm/Dropdown/DropdownMenu.js +35 -41
  496. package/esm/Dropdown/DropdownState.js +1 -4
  497. package/esm/Form/FormContext.d.ts +1 -1
  498. package/esm/Form/hooks/useFormValidate.js +4 -9
  499. package/esm/Form/hooks/useSchemaModel.js +6 -9
  500. package/esm/FormControl/FormControl.d.ts +2 -2
  501. package/esm/FormControl/FormControl.js +53 -83
  502. package/esm/FormErrorMessage/FormErrorMessage.d.ts +2 -2
  503. package/esm/FormGroup/FormGroup.d.ts +0 -18
  504. package/esm/FormGroup/FormGroup.js +1 -28
  505. package/esm/FormGroup/FormGroupContext.d.ts +4 -0
  506. package/esm/FormGroup/FormGroupContext.js +3 -0
  507. package/esm/FormGroup/index.d.ts +1 -1
  508. package/esm/FormGroup/index.js +1 -1
  509. package/esm/FormGroup/useFormGroup.d.ts +18 -0
  510. package/esm/FormGroup/useFormGroup.js +30 -0
  511. package/esm/Grid/utils/styles.js +1 -4
  512. package/esm/InlineEdit/useEditState.js +1 -1
  513. package/esm/InlineEdit/useFocusEvent.js +6 -7
  514. package/esm/Input/Input.js +1 -1
  515. package/esm/InputGroup/InputGroup.d.ts +0 -5
  516. package/esm/InputGroup/InputGroup.js +1 -1
  517. package/esm/InputGroup/InputGroupContext.d.ts +6 -0
  518. package/esm/InputGroup/InputGroupContext.js +3 -0
  519. package/esm/InputGroup/index.d.ts +1 -0
  520. package/esm/InputGroup/index.js +1 -0
  521. package/esm/List/helper/AutoScroller.js +7 -8
  522. package/esm/List/helper/useSortHelper.js +1 -1
  523. package/esm/List/helper/utils.js +4 -7
  524. package/esm/MaskedInput/adjustCaretPosition.js +11 -12
  525. package/esm/MaskedInput/conformToMask.js +1 -10
  526. package/esm/MaskedInput/createTextMaskInputElement.js +9 -10
  527. package/esm/MaskedInput/utilities.js +1 -7
  528. package/esm/Menu/MenuItem.js +5 -6
  529. package/esm/MultiCascadeTree/hooks/useCascadeValue.js +1 -4
  530. package/esm/MultiCascadeTree/utils.js +1 -4
  531. package/esm/Nav/AdaptiveNavItem.js +1 -1
  532. package/esm/Nav/Nav.js +1 -1
  533. package/esm/Nav/NavDropdown.js +8 -10
  534. package/esm/Nav/NavDropdownItem.js +5 -6
  535. package/esm/Nav/NavDropdownMenu.js +35 -41
  536. package/esm/Nav/NavMenu.js +1 -1
  537. package/esm/Navbar/NavbarDropdown.js +7 -9
  538. package/esm/Navbar/NavbarDropdownMenu.js +11 -14
  539. package/esm/NumberInput/utils/number.js +1 -4
  540. package/esm/Progress/Progress.d.ts +1 -1
  541. package/esm/Progress/Progress.js +1 -1
  542. package/esm/Progress/ProgressInfo.d.ts +17 -0
  543. package/esm/Progress/ProgressInfo.js +24 -0
  544. package/esm/Progress/ProgressLine.d.ts +20 -6
  545. package/esm/Progress/ProgressLine.js +49 -38
  546. package/esm/Progress/ProgressSections.d.ts +15 -0
  547. package/esm/Progress/ProgressSections.js +38 -0
  548. package/esm/Progress/ProgressStroke.d.ts +24 -0
  549. package/esm/Progress/ProgressStroke.js +46 -0
  550. package/esm/Progress/index.d.ts +3 -3
  551. package/esm/Progress/index.js +1 -1
  552. package/esm/Progress/types.d.ts +11 -0
  553. package/esm/Progress/types.js +2 -0
  554. package/esm/{Progress → ProgressCircle}/ProgressCircle.d.ts +20 -14
  555. package/esm/ProgressCircle/ProgressCircle.js +107 -0
  556. package/esm/ProgressCircle/ProgressCircleSections.d.ts +23 -0
  557. package/esm/ProgressCircle/ProgressCircleSections.js +47 -0
  558. package/esm/ProgressCircle/hooks/useProgressCirclePath.d.ts +28 -0
  559. package/esm/ProgressCircle/hooks/useProgressCirclePath.js +62 -0
  560. package/esm/ProgressCircle/index.d.ts +4 -0
  561. package/esm/ProgressCircle/index.js +8 -0
  562. package/esm/RangeSlider/RangeSlider.js +0 -1
  563. package/esm/Rate/useRatingStates.js +6 -7
  564. package/esm/Sidenav/ExpandedSidenavDropdown.js +10 -14
  565. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +1 -1
  566. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +7 -9
  567. package/esm/Sidenav/Sidenav.d.ts +0 -15
  568. package/esm/Sidenav/Sidenav.js +1 -1
  569. package/esm/Sidenav/SidenavContext.d.ts +16 -0
  570. package/esm/Sidenav/SidenavContext.js +3 -0
  571. package/esm/Sidenav/SidenavDropdown.js +13 -16
  572. package/esm/Sidenav/SidenavDropdownItem.js +6 -7
  573. package/esm/Sidenav/SidenavDropdownMenu.js +36 -42
  574. package/esm/Sidenav/SidenavItem.js +6 -7
  575. package/esm/Sidenav/SidenavToggle.js +1 -1
  576. package/esm/Slider/ProgressBar.d.ts +0 -1
  577. package/esm/Slider/ProgressBar.js +1 -3
  578. package/esm/Slider/Slider.js +13 -4
  579. package/esm/Stack/Stack.js +4 -2
  580. package/esm/Stack/VStack.js +1 -3
  581. package/esm/Tree/TreeView.js +16 -20
  582. package/esm/Tree/hooks/useFlattenTree.js +2 -8
  583. package/esm/Tree/hooks/useVirtualizedTreeData.js +1 -7
  584. package/esm/Tree/utils/flattenTree.js +2 -8
  585. package/esm/Tree/utils/getExpandItemValues.js +6 -7
  586. package/esm/Tree/utils/indentTreeNode.js +1 -4
  587. package/esm/Uploader/UploadFileItem.js +1 -4
  588. package/esm/Uploader/Uploader.js +1 -4
  589. package/esm/global.d.ts +0 -6
  590. package/esm/index.d.ts +3 -0
  591. package/esm/index.js +3 -0
  592. package/esm/internals/InputBase/InputBase.js +1 -1
  593. package/esm/internals/Menu/Menu.js +12 -16
  594. package/esm/internals/Menu/Menubar.js +5 -6
  595. package/esm/internals/Overlay/OverlayTrigger.js +2 -9
  596. package/esm/internals/Overlay/Position.js +3 -6
  597. package/esm/internals/Overlay/types.d.ts +1 -1
  598. package/esm/internals/Overlay/utils/position.d.ts +24 -0
  599. package/esm/internals/Overlay/{positionUtils.js → utils/position.js} +134 -48
  600. package/esm/internals/Picker/Listbox.js +17 -21
  601. package/esm/internals/Picker/PickerIndicator.js +9 -10
  602. package/esm/internals/Picker/PickerLabel.js +6 -7
  603. package/esm/internals/Picker/utils.js +1 -4
  604. package/esm/internals/Provider/CustomContext.d.ts +20 -1
  605. package/esm/internals/Provider/types.d.ts +6 -3
  606. package/esm/internals/Tree/TreeProvider.js +4 -5
  607. package/esm/internals/Tree/utils/filterNodesOfTree.js +1 -4
  608. package/esm/internals/Tree/utils/findNodeOfTree.js +1 -4
  609. package/esm/internals/hooks/useClickOutside.js +5 -6
  610. package/esm/internals/hooks/useEventCallback.js +1 -4
  611. package/esm/internals/hooks/useEventListener.js +1 -4
  612. package/esm/internals/hooks/usePortal.js +8 -13
  613. package/esm/internals/hooks/useRootClose.js +6 -7
  614. package/esm/internals/hooks/useStyles.js +5 -8
  615. package/esm/internals/hooks/useTimeout.js +1 -7
  616. package/esm/internals/hooks/useToggleCaret.d.ts +1 -1
  617. package/esm/internals/intl/FormattedDate.js +4 -5
  618. package/esm/internals/intl/FormattedNumber.js +4 -5
  619. package/esm/internals/types/placement.d.ts +5 -0
  620. package/esm/internals/utils/colours.js +1 -4
  621. package/esm/internals/utils/composeFunctions.js +1 -4
  622. package/esm/internals/utils/createChainedFunction.js +2 -8
  623. package/esm/internals/utils/date/copyTime.js +4 -5
  624. package/esm/internals/utils/getDataGroupBy.js +5 -8
  625. package/esm/internals/utils/html/htmlPropsUtils.js +1 -4
  626. package/esm/internals/utils/placement.js +1 -4
  627. package/esm/internals/utils/react/createComponent.js +6 -7
  628. package/esm/internals/utils/string/tplTransform.js +1 -4
  629. package/esm/internals/utils/style-sheet/css.js +3 -12
  630. package/esm/internals/utils/style-sheet/styles.js +2 -8
  631. package/esm/locales/ar_EG.d.ts +6 -0
  632. package/esm/locales/ar_EG.js +6 -0
  633. package/esm/locales/ca_ES.d.ts +6 -0
  634. package/esm/locales/ca_ES.js +6 -0
  635. package/esm/locales/cs_CZ.d.ts +6 -0
  636. package/esm/locales/cs_CZ.js +6 -0
  637. package/esm/locales/da_DK.d.ts +6 -0
  638. package/esm/locales/da_DK.js +6 -0
  639. package/esm/locales/de_DE.d.ts +6 -0
  640. package/esm/locales/de_DE.js +6 -0
  641. package/esm/locales/en_GB.d.ts +6 -0
  642. package/esm/locales/en_GB.js +6 -0
  643. package/esm/locales/en_US.d.ts +6 -0
  644. package/esm/locales/en_US.js +6 -0
  645. package/esm/locales/es_AR.d.ts +6 -0
  646. package/esm/locales/es_AR.js +6 -0
  647. package/esm/locales/es_ES.d.ts +6 -0
  648. package/esm/locales/es_ES.js +7 -1
  649. package/esm/locales/fa_IR.d.ts +6 -0
  650. package/esm/locales/fa_IR.js +6 -0
  651. package/esm/locales/fi_FI.d.ts +6 -0
  652. package/esm/locales/fi_FI.js +6 -0
  653. package/esm/locales/fr_FR.d.ts +6 -0
  654. package/esm/locales/fr_FR.js +6 -0
  655. package/esm/locales/gu_IN.d.ts +157 -0
  656. package/esm/locales/gu_IN.js +93 -0
  657. package/esm/locales/hu_HU.d.ts +6 -0
  658. package/esm/locales/hu_HU.js +6 -0
  659. package/esm/locales/index.d.ts +3 -0
  660. package/esm/locales/index.js +4 -1
  661. package/esm/locales/it_IT.d.ts +6 -0
  662. package/esm/locales/it_IT.js +6 -0
  663. package/esm/locales/ja_JP.d.ts +6 -0
  664. package/esm/locales/ja_JP.js +6 -0
  665. package/esm/locales/kk_KZ.d.ts +6 -0
  666. package/esm/locales/kk_KZ.js +6 -0
  667. package/esm/locales/ko_KR.d.ts +6 -0
  668. package/esm/locales/ko_KR.js +6 -0
  669. package/esm/locales/ne_NP.d.ts +6 -0
  670. package/esm/locales/ne_NP.js +6 -0
  671. package/esm/locales/nl_NL.d.ts +6 -0
  672. package/esm/locales/nl_NL.js +8 -2
  673. package/esm/locales/pl_PL.d.ts +6 -0
  674. package/esm/locales/pl_PL.js +6 -0
  675. package/esm/locales/pt_BR.d.ts +6 -0
  676. package/esm/locales/pt_BR.js +6 -0
  677. package/esm/locales/ru_RU.d.ts +6 -0
  678. package/esm/locales/ru_RU.js +6 -0
  679. package/esm/locales/sv_SE.d.ts +6 -0
  680. package/esm/locales/sv_SE.js +6 -0
  681. package/esm/locales/th_TH.d.ts +169 -0
  682. package/esm/locales/th_TH.js +96 -0
  683. package/esm/locales/tr_TR.d.ts +6 -0
  684. package/esm/locales/tr_TR.js +6 -0
  685. package/esm/locales/uk_UA.d.ts +157 -0
  686. package/esm/locales/uk_UA.js +93 -0
  687. package/esm/locales/zh_CN.d.ts +6 -0
  688. package/esm/locales/zh_CN.js +6 -0
  689. package/esm/locales/zh_TW.d.ts +6 -0
  690. package/esm/locales/zh_TW.js +6 -0
  691. package/esm/toaster/ToastContainer.js +2 -2
  692. package/esm/toaster/toaster.js +1 -4
  693. package/esm/useDialog/Dialog.d.ts +15 -0
  694. package/esm/useDialog/Dialog.js +103 -0
  695. package/esm/useDialog/DialogContainer.d.ts +11 -0
  696. package/esm/useDialog/DialogContainer.js +52 -0
  697. package/esm/useDialog/index.d.ts +3 -0
  698. package/esm/useDialog/index.js +4 -0
  699. package/esm/useDialog/types.d.ts +33 -0
  700. package/esm/useDialog/types.js +2 -0
  701. package/esm/useDialog/useDialog.d.ts +15 -0
  702. package/esm/useDialog/useDialog.js +120 -0
  703. package/esm/{FormControl → useFormControl}/hooks/useField.d.ts +3 -3
  704. package/esm/{FormControl → useFormControl}/hooks/useField.js +4 -5
  705. package/esm/useFormControl/hooks/useRegisterModel.d.ts +2 -0
  706. package/esm/{FormControl → useFormControl}/hooks/useRegisterModel.js +2 -3
  707. package/esm/useFormControl/index.d.ts +4 -0
  708. package/esm/useFormControl/index.js +8 -0
  709. package/esm/useFormControl/useFormControl.d.ts +38 -0
  710. package/esm/useFormControl/useFormControl.js +130 -0
  711. package/esm/{FormControl/utils.js → useFormControl/utils/nameToPath.js} +0 -0
  712. package/esm/useMediaQuery/breakpoints.js +4 -10
  713. package/esm/useMediaQuery/useMediaQuery.js +1 -4
  714. package/esm/useToaster/useToaster.d.ts +1 -1
  715. package/esm/useToaster/useToaster.js +11 -10
  716. package/locales/gu_IN/package.json +7 -0
  717. package/locales/th_TH/package.json +7 -0
  718. package/locales/uk_UA/package.json +7 -0
  719. package/package.json +5 -6
  720. package/toaster/styles/index.css +107 -121
  721. package/useDialog/package.json +7 -0
  722. package/useFormControl/package.json +7 -0
  723. package/useToaster/styles/index.css +107 -121
  724. package/Accordion/styles/index.less +0 -2
  725. package/Animation/styles/animation.less +0 -95
  726. package/Animation/styles/bounce.less +0 -34
  727. package/Animation/styles/collapse.less +0 -23
  728. package/Animation/styles/fade.less +0 -10
  729. package/Animation/styles/index.less +0 -8
  730. package/Animation/styles/mixin.less +0 -15
  731. package/Animation/styles/slide.less +0 -24
  732. package/Animation/styles/variables.less +0 -4
  733. package/AutoComplete/styles/index.less +0 -37
  734. package/Avatar/styles/index.less +0 -48
  735. package/AvatarGroup/styles/index.less +0 -25
  736. package/Badge/styles/index.less +0 -101
  737. package/Badge/styles/variables.less +0 -19
  738. package/Box/styles/index.less +0 -1
  739. package/Breadcrumb/styles/index.less +0 -49
  740. package/Button/styles/index.less +0 -364
  741. package/Button/styles/mixin.less +0 -62
  742. package/Button/styles/variables.less +0 -30
  743. package/ButtonGroup/styles/index.less +0 -91
  744. package/ButtonToolbar/styles/index.less +0 -17
  745. package/Calendar/styles/index.less +0 -678
  746. package/Card/styles/index.less +0 -63
  747. package/CardGroup/styles/index.less +0 -8
  748. package/Carousel/styles/index.less +0 -192
  749. package/CascadeTree/styles/index.less +0 -88
  750. package/CascadeTree/styles/search.less +0 -35
  751. package/Cascader/styles/index.less +0 -5
  752. package/Center/styles/index.less +0 -9
  753. package/CheckPicker/styles/index.less +0 -21
  754. package/CheckTree/styles/index.less +0 -120
  755. package/CheckTreePicker/styles/index.less +0 -17
  756. package/Checkbox/styles/index.less +0 -153
  757. package/Checkbox/styles/mixin.less +0 -37
  758. package/CheckboxGroup/styles/index.less +0 -14
  759. package/Col/styles/index.less +0 -2
  760. package/Container/stories/styles.less +0 -23
  761. package/Container/styles/index.less +0 -16
  762. package/Content/styles/index.less +0 -6
  763. package/DateInput/styles/index.less +0 -1
  764. package/DatePicker/styles/index.less +0 -167
  765. package/DatePicker/styles/mixin.less +0 -8
  766. package/DateRangeInput/styles/index.less +0 -1
  767. package/DateRangePicker/styles/index.less +0 -145
  768. package/Divider/styles/index.less +0 -85
  769. package/Drawer/styles/index.less +0 -255
  770. package/Drawer/styles/mixin.less +0 -23
  771. package/Dropdown/styles/index.less +0 -341
  772. package/Dropdown/styles/mixin.less +0 -4
  773. package/FlexboxGrid/styles/index.less +0 -79
  774. package/Footer/styles/index.less +0 -5
  775. package/Form/styles/index.less +0 -1
  776. package/FormControl/styles/index.less +0 -79
  777. package/FormControlLabel/styles/index.less +0 -7
  778. package/FormErrorMessage/styles/animation.less +0 -43
  779. package/FormErrorMessage/styles/index.less +0 -179
  780. package/FormGroup/styles/index.less +0 -75
  781. package/FormHelpText/styles/index.less +0 -21
  782. package/FormStack/styles/index.less +0 -15
  783. package/Grid/styles/columns.less +0 -21
  784. package/Grid/styles/grid-framework.less +0 -92
  785. package/Grid/styles/index.less +0 -107
  786. package/Grid/styles/mixin.less +0 -12
  787. package/Grid/styles/row.less +0 -42
  788. package/Grid/styles/variables.less +0 -5
  789. package/Header/styles/index.less +0 -5
  790. package/Heading/styles/index.less +0 -42
  791. package/Heading/styles/variables.less +0 -19
  792. package/HeadingGroup/styles/index.less +0 -3
  793. package/Highlight/styles/index.less +0 -6
  794. package/IconButton/styles/index.less +0 -90
  795. package/Image/styles/index.less +0 -34
  796. package/InlineEdit/styles/index.less +0 -50
  797. package/Input/styles/index.less +0 -23
  798. package/Input/styles/mixin.less +0 -38
  799. package/Input/styles/variables.less +0 -22
  800. package/InputGroup/styles/index.less +0 -237
  801. package/InputNumber/styles/index.less +0 -1
  802. package/InputPicker/styles/index.less +0 -64
  803. package/InputPicker/styles/mixin.less +0 -7
  804. package/Kbd/styles/index.less +0 -20
  805. package/Kbd/styles/mixin.less +0 -24
  806. package/Kbd/styles/variables.less +0 -13
  807. package/Link/styles/index.less +0 -39
  808. package/List/styles/index.less +0 -113
  809. package/Loader/styles/index.less +0 -114
  810. package/Loader/styles/mixin.less +0 -33
  811. package/Loader/styles/variables.less +0 -16
  812. package/Menu/styles/index.less +0 -108
  813. package/Message/styles/index.less +0 -188
  814. package/Modal/styles/animation.less +0 -15
  815. package/Modal/styles/index.less +0 -189
  816. package/MultiCascadeTree/styles/index.less +0 -46
  817. package/MultiCascader/styles/index.less +0 -15
  818. package/Nav/styles/index.less +0 -366
  819. package/Navbar/styles/index.less +0 -236
  820. package/Notification/styles/index.less +0 -114
  821. package/NumberInput/styles/index.less +0 -74
  822. package/NumberInput/styles/mixin.less +0 -11
  823. package/Pagination/styles/index.less +0 -101
  824. package/Pagination/styles/mixin.less +0 -14
  825. package/Pagination/styles/pagination-group.less +0 -31
  826. package/Panel/styles/index.less +0 -121
  827. package/PanelGroup/styles/index.less +0 -34
  828. package/PasswordInput/styles/index.less +0 -1
  829. package/PasswordStrengthMeter/styles/index.less +0 -39
  830. package/PinInput/styles/index.less +0 -66
  831. package/Placeholder/styles/index.less +0 -148
  832. package/Placeholder/styles/mixin.less +0 -7
  833. package/Popover/styles/index.less +0 -202
  834. package/Popover/styles/mixins.less +0 -60
  835. package/Progress/styles/animation.less +0 -34
  836. package/Progress/styles/index.less +0 -187
  837. package/ProgressLine/package.json +0 -7
  838. package/Radio/styles/index.less +0 -144
  839. package/Radio/styles/mixin.less +0 -5
  840. package/RadioGroup/styles/index.less +0 -87
  841. package/RadioTile/styles/index.less +0 -79
  842. package/RadioTileGroup/styles/index.less +0 -1
  843. package/RangeSlider/styles/index.less +0 -4
  844. package/Rate/styles/index.less +0 -139
  845. package/Row/styles/index.less +0 -2
  846. package/SelectPicker/styles/index.less +0 -47
  847. package/Sidebar/styles/index.less +0 -15
  848. package/Sidenav/styles/index.less +0 -655
  849. package/Sidenav/styles/mixin.less +0 -23
  850. package/Slider/styles/index.less +0 -296
  851. package/Stack/styles/index.less +0 -83
  852. package/Stat/styles/index.less +0 -113
  853. package/StatGroup/styles/index.less +0 -8
  854. package/Steps/styles/index.less +0 -222
  855. package/Table/styles/index.less +0 -433
  856. package/Table/styles/mixin.less +0 -8
  857. package/Tabs/styles/index.less +0 -24
  858. package/Tag/styles/index.less +0 -55
  859. package/TagGroup/styles/index.less +0 -14
  860. package/TagInput/styles/index.less +0 -5
  861. package/TagPicker/styles/index.less +0 -136
  862. package/Text/styles/index.less +0 -122
  863. package/Text/styles/variables.less +0 -9
  864. package/Textarea/styles/index.less +0 -7
  865. package/TimePicker/styles/index.less +0 -1
  866. package/TimeRangePicker/styles/index.less +0 -1
  867. package/Timeline/stories/styles.less +0 -29
  868. package/Timeline/styles/index.less +0 -174
  869. package/Timeline/styles/mixin.less +0 -13
  870. package/Toggle/styles/index.less +0 -278
  871. package/Tooltip/styles/index.less +0 -161
  872. package/Tooltip/styles/mixins.less +0 -60
  873. package/Tree/styles/indent-line.less +0 -8
  874. package/Tree/styles/index.less +0 -186
  875. package/Tree/styles/toggle.less +0 -32
  876. package/TreePicker/styles/index.less +0 -16
  877. package/Uploader/styles/index.less +0 -468
  878. package/Uploader/styles/mixin.less +0 -11
  879. package/VisuallyHidden/styles/index.less +0 -11
  880. package/cjs/FormControl/hooks/useRegisterModel.d.ts +0 -3
  881. package/cjs/Progress/ProgressCircle.js +0 -132
  882. package/cjs/internals/Overlay/positionUtils.d.ts +0 -15
  883. package/dist/rsuite-no-reset-rtl.css +0 -15243
  884. package/dist/rsuite-no-reset-rtl.min.css +0 -2
  885. package/dist/rsuite-no-reset-rtl.min.css.map +0 -1
  886. package/dist/rsuite-no-reset.min.css.map +0 -1
  887. package/dist/rsuite-rtl.css +0 -15494
  888. package/dist/rsuite-rtl.min.css +0 -2
  889. package/dist/rsuite-rtl.min.css.map +0 -1
  890. package/dist/rsuite.min.css.map +0 -1
  891. package/esm/FormControl/hooks/useRegisterModel.d.ts +0 -3
  892. package/esm/Progress/ProgressCircle.js +0 -125
  893. package/esm/internals/Overlay/positionUtils.d.ts +0 -15
  894. package/internals/Box/styles/index.less +0 -82
  895. package/internals/Burger/styles/index.less +0 -67
  896. package/internals/CloseButton/styles/index.less +0 -15
  897. package/internals/Picker/styles/index.less +0 -477
  898. package/internals/Picker/styles/mixin.less +0 -131
  899. package/internals/Ripple/styles/index.less +0 -36
  900. package/internals/Ripple/styles/mixins.less +0 -6
  901. package/internals/ScrollView/styles/index.less +0 -69
  902. package/internals/SearchBox/styles/index.less +0 -11
  903. package/styles/color-modes/dark.less +0 -441
  904. package/styles/color-modes/high-contrast.less +0 -452
  905. package/styles/color-modes/light.less +0 -464
  906. package/styles/colors/dark.less +0 -105
  907. package/styles/colors/high-contrast.less +0 -105
  908. package/styles/colors/light.less +0 -105
  909. package/styles/common.less +0 -13
  910. package/styles/index.less +0 -106
  911. package/styles/mixins/color-modes.less +0 -16
  912. package/styles/mixins/combobox.less +0 -6
  913. package/styles/mixins/hacks.less +0 -32
  914. package/styles/mixins/listbox.less +0 -68
  915. package/styles/mixins/menu.less +0 -12
  916. package/styles/mixins/utilities.less +0 -183
  917. package/styles/normalize.less +0 -247
  918. package/styles/plugins/palette.js +0 -1407
  919. package/styles/root.less +0 -83
  920. package/styles/scaffolding.less +0 -54
  921. package/styles/typography.less +0 -123
  922. package/styles/variables.less +0 -638
  923. package/toaster/styles/animation.less +0 -54
  924. package/toaster/styles/index.less +0 -100
  925. package/useToaster/styles/index.less +0 -1
  926. /package/cjs/{FormControl/utils.d.ts → useFormControl/utils/nameToPath.d.ts} +0 -0
  927. /package/esm/{FormControl/utils.d.ts → useFormControl/utils/nameToPath.d.ts} +0 -0
@@ -1,21 +1,35 @@
1
+ import React from 'react';
1
2
  import { BoxProps } from '../internals/Box';
3
+ import type { ProgressSection } from './types';
2
4
  export interface ProgressLineProps extends BoxProps {
3
- /** Line color */
4
- strokeColor?: string;
5
+ /** Whether to show indeterminate loading animation */
6
+ indeterminate?: boolean;
5
7
  /** Percent of progress */
6
8
  percent?: number;
9
+ /** The placement of the percent info */
10
+ percentPlacement?: 'start' | 'end' | 'insideStart' | 'insideEnd' | 'insideCenter';
11
+ /** Line color */
12
+ strokeColor?: string;
7
13
  /** Line width */
8
14
  strokeWidth?: number;
9
- /** Trail color */
10
- trailColor?: string;
11
- /** Trail width */
12
- trailWidth?: number;
13
15
  /** Show text */
14
16
  showInfo?: boolean;
15
17
  /** Progress status */
16
18
  status?: 'success' | 'fail' | 'active';
19
+ /** Whether to apply a striped effect to the progress bar */
20
+ striped?: boolean;
21
+ /** Multiple sections with different colors */
22
+ sections?: ProgressSection[];
23
+ /** Trail color */
24
+ trailColor?: string;
25
+ /** Trail width */
26
+ trailWidth?: number;
17
27
  /** The progress bar is displayed vertically */
18
28
  vertical?: boolean;
29
+ /** The radius of the progress bar */
30
+ radius?: number | string;
31
+ /** Custom render function for info content */
32
+ renderInfo?: (percent: number, status?: 'success' | 'fail' | 'active') => React.ReactNode;
19
33
  }
20
34
  /**
21
35
  * The `Progress.Line` component is used to display the progress of current operation.
@@ -2,8 +2,10 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import React from 'react';
4
4
  import Box from "../internals/Box/index.js";
5
- import { PROGRESS_STATUS_ICON } from "../internals/constants/statusIcons.js";
6
- import { forwardRef } from "../internals/utils/index.js";
5
+ import ProgressInfo from "./ProgressInfo.js";
6
+ import ProgressStroke from "./ProgressStroke.js";
7
+ import ProgressSections from "./ProgressSections.js";
8
+ import { forwardRef, mergeStyles, getCssValue } from "../internals/utils/index.js";
7
9
  import { useStyles, useCustom } from "../internals/hooks/index.js";
8
10
  /**
9
11
  * The `Progress.Line` component is used to display the progress of current operation.
@@ -16,61 +18,70 @@ const ProgressLine = forwardRef((props, ref) => {
16
18
  const {
17
19
  as,
18
20
  className,
21
+ classPrefix = 'progress-line',
19
22
  percent = 0,
23
+ percentPlacement = 'end',
24
+ radius,
20
25
  strokeColor,
21
26
  strokeWidth,
22
- trailColor,
23
- trailWidth,
24
27
  status,
28
+ striped,
29
+ style,
25
30
  showInfo = true,
26
- classPrefix = 'progress',
31
+ trailColor,
32
+ trailWidth,
27
33
  vertical,
34
+ sections,
35
+ renderInfo,
36
+ indeterminate,
28
37
  ...rest
29
38
  } = propsWithDefaults;
30
39
  const {
31
40
  merge,
32
41
  prefix,
33
- withPrefix
42
+ withPrefix,
43
+ cssVar
34
44
  } = useStyles(classPrefix);
35
- const lineInnerStyle = {
36
- backgroundColor: trailColor,
37
- [vertical ? 'width' : 'height']: trailWidth || strokeWidth
38
- };
39
- const percentStyle = {
40
- [vertical ? 'height' : 'width']: `${percent}%`,
41
- backgroundColor: strokeColor,
42
- [vertical ? 'width' : 'height']: strokeWidth
43
- };
44
- const classes = merge(className, withPrefix('line', {
45
- 'line-vertical': vertical,
46
- [`line-${status}`]: !!status
45
+ const classes = merge(className, withPrefix({
46
+ vertical,
47
+ striped,
48
+ indeterminate
47
49
  }));
48
- const showIcon = status && status !== 'active';
49
- const info = showIcon ? /*#__PURE__*/React.createElement("span", {
50
- className: prefix(`icon-${status || ''}`)
51
- }, PROGRESS_STATUS_ICON[status]) : /*#__PURE__*/React.createElement("span", {
52
- className: prefix('info-status')
53
- }, percent, "%");
50
+ const totalPercent = sections ? sections.reduce((sum, section) => sum + section.percent, 0) : percent;
51
+ const styles = mergeStyles(cssVar('trail-size', getCssValue(trailWidth || strokeWidth)), cssVar('trail-color', trailColor), cssVar('stroke', `${totalPercent}%`), cssVar('size', getCssValue(strokeWidth)), cssVar('color', strokeColor), cssVar('radius', getCssValue(radius)), style);
52
+ const info = /*#__PURE__*/React.createElement(ProgressInfo, {
53
+ percent: percent,
54
+ renderInfo: renderInfo,
55
+ status: status,
56
+ classPrefix: classPrefix
57
+ });
58
+
59
+ // Determine if the info should be placed inside the stroke
60
+ const isInsidePlacement = percentPlacement === null || percentPlacement === void 0 ? void 0 : percentPlacement.startsWith('inside');
54
61
  return /*#__PURE__*/React.createElement(Box, _extends({
55
62
  as: as,
63
+ ref: ref,
64
+ className: classes,
56
65
  role: "progressbar",
57
66
  "aria-valuemin": "0",
58
67
  "aria-valuemax": "100",
59
- "aria-valuenow": percent
60
- }, rest, {
61
- ref: ref,
62
- className: classes
63
- }), /*#__PURE__*/React.createElement("div", {
64
- className: prefix('line-outer')
65
- }, /*#__PURE__*/React.createElement("div", {
66
- className: prefix('line-inner'),
67
- style: lineInnerStyle
68
+ "aria-valuenow": totalPercent,
69
+ "data-status": status,
70
+ "data-placement": percentPlacement,
71
+ style: styles
72
+ }, rest), /*#__PURE__*/React.createElement("div", {
73
+ className: prefix('outer')
68
74
  }, /*#__PURE__*/React.createElement("div", {
69
- className: prefix('line-bg'),
70
- style: percentStyle
71
- }))), showInfo ? /*#__PURE__*/React.createElement("div", {
72
- className: prefix('info')
73
- }, info) : null);
75
+ className: prefix('trail')
76
+ }, sections ? /*#__PURE__*/React.createElement(ProgressSections, {
77
+ classPrefix: classPrefix,
78
+ sections: sections,
79
+ vertical: vertical
80
+ }) : /*#__PURE__*/React.createElement(ProgressStroke, {
81
+ classPrefix: classPrefix,
82
+ percent: indeterminate ? 100 : percent,
83
+ vertical: vertical
84
+ }, showInfo && isInsidePlacement ? info : null))), showInfo && !isInsidePlacement ? info : null);
74
85
  });
75
86
  ProgressLine.displayName = 'ProgressLine';
76
87
  export default ProgressLine;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { ProgressSection } from './types';
3
+ export interface ProgressSectionsProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ /** The classPrefix passed from parent component */
5
+ classPrefix: string;
6
+ /** Multiple sections with different colors */
7
+ sections: ProgressSection[];
8
+ /** Whether the progress bar is displayed vertically */
9
+ vertical?: boolean;
10
+ }
11
+ /**
12
+ * A component to render multiple sections in a progress bar
13
+ */
14
+ declare const ProgressSections: React.MemoExoticComponent<(props: ProgressSectionsProps) => React.JSX.Element>;
15
+ export default ProgressSections;
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import React from 'react';
4
+ import ProgressStroke from "./ProgressStroke.js";
5
+ import { useStyles } from "../internals/hooks/index.js";
6
+ /**
7
+ * A component to render multiple sections in a progress bar
8
+ */
9
+ const ProgressSections = /*#__PURE__*/React.memo(props => {
10
+ const {
11
+ classPrefix,
12
+ sections,
13
+ vertical,
14
+ ...rest
15
+ } = props;
16
+ const {
17
+ prefix
18
+ } = useStyles(classPrefix);
19
+ let countPercent = 0;
20
+ return /*#__PURE__*/React.createElement("div", _extends({
21
+ className: prefix('sections')
22
+ }, rest), sections.map((section, index) => {
23
+ const sectionStroke = /*#__PURE__*/React.createElement(ProgressStroke, {
24
+ key: index,
25
+ classPrefix: classPrefix,
26
+ percent: section.percent,
27
+ color: section.color,
28
+ vertical: vertical,
29
+ isSection: true,
30
+ tooltip: section.tooltip,
31
+ countPercent: countPercent
32
+ }, section.label);
33
+ countPercent += section.percent;
34
+ return sectionStroke;
35
+ }));
36
+ });
37
+ ProgressSections.displayName = 'ProgressSections';
38
+ export default ProgressSections;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export interface ProgressStrokeProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** The classPrefix passed from parent component */
4
+ classPrefix: string;
5
+ /** Percent of progress */
6
+ percent: number;
7
+ /** Line color */
8
+ color?: string;
9
+ /** Whether the progress bar is displayed vertically */
10
+ vertical?: boolean;
11
+ /** Children to be rendered inside the stroke */
12
+ children?: React.ReactNode;
13
+ /** Whether this is part of a multi-section progress bar */
14
+ isSection?: boolean;
15
+ /** Tooltip of this section */
16
+ tooltip?: React.ReactNode;
17
+ /** The percentage of the current section in the total progress bar */
18
+ countPercent?: number;
19
+ }
20
+ /**
21
+ * A single stroke component used within ProgressLine
22
+ */
23
+ declare const ProgressStroke: React.MemoExoticComponent<(props: ProgressStrokeProps) => React.JSX.Element>;
24
+ export default ProgressStroke;
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ import { useStyles } from "../internals/hooks/index.js";
4
+ import { mergeStyles } from "../internals/utils/index.js";
5
+ import Tooltip from "../Tooltip/index.js";
6
+ import Whisper from "../Whisper/index.js";
7
+ /**
8
+ * A single stroke component used within ProgressLine
9
+ */
10
+ const ProgressStroke = /*#__PURE__*/React.memo(props => {
11
+ const {
12
+ classPrefix,
13
+ percent,
14
+ color,
15
+ vertical,
16
+ children,
17
+ isSection,
18
+ tooltip,
19
+ style,
20
+ countPercent
21
+ } = props;
22
+ const {
23
+ prefix
24
+ } = useStyles(classPrefix);
25
+
26
+ // Build class names
27
+ const classes = prefix('stroke', {
28
+ section: isSection
29
+ });
30
+ const content = /*#__PURE__*/React.createElement("div", {
31
+ className: classes,
32
+ style: mergeStyles(style, {
33
+ width: vertical ? '100%' : `${percent}%`,
34
+ height: vertical ? `${percent}%` : '100%',
35
+ background: color,
36
+ bottom: vertical ? `${countPercent}%` : undefined
37
+ })
38
+ }, children);
39
+ return tooltip ? /*#__PURE__*/React.createElement(Whisper, {
40
+ trigger: "hover",
41
+ placement: "top",
42
+ speaker: /*#__PURE__*/React.createElement(Tooltip, null, tooltip)
43
+ }, content) : content;
44
+ });
45
+ ProgressStroke.displayName = 'ProgressStroke';
46
+ export default ProgressStroke;
@@ -1,7 +1,7 @@
1
1
  import Progress from './Progress';
2
- import ProgressCircle from './ProgressCircle';
2
+ import ProgressCircle from '../ProgressCircle';
3
3
  import ProgressLine from './ProgressLine';
4
- export type { ProgressCircleProps } from './ProgressCircle';
5
- export type { ProgressLineProps } from './ProgressLine';
4
+ export type { ProgressLineProps as ProgressProps } from './ProgressLine';
5
+ export type { ProgressSection } from './types';
6
6
  export { Progress, ProgressCircle, ProgressLine };
7
7
  export default Progress;
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import Progress from "./Progress.js";
3
- import ProgressCircle from "./ProgressCircle.js";
3
+ import ProgressCircle from "../ProgressCircle/index.js";
4
4
  import ProgressLine from "./ProgressLine.js";
5
5
 
6
6
  // export types
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ export interface ProgressSection {
3
+ /** Percent of this section */
4
+ percent: number;
5
+ /** Color of this section */
6
+ color: string;
7
+ /** Label of this section */
8
+ label?: React.ReactNode;
9
+ /** Tooltip of this section */
10
+ tooltip?: React.ReactNode;
11
+ }
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ export {};
@@ -1,29 +1,35 @@
1
+ import React from 'react';
1
2
  import { BoxProps } from '../internals/Box';
3
+ import type { ProgressSection } from '../Progress';
2
4
  export interface ProgressCircleProps extends BoxProps {
3
- /** Line color */
4
- strokeColor?: string;
5
- /** The end of different types of open paths */
6
- strokeLinecap?: 'butt' | 'round' | 'square';
7
- /** Tail color */
8
- trailColor?: string;
9
- /** Percent of progress */
10
- percent?: number;
11
- /** Line width */
12
- strokeWidth?: number;
13
- /** Tail width */
14
- trailWidth?: number;
15
5
  /** Circular progress bar degree */
16
6
  gapDegree?: number;
17
7
  /** Circular progress bar Notch position */
18
8
  gapPosition?: 'top' | 'bottom' | 'left' | 'right';
9
+ /** Percent of progress */
10
+ percent?: number;
19
11
  /** Show text */
20
12
  showInfo?: boolean;
21
13
  /** Progress status */
22
14
  status?: 'success' | 'fail' | 'active';
15
+ /** Line color */
16
+ strokeColor?: string;
17
+ /** The end of different types of open paths */
18
+ strokeLinecap?: 'butt' | 'round' | 'square';
19
+ /** Line width */
20
+ strokeWidth?: number;
21
+ /** Tail color */
22
+ trailColor?: string;
23
+ /** Tail width */
24
+ trailWidth?: number;
25
+ /** Multiple sections with different colors */
26
+ sections?: Pick<ProgressSection, 'percent' | 'color'>[];
27
+ /** Custom render function for info content */
28
+ renderInfo?: (percent: number, status?: 'success' | 'fail' | 'active') => React.ReactNode;
23
29
  }
24
30
  /**
25
- * The `Progress.Circle` component is used to display the progress of current operation.
26
- * @see https://rsuitejs.com/components/progress/#circle
31
+ * Display circular progress for an operation.
32
+ * @see https://rsuitejs.com/components/progress-circle
27
33
  */
28
34
  declare const ProgressCircle: import("../internals/types").InternalRefForwardingComponent<"div", ProgressCircleProps, never> & Record<string, never>;
29
35
  export default ProgressCircle;
@@ -0,0 +1,107 @@
1
+ 'use client';
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import React, { useMemo } from 'react';
4
+ import Box from "../internals/Box/index.js";
5
+ import ProgressInfo from "../Progress/ProgressInfo.js";
6
+ import ProgressCircleSections from "./ProgressCircleSections.js";
7
+ import useProgressCirclePath from "./hooks/useProgressCirclePath.js";
8
+ import { forwardRef } from "../internals/utils/index.js";
9
+ import { useStyles, useCustom } from "../internals/hooks/index.js";
10
+ /**
11
+ * Display circular progress for an operation.
12
+ * @see https://rsuitejs.com/components/progress-circle
13
+ */
14
+ const ProgressCircle = forwardRef((props, ref) => {
15
+ const {
16
+ propsWithDefaults
17
+ } = useCustom('ProgressCircle', props);
18
+ const {
19
+ as,
20
+ classPrefix = 'progress-circle',
21
+ className,
22
+ gapDegree = 0,
23
+ gapPosition = 'top',
24
+ percent = 0,
25
+ renderInfo,
26
+ showInfo = true,
27
+ status,
28
+ strokeColor,
29
+ strokeLinecap = 'round',
30
+ strokeWidth = 6,
31
+ style,
32
+ trailColor,
33
+ trailWidth = strokeWidth,
34
+ sections,
35
+ ...rest
36
+ } = propsWithDefaults;
37
+
38
+ // Calculate total percent from sections if provided
39
+ const totalPercent = useMemo(() => {
40
+ if (!sections) return percent;
41
+ return Math.min(100, sections.reduce((acc, section) => acc + section.percent, 0));
42
+ }, [percent, sections]);
43
+ const {
44
+ pathString,
45
+ trailPathStyle,
46
+ strokePathStyle
47
+ } = useProgressCirclePath({
48
+ gapDegree,
49
+ gapPosition,
50
+ totalPercent,
51
+ strokeColor,
52
+ strokeWidth,
53
+ trailColor
54
+ });
55
+ const {
56
+ prefix,
57
+ merge,
58
+ withPrefix
59
+ } = useStyles(classPrefix);
60
+ const classes = merge(className, withPrefix({
61
+ [`${status || ''}`]: !!status
62
+ }));
63
+ return /*#__PURE__*/React.createElement(Box, _extends({
64
+ as: as,
65
+ role: "progressbar",
66
+ "aria-valuemin": "0",
67
+ "aria-valuemax": "100",
68
+ "aria-valuenow": totalPercent,
69
+ ref: ref,
70
+ className: classes,
71
+ style: style
72
+ }, rest), showInfo && /*#__PURE__*/React.createElement(ProgressInfo, {
73
+ percent: totalPercent,
74
+ renderInfo: renderInfo,
75
+ status: status,
76
+ classPrefix: classPrefix
77
+ }), /*#__PURE__*/React.createElement("svg", {
78
+ className: prefix('svg'),
79
+ viewBox: "0 0 100 100"
80
+ }, /*#__PURE__*/React.createElement("path", {
81
+ className: prefix('trail'),
82
+ d: pathString,
83
+ strokeWidth: trailWidth || strokeWidth,
84
+ fillOpacity: "0",
85
+ style: trailPathStyle
86
+ }), sections ? /*#__PURE__*/React.createElement(ProgressCircleSections, {
87
+ classPrefix: classPrefix,
88
+ sections: sections,
89
+ pathString: pathString,
90
+ strokeLinecap: strokeLinecap,
91
+ strokeWidth: strokeWidth,
92
+ gapDegree: gapDegree,
93
+ totalPercent: totalPercent
94
+ }) :
95
+ /*#__PURE__*/
96
+ // Render single stroke
97
+ React.createElement("path", {
98
+ d: pathString,
99
+ strokeLinecap: strokeLinecap,
100
+ className: prefix('stroke'),
101
+ strokeWidth: totalPercent === 0 ? 0 : strokeWidth,
102
+ fillOpacity: "0",
103
+ style: strokePathStyle
104
+ })));
105
+ });
106
+ ProgressCircle.displayName = 'ProgressCircle';
107
+ export default ProgressCircle;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import type { ProgressSection } from '../Progress';
3
+ export interface ProgressCircleSectionsProps {
4
+ /** The classPrefix passed from parent component */
5
+ classPrefix: string;
6
+ /** Multiple sections with different colors */
7
+ sections: ProgressSection[];
8
+ /** Path string for the circle */
9
+ pathString: string;
10
+ /** Stroke line cap style */
11
+ strokeLinecap: 'butt' | 'round' | 'square';
12
+ /** Stroke width */
13
+ strokeWidth: number;
14
+ /** Gap degree */
15
+ gapDegree: number;
16
+ /** Total percent of all sections */
17
+ totalPercent: number;
18
+ }
19
+ /**
20
+ * A component to render multiple sections in a circular progress bar
21
+ */
22
+ declare const ProgressCircleSections: React.MemoExoticComponent<(props: ProgressCircleSectionsProps) => React.JSX.Element>;
23
+ export default ProgressCircleSections;
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ import { useStyles } from "../internals/hooks/index.js";
4
+ /**
5
+ * A component to render multiple sections in a circular progress bar
6
+ */
7
+ const ProgressCircleSections = /*#__PURE__*/React.memo(props => {
8
+ const {
9
+ classPrefix,
10
+ sections,
11
+ pathString,
12
+ strokeLinecap,
13
+ strokeWidth,
14
+ gapDegree,
15
+ totalPercent
16
+ } = props;
17
+ const {
18
+ prefix
19
+ } = useStyles(classPrefix);
20
+ let startPercent = 0;
21
+ return /*#__PURE__*/React.createElement(React.Fragment, null, sections.map((section, index) => {
22
+ const sectionLen = Math.PI * 2 * (50 - strokeWidth / 2);
23
+ const gapLength = gapDegree / 360 * sectionLen;
24
+ const sectionPercent = section.percent;
25
+ const endPercent = startPercent + sectionPercent;
26
+
27
+ // Calculate the stroke dash array and offset for this section
28
+ const sectionStyle = {
29
+ stroke: section.color,
30
+ strokeDasharray: `${sectionPercent / 100 * (sectionLen - gapLength)}px ${sectionLen}px`,
31
+ strokeDashoffset: `-${gapLength / 2 + startPercent / 100 * (sectionLen - gapLength)}px`
32
+ };
33
+ const sectionPath = /*#__PURE__*/React.createElement("path", {
34
+ key: index,
35
+ d: pathString,
36
+ strokeLinecap: strokeLinecap,
37
+ className: prefix('stroke'),
38
+ strokeWidth: totalPercent === 0 ? 0 : strokeWidth,
39
+ fillOpacity: "0",
40
+ style: sectionStyle
41
+ });
42
+ startPercent = endPercent;
43
+ return sectionPath;
44
+ }));
45
+ });
46
+ ProgressCircleSections.displayName = 'ProgressCircleSections';
47
+ export default ProgressCircleSections;
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ interface ProgressCirclePathOptions {
3
+ /** Circular progress bar degree */
4
+ gapDegree: number;
5
+ /** Circular progress bar Notch position */
6
+ gapPosition: 'top' | 'bottom' | 'left' | 'right';
7
+ /** Total percent of progress */
8
+ totalPercent: number;
9
+ /** Line color */
10
+ strokeColor?: string;
11
+ /** Line width */
12
+ strokeWidth: number;
13
+ /** Tail color */
14
+ trailColor?: string;
15
+ }
16
+ interface ProgressCirclePathResult {
17
+ /** SVG path string for the circle */
18
+ pathString: string;
19
+ /** Style object for the trail path */
20
+ trailPathStyle: React.CSSProperties;
21
+ /** Style object for the stroke path */
22
+ strokePathStyle: React.CSSProperties;
23
+ }
24
+ /**
25
+ * Custom hook to calculate path string and styles for ProgressCircle
26
+ */
27
+ declare const useProgressCirclePath: (options: ProgressCirclePathOptions) => ProgressCirclePathResult;
28
+ export default useProgressCirclePath;
@@ -0,0 +1,62 @@
1
+ 'use client';
2
+ import { useMemo } from 'react';
3
+ /**
4
+ * Custom hook to calculate path string and styles for ProgressCircle
5
+ */
6
+ const useProgressCirclePath = options => {
7
+ const {
8
+ gapDegree,
9
+ gapPosition,
10
+ totalPercent,
11
+ strokeColor,
12
+ strokeWidth,
13
+ trailColor
14
+ } = options;
15
+ return useMemo(() => {
16
+ const radius = 50 - strokeWidth / 2;
17
+ let x1 = 0;
18
+ let y1 = -radius;
19
+ let x2 = 0;
20
+ let y2 = -2 * radius;
21
+ switch (gapPosition) {
22
+ case 'left':
23
+ x1 = -radius;
24
+ y1 = 0;
25
+ x2 = 2 * radius;
26
+ y2 = 0;
27
+ break;
28
+ case 'right':
29
+ x1 = radius;
30
+ y1 = 0;
31
+ x2 = -2 * radius;
32
+ y2 = 0;
33
+ break;
34
+ case 'bottom':
35
+ y1 = radius;
36
+ y2 = 2 * radius;
37
+ break;
38
+ default:
39
+ // 'top' is the default, values are already set
40
+ }
41
+ const pathString = `M 50,50 m ${x1},${y1} a ${radius},${radius} 0 1 1 ${x2},${-y2} a ${radius},${radius} 0 1 1 ${-x2},${y2}`;
42
+ const len = Math.PI * 2 * radius;
43
+ // Convert gapDegree from degrees to a proportion of the circumference
44
+ const gapLength = gapDegree / 360 * len;
45
+ const trailPathStyle = {
46
+ stroke: trailColor,
47
+ strokeDasharray: `${len - gapLength}px ${len}px`,
48
+ strokeDashoffset: `-${gapLength / 2}px`
49
+ };
50
+ const strokePathStyle = {
51
+ stroke: strokeColor,
52
+ strokeDasharray: `${totalPercent / 100 * (len - gapLength)}px ${len}px`,
53
+ strokeDashoffset: `-${gapLength / 2}px`
54
+ };
55
+ return {
56
+ pathString,
57
+ trailPathStyle,
58
+ strokePathStyle
59
+ };
60
+ }, [gapDegree, gapPosition, totalPercent, strokeColor, strokeWidth, trailColor]);
61
+ };
62
+ export default useProgressCirclePath;
@@ -0,0 +1,4 @@
1
+ import ProgressCircle from './ProgressCircle';
2
+ export type { ProgressCircleProps } from './ProgressCircle';
3
+ export { ProgressCircle };
4
+ export default ProgressCircle;
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ import ProgressCircle from "./ProgressCircle.js";
3
+
4
+ // export types
5
+
6
+ // export components
7
+ export { ProgressCircle };
8
+ export default ProgressCircle;
@@ -300,7 +300,6 @@ const RangeSlider = forwardRef((props, ref) => {
300
300
  ref: barRef,
301
301
  onClick: handleBarClick
302
302
  }, progress && /*#__PURE__*/React.createElement(ProgressBar, {
303
- rtl: rtl,
304
303
  vertical: vertical,
305
304
  start: (value[0] - min) / (max - min) * 100,
306
305
  end: (value[1] - min) / (max - min) * 100