@broxus/react-uikit 0.1.3 → 0.2.1

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 (601) hide show
  1. package/LICENSE +154 -167
  2. package/dist/cjs/components/Accordion/Accordion.d.ts +3 -2
  3. package/dist/cjs/components/Accordion/Accordion.js +8 -5
  4. package/dist/cjs/components/Accordion/Item.d.ts +3 -6
  5. package/dist/cjs/components/Accordion/Item.js +6 -6
  6. package/dist/cjs/components/Accordion/index.d.ts +6 -5
  7. package/dist/cjs/components/Accordion/index.js +2 -2
  8. package/dist/cjs/components/Alert/index.d.ts +3 -3
  9. package/dist/cjs/components/Alert/index.js +17 -10
  10. package/dist/cjs/components/Align/Align.d.ts +5 -7
  11. package/dist/cjs/components/Align/Align.js +9 -6
  12. package/dist/cjs/components/Align/Left.d.ts +3 -5
  13. package/dist/cjs/components/Align/Left.js +3 -6
  14. package/dist/cjs/components/Align/Right.d.ts +3 -5
  15. package/dist/cjs/components/Align/Right.js +3 -6
  16. package/dist/cjs/components/Align/index.d.ts +8 -7
  17. package/dist/cjs/components/Align/index.js +3 -3
  18. package/dist/cjs/components/Article/Article.d.ts +1 -1
  19. package/dist/cjs/components/Article/Article.js +9 -4
  20. package/dist/cjs/components/Article/Meta.d.ts +4 -9
  21. package/dist/cjs/components/Article/Meta.js +8 -6
  22. package/dist/cjs/components/Article/Title.d.ts +4 -9
  23. package/dist/cjs/components/Article/Title.js +8 -6
  24. package/dist/cjs/components/Article/index.d.ts +7 -9
  25. package/dist/cjs/components/Article/index.js +3 -3
  26. package/dist/cjs/components/Badge/index.d.ts +4 -6
  27. package/dist/cjs/components/Badge/index.js +7 -4
  28. package/dist/cjs/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  29. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +7 -4
  30. package/dist/cjs/components/Breadcrumb/Item.d.ts +1 -4
  31. package/dist/cjs/components/Breadcrumb/Item.js +3 -4
  32. package/dist/cjs/components/Breadcrumb/index.d.ts +5 -5
  33. package/dist/cjs/components/Breadcrumb/index.js +2 -2
  34. package/dist/cjs/components/Button/Button.d.ts +1 -1
  35. package/dist/cjs/components/Button/Button.js +16 -14
  36. package/dist/cjs/components/Button/Group.d.ts +1 -4
  37. package/dist/cjs/components/Button/Group.js +6 -6
  38. package/dist/cjs/components/Button/index.d.ts +5 -5
  39. package/dist/cjs/components/Button/index.js +2 -2
  40. package/dist/cjs/components/Card/Badge.d.ts +3 -7
  41. package/dist/cjs/components/Card/Badge.js +10 -7
  42. package/dist/cjs/components/Card/Body.d.ts +1 -4
  43. package/dist/cjs/components/Card/Body.js +8 -6
  44. package/dist/cjs/components/Card/Card.d.ts +4 -6
  45. package/dist/cjs/components/Card/Card.js +17 -11
  46. package/dist/cjs/components/Card/Footer.d.ts +4 -9
  47. package/dist/cjs/components/Card/Footer.js +8 -6
  48. package/dist/cjs/components/Card/Header.d.ts +4 -9
  49. package/dist/cjs/components/Card/Header.js +8 -6
  50. package/dist/cjs/components/Card/Media.d.ts +1 -4
  51. package/dist/cjs/components/Card/Media.js +8 -6
  52. package/dist/cjs/components/Card/Title.d.ts +4 -9
  53. package/dist/cjs/components/Card/Title.js +9 -7
  54. package/dist/cjs/components/Card/index.d.ts +10 -10
  55. package/dist/cjs/components/Card/index.js +7 -7
  56. package/dist/cjs/components/Close/index.d.ts +3 -7
  57. package/dist/cjs/components/Close/index.js +7 -4
  58. package/dist/cjs/components/Component/index.d.ts +9 -4
  59. package/dist/cjs/components/Component/index.js +26 -2
  60. package/dist/cjs/components/ComponentProvider/index.d.ts +11 -0
  61. package/dist/cjs/components/ComponentProvider/index.js +49 -0
  62. package/dist/cjs/components/ConfrigProvider/index.d.ts +9 -7
  63. package/dist/cjs/components/ConfrigProvider/index.js +37 -7
  64. package/dist/cjs/components/Container/index.d.ts +4 -5
  65. package/dist/cjs/components/Container/index.js +12 -7
  66. package/dist/cjs/components/Control/Checkbox/Checkbox.d.ts +7 -2
  67. package/dist/cjs/components/Control/Checkbox/Checkbox.js +68 -46
  68. package/dist/cjs/components/Control/Checkbox/CheckboxGroupContext.d.ts +26 -0
  69. package/dist/cjs/components/Control/Checkbox/{Context.js → CheckboxGroupContext.js} +6 -3
  70. package/dist/cjs/components/Control/Checkbox/Group.d.ts +14 -2
  71. package/dist/cjs/components/Control/Checkbox/Group.js +31 -28
  72. package/dist/cjs/components/Control/Checkbox/index.d.ts +8 -6
  73. package/dist/cjs/components/Control/Checkbox/index.js +3 -3
  74. package/dist/cjs/components/Control/Checkbox/index.scss +15 -8
  75. package/dist/cjs/components/Control/Checkbox/types.d.ts +3 -66
  76. package/dist/cjs/components/Control/Input/Input.d.ts +2 -2
  77. package/dist/cjs/components/Control/Input/Input.js +22 -13
  78. package/dist/cjs/components/Control/Input/Number/index.d.ts +2 -2
  79. package/dist/cjs/components/Control/Input/Number/index.js +24 -19
  80. package/dist/cjs/components/Control/Input/Password/index.d.ts +2 -2
  81. package/dist/cjs/components/Control/Input/Password/index.js +39 -27
  82. package/dist/cjs/components/Control/Input/index.d.ts +7 -7
  83. package/dist/cjs/components/Control/Input/index.js +5 -5
  84. package/dist/cjs/components/Control/Input/types.d.ts +5 -5
  85. package/dist/cjs/components/Control/Input/useInput.d.ts +5 -4
  86. package/dist/cjs/components/Control/Input/useInput.js +47 -50
  87. package/dist/cjs/components/Control/Radio/Group.d.ts +7 -2
  88. package/dist/cjs/components/Control/Radio/Group.js +24 -17
  89. package/dist/cjs/components/Control/Radio/Radio.d.ts +6 -2
  90. package/dist/cjs/components/Control/Radio/Radio.js +58 -40
  91. package/dist/cjs/components/Control/Radio/RadioGroupContext.d.ts +9 -0
  92. package/dist/cjs/components/Control/Radio/{Context.js → RadioGroupContext.js} +6 -3
  93. package/dist/cjs/components/Control/Radio/index.d.ts +6 -6
  94. package/dist/cjs/components/Control/Radio/index.js +2 -17
  95. package/dist/cjs/components/Control/Radio/index.scss +9 -5
  96. package/dist/cjs/components/Control/Select/index.d.ts +8 -12
  97. package/dist/cjs/components/Control/Select/index.js +72 -49
  98. package/dist/cjs/components/Control/TextArea/index.d.ts +3 -10
  99. package/dist/cjs/components/Control/TextArea/index.js +51 -47
  100. package/dist/cjs/components/Control/TextArea/index.scss +10 -1
  101. package/dist/cjs/components/Control/index.d.ts +6 -6
  102. package/dist/cjs/components/Control/index.js +6 -6
  103. package/dist/cjs/components/Control/index.scss +6 -0
  104. package/dist/cjs/components/Control/types.d.ts +8 -7
  105. package/dist/cjs/components/Cover/index.d.ts +2 -1
  106. package/dist/cjs/components/Cover/index.js +24 -17
  107. package/dist/cjs/components/DescriptionList/Description.d.ts +1 -6
  108. package/dist/cjs/components/DescriptionList/Description.js +2 -5
  109. package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +2 -1
  110. package/dist/cjs/components/DescriptionList/DescriptionList.js +10 -5
  111. package/dist/cjs/components/DescriptionList/Term.d.ts +1 -6
  112. package/dist/cjs/components/DescriptionList/Term.js +2 -5
  113. package/dist/cjs/components/DescriptionList/index.d.ts +6 -6
  114. package/dist/cjs/components/DescriptionList/index.js +3 -3
  115. package/dist/cjs/components/Divider/index.d.ts +2 -1
  116. package/dist/cjs/components/Divider/index.js +11 -6
  117. package/dist/cjs/components/Dotnav/Dotnav.d.ts +2 -1
  118. package/dist/cjs/components/Dotnav/Dotnav.js +10 -5
  119. package/dist/cjs/components/Dotnav/Item.d.ts +1 -4
  120. package/dist/cjs/components/Dotnav/Item.js +7 -6
  121. package/dist/cjs/components/Dotnav/index.d.ts +5 -5
  122. package/dist/cjs/components/Dotnav/index.js +2 -2
  123. package/dist/cjs/components/Drawer/index.d.ts +7 -44
  124. package/dist/cjs/components/Drawer/index.js +40 -139
  125. package/dist/cjs/components/Drawer/index.scss +11 -14
  126. package/dist/cjs/components/Drop/index.d.ts +12 -4
  127. package/dist/cjs/components/Drop/index.js +38 -21
  128. package/dist/cjs/components/Drop/index.scss +0 -26
  129. package/dist/cjs/components/Dropdown/index.d.ts +3 -3
  130. package/dist/cjs/components/Dropdown/index.js +5 -2
  131. package/dist/cjs/components/Flex/index.d.ts +15 -16
  132. package/dist/cjs/components/Flex/index.js +15 -13
  133. package/dist/cjs/components/Form/Controls.d.ts +3 -4
  134. package/dist/cjs/components/Form/Controls.js +10 -6
  135. package/dist/cjs/components/Form/ControlsText.d.ts +3 -4
  136. package/dist/cjs/components/Form/ControlsText.js +10 -6
  137. package/dist/cjs/components/Form/Fieldset.d.ts +4 -4
  138. package/dist/cjs/components/Form/Fieldset.js +10 -6
  139. package/dist/cjs/components/Form/Form.d.ts +4 -5
  140. package/dist/cjs/components/Form/Form.js +11 -7
  141. package/dist/cjs/components/Form/Label.d.ts +3 -4
  142. package/dist/cjs/components/Form/Label.js +9 -6
  143. package/dist/cjs/components/Form/Legend.d.ts +3 -4
  144. package/dist/cjs/components/Form/Legend.js +8 -6
  145. package/dist/cjs/components/Form/index.d.ts +9 -9
  146. package/dist/cjs/components/Form/index.js +6 -6
  147. package/dist/cjs/components/Grid/index.d.ts +7 -8
  148. package/dist/cjs/components/Grid/index.js +13 -11
  149. package/dist/cjs/components/Heading/index.d.ts +5 -6
  150. package/dist/cjs/components/Heading/index.js +11 -6
  151. package/dist/cjs/components/Icon/Button.d.ts +3 -5
  152. package/dist/cjs/components/Icon/Button.js +3 -6
  153. package/dist/cjs/components/Icon/Icon.d.ts +4 -6
  154. package/dist/cjs/components/Icon/Icon.js +9 -9
  155. package/dist/cjs/components/Icon/Link.d.ts +3 -5
  156. package/dist/cjs/components/Icon/Link.js +3 -6
  157. package/dist/cjs/components/Icon/default-svg-props.d.ts +1 -1
  158. package/dist/cjs/components/Icon/default-svg-props.js +2 -2
  159. package/dist/cjs/components/Icon/index.d.ts +9 -9
  160. package/dist/cjs/components/Icon/index.js +5 -5
  161. package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
  162. package/dist/cjs/components/Iconnav/Iconnav.js +6 -6
  163. package/dist/cjs/components/Iconnav/Item.d.ts +1 -5
  164. package/dist/cjs/components/Iconnav/Item.js +4 -5
  165. package/dist/cjs/components/Iconnav/index.d.ts +5 -5
  166. package/dist/cjs/components/Iconnav/index.js +2 -2
  167. package/dist/cjs/components/Label/index.d.ts +1 -1
  168. package/dist/cjs/components/Label/index.js +7 -7
  169. package/dist/cjs/components/Label/index.scss +1 -1
  170. package/dist/cjs/components/Link/index.d.ts +3 -3
  171. package/dist/cjs/components/Link/index.js +9 -3
  172. package/dist/cjs/components/List/Item.d.ts +2 -5
  173. package/dist/cjs/components/List/Item.js +2 -5
  174. package/dist/cjs/components/List/List.d.ts +1 -1
  175. package/dist/cjs/components/List/List.js +8 -8
  176. package/dist/cjs/components/List/index.d.ts +5 -5
  177. package/dist/cjs/components/List/index.js +2 -2
  178. package/dist/cjs/components/Modal/Modal.d.ts +4 -3
  179. package/dist/cjs/components/Modal/Modal.js +19 -16
  180. package/dist/cjs/components/Modal/index.d.ts +1 -1
  181. package/dist/cjs/components/Modal/index.js +1 -1
  182. package/dist/cjs/components/Nav/Divider.d.ts +3 -8
  183. package/dist/cjs/components/Nav/Divider.js +6 -7
  184. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
  185. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.js +42 -0
  186. package/dist/cjs/components/Nav/Group/index.d.ts +3 -0
  187. package/dist/cjs/components/Nav/{Group.js → Group/index.js} +10 -19
  188. package/dist/cjs/components/Nav/Header.d.ts +1 -1
  189. package/dist/cjs/components/Nav/Header.js +2 -2
  190. package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +16 -2
  191. package/dist/cjs/components/Nav/Item/InternalNavItem.js +54 -35
  192. package/dist/cjs/components/Nav/Item/LegacyNavItem.js +1 -1
  193. package/dist/cjs/components/Nav/Item/index.d.ts +2 -28
  194. package/dist/cjs/components/Nav/Item/index.js +6 -7
  195. package/dist/cjs/components/Nav/Nav.d.ts +23 -5
  196. package/dist/cjs/components/Nav/Nav.js +165 -123
  197. package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +3 -3
  198. package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +6 -6
  199. package/dist/cjs/components/Nav/Sub/PopupTrigger.js +21 -14
  200. package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -1
  201. package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -3
  202. package/dist/cjs/components/Nav/Sub/index.d.ts +3 -19
  203. package/dist/cjs/components/Nav/Sub/index.js +58 -41
  204. package/dist/cjs/components/Nav/context/IdContext.js +3 -0
  205. package/dist/cjs/components/Nav/context/NavContext.d.ts +5 -4
  206. package/dist/cjs/components/Nav/context/NavContext.js +9 -3
  207. package/dist/cjs/components/Nav/context/PathContext.js +5 -0
  208. package/dist/cjs/components/Nav/context/PrivateContext.d.ts +7 -0
  209. package/dist/cjs/components/{Component/Component.js → Nav/context/PrivateContext.js} +2 -3
  210. package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +2 -2
  211. package/dist/cjs/components/Nav/hooks/useAccessibility.js +4 -3
  212. package/dist/cjs/components/Nav/hooks/useActive.d.ts +2 -2
  213. package/dist/cjs/components/Nav/hooks/useActive.js +6 -5
  214. package/dist/cjs/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
  215. package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +37 -0
  216. package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  217. package/dist/cjs/components/Nav/hooks/useKeyRecords.js +14 -14
  218. package/dist/cjs/components/Nav/hooks/useMemoCallback.d.ts +1 -1
  219. package/dist/cjs/components/Nav/hooks/useMemoCallback.js +3 -1
  220. package/dist/cjs/components/Nav/hooks/useUUID.d.ts +1 -1
  221. package/dist/cjs/components/Nav/hooks/useUUID.js +3 -2
  222. package/dist/cjs/components/Nav/index.d.ts +9 -9
  223. package/dist/cjs/components/Nav/index.js +6 -6
  224. package/dist/cjs/components/Nav/index.scss +10 -7
  225. package/dist/cjs/components/Nav/types.d.ts +58 -10
  226. package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
  227. package/dist/cjs/components/Nav/utils/motionUtil.d.ts +5 -2
  228. package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +3 -1
  229. package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -1
  230. package/dist/cjs/components/Nav/utils/warnUtil.d.ts +1 -1
  231. package/dist/cjs/components/Navbar/Center.d.ts +5 -7
  232. package/dist/cjs/components/Navbar/Center.js +8 -6
  233. package/dist/cjs/components/Navbar/Container.d.ts +4 -8
  234. package/dist/cjs/components/Navbar/Container.js +9 -7
  235. package/dist/cjs/components/Navbar/Item.d.ts +5 -8
  236. package/dist/cjs/components/Navbar/Item.js +8 -6
  237. package/dist/cjs/components/Navbar/Left.d.ts +5 -7
  238. package/dist/cjs/components/Navbar/Left.js +8 -6
  239. package/dist/cjs/components/Navbar/Nav.d.ts +1 -1
  240. package/dist/cjs/components/Navbar/Nav.js +5 -2
  241. package/dist/cjs/components/Navbar/Right.d.ts +3 -3
  242. package/dist/cjs/components/Navbar/Toggle.d.ts +5 -4
  243. package/dist/cjs/components/Navbar/index.d.ts +11 -11
  244. package/dist/cjs/components/Navbar/index.js +8 -8
  245. package/dist/cjs/components/Progress/index.d.ts +6 -0
  246. package/dist/cjs/components/Progress/index.js +39 -0
  247. package/dist/cjs/components/Progress/index.scss +129 -0
  248. package/dist/cjs/components/Section/index.d.ts +4 -6
  249. package/dist/cjs/components/Section/index.js +10 -8
  250. package/dist/cjs/components/Spinner/index.d.ts +3 -3
  251. package/dist/cjs/components/Spinner/index.js +7 -5
  252. package/dist/cjs/components/Tabs/index.d.ts +7 -11
  253. package/dist/cjs/components/Tabs/index.js +17 -18
  254. package/dist/cjs/components/Tabs/index.scss +9 -1
  255. package/dist/cjs/components/Text/index.d.ts +7 -8
  256. package/dist/cjs/components/Text/index.js +22 -20
  257. package/dist/cjs/components/Tile/index.d.ts +5 -6
  258. package/dist/cjs/components/Tile/index.js +10 -8
  259. package/dist/cjs/components/Tile/index.scss +8 -8
  260. package/dist/cjs/components/Width/Width.d.ts +5 -6
  261. package/dist/cjs/components/Width/Width.js +12 -6
  262. package/dist/cjs/components/Width/index.d.ts +3 -3
  263. package/dist/cjs/components/Width/index.js +3 -3
  264. package/dist/cjs/components/Width/types.d.ts +6 -6
  265. package/dist/cjs/components/Width/utils.d.ts +1 -1
  266. package/dist/cjs/components/Width/utils.js +3 -1
  267. package/dist/cjs/hooks/index.d.ts +3 -0
  268. package/dist/cjs/{utils/hooks → hooks}/index.js +3 -1
  269. package/dist/cjs/hooks/useContext.d.ts +2 -0
  270. package/dist/cjs/hooks/useContext.js +35 -0
  271. package/dist/cjs/hooks/useMounted.d.ts +1 -0
  272. package/dist/cjs/hooks/useMounted.js +38 -0
  273. package/dist/cjs/index.d.ts +33 -30
  274. package/dist/cjs/index.js +33 -30
  275. package/dist/cjs/styles/_import.components.scss +1 -2
  276. package/dist/cjs/styles/_import.scss +1 -2
  277. package/dist/cjs/styles/animation.scss +35 -35
  278. package/dist/cjs/styles/column.scss +0 -1
  279. package/dist/cjs/styles/mixins.scss +30 -1
  280. package/dist/cjs/styles/motion.scss +367 -44
  281. package/dist/cjs/styles/progress.scss +1 -129
  282. package/dist/cjs/styles/variables.scss +9 -5
  283. package/dist/cjs/types.d.ts +15 -3
  284. package/dist/cjs/utils/get-breakpoints-config-classes.d.ts +1 -1
  285. package/dist/cjs/utils/get-breakpoints-config-classes.js +1 -1
  286. package/dist/cjs/utils/index.d.ts +3 -4
  287. package/dist/cjs/utils/index.js +3 -4
  288. package/dist/cjs/utils/motion.d.ts +3 -3
  289. package/dist/cjs/utils/motion.js +23 -21
  290. package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
  291. package/dist/esm/components/Accordion/Accordion.js +8 -4
  292. package/dist/esm/components/Accordion/Item.d.ts +3 -6
  293. package/dist/esm/components/Accordion/Item.js +5 -4
  294. package/dist/esm/components/Accordion/index.d.ts +6 -5
  295. package/dist/esm/components/Accordion/index.js +2 -2
  296. package/dist/esm/components/Alert/index.d.ts +3 -3
  297. package/dist/esm/components/Alert/index.js +17 -10
  298. package/dist/esm/components/Align/Align.d.ts +5 -7
  299. package/dist/esm/components/Align/Align.js +9 -5
  300. package/dist/esm/components/Align/Left.d.ts +3 -5
  301. package/dist/esm/components/Align/Left.js +2 -4
  302. package/dist/esm/components/Align/Right.d.ts +3 -5
  303. package/dist/esm/components/Align/Right.js +2 -4
  304. package/dist/esm/components/Align/index.d.ts +8 -7
  305. package/dist/esm/components/Align/index.js +3 -3
  306. package/dist/esm/components/Article/Article.d.ts +1 -1
  307. package/dist/esm/components/Article/Article.js +9 -3
  308. package/dist/esm/components/Article/Meta.d.ts +4 -9
  309. package/dist/esm/components/Article/Meta.js +7 -4
  310. package/dist/esm/components/Article/Title.d.ts +4 -9
  311. package/dist/esm/components/Article/Title.js +7 -4
  312. package/dist/esm/components/Article/index.d.ts +7 -9
  313. package/dist/esm/components/Article/index.js +3 -3
  314. package/dist/esm/components/Badge/index.d.ts +4 -6
  315. package/dist/esm/components/Badge/index.js +7 -3
  316. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  317. package/dist/esm/components/Breadcrumb/Breadcrumb.js +7 -3
  318. package/dist/esm/components/Breadcrumb/Item.d.ts +1 -4
  319. package/dist/esm/components/Breadcrumb/Item.js +2 -2
  320. package/dist/esm/components/Breadcrumb/index.d.ts +5 -5
  321. package/dist/esm/components/Breadcrumb/index.js +3 -3
  322. package/dist/esm/components/Button/Button.d.ts +1 -1
  323. package/dist/esm/components/Button/Button.js +16 -14
  324. package/dist/esm/components/Button/Group.d.ts +1 -4
  325. package/dist/esm/components/Button/Group.js +5 -4
  326. package/dist/esm/components/Button/index.d.ts +5 -5
  327. package/dist/esm/components/Button/index.js +2 -2
  328. package/dist/esm/components/Card/Badge.d.ts +3 -7
  329. package/dist/esm/components/Card/Badge.js +9 -5
  330. package/dist/esm/components/Card/Body.d.ts +1 -4
  331. package/dist/esm/components/Card/Body.js +7 -4
  332. package/dist/esm/components/Card/Card.d.ts +4 -6
  333. package/dist/esm/components/Card/Card.js +17 -10
  334. package/dist/esm/components/Card/Footer.d.ts +4 -9
  335. package/dist/esm/components/Card/Footer.js +7 -4
  336. package/dist/esm/components/Card/Header.d.ts +4 -9
  337. package/dist/esm/components/Card/Header.js +7 -4
  338. package/dist/esm/components/Card/Media.d.ts +1 -4
  339. package/dist/esm/components/Card/Media.js +7 -4
  340. package/dist/esm/components/Card/Title.d.ts +4 -9
  341. package/dist/esm/components/Card/Title.js +8 -5
  342. package/dist/esm/components/Card/index.d.ts +10 -10
  343. package/dist/esm/components/Card/index.js +7 -7
  344. package/dist/esm/components/Close/index.d.ts +3 -7
  345. package/dist/esm/components/Close/index.js +7 -3
  346. package/dist/esm/components/Component/index.d.ts +9 -4
  347. package/dist/esm/components/Component/index.js +3 -1
  348. package/dist/esm/components/ComponentProvider/index.d.ts +11 -0
  349. package/dist/esm/components/ComponentProvider/index.js +21 -0
  350. package/dist/esm/components/ConfrigProvider/index.d.ts +9 -7
  351. package/dist/esm/components/ConfrigProvider/index.js +37 -7
  352. package/dist/esm/components/Container/index.d.ts +4 -5
  353. package/dist/esm/components/Container/index.js +12 -6
  354. package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +7 -2
  355. package/dist/esm/components/Control/Checkbox/Checkbox.js +67 -45
  356. package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.d.ts +26 -0
  357. package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.js +8 -0
  358. package/dist/esm/components/Control/Checkbox/Group.d.ts +14 -2
  359. package/dist/esm/components/Control/Checkbox/Group.js +31 -28
  360. package/dist/esm/components/Control/Checkbox/index.d.ts +8 -6
  361. package/dist/esm/components/Control/Checkbox/index.js +3 -3
  362. package/dist/esm/components/Control/Checkbox/index.scss +15 -8
  363. package/dist/esm/components/Control/Checkbox/types.d.ts +3 -66
  364. package/dist/esm/components/Control/Input/Input.d.ts +2 -2
  365. package/dist/esm/components/Control/Input/Input.js +22 -13
  366. package/dist/esm/components/Control/Input/Number/index.d.ts +2 -2
  367. package/dist/esm/components/Control/Input/Number/index.js +24 -19
  368. package/dist/esm/components/Control/Input/Password/index.d.ts +2 -2
  369. package/dist/esm/components/Control/Input/Password/index.js +39 -27
  370. package/dist/esm/components/Control/Input/index.d.ts +7 -7
  371. package/dist/esm/components/Control/Input/index.js +5 -5
  372. package/dist/esm/components/Control/Input/types.d.ts +5 -5
  373. package/dist/esm/components/Control/Input/useInput.d.ts +5 -4
  374. package/dist/esm/components/Control/Input/useInput.js +47 -50
  375. package/dist/esm/components/Control/Radio/Group.d.ts +7 -2
  376. package/dist/esm/components/Control/Radio/Group.js +24 -17
  377. package/dist/esm/components/Control/Radio/Radio.d.ts +6 -2
  378. package/dist/esm/components/Control/Radio/Radio.js +57 -39
  379. package/dist/esm/components/Control/Radio/RadioGroupContext.d.ts +9 -0
  380. package/dist/esm/components/Control/Radio/RadioGroupContext.js +8 -0
  381. package/dist/esm/components/Control/Radio/index.d.ts +6 -6
  382. package/dist/esm/components/Control/Radio/index.js +2 -3
  383. package/dist/esm/components/Control/Radio/index.scss +9 -5
  384. package/dist/esm/components/Control/Select/index.d.ts +8 -12
  385. package/dist/esm/components/Control/Select/index.js +73 -50
  386. package/dist/esm/components/Control/TextArea/index.d.ts +3 -10
  387. package/dist/esm/components/Control/TextArea/index.js +51 -47
  388. package/dist/esm/components/Control/TextArea/index.scss +10 -1
  389. package/dist/esm/components/Control/index.d.ts +6 -6
  390. package/dist/esm/components/Control/index.js +6 -6
  391. package/dist/esm/components/Control/index.scss +6 -0
  392. package/dist/esm/components/Control/types.d.ts +8 -7
  393. package/dist/esm/components/Cover/index.d.ts +2 -1
  394. package/dist/esm/components/Cover/index.js +24 -16
  395. package/dist/esm/components/DescriptionList/Description.d.ts +1 -6
  396. package/dist/esm/components/DescriptionList/Description.js +1 -3
  397. package/dist/esm/components/DescriptionList/DescriptionList.d.ts +2 -1
  398. package/dist/esm/components/DescriptionList/DescriptionList.js +10 -4
  399. package/dist/esm/components/DescriptionList/Term.d.ts +1 -6
  400. package/dist/esm/components/DescriptionList/Term.js +1 -3
  401. package/dist/esm/components/DescriptionList/index.d.ts +6 -6
  402. package/dist/esm/components/DescriptionList/index.js +3 -3
  403. package/dist/esm/components/Divider/index.d.ts +2 -1
  404. package/dist/esm/components/Divider/index.js +11 -5
  405. package/dist/esm/components/Dotnav/Dotnav.d.ts +2 -1
  406. package/dist/esm/components/Dotnav/Dotnav.js +10 -4
  407. package/dist/esm/components/Dotnav/Item.d.ts +1 -4
  408. package/dist/esm/components/Dotnav/Item.js +6 -4
  409. package/dist/esm/components/Dotnav/index.d.ts +5 -5
  410. package/dist/esm/components/Dotnav/index.js +2 -2
  411. package/dist/esm/components/Drawer/index.d.ts +7 -44
  412. package/dist/esm/components/Drawer/index.js +42 -141
  413. package/dist/esm/components/Drawer/index.scss +11 -14
  414. package/dist/esm/components/Drop/index.d.ts +12 -4
  415. package/dist/esm/components/Drop/index.js +38 -21
  416. package/dist/esm/components/Drop/index.scss +0 -26
  417. package/dist/esm/components/Dropdown/index.d.ts +3 -3
  418. package/dist/esm/components/Dropdown/index.js +5 -2
  419. package/dist/esm/components/Flex/index.d.ts +15 -16
  420. package/dist/esm/components/Flex/index.js +15 -12
  421. package/dist/esm/components/Form/Controls.d.ts +3 -4
  422. package/dist/esm/components/Form/Controls.js +9 -4
  423. package/dist/esm/components/Form/ControlsText.d.ts +3 -4
  424. package/dist/esm/components/Form/ControlsText.js +9 -4
  425. package/dist/esm/components/Form/Fieldset.d.ts +4 -4
  426. package/dist/esm/components/Form/Fieldset.js +9 -4
  427. package/dist/esm/components/Form/Form.d.ts +4 -5
  428. package/dist/esm/components/Form/Form.js +11 -6
  429. package/dist/esm/components/Form/Label.d.ts +3 -4
  430. package/dist/esm/components/Form/Label.js +8 -4
  431. package/dist/esm/components/Form/Legend.d.ts +3 -4
  432. package/dist/esm/components/Form/Legend.js +7 -4
  433. package/dist/esm/components/Form/index.d.ts +9 -9
  434. package/dist/esm/components/Form/index.js +6 -6
  435. package/dist/esm/components/Grid/index.d.ts +7 -8
  436. package/dist/esm/components/Grid/index.js +14 -11
  437. package/dist/esm/components/Heading/index.d.ts +5 -6
  438. package/dist/esm/components/Heading/index.js +11 -5
  439. package/dist/esm/components/Icon/Button.d.ts +3 -5
  440. package/dist/esm/components/Icon/Button.js +2 -4
  441. package/dist/esm/components/Icon/Icon.d.ts +4 -6
  442. package/dist/esm/components/Icon/Icon.js +9 -8
  443. package/dist/esm/components/Icon/Link.d.ts +3 -5
  444. package/dist/esm/components/Icon/Link.js +2 -4
  445. package/dist/esm/components/Icon/default-svg-props.d.ts +1 -1
  446. package/dist/esm/components/Icon/default-svg-props.js +1 -1
  447. package/dist/esm/components/Icon/index.d.ts +9 -9
  448. package/dist/esm/components/Icon/index.js +5 -5
  449. package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
  450. package/dist/esm/components/Iconnav/Iconnav.js +6 -5
  451. package/dist/esm/components/Iconnav/Item.d.ts +1 -5
  452. package/dist/esm/components/Iconnav/Item.js +3 -3
  453. package/dist/esm/components/Iconnav/index.d.ts +5 -5
  454. package/dist/esm/components/Iconnav/index.js +2 -2
  455. package/dist/esm/components/Label/index.d.ts +1 -1
  456. package/dist/esm/components/Label/index.js +7 -6
  457. package/dist/esm/components/Label/index.scss +1 -1
  458. package/dist/esm/components/Link/index.d.ts +3 -3
  459. package/dist/esm/components/Link/index.js +9 -3
  460. package/dist/esm/components/List/Item.d.ts +2 -5
  461. package/dist/esm/components/List/Item.js +1 -3
  462. package/dist/esm/components/List/List.d.ts +1 -1
  463. package/dist/esm/components/List/List.js +8 -7
  464. package/dist/esm/components/List/index.d.ts +5 -5
  465. package/dist/esm/components/List/index.js +2 -2
  466. package/dist/esm/components/Modal/Modal.d.ts +4 -3
  467. package/dist/esm/components/Modal/Modal.js +19 -15
  468. package/dist/esm/components/Modal/index.d.ts +1 -1
  469. package/dist/esm/components/Modal/index.js +1 -1
  470. package/dist/esm/components/Nav/Divider.d.ts +3 -8
  471. package/dist/esm/components/Nav/Divider.js +5 -5
  472. package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
  473. package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +13 -0
  474. package/dist/esm/components/Nav/Group/index.d.ts +3 -0
  475. package/dist/esm/components/Nav/Group/index.js +18 -0
  476. package/dist/esm/components/Nav/Header.d.ts +1 -1
  477. package/dist/esm/components/Nav/Header.js +2 -2
  478. package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +16 -2
  479. package/dist/esm/components/Nav/Item/InternalNavItem.js +54 -34
  480. package/dist/esm/components/Nav/Item/LegacyNavItem.js +1 -1
  481. package/dist/esm/components/Nav/Item/index.d.ts +2 -28
  482. package/dist/esm/components/Nav/Item/index.js +5 -5
  483. package/dist/esm/components/Nav/Nav.d.ts +23 -5
  484. package/dist/esm/components/Nav/Nav.js +161 -118
  485. package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
  486. package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +6 -6
  487. package/dist/esm/components/Nav/Sub/PopupTrigger.js +21 -13
  488. package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -1
  489. package/dist/esm/components/Nav/Sub/SubNavList.js +5 -3
  490. package/dist/esm/components/Nav/Sub/index.d.ts +3 -19
  491. package/dist/esm/components/Nav/Sub/index.js +55 -37
  492. package/dist/esm/components/Nav/context/IdContext.js +3 -0
  493. package/dist/esm/components/Nav/context/NavContext.d.ts +5 -4
  494. package/dist/esm/components/Nav/context/NavContext.js +9 -3
  495. package/dist/esm/components/Nav/context/PathContext.js +5 -0
  496. package/dist/esm/components/Nav/context/PrivateContext.d.ts +7 -0
  497. package/dist/esm/components/Nav/context/PrivateContext.js +2 -0
  498. package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +2 -2
  499. package/dist/esm/components/Nav/hooks/useAccessibility.js +3 -3
  500. package/dist/esm/components/Nav/hooks/useActive.d.ts +2 -2
  501. package/dist/esm/components/Nav/hooks/useActive.js +5 -5
  502. package/dist/esm/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
  503. package/dist/esm/components/Nav/hooks/useDirectionStyle.js +10 -0
  504. package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  505. package/dist/esm/components/Nav/hooks/useKeyRecords.js +13 -13
  506. package/dist/esm/components/Nav/hooks/useMemoCallback.d.ts +1 -1
  507. package/dist/esm/components/Nav/hooks/useMemoCallback.js +2 -1
  508. package/dist/esm/components/Nav/hooks/useUUID.d.ts +1 -1
  509. package/dist/esm/components/Nav/hooks/useUUID.js +2 -2
  510. package/dist/esm/components/Nav/index.d.ts +9 -9
  511. package/dist/esm/components/Nav/index.js +6 -6
  512. package/dist/esm/components/Nav/index.scss +10 -7
  513. package/dist/esm/components/Nav/types.d.ts +58 -10
  514. package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
  515. package/dist/esm/components/Nav/utils/motionUtil.d.ts +5 -2
  516. package/dist/esm/components/Nav/utils/nodeUtil.d.ts +3 -1
  517. package/dist/esm/components/Nav/utils/nodeUtil.js +36 -0
  518. package/dist/esm/components/Nav/utils/warnUtil.d.ts +1 -1
  519. package/dist/esm/components/Navbar/Center.d.ts +5 -7
  520. package/dist/esm/components/Navbar/Center.js +7 -4
  521. package/dist/esm/components/Navbar/Container.d.ts +4 -8
  522. package/dist/esm/components/Navbar/Container.js +8 -5
  523. package/dist/esm/components/Navbar/Item.d.ts +5 -8
  524. package/dist/esm/components/Navbar/Item.js +7 -4
  525. package/dist/esm/components/Navbar/Left.d.ts +5 -7
  526. package/dist/esm/components/Navbar/Left.js +7 -4
  527. package/dist/esm/components/Navbar/Nav.d.ts +1 -1
  528. package/dist/esm/components/Navbar/Nav.js +5 -2
  529. package/dist/esm/components/Navbar/Right.d.ts +3 -3
  530. package/dist/esm/components/Navbar/Toggle.d.ts +5 -4
  531. package/dist/esm/components/Navbar/index.d.ts +11 -11
  532. package/dist/esm/components/Navbar/index.js +8 -8
  533. package/dist/esm/components/Progress/index.d.ts +6 -0
  534. package/dist/esm/components/Progress/index.js +10 -0
  535. package/dist/esm/components/Progress/index.scss +129 -0
  536. package/dist/esm/components/Section/index.d.ts +4 -6
  537. package/dist/esm/components/Section/index.js +10 -7
  538. package/dist/esm/components/Spinner/index.d.ts +3 -3
  539. package/dist/esm/components/Spinner/index.js +8 -6
  540. package/dist/esm/components/Tabs/index.d.ts +7 -11
  541. package/dist/esm/components/Tabs/index.js +17 -17
  542. package/dist/esm/components/Tabs/index.scss +9 -1
  543. package/dist/esm/components/Text/index.d.ts +7 -8
  544. package/dist/esm/components/Text/index.js +22 -19
  545. package/dist/esm/components/Tile/index.d.ts +5 -6
  546. package/dist/esm/components/Tile/index.js +10 -7
  547. package/dist/esm/components/Tile/index.scss +8 -8
  548. package/dist/esm/components/Width/Width.d.ts +5 -6
  549. package/dist/esm/components/Width/Width.js +12 -5
  550. package/dist/esm/components/Width/index.d.ts +3 -3
  551. package/dist/esm/components/Width/index.js +3 -3
  552. package/dist/esm/components/Width/types.d.ts +6 -6
  553. package/dist/esm/components/Width/utils.d.ts +1 -1
  554. package/dist/esm/components/Width/utils.js +3 -1
  555. package/dist/esm/hooks/index.d.ts +3 -0
  556. package/dist/esm/hooks/index.js +3 -0
  557. package/dist/esm/hooks/useContext.d.ts +2 -0
  558. package/dist/esm/hooks/useContext.js +8 -0
  559. package/dist/esm/hooks/useMounted.d.ts +1 -0
  560. package/dist/esm/hooks/useMounted.js +11 -0
  561. package/dist/esm/index.d.ts +33 -30
  562. package/dist/esm/index.js +33 -30
  563. package/dist/esm/styles/_import.components.scss +1 -2
  564. package/dist/esm/styles/_import.scss +1 -2
  565. package/dist/esm/styles/animation.scss +35 -35
  566. package/dist/esm/styles/column.scss +0 -1
  567. package/dist/esm/styles/mixins.scss +30 -1
  568. package/dist/esm/styles/motion.scss +367 -44
  569. package/dist/esm/styles/progress.scss +1 -129
  570. package/dist/esm/styles/variables.scss +9 -5
  571. package/dist/esm/types.d.ts +15 -3
  572. package/dist/esm/utils/get-breakpoints-config-classes.d.ts +1 -1
  573. package/dist/esm/utils/get-breakpoints-config-classes.js +1 -1
  574. package/dist/esm/utils/index.d.ts +3 -4
  575. package/dist/esm/utils/index.js +3 -4
  576. package/dist/esm/utils/motion.d.ts +3 -3
  577. package/dist/esm/utils/motion.js +20 -19
  578. package/package.json +39 -36
  579. package/dist/cjs/components/Component/Component.d.ts +0 -8
  580. package/dist/cjs/components/Control/Checkbox/Context.d.ts +0 -4
  581. package/dist/cjs/components/Control/Radio/Context.d.ts +0 -4
  582. package/dist/cjs/components/Control/Radio/types.d.ts +0 -25
  583. package/dist/cjs/components/Control/Radio/types.js +0 -2
  584. package/dist/cjs/components/Nav/Group.d.ts +0 -14
  585. package/dist/cjs/utils/hooks/index.d.ts +0 -1
  586. package/dist/esm/components/Component/Component.d.ts +0 -8
  587. package/dist/esm/components/Component/Component.js +0 -3
  588. package/dist/esm/components/Control/Checkbox/Context.d.ts +0 -4
  589. package/dist/esm/components/Control/Checkbox/Context.js +0 -5
  590. package/dist/esm/components/Control/Radio/Context.d.ts +0 -4
  591. package/dist/esm/components/Control/Radio/Context.js +0 -5
  592. package/dist/esm/components/Control/Radio/types.d.ts +0 -25
  593. package/dist/esm/components/Control/Radio/types.js +0 -1
  594. package/dist/esm/components/Nav/Group.d.ts +0 -14
  595. package/dist/esm/components/Nav/Group.js +0 -26
  596. package/dist/esm/utils/hooks/index.d.ts +0 -1
  597. package/dist/esm/utils/hooks/index.js +0 -1
  598. /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
  599. /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.js +0 -0
  600. /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
  601. /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.js +0 -0
@@ -31,12 +31,12 @@ const React = __importStar(require("react"));
31
31
  const classnames_1 = __importDefault(require("classnames"));
32
32
  const ConfrigProvider_1 = require("../ConfrigProvider");
33
33
  require("./index.scss");
34
- function Label(props) {
34
+ exports.Label = React.memo((props) => {
35
35
  const config = (0, ConfrigProvider_1.useConfig)();
36
- const { className, large, prefixCls = `${config.prefixCls}-label`, type, ...restProps } = props;
37
- return (React.createElement("span", { className: (0, classnames_1.default)(prefixCls, {
38
- [`${prefixCls}-${type}`]: type !== undefined,
39
- [`${prefixCls}-large`]: large,
36
+ const { className, large, prefixCls = config.prefixCls, type, ...restProps } = props;
37
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'label'), [config, prefixCls]);
38
+ return (React.createElement("span", { className: (0, classnames_1.default)(rootCls, {
39
+ [`${rootCls}-${type}`]: type !== undefined,
40
+ [`${rootCls}-large`]: large,
40
41
  }, className), ...restProps }));
41
- }
42
- exports.Label = Label;
42
+ });
@@ -25,7 +25,7 @@
25
25
  background: var(--label-background);
26
26
  border-radius: var(--label-border-radius);
27
27
  color: var(--label-color);
28
- display: inline-block;
28
+ display: inline-flex;
29
29
  font-size: var(--label-font-size);
30
30
  line-height: var(--label-line-height);
31
31
  padding: var(--label-padding-vertical) var(--label-padding-horizontal);
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicComponentProps } from '../Component';
2
+ import { type PolymorphicProps } from '../Component';
3
3
  import './index.scss';
4
4
  export interface LinkOwnProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
5
5
  prefixCls?: string;
6
6
  type?: 'heading' | 'muted' | 'reset' | 'text' | 'toggle';
7
7
  }
8
- export declare type LinkProps<E extends React.ElementType = React.ElementType> = PolymorphicComponentProps<E, LinkOwnProps>;
9
- export declare const Link: React.ForwardRefExoticComponent<Pick<LinkProps<React.ElementType<any>>, string | number | symbol> & React.RefAttributes<unknown>>;
8
+ export type LinkProps<E extends React.ElementType = React.ElementType> = React.PropsWithChildren<LinkOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, LinkOwnProps>;
9
+ export declare const Link: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<LinkProps<React.ElementType<any>>, "ref"> & React.RefAttributes<unknown>>>;
@@ -33,10 +33,16 @@ const Component_1 = require("../Component");
33
33
  const ConfrigProvider_1 = require("../ConfrigProvider");
34
34
  require("./index.scss");
35
35
  const defaultElement = 'a';
36
- exports.Link = React.forwardRef((props, ref) => {
36
+ const ForwardedLink = React.forwardRef((props, ref) => {
37
37
  const config = (0, ConfrigProvider_1.useConfig)();
38
- const { children, className, prefixCls = `${config.prefixCls}-link`, type, ...restProps } = props;
38
+ const { children, className, prefixCls = config.prefixCls, type, ...restProps } = props;
39
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'link'), [config, prefixCls]);
39
40
  return (React.createElement(Component_1.Component, { ref: ref, className: (0, classnames_1.default)({
40
- [`${prefixCls}-${type}`]: type !== undefined,
41
+ [`${rootCls}-${type}`]: type !== undefined,
41
42
  }, className), component: defaultElement, ...restProps }, children));
42
43
  });
44
+ exports.Link = React.memo(ForwardedLink);
45
+ if (process.env.NODE_ENV !== 'production') {
46
+ ForwardedLink.displayName = 'Link.Forwarded';
47
+ exports.Link.displayName = 'Link';
48
+ }
@@ -1,7 +1,4 @@
1
1
  import * as React from 'react';
2
- declare type Props = React.LiHTMLAttributes<HTMLLIElement>;
3
- export declare function Item(props: Props): JSX.Element;
4
- export declare namespace Item {
5
- var displayName: string;
6
- }
2
+ type Props = React.LiHTMLAttributes<HTMLLIElement>;
3
+ export declare const Item: React.MemoExoticComponent<(props: Props) => JSX.Element>;
7
4
  export {};
@@ -25,10 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Item = void 0;
27
27
  const React = __importStar(require("react"));
28
- function Item(props) {
29
- return React.createElement("li", { ...props });
30
- }
31
- exports.Item = Item;
28
+ exports.Item = React.memo((props) => React.createElement("li", { ...props }));
32
29
  if (process.env.NODE_ENV !== 'production') {
33
- Item.displayName = 'List.Item';
30
+ exports.Item.displayName = 'List.Item';
34
31
  }
@@ -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): JSX.Element;
8
+ export declare const List: React.MemoExoticComponent<(props: ListProps) => JSX.Element>;
@@ -30,13 +30,13 @@ exports.List = void 0;
30
30
  const React = __importStar(require("react"));
31
31
  const classnames_1 = __importDefault(require("classnames"));
32
32
  const ConfrigProvider_1 = require("../ConfrigProvider");
33
- function List(props) {
33
+ exports.List = React.memo((props) => {
34
34
  const config = (0, ConfrigProvider_1.useConfig)();
35
- const { className, color, prefixCls = `${config.prefixCls}-list`, size, type, ...restProps } = props;
36
- return (React.createElement("ul", { className: (0, classnames_1.default)(prefixCls, {
37
- [`${prefixCls}-${color}`]: color !== undefined,
38
- [`${prefixCls}-${size}`]: size !== undefined,
39
- [`${prefixCls}-${type}`]: type !== undefined,
35
+ const { className, color, prefixCls = config.prefixCls, size, type, ...restProps } = props;
36
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'list'), [config, prefixCls]);
37
+ return (React.createElement("ul", { className: (0, classnames_1.default)(rootCls, {
38
+ [`${rootCls}-${color}`]: color !== undefined,
39
+ [`${rootCls}-${size}`]: size !== undefined,
40
+ [`${rootCls}-${type}`]: type !== undefined,
40
41
  }, className), ...restProps }));
41
- }
42
- exports.List = List;
42
+ });
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
2
- import { Item } from './Item';
3
- import type { ListProps } from './List';
1
+ import type * as React from 'react';
2
+ import { type ListProps } from '../List/List';
3
+ import { Item } from '../List/Item';
4
4
  import './index.scss';
5
5
  export type { ListProps };
6
- export interface CompoundedList extends React.FunctionComponent<ListProps> {
6
+ export interface List extends React.MemoExoticComponent<React.FunctionComponent<ListProps>> {
7
7
  Item: typeof Item;
8
8
  }
9
- export declare const List: CompoundedList;
9
+ export declare const List: List;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.List = void 0;
4
- const List_1 = require("./List");
5
- const Item_1 = require("./Item");
4
+ const List_1 = require("../List/List");
5
+ const Item_1 = require("../List/Item");
6
6
  require("./index.scss");
7
7
  exports.List = List_1.List;
8
8
  exports.List.Item = Item_1.Item;
@@ -1,5 +1,6 @@
1
- import type { DialogProps } from 'rc-dialog';
2
- import type { Direction } from '../../types';
1
+ import * as React from 'react';
2
+ import { type DialogProps } from 'rc-dialog';
3
+ import { type Direction } from '../../types';
3
4
  export interface ModalProps extends Omit<DialogProps, 'afterClose'> {
4
5
  centered?: boolean;
5
6
  direction?: Direction;
@@ -8,4 +9,4 @@ export interface ModalProps extends Omit<DialogProps, 'afterClose'> {
8
9
  type?: 'info' | 'success' | 'warning' | 'error' | 'confirm';
9
10
  onClosed?: () => void;
10
11
  }
11
- export declare function Modal(props: ModalProps): JSX.Element;
12
+ export declare const Modal: React.MemoExoticComponent<(props: ModalProps) => JSX.Element>;
@@ -29,16 +29,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Modal = void 0;
30
30
  const React = __importStar(require("react"));
31
31
  const js_utils_1 = require("@broxus/js-utils");
32
- const rc_dialog_1 = __importDefault(require("rc-dialog"));
33
32
  const classnames_1 = __importDefault(require("classnames"));
34
- const utils_1 = require("../../utils");
33
+ const rc_dialog_1 = __importDefault(require("rc-dialog"));
35
34
  const Close_1 = require("../Close");
36
35
  const ConfrigProvider_1 = require("../ConfrigProvider");
36
+ const utils_1 = require("../../utils");
37
37
  let mousePosition;
38
- const getClickPosition = (e) => {
38
+ const getClickPosition = (event) => {
39
39
  mousePosition = {
40
- x: e.pageX,
41
- y: e.pageY,
40
+ x: event.pageX,
41
+ y: event.pageY,
42
42
  };
43
43
  setTimeout(() => {
44
44
  mousePosition = null;
@@ -47,17 +47,20 @@ const getClickPosition = (e) => {
47
47
  if ((0, js_utils_1.canUseDocElement)()) {
48
48
  document.documentElement.addEventListener('click', getClickPosition, true);
49
49
  }
50
- function Modal(props) {
50
+ exports.Modal = React.memo((props) => {
51
51
  const config = (0, ConfrigProvider_1.useConfig)();
52
- const { centered, children, className, closable = true, closeIcon, focusTriggerAfterClose = true, full, prefixCls = `${config.prefixCls}-modal`, visible, onClose, onClosed, ...restProps } = props;
52
+ const { centered, children, className, closable = true, closeIcon, focusTriggerAfterClose = true, full, prefixCls = config.prefixCls, visible, onClose, onClosed, ...restProps } = props;
53
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'modal'), [config, prefixCls]);
54
+ const defaultMaskTransitionName = React.useMemo(() => (0, utils_1.getMotionName)(prefixCls || config.prefixCls, 'fade'), [config.prefixCls, prefixCls]);
55
+ const defaultTransitionName = React.useMemo(() => (0, utils_1.getMotionName)(prefixCls || config.prefixCls, 'zoom'), [config.prefixCls, prefixCls]);
53
56
  return (React.createElement(rc_dialog_1.default, { className: (0, classnames_1.default)(className, {
54
- [`${prefixCls}-centered`]: centered && !full,
55
- [`${prefixCls}-full`]: full && !centered,
56
- }), focusTriggerAfterClose: focusTriggerAfterClose, maskTransitionName: (0, utils_1.getTransitionName)(`${config.prefixCls}-motion`, 'fade'), mousePosition: mousePosition, prefixCls: prefixCls, transitionName: (0, utils_1.getTransitionName)(`${config.prefixCls}-motion`, 'zoom'), visible: visible, ...restProps, afterClose: onClosed, closable: false, closeIcon: null },
57
- closable && (closeIcon || (React.createElement(Close_1.Close, { className: (0, classnames_1.default)({
58
- [`${prefixCls}-close-default`]: !full,
59
- [`${prefixCls}-close-full`]: full,
60
- }), component: "button", onClick: onClose }))),
57
+ [`${rootCls}-centered`]: centered && !full,
58
+ [`${rootCls}-full`]: full && !centered,
59
+ }), focusTriggerAfterClose: focusTriggerAfterClose, maskTransitionName: defaultMaskTransitionName, mousePosition: mousePosition, prefixCls: rootCls, transitionName: defaultTransitionName, visible: visible, ...restProps, afterClose: onClosed, closable: false, closeIcon: null },
60
+ closable &&
61
+ (closeIcon || (React.createElement(Close_1.Close, { className: (0, classnames_1.default)({
62
+ [`${rootCls}-close-default`]: !full,
63
+ [`${rootCls}-close-full`]: full,
64
+ }), component: "button", onClick: onClose }))),
61
65
  children));
62
- }
63
- exports.Modal = Modal;
66
+ });
@@ -1,2 +1,2 @@
1
1
  import './index.scss';
2
- export * from './Modal';
2
+ export * from '../Modal/Modal';
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  require("./index.scss");
18
- __exportStar(require("./Modal"), exports);
18
+ __exportStar(require("../Modal/Modal"), exports);
@@ -1,9 +1,4 @@
1
1
  import * as React from 'react';
2
- export declare type DividerProps = {
3
- className?: string;
4
- style?: React.CSSProperties;
5
- };
6
- export declare function Divider(props: DividerProps): JSX.Element | null;
7
- export declare namespace Divider {
8
- var displayName: string;
9
- }
2
+ import { type NavDividerType } from '../Nav/types';
3
+ export type DividerProps = Omit<NavDividerType, 'type'>;
4
+ export declare const Divider: React.MemoExoticComponent<(props: DividerProps) => JSX.Element | null>;
@@ -29,18 +29,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Divider = void 0;
30
30
  const React = __importStar(require("react"));
31
31
  const classnames_1 = __importDefault(require("classnames"));
32
- const NavContext_1 = require("./context/NavContext");
33
- const PathContext_1 = require("./context/PathContext");
34
- function Divider(props) {
32
+ const NavContext_1 = require("../Nav/context/NavContext");
33
+ const PathContext_1 = require("../Nav/context/PathContext");
34
+ exports.Divider = React.memo((props) => {
35
35
  const { className, style } = props;
36
36
  const { prefixCls } = React.useContext(NavContext_1.NavContext);
37
37
  const measure = (0, PathContext_1.useMeasure)();
38
38
  if (measure) {
39
39
  return null;
40
40
  }
41
- return (React.createElement("li", { className: (0, classnames_1.default)(`${prefixCls}-divider`, className), style: style }));
42
- }
43
- exports.Divider = Divider;
41
+ return React.createElement("li", { className: (0, classnames_1.default)(`${prefixCls}-divider`, className), style: style });
42
+ });
44
43
  if (process.env.NODE_ENV !== 'production') {
45
- Divider.displayName = 'Nav.Divider';
44
+ exports.Divider.displayName = 'Nav.Divider';
46
45
  }
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { type NavItemGroupType } from '../../Nav/types';
3
+ export interface NavItemGroupProps extends Omit<NavItemGroupType, 'children' | 'type' | 'label'> {
4
+ title?: React.ReactNode;
5
+ children?: React.ReactNode;
6
+ /** @private Internal filled key. Do not set it directly */
7
+ eventKey?: string;
8
+ /** @private Do not use. Private warning empty usage */
9
+ warnKey?: boolean;
10
+ }
11
+ export declare const InternalNavItemGroup: React.MemoExoticComponent<(props: NavItemGroupProps) => JSX.Element>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.InternalNavItemGroup = void 0;
30
+ const React = __importStar(require("react"));
31
+ const classnames_1 = __importDefault(require("classnames"));
32
+ const js_utils_1 = require("@broxus/js-utils");
33
+ const NavContext_1 = require("../../Nav/context/NavContext");
34
+ exports.InternalNavItemGroup = React.memo((props) => {
35
+ const { children, className, title, ...restProps } = props;
36
+ const { prefixCls } = React.useContext(NavContext_1.NavContext);
37
+ const groupRootCls = React.useMemo(() => `${prefixCls}-group`, [prefixCls]);
38
+ const subRootCls = React.useMemo(() => `${prefixCls}-sub`, [prefixCls]);
39
+ return (React.createElement("li", { className: (0, classnames_1.default)(groupRootCls, className), role: "presentation", ...restProps, onClick: js_utils_1.stopEventPropagate },
40
+ React.createElement("div", { className: `${groupRootCls}-header`, role: "presentation", title: typeof title === 'string' ? title : undefined }, title),
41
+ React.createElement("ul", { className: subRootCls, role: "group" }, children)));
42
+ });
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { type NavItemGroupProps } from '../../Nav/Group/InternalNavItemGroup';
3
+ export declare const Group: React.MemoExoticComponent<(props: NavItemGroupProps) => JSX.Element>;
@@ -28,29 +28,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Group = void 0;
30
30
  const React = __importStar(require("react"));
31
- const classnames_1 = __importDefault(require("classnames"));
32
31
  const omit_1 = __importDefault(require("rc-util/lib/omit"));
33
- const nodeUtil_1 = require("./utils/nodeUtil");
34
- const NavContext_1 = require("./context/NavContext");
35
- const PathContext_1 = require("./context/PathContext");
36
- function InternalNavItemGroup({ children, className, title, ...props }) {
37
- const { prefixCls } = React.useContext(NavContext_1.NavContext);
38
- const groupPrefixCls = `${prefixCls}-group`;
39
- return (React.createElement("li", { className: (0, classnames_1.default)(groupPrefixCls, className), ...props, onClick: e => e.stopPropagation() },
40
- React.createElement("div", { className: `${groupPrefixCls}-header`, title: typeof title === 'string' ? title : undefined }, title),
41
- React.createElement("ul", { className: "uk-nav-sub" }, children)));
42
- }
43
- // eslint-disable-next-line react/no-multi-comp
44
- function Group({ children, ...props }) {
45
- const connectedKeyPath = (0, PathContext_1.useFullPath)(props.eventKey);
46
- const childList = (0, nodeUtil_1.parseChildren)(children, connectedKeyPath);
32
+ const PathContext_1 = require("../../Nav/context/PathContext");
33
+ const InternalNavItemGroup_1 = require("../../Nav/Group/InternalNavItemGroup");
34
+ const nodeUtil_1 = require("../../Nav/utils/nodeUtil");
35
+ exports.Group = React.memo((props) => {
36
+ const { children, eventKey, ...restProps } = props;
37
+ const connectedKeyPath = (0, PathContext_1.useFullPath)(eventKey);
47
38
  const measure = (0, PathContext_1.useMeasure)();
39
+ const childList = (0, nodeUtil_1.parseChildren)(children, connectedKeyPath);
48
40
  if (measure) {
49
41
  return childList;
50
42
  }
51
- return (React.createElement(InternalNavItemGroup, { ...(0, omit_1.default)(props, ['warnKey']) }, childList));
52
- }
53
- exports.Group = Group;
43
+ return React.createElement(InternalNavItemGroup_1.InternalNavItemGroup, { ...(0, omit_1.default)(restProps, ['warnKey']) }, childList);
44
+ });
54
45
  if (process.env.NODE_ENV !== 'production') {
55
- Group.displayName = 'Nav.Group';
46
+ exports.Group.displayName = 'Nav.Group';
56
47
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare type HeaderProps = {
2
+ export type HeaderProps = {
3
3
  children: React.ReactNode;
4
4
  className?: string;
5
5
  style?: React.CSSProperties;
@@ -29,11 +29,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Header = void 0;
30
30
  const React = __importStar(require("react"));
31
31
  const classnames_1 = __importDefault(require("classnames"));
32
- const NavContext_1 = require("./context/NavContext");
32
+ const NavContext_1 = require("../Nav/context/NavContext");
33
33
  function Header(props) {
34
34
  const { className, ...restProps } = props;
35
35
  const { prefixCls } = React.useContext(NavContext_1.NavContext);
36
- return (React.createElement("li", { className: (0, classnames_1.default)(`${prefixCls}-header`, className), ...restProps }));
36
+ return React.createElement("li", { className: (0, classnames_1.default)(`${prefixCls}-header`, className), ...restProps });
37
37
  }
38
38
  exports.Header = Header;
39
39
  if (process.env.NODE_ENV !== 'production') {
@@ -1,2 +1,16 @@
1
- import type { NavItemProps } from './index';
2
- export declare function InternalNavItem(props: NavItemProps): JSX.Element;
1
+ import * as React from 'react';
2
+ import { type NavItemType } from '../../Nav/types';
3
+ export interface NavItemProps extends Omit<NavItemType, 'label' | 'key'>, Omit<React.HTMLAttributes<HTMLLIElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onSelect'> {
4
+ children?: React.ReactNode;
5
+ /**
6
+ * Internal filled key. Do not set it directly
7
+ * @private
8
+ */
9
+ eventKey?: string;
10
+ /**
11
+ * Do not use. Private warning empty usage
12
+ * @private
13
+ */
14
+ warnKey?: boolean;
15
+ }
16
+ export declare const InternalNavItem: React.MemoExoticComponent<(props: NavItemProps) => JSX.Element>;
@@ -31,68 +31,87 @@ const React = __importStar(require("react"));
31
31
  const classnames_1 = __importDefault(require("classnames"));
32
32
  const KeyCode_1 = __importDefault(require("rc-util/lib/KeyCode"));
33
33
  const warning_1 = __importDefault(require("rc-util/lib/warning"));
34
- const IdContext_1 = require("../context/IdContext");
35
- const NavContext_1 = require("../context/NavContext");
36
- const PathContext_1 = require("../context/PathContext");
37
- const useActive_1 = __importDefault(require("../hooks/useActive"));
38
- const LegacyNavItem_1 = require("./LegacyNavItem");
39
- const warnUtil_1 = require("../utils/warnUtil");
40
- function InternalNavItem(props) {
41
- const { className, children, eventKey, itemIcon, role, warnKey, ...restProps } = props;
42
- const { disabled = restProps.disabled, itemIcon: contextItemIcon, overflowDisabled, selectedKeys, onActive, onItemClick, } = React.useContext(NavContext_1.NavContext);
34
+ const ConfrigProvider_1 = require("../../ConfrigProvider");
35
+ const IdContext_1 = require("../../Nav/context/IdContext");
36
+ const NavContext_1 = require("../../Nav/context/NavContext");
37
+ const PathContext_1 = require("../../Nav/context/PathContext");
38
+ const PrivateContext_1 = require("../../Nav/context/PrivateContext");
39
+ const useActive_1 = require("../../Nav/hooks/useActive");
40
+ const LegacyNavItem_1 = require("../../Nav/Item/LegacyNavItem");
41
+ const warnUtil_1 = require("../../Nav/utils/warnUtil");
42
+ const useDirectionStyle_1 = require("../../Nav/hooks/useDirectionStyle");
43
+ exports.InternalNavItem = React.memo((props) => {
44
+ const config = (0, ConfrigProvider_1.useConfig)();
45
+ const { className, children, disabled, eventKey, itemIcon, role, style, warnKey, onClick, onFocus, onKeyDown, onMouseEnter, onMouseLeave, ...restProps } = props;
46
+ const domDataId = (0, IdContext_1.useNavId)(eventKey);
47
+ const { disabled: contextDisabled = disabled, itemIcon: contextItemIcon, overflowDisabled, selectedKeys, onActive, onItemClick, } = React.useContext(NavContext_1.NavContext);
48
+ const { _internalRenderMenuItem } = React.useContext(PrivateContext_1.PrivateContext);
43
49
  const legacyNavItemRef = React.useRef();
44
50
  const elementRef = React.useRef();
45
- const { active, ...activeProps } = (0, useActive_1.default)(eventKey, disabled, restProps.onMouseEnter, restProps.onMouseLeave);
51
+ const mergedDisabled = contextDisabled || disabled;
46
52
  const connectedKeys = (0, PathContext_1.useFullPath)(eventKey);
47
- const domDataId = (0, IdContext_1.useNavId)(eventKey);
48
- const selected = eventKey !== undefined && selectedKeys.includes(eventKey);
53
+ // ================================ Warn ================================
49
54
  if (process.env.NODE_ENV !== 'production' && warnKey) {
50
55
  (0, warning_1.default)(false, 'NavItem should not leave undefined `key`.');
51
56
  }
52
- const getEventInfo = (e) => ({
53
- domEvent: e,
57
+ // ============================= Info =============================
58
+ const getEventInfo = (event) => ({
59
+ domEvent: event,
54
60
  item: legacyNavItemRef.current,
55
61
  key: eventKey,
56
62
  // Note: For legacy code is reversed which not like other antd component
57
63
  keyPath: [...connectedKeys].reverse(),
58
64
  });
59
- const onClick = event => {
60
- if (disabled) {
65
+ // ============================ Active ============================
66
+ const { active, ...activeProps } = (0, useActive_1.useActive)(eventKey, disabled, onMouseEnter, onMouseLeave);
67
+ // ============================ Select ============================
68
+ const selected = eventKey ? selectedKeys.includes(eventKey) : false;
69
+ // ======================== DirectionStyle ========================
70
+ const directionStyle = (0, useDirectionStyle_1.useDirectionStyle)(connectedKeys.length);
71
+ // ============================ Events ============================
72
+ const onInternalClick = event => {
73
+ if (mergedDisabled) {
61
74
  return;
62
75
  }
63
76
  const info = getEventInfo(event);
64
- restProps.onClick?.((0, warnUtil_1.warnItemProp)(info));
65
- onItemClick?.(info);
77
+ onClick?.((0, warnUtil_1.warnItemProp)(info));
78
+ onItemClick(info);
66
79
  };
67
- const onKeyDown = event => {
68
- restProps.onKeyDown?.(event);
80
+ const onInternalKeyDown = event => {
81
+ onKeyDown?.(event);
69
82
  if (event.which === KeyCode_1.default.ENTER) {
70
83
  const info = getEventInfo(event);
71
84
  // Legacy. Key will also trigger click event
72
- restProps.onClick?.((0, warnUtil_1.warnItemProp)(info));
73
- onItemClick?.(info);
85
+ onClick?.((0, warnUtil_1.warnItemProp)(info));
86
+ onItemClick(info);
74
87
  }
75
88
  };
76
- /*
77
- * Used for accessibility. Helper will focus element without key board.
89
+ /**
90
+ * Used for accessibility. Helper will focus element without keyboard.
78
91
  * We should manually trigger an active
79
92
  */
80
- const onFocus = event => {
81
- if (eventKey !== undefined) {
93
+ const onInternalFocus = event => {
94
+ if (eventKey) {
82
95
  onActive(eventKey);
83
96
  }
84
- restProps.onFocus?.(event);
97
+ onFocus?.(event);
85
98
  };
86
99
  const optionRoleProps = {};
87
100
  if (role === 'option') {
88
- optionRoleProps['aria-selected'] = selected;
101
+ optionRoleProps['aria-selected'] = selected || false;
89
102
  }
90
- return (React.createElement(LegacyNavItem_1.LegacyNavItem, { className: (0, classnames_1.default)({
91
- 'uk-active': selected,
92
- 'uk-disabled': disabled,
93
- 'uk-hover': active,
94
- }, className), component: "li", role: role === null ? 'none' : role || 'menuitem', tabIndex: disabled ? null : -1, "aria-disabled": disabled, ...optionRoleProps, "data-nav-id": (overflowDisabled && domDataId) ? null : domDataId, ...restProps, ...activeProps, elementRef: elementRef, ref: legacyNavItemRef, onClick: onClick, onFocus: onFocus, onKeyDown: onKeyDown },
103
+ let renderNode = (React.createElement(LegacyNavItem_1.LegacyNavItem, { "aria-disabled": disabled, className: (0, classnames_1.default)({
104
+ [`${config.prefixCls}-active`]: selected,
105
+ [`${config.prefixCls}-disabled`]: disabled,
106
+ [`${config.prefixCls}-hover`]: active,
107
+ }, className), component: "li", "data-nav-id": overflowDisabled && domDataId ? null : domDataId, elementRef: elementRef, ref: legacyNavItemRef, role: role === null ? 'none' : role || 'menuitem', style: {
108
+ ...directionStyle,
109
+ ...style,
110
+ }, tabIndex: disabled ? null : -1, ...optionRoleProps, ...restProps, ...activeProps, onClick: onInternalClick, onFocus: onInternalFocus, onKeyDown: onInternalKeyDown },
95
111
  itemIcon || contextItemIcon,
96
112
  children));
97
- }
98
- exports.InternalNavItem = InternalNavItem;
113
+ if (_internalRenderMenuItem) {
114
+ renderNode = _internalRenderMenuItem(renderNode, props, { selected });
115
+ }
116
+ return renderNode;
117
+ });
@@ -33,7 +33,7 @@ const omit_1 = __importDefault(require("rc-util/lib/omit"));
33
33
  const warning_1 = __importDefault(require("rc-util/lib/warning"));
34
34
  class LegacyNavItem extends React.Component {
35
35
  render() {
36
- const { title, attribute, elementRef, ...restProps } = this.props;
36
+ const { attribute, elementRef, title, ...restProps } = this.props;
37
37
  const passedProps = (0, omit_1.default)(restProps, ['eventKey']);
38
38
  (0, warning_1.default)(!attribute, '`attribute` of Nav.Item is deprecated. Please pass attribute directly.');
39
39
  return (React.createElement(rc_overflow_1.default.Item, { ...attribute, title: typeof title === 'string' ? title : undefined, ...passedProps, ref: elementRef }));
@@ -1,29 +1,3 @@
1
1
  import * as React from 'react';
2
- import type { NavClickEventHandler, NavHoverEventHandler, RenderIconType } from '../types';
3
- export interface NavItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onSelect'> {
4
- /**
5
- * No place to use this. Should remove
6
- * @deprecated
7
- */
8
- attribute?: Record<string, string>;
9
- children?: React.ReactNode;
10
- disabled?: boolean;
11
- /**
12
- * Internal filled key. Do not set it directly
13
- * @private
14
- */
15
- eventKey?: string;
16
- itemIcon?: RenderIconType;
17
- /**
18
- * Do not use. Private warning empty usage
19
- * @private
20
- */
21
- warnKey?: boolean;
22
- onClick?: NavClickEventHandler;
23
- onMouseEnter?: NavHoverEventHandler;
24
- onMouseLeave?: NavHoverEventHandler;
25
- }
26
- export declare function Item(props: NavItemProps): JSX.Element | null;
27
- export declare namespace Item {
28
- var displayName: string;
29
- }
2
+ import { type NavItemProps } from '../../Nav/Item/InternalNavItem';
3
+ export declare const Item: React.MemoExoticComponent<(props: NavItemProps) => JSX.Element | null>;
@@ -26,9 +26,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Item = void 0;
27
27
  const React = __importStar(require("react"));
28
28
  const js_utils_1 = require("@broxus/js-utils");
29
- const PathContext_1 = require("../context/PathContext");
30
- const InternalNavItem_1 = require("./InternalNavItem");
31
- function Item(props) {
29
+ const PathContext_1 = require("../../Nav/context/PathContext");
30
+ const InternalNavItem_1 = require("../../Nav/Item/InternalNavItem");
31
+ exports.Item = React.memo((props) => {
32
32
  const { eventKey } = props;
33
33
  const measure = (0, PathContext_1.useMeasure)();
34
34
  const connectedKeyPath = (0, PathContext_1.useFullPath)(eventKey);
@@ -40,13 +40,12 @@ function Item(props) {
40
40
  };
41
41
  }
42
42
  return js_utils_1.noop;
43
- }, [connectedKeyPath]);
43
+ }, [connectedKeyPath, eventKey, measure]);
44
44
  if (measure) {
45
45
  return null;
46
46
  }
47
47
  return React.createElement(InternalNavItem_1.InternalNavItem, { ...props });
48
- }
49
- exports.Item = Item;
48
+ });
50
49
  if (process.env.NODE_ENV !== 'production') {
51
- Item.displayName = 'Nav.Item';
50
+ exports.Item.displayName = 'Nav.Item';
52
51
  }