@broxus/react-uikit 0.1.3 → 0.2.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 (599) 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 +4 -5
  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 +66 -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 +7 -2
  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 +57 -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 +1 -0
  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 +1 -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/types.d.ts +8 -7
  104. package/dist/cjs/components/Cover/index.d.ts +2 -1
  105. package/dist/cjs/components/Cover/index.js +24 -17
  106. package/dist/cjs/components/DescriptionList/Description.d.ts +1 -6
  107. package/dist/cjs/components/DescriptionList/Description.js +2 -5
  108. package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +2 -1
  109. package/dist/cjs/components/DescriptionList/DescriptionList.js +10 -5
  110. package/dist/cjs/components/DescriptionList/Term.d.ts +1 -6
  111. package/dist/cjs/components/DescriptionList/Term.js +2 -5
  112. package/dist/cjs/components/DescriptionList/index.d.ts +6 -6
  113. package/dist/cjs/components/DescriptionList/index.js +3 -3
  114. package/dist/cjs/components/Divider/index.d.ts +2 -1
  115. package/dist/cjs/components/Divider/index.js +11 -6
  116. package/dist/cjs/components/Dotnav/Dotnav.d.ts +2 -1
  117. package/dist/cjs/components/Dotnav/Dotnav.js +10 -5
  118. package/dist/cjs/components/Dotnav/Item.d.ts +1 -4
  119. package/dist/cjs/components/Dotnav/Item.js +7 -6
  120. package/dist/cjs/components/Dotnav/index.d.ts +5 -5
  121. package/dist/cjs/components/Dotnav/index.js +2 -2
  122. package/dist/cjs/components/Drawer/index.d.ts +7 -44
  123. package/dist/cjs/components/Drawer/index.js +40 -139
  124. package/dist/cjs/components/Drawer/index.scss +11 -14
  125. package/dist/cjs/components/Drop/index.d.ts +12 -4
  126. package/dist/cjs/components/Drop/index.js +38 -21
  127. package/dist/cjs/components/Drop/index.scss +0 -26
  128. package/dist/cjs/components/Dropdown/index.d.ts +3 -3
  129. package/dist/cjs/components/Dropdown/index.js +5 -2
  130. package/dist/cjs/components/Flex/index.d.ts +14 -15
  131. package/dist/cjs/components/Flex/index.js +15 -13
  132. package/dist/cjs/components/Form/Controls.d.ts +3 -4
  133. package/dist/cjs/components/Form/Controls.js +10 -6
  134. package/dist/cjs/components/Form/ControlsText.d.ts +3 -4
  135. package/dist/cjs/components/Form/ControlsText.js +10 -6
  136. package/dist/cjs/components/Form/Fieldset.d.ts +4 -4
  137. package/dist/cjs/components/Form/Fieldset.js +10 -6
  138. package/dist/cjs/components/Form/Form.d.ts +4 -5
  139. package/dist/cjs/components/Form/Form.js +11 -7
  140. package/dist/cjs/components/Form/Label.d.ts +3 -4
  141. package/dist/cjs/components/Form/Label.js +9 -6
  142. package/dist/cjs/components/Form/Legend.d.ts +3 -4
  143. package/dist/cjs/components/Form/Legend.js +8 -6
  144. package/dist/cjs/components/Form/index.d.ts +9 -9
  145. package/dist/cjs/components/Form/index.js +6 -6
  146. package/dist/cjs/components/Grid/index.d.ts +7 -8
  147. package/dist/cjs/components/Grid/index.js +13 -11
  148. package/dist/cjs/components/Heading/index.d.ts +5 -6
  149. package/dist/cjs/components/Heading/index.js +11 -6
  150. package/dist/cjs/components/Icon/Button.d.ts +3 -5
  151. package/dist/cjs/components/Icon/Button.js +3 -6
  152. package/dist/cjs/components/Icon/Icon.d.ts +4 -6
  153. package/dist/cjs/components/Icon/Icon.js +9 -9
  154. package/dist/cjs/components/Icon/Link.d.ts +3 -5
  155. package/dist/cjs/components/Icon/Link.js +3 -6
  156. package/dist/cjs/components/Icon/default-svg-props.d.ts +1 -1
  157. package/dist/cjs/components/Icon/default-svg-props.js +2 -2
  158. package/dist/cjs/components/Icon/index.d.ts +9 -9
  159. package/dist/cjs/components/Icon/index.js +5 -5
  160. package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
  161. package/dist/cjs/components/Iconnav/Iconnav.js +6 -6
  162. package/dist/cjs/components/Iconnav/Item.d.ts +1 -5
  163. package/dist/cjs/components/Iconnav/Item.js +4 -5
  164. package/dist/cjs/components/Iconnav/index.d.ts +5 -5
  165. package/dist/cjs/components/Iconnav/index.js +2 -2
  166. package/dist/cjs/components/Label/index.d.ts +1 -1
  167. package/dist/cjs/components/Label/index.js +7 -7
  168. package/dist/cjs/components/Label/index.scss +1 -1
  169. package/dist/cjs/components/Link/index.d.ts +3 -3
  170. package/dist/cjs/components/Link/index.js +9 -3
  171. package/dist/cjs/components/List/Item.d.ts +2 -5
  172. package/dist/cjs/components/List/Item.js +2 -5
  173. package/dist/cjs/components/List/List.d.ts +1 -1
  174. package/dist/cjs/components/List/List.js +8 -8
  175. package/dist/cjs/components/List/index.d.ts +5 -5
  176. package/dist/cjs/components/List/index.js +2 -2
  177. package/dist/cjs/components/Modal/Modal.d.ts +4 -3
  178. package/dist/cjs/components/Modal/Modal.js +19 -16
  179. package/dist/cjs/components/Modal/index.d.ts +1 -1
  180. package/dist/cjs/components/Modal/index.js +1 -1
  181. package/dist/cjs/components/Nav/Divider.d.ts +3 -8
  182. package/dist/cjs/components/Nav/Divider.js +6 -7
  183. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
  184. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.js +42 -0
  185. package/dist/cjs/components/Nav/Group/index.d.ts +3 -0
  186. package/dist/cjs/components/Nav/{Group.js → Group/index.js} +10 -19
  187. package/dist/cjs/components/Nav/Header.d.ts +1 -1
  188. package/dist/cjs/components/Nav/Header.js +2 -2
  189. package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +16 -2
  190. package/dist/cjs/components/Nav/Item/InternalNavItem.js +54 -35
  191. package/dist/cjs/components/Nav/Item/LegacyNavItem.js +1 -1
  192. package/dist/cjs/components/Nav/Item/index.d.ts +2 -28
  193. package/dist/cjs/components/Nav/Item/index.js +6 -7
  194. package/dist/cjs/components/Nav/Nav.d.ts +23 -5
  195. package/dist/cjs/components/Nav/Nav.js +165 -123
  196. package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +3 -3
  197. package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +6 -6
  198. package/dist/cjs/components/Nav/Sub/PopupTrigger.js +21 -14
  199. package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -1
  200. package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -3
  201. package/dist/cjs/components/Nav/Sub/index.d.ts +3 -19
  202. package/dist/cjs/components/Nav/Sub/index.js +58 -41
  203. package/dist/cjs/components/Nav/context/IdContext.js +3 -0
  204. package/dist/cjs/components/Nav/context/NavContext.d.ts +5 -4
  205. package/dist/cjs/components/Nav/context/NavContext.js +9 -3
  206. package/dist/cjs/components/Nav/context/PathContext.js +5 -0
  207. package/dist/cjs/components/Nav/context/PrivateContext.d.ts +7 -0
  208. package/dist/cjs/components/{Component/Component.js → Nav/context/PrivateContext.js} +2 -3
  209. package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +2 -2
  210. package/dist/cjs/components/Nav/hooks/useAccessibility.js +4 -3
  211. package/dist/cjs/components/Nav/hooks/useActive.d.ts +2 -2
  212. package/dist/cjs/components/Nav/hooks/useActive.js +6 -5
  213. package/dist/cjs/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
  214. package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +37 -0
  215. package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  216. package/dist/cjs/components/Nav/hooks/useKeyRecords.js +14 -14
  217. package/dist/cjs/components/Nav/hooks/useMemoCallback.d.ts +1 -1
  218. package/dist/cjs/components/Nav/hooks/useMemoCallback.js +3 -1
  219. package/dist/cjs/components/Nav/hooks/useUUID.d.ts +1 -1
  220. package/dist/cjs/components/Nav/hooks/useUUID.js +3 -2
  221. package/dist/cjs/components/Nav/index.d.ts +9 -9
  222. package/dist/cjs/components/Nav/index.js +6 -6
  223. package/dist/cjs/components/Nav/index.scss +10 -7
  224. package/dist/cjs/components/Nav/types.d.ts +58 -10
  225. package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
  226. package/dist/cjs/components/Nav/utils/motionUtil.d.ts +1 -1
  227. package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +3 -1
  228. package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -1
  229. package/dist/cjs/components/Nav/utils/warnUtil.d.ts +1 -1
  230. package/dist/cjs/components/Navbar/Center.d.ts +5 -7
  231. package/dist/cjs/components/Navbar/Center.js +8 -6
  232. package/dist/cjs/components/Navbar/Container.d.ts +4 -8
  233. package/dist/cjs/components/Navbar/Container.js +9 -7
  234. package/dist/cjs/components/Navbar/Item.d.ts +5 -8
  235. package/dist/cjs/components/Navbar/Item.js +8 -6
  236. package/dist/cjs/components/Navbar/Left.d.ts +5 -7
  237. package/dist/cjs/components/Navbar/Left.js +8 -6
  238. package/dist/cjs/components/Navbar/Nav.d.ts +2 -1
  239. package/dist/cjs/components/Navbar/Nav.js +5 -2
  240. package/dist/cjs/components/Navbar/Right.d.ts +3 -3
  241. package/dist/cjs/components/Navbar/Toggle.d.ts +5 -4
  242. package/dist/cjs/components/Navbar/index.d.ts +11 -11
  243. package/dist/cjs/components/Navbar/index.js +8 -8
  244. package/dist/cjs/components/Progress/index.d.ts +6 -0
  245. package/dist/cjs/components/Progress/index.js +39 -0
  246. package/dist/cjs/components/Progress/index.scss +129 -0
  247. package/dist/cjs/components/Section/index.d.ts +4 -6
  248. package/dist/cjs/components/Section/index.js +10 -8
  249. package/dist/cjs/components/Spinner/index.d.ts +3 -3
  250. package/dist/cjs/components/Spinner/index.js +7 -5
  251. package/dist/cjs/components/Tabs/index.d.ts +7 -11
  252. package/dist/cjs/components/Tabs/index.js +17 -18
  253. package/dist/cjs/components/Tabs/index.scss +9 -1
  254. package/dist/cjs/components/Text/index.d.ts +7 -8
  255. package/dist/cjs/components/Text/index.js +22 -20
  256. package/dist/cjs/components/Tile/index.d.ts +5 -6
  257. package/dist/cjs/components/Tile/index.js +10 -8
  258. package/dist/cjs/components/Tile/index.scss +8 -8
  259. package/dist/cjs/components/Width/Width.d.ts +5 -6
  260. package/dist/cjs/components/Width/Width.js +12 -6
  261. package/dist/cjs/components/Width/index.d.ts +3 -3
  262. package/dist/cjs/components/Width/index.js +3 -3
  263. package/dist/cjs/components/Width/types.d.ts +6 -6
  264. package/dist/cjs/components/Width/utils.d.ts +1 -1
  265. package/dist/cjs/components/Width/utils.js +3 -1
  266. package/dist/cjs/hooks/index.d.ts +3 -0
  267. package/dist/cjs/{utils/hooks → hooks}/index.js +3 -1
  268. package/dist/cjs/hooks/useContext.d.ts +2 -0
  269. package/dist/cjs/hooks/useContext.js +35 -0
  270. package/dist/cjs/hooks/useMounted.d.ts +1 -0
  271. package/dist/cjs/hooks/useMounted.js +38 -0
  272. package/dist/cjs/index.d.ts +33 -30
  273. package/dist/cjs/index.js +33 -30
  274. package/dist/cjs/styles/_import.components.scss +1 -2
  275. package/dist/cjs/styles/_import.scss +1 -2
  276. package/dist/cjs/styles/animation.scss +35 -35
  277. package/dist/cjs/styles/column.scss +0 -1
  278. package/dist/cjs/styles/mixins.scss +30 -8
  279. package/dist/cjs/styles/motion.scss +367 -44
  280. package/dist/cjs/styles/progress.scss +1 -129
  281. package/dist/cjs/styles/variables.scss +6 -4
  282. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  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/index.d.ts +3 -4
  286. package/dist/cjs/utils/index.js +3 -4
  287. package/dist/cjs/utils/motion.d.ts +3 -3
  288. package/dist/cjs/utils/motion.js +23 -21
  289. package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
  290. package/dist/esm/components/Accordion/Accordion.js +8 -4
  291. package/dist/esm/components/Accordion/Item.d.ts +3 -6
  292. package/dist/esm/components/Accordion/Item.js +3 -3
  293. package/dist/esm/components/Accordion/index.d.ts +6 -5
  294. package/dist/esm/components/Accordion/index.js +2 -2
  295. package/dist/esm/components/Alert/index.d.ts +3 -3
  296. package/dist/esm/components/Alert/index.js +17 -10
  297. package/dist/esm/components/Align/Align.d.ts +5 -7
  298. package/dist/esm/components/Align/Align.js +9 -5
  299. package/dist/esm/components/Align/Left.d.ts +3 -5
  300. package/dist/esm/components/Align/Left.js +2 -4
  301. package/dist/esm/components/Align/Right.d.ts +3 -5
  302. package/dist/esm/components/Align/Right.js +2 -4
  303. package/dist/esm/components/Align/index.d.ts +8 -7
  304. package/dist/esm/components/Align/index.js +3 -3
  305. package/dist/esm/components/Article/Article.d.ts +1 -1
  306. package/dist/esm/components/Article/Article.js +9 -3
  307. package/dist/esm/components/Article/Meta.d.ts +4 -9
  308. package/dist/esm/components/Article/Meta.js +7 -4
  309. package/dist/esm/components/Article/Title.d.ts +4 -9
  310. package/dist/esm/components/Article/Title.js +7 -4
  311. package/dist/esm/components/Article/index.d.ts +7 -9
  312. package/dist/esm/components/Article/index.js +3 -3
  313. package/dist/esm/components/Badge/index.d.ts +4 -6
  314. package/dist/esm/components/Badge/index.js +7 -3
  315. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  316. package/dist/esm/components/Breadcrumb/Breadcrumb.js +7 -3
  317. package/dist/esm/components/Breadcrumb/Item.d.ts +1 -4
  318. package/dist/esm/components/Breadcrumb/Item.js +2 -2
  319. package/dist/esm/components/Breadcrumb/index.d.ts +5 -5
  320. package/dist/esm/components/Breadcrumb/index.js +3 -3
  321. package/dist/esm/components/Button/Button.d.ts +1 -1
  322. package/dist/esm/components/Button/Button.js +16 -14
  323. package/dist/esm/components/Button/Group.d.ts +1 -4
  324. package/dist/esm/components/Button/Group.js +5 -4
  325. package/dist/esm/components/Button/index.d.ts +5 -5
  326. package/dist/esm/components/Button/index.js +2 -2
  327. package/dist/esm/components/Card/Badge.d.ts +3 -7
  328. package/dist/esm/components/Card/Badge.js +9 -5
  329. package/dist/esm/components/Card/Body.d.ts +1 -4
  330. package/dist/esm/components/Card/Body.js +7 -4
  331. package/dist/esm/components/Card/Card.d.ts +4 -6
  332. package/dist/esm/components/Card/Card.js +17 -10
  333. package/dist/esm/components/Card/Footer.d.ts +4 -9
  334. package/dist/esm/components/Card/Footer.js +7 -4
  335. package/dist/esm/components/Card/Header.d.ts +4 -9
  336. package/dist/esm/components/Card/Header.js +7 -4
  337. package/dist/esm/components/Card/Media.d.ts +1 -4
  338. package/dist/esm/components/Card/Media.js +7 -4
  339. package/dist/esm/components/Card/Title.d.ts +4 -9
  340. package/dist/esm/components/Card/Title.js +8 -5
  341. package/dist/esm/components/Card/index.d.ts +10 -10
  342. package/dist/esm/components/Card/index.js +7 -7
  343. package/dist/esm/components/Close/index.d.ts +3 -7
  344. package/dist/esm/components/Close/index.js +7 -3
  345. package/dist/esm/components/Component/index.d.ts +9 -4
  346. package/dist/esm/components/Component/index.js +3 -1
  347. package/dist/esm/components/ComponentProvider/index.d.ts +11 -0
  348. package/dist/esm/components/ComponentProvider/index.js +21 -0
  349. package/dist/esm/components/ConfrigProvider/index.d.ts +9 -7
  350. package/dist/esm/components/ConfrigProvider/index.js +37 -7
  351. package/dist/esm/components/Container/index.d.ts +4 -5
  352. package/dist/esm/components/Container/index.js +12 -6
  353. package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +7 -2
  354. package/dist/esm/components/Control/Checkbox/Checkbox.js +65 -45
  355. package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.d.ts +26 -0
  356. package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.js +8 -0
  357. package/dist/esm/components/Control/Checkbox/Group.d.ts +14 -2
  358. package/dist/esm/components/Control/Checkbox/Group.js +31 -28
  359. package/dist/esm/components/Control/Checkbox/index.d.ts +8 -6
  360. package/dist/esm/components/Control/Checkbox/index.js +3 -3
  361. package/dist/esm/components/Control/Checkbox/index.scss +7 -2
  362. package/dist/esm/components/Control/Checkbox/types.d.ts +3 -66
  363. package/dist/esm/components/Control/Input/Input.d.ts +2 -2
  364. package/dist/esm/components/Control/Input/Input.js +22 -13
  365. package/dist/esm/components/Control/Input/Number/index.d.ts +2 -2
  366. package/dist/esm/components/Control/Input/Number/index.js +24 -19
  367. package/dist/esm/components/Control/Input/Password/index.d.ts +2 -2
  368. package/dist/esm/components/Control/Input/Password/index.js +39 -27
  369. package/dist/esm/components/Control/Input/index.d.ts +7 -7
  370. package/dist/esm/components/Control/Input/index.js +5 -5
  371. package/dist/esm/components/Control/Input/types.d.ts +5 -5
  372. package/dist/esm/components/Control/Input/useInput.d.ts +5 -4
  373. package/dist/esm/components/Control/Input/useInput.js +47 -50
  374. package/dist/esm/components/Control/Radio/Group.d.ts +7 -2
  375. package/dist/esm/components/Control/Radio/Group.js +24 -17
  376. package/dist/esm/components/Control/Radio/Radio.d.ts +6 -2
  377. package/dist/esm/components/Control/Radio/Radio.js +56 -39
  378. package/dist/esm/components/Control/Radio/RadioGroupContext.d.ts +9 -0
  379. package/dist/esm/components/Control/Radio/RadioGroupContext.js +8 -0
  380. package/dist/esm/components/Control/Radio/index.d.ts +6 -6
  381. package/dist/esm/components/Control/Radio/index.js +2 -3
  382. package/dist/esm/components/Control/Radio/index.scss +1 -0
  383. package/dist/esm/components/Control/Select/index.d.ts +8 -12
  384. package/dist/esm/components/Control/Select/index.js +73 -50
  385. package/dist/esm/components/Control/TextArea/index.d.ts +3 -10
  386. package/dist/esm/components/Control/TextArea/index.js +51 -47
  387. package/dist/esm/components/Control/TextArea/index.scss +1 -1
  388. package/dist/esm/components/Control/index.d.ts +6 -6
  389. package/dist/esm/components/Control/index.js +6 -6
  390. package/dist/esm/components/Control/types.d.ts +8 -7
  391. package/dist/esm/components/Cover/index.d.ts +2 -1
  392. package/dist/esm/components/Cover/index.js +24 -16
  393. package/dist/esm/components/DescriptionList/Description.d.ts +1 -6
  394. package/dist/esm/components/DescriptionList/Description.js +1 -3
  395. package/dist/esm/components/DescriptionList/DescriptionList.d.ts +2 -1
  396. package/dist/esm/components/DescriptionList/DescriptionList.js +10 -4
  397. package/dist/esm/components/DescriptionList/Term.d.ts +1 -6
  398. package/dist/esm/components/DescriptionList/Term.js +1 -3
  399. package/dist/esm/components/DescriptionList/index.d.ts +6 -6
  400. package/dist/esm/components/DescriptionList/index.js +3 -3
  401. package/dist/esm/components/Divider/index.d.ts +2 -1
  402. package/dist/esm/components/Divider/index.js +11 -5
  403. package/dist/esm/components/Dotnav/Dotnav.d.ts +2 -1
  404. package/dist/esm/components/Dotnav/Dotnav.js +10 -4
  405. package/dist/esm/components/Dotnav/Item.d.ts +1 -4
  406. package/dist/esm/components/Dotnav/Item.js +6 -4
  407. package/dist/esm/components/Dotnav/index.d.ts +5 -5
  408. package/dist/esm/components/Dotnav/index.js +2 -2
  409. package/dist/esm/components/Drawer/index.d.ts +7 -44
  410. package/dist/esm/components/Drawer/index.js +42 -141
  411. package/dist/esm/components/Drawer/index.scss +11 -14
  412. package/dist/esm/components/Drop/index.d.ts +12 -4
  413. package/dist/esm/components/Drop/index.js +38 -21
  414. package/dist/esm/components/Drop/index.scss +0 -26
  415. package/dist/esm/components/Dropdown/index.d.ts +3 -3
  416. package/dist/esm/components/Dropdown/index.js +5 -2
  417. package/dist/esm/components/Flex/index.d.ts +14 -15
  418. package/dist/esm/components/Flex/index.js +15 -12
  419. package/dist/esm/components/Form/Controls.d.ts +3 -4
  420. package/dist/esm/components/Form/Controls.js +9 -4
  421. package/dist/esm/components/Form/ControlsText.d.ts +3 -4
  422. package/dist/esm/components/Form/ControlsText.js +9 -4
  423. package/dist/esm/components/Form/Fieldset.d.ts +4 -4
  424. package/dist/esm/components/Form/Fieldset.js +9 -4
  425. package/dist/esm/components/Form/Form.d.ts +4 -5
  426. package/dist/esm/components/Form/Form.js +11 -6
  427. package/dist/esm/components/Form/Label.d.ts +3 -4
  428. package/dist/esm/components/Form/Label.js +8 -4
  429. package/dist/esm/components/Form/Legend.d.ts +3 -4
  430. package/dist/esm/components/Form/Legend.js +7 -4
  431. package/dist/esm/components/Form/index.d.ts +9 -9
  432. package/dist/esm/components/Form/index.js +6 -6
  433. package/dist/esm/components/Grid/index.d.ts +7 -8
  434. package/dist/esm/components/Grid/index.js +14 -11
  435. package/dist/esm/components/Heading/index.d.ts +5 -6
  436. package/dist/esm/components/Heading/index.js +11 -5
  437. package/dist/esm/components/Icon/Button.d.ts +3 -5
  438. package/dist/esm/components/Icon/Button.js +2 -4
  439. package/dist/esm/components/Icon/Icon.d.ts +4 -6
  440. package/dist/esm/components/Icon/Icon.js +9 -8
  441. package/dist/esm/components/Icon/Link.d.ts +3 -5
  442. package/dist/esm/components/Icon/Link.js +2 -4
  443. package/dist/esm/components/Icon/default-svg-props.d.ts +1 -1
  444. package/dist/esm/components/Icon/default-svg-props.js +1 -1
  445. package/dist/esm/components/Icon/index.d.ts +9 -9
  446. package/dist/esm/components/Icon/index.js +5 -5
  447. package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
  448. package/dist/esm/components/Iconnav/Iconnav.js +6 -5
  449. package/dist/esm/components/Iconnav/Item.d.ts +1 -5
  450. package/dist/esm/components/Iconnav/Item.js +3 -3
  451. package/dist/esm/components/Iconnav/index.d.ts +5 -5
  452. package/dist/esm/components/Iconnav/index.js +2 -2
  453. package/dist/esm/components/Label/index.d.ts +1 -1
  454. package/dist/esm/components/Label/index.js +7 -6
  455. package/dist/esm/components/Label/index.scss +1 -1
  456. package/dist/esm/components/Link/index.d.ts +3 -3
  457. package/dist/esm/components/Link/index.js +9 -3
  458. package/dist/esm/components/List/Item.d.ts +2 -5
  459. package/dist/esm/components/List/Item.js +1 -3
  460. package/dist/esm/components/List/List.d.ts +1 -1
  461. package/dist/esm/components/List/List.js +8 -7
  462. package/dist/esm/components/List/index.d.ts +5 -5
  463. package/dist/esm/components/List/index.js +2 -2
  464. package/dist/esm/components/Modal/Modal.d.ts +4 -3
  465. package/dist/esm/components/Modal/Modal.js +19 -15
  466. package/dist/esm/components/Modal/index.d.ts +1 -1
  467. package/dist/esm/components/Modal/index.js +1 -1
  468. package/dist/esm/components/Nav/Divider.d.ts +3 -8
  469. package/dist/esm/components/Nav/Divider.js +5 -5
  470. package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
  471. package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +13 -0
  472. package/dist/esm/components/Nav/Group/index.d.ts +3 -0
  473. package/dist/esm/components/Nav/Group/index.js +18 -0
  474. package/dist/esm/components/Nav/Header.d.ts +1 -1
  475. package/dist/esm/components/Nav/Header.js +2 -2
  476. package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +16 -2
  477. package/dist/esm/components/Nav/Item/InternalNavItem.js +54 -34
  478. package/dist/esm/components/Nav/Item/LegacyNavItem.js +1 -1
  479. package/dist/esm/components/Nav/Item/index.d.ts +2 -28
  480. package/dist/esm/components/Nav/Item/index.js +5 -5
  481. package/dist/esm/components/Nav/Nav.d.ts +23 -5
  482. package/dist/esm/components/Nav/Nav.js +161 -118
  483. package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
  484. package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +6 -6
  485. package/dist/esm/components/Nav/Sub/PopupTrigger.js +21 -13
  486. package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -1
  487. package/dist/esm/components/Nav/Sub/SubNavList.js +5 -3
  488. package/dist/esm/components/Nav/Sub/index.d.ts +3 -19
  489. package/dist/esm/components/Nav/Sub/index.js +55 -37
  490. package/dist/esm/components/Nav/context/IdContext.js +3 -0
  491. package/dist/esm/components/Nav/context/NavContext.d.ts +5 -4
  492. package/dist/esm/components/Nav/context/NavContext.js +9 -3
  493. package/dist/esm/components/Nav/context/PathContext.js +5 -0
  494. package/dist/esm/components/Nav/context/PrivateContext.d.ts +7 -0
  495. package/dist/esm/components/Nav/context/PrivateContext.js +2 -0
  496. package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +2 -2
  497. package/dist/esm/components/Nav/hooks/useAccessibility.js +3 -3
  498. package/dist/esm/components/Nav/hooks/useActive.d.ts +2 -2
  499. package/dist/esm/components/Nav/hooks/useActive.js +5 -5
  500. package/dist/esm/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
  501. package/dist/esm/components/Nav/hooks/useDirectionStyle.js +10 -0
  502. package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  503. package/dist/esm/components/Nav/hooks/useKeyRecords.js +13 -13
  504. package/dist/esm/components/Nav/hooks/useMemoCallback.d.ts +1 -1
  505. package/dist/esm/components/Nav/hooks/useMemoCallback.js +2 -1
  506. package/dist/esm/components/Nav/hooks/useUUID.d.ts +1 -1
  507. package/dist/esm/components/Nav/hooks/useUUID.js +2 -2
  508. package/dist/esm/components/Nav/index.d.ts +9 -9
  509. package/dist/esm/components/Nav/index.js +6 -6
  510. package/dist/esm/components/Nav/index.scss +10 -7
  511. package/dist/esm/components/Nav/types.d.ts +58 -10
  512. package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
  513. package/dist/esm/components/Nav/utils/motionUtil.d.ts +1 -1
  514. package/dist/esm/components/Nav/utils/nodeUtil.d.ts +3 -1
  515. package/dist/esm/components/Nav/utils/nodeUtil.js +36 -0
  516. package/dist/esm/components/Nav/utils/warnUtil.d.ts +1 -1
  517. package/dist/esm/components/Navbar/Center.d.ts +5 -7
  518. package/dist/esm/components/Navbar/Center.js +7 -4
  519. package/dist/esm/components/Navbar/Container.d.ts +4 -8
  520. package/dist/esm/components/Navbar/Container.js +8 -5
  521. package/dist/esm/components/Navbar/Item.d.ts +5 -8
  522. package/dist/esm/components/Navbar/Item.js +7 -4
  523. package/dist/esm/components/Navbar/Left.d.ts +5 -7
  524. package/dist/esm/components/Navbar/Left.js +7 -4
  525. package/dist/esm/components/Navbar/Nav.d.ts +2 -1
  526. package/dist/esm/components/Navbar/Nav.js +5 -2
  527. package/dist/esm/components/Navbar/Right.d.ts +3 -3
  528. package/dist/esm/components/Navbar/Toggle.d.ts +5 -4
  529. package/dist/esm/components/Navbar/index.d.ts +11 -11
  530. package/dist/esm/components/Navbar/index.js +8 -8
  531. package/dist/esm/components/Progress/index.d.ts +6 -0
  532. package/dist/esm/components/Progress/index.js +10 -0
  533. package/dist/esm/components/Progress/index.scss +129 -0
  534. package/dist/esm/components/Section/index.d.ts +4 -6
  535. package/dist/esm/components/Section/index.js +10 -7
  536. package/dist/esm/components/Spinner/index.d.ts +3 -3
  537. package/dist/esm/components/Spinner/index.js +8 -6
  538. package/dist/esm/components/Tabs/index.d.ts +7 -11
  539. package/dist/esm/components/Tabs/index.js +17 -17
  540. package/dist/esm/components/Tabs/index.scss +9 -1
  541. package/dist/esm/components/Text/index.d.ts +7 -8
  542. package/dist/esm/components/Text/index.js +22 -19
  543. package/dist/esm/components/Tile/index.d.ts +5 -6
  544. package/dist/esm/components/Tile/index.js +10 -7
  545. package/dist/esm/components/Tile/index.scss +8 -8
  546. package/dist/esm/components/Width/Width.d.ts +5 -6
  547. package/dist/esm/components/Width/Width.js +12 -5
  548. package/dist/esm/components/Width/index.d.ts +3 -3
  549. package/dist/esm/components/Width/index.js +3 -3
  550. package/dist/esm/components/Width/types.d.ts +6 -6
  551. package/dist/esm/components/Width/utils.d.ts +1 -1
  552. package/dist/esm/components/Width/utils.js +3 -1
  553. package/dist/esm/hooks/index.d.ts +3 -0
  554. package/dist/esm/hooks/index.js +3 -0
  555. package/dist/esm/hooks/useContext.d.ts +2 -0
  556. package/dist/esm/hooks/useContext.js +8 -0
  557. package/dist/esm/hooks/useMounted.d.ts +1 -0
  558. package/dist/esm/hooks/useMounted.js +11 -0
  559. package/dist/esm/index.d.ts +33 -30
  560. package/dist/esm/index.js +33 -30
  561. package/dist/esm/styles/_import.components.scss +1 -2
  562. package/dist/esm/styles/_import.scss +1 -2
  563. package/dist/esm/styles/animation.scss +35 -35
  564. package/dist/esm/styles/column.scss +0 -1
  565. package/dist/esm/styles/mixins.scss +30 -8
  566. package/dist/esm/styles/motion.scss +367 -44
  567. package/dist/esm/styles/progress.scss +1 -129
  568. package/dist/esm/styles/variables.scss +6 -4
  569. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  570. package/dist/esm/types.d.ts +15 -3
  571. package/dist/esm/utils/get-breakpoints-config-classes.d.ts +1 -1
  572. package/dist/esm/utils/index.d.ts +3 -4
  573. package/dist/esm/utils/index.js +3 -4
  574. package/dist/esm/utils/motion.d.ts +3 -3
  575. package/dist/esm/utils/motion.js +20 -19
  576. package/package.json +36 -34
  577. package/dist/cjs/components/Component/Component.d.ts +0 -8
  578. package/dist/cjs/components/Control/Checkbox/Context.d.ts +0 -4
  579. package/dist/cjs/components/Control/Radio/Context.d.ts +0 -4
  580. package/dist/cjs/components/Control/Radio/types.d.ts +0 -25
  581. package/dist/cjs/components/Control/Radio/types.js +0 -2
  582. package/dist/cjs/components/Nav/Group.d.ts +0 -14
  583. package/dist/cjs/utils/hooks/index.d.ts +0 -1
  584. package/dist/esm/components/Component/Component.d.ts +0 -8
  585. package/dist/esm/components/Component/Component.js +0 -3
  586. package/dist/esm/components/Control/Checkbox/Context.d.ts +0 -4
  587. package/dist/esm/components/Control/Checkbox/Context.js +0 -5
  588. package/dist/esm/components/Control/Radio/Context.d.ts +0 -4
  589. package/dist/esm/components/Control/Radio/Context.js +0 -5
  590. package/dist/esm/components/Control/Radio/types.d.ts +0 -25
  591. package/dist/esm/components/Control/Radio/types.js +0 -1
  592. package/dist/esm/components/Nav/Group.d.ts +0 -14
  593. package/dist/esm/components/Nav/Group.js +0 -26
  594. package/dist/esm/utils/hooks/index.d.ts +0 -1
  595. package/dist/esm/utils/hooks/index.js +0 -1
  596. /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
  597. /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.js +0 -0
  598. /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
  599. /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.js +0 -0
@@ -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
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { CSSMotionProps } from 'rc-motion';
3
- import type { Direction } from '../../types';
4
- import type { BuiltinPlacements, NavClickEventHandler, NavMode, NavModifier, RenderIconType, SelectEventHandler, TriggerSubMenuAction } from './types';
2
+ import { type CSSMotionProps } from 'rc-motion';
3
+ import { type BuiltinPlacements, type ItemType, type NavClickEventHandler, type NavMode, type NavModifier, type NavRef, type RenderIconType, type SelectEventHandler, type TriggerSubNavAction } from '../Nav/types';
4
+ import { type Direction } from '../../types';
5
5
  export interface NavProps extends Omit<React.HTMLAttributes<HTMLUListElement>, 'onClick' | 'onSelect' | 'dir'> {
6
6
  activeKey?: string;
7
7
  builtinPlacements?: BuiltinPlacements;
@@ -20,6 +20,7 @@ export interface NavProps extends Omit<React.HTMLAttributes<HTMLUListElement>, '
20
20
  getPopupContainer?: (node: HTMLElement) => HTMLElement;
21
21
  inlineCollapsed?: boolean;
22
22
  itemIcon?: RenderIconType;
23
+ items?: ItemType[];
23
24
  mode?: NavMode;
24
25
  modifiers?: NavModifier | NavModifier[];
25
26
  motion?: CSSMotionProps;
@@ -33,10 +34,27 @@ export interface NavProps extends Omit<React.HTMLAttributes<HTMLUListElement>, '
33
34
  selectedKeys?: string[];
34
35
  subNavCloseDelay?: number;
35
36
  subNavOpenDelay?: number;
36
- triggerSubNavAction?: TriggerSubMenuAction;
37
+ triggerSubNavAction?: TriggerSubNavAction;
37
38
  onClick?: NavClickEventHandler;
38
39
  onDeselect?: SelectEventHandler;
39
40
  onOpenChange?: (openKeys: string[]) => void;
40
41
  onSelect?: SelectEventHandler;
42
+ /**
43
+ * @private Only used for `pro-layout`. Do not use in your prod directly,
44
+ * and we do not promise any compatibility for this.
45
+ */
46
+ _internalRenderMenuItem?: (originNode: React.ReactElement, menuItemProps: any, stateProps: {
47
+ selected: boolean;
48
+ }) => React.ReactElement;
49
+ /**
50
+ * @private Only used for `pro-layout`. Do not use in your prod directly,
51
+ * and we do not promise any compatibility for this.
52
+ */
53
+ _internalRenderSubMenuItem?: (originNode: React.ReactElement, subMenuItemProps: any, stateProps: {
54
+ selected: boolean;
55
+ open: boolean;
56
+ active: boolean;
57
+ disabled: boolean;
58
+ }) => React.ReactElement;
41
59
  }
42
- export declare function Nav(props: NavProps): JSX.Element;
60
+ export declare const Nav: React.MemoExoticComponent<React.ForwardRefExoticComponent<NavProps & React.RefAttributes<NavRef>>>;