@broxus/react-uikit 0.21.0 → 0.23.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 (565) hide show
  1. package/dist/assets/accordion.css +135 -0
  2. package/dist/assets/alert.css +120 -0
  3. package/dist/assets/align.css +105 -0
  4. package/dist/assets/animation.css +387 -0
  5. package/dist/assets/article.css +51 -0
  6. package/dist/assets/background.css +209 -0
  7. package/dist/assets/badge.css +46 -0
  8. package/dist/assets/base.css +571 -0
  9. package/dist/assets/breadcrumb.css +69 -0
  10. package/dist/assets/button.css +491 -0
  11. package/dist/assets/card.css +255 -0
  12. package/dist/assets/checkbox.css +240 -0
  13. package/dist/assets/close.css +24 -0
  14. package/dist/assets/column.css +145 -0
  15. package/dist/assets/comment.css +87 -0
  16. package/dist/assets/container.css +171 -0
  17. package/dist/assets/control.css +262 -0
  18. package/dist/assets/cover.css +55 -0
  19. package/dist/assets/datepicker.css +662 -0
  20. package/dist/assets/description-list.css +39 -0
  21. package/dist/assets/divider.css +98 -0
  22. package/dist/assets/dotnav.css +100 -0
  23. package/dist/assets/drawer.css +562 -0
  24. package/dist/assets/drop.css +47 -0
  25. package/dist/assets/dropdown.css +118 -0
  26. package/dist/assets/flex.css +392 -0
  27. package/dist/assets/form.css +486 -0
  28. package/dist/assets/grid.css +545 -0
  29. package/dist/assets/heading.css +175 -0
  30. package/dist/assets/height.css +63 -0
  31. package/dist/assets/icon.css +188 -0
  32. package/dist/assets/iconnav.css +83 -0
  33. package/dist/assets/input-number.css +89 -0
  34. package/dist/assets/input-password.css +24 -0
  35. package/dist/assets/inverse.css +746 -0
  36. package/dist/assets/label.css +70 -0
  37. package/dist/assets/leader.css +44 -0
  38. package/dist/assets/link.css +79 -0
  39. package/dist/assets/list.css +211 -0
  40. package/dist/assets/margin.css +362 -0
  41. package/dist/assets/marker.css +28 -0
  42. package/dist/assets/mixin.css +1 -0
  43. package/dist/assets/mixins.css +1 -0
  44. package/dist/assets/modal.css +227 -0
  45. package/dist/assets/motion.css +492 -0
  46. package/dist/assets/nav.css +406 -0
  47. package/dist/assets/navbar.css +468 -0
  48. package/dist/assets/overlay.css +38 -0
  49. package/dist/assets/padding.css +70 -0
  50. package/dist/assets/pagination.css +78 -0
  51. package/dist/assets/placeholder.css +27 -0
  52. package/dist/assets/position.css +216 -0
  53. package/dist/assets/print.css +43 -0
  54. package/dist/assets/progress.css +79 -0
  55. package/dist/assets/radio.css +196 -0
  56. package/dist/assets/search.css +258 -0
  57. package/dist/assets/section.css +138 -0
  58. package/dist/assets/segmented.css +193 -0
  59. package/dist/assets/select.css +515 -0
  60. package/dist/assets/slider.css +392 -0
  61. package/dist/assets/spinner.css +51 -0
  62. package/dist/assets/sticky.css +31 -0
  63. package/dist/assets/subnav.css +171 -0
  64. package/dist/assets/svg.css +23 -0
  65. package/dist/assets/switch.css +167 -0
  66. package/dist/assets/table.css +224 -0
  67. package/dist/assets/tabs.css +631 -0
  68. package/dist/assets/text.css +385 -0
  69. package/dist/assets/textarea.css +54 -0
  70. package/dist/assets/thumbnav.css +67 -0
  71. package/dist/assets/tile.css +138 -0
  72. package/dist/assets/tooltip.css +47 -0
  73. package/dist/assets/totop.css +32 -0
  74. package/dist/assets/transition.css +154 -0
  75. package/dist/assets/uikit.min.css +1 -0
  76. package/dist/assets/utility.css +494 -0
  77. package/dist/assets/variables.css +1 -0
  78. package/dist/assets/vars.css +89 -0
  79. package/dist/assets/visibility.css +140 -0
  80. package/dist/assets/width.css +538 -0
  81. package/dist/cjs/components/Accordion/Accordion.d.ts +3 -2
  82. package/dist/cjs/components/Accordion/Accordion.js +2 -2
  83. package/dist/cjs/components/Accordion/Item.d.ts +1 -5
  84. package/dist/cjs/components/Accordion/Item.js +2 -7
  85. package/dist/cjs/components/Accordion/index.d.ts +1 -1
  86. package/dist/cjs/components/Alert/index.js +4 -6
  87. package/dist/cjs/components/Align/Align.d.ts +2 -2
  88. package/dist/cjs/components/Align/Align.js +3 -3
  89. package/dist/cjs/components/Align/Center.d.ts +1 -1
  90. package/dist/cjs/components/Align/Left.d.ts +1 -1
  91. package/dist/cjs/components/Align/Right.d.ts +1 -1
  92. package/dist/cjs/components/Article/Article.d.ts +1 -1
  93. package/dist/cjs/components/Article/Article.js +2 -2
  94. package/dist/cjs/components/Article/Meta.d.ts +4 -4
  95. package/dist/cjs/components/Article/Meta.js +3 -3
  96. package/dist/cjs/components/Article/Title.d.ts +4 -4
  97. package/dist/cjs/components/Article/Title.js +3 -3
  98. package/dist/cjs/components/Article/context.d.ts +2 -2
  99. package/dist/cjs/components/Badge/index.d.ts +4 -4
  100. package/dist/cjs/components/Badge/index.js +2 -2
  101. package/dist/cjs/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  102. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +2 -2
  103. package/dist/cjs/components/Breadcrumb/Item.d.ts +1 -1
  104. package/dist/cjs/components/Breadcrumb/Item.js +2 -3
  105. package/dist/cjs/components/Button/Button.d.ts +2 -2
  106. package/dist/cjs/components/Button/Button.js +2 -2
  107. package/dist/cjs/components/Button/Group.d.ts +1 -1
  108. package/dist/cjs/components/Button/Group.js +2 -2
  109. package/dist/cjs/components/Card/Badge.d.ts +1 -1
  110. package/dist/cjs/components/Card/Badge.js +3 -3
  111. package/dist/cjs/components/Card/Body.d.ts +4 -4
  112. package/dist/cjs/components/Card/Body.js +3 -3
  113. package/dist/cjs/components/Card/Card.d.ts +4 -4
  114. package/dist/cjs/components/Card/Card.js +4 -4
  115. package/dist/cjs/components/Card/Footer.d.ts +4 -4
  116. package/dist/cjs/components/Card/Footer.js +3 -3
  117. package/dist/cjs/components/Card/Header.d.ts +4 -4
  118. package/dist/cjs/components/Card/Header.js +3 -3
  119. package/dist/cjs/components/Card/Media.d.ts +4 -4
  120. package/dist/cjs/components/Card/Media.js +3 -3
  121. package/dist/cjs/components/Card/Title.d.ts +4 -4
  122. package/dist/cjs/components/Card/Title.js +3 -3
  123. package/dist/cjs/components/Close/index.d.ts +1 -1
  124. package/dist/cjs/components/Close/index.js +2 -2
  125. package/dist/cjs/components/Component/index.d.ts +1 -1
  126. package/dist/cjs/components/Component/index.js +1 -4
  127. package/dist/cjs/components/ConfigProvider/index.d.ts +55 -40
  128. package/dist/cjs/components/ConfigProvider/index.js +3 -3
  129. package/dist/cjs/components/Container/index.d.ts +7 -2
  130. package/dist/cjs/components/Container/index.js +6 -6
  131. package/dist/cjs/components/Control/Checkbox/Checkbox.d.ts +2 -2
  132. package/dist/cjs/components/Control/Checkbox/Checkbox.js +2 -2
  133. package/dist/cjs/components/Control/Checkbox/Group.d.ts +2 -2
  134. package/dist/cjs/components/Control/Checkbox/Group.js +2 -2
  135. package/dist/cjs/components/Control/Checkbox/index.d.ts +1 -1
  136. package/dist/cjs/components/Control/Input/Input.js +3 -6
  137. package/dist/cjs/components/Control/Input/Number/index.js +4 -4
  138. package/dist/cjs/components/Control/Input/Password/index.js +2 -2
  139. package/dist/cjs/components/Control/Input/useInput.js +2 -1
  140. package/dist/cjs/components/Control/Radio/Group.js +4 -6
  141. package/dist/cjs/components/Control/Radio/Radio.js +2 -2
  142. package/dist/cjs/components/Control/Radio/index.d.ts +1 -1
  143. package/dist/cjs/components/Control/Select/Select.d.ts +18 -0
  144. package/dist/cjs/components/Control/Select/Select.js +248 -0
  145. package/dist/cjs/components/Control/Select/index.d.ts +4 -23
  146. package/dist/cjs/components/Control/Select/index.js +2 -253
  147. package/dist/cjs/components/Control/Select/placements.d.ts +1 -1
  148. package/dist/cjs/components/Control/TextArea/index.d.ts +3 -3
  149. package/dist/cjs/components/Control/TextArea/index.js +8 -7
  150. package/dist/cjs/components/Cover/index.d.ts +1 -1
  151. package/dist/cjs/components/Cover/index.js +2 -2
  152. package/dist/cjs/components/DatePicker/PickerButton.d.ts +1 -1
  153. package/dist/cjs/components/DatePicker/PickerButton.js +4 -2
  154. package/dist/cjs/components/DatePicker/generatePurePicker.js +1 -3
  155. package/dist/cjs/components/DescriptionList/Description.d.ts +1 -1
  156. package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +1 -1
  157. package/dist/cjs/components/DescriptionList/DescriptionList.js +2 -2
  158. package/dist/cjs/components/DescriptionList/Term.d.ts +1 -1
  159. package/dist/cjs/components/Divider/index.d.ts +1 -1
  160. package/dist/cjs/components/Divider/index.js +2 -2
  161. package/dist/cjs/components/Dotnav/Dotnav.d.ts +1 -1
  162. package/dist/cjs/components/Dotnav/Dotnav.js +2 -2
  163. package/dist/cjs/components/Dotnav/Item.d.ts +1 -1
  164. package/dist/cjs/components/Dotnav/Item.js +2 -3
  165. package/dist/cjs/components/Drawer/index.d.ts +3 -3
  166. package/dist/cjs/components/Drawer/index.js +2 -2
  167. package/dist/cjs/components/Drop/index.d.ts +5 -6
  168. package/dist/cjs/components/Drop/index.js +4 -3
  169. package/dist/cjs/components/Dropdown/index.js +2 -2
  170. package/dist/cjs/components/Flex/Flex.d.ts +2 -2
  171. package/dist/cjs/components/Flex/Flex.js +3 -3
  172. package/dist/cjs/components/Flex/Item.d.ts +2 -2
  173. package/dist/cjs/components/Flex/Item.js +3 -3
  174. package/dist/cjs/components/Flex/context.d.ts +2 -2
  175. package/dist/cjs/components/Flex/index.d.ts +1 -1
  176. package/dist/cjs/components/Form/Controls.d.ts +1 -1
  177. package/dist/cjs/components/Form/Controls.js +2 -2
  178. package/dist/cjs/components/Form/ControlsText.d.ts +1 -1
  179. package/dist/cjs/components/Form/ControlsText.js +2 -2
  180. package/dist/cjs/components/Form/Fieldset.d.ts +1 -1
  181. package/dist/cjs/components/Form/Fieldset.js +2 -2
  182. package/dist/cjs/components/Form/Form.d.ts +2 -2
  183. package/dist/cjs/components/Form/Form.js +3 -3
  184. package/dist/cjs/components/Form/Label.d.ts +1 -1
  185. package/dist/cjs/components/Form/Label.js +2 -2
  186. package/dist/cjs/components/Form/Legend.d.ts +1 -1
  187. package/dist/cjs/components/Form/Legend.js +2 -2
  188. package/dist/cjs/components/Form/context.d.ts +2 -2
  189. package/dist/cjs/components/Grid/index.d.ts +4 -4
  190. package/dist/cjs/components/Grid/index.js +3 -3
  191. package/dist/cjs/components/Heading/index.d.ts +4 -4
  192. package/dist/cjs/components/Heading/index.js +2 -2
  193. package/dist/cjs/components/Icon/Button.d.ts +1 -1
  194. package/dist/cjs/components/Icon/Icon.d.ts +4 -4
  195. package/dist/cjs/components/Icon/Icon.js +3 -3
  196. package/dist/cjs/components/Icon/Link.d.ts +1 -1
  197. package/dist/cjs/components/Icon/index.d.ts +1 -1
  198. package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
  199. package/dist/cjs/components/Iconnav/Iconnav.js +2 -2
  200. package/dist/cjs/components/Iconnav/Item.d.ts +1 -1
  201. package/dist/cjs/components/Iconnav/Item.js +2 -3
  202. package/dist/cjs/components/Inverse/index.d.ts +2 -2
  203. package/dist/cjs/components/Inverse/index.js +4 -3
  204. package/dist/cjs/components/Label/index.d.ts +1 -1
  205. package/dist/cjs/components/Label/index.js +2 -2
  206. package/dist/cjs/components/Link/index.d.ts +2 -2
  207. package/dist/cjs/components/Link/index.js +3 -3
  208. package/dist/cjs/components/List/Item.d.ts +1 -3
  209. package/dist/cjs/components/List/List.d.ts +1 -1
  210. package/dist/cjs/components/List/List.js +2 -2
  211. package/dist/cjs/components/Modal/index.d.ts +1 -1
  212. package/dist/cjs/components/Modal/index.js +2 -2
  213. package/dist/cjs/components/Nav/Divider.d.ts +1 -1
  214. package/dist/cjs/components/Nav/Divider.js +5 -10
  215. package/dist/cjs/components/Nav/Group/InternalNavGroup.d.ts +10 -0
  216. package/dist/cjs/components/Nav/Group/{InternalNavItemGroup.js → InternalNavGroup.js} +9 -9
  217. package/dist/cjs/components/Nav/Group/index.d.ts +4 -2
  218. package/dist/cjs/components/Nav/Group/index.js +9 -12
  219. package/dist/cjs/components/Nav/Header.d.ts +1 -3
  220. package/dist/cjs/components/Nav/Header.js +5 -6
  221. package/dist/cjs/components/Nav/Icon/index.d.ts +7 -0
  222. package/dist/cjs/components/Nav/{context/PrivateContext.js → Icon/index.js} +13 -5
  223. package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +1 -5
  224. package/dist/cjs/components/Nav/Item/InternalNavItem.js +26 -47
  225. package/dist/cjs/components/Nav/Item/LegacyNavItem.js +12 -6
  226. package/dist/cjs/components/Nav/Item/index.d.ts +1 -1
  227. package/dist/cjs/components/Nav/Item/index.js +6 -9
  228. package/dist/cjs/components/Nav/Nav.d.ts +8 -21
  229. package/dist/cjs/components/Nav/Nav.js +86 -91
  230. package/dist/cjs/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
  231. package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +6 -6
  232. package/dist/cjs/components/Nav/Sub/InternalSubNav.d.ts +15 -0
  233. package/dist/cjs/components/Nav/Sub/InternalSubNav.js +196 -0
  234. package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +2 -1
  235. package/dist/cjs/components/Nav/Sub/PopupTrigger.js +10 -11
  236. package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -2
  237. package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -5
  238. package/dist/cjs/components/Nav/Sub/index.d.ts +4 -15
  239. package/dist/cjs/components/Nav/Sub/index.js +11 -174
  240. package/dist/cjs/components/Nav/context/NavContext.d.ts +7 -3
  241. package/dist/cjs/components/Nav/context/NavContext.js +6 -6
  242. package/dist/cjs/components/Nav/context/index.d.ts +3 -0
  243. package/dist/cjs/components/Nav/context/index.js +19 -0
  244. package/dist/cjs/components/Nav/hooks/index.d.ts +5 -0
  245. package/dist/cjs/components/Nav/hooks/index.js +21 -0
  246. package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +11 -0
  247. package/dist/cjs/components/Nav/hooks/useAccessibility.js +97 -99
  248. package/dist/cjs/components/Nav/hooks/useActive.js +5 -13
  249. package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +2 -2
  250. package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  251. package/dist/cjs/components/Nav/hooks/useKeyRecords.js +5 -8
  252. package/dist/cjs/components/Nav/types.d.ts +16 -3
  253. package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
  254. package/dist/cjs/components/Nav/utils/alignUtil.js +1 -4
  255. package/dist/cjs/components/Nav/utils/index.d.ts +5 -0
  256. package/dist/cjs/components/Nav/utils/index.js +21 -0
  257. package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +2 -2
  258. package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -34
  259. package/dist/cjs/components/Nav/utils/warnUtil.js +2 -5
  260. package/dist/cjs/components/Navbar/Center.d.ts +2 -2
  261. package/dist/cjs/components/Navbar/Center.js +3 -3
  262. package/dist/cjs/components/Navbar/Container.d.ts +2 -2
  263. package/dist/cjs/components/Navbar/Container.js +3 -3
  264. package/dist/cjs/components/Navbar/Item.d.ts +2 -2
  265. package/dist/cjs/components/Navbar/Item.js +3 -3
  266. package/dist/cjs/components/Navbar/Left.d.ts +2 -2
  267. package/dist/cjs/components/Navbar/Left.js +3 -3
  268. package/dist/cjs/components/Navbar/Nav.d.ts +1 -1
  269. package/dist/cjs/components/Navbar/Nav.js +2 -2
  270. package/dist/cjs/components/Navbar/Navbar.d.ts +1 -1
  271. package/dist/cjs/components/Navbar/Navbar.js +2 -2
  272. package/dist/cjs/components/Navbar/Right.d.ts +2 -2
  273. package/dist/cjs/components/Navbar/Right.js +3 -3
  274. package/dist/cjs/components/Navbar/Toggle.d.ts +2 -2
  275. package/dist/cjs/components/Navbar/Toggle.js +3 -3
  276. package/dist/cjs/components/Overlay/index.d.ts +1 -1
  277. package/dist/cjs/components/Overlay/index.js +3 -3
  278. package/dist/cjs/components/Progress/index.d.ts +1 -1
  279. package/dist/cjs/components/Progress/index.js +2 -2
  280. package/dist/cjs/components/Section/index.d.ts +2 -2
  281. package/dist/cjs/components/Section/index.js +3 -3
  282. package/dist/cjs/components/Segmented/index.d.ts +1 -1
  283. package/dist/cjs/components/Segmented/index.js +2 -2
  284. package/dist/cjs/components/Slider/index.d.ts +3 -0
  285. package/dist/cjs/components/{Nav/hooks/useUUID.js → Slider/index.js} +10 -17
  286. package/dist/cjs/components/Spinner/index.d.ts +1 -1
  287. package/dist/cjs/components/Spinner/index.js +2 -2
  288. package/dist/cjs/components/Subnav/Item.d.ts +1 -1
  289. package/dist/cjs/components/Subnav/Subnav.d.ts +1 -1
  290. package/dist/cjs/components/Subnav/Subnav.js +2 -2
  291. package/dist/cjs/components/Switch/index.d.ts +2 -2
  292. package/dist/cjs/components/Switch/index.js +2 -3
  293. package/dist/cjs/components/Tabs/index.d.ts +6 -4
  294. package/dist/cjs/components/Tabs/index.js +10 -9
  295. package/dist/cjs/components/Text/index.d.ts +4 -4
  296. package/dist/cjs/components/Text/index.js +3 -3
  297. package/dist/cjs/components/Tile/index.d.ts +4 -4
  298. package/dist/cjs/components/Tile/index.js +3 -3
  299. package/dist/cjs/components/Width/Width.d.ts +2 -2
  300. package/dist/cjs/components/Width/Width.js +3 -3
  301. package/dist/cjs/constants.d.ts +12 -0
  302. package/dist/cjs/constants.js +16 -0
  303. package/dist/cjs/index.d.ts +1 -0
  304. package/dist/cjs/index.js +2 -1
  305. package/dist/cjs/utils/motion.d.ts +1 -1
  306. package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
  307. package/dist/esm/components/Accordion/Accordion.js +2 -2
  308. package/dist/esm/components/Accordion/Item.d.ts +1 -5
  309. package/dist/esm/components/Accordion/Item.js +2 -7
  310. package/dist/esm/components/Accordion/index.d.ts +1 -1
  311. package/dist/esm/components/Alert/index.js +4 -6
  312. package/dist/esm/components/Align/Align.d.ts +2 -2
  313. package/dist/esm/components/Align/Align.js +3 -3
  314. package/dist/esm/components/Align/Center.d.ts +1 -1
  315. package/dist/esm/components/Align/Left.d.ts +1 -1
  316. package/dist/esm/components/Align/Right.d.ts +1 -1
  317. package/dist/esm/components/Article/Article.d.ts +1 -1
  318. package/dist/esm/components/Article/Article.js +2 -2
  319. package/dist/esm/components/Article/Meta.d.ts +4 -4
  320. package/dist/esm/components/Article/Meta.js +3 -3
  321. package/dist/esm/components/Article/Title.d.ts +4 -4
  322. package/dist/esm/components/Article/Title.js +3 -3
  323. package/dist/esm/components/Article/context.d.ts +2 -2
  324. package/dist/esm/components/Badge/index.d.ts +4 -4
  325. package/dist/esm/components/Badge/index.js +2 -2
  326. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  327. package/dist/esm/components/Breadcrumb/Breadcrumb.js +2 -2
  328. package/dist/esm/components/Breadcrumb/Item.d.ts +1 -1
  329. package/dist/esm/components/Breadcrumb/Item.js +2 -3
  330. package/dist/esm/components/Button/Button.d.ts +2 -2
  331. package/dist/esm/components/Button/Button.js +2 -2
  332. package/dist/esm/components/Button/Group.d.ts +1 -1
  333. package/dist/esm/components/Button/Group.js +2 -2
  334. package/dist/esm/components/Card/Badge.d.ts +1 -1
  335. package/dist/esm/components/Card/Badge.js +3 -3
  336. package/dist/esm/components/Card/Body.d.ts +4 -4
  337. package/dist/esm/components/Card/Body.js +3 -3
  338. package/dist/esm/components/Card/Card.d.ts +4 -4
  339. package/dist/esm/components/Card/Card.js +4 -4
  340. package/dist/esm/components/Card/Footer.d.ts +4 -4
  341. package/dist/esm/components/Card/Footer.js +3 -3
  342. package/dist/esm/components/Card/Header.d.ts +4 -4
  343. package/dist/esm/components/Card/Header.js +3 -3
  344. package/dist/esm/components/Card/Media.d.ts +4 -4
  345. package/dist/esm/components/Card/Media.js +3 -3
  346. package/dist/esm/components/Card/Title.d.ts +4 -4
  347. package/dist/esm/components/Card/Title.js +3 -3
  348. package/dist/esm/components/Close/index.d.ts +1 -1
  349. package/dist/esm/components/Close/index.js +2 -2
  350. package/dist/esm/components/Component/index.d.ts +1 -1
  351. package/dist/esm/components/Component/index.js +1 -4
  352. package/dist/esm/components/ConfigProvider/index.d.ts +55 -40
  353. package/dist/esm/components/ConfigProvider/index.js +3 -3
  354. package/dist/esm/components/Container/index.d.ts +7 -2
  355. package/dist/esm/components/Container/index.js +4 -4
  356. package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +2 -2
  357. package/dist/esm/components/Control/Checkbox/Checkbox.js +2 -2
  358. package/dist/esm/components/Control/Checkbox/Group.d.ts +2 -2
  359. package/dist/esm/components/Control/Checkbox/Group.js +2 -2
  360. package/dist/esm/components/Control/Checkbox/index.d.ts +1 -1
  361. package/dist/esm/components/Control/Input/Input.js +2 -5
  362. package/dist/esm/components/Control/Input/Number/index.js +3 -3
  363. package/dist/esm/components/Control/Input/Password/index.js +2 -2
  364. package/dist/esm/components/Control/Input/useInput.js +2 -1
  365. package/dist/esm/components/Control/Radio/Group.js +4 -6
  366. package/dist/esm/components/Control/Radio/Radio.js +2 -2
  367. package/dist/esm/components/Control/Radio/index.d.ts +1 -1
  368. package/dist/esm/components/Control/Select/Select.d.ts +18 -0
  369. package/dist/esm/components/Control/Select/Select.js +209 -0
  370. package/dist/esm/components/Control/Select/index.d.ts +4 -23
  371. package/dist/esm/components/Control/Select/index.js +1 -217
  372. package/dist/esm/components/Control/Select/placements.d.ts +1 -1
  373. package/dist/esm/components/Control/TextArea/index.d.ts +3 -3
  374. package/dist/esm/components/Control/TextArea/index.js +7 -6
  375. package/dist/esm/components/Cover/index.d.ts +1 -1
  376. package/dist/esm/components/Cover/index.js +2 -2
  377. package/dist/esm/components/DatePicker/PickerButton.d.ts +1 -1
  378. package/dist/esm/components/DatePicker/PickerButton.js +3 -1
  379. package/dist/esm/components/DatePicker/generatePurePicker.js +1 -3
  380. package/dist/esm/components/DescriptionList/Description.d.ts +1 -1
  381. package/dist/esm/components/DescriptionList/DescriptionList.d.ts +1 -1
  382. package/dist/esm/components/DescriptionList/DescriptionList.js +2 -2
  383. package/dist/esm/components/DescriptionList/Term.d.ts +1 -1
  384. package/dist/esm/components/Divider/index.d.ts +1 -1
  385. package/dist/esm/components/Divider/index.js +2 -2
  386. package/dist/esm/components/Dotnav/Dotnav.d.ts +1 -1
  387. package/dist/esm/components/Dotnav/Dotnav.js +2 -2
  388. package/dist/esm/components/Dotnav/Item.d.ts +1 -1
  389. package/dist/esm/components/Dotnav/Item.js +2 -3
  390. package/dist/esm/components/Drawer/index.d.ts +3 -3
  391. package/dist/esm/components/Drawer/index.js +2 -2
  392. package/dist/esm/components/Drop/index.d.ts +5 -6
  393. package/dist/esm/components/Drop/index.js +4 -3
  394. package/dist/esm/components/Dropdown/index.js +2 -2
  395. package/dist/esm/components/Flex/Flex.d.ts +2 -2
  396. package/dist/esm/components/Flex/Flex.js +3 -3
  397. package/dist/esm/components/Flex/Item.d.ts +2 -2
  398. package/dist/esm/components/Flex/Item.js +3 -3
  399. package/dist/esm/components/Flex/context.d.ts +2 -2
  400. package/dist/esm/components/Flex/index.d.ts +1 -1
  401. package/dist/esm/components/Form/Controls.d.ts +1 -1
  402. package/dist/esm/components/Form/Controls.js +2 -2
  403. package/dist/esm/components/Form/ControlsText.d.ts +1 -1
  404. package/dist/esm/components/Form/ControlsText.js +2 -2
  405. package/dist/esm/components/Form/Fieldset.d.ts +1 -1
  406. package/dist/esm/components/Form/Fieldset.js +2 -2
  407. package/dist/esm/components/Form/Form.d.ts +2 -2
  408. package/dist/esm/components/Form/Form.js +3 -3
  409. package/dist/esm/components/Form/Label.d.ts +1 -1
  410. package/dist/esm/components/Form/Label.js +2 -2
  411. package/dist/esm/components/Form/Legend.d.ts +1 -1
  412. package/dist/esm/components/Form/Legend.js +2 -2
  413. package/dist/esm/components/Form/context.d.ts +2 -2
  414. package/dist/esm/components/Grid/index.d.ts +4 -4
  415. package/dist/esm/components/Grid/index.js +3 -3
  416. package/dist/esm/components/Heading/index.d.ts +4 -4
  417. package/dist/esm/components/Heading/index.js +2 -2
  418. package/dist/esm/components/Icon/Button.d.ts +1 -1
  419. package/dist/esm/components/Icon/Icon.d.ts +4 -4
  420. package/dist/esm/components/Icon/Icon.js +3 -3
  421. package/dist/esm/components/Icon/Link.d.ts +1 -1
  422. package/dist/esm/components/Icon/index.d.ts +1 -1
  423. package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
  424. package/dist/esm/components/Iconnav/Iconnav.js +2 -2
  425. package/dist/esm/components/Iconnav/Item.d.ts +1 -1
  426. package/dist/esm/components/Iconnav/Item.js +2 -3
  427. package/dist/esm/components/Inverse/index.d.ts +2 -2
  428. package/dist/esm/components/Inverse/index.js +2 -2
  429. package/dist/esm/components/Label/index.d.ts +1 -1
  430. package/dist/esm/components/Label/index.js +2 -2
  431. package/dist/esm/components/Link/index.d.ts +2 -2
  432. package/dist/esm/components/Link/index.js +3 -3
  433. package/dist/esm/components/List/Item.d.ts +1 -3
  434. package/dist/esm/components/List/List.d.ts +1 -1
  435. package/dist/esm/components/List/List.js +2 -2
  436. package/dist/esm/components/Modal/index.d.ts +1 -1
  437. package/dist/esm/components/Modal/index.js +2 -2
  438. package/dist/esm/components/Nav/Divider.d.ts +1 -1
  439. package/dist/esm/components/Nav/Divider.js +3 -8
  440. package/dist/esm/components/Nav/Group/InternalNavGroup.d.ts +10 -0
  441. package/dist/esm/components/Nav/Group/InternalNavGroup.js +16 -0
  442. package/dist/esm/components/Nav/Group/index.d.ts +4 -2
  443. package/dist/esm/components/Nav/Group/index.js +6 -6
  444. package/dist/esm/components/Nav/Header.d.ts +1 -3
  445. package/dist/esm/components/Nav/Header.js +4 -5
  446. package/dist/esm/components/Nav/Icon/index.d.ts +7 -0
  447. package/dist/esm/components/Nav/Icon/index.js +14 -0
  448. package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +1 -5
  449. package/dist/esm/components/Nav/Item/InternalNavItem.js +16 -37
  450. package/dist/esm/components/Nav/Item/LegacyNavItem.js +11 -5
  451. package/dist/esm/components/Nav/Item/index.d.ts +1 -1
  452. package/dist/esm/components/Nav/Item/index.js +4 -7
  453. package/dist/esm/components/Nav/Nav.d.ts +8 -21
  454. package/dist/esm/components/Nav/Nav.js +72 -77
  455. package/dist/esm/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
  456. package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
  457. package/dist/esm/components/Nav/Sub/InternalSubNav.d.ts +15 -0
  458. package/dist/esm/components/Nav/Sub/InternalSubNav.js +157 -0
  459. package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +2 -1
  460. package/dist/esm/components/Nav/Sub/PopupTrigger.js +9 -10
  461. package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -2
  462. package/dist/esm/components/Nav/Sub/SubNavList.js +4 -4
  463. package/dist/esm/components/Nav/Sub/index.d.ts +4 -15
  464. package/dist/esm/components/Nav/Sub/index.js +7 -167
  465. package/dist/esm/components/Nav/context/NavContext.d.ts +7 -3
  466. package/dist/esm/components/Nav/context/NavContext.js +6 -6
  467. package/dist/esm/components/Nav/context/index.d.ts +3 -0
  468. package/dist/esm/components/Nav/context/index.js +3 -0
  469. package/dist/esm/components/Nav/hooks/index.d.ts +5 -0
  470. package/dist/esm/components/Nav/hooks/index.js +5 -0
  471. package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +11 -0
  472. package/dist/esm/components/Nav/hooks/useAccessibility.js +96 -100
  473. package/dist/esm/components/Nav/hooks/useActive.js +5 -13
  474. package/dist/esm/components/Nav/hooks/useDirectionStyle.js +1 -1
  475. package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  476. package/dist/esm/components/Nav/hooks/useKeyRecords.js +3 -3
  477. package/dist/esm/components/Nav/types.d.ts +16 -3
  478. package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
  479. package/dist/esm/components/Nav/utils/alignUtil.js +1 -4
  480. package/dist/esm/components/Nav/utils/index.d.ts +5 -0
  481. package/dist/esm/components/Nav/utils/index.js +5 -0
  482. package/dist/esm/components/Nav/utils/nodeUtil.d.ts +2 -2
  483. package/dist/esm/components/Nav/utils/nodeUtil.js +38 -31
  484. package/dist/esm/components/Nav/utils/warnUtil.js +1 -1
  485. package/dist/esm/components/Navbar/Center.d.ts +2 -2
  486. package/dist/esm/components/Navbar/Center.js +3 -3
  487. package/dist/esm/components/Navbar/Container.d.ts +2 -2
  488. package/dist/esm/components/Navbar/Container.js +3 -3
  489. package/dist/esm/components/Navbar/Item.d.ts +2 -2
  490. package/dist/esm/components/Navbar/Item.js +3 -3
  491. package/dist/esm/components/Navbar/Left.d.ts +2 -2
  492. package/dist/esm/components/Navbar/Left.js +3 -3
  493. package/dist/esm/components/Navbar/Nav.d.ts +1 -1
  494. package/dist/esm/components/Navbar/Nav.js +2 -2
  495. package/dist/esm/components/Navbar/Navbar.d.ts +1 -1
  496. package/dist/esm/components/Navbar/Navbar.js +2 -2
  497. package/dist/esm/components/Navbar/Right.d.ts +2 -2
  498. package/dist/esm/components/Navbar/Right.js +3 -3
  499. package/dist/esm/components/Navbar/Toggle.d.ts +2 -2
  500. package/dist/esm/components/Navbar/Toggle.js +3 -3
  501. package/dist/esm/components/Overlay/index.d.ts +1 -1
  502. package/dist/esm/components/Overlay/index.js +3 -3
  503. package/dist/esm/components/Progress/index.d.ts +1 -1
  504. package/dist/esm/components/Progress/index.js +2 -2
  505. package/dist/esm/components/Section/index.d.ts +2 -2
  506. package/dist/esm/components/Section/index.js +3 -3
  507. package/dist/esm/components/Segmented/index.d.ts +1 -1
  508. package/dist/esm/components/Segmented/index.js +2 -2
  509. package/dist/esm/components/Slider/index.d.ts +3 -0
  510. package/dist/esm/components/Slider/index.js +10 -0
  511. package/dist/esm/components/Spinner/index.d.ts +1 -1
  512. package/dist/esm/components/Spinner/index.js +2 -2
  513. package/dist/esm/components/Subnav/Item.d.ts +1 -1
  514. package/dist/esm/components/Subnav/Subnav.d.ts +1 -1
  515. package/dist/esm/components/Subnav/Subnav.js +2 -2
  516. package/dist/esm/components/Switch/index.d.ts +2 -2
  517. package/dist/esm/components/Switch/index.js +2 -3
  518. package/dist/esm/components/Tabs/index.d.ts +6 -4
  519. package/dist/esm/components/Tabs/index.js +10 -9
  520. package/dist/esm/components/Text/index.d.ts +4 -4
  521. package/dist/esm/components/Text/index.js +3 -3
  522. package/dist/esm/components/Tile/index.d.ts +4 -4
  523. package/dist/esm/components/Tile/index.js +3 -3
  524. package/dist/esm/components/Width/Width.d.ts +2 -2
  525. package/dist/esm/components/Width/Width.js +3 -3
  526. package/dist/esm/constants.d.ts +12 -0
  527. package/dist/esm/constants.js +13 -0
  528. package/dist/esm/index.d.ts +1 -0
  529. package/dist/esm/index.js +1 -0
  530. package/dist/esm/utils/motion.d.ts +1 -1
  531. package/package.json +30 -29
  532. package/styles/_import.components.scss +3 -5
  533. package/styles/_import.scss +5 -8
  534. package/styles/accordion.scss +56 -30
  535. package/styles/alert.scss +6 -5
  536. package/styles/animation.scss +64 -213
  537. package/styles/background.scss +34 -131
  538. package/styles/base.scss +37 -65
  539. package/styles/breadcrumb.scss +6 -9
  540. package/styles/button.scss +22 -62
  541. package/styles/control.scss +1 -0
  542. package/styles/datepicker.scss +3 -2
  543. package/styles/input-number.scss +11 -21
  544. package/styles/leader.scss +2 -2
  545. package/styles/mixins.scss +40 -31
  546. package/styles/nav.scss +7 -28
  547. package/styles/navbar.scss +185 -160
  548. package/styles/search.scss +16 -46
  549. package/styles/select.scss +111 -292
  550. package/styles/slider.scss +521 -0
  551. package/styles/subnav.scss +1 -1
  552. package/styles/switch.scss +12 -0
  553. package/styles/tabs.scss +65 -37
  554. package/styles/text.scss +65 -65
  555. package/styles/thumbnav.scss +4 -4
  556. package/styles/variables.scss +85 -28
  557. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
  558. package/dist/cjs/components/Nav/context/PrivateContext.d.ts +0 -7
  559. package/dist/cjs/components/Nav/hooks/useUUID.d.ts +0 -1
  560. package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
  561. package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +0 -16
  562. package/dist/esm/components/Nav/context/PrivateContext.d.ts +0 -7
  563. package/dist/esm/components/Nav/context/PrivateContext.js +0 -6
  564. package/dist/esm/components/Nav/hooks/useUUID.d.ts +0 -1
  565. package/dist/esm/components/Nav/hooks/useUUID.js +0 -17
@@ -4,4 +4,4 @@ export interface LabelProps extends React.HTMLAttributes<HTMLSpanElement> {
4
4
  prefixCls?: string;
5
5
  type?: 'success' | 'warning' | 'danger';
6
6
  }
7
- export declare function Label(props: LabelProps): React.JSX.Element;
7
+ export declare function Label({ className, large, type, ...props }: LabelProps): React.ReactElement;
@@ -1,9 +1,9 @@
1
1
  import classNames from 'classnames';
2
2
  import * as React from 'react';
3
3
  import { useConfig } from '../../components/ConfigProvider';
4
- export function Label(props) {
4
+ export function Label({ className, large, type, ...props }) {
5
5
  const config = useConfig();
6
- const { className, large, prefixCls = config.prefixCls, type, ...restProps } = props;
6
+ const { prefixCls = config.prefixCls, ...restProps } = props;
7
7
  const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'label'), [config, prefixCls]);
8
8
  return (React.createElement("span", { className: classNames(rootCls, {
9
9
  [`${rootCls}-${type}`]: type !== undefined,
@@ -4,5 +4,5 @@ export interface LinkOwnProps extends React.AnchorHTMLAttributes<HTMLAnchorEleme
4
4
  prefixCls?: string;
5
5
  type?: 'heading' | 'muted' | 'reset' | 'text' | 'toggle';
6
6
  }
7
- export type LinkProps<E extends React.ElementType = React.ElementType> = React.PropsWithChildren<LinkOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, LinkOwnProps>;
8
- export declare const Link: React.ForwardRefExoticComponent<Omit<LinkProps<React.ElementType<any, keyof React.JSX.IntrinsicElements>>, "ref"> & React.RefAttributes<unknown>>;
7
+ export type LinkProps<E extends React.ElementType = React.ElementType> = LinkOwnProps & PolymorphicProps<E> & PolymorphicProps<E, LinkOwnProps>;
8
+ export declare const Link: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<LinkProps<React.ElementType<any, keyof React.JSX.IntrinsicElements>>>, "ref"> & React.RefAttributes<unknown>>;
@@ -3,13 +3,13 @@ import * as React from 'react';
3
3
  import { Component } from '../../components/Component';
4
4
  import { useConfig } from '../../components/ConfigProvider';
5
5
  const defaultElement = 'a';
6
- export const Link = React.forwardRef((props, ref) => {
6
+ export const Link = React.forwardRef(({ children, className, component = defaultElement, type, ...props }, ref) => {
7
7
  const config = useConfig();
8
- const { children, className, prefixCls = config.prefixCls, type, ...restProps } = props;
8
+ const { prefixCls = config.prefixCls, ...restProps } = props;
9
9
  const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'link'), [config, prefixCls]);
10
10
  return (React.createElement(Component, { ref: ref, className: classNames({
11
11
  [`${rootCls}-${type}`]: type !== undefined,
12
- }, className), component: defaultElement, ...restProps }, children));
12
+ }, className), component: component, ...restProps }, children));
13
13
  });
14
14
  if (process.env.NODE_ENV !== 'production') {
15
15
  Link.displayName = 'Link';
@@ -1,7 +1,5 @@
1
1
  import * as React from 'react';
2
- type Props = React.LiHTMLAttributes<HTMLLIElement>;
3
- export declare function Item(props: Props): React.JSX.Element;
2
+ export declare function Item(props: React.LiHTMLAttributes<HTMLLIElement>): React.ReactElement;
4
3
  export declare namespace Item {
5
4
  var displayName: string;
6
5
  }
7
- export {};
@@ -5,4 +5,4 @@ export interface ListProps extends React.HTMLAttributes<HTMLUListElement> {
5
5
  size?: 'large' | 'collapse';
6
6
  type?: 'bullet' | 'disc' | 'divider' | 'striped' | 'circle' | 'square' | 'decimal' | 'hyphen';
7
7
  }
8
- export declare function List(props: ListProps): React.JSX.Element;
8
+ export declare function List({ className, color, size, type, ...props }: ListProps): React.ReactElement;
@@ -1,9 +1,9 @@
1
1
  import classNames from 'classnames';
2
2
  import * as React from 'react';
3
3
  import { useConfig } from '../../components/ConfigProvider';
4
- export function List(props) {
4
+ export function List({ className, color, size, type, ...props }) {
5
5
  const config = useConfig();
6
- const { className, color, prefixCls = config.prefixCls, size, type, ...restProps } = props;
6
+ const { prefixCls = config.prefixCls, ...restProps } = props;
7
7
  const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'list'), [config, prefixCls]);
8
8
  return (React.createElement("ul", { className: classNames(rootCls, {
9
9
  [`${rootCls}-${color}`]: color !== undefined,
@@ -8,4 +8,4 @@ export interface ModalProps extends Omit<DialogProps, 'afterClose'> {
8
8
  getContainer?: string | HTMLElement | (() => HTMLElement) | false;
9
9
  onClosed?: VoidFunction;
10
10
  }
11
- export declare function Modal(props: ModalProps): React.JSX.Element;
11
+ export declare function Modal({ centered, children, className, closable, closeIcon, focusTriggerAfterClose, full, visible, onClose, onClosed, ...props }: ModalProps): React.ReactElement;
@@ -18,9 +18,9 @@ const getClickPosition = (event) => {
18
18
  if (canUseDocElement()) {
19
19
  document.documentElement.addEventListener('click', getClickPosition, true);
20
20
  }
21
- export function Modal(props) {
21
+ export function Modal({ centered, children, className, closable = true, closeIcon, focusTriggerAfterClose = true, full, visible, onClose, onClosed, ...props }) {
22
22
  const config = useConfig();
23
- const { centered, children, className, closable = true, closeIcon, focusTriggerAfterClose = true, full, prefixCls = config.prefixCls, visible, onClose, onClosed, ...restProps } = props;
23
+ const { prefixCls = config.prefixCls, ...restProps } = props;
24
24
  const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'modal'), [config, prefixCls]);
25
25
  const defaultMaskTransitionName = React.useMemo(() => getMotionName(prefixCls || config.prefixCls, 'fade'), [config.prefixCls, prefixCls]);
26
26
  const defaultTransitionName = React.useMemo(() => getMotionName(prefixCls || config.prefixCls, 'zoom'), [config.prefixCls, prefixCls]);
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type NavDividerType } from '../../components/Nav/types';
3
3
  export type DividerProps = Omit<NavDividerType, 'type'>;
4
- export declare function Divider(props: DividerProps): React.JSX.Element | null;
4
+ export declare function Divider({ className, style }: DividerProps): React.ReactElement | null;
5
5
  export declare namespace Divider {
6
6
  var displayName: string;
7
7
  }
@@ -1,15 +1,10 @@
1
1
  import classNames from 'classnames';
2
2
  import * as React from 'react';
3
- import { NavContext } from '../../components/Nav/context/NavContext';
4
- import { useMeasure } from '../../components/Nav/context/PathContext';
5
- export function Divider(props) {
6
- const { className, style } = props;
3
+ import { NavContext, useMeasure } from '../../components/Nav/context';
4
+ export function Divider({ className, style }) {
7
5
  const { prefixCls } = React.useContext(NavContext);
8
6
  const measure = useMeasure();
9
- if (measure) {
10
- return null;
11
- }
12
- return React.createElement("li", { className: classNames(`${prefixCls}-divider`, className), style: style });
7
+ return measure ? null : (React.createElement("li", { className: classNames(`${prefixCls}-divider`, className), role: "separator", style: style }));
13
8
  }
14
9
  if (process.env.NODE_ENV !== 'production') {
15
10
  Divider.displayName = 'Nav.Divider';
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { type NavItemGroupType } from '../../../components/Nav/types';
3
+ export interface NavGroupProps extends Omit<NavItemGroupType, 'children' | 'type' | 'label'> {
4
+ eventKey?: string;
5
+ title?: React.ReactNode;
6
+ warnKey?: boolean;
7
+ }
8
+ export declare const InternalNavGroup: React.ForwardRefExoticComponent<NavGroupProps & {
9
+ children?: React.ReactNode | undefined;
10
+ } & React.RefAttributes<HTMLLIElement>>;
@@ -0,0 +1,16 @@
1
+ import { stopEventPropagate } from '@broxus/js-utils';
2
+ import { omit } from '@rc-component/util';
3
+ import classNames from 'classnames';
4
+ import * as React from 'react';
5
+ import { NavContext } from '../../../components/Nav/context';
6
+ export const InternalNavGroup = React.forwardRef(({ children, className, title, ...props }, ref) => {
7
+ const { prefixCls } = React.useContext(NavContext);
8
+ const groupRootCls = React.useMemo(() => `${prefixCls}-group`, [prefixCls]);
9
+ const subRootCls = React.useMemo(() => `${prefixCls}-sub`, [prefixCls]);
10
+ return (React.createElement("li", { ref: ref, className: classNames(groupRootCls, className), role: "presentation", ...omit(props, ['eventKey', 'warnKey']), onClick: stopEventPropagate },
11
+ React.createElement("div", { className: `${groupRootCls}-header`, "data-uk-tooltip": "", role: "presentation" }, title),
12
+ React.createElement("ul", { className: subRootCls, role: "group" }, children)));
13
+ });
14
+ if (process.env.NODE_ENV !== 'production') {
15
+ InternalNavGroup.displayName = 'Nav.InternalNavGroup';
16
+ }
@@ -1,3 +1,5 @@
1
1
  import * as React from 'react';
2
- import { type NavItemGroupProps } from '../../../components/Nav/Group/InternalNavItemGroup';
3
- export declare const Group: React.MemoExoticComponent<({ children, eventKey, ...restProps }: NavItemGroupProps) => React.JSX.Element>;
2
+ import { type NavGroupProps } from '../../../components/Nav/Group/InternalNavGroup';
3
+ export declare const Group: React.ForwardRefExoticComponent<NavGroupProps & {
4
+ children?: React.ReactNode | undefined;
5
+ } & React.RefAttributes<HTMLLIElement>>;
@@ -1,16 +1,16 @@
1
- import omit from '@rc-component/util/lib/omit';
1
+ import { omit } from '@rc-component/util';
2
2
  import * as React from 'react';
3
- import { useFullPath, useMeasure } from '../../../components/Nav/context/PathContext';
4
- import { InternalNavItemGroup } from '../../../components/Nav/Group/InternalNavItemGroup';
5
- import { parseChildren } from '../../../components/Nav/utils/nodeUtil';
6
- export const Group = React.memo(({ children, eventKey, ...restProps }) => {
3
+ import { useFullPath, useMeasure } from '../../../components/Nav/context';
4
+ import { InternalNavGroup } from '../../../components/Nav/Group/InternalNavGroup';
5
+ import { parseChildren } from '../../../components/Nav/utils';
6
+ export const Group = React.forwardRef(({ children, eventKey, ...props }, ref) => {
7
7
  const connectedKeyPath = useFullPath(eventKey);
8
8
  const measure = useMeasure();
9
9
  const childList = parseChildren(children, connectedKeyPath);
10
10
  if (measure) {
11
11
  return childList;
12
12
  }
13
- return React.createElement(InternalNavItemGroup, { ...omit(restProps, ['warnKey']) }, childList);
13
+ return (React.createElement(InternalNavGroup, { ref: ref, ...omit(props, ['warnKey']) }, childList));
14
14
  });
15
15
  if (process.env.NODE_ENV !== 'production') {
16
16
  Group.displayName = 'Nav.Group';
@@ -2,13 +2,11 @@ import * as React from 'react';
2
2
  export interface HeaderProps {
3
3
  children: React.ReactNode;
4
4
  className?: string;
5
- /** @private Internal filled key. Do not set it directly */
6
5
  eventKey?: string;
7
6
  style?: React.CSSProperties;
8
- /** @private Do not use. Private warning empty usage */
9
7
  warnKey?: boolean;
10
8
  }
11
- export declare function Header(props: HeaderProps): React.JSX.Element;
9
+ export declare function Header({ className, ...props }: HeaderProps): React.ReactElement;
12
10
  export declare namespace Header {
13
11
  var displayName: string;
14
12
  }
@@ -1,11 +1,10 @@
1
- import omit from '@rc-component/util/lib/omit';
1
+ import { omit } from '@rc-component/util';
2
2
  import classNames from 'classnames';
3
3
  import * as React from 'react';
4
- import { NavContext } from '../../components/Nav/context/NavContext';
5
- export function Header(props) {
6
- const { className, ...restProps } = props;
4
+ import { NavContext } from '../../components/Nav/context';
5
+ export function Header({ className, ...props }) {
7
6
  const { prefixCls } = React.useContext(NavContext);
8
- return React.createElement("li", { className: classNames(`${prefixCls}-header`, className), ...omit(restProps, ['eventKey', 'warnKey']) });
7
+ return (React.createElement("li", { className: classNames(`${prefixCls}-header`, className), role: "presentation", ...omit(props, ['eventKey', 'warnKey']) }));
9
8
  }
10
9
  if (process.env.NODE_ENV !== 'production') {
11
10
  Header.displayName = 'Nav.Header';
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { type RenderIconInfo, type RenderIconType } from '../../../components/Nav/types';
3
+ export interface IconProps {
4
+ icon?: RenderIconType;
5
+ props: RenderIconInfo;
6
+ }
7
+ export default function Icon({ children, icon, props }: React.PropsWithChildren<IconProps>): React.ReactNode;
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ export default function Icon({ children, icon, props }) {
3
+ let iconNode;
4
+ if (icon === null || icon === false) {
5
+ return null;
6
+ }
7
+ if (typeof icon === 'function') {
8
+ iconNode = React.createElement(icon, { ...props });
9
+ }
10
+ else if (typeof icon !== 'boolean') {
11
+ iconNode = icon;
12
+ }
13
+ return iconNode || children || null;
14
+ }
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type NavItemType } from '../../../components/Nav/types';
3
3
  export interface NavItemProps extends Omit<NavItemType, 'label' | 'key'>, Omit<React.HTMLAttributes<HTMLLIElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onSelect'> {
4
- children?: React.ReactNode;
5
4
  /**
6
5
  * Internal filled key. Do not set it directly
7
6
  * @private
@@ -13,7 +12,4 @@ export interface NavItemProps extends Omit<NavItemType, 'label' | 'key'>, Omit<R
13
12
  */
14
13
  warnKey?: boolean;
15
14
  }
16
- export declare function InternalNavItem({ children, className, disabled, eventKey, itemIcon, role, style, warnKey, onClick, onFocus, onKeyDown, onMouseEnter, onMouseLeave, ...restProps }: NavItemProps): React.JSX.Element;
17
- export declare namespace InternalNavItem {
18
- var displayName: string;
19
- }
15
+ export declare const InternalNavItem: React.ForwardRefExoticComponent<NavItemProps & React.RefAttributes<HTMLElement>>;
@@ -1,24 +1,21 @@
1
- import KeyCode from '@rc-component/util/lib/KeyCode';
2
- import warning from '@rc-component/util/lib/warning';
1
+ import { omit, useComposeRef, warning } from '@rc-component/util';
3
2
  import classNames from 'classnames';
4
3
  import * as React from 'react';
5
4
  import { useConfig } from '../../../components/ConfigProvider';
6
- import { useNavId } from '../../../components/Nav/context/IdContext';
7
- import { NavContext } from '../../../components/Nav/context/NavContext';
8
- import { useFullPath } from '../../../components/Nav/context/PathContext';
9
- import { PrivateContext } from '../../../components/Nav/context/PrivateContext';
10
- import { useActive } from '../../../components/Nav/hooks/useActive';
11
- import { useDirectionStyle } from '../../../components/Nav/hooks/useDirectionStyle';
5
+ import { NavContext, useFullPath, useNavId } from '../../../components/Nav/context';
6
+ import { useActive, useDirectionStyle } from '../../../components/Nav/hooks';
7
+ import Icon from '../../../components/Nav/Icon';
12
8
  import { LegacyNavItem } from '../../../components/Nav/Item/LegacyNavItem';
13
- import { warnItemProp } from '../../../components/Nav/utils/warnUtil';
14
- export function InternalNavItem({ children, className, disabled, eventKey, itemIcon, role, style, warnKey, onClick, onFocus, onKeyDown, onMouseEnter, onMouseLeave, ...restProps }) {
9
+ import { warnItemProp } from '../../../components/Nav/utils';
10
+ import { KeyCode } from '../../../constants';
11
+ export const InternalNavItem = React.forwardRef(({ children, className, disabled, eventKey, itemIcon, role, style, warnKey, onClick, onFocus, onKeyDown, onMouseEnter, onMouseLeave, ...props }, ref) => {
15
12
  const config = useConfig();
16
13
  const domDataId = useNavId(eventKey);
17
14
  const { disabled: contextDisabled = disabled, itemIcon: contextItemIcon, overflowDisabled, selectedKeys, onActive, onItemClick, } = React.useContext(NavContext);
18
- const { _internalRenderMenuItem } = React.useContext(PrivateContext);
19
15
  const legacyNavItemRef = React.useRef(null);
20
16
  const elementRef = React.useRef(null);
21
17
  const mergedDisabled = contextDisabled || disabled;
18
+ const mergedEleRef = useComposeRef(ref, elementRef);
22
19
  const connectedKeys = useFullPath(eventKey);
23
20
  // ================================ Warn ================================
24
21
  if (process.env.NODE_ENV !== 'production' && warnKey) {
@@ -32,6 +29,8 @@ export function InternalNavItem({ children, className, disabled, eventKey, itemI
32
29
  // Note: For legacy code is reversed which not like other antd component
33
30
  keyPath: [...connectedKeys].reverse(),
34
31
  });
32
+ // ============================= Icon =============================
33
+ const mergedItemIcon = itemIcon || contextItemIcon;
35
34
  // ============================ Active ============================
36
35
  const { active, ...activeProps } = useActive(eventKey, disabled, onMouseEnter, onMouseLeave);
37
36
  // ============================ Select ============================
@@ -49,7 +48,7 @@ export function InternalNavItem({ children, className, disabled, eventKey, itemI
49
48
  };
50
49
  const onInternalKeyDown = event => {
51
50
  onKeyDown?.(event);
52
- if (event.which === KeyCode.ENTER) {
51
+ if (event.code === KeyCode.Enter) {
53
52
  const info = getEventInfo(event);
54
53
  // Legacy. Key will also trigger click event
55
54
  onClick?.(warnItemProp(info));
@@ -70,34 +69,14 @@ export function InternalNavItem({ children, className, disabled, eventKey, itemI
70
69
  if (role === 'option') {
71
70
  optionRoleProps['aria-selected'] = selected || false;
72
71
  }
73
- let renderNode = (React.createElement(LegacyNavItem, { ref: legacyNavItemRef, "aria-disabled": disabled, className: classNames({
72
+ return (React.createElement(LegacyNavItem, { ref: legacyNavItemRef, "data-nav-id": overflowDisabled && domDataId ? null : domDataId, elementRef: mergedEleRef, role: (role === null || disabled) ? 'none' : role || 'menuitem', tabIndex: disabled ? null : -1, ...omit(props, ['extra']), ...activeProps, ...optionRoleProps, "aria-disabled": disabled, className: classNames(className, {
74
73
  [`${config.prefixCls}-active`]: selected,
75
74
  [`${config.prefixCls}-disabled`]: disabled,
76
75
  [`${config.prefixCls}-hover`]: active,
77
- }, className), component: "li", "data-nav-id": overflowDisabled && domDataId ? null : domDataId, elementRef: elementRef, role: role === null ? 'none' : role || 'menuitem', style: {
78
- ...directionStyle,
79
- ...style,
80
- }, tabIndex: disabled ? null : -1, ...optionRoleProps, ...restProps, ...activeProps, onClick: onInternalClick, onFocus: onInternalFocus, onKeyDown: onInternalKeyDown },
81
- itemIcon || contextItemIcon,
82
- children));
83
- if (_internalRenderMenuItem) {
84
- renderNode = _internalRenderMenuItem(renderNode, {
85
- children,
86
- className,
87
- disabled,
88
- itemIcon,
89
- role,
90
- style,
91
- onClick,
92
- onFocus,
93
- onKeyDown,
94
- onMouseEnter,
95
- onMouseLeave,
96
- ...restProps,
97
- }, { selected });
98
- }
99
- return renderNode;
100
- }
76
+ }), component: "li", style: { ...directionStyle, ...style }, onClick: onInternalClick, onFocus: onInternalFocus, onKeyDown: onInternalKeyDown },
77
+ children,
78
+ React.createElement(Icon, { icon: mergedItemIcon, props: { ...props, isSelected: selected } })));
79
+ });
101
80
  if (process.env.NODE_ENV !== 'production') {
102
81
  InternalNavItem.displayName = 'Nav.InternalNavItem';
103
82
  }
@@ -1,12 +1,18 @@
1
- import omit from '@rc-component/util/lib/omit';
2
- import warning from '@rc-component/util/lib/warning';
1
+ import { omit, warning } from '@rc-component/util';
3
2
  import Overflow from 'rc-overflow';
4
3
  import * as React from 'react';
5
4
  export class LegacyNavItem extends React.Component {
6
5
  render() {
7
- const { attribute, elementRef, title, ...restProps } = this.props;
8
- const passedProps = omit(restProps, ['eventKey', 'warnKey']);
6
+ const { attribute, elementRef, ...props } = this.props;
7
+ const passedProps = omit(props, [
8
+ 'eventKey',
9
+ 'popupClassName',
10
+ 'popupOffset',
11
+ 'title',
12
+ 'warnKey',
13
+ 'onTitleClick',
14
+ ]);
9
15
  warning(!attribute, '`attribute` of Nav.Item is deprecated. Please pass attribute directly.');
10
- return (React.createElement(Overflow.Item, { ...attribute, title: typeof title === 'string' ? title : undefined, ...passedProps, ref: elementRef }));
16
+ return React.createElement(Overflow.Item, { ref: elementRef, ...attribute, ...passedProps });
11
17
  }
12
18
  }
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  import { type NavItemProps } from '../../../components/Nav/Item/InternalNavItem';
3
- export declare const Item: React.MemoExoticComponent<({ eventKey, ...restProps }: NavItemProps) => React.JSX.Element | null>;
3
+ export declare const Item: React.ForwardRefExoticComponent<NavItemProps & React.RefAttributes<HTMLElement>>;
@@ -1,12 +1,12 @@
1
1
  import { noop } from '@broxus/js-utils';
2
2
  import * as React from 'react';
3
- import { useFullPath, useMeasure } from '../../../components/Nav/context/PathContext';
3
+ import { useFullPath, useMeasure } from '../../../components/Nav/context';
4
4
  import { InternalNavItem } from '../../../components/Nav/Item/InternalNavItem';
5
- export const Item = React.memo(({ eventKey, ...restProps }) => {
5
+ export const Item = React.forwardRef(({ eventKey, ...props }, ref) => {
6
6
  const measure = useMeasure();
7
7
  const connectedKeyPath = useFullPath(eventKey);
8
8
  React.useEffect(() => {
9
- if (eventKey !== undefined) {
9
+ if (eventKey) {
10
10
  measure?.registerPath(eventKey, connectedKeyPath);
11
11
  return () => {
12
12
  measure?.unregisterPath(eventKey, connectedKeyPath);
@@ -14,10 +14,7 @@ export const Item = React.memo(({ eventKey, ...restProps }) => {
14
14
  }
15
15
  return noop;
16
16
  }, [connectedKeyPath, eventKey, measure]);
17
- if (measure) {
18
- return null;
19
- }
20
- return React.createElement(InternalNavItem, { eventKey: eventKey, ...restProps });
17
+ return measure ? null : React.createElement(InternalNavItem, { ref: ref, eventKey: eventKey, ...props });
21
18
  });
22
19
  if (process.env.NODE_ENV !== 'production') {
23
20
  Item.displayName = 'Nav.Item';
@@ -1,28 +1,12 @@
1
- import { type CSSMotionProps } from 'rc-motion';
1
+ import { type CSSMotionProps } from '@rc-component/motion';
2
2
  import * as React from 'react';
3
- import { type BuiltinPlacements, type ItemType, type NavClickEventHandler, type NavMode, type NavModifier, type NavRef, type RenderIconType, type SelectEventHandler, type TriggerSubNavAction } from '../../components/Nav/types';
3
+ import { type SemanticName } from '../../components/Nav/Sub/InternalSubNav';
4
+ import { type BuiltinPlacements, type ItemType, type NavClickEventHandler, type NavMode, type NavModifier, type NavPopupRender, type NavRef, type RenderIconType, type SelectEventHandler, type TriggerSubNavAction } from '../../components/Nav/types';
4
5
  import { type Direction } from '../../types';
5
6
  export interface NavProps extends Omit<React.HTMLAttributes<HTMLUListElement>, 'onClick' | 'onSelect' | 'dir'> {
6
- /**
7
- * @private Only used for `pro-layout`. Do not use in your prod directly,
8
- * and we do not promise any compatibility for this.
9
- */
10
- _internalRenderMenuItem?: (originNode: React.ReactElement, menuItemProps: any, stateProps: {
11
- selected: boolean;
12
- }) => React.ReactElement;
13
- /**
14
- * @private Only used for `pro-layout`. Do not use in your prod directly,
15
- * and we do not promise any compatibility for this.
16
- */
17
- _internalRenderSubMenuItem?: (originNode: React.ReactElement, subMenuItemProps: any, stateProps: {
18
- active: boolean;
19
- disabled: boolean;
20
- open: boolean;
21
- selected: boolean;
22
- }) => React.ReactElement;
23
7
  activeKey?: string;
24
8
  builtinPlacements?: BuiltinPlacements;
25
- children?: React.ReactNode;
9
+ classNames?: Partial<Record<SemanticName, string>>;
26
10
  defaultActiveFirst?: boolean;
27
11
  defaultMotions?: Partial<{
28
12
  [key in NavMode | 'other']: CSSMotionProps;
@@ -31,7 +15,6 @@ export interface NavProps extends Omit<React.HTMLAttributes<HTMLUListElement>, '
31
15
  defaultSelectedKeys?: string[];
32
16
  direction?: Direction;
33
17
  disabled?: boolean;
34
- disabledOverflow?: boolean;
35
18
  expandIcon?: RenderIconType;
36
19
  forceSubNavRender?: boolean;
37
20
  getPopupContainer?: (node: HTMLElement) => HTMLElement;
@@ -43,12 +26,16 @@ export interface NavProps extends Omit<React.HTMLAttributes<HTMLUListElement>, '
43
26
  motion?: CSSMotionProps;
44
27
  multiple?: boolean;
45
28
  openKeys?: string[];
29
+ overflowDisabled?: boolean;
46
30
  overflowedIndicator?: React.ReactNode;
47
31
  overflowedIndicatorPopupClassName?: string;
48
32
  popupPrefixCls?: string;
33
+ popupRender?: NavPopupRender;
49
34
  prefixCls?: string;
35
+ rootClassName?: string;
50
36
  selectable?: boolean;
51
37
  selectedKeys?: string[];
38
+ styles?: Partial<Record<SemanticName, React.CSSProperties>>;
52
39
  subNavCloseDelay?: number;
53
40
  subNavOpenDelay?: number;
54
41
  triggerSubNavAction?: TriggerSubNavAction;