rsuite 6.0.0-canary-20250507 → 6.0.0-canary-2025062016

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