rsuite 5.12.0 → 5.14.0

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 (264) hide show
  1. package/Button/styles/index.less +1 -0
  2. package/CHANGELOG.md +49 -0
  3. package/Dropdown/styles/index.less +8 -3
  4. package/Grid/styles/index.less +42 -10
  5. package/Nav/styles/index.less +7 -1
  6. package/Navbar/styles/index.less +6 -1
  7. package/Sidenav/styles/index.less +52 -16
  8. package/Table/styles/index.less +0 -2
  9. package/Tooltip/styles/index.less +4 -4
  10. package/cjs/@types/common.d.ts +6 -0
  11. package/cjs/Cascader/DropdownMenu.js +8 -3
  12. package/cjs/Cascader/utils.d.ts +1 -1
  13. package/cjs/Col/Col.d.ts +25 -5
  14. package/cjs/Col/Col.js +9 -1
  15. package/cjs/CustomProvider/CustomProvider.d.ts +20 -7
  16. package/cjs/CustomProvider/CustomProvider.js +24 -3
  17. package/cjs/Disclosure/Disclosure.d.ts +1 -1
  18. package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
  19. package/cjs/Dropdown/Dropdown.js +26 -110
  20. package/cjs/Dropdown/DropdownItem.js +14 -58
  21. package/cjs/Dropdown/DropdownMenu.js +32 -76
  22. package/cjs/Dropdown/DropdownToggle.js +4 -17
  23. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  24. package/cjs/Form/Form.d.ts +8 -8
  25. package/cjs/Form/test/Form.test.d.ts +1 -0
  26. package/cjs/Form/test/Form.test.js +18 -0
  27. package/cjs/Menu/Menu.d.ts +1 -0
  28. package/cjs/Menu/Menu.js +1 -0
  29. package/cjs/Menu/MenuItem.d.ts +1 -0
  30. package/cjs/Menu/MenuItem.js +1 -0
  31. package/cjs/Menu/Menubar.d.ts +3 -0
  32. package/cjs/Menu/Menubar.js +4 -0
  33. package/cjs/Modal/test/Modal.test.d.ts +1 -0
  34. package/cjs/Modal/test/Modal.test.js +14 -0
  35. package/cjs/Modal/utils.d.ts +1 -1
  36. package/cjs/Nav/Nav.d.ts +7 -2
  37. package/cjs/Nav/Nav.js +105 -5
  38. package/cjs/Nav/NavContext.d.ts +2 -8
  39. package/cjs/Nav/NavContext.js +1 -7
  40. package/cjs/Nav/NavDropdown.d.ts +71 -0
  41. package/cjs/Nav/NavDropdown.js +193 -0
  42. package/cjs/Nav/NavDropdownItem.d.ts +39 -0
  43. package/cjs/Nav/NavDropdownItem.js +141 -0
  44. package/cjs/Nav/NavDropdownMenu.d.ts +37 -0
  45. package/cjs/Nav/NavDropdownMenu.js +162 -0
  46. package/cjs/Nav/NavDropdownToggle.d.ts +21 -0
  47. package/cjs/Nav/NavDropdownToggle.js +74 -0
  48. package/cjs/Nav/NavItem.d.ts +2 -0
  49. package/cjs/Nav/NavItem.js +13 -26
  50. package/cjs/Nav/NavMenu.d.ts +38 -0
  51. package/cjs/Nav/NavMenu.js +122 -0
  52. package/cjs/Nav/test/Nav.test.d.ts +1 -0
  53. package/cjs/Nav/test/Nav.test.js +17 -0
  54. package/cjs/Navbar/NavbarDropdown.d.ts +57 -0
  55. package/cjs/Navbar/NavbarDropdown.js +147 -0
  56. package/cjs/Navbar/NavbarDropdownItem.d.ts +41 -0
  57. package/cjs/Navbar/NavbarDropdownItem.js +149 -0
  58. package/cjs/Navbar/NavbarDropdownMenu.d.ts +48 -0
  59. package/cjs/Navbar/NavbarDropdownMenu.js +161 -0
  60. package/cjs/Navbar/NavbarDropdownToggle.d.ts +19 -0
  61. package/cjs/Navbar/NavbarDropdownToggle.js +72 -0
  62. package/cjs/Navbar/NavbarItem.d.ts +5 -2
  63. package/cjs/Navbar/NavbarItem.js +10 -4
  64. package/cjs/Overlay/Modal.d.ts +1 -4
  65. package/cjs/Overlay/Overlay.d.ts +3 -1
  66. package/cjs/Overlay/Overlay.js +6 -2
  67. package/cjs/Overlay/OverlayTrigger.d.ts +8 -4
  68. package/cjs/Overlay/OverlayTrigger.js +32 -4
  69. package/cjs/Overlay/Position.d.ts +3 -1
  70. package/cjs/Overlay/Position.js +12 -4
  71. package/cjs/Overlay/positionUtils.d.ts +11 -4
  72. package/cjs/Overlay/positionUtils.js +48 -2
  73. package/cjs/Panel/Panel.js +9 -6
  74. package/cjs/Picker/utils.d.ts +1 -1
  75. package/cjs/Picker/utils.js +22 -15
  76. package/cjs/Popover/Popover.d.ts +2 -0
  77. package/cjs/Popover/Popover.js +6 -3
  78. package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
  79. package/cjs/Sidenav/ExpandedSidenavDropdown.js +166 -0
  80. package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
  81. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +141 -0
  82. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
  83. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +145 -0
  84. package/cjs/Sidenav/Sidenav.d.ts +8 -2
  85. package/cjs/Sidenav/Sidenav.js +1 -2
  86. package/cjs/Sidenav/SidenavDropdown.d.ts +30 -8
  87. package/cjs/Sidenav/SidenavDropdown.js +144 -73
  88. package/cjs/Sidenav/SidenavDropdownItem.d.ts +22 -5
  89. package/cjs/Sidenav/SidenavDropdownItem.js +88 -72
  90. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +26 -16
  91. package/cjs/Sidenav/SidenavDropdownMenu.js +122 -90
  92. package/cjs/Sidenav/SidenavDropdownToggle.d.ts +19 -0
  93. package/cjs/Sidenav/SidenavDropdownToggle.js +73 -0
  94. package/cjs/Sidenav/SidenavItem.d.ts +7 -0
  95. package/cjs/Sidenav/SidenavItem.js +54 -37
  96. package/cjs/Sidenav/SidenavToggle.d.ts +5 -1
  97. package/cjs/Sidenav/SidenavToggle.js +25 -9
  98. package/cjs/Toggle/Toggle.d.ts +1 -1
  99. package/cjs/Tooltip/Tooltip.d.ts +3 -1
  100. package/cjs/Tooltip/Tooltip.js +8 -3
  101. package/cjs/Whisper/Whisper.d.ts +3 -5
  102. package/cjs/Whisper/Whisper.js +6 -1
  103. package/cjs/Whisper/test/Whisper.test.d.ts +1 -0
  104. package/cjs/Whisper/test/Whisper.test.js +23 -0
  105. package/cjs/index.d.ts +3 -3
  106. package/cjs/index.js +3 -2
  107. package/cjs/toaster/ToastContainer.d.ts +1 -0
  108. package/cjs/toaster/ToastContainer.js +4 -1
  109. package/cjs/toaster/index.d.ts +1 -0
  110. package/cjs/toaster/index.js +4 -1
  111. package/cjs/toaster/toaster.d.ts +0 -1
  112. package/cjs/toaster/useToaster.d.ts +12 -0
  113. package/cjs/toaster/useToaster.js +43 -0
  114. package/cjs/utils/constants.d.ts +1 -0
  115. package/cjs/utils/constants.js +3 -1
  116. package/cjs/utils/deprecateComponent.js +4 -6
  117. package/cjs/utils/deprecatePropType.d.ts +1 -5
  118. package/cjs/utils/deprecatePropType.js +7 -14
  119. package/cjs/utils/stringToObject.d.ts +1 -1
  120. package/cjs/utils/tplTransform.d.ts +1 -1
  121. package/cjs/utils/treeUtils.d.ts +3 -3
  122. package/cjs/utils/treeUtils.js +8 -10
  123. package/cjs/utils/useCustom.d.ts +1 -1
  124. package/cjs/utils/useCustom.js +5 -3
  125. package/cjs/utils/useFocus.d.ts +1 -1
  126. package/cjs/utils/useInternalId.d.ts +1 -1
  127. package/cjs/utils/useInternalId.js +2 -2
  128. package/cjs/utils/warnOnce.d.ts +9 -0
  129. package/cjs/utils/warnOnce.js +22 -0
  130. package/dist/rsuite-rtl.css +735 -56
  131. package/dist/rsuite-rtl.min.css +1 -1
  132. package/dist/rsuite-rtl.min.css.map +1 -1
  133. package/dist/rsuite.css +735 -56
  134. package/dist/rsuite.js +363 -121
  135. package/dist/rsuite.js.map +1 -1
  136. package/dist/rsuite.min.css +1 -1
  137. package/dist/rsuite.min.css.map +1 -1
  138. package/dist/rsuite.min.js +1 -1
  139. package/dist/rsuite.min.js.map +1 -1
  140. package/esm/@types/common.d.ts +6 -0
  141. package/esm/Cascader/DropdownMenu.js +8 -3
  142. package/esm/Cascader/utils.d.ts +1 -1
  143. package/esm/Col/Col.d.ts +25 -5
  144. package/esm/Col/Col.js +10 -2
  145. package/esm/CustomProvider/CustomProvider.d.ts +20 -7
  146. package/esm/CustomProvider/CustomProvider.js +22 -3
  147. package/esm/Disclosure/Disclosure.d.ts +1 -1
  148. package/esm/Disclosure/DisclosureContext.d.ts +1 -1
  149. package/esm/Dropdown/Dropdown.js +25 -105
  150. package/esm/Dropdown/DropdownItem.js +13 -55
  151. package/esm/Dropdown/DropdownMenu.js +31 -76
  152. package/esm/Dropdown/DropdownToggle.js +4 -14
  153. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  154. package/esm/Form/Form.d.ts +8 -8
  155. package/esm/Form/test/Form.test.d.ts +1 -0
  156. package/esm/Form/test/Form.test.js +11 -0
  157. package/esm/Menu/Menu.d.ts +1 -0
  158. package/esm/Menu/Menu.js +1 -0
  159. package/esm/Menu/MenuItem.d.ts +1 -0
  160. package/esm/Menu/MenuItem.js +1 -0
  161. package/esm/Menu/Menubar.d.ts +3 -0
  162. package/esm/Menu/Menubar.js +4 -0
  163. package/esm/Modal/test/Modal.test.d.ts +1 -0
  164. package/esm/Modal/test/Modal.test.js +9 -0
  165. package/esm/Modal/utils.d.ts +1 -1
  166. package/esm/Nav/Nav.d.ts +7 -2
  167. package/esm/Nav/Nav.js +96 -5
  168. package/esm/Nav/NavContext.d.ts +2 -8
  169. package/esm/Nav/NavContext.js +1 -6
  170. package/esm/Nav/NavDropdown.d.ts +71 -0
  171. package/esm/Nav/NavDropdown.js +170 -0
  172. package/esm/Nav/NavDropdownItem.d.ts +39 -0
  173. package/esm/Nav/NavDropdownItem.js +123 -0
  174. package/esm/Nav/NavDropdownMenu.d.ts +37 -0
  175. package/esm/Nav/NavDropdownMenu.js +143 -0
  176. package/esm/Nav/NavDropdownToggle.d.ts +21 -0
  177. package/esm/Nav/NavDropdownToggle.js +57 -0
  178. package/esm/Nav/NavItem.d.ts +2 -0
  179. package/esm/Nav/NavItem.js +13 -21
  180. package/esm/Nav/NavMenu.d.ts +38 -0
  181. package/esm/Nav/NavMenu.js +98 -0
  182. package/esm/Nav/test/Nav.test.d.ts +1 -0
  183. package/esm/Nav/test/Nav.test.js +11 -0
  184. package/esm/Navbar/NavbarDropdown.d.ts +57 -0
  185. package/esm/Navbar/NavbarDropdown.js +124 -0
  186. package/esm/Navbar/NavbarDropdownItem.d.ts +41 -0
  187. package/esm/Navbar/NavbarDropdownItem.js +128 -0
  188. package/esm/Navbar/NavbarDropdownMenu.d.ts +48 -0
  189. package/esm/Navbar/NavbarDropdownMenu.js +140 -0
  190. package/esm/Navbar/NavbarDropdownToggle.d.ts +19 -0
  191. package/esm/Navbar/NavbarDropdownToggle.js +55 -0
  192. package/esm/Navbar/NavbarItem.d.ts +5 -2
  193. package/esm/Navbar/NavbarItem.js +11 -4
  194. package/esm/Overlay/Modal.d.ts +1 -4
  195. package/esm/Overlay/Overlay.d.ts +3 -1
  196. package/esm/Overlay/Overlay.js +6 -2
  197. package/esm/Overlay/OverlayTrigger.d.ts +8 -4
  198. package/esm/Overlay/OverlayTrigger.js +33 -5
  199. package/esm/Overlay/Position.d.ts +3 -1
  200. package/esm/Overlay/Position.js +12 -4
  201. package/esm/Overlay/positionUtils.d.ts +11 -4
  202. package/esm/Overlay/positionUtils.js +46 -2
  203. package/esm/Panel/Panel.js +9 -6
  204. package/esm/Picker/utils.d.ts +1 -1
  205. package/esm/Picker/utils.js +22 -14
  206. package/esm/Popover/Popover.d.ts +2 -0
  207. package/esm/Popover/Popover.js +6 -3
  208. package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +43 -0
  209. package/esm/Sidenav/ExpandedSidenavDropdown.js +140 -0
  210. package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +31 -0
  211. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +120 -0
  212. package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +26 -0
  213. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +121 -0
  214. package/esm/Sidenav/Sidenav.d.ts +8 -2
  215. package/esm/Sidenav/Sidenav.js +1 -2
  216. package/esm/Sidenav/SidenavDropdown.d.ts +30 -8
  217. package/esm/Sidenav/SidenavDropdown.js +145 -75
  218. package/esm/Sidenav/SidenavDropdownItem.d.ts +22 -5
  219. package/esm/Sidenav/SidenavDropdownItem.js +87 -71
  220. package/esm/Sidenav/SidenavDropdownMenu.d.ts +26 -16
  221. package/esm/Sidenav/SidenavDropdownMenu.js +122 -86
  222. package/esm/Sidenav/SidenavDropdownToggle.d.ts +19 -0
  223. package/esm/Sidenav/SidenavDropdownToggle.js +56 -0
  224. package/esm/Sidenav/SidenavItem.d.ts +7 -0
  225. package/esm/Sidenav/SidenavItem.js +53 -38
  226. package/esm/Sidenav/SidenavToggle.d.ts +5 -1
  227. package/esm/Sidenav/SidenavToggle.js +22 -9
  228. package/esm/Toggle/Toggle.d.ts +1 -1
  229. package/esm/Tooltip/Tooltip.d.ts +3 -1
  230. package/esm/Tooltip/Tooltip.js +8 -3
  231. package/esm/Whisper/Whisper.d.ts +3 -5
  232. package/esm/Whisper/Whisper.js +6 -1
  233. package/esm/Whisper/test/Whisper.test.d.ts +1 -0
  234. package/esm/Whisper/test/Whisper.test.js +16 -0
  235. package/esm/index.d.ts +3 -3
  236. package/esm/index.js +1 -1
  237. package/esm/toaster/ToastContainer.d.ts +1 -0
  238. package/esm/toaster/ToastContainer.js +1 -0
  239. package/esm/toaster/index.d.ts +1 -0
  240. package/esm/toaster/index.js +1 -0
  241. package/esm/toaster/toaster.d.ts +0 -1
  242. package/esm/toaster/useToaster.d.ts +12 -0
  243. package/esm/toaster/useToaster.js +34 -0
  244. package/esm/utils/constants.d.ts +1 -0
  245. package/esm/utils/constants.js +1 -0
  246. package/esm/utils/deprecateComponent.js +3 -4
  247. package/esm/utils/deprecatePropType.d.ts +1 -5
  248. package/esm/utils/deprecatePropType.js +3 -13
  249. package/esm/utils/stringToObject.d.ts +1 -1
  250. package/esm/utils/tplTransform.d.ts +1 -1
  251. package/esm/utils/treeUtils.d.ts +3 -3
  252. package/esm/utils/treeUtils.js +8 -10
  253. package/esm/utils/useCustom.d.ts +1 -1
  254. package/esm/utils/useCustom.js +5 -3
  255. package/esm/utils/useFocus.d.ts +1 -1
  256. package/esm/utils/useInternalId.d.ts +1 -1
  257. package/esm/utils/useInternalId.js +2 -2
  258. package/esm/utils/warnOnce.d.ts +9 -0
  259. package/esm/utils/warnOnce.js +18 -0
  260. package/package.json +1 -1
  261. package/styles/color-modes/dark.less +3 -0
  262. package/styles/color-modes/high-contrast.less +3 -0
  263. package/styles/color-modes/light.less +5 -2
  264. package/styles/variables.less +33 -12
@@ -35,6 +35,7 @@
35
35
  .button-activated({
36
36
  color: var(--rs-btn-default-hover-text);
37
37
  background-color: var(--rs-btn-default-hover-bg);
38
+ text-decoration: none;
38
39
  });
39
40
 
40
41
  .button-pressed({
package/CHANGELOG.md CHANGED
@@ -1,3 +1,52 @@
1
+ # [5.14.0](https://github.com/rsuite/rsuite/compare/v5.13.1...v5.14.0) (2022-06-02)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **Button:** remove underline when hovered ([#2516](https://github.com/rsuite/rsuite/issues/2516)) ([8bbb10d](https://github.com/rsuite/rsuite/commit/8bbb10db425dadd4110db60b8b7066d8f97bab54))
6
+ - **Dropdown:** fix vertical alignment of submenus ([#2524](https://github.com/rsuite/rsuite/issues/2524)) ([7c0ef52](https://github.com/rsuite/rsuite/commit/7c0ef52e9c7f57abfd97814725f5b3b82cc5dd70))
7
+ - **Form:** make FormInstance methods non-nullable ([#2521](https://github.com/rsuite/rsuite/issues/2521)) ([225af8a](https://github.com/rsuite/rsuite/commit/225af8a9abdffaf76101f28e3690b7ede6a16139))
8
+ - **Modal:** expose missing props ([#2522](https://github.com/rsuite/rsuite/issues/2522)) ([2ed7040](https://github.com/rsuite/rsuite/commit/2ed704002d03cec1478de879b08c0d3e7fd2dcf1))
9
+ - **Panel:** fix accordion not collapsible expanded panel ([#2514](https://github.com/rsuite/rsuite/issues/2514)) ([10c80f2](https://github.com/rsuite/rsuite/commit/10c80f26622e2f5b8c2e81731b66e2276d5622c4))
10
+ - **Sidenav:** display tooltip when hovering collapsed Sidenav item ([#2504](https://github.com/rsuite/rsuite/issues/2504)) ([d1238eb](https://github.com/rsuite/rsuite/commit/d1238ebb22e2458a780846903e042de72c1d8143))
11
+ - **Sidenav:** remove subtle item bg when focused by mouse ([#2511](https://github.com/rsuite/rsuite/issues/2511)) ([819461c](https://github.com/rsuite/rsuite/commit/819461c918e809fa397fe3dc6146510a9ffb1bd2))
12
+ - **Table:** fix elements in merged cells being occluded ([#2513](https://github.com/rsuite/rsuite/issues/2513)) ([22e5467](https://github.com/rsuite/rsuite/commit/22e54671cbeb3e63d8480469c3d53744732308f2))
13
+
14
+ ### Features
15
+
16
+ - **grid:** synchronize all grid size and breakpoint with bootstrap5 ([e8d2d37](https://github.com/rsuite/rsuite/commit/e8d2d372e2280336482de648d9619607b9cb1798))
17
+ - **Nav.Menu:** add `openDirection` prop ([#2523](https://github.com/rsuite/rsuite/issues/2523)) ([bd824ac](https://github.com/rsuite/rsuite/commit/bd824ac9359cc5cebb848424d8045986e32c6462))
18
+ - **toaster:** add support for useToaster ([#2518](https://github.com/rsuite/rsuite/issues/2518)) ([75cb960](https://github.com/rsuite/rsuite/commit/75cb9601b56fbdc64a09b9bbc93aaf2b22b715c4))
19
+ - **Tooltip,Popover:** add arrow props to hide arrow indicator ([48d876f](https://github.com/rsuite/rsuite/commit/48d876f7d2211f5e9cb1db7e8f552152821e05ac))
20
+ - **Tooltip,Popover:** add followCursor props to enable speaker follow cursor ([e3bf75d](https://github.com/rsuite/rsuite/commit/e3bf75d4e4c537bf677c404fce84b76266531630))
21
+
22
+ ### Performance Improvements
23
+
24
+ - **Dropdown:** improve contrast of active Dropdown item background color ([#2510](https://github.com/rsuite/rsuite/issues/2510)) ([35a418a](https://github.com/rsuite/rsuite/commit/35a418ae5f2104e6ac56ebe5c91d426025fce94a))
25
+
26
+ ## [5.13.1](https://github.com/rsuite/rsuite/compare/v5.13.0...v5.13.1) (2022-05-27)
27
+
28
+ ### Bug Fixes
29
+
30
+ - **CheckTreePicker:** fix duplicated key when data changed ([#2486](https://github.com/rsuite/rsuite/issues/2486)) ([#2500](https://github.com/rsuite/rsuite/issues/2500)) ([d155719](https://github.com/rsuite/rsuite/commit/d155719a9ae9d9cec119a0c33281c628379b4a78))
31
+ - **Sidenav:** correct Sidenav.Toggle styles ([#2497](https://github.com/rsuite/rsuite/issues/2497)) ([b3168e4](https://github.com/rsuite/rsuite/commit/b3168e426c3a2caad1689e9e9d3babf1d76022b8))
32
+ - **Sidenav:** correct subtle Sidenav item hover styles ([#2498](https://github.com/rsuite/rsuite/issues/2498)) ([2d853ee](https://github.com/rsuite/rsuite/commit/2d853ee8419a3283683bbf897442b9bc789b5a2a))
33
+ - **Sidenav:** fix Sidenav.Toggle icon direction ([#2495](https://github.com/rsuite/rsuite/issues/2495)) ([c490632](https://github.com/rsuite/rsuite/commit/c490632cc613807ff27124140b4250fc132aa8b2))
34
+ - **Whisper:** correct type declarations for ref ([856877a](https://github.com/rsuite/rsuite/commit/856877aec5a20710b94f6ddf241be76ecd34c88d))
35
+
36
+ ### Features
37
+
38
+ - export WhisperInstance ([1c4eb5f](https://github.com/rsuite/rsuite/commit/1c4eb5ffbb6b5e69987436c03cc133f39c245866))
39
+
40
+ # [5.13.0](https://github.com/rsuite/rsuite/compare/v5.12.0...v5.13.0) (2022-05-19)
41
+
42
+ ### Bug Fixes
43
+
44
+ - **listbox:** fix broken keyboard navigation after filtering ([#2491](https://github.com/rsuite/rsuite/issues/2491)) ([329623a](https://github.com/rsuite/rsuite/commit/329623a21e8d551db3e634894ddcbb3658b1579d))
45
+
46
+ ### Performance Improvements
47
+
48
+ - **Cascader:** apply tree view pattern ([#2492](https://github.com/rsuite/rsuite/issues/2492)) ([f3a5808](https://github.com/rsuite/rsuite/commit/f3a5808eb60cc4f5250cce908322a702a91a9d96))
49
+
1
50
  # [5.12.0](https://github.com/rsuite/rsuite/compare/v5.11.0...v5.12.0) (2022-05-12)
2
51
 
3
52
  ### Features
@@ -94,8 +94,8 @@
94
94
  font-size: @font-size-base;
95
95
  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
96
96
  background-color: var(--rs-bg-overlay);
97
- border-radius: @border-radius;
98
- padding: @border-radius 0;
97
+ border-radius: @dropdown-menu-radius;
98
+ padding: @dropdown-menu-padding-y 0;
99
99
  outline: 0;
100
100
 
101
101
  &:focus-visible {
@@ -202,7 +202,7 @@
202
202
 
203
203
  > .rs-dropdown-menu {
204
204
  position: absolute;
205
- top: 0;
205
+ top: -@dropdown-menu-padding-y;
206
206
  }
207
207
  }
208
208
 
@@ -223,6 +223,11 @@
223
223
 
224
224
  .rs-dropdown-menu {
225
225
  left: 100%;
226
+
227
+ &[data-direction='start'] {
228
+ left: unset;
229
+ right: 100%;
230
+ }
226
231
  }
227
232
 
228
233
  // Open
@@ -13,17 +13,25 @@
13
13
  .rs-grid-container {
14
14
  .container-fixed();
15
15
 
16
- @media (min-width: @screen-phone) {
16
+ @media (min-width: @screen-sm) {
17
17
  width: @container-sm;
18
18
  }
19
19
 
20
- @media (min-width: @screen-desktop) {
20
+ @media (min-width: @screen-md) {
21
21
  width: @container-md;
22
22
  }
23
23
 
24
- @media (min-width: @screen-lg-desktop) {
24
+ @media (min-width: @screen-lg) {
25
25
  width: @container-lg;
26
26
  }
27
+
28
+ @media (min-width: @screen-xl) {
29
+ width: @container-xl;
30
+ }
31
+
32
+ @media (min-width: @screen-xxl) {
33
+ width: @container-xxl;
34
+ }
27
35
  }
28
36
 
29
37
  // Fluid container
@@ -60,7 +68,7 @@
60
68
  // Columns, offsets, pushes, and pulls for the small device range, from phones
61
69
  // to tablets / phones.
62
70
 
63
- @media (min-width: @screen-phone) {
71
+ @media (min-width: @screen-sm) {
64
72
  .make-grid(sm);
65
73
  }
66
74
 
@@ -68,7 +76,7 @@
68
76
  //
69
77
  // Columns, offsets, pushes, and pulls for the desktop device range.
70
78
 
71
- @media (min-width: @screen-desktop) {
79
+ @media (min-width: @screen-md) {
72
80
  .make-grid(md);
73
81
  }
74
82
 
@@ -76,26 +84,50 @@
76
84
  //
77
85
  // Columns, offsets, pushes, and pulls for the large desktop device range.
78
86
 
79
- @media (min-width: @screen-lg-desktop) {
87
+ @media (min-width: @screen-lg) {
80
88
  .make-grid(lg);
81
89
  }
82
90
 
91
+ // Extra Large grid
92
+ //
93
+ // Columns, offsets, pushes, and pulls for the large desktop device range.
94
+
95
+ @media (min-width: @screen-xl) {
96
+ .make-grid(xl);
97
+ }
98
+
99
+ // Extra extra Large grid
100
+ //
101
+ // Columns, offsets, pushes, and pulls for the large desktop device range.
102
+
103
+ @media (min-width: @screen-xxl) {
104
+ .make-grid(xxl);
105
+ }
106
+
83
107
  // Hiddens
84
108
  //
85
109
  // All hidden styles.
86
110
 
87
- @media (max-width: (@screen-phone - 1)) {
111
+ @media (max-width: (@screen-sm - 1)) {
88
112
  .hidden(xs);
89
113
  }
90
114
 
91
- @media (min-width: @screen-phone) and (max-width: (@screen-desktop - 1)) {
115
+ @media (min-width: @screen-sm) and (max-width: (@screen-md - 1)) {
92
116
  .hidden(sm);
93
117
  }
94
118
 
95
- @media (min-width: @screen-desktop) and (max-width: (@screen-lg-desktop - 1)) {
119
+ @media (min-width: @screen-md) and (max-width: (@screen-lg - 1)) {
96
120
  .hidden(md);
97
121
  }
98
122
 
99
- @media (min-width: @screen-lg-desktop) {
123
+ @media (min-width: @screen-lg) and (max-width: (@screen-xl - 1)) {
100
124
  .hidden(lg);
101
125
  }
126
+
127
+ @media (min-width: @screen-xl) and (max-width: (@screen-xxl - 1)) {
128
+ .hidden(xl);
129
+ }
130
+
131
+ @media (min-width: @screen-xxl) {
132
+ .hidden(xxl);
133
+ }
@@ -82,9 +82,15 @@
82
82
  });
83
83
  }
84
84
 
85
- > .rs-icon {
85
+ &-icon {
86
86
  margin-right: 6px;
87
87
  }
88
+
89
+ &-caret {
90
+ font-size: 16px;
91
+ vertical-align: text-bottom;
92
+ margin-left: 6px;
93
+ }
88
94
  }
89
95
 
90
96
  // Orientations
@@ -63,10 +63,15 @@
63
63
  display: flex;
64
64
  align-items: center;
65
65
 
66
- > .rs-icon {
66
+ &-icon {
67
67
  font-size: 16px;
68
68
  margin-right: 5px;
69
69
  }
70
+
71
+ &-caret {
72
+ font-size: 16px;
73
+ margin-left: 6px;
74
+ }
70
75
  }
71
76
 
72
77
  // Focus style
@@ -12,14 +12,16 @@
12
12
  .rs-sidenav {
13
13
  transition: width @sidenav-collapse-transition-config;
14
14
  width: @sidenav-default-width;
15
+ display: flex;
16
+ flex-direction: column;
15
17
  }
16
18
 
17
19
  .rs-sidenav-nav {
18
20
  list-style: none;
19
21
  padding: 0;
20
22
 
21
- > .rs-sidenav-item,
22
- > .rs-dropdown .rs-dropdown-toggle,
23
+ .rs-sidenav-item,
24
+ .rs-dropdown-toggle,
23
25
  .rs-dropdown-item,
24
26
  .rs-dropdown-item-toggle {
25
27
  padding: @sidenav-padding-vertical @sidenav-padding-horizontal;
@@ -68,11 +70,12 @@
68
70
 
69
71
  // Submenu toggle icon
70
72
  &-icon {
73
+ font-size: @sidenav-item-caret-size;
71
74
  position: absolute;
72
75
  right: @sidenav-padding-horizontal;
73
76
  top: @sidenav-children-padding-vertical;
74
- width: auto;
75
- height: @sidenav-dropdown-toggle-caret-width;
77
+ // width: auto;
78
+ // height: @sidenav-dropdown-toggle-caret-width;
76
79
  transform: rotate(90deg);
77
80
  }
78
81
  }
@@ -115,6 +118,7 @@
115
118
  padding-right: (@sidenav-padding-horizontal + @sidenav-dropdown-toggle-caret-width);
116
119
 
117
120
  .rs-dropdown-toggle-caret {
121
+ font-size: @sidenav-item-caret-size;
118
122
  right: @sidenav-padding-horizontal;
119
123
  top: @sidenav-padding-vertical;
120
124
 
@@ -183,6 +187,22 @@
183
187
  }
184
188
  }
185
189
 
190
+ // TODO Consider rename as sidenav-footer
191
+ .rs-sidenav-toggle {
192
+ height: @sidenav-footer-height;
193
+ border-top: 1px solid;
194
+ margin-top: auto;
195
+
196
+ &-button {
197
+ float: right;
198
+ width: @sidenav-compact-width;
199
+ height: 100%;
200
+ border: none;
201
+ border-radius: 0;
202
+ color: inherit;
203
+ }
204
+ }
205
+
186
206
  // Expanded styles
187
207
  .rs-sidenav-collapse-in {
188
208
  width: @sidenav-collapse-in-width;
@@ -412,12 +432,14 @@
412
432
  color: var(--rs-sidenav-default-text);
413
433
 
414
434
  .rs-sidenav-item,
415
- .rs-dropdown-toggle {
435
+ .rs-dropdown-toggle,
436
+ .rs-sidenav-toggle-button {
416
437
  background-color: var(--rs-sidenav-default-bg);
417
438
  }
418
439
 
419
440
  .rs-sidenav-item:hover,
420
441
  .rs-dropdown .rs-dropdown-toggle:hover,
442
+ .rs-sidenav-toggle-button:hover,
421
443
  .rs-dropdown.rs-dropdown-open .rs-dropdown-toggle {
422
444
  background-color: var(--rs-sidenav-default-hover-bg);
423
445
  color: var(--rs-sidenav-default-hover-text);
@@ -425,10 +447,14 @@
425
447
 
426
448
  .rs-sidenav-item.rs-sidenav-item-active,
427
449
  .rs-dropdown-item.rs-dropdown-item-active,
428
- .rs-dropdown.rs-dropdown-selected-within .rs-dropdown-toggle-icon {
450
+ .rs-dropdown.rs-dropdown-selected-within .rs-sidenav-item-icon {
429
451
  color: var(--rs-sidenav-default-selected-text);
430
452
  }
431
453
 
454
+ .rs-sidenav-toggle {
455
+ border-top-color: var(--rs-sidenav-default-footer-border);
456
+ }
457
+
432
458
  // Collapsed
433
459
  &.rs-sidenav-collapse-out {
434
460
  .rs-dropdown-item.rs-dropdown-item-active {
@@ -466,7 +492,7 @@
466
492
  .rs-sidenav-default.rs-sidenav-collapsing,
467
493
  .rs-sidenav-default.rs-sidenav-collapse-out {
468
494
  // Set active Level1 style
469
- .rs-dropdown.rs-dropdown-selected-within .rs-dropdown-toggle-icon {
495
+ .rs-dropdown.rs-dropdown-selected-within .rs-sidenav-item-icon {
470
496
  color: var(--rs-sidenav-default-selected-text);
471
497
  }
472
498
  }
@@ -478,6 +504,7 @@
478
504
 
479
505
  .rs-sidenav-item,
480
506
  .rs-dropdown .rs-dropdown-toggle,
507
+ .rs-sidenav-toggle-button,
481
508
  .rs-dropdown-item-submenu:hover > .rs-dropdown-item-toggle {
482
509
  background-color: var(--rs-sidenav-inverse-bg);
483
510
 
@@ -489,7 +516,8 @@
489
516
 
490
517
  .rs-dropdown-item,
491
518
  .rs-dropdown-item > .rs-dropdown-menu-toggle,
492
- .rs-dropdown-item > .rs-dropdown-item-toggle {
519
+ .rs-dropdown-item > .rs-dropdown-item-toggle,
520
+ .rs-sidenav-toggle-button {
493
521
  color: var(--rs-sidenav-inverse-text);
494
522
 
495
523
  &:hover,
@@ -525,20 +553,26 @@
525
553
  .rs-dropdown-item.rs-dropdown-item-active {
526
554
  background-color: var(--rs-sidenav-inverse-selected-bg);
527
555
  }
556
+
557
+ .rs-sidenav-toggle {
558
+ border-top-color: var(--rs-sidenav-inverse-footer-border);
559
+ }
528
560
  }
529
561
 
530
562
  // Subtle Sidenav
531
563
  .rs-sidenav-subtle {
532
564
  background-color: transparent;
533
- color: var(--rs-sidenav-subtle-text);
534
565
 
535
566
  .rs-sidenav-item,
536
- .rs-dropdown .rs-dropdown-toggle {
567
+ .rs-dropdown-toggle,
568
+ .rs-dropdown-item,
569
+ .rs-sidenav-toggle-button {
537
570
  background-color: transparent;
571
+ color: var(--rs-sidenav-subtle-text);
538
572
 
539
573
  &:hover,
540
- &:focus {
541
- background-color: transparent;
574
+ &:focus-visible {
575
+ background-color: var(--rs-sidenav-subtle-hover-bg);
542
576
  color: var(--rs-sidenav-subtle-hover-text);
543
577
  }
544
578
  }
@@ -546,7 +580,7 @@
546
580
  // Active
547
581
  .rs-sidenav-item.rs-sidenav-item-active,
548
582
  .rs-dropdown-item.rs-dropdown-item-active,
549
- .rs-dropdown.rs-dropdown-selected-within .rs-dropdown-toggle {
583
+ .rs-dropdown.rs-dropdown-selected-within .rs-sidenav-item-icon {
550
584
  color: var(--rs-sidenav-subtle-selected-text);
551
585
  }
552
586
 
@@ -558,6 +592,10 @@
558
592
  background-color: var(--rs-sidenav-subtle-hover-bg);
559
593
  }
560
594
  }
595
+
596
+ .rs-sidenav-toggle {
597
+ border-top-color: var(--rs-sidenav-subtle-footer-border);
598
+ }
561
599
  }
562
600
 
563
601
  .rs-sidenav-subtle.rs-sidenav-collapse-in,
@@ -567,7 +605,7 @@
567
605
  color: var(--rs-sidenav-subtle-text);
568
606
 
569
607
  &:hover,
570
- &:focus {
608
+ &:focus-visible {
571
609
  background-color: var(--rs-sidenav-subtle-hover-bg);
572
610
  color: var(--rs-sidenav-subtle-hover-text);
573
611
  }
@@ -584,8 +622,6 @@
584
622
  .rs-sidenav-subtle.rs-sidenav-collapse-out {
585
623
  // Set active Level1 style
586
624
  .rs-dropdown.rs-dropdown-selected-within .rs-dropdown-toggle {
587
- color: var(--rs-sidenav-subtle-text);
588
-
589
625
  &:hover {
590
626
  background-color: var(--rs-sidenav-subtle-hover-bg);
591
627
  }
@@ -222,9 +222,7 @@
222
222
  &-column-resize-spanner {
223
223
  .column-resize-spanner();
224
224
 
225
- border-left: @table-column-resize-spanner-gap-width solid var(--rs-bg-card);
226
225
  box-sizing: content-box;
227
- margin-left: (-1 * @table-column-resize-spanner-gap-width);
228
226
 
229
227
  &::after,
230
228
  &::before {
@@ -31,8 +31,8 @@
31
31
  }
32
32
 
33
33
  // Arrows
34
- &::before,
35
- &::after {
34
+ &-arrow::before,
35
+ &-arrow::after {
36
36
  content: ' ';
37
37
  display: block;
38
38
  position: absolute;
@@ -42,14 +42,14 @@
42
42
  border-style: solid;
43
43
  }
44
44
 
45
- &::before {
45
+ &-arrow::before {
46
46
  display: none;
47
47
  }
48
48
 
49
49
  .high-contrast-mode({
50
50
  border: 1px solid var(--rs-border-primary);
51
51
 
52
- &::before {
52
+ &-arrow::before {
53
53
  display: block;
54
54
  }
55
55
  });
@@ -149,4 +149,10 @@ export interface Offset {
149
149
  height: number;
150
150
  }
151
151
  export declare type OnChangeCallback<T, E = React.SyntheticEvent> = (value: T, event: E) => void;
152
+ export declare type CursorPosition = {
153
+ top: number;
154
+ left: number;
155
+ clientTop: number;
156
+ clientLeft: number;
157
+ };
152
158
  export {};
@@ -123,11 +123,13 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
123
123
  return /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenuItem, {
124
124
  classPrefix: "picker-cascader-menu-item",
125
125
  as: 'li',
126
+ role: "treeitem",
126
127
  key: layer + "-" + onlyKey,
127
128
  disabled: disabled,
128
129
  active: !(0, _isUndefined.default)(activeItemValue) && (0, _utils.shallowEqual)(activeItemValue, value),
129
130
  focus: focus,
130
131
  value: value,
132
+ "aria-owns": node.children ? 'treeitem-' + value + '-children' : undefined,
131
133
  className: children ? prefix('has-children') : undefined,
132
134
  onSelect: function onSelect(_value, event) {
133
135
  return handleSelect(layer, node, event);
@@ -143,14 +145,15 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
143
145
  };
144
146
  var cascadeNodes = cascadeData.map(function (children, layer) {
145
147
  var onlyKey = layer + "_" + children.length;
148
+ var parentNode = cascadePaths[layer - 1];
146
149
 
147
150
  var menu = /*#__PURE__*/_react.default.createElement("ul", {
148
- role: "listbox"
151
+ role: layer === 0 ? 'none presentation' : 'group',
152
+ id: parentNode ? 'treeitem-' + parentNode[valueKey] + '-children' : undefined
149
153
  }, children.map(function (item, index) {
150
154
  return renderCascadeNode(item, index, layer, cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]));
151
155
  }));
152
156
 
153
- var parentNode = cascadePaths[layer - 1];
154
157
  return /*#__PURE__*/_react.default.createElement("div", {
155
158
  key: onlyKey,
156
159
  className: prefix('column'),
@@ -162,7 +165,9 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
162
165
  }
163
166
  }, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
164
167
  });
165
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
168
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
169
+ role: "tree"
170
+ }, rest, {
166
171
  ref: (0, _utils.mergeRefs)(rootRef, ref),
167
172
  className: classes
168
173
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -6,7 +6,7 @@ export declare function getColumnsAndPaths<T extends ItemDataType>(data: T[], va
6
6
  paths: T[];
7
7
  };
8
8
  export declare function usePaths(props: CascaderProps): {
9
- enforceUpdate: (nextValue: any, isAttachChildren?: boolean | undefined) => void;
9
+ enforceUpdate: (nextValue: any, isAttachChildren?: boolean) => void;
10
10
  columnData: ItemDataType<string | number>[][];
11
11
  valueToPaths: ItemDataType<string | number>[];
12
12
  selectedPaths: ItemDataType<string | number>[];
package/cjs/Col/Col.d.ts CHANGED
@@ -1,21 +1,29 @@
1
1
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
2
2
  export interface ColProps extends WithAsProps {
3
- /** The number of columns you wish to span for Extra small devices Phones (< 480px) */
3
+ /** The number of columns you wish to span for Extra small devices Phones (< 576px) */
4
4
  xs?: number;
5
- /** The number of columns you wish to span for Small devices Tablets (≥ 480px) */
5
+ /** The number of columns you wish to span for Small devices Tablets (≥ 576px) */
6
6
  sm?: number;
7
- /** The number of columns you wish to span for Medium devices Desktops (≥ 992px) */
7
+ /** The number of columns you wish to span for Medium devices Desktops (≥ 768px) */
8
8
  md?: number;
9
- /** The number of columns you wish to span for Large devices Desktops (≥ 1200px) */
9
+ /** The number of columns you wish to span for Large devices Desktops (≥ 992px) */
10
10
  lg?: number;
11
+ /** The number of columns you wish to span for Extra Large devices Desktops (≥ 1200px) */
12
+ xl?: number;
13
+ /** The number of columns you wish to span for Ultra Large devices Desktops (≥ 1400px) */
14
+ xxl?: number;
11
15
  /** Move columns to the right for Extra small devices Phones */
12
16
  xsOffset?: number;
13
17
  /** Move columns to the right for Small devices Tablets */
14
18
  smOffset?: number;
15
19
  /** Move columns to the right for Medium devices Desktops */
16
20
  mdOffset?: number;
17
- /** Move columns to the right for Medium devices Desktops */
21
+ /** Move columns to the right for Large devices Desktops */
18
22
  lgOffset?: number;
23
+ /** Move columns to the right for Extra large devices Desktops */
24
+ xlOffset?: number;
25
+ /** Move columns to the right for Ultra large devices Desktops */
26
+ xxlOffset?: number;
19
27
  /** Change the order of grid columns to the right for Extra small devices Phones */
20
28
  xsPush?: number;
21
29
  /** Change the order of grid columns to the right for Small devices Tablets */
@@ -24,6 +32,10 @@ export interface ColProps extends WithAsProps {
24
32
  mdPush?: number;
25
33
  /** Change the order of grid columns to the right for Large devices Desktops */
26
34
  lgPush?: number;
35
+ /** Change the order of grid columns to the right for Extra large devices Desktops */
36
+ xlPush?: number;
37
+ /** Change the order of grid columns to the right for Ultra large devices Desktops */
38
+ xxlPush?: number;
27
39
  /** Change the order of grid columns to the left for Extra small devices Phones */
28
40
  xsPull?: number;
29
41
  /** Change the order of grid columns to the left for Small devices Tablets */
@@ -32,6 +44,10 @@ export interface ColProps extends WithAsProps {
32
44
  mdPull?: number;
33
45
  /** Change the order of grid columns to the left for Large devices Desktops */
34
46
  lgPull?: number;
47
+ /** Change the order of grid columns to the left for Extra large devices Desktops */
48
+ xlPull?: number;
49
+ /** Change the order of grid columns to the left for Ultra large devices Desktops */
50
+ xxlPull?: number;
35
51
  /** Hide column on Extra small devices Phones */
36
52
  xsHidden?: boolean;
37
53
  /** Hide column on Small devices Tablets */
@@ -40,6 +56,10 @@ export interface ColProps extends WithAsProps {
40
56
  mdHidden?: boolean;
41
57
  /** Hide column on Large devices Desktops */
42
58
  lgHidden?: boolean;
59
+ /** Hide column on Extra large devices Desktops */
60
+ xlHidden?: boolean;
61
+ /** Hide column on Ultra large devices Desktops */
62
+ xxlHidden?: boolean;
43
63
  }
44
64
  declare const Col: RsRefForwardingComponent<'div', ColProps>;
45
65
  export default Col;
package/cjs/Col/Col.js CHANGED
@@ -39,7 +39,7 @@ var Col = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
39
  return rest[key];
40
40
  };
41
41
 
42
- _utils.SIZE.forEach(function (size) {
42
+ _utils.COLUMN_SIZE.forEach(function (size) {
43
43
  var col = getPropValue(size);
44
44
  var hidden = getPropValue(size + "Hidden");
45
45
  var offset = getPropValue(size + "Offset");
@@ -70,10 +70,14 @@ Col.propTypes = {
70
70
  sm: _propTypes.default.number,
71
71
  md: _propTypes.default.number,
72
72
  lg: _propTypes.default.number,
73
+ xl: _propTypes.default.number,
74
+ xxl: _propTypes.default.number,
73
75
  xsOffset: _propTypes.default.number,
74
76
  smOffset: _propTypes.default.number,
75
77
  mdOffset: _propTypes.default.number,
76
78
  lgOffset: _propTypes.default.number,
79
+ xlOffset: _propTypes.default.number,
80
+ xxlOffset: _propTypes.default.number,
77
81
  xsPush: _propTypes.default.number,
78
82
  smPush: _propTypes.default.number,
79
83
  mdPush: _propTypes.default.number,
@@ -82,10 +86,14 @@ Col.propTypes = {
82
86
  smPull: _propTypes.default.number,
83
87
  mdPull: _propTypes.default.number,
84
88
  lgPull: _propTypes.default.number,
89
+ xlPull: _propTypes.default.number,
90
+ xxlPull: _propTypes.default.number,
85
91
  xsHidden: _propTypes.default.bool,
86
92
  smHidden: _propTypes.default.bool,
87
93
  mdHidden: _propTypes.default.bool,
88
94
  lgHidden: _propTypes.default.bool,
95
+ xlHidden: _propTypes.default.bool,
96
+ xxlHidden: _propTypes.default.bool,
89
97
  as: _propTypes.default.elementType
90
98
  };
91
99
  var _default = Col;