rsuite 6.0.0-canary-2025032014 → 6.0.0-canary-20250416

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 (484) hide show
  1. package/AutoComplete/styles/index.css +112 -62
  2. package/AutoComplete/styles/index.less +1 -1
  3. package/Box/styles/index.css +12 -0
  4. package/CHANGELOG.md +24 -0
  5. package/Calendar/styles/index.css +11 -9
  6. package/Calendar/styles/index.less +3 -1
  7. package/Cascader/styles/index.css +112 -62
  8. package/CheckPicker/styles/index.css +112 -62
  9. package/CheckPicker/styles/index.less +1 -1
  10. package/CheckTree/styles/index.css +113 -63
  11. package/CheckTree/styles/index.less +1 -1
  12. package/CheckTreePicker/styles/index.css +113 -63
  13. package/DateInput/styles/index.css +0 -7
  14. package/DatePicker/styles/index.css +122 -74
  15. package/DatePicker/styles/index.less +5 -11
  16. package/DateRangeInput/styles/index.css +0 -7
  17. package/DateRangePicker/styles/index.css +132 -78
  18. package/DateRangePicker/styles/index.less +10 -4
  19. package/Divider/styles/index.css +2 -2
  20. package/Divider/styles/index.less +2 -2
  21. package/Grid/styles/columns.less +1 -2
  22. package/Grid/styles/grid-framework.less +1 -0
  23. package/Grid/styles/index.css +9 -4
  24. package/Grid/styles/row.less +2 -2
  25. package/Input/styles/index.css +0 -7
  26. package/Input/styles/index.less +0 -6
  27. package/Input/styles/mixin.less +0 -4
  28. package/InputGroup/styles/index.css +1 -1
  29. package/InputGroup/styles/index.less +1 -1
  30. package/InputNumber/styles/index.css +1 -8
  31. package/InputPicker/styles/index.css +121 -70
  32. package/InputPicker/styles/index.less +4 -4
  33. package/Link/package.json +7 -0
  34. package/Link/styles/index.css +32 -0
  35. package/Link/styles/index.less +39 -0
  36. package/Message/styles/index.css +9 -0
  37. package/Message/styles/index.less +11 -0
  38. package/MultiCascadeTree/styles/index.css +112 -62
  39. package/MultiCascader/styles/index.css +112 -62
  40. package/Nav/styles/index.css +1 -0
  41. package/Nav/styles/index.less +1 -0
  42. package/Pagination/styles/index.css +114 -64
  43. package/PasswordInput/package.json +7 -0
  44. package/PasswordInput/styles/index.css +172 -0
  45. package/PasswordInput/styles/index.less +1 -0
  46. package/PasswordStrengthMeter/package.json +7 -0
  47. package/PasswordStrengthMeter/styles/index.css +33 -0
  48. package/PasswordStrengthMeter/styles/index.less +39 -0
  49. package/README.md +3 -3
  50. package/RadioGroup/styles/index.css +1 -0
  51. package/RadioGroup/styles/index.less +1 -0
  52. package/RangeSlider/styles/index.css +76 -43
  53. package/Rate/styles/index.css +48 -34
  54. package/Rate/styles/index.less +32 -21
  55. package/SelectPicker/styles/index.css +112 -62
  56. package/SelectPicker/styles/index.less +1 -1
  57. package/Slider/styles/index.css +76 -43
  58. package/Slider/styles/index.less +95 -48
  59. package/Tabs/styles/index.css +1 -0
  60. package/TagInput/styles/index.css +152 -91
  61. package/TagInput/styles/index.less +1 -1
  62. package/TagPicker/styles/index.css +151 -90
  63. package/TagPicker/styles/index.less +52 -41
  64. package/Textarea/package.json +7 -0
  65. package/Textarea/styles/index.css +6 -0
  66. package/Textarea/styles/index.less +7 -0
  67. package/TimePicker/styles/index.css +122 -74
  68. package/TimeRangePicker/styles/index.css +132 -78
  69. package/Toggle/styles/index.css +146 -87
  70. package/Toggle/styles/index.less +66 -38
  71. package/Tree/styles/index.css +113 -63
  72. package/Tree/styles/index.less +1 -1
  73. package/TreePicker/styles/index.css +113 -63
  74. package/cjs/AutoComplete/AutoComplete.d.ts +1 -1
  75. package/cjs/AutoComplete/AutoComplete.js +13 -11
  76. package/cjs/Avatar/Avatar.d.ts +3 -4
  77. package/cjs/Breadcrumb/Breadcrumb.js +2 -2
  78. package/cjs/Breadcrumb/BreadcrumbItem.js +1 -1
  79. package/cjs/Button/Button.js +9 -10
  80. package/cjs/Calendar/CalendarProvider.js +0 -0
  81. package/cjs/Calendar/hooks/useCalendar.js +0 -0
  82. package/cjs/Carousel/Carousel.js +2 -2
  83. package/cjs/Cascader/Cascader.js +42 -45
  84. package/cjs/Cascader/useActive.d.ts +6 -4
  85. package/cjs/Cascader/useActive.js +10 -8
  86. package/cjs/CheckPicker/CheckPicker.js +38 -41
  87. package/cjs/CheckTreePicker/CheckTreePicker.js +20 -22
  88. package/cjs/CustomProvider/CustomProvider.d.ts +1 -4
  89. package/cjs/CustomProvider/types.d.ts +10 -2
  90. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  91. package/cjs/DatePicker/DatePicker.js +28 -25
  92. package/cjs/DatePicker/utils.d.ts +3 -3
  93. package/cjs/DatePicker/utils.js +3 -3
  94. package/cjs/DateRangePicker/DateRangePicker.js +39 -33
  95. package/cjs/DateRangePicker/utils.js +0 -0
  96. package/cjs/Divider/Divider.d.ts +3 -2
  97. package/cjs/Divider/Divider.js +2 -2
  98. package/cjs/Form/hooks/useFormValidate.js +0 -0
  99. package/cjs/Form/hooks/useSchemaModel.js +2 -54
  100. package/cjs/Form/utils/constructFlatSchema.d.ts +4 -0
  101. package/cjs/Form/utils/constructFlatSchema.js +41 -0
  102. package/cjs/FormControl/hooks/useField.js +0 -0
  103. package/cjs/FormControl/utils.js +0 -0
  104. package/cjs/Grid/Row.d.ts +2 -2
  105. package/cjs/Grid/Row.js +2 -20
  106. package/cjs/Grid/types.d.ts +1 -0
  107. package/cjs/Grid/utils/styles.d.ts +6 -0
  108. package/cjs/Grid/utils/styles.js +43 -0
  109. package/cjs/Image/Image.js +12 -11
  110. package/cjs/Image/hooks/useImage.d.ts +2 -0
  111. package/cjs/Image/hooks/useImage.js +19 -43
  112. package/cjs/InlineEdit/InlineEdit.js +3 -1
  113. package/cjs/InlineEdit/useEditState.d.ts +2 -0
  114. package/cjs/InlineEdit/useEditState.js +8 -0
  115. package/cjs/Input/Input.d.ts +3 -12
  116. package/cjs/Input/Input.js +12 -73
  117. package/cjs/InputPicker/InputPicker.js +27 -28
  118. package/cjs/Link/ExternalLinkIcon.d.ts +3 -0
  119. package/cjs/Link/ExternalLinkIcon.js +23 -0
  120. package/cjs/Link/Link.d.ts +14 -0
  121. package/cjs/Link/Link.js +52 -0
  122. package/cjs/Link/index.d.ts +4 -0
  123. package/cjs/Link/index.js +11 -0
  124. package/cjs/List/List.js +6 -2
  125. package/cjs/List/helper/useSortHelper.d.ts +7 -5
  126. package/cjs/List/helper/useSortHelper.js +109 -16
  127. package/cjs/List/helper/utils.js +14 -6
  128. package/cjs/MultiCascader/MultiCascader.js +40 -43
  129. package/cjs/Nav/NavItem.js +1 -1
  130. package/cjs/Nav/NavMegaMenu.d.ts +5 -0
  131. package/cjs/Nav/NavMegaMenu.js +5 -0
  132. package/cjs/Navbar/NavbarItem.js +1 -1
  133. package/cjs/Navbar/NavbarMegaMenu.js +1 -1
  134. package/cjs/PasswordInput/PasswordInput.d.ts +14 -0
  135. package/cjs/PasswordInput/PasswordInput.js +71 -0
  136. package/cjs/PasswordInput/index.d.ts +4 -0
  137. package/cjs/PasswordInput/index.js +11 -0
  138. package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
  139. package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.js +50 -0
  140. package/cjs/PasswordStrengthMeter/index.d.ts +4 -0
  141. package/cjs/PasswordStrengthMeter/index.js +11 -0
  142. package/cjs/RangeSlider/RangeSlider.js +18 -3
  143. package/cjs/Rate/Character.d.ts +4 -3
  144. package/cjs/Rate/Character.js +19 -15
  145. package/cjs/Rate/Rate.d.ts +10 -2
  146. package/cjs/Rate/Rate.js +47 -42
  147. package/cjs/Rate/types.d.ts +8 -0
  148. package/cjs/Rate/types.js +4 -0
  149. package/cjs/Rate/useRatingStates.d.ts +20 -0
  150. package/cjs/Rate/useRatingStates.js +48 -0
  151. package/cjs/Rate/utils.d.ts +14 -3
  152. package/cjs/Rate/utils.js +50 -9
  153. package/cjs/SelectPicker/SelectPicker.js +45 -46
  154. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +1 -1
  155. package/cjs/Sidenav/SidenavItem.js +1 -1
  156. package/cjs/Slider/Graduated.d.ts +4 -0
  157. package/cjs/Slider/Graduated.js +43 -20
  158. package/cjs/Slider/Handle.d.ts +1 -1
  159. package/cjs/Slider/Handle.js +12 -12
  160. package/cjs/Slider/Slider.d.ts +16 -1
  161. package/cjs/Slider/Slider.js +7 -2
  162. package/cjs/Slider/useDrag.d.ts +1 -0
  163. package/cjs/Slider/useDrag.js +8 -3
  164. package/cjs/Steps/Steps.js +2 -2
  165. package/cjs/Tabs/Tabs.js +2 -2
  166. package/cjs/Textarea/Textarea.d.ts +32 -0
  167. package/cjs/Textarea/Textarea.js +51 -0
  168. package/cjs/Textarea/index.d.ts +4 -0
  169. package/cjs/Textarea/index.js +11 -0
  170. package/cjs/Timeline/Timeline.js +2 -2
  171. package/cjs/Toggle/Toggle.d.ts +10 -1
  172. package/cjs/Toggle/Toggle.js +12 -9
  173. package/cjs/TreePicker/TreePicker.js +18 -19
  174. package/cjs/index.d.ts +4 -1
  175. package/cjs/index.js +24 -6
  176. package/cjs/internals/Box/Box.d.ts +4 -0
  177. package/cjs/internals/Box/Box.js +1 -1
  178. package/cjs/internals/Box/utils.js +5 -1
  179. package/cjs/internals/InputBase/InputBase.d.ts +45 -0
  180. package/cjs/internals/InputBase/InputBase.js +96 -0
  181. package/cjs/internals/InputBase/index.d.ts +3 -0
  182. package/cjs/internals/InputBase/index.js +8 -0
  183. package/cjs/internals/Overlay/Modal.d.ts +1 -1
  184. package/cjs/internals/Overlay/OverlayTrigger.d.ts +4 -3
  185. package/cjs/internals/Overlay/OverlayTrigger.js +8 -3
  186. package/cjs/internals/Picker/Listbox.js +7 -9
  187. package/cjs/internals/Picker/PickerDrawer.d.ts +8 -0
  188. package/cjs/internals/Picker/PickerDrawer.js +31 -0
  189. package/cjs/internals/Picker/PickerPopup.js +5 -3
  190. package/cjs/internals/Picker/PickerToggle.d.ts +1 -0
  191. package/cjs/internals/Picker/PickerToggle.js +10 -3
  192. package/cjs/internals/Picker/PickerToggleTrigger.d.ts +51 -11
  193. package/cjs/internals/Picker/PickerToggleTrigger.js +59 -13
  194. package/cjs/internals/Picker/hooks/index.d.ts +0 -1
  195. package/cjs/internals/Picker/hooks/index.js +2 -4
  196. package/cjs/internals/Picker/hooks/useCombobox.d.ts +1 -0
  197. package/cjs/internals/Picker/hooks/useCombobox.js +3 -1
  198. package/cjs/internals/Picker/index.d.ts +1 -2
  199. package/cjs/internals/Picker/index.js +10 -12
  200. package/{esm → cjs/internals}/SafeAnchor/SafeAnchor.d.ts +2 -2
  201. package/cjs/{SafeAnchor → internals/SafeAnchor}/SafeAnchor.js +3 -3
  202. package/cjs/internals/Tree/TreeView.js +3 -4
  203. package/cjs/internals/hooks/useRootClose.js +4 -4
  204. package/cjs/internals/index.d.ts +4 -0
  205. package/cjs/internals/index.js +13 -1
  206. package/cjs/internals/types/html.d.ts +2 -0
  207. package/cjs/internals/utils/{dom.d.ts → html/dom.d.ts} +1 -0
  208. package/cjs/internals/utils/{dom.js → html/dom.js} +8 -0
  209. package/cjs/internals/utils/{events.js → html/events.js} +0 -0
  210. package/cjs/internals/utils/{htmlPropsUtils.js → html/htmlPropsUtils.js} +0 -0
  211. package/cjs/internals/utils/html/index.d.ts +4 -0
  212. package/cjs/internals/utils/html/index.js +28 -0
  213. package/cjs/internals/utils/{safeSetSelection.js → html/safeSetSelection.js} +1 -1
  214. package/cjs/internals/utils/index.d.ts +3 -15
  215. package/cjs/internals/utils/index.js +20 -49
  216. package/cjs/internals/utils/{ReactChildren.d.ts → react/ReactChildren.d.ts} +2 -8
  217. package/cjs/internals/utils/{ReactChildren.js → react/ReactChildren.js} +5 -25
  218. package/cjs/internals/utils/react/ReactIs.d.ts +7 -0
  219. package/cjs/internals/utils/react/ReactIs.js +26 -0
  220. package/{esm/internals/utils → cjs/internals/utils/react}/createComponent.d.ts +2 -2
  221. package/cjs/internals/utils/{createComponent.js → react/createComponent.js} +3 -3
  222. package/cjs/internals/utils/{deprecateComponent.js → react/deprecateComponent.js} +1 -1
  223. package/cjs/internals/utils/{forwardRef.d.ts → react/forwardRef.d.ts} +1 -1
  224. package/cjs/internals/utils/react/index.d.ts +7 -0
  225. package/cjs/internals/utils/react/index.js +46 -0
  226. package/cjs/internals/utils/{mergeRefs.js → react/mergeRefs.js} +0 -0
  227. package/cjs/internals/utils/{getStringLength.d.ts → string/getStringLength.d.ts} +0 -1
  228. package/cjs/internals/utils/{getStringLength.js → string/getStringLength.js} +1 -3
  229. package/cjs/internals/utils/string/index.d.ts +4 -0
  230. package/cjs/internals/utils/string/index.js +28 -0
  231. package/cjs/internals/utils/{stringifyReactNode.js → string/stringifyReactNode.js} +0 -0
  232. package/cjs/internals/utils/{tplTransform.js → string/tplTransform.js} +0 -0
  233. package/cjs/locales/en_GB.js +2 -2
  234. package/cjs/locales/en_US.js +2 -2
  235. package/cjs/locales/index.js +0 -0
  236. package/cjs/locales/pl_PL.js +2 -3
  237. package/cjs/useBreakpointValue/useBreakpointValue.d.ts +6 -2
  238. package/cjs/useBreakpointValue/useBreakpointValue.js +9 -4
  239. package/cjs/useMediaQuery/breakpoints.d.ts +24 -0
  240. package/cjs/useMediaQuery/breakpoints.js +248 -0
  241. package/cjs/useMediaQuery/index.d.ts +1 -1
  242. package/cjs/useMediaQuery/types.d.ts +45 -0
  243. package/cjs/useMediaQuery/types.js +4 -0
  244. package/cjs/useMediaQuery/useMediaQuery.d.ts +4 -13
  245. package/cjs/useMediaQuery/useMediaQuery.js +30 -12
  246. package/cjs/useToaster/useToaster.d.ts +1 -1
  247. package/cjs/useToaster/useToaster.js +1 -1
  248. package/dist/rsuite-no-reset-rtl.css +565 -276
  249. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  250. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  251. package/dist/rsuite-no-reset.css +565 -276
  252. package/dist/rsuite-no-reset.min.css +1 -1
  253. package/dist/rsuite-no-reset.min.css.map +1 -1
  254. package/dist/rsuite-rtl.css +565 -276
  255. package/dist/rsuite-rtl.min.css +1 -1
  256. package/dist/rsuite-rtl.min.css.map +1 -1
  257. package/dist/rsuite.css +565 -276
  258. package/dist/rsuite.js +508 -211
  259. package/dist/rsuite.js.map +1 -1
  260. package/dist/rsuite.min.css +1 -1
  261. package/dist/rsuite.min.css.map +1 -1
  262. package/dist/rsuite.min.js +1 -1
  263. package/dist/rsuite.min.js.map +1 -1
  264. package/esm/AutoComplete/AutoComplete.d.ts +1 -1
  265. package/esm/AutoComplete/AutoComplete.js +13 -11
  266. package/esm/Avatar/Avatar.d.ts +3 -4
  267. package/esm/Breadcrumb/Breadcrumb.js +3 -3
  268. package/esm/Breadcrumb/BreadcrumbItem.js +1 -1
  269. package/esm/Button/Button.js +10 -11
  270. package/esm/Calendar/CalendarProvider.js +0 -0
  271. package/esm/Calendar/hooks/useCalendar.js +0 -0
  272. package/esm/Carousel/Carousel.js +3 -3
  273. package/esm/Cascader/Cascader.js +43 -46
  274. package/esm/Cascader/useActive.d.ts +6 -4
  275. package/esm/Cascader/useActive.js +10 -8
  276. package/esm/CheckPicker/CheckPicker.js +39 -42
  277. package/esm/CheckTreePicker/CheckTreePicker.js +21 -23
  278. package/esm/CustomProvider/CustomProvider.d.ts +1 -4
  279. package/esm/CustomProvider/types.d.ts +10 -2
  280. package/esm/DatePicker/DatePicker.d.ts +1 -1
  281. package/esm/DatePicker/DatePicker.js +29 -26
  282. package/esm/DatePicker/utils.d.ts +3 -3
  283. package/esm/DatePicker/utils.js +4 -4
  284. package/esm/DateRangePicker/DateRangePicker.js +35 -29
  285. package/esm/DateRangePicker/utils.js +0 -0
  286. package/esm/Divider/Divider.d.ts +3 -2
  287. package/esm/Divider/Divider.js +2 -2
  288. package/esm/Form/hooks/useFormValidate.js +0 -0
  289. package/esm/Form/hooks/useSchemaModel.js +3 -55
  290. package/esm/Form/utils/constructFlatSchema.d.ts +4 -0
  291. package/esm/Form/utils/constructFlatSchema.js +37 -0
  292. package/esm/FormControl/hooks/useField.js +0 -0
  293. package/esm/FormControl/utils.js +0 -0
  294. package/esm/Grid/Row.d.ts +2 -2
  295. package/esm/Grid/Row.js +2 -20
  296. package/esm/Grid/types.d.ts +1 -0
  297. package/esm/Grid/utils/styles.d.ts +6 -0
  298. package/esm/Grid/utils/styles.js +37 -0
  299. package/esm/Image/Image.js +12 -11
  300. package/esm/Image/hooks/useImage.d.ts +2 -0
  301. package/esm/Image/hooks/useImage.js +20 -43
  302. package/esm/InlineEdit/InlineEdit.js +3 -1
  303. package/esm/InlineEdit/useEditState.d.ts +2 -0
  304. package/esm/InlineEdit/useEditState.js +8 -0
  305. package/esm/Input/Input.d.ts +3 -12
  306. package/esm/Input/Input.js +12 -74
  307. package/esm/InputPicker/InputPicker.js +28 -29
  308. package/esm/Link/ExternalLinkIcon.d.ts +3 -0
  309. package/esm/Link/ExternalLinkIcon.js +18 -0
  310. package/esm/Link/Link.d.ts +14 -0
  311. package/esm/Link/Link.js +47 -0
  312. package/esm/Link/index.d.ts +4 -0
  313. package/esm/Link/index.js +8 -0
  314. package/esm/List/List.js +6 -2
  315. package/esm/List/helper/useSortHelper.d.ts +7 -5
  316. package/esm/List/helper/useSortHelper.js +109 -16
  317. package/esm/List/helper/utils.js +14 -6
  318. package/esm/MultiCascader/MultiCascader.js +41 -44
  319. package/esm/Nav/NavItem.js +1 -1
  320. package/esm/Nav/NavMegaMenu.d.ts +5 -0
  321. package/esm/Nav/NavMegaMenu.js +5 -0
  322. package/esm/Navbar/NavbarItem.js +1 -1
  323. package/esm/Navbar/NavbarMegaMenu.js +1 -1
  324. package/esm/PasswordInput/PasswordInput.d.ts +14 -0
  325. package/esm/PasswordInput/PasswordInput.js +66 -0
  326. package/esm/PasswordInput/index.d.ts +4 -0
  327. package/esm/PasswordInput/index.js +8 -0
  328. package/esm/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
  329. package/esm/PasswordStrengthMeter/PasswordStrengthMeter.js +45 -0
  330. package/esm/PasswordStrengthMeter/index.d.ts +4 -0
  331. package/esm/PasswordStrengthMeter/index.js +8 -0
  332. package/esm/RangeSlider/RangeSlider.js +18 -3
  333. package/esm/Rate/Character.d.ts +4 -3
  334. package/esm/Rate/Character.js +20 -16
  335. package/esm/Rate/Rate.d.ts +10 -2
  336. package/esm/Rate/Rate.js +49 -42
  337. package/esm/Rate/types.d.ts +8 -0
  338. package/esm/Rate/types.js +2 -0
  339. package/esm/Rate/useRatingStates.d.ts +20 -0
  340. package/esm/Rate/useRatingStates.js +43 -0
  341. package/esm/Rate/utils.d.ts +14 -3
  342. package/esm/Rate/utils.js +46 -7
  343. package/esm/SelectPicker/SelectPicker.js +46 -47
  344. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +1 -1
  345. package/esm/Sidenav/SidenavItem.js +1 -1
  346. package/esm/Slider/Graduated.d.ts +4 -0
  347. package/esm/Slider/Graduated.js +43 -20
  348. package/esm/Slider/Handle.d.ts +1 -1
  349. package/esm/Slider/Handle.js +12 -12
  350. package/esm/Slider/Slider.d.ts +16 -1
  351. package/esm/Slider/Slider.js +7 -2
  352. package/esm/Slider/useDrag.d.ts +1 -0
  353. package/esm/Slider/useDrag.js +8 -3
  354. package/esm/Steps/Steps.js +3 -3
  355. package/esm/Tabs/Tabs.js +3 -3
  356. package/esm/Textarea/Textarea.d.ts +32 -0
  357. package/esm/Textarea/Textarea.js +46 -0
  358. package/esm/Textarea/index.d.ts +4 -0
  359. package/esm/Textarea/index.js +8 -0
  360. package/esm/Timeline/Timeline.js +3 -3
  361. package/esm/Toggle/Toggle.d.ts +10 -1
  362. package/esm/Toggle/Toggle.js +12 -9
  363. package/esm/TreePicker/TreePicker.js +19 -20
  364. package/esm/index.d.ts +4 -1
  365. package/esm/index.js +4 -1
  366. package/esm/internals/Box/Box.d.ts +4 -0
  367. package/esm/internals/Box/Box.js +1 -1
  368. package/esm/internals/Box/utils.js +5 -1
  369. package/esm/internals/InputBase/InputBase.d.ts +45 -0
  370. package/esm/internals/InputBase/InputBase.js +89 -0
  371. package/esm/internals/InputBase/index.d.ts +3 -0
  372. package/esm/internals/InputBase/index.js +3 -0
  373. package/esm/internals/Overlay/Modal.d.ts +1 -1
  374. package/esm/internals/Overlay/OverlayTrigger.d.ts +4 -3
  375. package/esm/internals/Overlay/OverlayTrigger.js +8 -2
  376. package/esm/internals/Picker/Listbox.js +8 -10
  377. package/esm/internals/Picker/PickerDrawer.d.ts +8 -0
  378. package/esm/internals/Picker/PickerDrawer.js +26 -0
  379. package/esm/internals/Picker/PickerPopup.js +5 -3
  380. package/esm/internals/Picker/PickerToggle.d.ts +1 -0
  381. package/esm/internals/Picker/PickerToggle.js +10 -3
  382. package/esm/internals/Picker/PickerToggleTrigger.d.ts +51 -11
  383. package/esm/internals/Picker/PickerToggleTrigger.js +59 -12
  384. package/esm/internals/Picker/hooks/index.d.ts +0 -1
  385. package/esm/internals/Picker/hooks/index.js +1 -2
  386. package/esm/internals/Picker/hooks/useCombobox.d.ts +1 -0
  387. package/esm/internals/Picker/hooks/useCombobox.js +3 -1
  388. package/esm/internals/Picker/index.d.ts +1 -2
  389. package/esm/internals/Picker/index.js +1 -2
  390. package/{cjs → esm/internals}/SafeAnchor/SafeAnchor.d.ts +2 -2
  391. package/esm/{SafeAnchor → internals/SafeAnchor}/SafeAnchor.js +3 -3
  392. package/esm/internals/Tree/TreeView.js +4 -5
  393. package/esm/internals/hooks/useRootClose.js +1 -1
  394. package/esm/internals/index.d.ts +4 -0
  395. package/esm/internals/index.js +5 -0
  396. package/esm/internals/types/html.d.ts +2 -0
  397. package/esm/internals/utils/{dom.d.ts → html/dom.d.ts} +1 -0
  398. package/esm/internals/utils/{dom.js → html/dom.js} +7 -0
  399. package/esm/internals/utils/{events.js → html/events.js} +0 -0
  400. package/esm/internals/utils/{htmlPropsUtils.js → html/htmlPropsUtils.js} +0 -0
  401. package/esm/internals/utils/html/index.d.ts +4 -0
  402. package/esm/internals/utils/html/index.js +5 -0
  403. package/esm/internals/utils/{safeSetSelection.js → html/safeSetSelection.js} +1 -1
  404. package/esm/internals/utils/index.d.ts +3 -15
  405. package/esm/internals/utils/index.js +3 -14
  406. package/esm/internals/utils/{ReactChildren.d.ts → react/ReactChildren.d.ts} +2 -8
  407. package/esm/internals/utils/{ReactChildren.js → react/ReactChildren.js} +3 -21
  408. package/esm/internals/utils/react/ReactIs.d.ts +7 -0
  409. package/esm/internals/utils/react/ReactIs.js +22 -0
  410. package/{cjs/internals/utils → esm/internals/utils/react}/createComponent.d.ts +2 -2
  411. package/esm/internals/utils/{createComponent.js → react/createComponent.js} +3 -3
  412. package/esm/internals/utils/{deprecateComponent.js → react/deprecateComponent.js} +1 -1
  413. package/esm/internals/utils/{forwardRef.d.ts → react/forwardRef.d.ts} +1 -1
  414. package/esm/internals/utils/react/index.d.ts +7 -0
  415. package/esm/internals/utils/react/index.js +8 -0
  416. package/esm/internals/utils/{mergeRefs.js → react/mergeRefs.js} +0 -0
  417. package/esm/internals/utils/{getStringLength.d.ts → string/getStringLength.d.ts} +0 -1
  418. package/esm/internals/utils/{getStringLength.js → string/getStringLength.js} +1 -2
  419. package/esm/internals/utils/string/index.d.ts +4 -0
  420. package/esm/internals/utils/string/index.js +5 -0
  421. package/esm/internals/utils/{stringifyReactNode.js → string/stringifyReactNode.js} +0 -0
  422. package/esm/internals/utils/{tplTransform.js → string/tplTransform.js} +0 -0
  423. package/esm/locales/en_GB.js +2 -2
  424. package/esm/locales/en_US.js +2 -2
  425. package/esm/locales/index.js +0 -0
  426. package/esm/locales/pl_PL.js +1 -1
  427. package/esm/useBreakpointValue/useBreakpointValue.d.ts +6 -2
  428. package/esm/useBreakpointValue/useBreakpointValue.js +9 -4
  429. package/esm/useMediaQuery/breakpoints.d.ts +24 -0
  430. package/esm/useMediaQuery/breakpoints.js +244 -0
  431. package/esm/useMediaQuery/index.d.ts +1 -1
  432. package/esm/useMediaQuery/types.d.ts +45 -0
  433. package/esm/useMediaQuery/types.js +2 -0
  434. package/esm/useMediaQuery/useMediaQuery.d.ts +4 -13
  435. package/esm/useMediaQuery/useMediaQuery.js +29 -11
  436. package/esm/useToaster/useToaster.d.ts +1 -1
  437. package/esm/useToaster/useToaster.js +1 -1
  438. package/internals/Box/styles/index.less +4 -0
  439. package/internals/Picker/styles/index.less +105 -23
  440. package/internals/Picker/styles/mixin.less +6 -6
  441. package/package.json +3 -2
  442. package/styles/color-modes/dark.less +2 -2
  443. package/styles/color-modes/high-contrast.less +2 -2
  444. package/styles/color-modes/light.less +2 -2
  445. package/styles/index.less +3 -0
  446. package/styles/root.less +2 -0
  447. package/styles/variables.less +0 -24
  448. package/SafeAnchor/package.json +0 -7
  449. package/cjs/Form/hooks/useFormClassNames.d.ts +0 -5
  450. package/cjs/Form/hooks/useFormClassNames.js +0 -29
  451. package/cjs/internals/Picker/hooks/usePickerClassName.d.ts +0 -19
  452. package/cjs/internals/Picker/hooks/usePickerClassName.js +0 -45
  453. package/esm/Form/hooks/useFormClassNames.d.ts +0 -5
  454. package/esm/Form/hooks/useFormClassNames.js +0 -25
  455. package/esm/internals/Picker/hooks/usePickerClassName.d.ts +0 -19
  456. package/esm/internals/Picker/hooks/usePickerClassName.js +0 -40
  457. /package/cjs/{SafeAnchor → internals/SafeAnchor}/index.d.ts +0 -0
  458. /package/cjs/{SafeAnchor → internals/SafeAnchor}/index.js +0 -0
  459. /package/cjs/internals/utils/{events.d.ts → html/events.d.ts} +0 -0
  460. /package/cjs/internals/utils/{htmlPropsUtils.d.ts → html/htmlPropsUtils.d.ts} +0 -0
  461. /package/cjs/internals/utils/{safeSetSelection.d.ts → html/safeSetSelection.d.ts} +0 -0
  462. /package/cjs/internals/utils/{deprecateComponent.d.ts → react/deprecateComponent.d.ts} +0 -0
  463. /package/cjs/internals/utils/{forwardRef.js → react/forwardRef.js} +0 -0
  464. /package/cjs/internals/utils/{getDOMNode.d.ts → react/getDOMNode.d.ts} +0 -0
  465. /package/cjs/internals/utils/{getDOMNode.js → react/getDOMNode.js} +0 -0
  466. /package/cjs/internals/utils/{mergeRefs.d.ts → react/mergeRefs.d.ts} +0 -0
  467. /package/cjs/internals/utils/{getSafeRegExpString.d.ts → string/getSafeRegExpString.d.ts} +0 -0
  468. /package/cjs/internals/utils/{getSafeRegExpString.js → string/getSafeRegExpString.js} +0 -0
  469. /package/cjs/internals/utils/{stringifyReactNode.d.ts → string/stringifyReactNode.d.ts} +0 -0
  470. /package/cjs/internals/utils/{tplTransform.d.ts → string/tplTransform.d.ts} +0 -0
  471. /package/esm/{SafeAnchor → internals/SafeAnchor}/index.d.ts +0 -0
  472. /package/esm/{SafeAnchor → internals/SafeAnchor}/index.js +0 -0
  473. /package/esm/internals/utils/{events.d.ts → html/events.d.ts} +0 -0
  474. /package/esm/internals/utils/{htmlPropsUtils.d.ts → html/htmlPropsUtils.d.ts} +0 -0
  475. /package/esm/internals/utils/{safeSetSelection.d.ts → html/safeSetSelection.d.ts} +0 -0
  476. /package/esm/internals/utils/{deprecateComponent.d.ts → react/deprecateComponent.d.ts} +0 -0
  477. /package/esm/internals/utils/{forwardRef.js → react/forwardRef.js} +0 -0
  478. /package/esm/internals/utils/{getDOMNode.d.ts → react/getDOMNode.d.ts} +0 -0
  479. /package/esm/internals/utils/{getDOMNode.js → react/getDOMNode.js} +0 -0
  480. /package/esm/internals/utils/{mergeRefs.d.ts → react/mergeRefs.d.ts} +0 -0
  481. /package/esm/internals/utils/{getSafeRegExpString.d.ts → string/getSafeRegExpString.d.ts} +0 -0
  482. /package/esm/internals/utils/{getSafeRegExpString.js → string/getSafeRegExpString.js} +0 -0
  483. /package/esm/internals/utils/{stringifyReactNode.d.ts → string/stringifyReactNode.d.ts} +0 -0
  484. /package/esm/internals/utils/{tplTransform.d.ts → string/tplTransform.d.ts} +0 -0
@@ -2,7 +2,7 @@
2
2
  import React, { useCallback, useContext } from 'react';
3
3
  import isNil from 'lodash/isNil';
4
4
  import Ripple from "../internals/Ripple/index.js";
5
- import SafeAnchor from "../SafeAnchor/index.js";
5
+ import SafeAnchor from "../internals/SafeAnchor/index.js";
6
6
  import NavContext from "../Nav/NavContext.js";
7
7
  import { forwardRef, createChainedFunction, shallowEqual } from "../internals/utils/index.js";
8
8
  import { useStyles } from "../internals/hooks/index.js";
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import React, { useContext, useCallback } from 'react';
4
4
  import classNames from 'classnames';
5
5
  import isNil from 'lodash/isNil';
6
- import SafeAnchor from "../SafeAnchor/index.js";
6
+ import SafeAnchor from "../internals/SafeAnchor/index.js";
7
7
  import NavContext from "../Nav/NavContext.js";
8
8
  import MenuItem from "../internals/Menu/MenuItem.js";
9
9
  import omit from 'lodash/omit';
@@ -6,6 +6,10 @@ export interface GraduatedProps extends BoxProps {
6
6
  max: number;
7
7
  count: number;
8
8
  value: number | number[];
9
+ marks?: {
10
+ value: number;
11
+ label: React.ReactNode;
12
+ }[];
9
13
  renderMark?: (mark: number) => React.ReactNode;
10
14
  }
11
15
  declare const Graduated: import("../internals/types").InternalRefForwardingComponent<"div", GraduatedProps, never> & Record<string, never>;
@@ -16,12 +16,14 @@ const Graduated = forwardRef((props, ref) => {
16
16
  value,
17
17
  classPrefix = 'slider',
18
18
  className,
19
+ marks = [],
19
20
  renderMark,
20
21
  ...rest
21
22
  } = props;
22
23
  const {
23
24
  merge,
24
- prefix
25
+ prefix,
26
+ cssVar
25
27
  } = useStyles(classPrefix);
26
28
  const activeIndexs = [];
27
29
  let startIndex = 0;
@@ -37,32 +39,53 @@ const Graduated = forwardRef((props, ref) => {
37
39
  activeIndexs.push(precisionMath(Math.ceil((value - min) / (max - min) * count)));
38
40
  }
39
41
  const graduatedItems = [];
40
- for (let i = 0; i < count; i += 1) {
41
- const classes = prefix({
42
- pass: i >= startIndex && i <= endIndex,
43
- active: ~activeIndexs.indexOf(i)
42
+
43
+ // If custom marks are provided, use them
44
+ if (marks.length > 0) {
45
+ // Only create DOM nodes for the specific mark values
46
+ marks.forEach((mark, index) => {
47
+ // Calculate the position index for this mark
48
+ const markPosition = precisionMath((mark.value - min) / (max - min) * count);
49
+ graduatedItems.push(/*#__PURE__*/React.createElement("li", {
50
+ className: prefix('tick'),
51
+ key: `${mark.value}-${index}`,
52
+ "data-pass": markPosition >= startIndex && markPosition <= endIndex,
53
+ "data-active": activeIndexs.indexOf(markPosition) !== -1,
54
+ style: cssVar('tick-offset', `${(mark.value - min) / (max - min) * 100}%`)
55
+ }, /*#__PURE__*/React.createElement(Mark, {
56
+ mark: mark.value,
57
+ renderMark: () => mark.label || mark.value
58
+ })));
44
59
  });
45
- const mark = precisionMath(i * step + min);
46
- const lastMark = Math.min(max, mark + step);
47
- const last = i === count - 1;
48
- graduatedItems.push(/*#__PURE__*/React.createElement("li", {
49
- className: classes,
50
- key: i
51
- }, /*#__PURE__*/React.createElement(Mark, {
52
- mark: mark,
53
- renderMark: renderMark
54
- }), last ? /*#__PURE__*/React.createElement(Mark, {
55
- mark: lastMark,
56
- renderMark: renderMark,
57
- last: last
58
- }) : null));
60
+ } else {
61
+ // Original implementation for when no custom marks are provided
62
+ for (let i = 0; i < count; i += 1) {
63
+ const mark = precisionMath(i * step + min);
64
+ const lastMark = Math.min(max, mark + step);
65
+ const last = i === count - 1;
66
+ graduatedItems.push(/*#__PURE__*/React.createElement("li", {
67
+ className: prefix('tick'),
68
+ "data-pass": i >= startIndex && i <= endIndex,
69
+ "data-active": activeIndexs.indexOf(i) !== -1,
70
+ key: i
71
+ }, /*#__PURE__*/React.createElement(Mark, {
72
+ mark: mark,
73
+ renderMark: renderMark
74
+ }), last ? /*#__PURE__*/React.createElement(Mark, {
75
+ mark: lastMark,
76
+ renderMark: renderMark,
77
+ last: last
78
+ }) : null));
79
+ }
59
80
  }
60
81
  const classes = merge(className, prefix('graduator'));
61
82
  return /*#__PURE__*/React.createElement(Box, _extends({
62
83
  as: as,
63
84
  ref: ref,
64
85
  className: classes
65
- }, rest), /*#__PURE__*/React.createElement("ol", null, graduatedItems));
86
+ }, rest, {
87
+ "data-with-marks": marks.length > 0
88
+ }), /*#__PURE__*/React.createElement("ol", null, graduatedItems));
66
89
  });
67
90
  Graduated.displayName = 'Graduated';
68
91
  export default Graduated;
@@ -4,9 +4,9 @@ export interface HandleProps extends BoxProps, React.HTMLAttributes<HTMLDivEleme
4
4
  disabled?: boolean;
5
5
  vertical?: boolean;
6
6
  tooltip?: boolean;
7
- rtl?: boolean;
8
7
  position?: number;
9
8
  value?: number;
9
+ keepTooltipOpen?: boolean;
10
10
  renderTooltip?: (value: number | undefined) => React.ReactNode;
11
11
  onDragMove?: (event: React.DragEvent, dataset?: DOMStringMap) => void;
12
12
  onDragStart?: (event: React.MouseEvent) => void;
@@ -18,10 +18,10 @@ const Handle = forwardRef((props, ref) => {
18
18
  position,
19
19
  vertical,
20
20
  tooltip,
21
- rtl,
22
21
  value,
23
22
  role,
24
23
  tabIndex,
24
+ keepTooltipOpen,
25
25
  renderTooltip,
26
26
  onDragStart,
27
27
  onDragMove,
@@ -31,15 +31,13 @@ const Handle = forwardRef((props, ref) => {
31
31
  'data-key': dateKey,
32
32
  ...rest
33
33
  } = props;
34
- const horizontalKey = rtl ? 'right' : 'left';
35
- const direction = vertical ? 'bottom' : horizontalKey;
36
- const styles = mergeStyles(style, {
37
- [direction]: `${position}%`
38
- });
34
+ const actualTooltip = tooltip || keepTooltipOpen;
39
35
  const {
40
36
  merge,
41
- prefix
37
+ prefix,
38
+ cssVar
42
39
  } = useStyles(classPrefix);
40
+ const styles = mergeStyles(style, cssVar('offset', `${position}%`));
43
41
  const {
44
42
  active,
45
43
  onMoveStart,
@@ -47,14 +45,15 @@ const Handle = forwardRef((props, ref) => {
47
45
  rootRef,
48
46
  tooltipRef
49
47
  } = useDrag({
50
- tooltip,
48
+ tooltip: actualTooltip,
51
49
  disabled,
52
50
  onDragStart,
53
51
  onDragMove,
54
- onDragEnd
52
+ onDragEnd,
53
+ keepTooltipOpen
55
54
  });
56
55
  const handleClasses = merge(className, prefix('handle'), {
57
- active
56
+ active: active || keepTooltipOpen
58
57
  });
59
58
  return /*#__PURE__*/React.createElement(Box, {
60
59
  as: as,
@@ -70,10 +69,11 @@ const Handle = forwardRef((props, ref) => {
70
69
  "data-range": dataRange,
71
70
  "data-key": dateKey,
72
71
  "data-testid": "slider-handle"
73
- }, tooltip && /*#__PURE__*/React.createElement(Tooltip, {
72
+ }, actualTooltip && /*#__PURE__*/React.createElement(Tooltip, {
74
73
  "aria-hidden": "true",
75
74
  ref: tooltipRef,
76
- className: merge(prefix('tooltip'), 'placement-top')
75
+ className: prefix('tooltip'),
76
+ "data-placement": vertical ? 'left' : 'top'
77
77
  }, renderTooltip ? renderTooltip(value) : value), /*#__PURE__*/React.createElement(Input, _extends({
78
78
  tabIndex: -1,
79
79
  value: value
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { BoxProps } from '../internals/Box';
3
- import type { FormControlBaseProps } from '../internals/types';
3
+ import type { FormControlBaseProps, Size } from '../internals/types';
4
4
  export interface LocaleType {
5
5
  placeholder?: string;
6
6
  searchPlaceholder?: string;
@@ -44,6 +44,21 @@ export interface SliderProps<T = number> extends BoxProps, FormControlBaseProps<
44
44
  placeholder?: React.ReactNode;
45
45
  /** Vertical Slide */
46
46
  vertical?: boolean;
47
+ /** If true, tooltip will always be visible even without hover */
48
+ keepTooltipOpen?: boolean;
49
+ /**
50
+ * A slider can have different sizes.
51
+ *
52
+ * @default 'sm'
53
+ */
54
+ size?: Size;
55
+ /**
56
+ * Custom marks on the ruler
57
+ */
58
+ marks?: {
59
+ value: number;
60
+ label: React.ReactNode;
61
+ }[];
47
62
  /** Customize labels on the render ruler */
48
63
  renderMark?: (mark: number) => React.ReactNode;
49
64
  /** Customize the content of the rendered Tooltip. */
@@ -42,15 +42,18 @@ const Slider = forwardRef((props, ref) => {
42
42
  handleTitle,
43
43
  tooltip = true,
44
44
  step = 1,
45
+ size = 'sm',
45
46
  defaultValue = 0,
46
47
  value: valueProp,
47
48
  max: maxProp = 100,
48
49
  placeholder,
50
+ marks,
49
51
  getAriaValueText,
50
52
  renderTooltip,
51
53
  renderMark,
52
54
  onChange,
53
55
  onChangeCommitted,
56
+ keepTooltipOpen,
54
57
  ...rest
55
58
  } = propsWithDefaults;
56
59
  const barRef = useRef(null);
@@ -178,7 +181,8 @@ const Slider = forwardRef((props, ref) => {
178
181
  as: as,
179
182
  ref: ref,
180
183
  role: "presentation",
181
- className: classes
184
+ className: classes,
185
+ "data-size": size
182
186
  }, rest), /*#__PURE__*/React.createElement("div", {
183
187
  ref: barRef,
184
188
  className: merge(barClassName, prefix('bar')),
@@ -195,6 +199,7 @@ const Slider = forwardRef((props, ref) => {
195
199
  max: max,
196
200
  count: count,
197
201
  value: value,
202
+ marks: marks,
198
203
  renderMark: renderMark
199
204
  })), /*#__PURE__*/React.createElement(Handle, {
200
205
  position: (value - min) / (max - min) * 100,
@@ -203,8 +208,8 @@ const Slider = forwardRef((props, ref) => {
203
208
  disabled: disabled,
204
209
  vertical: vertical,
205
210
  tooltip: tooltip,
206
- rtl: rtl,
207
211
  value: value,
212
+ keepTooltipOpen: keepTooltipOpen,
208
213
  renderTooltip: renderTooltip,
209
214
  onDragMove: handleChangeValue,
210
215
  onKeyDown: handleKeyDown,
@@ -5,6 +5,7 @@ interface DragProps {
5
5
  onDragStart?: (event: React.MouseEvent) => void;
6
6
  onDragMove?: (event: React.DragEvent, dataset?: DOMStringMap) => void;
7
7
  onDragEnd?: (event: React.MouseEvent, dataset?: DOMStringMap) => void;
8
+ keepTooltipOpen?: boolean;
8
9
  }
9
10
  declare const useDrag: (props: DragProps) => {
10
11
  active: boolean;
@@ -12,7 +12,8 @@ const useDrag = props => {
12
12
  disabled,
13
13
  onDragMove,
14
14
  onDragEnd,
15
- onDragStart
15
+ onDragStart,
16
+ keepTooltipOpen
16
17
  } = props;
17
18
  const [active, setActive] = useState(false);
18
19
  const moveTracker = useRef(null);
@@ -27,8 +28,9 @@ const useDrag = props => {
27
28
  const tooltipElement = tooltipRef.current;
28
29
  if (tooltip && tooltipElement) {
29
30
  const width = getWidth(tooltipElement);
31
+
30
32
  // Set the position of the tooltip
31
- addStyle(tooltipElement, 'left', `-${width / 2}px`);
33
+ addStyle(tooltipElement, '--rs-tooltip-offset', `-${width / 2}px`);
32
34
  }
33
35
  }, [tooltip]);
34
36
  const handleDragMove = useEventCallback((_deltaX, _deltaY, event) => {
@@ -67,10 +69,13 @@ const useDrag = props => {
67
69
  setTooltipPosition();
68
70
  });
69
71
  useEffect(() => {
72
+ if (keepTooltipOpen) {
73
+ onMouseEnter();
74
+ }
70
75
  return () => {
71
76
  releaseMoves();
72
77
  };
73
- }, [releaseMoves]);
78
+ }, [releaseMoves, keepTooltipOpen]);
74
79
  return {
75
80
  active,
76
81
  rootRef,
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import React from 'react';
4
4
  import StepItem from "./StepItem.js";
5
5
  import Box from "../internals/Box/index.js";
6
- import { forwardRef, ReactChildren } from "../internals/utils/index.js";
6
+ import { forwardRef, rch } from "../internals/utils/index.js";
7
7
  import { useStyles } from "../internals/hooks/index.js";
8
8
  import { useCustom } from "../CustomProvider/index.js";
9
9
  const Subcomponents = {
@@ -41,8 +41,8 @@ const Steps = forwardRef((props, ref) => {
41
41
  vertical,
42
42
  horizontal: !vertical
43
43
  }));
44
- const count = ReactChildren.count(children);
45
- const items = ReactChildren.mapCloneElement(children, (item, index) => {
44
+ const count = rch.count(children);
45
+ const items = rch.mapCloneElement(children, (item, index) => {
46
46
  const itemStyles = {
47
47
  flexBasis: index < count - 1 ? `${100 / (count - 1)}%` : undefined,
48
48
  maxWidth: index === count - 1 ? `${100 / count}%` : undefined
package/esm/Tabs/Tabs.js CHANGED
@@ -5,7 +5,7 @@ import Nav from "../Nav/index.js";
5
5
  import Tab from "./Tab.js";
6
6
  import TabPanel from "./TabPanel.js";
7
7
  import Box from "../internals/Box/index.js";
8
- import { forwardRef, ReactChildren } from "../internals/utils/index.js";
8
+ import { forwardRef, rch } from "../internals/utils/index.js";
9
9
  import { useStyles, useControlled, useEventCallback, useUniqueId } from "../internals/hooks/index.js";
10
10
  import { useCustom } from "../CustomProvider/index.js";
11
11
 
@@ -56,7 +56,7 @@ const renderPanels = (children, tabProps) => {
56
56
  id,
57
57
  activeKey
58
58
  } = tabProps;
59
- return ReactChildren.map(children, child => {
59
+ return rch.map(children, child => {
60
60
  const {
61
61
  eventKey,
62
62
  children
@@ -75,7 +75,7 @@ const renderTabs = (children, tabPanelProps) => {
75
75
  id,
76
76
  activeKey
77
77
  } = tabPanelProps;
78
- return ReactChildren.map(children, child => {
78
+ return rch.map(children, child => {
79
79
  const {
80
80
  eventKey,
81
81
  title,
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { InputBaseCommonProps } from '../internals/InputBase';
3
+ import type { SanitizedTextareaProps, PropsWithoutChange, FormControlBaseProps, Size } from '../internals/types';
4
+ export interface TextareaProps extends InputBaseCommonProps, SanitizedTextareaProps, PropsWithoutChange<FormControlBaseProps> {
5
+ /**
6
+ * The size of the textarea.
7
+ * @default 'md'
8
+ */
9
+ size?: Size;
10
+ /** Enable auto resize of the textarea based on content */
11
+ autosize?: boolean;
12
+ /**
13
+ * Maximum number of rows up to which the textarea can grow
14
+ * Auto resize props for react-textarea-autosize
15
+ */
16
+ maxRows?: number;
17
+ /**
18
+ * Minimum number of rows up to which the textarea can shrink
19
+ * Auto resize props for react-textarea-autosize
20
+ */
21
+ minRows?: number;
22
+ /**
23
+ * Whether to allow the textarea to be resized
24
+ */
25
+ resize?: React.CSSProperties['resize'];
26
+ /**
27
+ * Called when Enter key is pressed
28
+ */
29
+ onPressEnter?: React.KeyboardEventHandler<HTMLTextAreaElement>;
30
+ }
31
+ declare const Textarea: import("../internals/types").InternalRefForwardingComponent<"textarea", TextareaProps, never> & Record<string, never>;
32
+ export default Textarea;
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import React from 'react';
4
+ import ReactTextareaAutosize from 'react-textarea-autosize';
5
+ import InputBase from "../internals/InputBase/index.js";
6
+ import { forwardRef, mergeStyles } from "../internals/utils/index.js";
7
+ import { useStyles } from "../internals/hooks/index.js";
8
+ import { useCustom } from "../CustomProvider/index.js";
9
+ const Textarea = forwardRef((props, ref) => {
10
+ const {
11
+ propsWithDefaults
12
+ } = useCustom('Textarea', props);
13
+ const {
14
+ rows = 3,
15
+ classPrefix = 'textarea',
16
+ className,
17
+ size = 'md',
18
+ autosize,
19
+ maxRows,
20
+ minRows,
21
+ resize,
22
+ style,
23
+ ...rest
24
+ } = propsWithDefaults;
25
+ const {
26
+ withPrefix,
27
+ merge,
28
+ cssVar
29
+ } = useStyles(classPrefix);
30
+ const classes = merge(className, withPrefix());
31
+ const styles = mergeStyles(style, cssVar('resize', resize));
32
+ const autosizeProps = autosize ? {
33
+ maxRows,
34
+ minRows
35
+ } : {};
36
+ return /*#__PURE__*/React.createElement(InputBase, _extends({
37
+ as: autosize ? ReactTextareaAutosize : 'textarea',
38
+ ref: ref,
39
+ size: size,
40
+ rows: rows,
41
+ className: classes,
42
+ style: styles
43
+ }, autosizeProps, rest));
44
+ });
45
+ Textarea.displayName = 'Textarea';
46
+ export default Textarea;
@@ -0,0 +1,4 @@
1
+ import Textarea from './Textarea';
2
+ export type { TextareaProps } from './Textarea';
3
+ export { Textarea };
4
+ export default Textarea;
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ import Textarea from "./Textarea.js";
3
+
4
+ // export types
5
+
6
+ // export components
7
+ export { Textarea };
8
+ export default Textarea;
@@ -6,7 +6,7 @@ import TimelineItem from "./TimelineItem.js";
6
6
  import Box from "../internals/Box/index.js";
7
7
  import { useStyles } from "../internals/hooks/index.js";
8
8
  import { useCustom } from "../CustomProvider/index.js";
9
- import { forwardRef, ReactChildren } from "../internals/utils/index.js";
9
+ import { forwardRef, rch } from "../internals/utils/index.js";
10
10
  const ACTIVE_FIRST = index => index === 0;
11
11
  const ACTIVE_LAST = (index, totalItemsCount) => index === totalItemsCount - 1;
12
12
  const SubcomponentsAndStaticMethods = {
@@ -38,7 +38,7 @@ const Timeline = forwardRef((props, ref) => {
38
38
  merge,
39
39
  withPrefix
40
40
  } = useStyles(classPrefix);
41
- const count = ReactChildren.count(children);
41
+ const count = rch.count(children);
42
42
  const withTime = some(React.Children.toArray(children), item => {
43
43
  var _item$props;
44
44
  return item === null || item === void 0 || (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.time;
@@ -51,7 +51,7 @@ const Timeline = forwardRef((props, ref) => {
51
51
  as: as,
52
52
  ref: ref,
53
53
  className: classes
54
- }, rest), ReactChildren.mapCloneElement(children, (_child, index) => ({
54
+ }, rest), rch.mapCloneElement(children, (_child, index) => ({
55
55
  last: index + 1 === count,
56
56
  INTERNAL_active: isItemActive(index, count),
57
57
  align
@@ -42,11 +42,20 @@ export interface ToggleProps extends BoxProps, SanitizedInputProps {
42
42
  /**
43
43
  * The size of the toggle
44
44
  */
45
- size?: Omit<Size, 'xs'>;
45
+ size?: Size;
46
46
  /**
47
47
  * Custom locale
48
48
  */
49
49
  locale?: ToggleLocale;
50
+ /**
51
+ * The label of the toggle switch
52
+ */
53
+ label?: React.ReactNode;
54
+ /**
55
+ * The placement of the label
56
+ * @version 6.0.0
57
+ */
58
+ labelPlacement?: 'start' | 'end';
50
59
  /**
51
60
  * Called when the state of the toggle changes
52
61
  */
@@ -32,6 +32,8 @@ const Toggle = forwardRef((props, ref) => {
32
32
  defaultChecked,
33
33
  size = 'md',
34
34
  locale,
35
+ label = children,
36
+ labelPlacement = 'end',
35
37
  onChange,
36
38
  ...rest
37
39
  } = propsWithDefaults;
@@ -48,10 +50,10 @@ const Toggle = forwardRef((props, ref) => {
48
50
  loading
49
51
  }));
50
52
  const inner = checked ? checkedChildren : unCheckedChildren;
51
- const label = checked ? locale === null || locale === void 0 ? void 0 : locale.on : locale === null || locale === void 0 ? void 0 : locale.off;
53
+ const innerLabel = checked ? locale === null || locale === void 0 ? void 0 : locale.on : locale === null || locale === void 0 ? void 0 : locale.off;
52
54
  const labelId = useUniqueId('rs-label');
53
55
  const innerId = inner ? labelId + '-inner' : undefined;
54
- const labelledby = children ? labelId : innerId;
56
+ const labelledby = label ? labelId : innerId;
55
57
  const [htmlInputProps, restProps] = partitionHTMLProps(rest);
56
58
  const handleInputChange = useEventCallback(e => {
57
59
  if (disabled || readOnly || loading) {
@@ -64,12 +66,13 @@ const Toggle = forwardRef((props, ref) => {
64
66
  onChange === null || onChange === void 0 || onChange(checked, e);
65
67
  });
66
68
  if (plaintext) {
67
- return /*#__PURE__*/React.createElement(Plaintext, null, inner || label);
69
+ return /*#__PURE__*/React.createElement(Plaintext, null, inner || innerLabel);
68
70
  }
69
71
  return /*#__PURE__*/React.createElement(Box, _extends({
70
72
  as: as,
71
73
  ref: ref,
72
- className: classes
74
+ className: classes,
75
+ "data-placement": labelPlacement
73
76
  }, restProps), /*#__PURE__*/React.createElement("input", _extends({}, htmlInputProps, {
74
77
  ref: inputRef,
75
78
  type: "checkbox",
@@ -83,19 +86,19 @@ const Toggle = forwardRef((props, ref) => {
83
86
  "aria-checked": checked,
84
87
  "aria-disabled": disabled,
85
88
  "aria-labelledby": labelledby,
86
- "aria-label": labelledby ? undefined : label,
89
+ "aria-label": labelledby ? undefined : innerLabel,
87
90
  "aria-busy": loading || undefined
88
91
  })), /*#__PURE__*/React.createElement("span", {
89
- className: prefix('presentation')
90
- }, /*#__PURE__*/React.createElement("span", {
92
+ className: prefix('track')
93
+ }, inner && /*#__PURE__*/React.createElement("span", {
91
94
  className: prefix('inner'),
92
95
  id: innerId
93
96
  }, inner), loading && /*#__PURE__*/React.createElement(Loader, {
94
97
  className: prefix('loader')
95
- })), children && /*#__PURE__*/React.createElement("span", {
98
+ })), label && /*#__PURE__*/React.createElement("span", {
96
99
  className: prefix('label'),
97
100
  id: labelId
98
- }, children));
101
+ }, label));
99
102
  });
100
103
  Toggle.displayName = 'Toggle';
101
104
  export default Toggle;
@@ -2,7 +2,6 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import React, { useMemo } from 'react';
4
4
  import pick from 'lodash/pick';
5
- import omit from 'lodash/omit';
6
5
  import isNil from 'lodash/isNil';
7
6
  import isFunction from 'lodash/isFunction';
8
7
  import useTreeWithChildren from "../Tree/hooks/useTreeWithChildren.js";
@@ -10,11 +9,10 @@ import useFlattenTree from "../Tree/hooks/useFlattenTree.js";
10
9
  import useFocusState from "./hooks/useFocusState.js";
11
10
  import useExpandTree from "../Tree/hooks/useExpandTree.js";
12
11
  import TreeView from "../Tree/TreeView.js";
13
- import Box from "../internals/Box/index.js";
14
12
  import { useStyles, useControlled, useEventCallback } from "../internals/hooks/index.js";
15
13
  import { forwardRef, createChainedFunction, mergeRefs } from "../internals/utils/index.js";
16
14
  import { getActiveItem, getTreeActiveNode } from "../Tree/utils/index.js";
17
- import { PickerToggle, PickerPopup, PickerToggleTrigger, usePickerClassName, usePickerRef, onMenuKeyDown, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from "../internals/Picker/index.js";
15
+ import { PickerToggle, PickerPopup, PickerToggleTrigger, usePickerRef, onMenuKeyDown, triggerPropKeys, useToggleKeyDownEvent } from "../internals/Picker/index.js";
18
16
  import { TreeProvider, useTreeImperativeHandle } from "../internals/Tree/TreeProvider.js";
19
17
  import { useCustom } from "../CustomProvider/index.js";
20
18
  /**
@@ -40,6 +38,8 @@ const TreePicker = forwardRef((props, ref) => {
40
38
  defaultExpandItemValues = [],
41
39
  expandItemValues: controlledExpandItemValues,
42
40
  id,
41
+ block,
42
+ className,
43
43
  locale,
44
44
  labelKey = 'label',
45
45
  placeholder,
@@ -246,27 +246,26 @@ const TreePicker = forwardRef((props, ref) => {
246
246
  }
247
247
  }
248
248
  }
249
- const [classes, usedClassNamePropKeys] = usePickerClassName({
250
- ...props,
251
- classPrefix,
252
- appearance,
253
- hasValue: hasValidValue,
254
- name: 'tree',
255
- cleanable
256
- });
257
- return /*#__PURE__*/React.createElement(PickerToggleTrigger, _extends({
249
+ return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
250
+ as: as,
258
251
  id: id,
252
+ name: "tree",
253
+ block: block,
254
+ disabled: disabled,
255
+ appearance: appearance,
259
256
  popupType: "tree",
260
- pickerProps: pick(props, pickTriggerPropKeys),
257
+ triggerProps: {
258
+ ...pick(props, triggerPropKeys),
259
+ ...triggerProps
260
+ },
261
261
  ref: trigger,
262
262
  placement: placement,
263
- speaker: renderTreeView
264
- }, triggerProps), /*#__PURE__*/React.createElement(Box, {
265
- as: as,
266
- className: classes,
263
+ speaker: renderTreeView,
264
+ rootRef: root,
267
265
  style: style,
268
- ref: root
269
- }, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, omit(rest, [...omitTriggerPropKeys, ...usedClassNamePropKeys, 'cascade']), {
266
+ classPrefix: classPrefix,
267
+ className: className
268
+ }, /*#__PURE__*/React.createElement(PickerToggle, _extends({
270
269
  ref: target,
271
270
  appearance: appearance,
272
271
  onKeyDown: onPickerKeydown,
@@ -279,7 +278,7 @@ const TreePicker = forwardRef((props, ref) => {
279
278
  placement: placement,
280
279
  inputValue: value,
281
280
  focusItemValue: focusItemValue
282
- }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
281
+ }, rest), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder)));
283
282
  });
284
283
  TreePicker.displayName = 'TreePicker';
285
284
  export default TreePicker;