@broxus/react-uikit 0.1.2 → 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
@@ -1,5 +1,3 @@
1
- import type { AlignProps } from './Align';
2
- export declare function Right(props: Omit<AlignProps, 'side'>): JSX.Element;
3
- export declare namespace Right {
4
- var displayName: string;
5
- }
1
+ import * as React from 'react';
2
+ import { type AlignProps } from '../Align/Align';
3
+ export declare const Right: React.MemoExoticComponent<(props: Omit<AlignProps, 'side'>) => JSX.Element>;
@@ -1,8 +1,6 @@
1
1
  import * as React from 'react';
2
- import { Align } from './Align';
3
- export function Right(props) {
4
- return React.createElement(Align, { ...props, side: "right" });
5
- }
2
+ import { Align } from '../Align/Align';
3
+ export const Right = React.memo((props) => (React.createElement(Align, { ...props, side: "right" })));
6
4
  if (process.env.NODE_ENV !== 'production') {
7
5
  Right.displayName = 'Align.Right';
8
6
  }
@@ -1,10 +1,11 @@
1
- import { PolymorphicComponent } from '../Component';
2
- import { AlignOwnProps } from './Align';
3
- import { Left } from './Left';
4
- import { Right } from './Right';
1
+ import type * as React from 'react';
2
+ import { type AlignOwnProps, type AlignProps } from '../Align/Align';
3
+ import { Left } from '../Align/Left';
4
+ import { Right } from '../Align/Right';
5
5
  import './index.scss';
6
- export declare type CompoundedAlign = PolymorphicComponent<AlignOwnProps> & {
6
+ export type { AlignOwnProps, AlignProps };
7
+ export interface Align extends React.MemoExoticComponent<React.FunctionComponent<AlignProps>> {
7
8
  Left: typeof Left;
8
9
  Right: typeof Right;
9
- };
10
- export declare const Align: CompoundedAlign;
10
+ }
11
+ export declare const Align: Align;
@@ -1,6 +1,6 @@
1
- import { Align as InternalAlign } from './Align';
2
- import { Left } from './Left';
3
- import { Right } from './Right';
1
+ import { Align as InternalAlign } from '../Align/Align';
2
+ import { Left } from '../Align/Left';
3
+ import { Right } from '../Align/Right';
4
4
  import './index.scss';
5
5
  export const Align = InternalAlign;
6
6
  Align.Left = Left;
@@ -2,4 +2,4 @@ import * as React from 'react';
2
2
  export interface ArticleProps extends React.HTMLAttributes<HTMLElement> {
3
3
  prefixCls?: string;
4
4
  }
5
- export declare function Article(props: ArticleProps): JSX.Element;
5
+ export declare const Article: React.MemoExoticComponent<(props: ArticleProps) => JSX.Element>;
@@ -1,8 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { useConfig } from '../ConfrigProvider';
4
- export function Article(props) {
4
+ import { ComponentProvider } from '../ComponentProvider';
5
+ export const Article = React.memo((props) => {
5
6
  const config = useConfig();
6
- const { className, prefixCls = `${config.prefixCls}-article`, ...restProps } = props;
7
- return (React.createElement("article", { className: classNames(prefixCls, className), ...restProps }));
7
+ const { className, prefixCls = config.prefixCls, ...restProps } = props;
8
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'article'), [config, prefixCls]);
9
+ return (React.createElement(ComponentProvider, { component: "article", prefixCls: prefixCls || config.prefixCls },
10
+ React.createElement("article", { className: classNames(rootCls, className), ...restProps })));
11
+ });
12
+ if (process.env.NODE_ENV !== 'production') {
13
+ Article.displayName = 'Article';
8
14
  }
@@ -1,12 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicComponentProps } from '../Component';
3
- export declare type ArticleMetaOwnProps = {
2
+ import { type PolymorphicProps } from '../Component';
3
+ export type ArticleMetaOwnProps = {
4
4
  prefixCls?: string;
5
5
  };
6
- export declare type ArticleMetaProps<E extends React.ElementType> = PolymorphicComponentProps<E, ArticleMetaOwnProps>;
7
- declare const defaultElement = "p";
8
- export declare function Meta<E extends React.ElementType = typeof defaultElement>(props: ArticleMetaProps<E>): JSX.Element;
9
- export declare namespace Meta {
10
- var displayName: string;
11
- }
12
- export {};
6
+ export type ArticleMetaProps<E extends React.ElementType> = React.PropsWithChildren<ArticleMetaOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, ArticleMetaOwnProps>;
7
+ export declare const Meta: React.MemoExoticComponent<(<E extends React.ElementType<any> = "p">(props: ArticleMetaProps<E>) => JSX.Element)>;
@@ -1,13 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { Component } from '../Component';
4
+ import { useComponentContext } from '../ComponentProvider';
4
5
  import { useConfig } from '../ConfrigProvider';
5
6
  const defaultElement = 'p';
6
- export function Meta(props) {
7
+ export const Meta = React.memo((props) => {
7
8
  const config = useConfig();
8
- const { className, prefixCls = `${config.prefixCls}-article`, ...restProps } = props;
9
- return (React.createElement(Component, { className: classNames(`${prefixCls}-meta`, className), component: defaultElement, ...restProps }));
10
- }
9
+ const { getRootCls } = useComponentContext();
10
+ const { className, prefixCls = getRootCls(), ...restProps } = props;
11
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'meta'), [config, prefixCls]);
12
+ return (React.createElement(Component, { className: classNames(rootCls, className), component: defaultElement, ...restProps }));
13
+ });
11
14
  if (process.env.NODE_ENV !== 'production') {
12
15
  Meta.displayName = 'Article.Meta';
13
16
  }
@@ -1,12 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicComponentProps } from '../Component';
3
- export declare type ArticleTitleOwnProps = {
2
+ import { type PolymorphicProps } from '../Component';
3
+ export type ArticleTitleOwnProps = {
4
4
  prefixCls?: string;
5
5
  };
6
- export declare type ArticleTitleProps<E extends React.ElementType> = PolymorphicComponentProps<E, ArticleTitleOwnProps>;
7
- declare const defaultElement = "h1";
8
- export declare function Title<E extends React.ElementType = typeof defaultElement>(props: ArticleTitleProps<E>): JSX.Element;
9
- export declare namespace Title {
10
- var displayName: string;
11
- }
12
- export {};
6
+ export type ArticleTitleProps<E extends React.ElementType> = React.PropsWithChildren<ArticleTitleOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, ArticleTitleOwnProps>;
7
+ export declare const Title: React.MemoExoticComponent<(<E extends React.ElementType<any> = "h1">(props: ArticleTitleProps<E>) => JSX.Element)>;
@@ -1,13 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { Component } from '../Component';
4
+ import { useComponentContext } from '../ComponentProvider';
4
5
  import { useConfig } from '../ConfrigProvider';
5
6
  const defaultElement = 'h1';
6
- export function Title(props) {
7
+ export const Title = React.memo((props) => {
7
8
  const config = useConfig();
8
- const { className, prefixCls = `${config.prefixCls}-article`, ...restProps } = props;
9
- return (React.createElement(Component, { className: classNames(`${prefixCls}-title`, className), component: defaultElement, ...restProps }));
10
- }
9
+ const { getRootCls } = useComponentContext();
10
+ const { className, prefixCls = getRootCls(), ...restProps } = props;
11
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'title'), [config, prefixCls]);
12
+ return (React.createElement(Component, { className: classNames(rootCls, className), component: defaultElement, ...restProps }));
13
+ });
11
14
  if (process.env.NODE_ENV !== 'production') {
12
15
  Title.displayName = 'Article.Title';
13
16
  }
@@ -1,13 +1,11 @@
1
- import * as React from 'react';
2
- import { Meta } from './Meta';
3
- import { Title } from './Title';
4
- import type { ArticleProps } from './Article';
5
- import type { ArticleMetaProps } from './Meta';
6
- import type { ArticleTitleProps } from './Title';
1
+ import type * as React from 'react';
2
+ import { type ArticleProps } from '../Article/Article';
3
+ import { type ArticleMetaProps, Meta } from '../Article/Meta';
4
+ import { type ArticleTitleProps, Title } from '../Article/Title';
7
5
  import './index.scss';
8
- export type { ArticleProps, ArticleMetaProps, ArticleTitleProps };
9
- export interface CompoundedArticle extends React.FunctionComponent<ArticleProps> {
6
+ export type { ArticleMetaProps, ArticleProps, ArticleTitleProps };
7
+ export interface Article extends React.MemoExoticComponent<React.FunctionComponent<ArticleProps>> {
10
8
  Meta: typeof Meta;
11
9
  Title: typeof Title;
12
10
  }
13
- export declare const Article: CompoundedArticle;
11
+ export declare const Article: Article;
@@ -1,6 +1,6 @@
1
- import { Article as InternalArticle } from './Article';
2
- import { Meta } from './Meta';
3
- import { Title } from './Title';
1
+ import { Article as InternalArticle } from '../Article/Article';
2
+ import { Meta } from '../Article/Meta';
3
+ import { Title } from '../Article/Title';
4
4
  import './index.scss';
5
5
  export const Article = InternalArticle;
6
6
  Article.Meta = Meta;
@@ -1,10 +1,8 @@
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
- export declare type BadgeOwnProps = {
4
+ export type BadgeOwnProps = {
5
5
  prefixCls?: string;
6
6
  };
7
- export declare type BadgeProps<E extends React.ElementType> = PolymorphicComponentProps<E, BadgeOwnProps>;
8
- declare const defaultElement = "span";
9
- export declare function Badge<E extends React.ElementType = typeof defaultElement>(props: BadgeProps<E>): JSX.Element;
10
- export {};
7
+ export type BadgeProps<E extends React.ElementType> = React.PropsWithChildren<BadgeOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, BadgeOwnProps>;
8
+ export declare const Badge: React.MemoExoticComponent<(<E extends React.ElementType<any> = "span">(props: BadgeProps<E>) => JSX.Element)>;
@@ -4,8 +4,12 @@ import { Component } from '../Component';
4
4
  import { useConfig } from '../ConfrigProvider';
5
5
  import './index.scss';
6
6
  const defaultElement = 'span';
7
- export function Badge(props) {
7
+ export const Badge = React.memo((props) => {
8
8
  const config = useConfig();
9
- const { className, prefixCls = `${config.prefixCls}-badge`, ...restProps } = props;
10
- return (React.createElement(Component, { className: classNames(prefixCls, className), component: defaultElement, ...restProps }));
9
+ const { className, prefixCls = config.prefixCls, ...restProps } = props;
10
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'badge'), [config, prefixCls]);
11
+ return (React.createElement(Component, { className: classNames(rootCls, className), component: defaultElement, ...restProps }));
12
+ });
13
+ if (process.env.NODE_ENV !== 'production') {
14
+ Badge.displayName = 'Badge';
11
15
  }
@@ -2,4 +2,4 @@ import * as React from 'react';
2
2
  export interface BreadcrumbProps extends React.HTMLAttributes<HTMLUListElement> {
3
3
  prefixCls?: string;
4
4
  }
5
- export declare function Breadcrumb(props: BreadcrumbProps): JSX.Element;
5
+ export declare const Breadcrumb: React.MemoExoticComponent<(props: BreadcrumbProps) => JSX.Element>;
@@ -1,8 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { useConfig } from '../ConfrigProvider';
4
- export function Breadcrumb(props) {
4
+ export const Breadcrumb = React.memo((props) => {
5
5
  const config = useConfig();
6
- const { className, prefixCls = `${config.prefixCls}-breadcrumb`, ...restProps } = props;
7
- return (React.createElement("ul", { className: classNames(prefixCls, className), ...restProps }));
6
+ const { className, prefixCls = config.prefixCls, ...restProps } = props;
7
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'breadcrumb'), [config, prefixCls]);
8
+ return React.createElement("ul", { className: classNames(rootCls, className), ...restProps });
9
+ });
10
+ if (process.env.NODE_ENV !== 'production') {
11
+ Breadcrumb.displayName = 'Breadcrumb';
8
12
  }
@@ -2,8 +2,5 @@ import * as React from 'react';
2
2
  interface BreadcrumbItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
3
3
  disabled?: boolean;
4
4
  }
5
- export declare function Item(props: BreadcrumbItemProps): JSX.Element;
6
- export declare namespace Item {
7
- var displayName: string;
8
- }
5
+ export declare const Item: React.MemoExoticComponent<(props: BreadcrumbItemProps) => JSX.Element>;
9
6
  export {};
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { useConfig } from '../ConfrigProvider';
4
- export function Item(props) {
4
+ export const Item = React.memo((props) => {
5
5
  const config = useConfig();
6
6
  const { className, disabled, ...restProps } = props;
7
7
  return (React.createElement("li", { className: classNames(className, {
8
8
  [`${config.prefixCls}-disabled`]: disabled,
9
9
  }), ...restProps }));
10
- }
10
+ });
11
11
  if (process.env.NODE_ENV !== 'production') {
12
12
  Item.displayName = 'Breadcrumb.Item';
13
13
  }
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
2
- import { Item } from './Item';
3
- import type { BreadcrumbProps } from './Breadcrumb';
1
+ import type * as React from 'react';
2
+ import { type BreadcrumbProps } from '../Breadcrumb/Breadcrumb';
3
+ import { Item } from '../Breadcrumb/Item';
4
4
  import './index.scss';
5
5
  export type { BreadcrumbProps };
6
- export interface CompoundedBreadcrumb extends React.FunctionComponent<BreadcrumbProps> {
6
+ export interface Breadcrumb extends React.MemoExoticComponent<React.FunctionComponent<BreadcrumbProps>> {
7
7
  Item: typeof Item;
8
8
  }
9
- export declare const Breadcrumb: CompoundedBreadcrumb;
9
+ export declare const Breadcrumb: Breadcrumb;
@@ -1,5 +1,5 @@
1
- import { Breadcrumb as InnerBreadcrumb } from './Breadcrumb';
2
- import { Item } from './Item';
1
+ import { Breadcrumb as InternalBreadcrumb } from '../Breadcrumb/Breadcrumb';
2
+ import { Item } from '../Breadcrumb/Item';
3
3
  import './index.scss';
4
- export const Breadcrumb = InnerBreadcrumb;
4
+ export const Breadcrumb = InternalBreadcrumb;
5
5
  Breadcrumb.Item = Item;
@@ -15,4 +15,4 @@ export interface ButtonProps extends Partial<AnchorButtonProps>, Partial<NativeB
15
15
  size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
16
16
  type?: 'default' | 'primary' | 'secondary' | 'tertiary' | 'danger' | 'link' | 'text';
17
17
  }
18
- export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<unknown>>;
18
+ export declare const Button: React.MemoExoticComponent<React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<any>>>;
@@ -2,29 +2,31 @@ import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { useConfig } from '../ConfrigProvider';
4
4
  import { Link } from '../Link';
5
- /* eslint-disable react/prop-types */
6
- export const Button = React.forwardRef((props, ref) => {
5
+ const ForwardedButton = React.forwardRef((props, ref) => {
7
6
  const config = useConfig();
8
- const { children, ghost, htmlType = 'button', prefixCls = `${config.prefixCls}-button`, shape, size, type, ...restProps } = props;
9
- const buttonRef = ref || React.useRef(null);
10
- const onClick = event => {
7
+ const { children, ghost, htmlType = 'button', prefixCls = config.prefixCls, shape, size, type, ...restProps } = props;
8
+ const buttonRef = React.useRef(null);
9
+ const onClick = React.useCallback(event => {
11
10
  if (restProps.disabled) {
12
11
  event.preventDefault();
13
12
  return;
14
13
  }
15
14
  restProps.onClick?.(event);
16
- };
17
- const className = classNames(prefixCls, {
18
- [`${prefixCls}-${type}`]: type !== undefined,
19
- [`${prefixCls}-ghost`]: ghost !== undefined,
20
- [`${prefixCls}-${size}`]: size !== undefined,
21
- [`${prefixCls}-${shape}`]: shape !== undefined && ['circle', 'round'].includes(shape),
22
- }, restProps.className);
15
+ }, [restProps]);
16
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'button'), [config, prefixCls]);
17
+ const className = React.useMemo(() => classNames(rootCls, {
18
+ [`${rootCls}-${type}`]: type !== undefined,
19
+ [`${rootCls}-ghost`]: ghost !== undefined,
20
+ [`${rootCls}-${size}`]: size !== undefined,
21
+ [`${rootCls}-${shape}`]: shape !== undefined && ['circle', 'round'].includes(shape),
22
+ }, restProps.className), [rootCls, type, ghost, size, shape, restProps.className]);
23
23
  if (restProps.href !== undefined) {
24
- return (React.createElement(Link, { ref: buttonRef, href: restProps.href, ...restProps, className: className, onClick: onClick }, children));
24
+ return (React.createElement(Link, { ref: ref || buttonRef, href: restProps.href, ...restProps, className: className, onClick: onClick }, children));
25
25
  }
26
- return (React.createElement("button", { ref: buttonRef, type: htmlType, ...restProps, className: className, onClick: onClick }, children));
26
+ return (React.createElement("button", { ref: ref || buttonRef, type: htmlType, ...restProps, className: className, onClick: onClick }, children));
27
27
  });
28
+ export const Button = React.memo(ForwardedButton);
28
29
  if (process.env.NODE_ENV !== 'production') {
30
+ ForwardedButton.displayName = 'Button.Forwarded';
29
31
  Button.displayName = 'Button';
30
32
  }
@@ -2,7 +2,4 @@ import * as React from 'react';
2
2
  export interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  prefixCls?: string;
4
4
  }
5
- export declare function Group(props: ButtonGroupProps): JSX.Element;
6
- export declare namespace Group {
7
- var displayName: string;
8
- }
5
+ export declare const Group: React.MemoExoticComponent<(props: ButtonGroupProps) => JSX.Element>;
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { useConfig } from '../ConfrigProvider';
4
- export function Group(props) {
4
+ export const Group = React.memo((props) => {
5
5
  const config = useConfig();
6
- const { className, prefixCls = `${config.prefixCls}-button-group`, ...restProps } = props;
7
- return (React.createElement("div", { className: classNames(prefixCls, className), ...restProps }));
8
- }
6
+ const { className, prefixCls = config.prefixCls, ...restProps } = props;
7
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'button-group'), [config, prefixCls]);
8
+ return React.createElement("div", { className: classNames(rootCls, className), ...restProps });
9
+ });
9
10
  if (process.env.NODE_ENV !== 'production') {
10
11
  Group.displayName = 'Button.Group';
11
12
  }
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
2
- import { Group } from './Group';
3
- import type { ButtonProps } from './Button';
1
+ import type * as React from 'react';
2
+ import { type ButtonProps } from '../Button/Button';
3
+ import { Group } from '../Button/Group';
4
4
  import './index.scss';
5
5
  export type { ButtonProps };
6
- export interface CompoundedButton extends React.ForwardRefExoticComponent<ButtonProps> {
6
+ export interface Button extends React.MemoExoticComponent<React.ForwardRefExoticComponent<ButtonProps>> {
7
7
  Group: typeof Group;
8
8
  }
9
- export declare const Button: CompoundedButton;
9
+ export declare const Button: Button;
@@ -1,5 +1,5 @@
1
- import { Button as InternalButton } from './Button';
2
- import { Group } from './Group';
1
+ import { Button as InternalButton } from '../Button/Button';
2
+ import { Group } from '../Button/Group';
3
3
  import './index.scss';
4
4
  export const Button = InternalButton;
5
5
  Button.Group = Group;
@@ -1,8 +1,4 @@
1
1
  import * as React from 'react';
2
- export interface CardBadgeProps extends React.HTMLAttributes<HTMLElement> {
3
- prefixCls?: string;
4
- }
5
- export declare function Badge(props: CardBadgeProps): JSX.Element;
6
- export declare namespace Badge {
7
- var displayName: string;
8
- }
2
+ import { type BadgeProps } from '../Badge';
3
+ export type CardBadgeProps<E extends React.ElementType> = BadgeProps<E>;
4
+ export declare const Badge: React.MemoExoticComponent<(<E extends React.ElementType<any> = "span">(props: CardBadgeProps<E>) => JSX.Element)>;
@@ -1,12 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
+ import { Badge as BaseBadge } from '../Badge';
4
+ import { useComponentContext } from '../ComponentProvider';
3
5
  import { useConfig } from '../ConfrigProvider';
4
- import { Label } from '../Label';
5
- export function Badge(props) {
6
+ const defaultElement = 'span';
7
+ export const Badge = React.memo((props) => {
6
8
  const config = useConfig();
7
- const { className, prefixCls = `${config.prefixCls}-card-badge`, ...restProps } = props;
8
- return (React.createElement(Label, { className: classNames(prefixCls, className), ...restProps }));
9
- }
9
+ const { getRootCls } = useComponentContext();
10
+ const { className, prefixCls = getRootCls(), ...restProps } = props;
11
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'badge'), [config, prefixCls]);
12
+ return React.createElement(BaseBadge, { className: classNames(rootCls, className), ...restProps });
13
+ });
10
14
  if (process.env.NODE_ENV !== 'production') {
11
15
  Badge.displayName = 'Card.Badge';
12
16
  }
@@ -2,7 +2,4 @@ import * as React from 'react';
2
2
  export interface CardBodyProps extends React.HTMLAttributes<HTMLElement> {
3
3
  prefixCls?: string;
4
4
  }
5
- export declare function Body(props: CardBodyProps): JSX.Element;
6
- export declare namespace Body {
7
- var displayName: string;
8
- }
5
+ export declare const Body: React.MemoExoticComponent<(props: CardBodyProps) => JSX.Element>;
@@ -1,11 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
+ import { useComponentContext } from '../ComponentProvider';
3
4
  import { useConfig } from '../ConfrigProvider';
4
- export function Body(props) {
5
+ export const Body = React.memo((props) => {
5
6
  const config = useConfig();
6
- const { className, prefixCls = `${config.prefixCls}-card-body`, ...restProps } = props;
7
- return (React.createElement("div", { className: classNames(prefixCls, className), ...restProps }));
8
- }
7
+ const { getRootCls } = useComponentContext();
8
+ const { className, prefixCls = getRootCls(), ...restProps } = props;
9
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'body'), [config, prefixCls]);
10
+ return React.createElement("div", { className: classNames(rootCls, className), ...restProps });
11
+ });
9
12
  if (process.env.NODE_ENV !== 'production') {
10
13
  Body.displayName = 'Card.Body';
11
14
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicComponentProps } from '../Component';
3
- import type { ColorMode } from '../ConfrigProvider';
2
+ import { type PolymorphicProps } from '../Component';
3
+ import { type ColorMode } from '../ConfrigProvider';
4
4
  export interface CardOwnProps extends React.HTMLAttributes<HTMLElement> {
5
5
  asBody?: boolean;
6
6
  color?: 'default' | 'primary' | 'secondary' | 'tertiary';
@@ -9,7 +9,5 @@ export interface CardOwnProps extends React.HTMLAttributes<HTMLElement> {
9
9
  prefixCls?: string;
10
10
  size?: 'small' | 'large';
11
11
  }
12
- export declare type CardProps<E extends React.ElementType = React.ElementType> = PolymorphicComponentProps<E, CardOwnProps>;
13
- declare const defaultElement = "div";
14
- export declare function Card<E extends React.ElementType = typeof defaultElement>(props: CardProps<E>): JSX.Element;
15
- export {};
12
+ export type CardProps<E extends React.ElementType = React.ElementType> = React.PropsWithChildren<CardOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, CardOwnProps>;
13
+ export declare const Card: React.MemoExoticComponent<(<E extends React.ElementType<any> = "div">(props: CardProps<E>) => JSX.Element)>;
@@ -2,18 +2,25 @@ import * as React from 'react';
2
2
  import { capitalizeFirstLetter } from '@broxus/js-utils';
3
3
  import classNames from 'classnames';
4
4
  import { Component } from '../Component';
5
+ import { ComponentProvider } from '../ComponentProvider';
5
6
  import { useConfig } from '../ConfrigProvider';
6
7
  const defaultElement = 'div';
7
- export function Card(props) {
8
+ export const Card = React.memo((props) => {
8
9
  const config = useConfig();
9
10
  const { asBody, className, color, colorMode = color !== 'default' && color !== undefined
10
- ? config[`card${capitalizeFirstLetter(color)}ColorMode`]
11
- : undefined, hoverable, prefixCls = `${config.prefixCls}-card`, size, ...restProps } = props;
12
- return (React.createElement(Component, { className: classNames(prefixCls, {
13
- [`${prefixCls}-${color}`]: color !== undefined,
14
- [`${prefixCls}-${size}`]: size !== undefined,
15
- [`${prefixCls}-body`]: asBody,
16
- [`${prefixCls}-hover`]: hoverable,
17
- [`${config.prefixCls}-${colorMode}`]: colorMode !== undefined,
18
- }, className), component: defaultElement, ...restProps }));
11
+ ? // @ts-ignore
12
+ config[`card${capitalizeFirstLetter(color)}ColorMode`]
13
+ : undefined, hoverable, prefixCls = config.prefixCls, size, ...restProps } = props;
14
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'card'), [config, prefixCls]);
15
+ return (React.createElement(ComponentProvider, { component: "card", prefixCls: prefixCls || config.prefixCls },
16
+ React.createElement(Component, { className: classNames(rootCls, {
17
+ [`${rootCls}-${color}`]: color !== undefined,
18
+ [`${rootCls}-${size}`]: size !== undefined,
19
+ [`${rootCls}-body`]: asBody,
20
+ [`${rootCls}-hover`]: hoverable,
21
+ [`${config.prefixCls}-${colorMode}`]: colorMode !== undefined,
22
+ }, className), component: defaultElement, ...restProps })));
23
+ });
24
+ if (process.env.NODE_ENV !== 'production') {
25
+ Card.displayName = 'Card';
19
26
  }
@@ -1,12 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicComponentProps } from '../Component';
3
- export declare type CardFooterOwnProps = {
2
+ import { type PolymorphicProps } from '../Component';
3
+ export type CardFooterOwnProps = {
4
4
  prefixCls?: string;
5
5
  };
6
- export declare type CardFooterProps<E extends React.ElementType = React.ElementType> = PolymorphicComponentProps<E, CardFooterOwnProps>;
7
- declare const defaultElement = "footer";
8
- export declare function Footer<E extends React.ElementType = typeof defaultElement>(props: CardFooterProps<E>): JSX.Element;
9
- export declare namespace Footer {
10
- var displayName: string;
11
- }
12
- export {};
6
+ export type CardFooterProps<E extends React.ElementType> = React.PropsWithChildren<CardFooterOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, CardFooterOwnProps>;
7
+ export declare const Footer: React.MemoExoticComponent<(<E extends React.ElementType<any> = "footer">(props: CardFooterProps<E>) => JSX.Element)>;
@@ -2,12 +2,15 @@ import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { Component } from '../Component';
4
4
  import { useConfig } from '../ConfrigProvider';
5
+ import { useComponentContext } from '../ComponentProvider';
5
6
  const defaultElement = 'footer';
6
- export function Footer(props) {
7
+ export const Footer = React.memo((props) => {
7
8
  const config = useConfig();
8
- const { className, prefixCls = `${config.prefixCls}-card-footer`, ...restProps } = props;
9
- return (React.createElement(Component, { className: classNames(prefixCls, className), component: defaultElement, ...restProps }));
10
- }
9
+ const { getRootCls } = useComponentContext();
10
+ const { className, prefixCls = getRootCls(), ...restProps } = props;
11
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'footer'), [config, prefixCls]);
12
+ return (React.createElement(Component, { className: classNames(rootCls, className), component: defaultElement, ...restProps }));
13
+ });
11
14
  if (process.env.NODE_ENV !== 'production') {
12
15
  Footer.displayName = 'Card.Footer';
13
16
  }
@@ -1,12 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicComponentProps } from '../Component';
3
- export declare type CardHeaderOwnProps = {
2
+ import { type PolymorphicProps } from '../Component';
3
+ export type CardHeaderOwnProps = {
4
4
  prefixCls?: string;
5
5
  };
6
- export declare type CardHeaderProps<E extends React.ElementType = React.ElementType> = PolymorphicComponentProps<E, CardHeaderOwnProps>;
7
- declare const defaultElement = "header";
8
- export declare function Header<E extends React.ElementType = typeof defaultElement>(props: CardHeaderProps<E>): JSX.Element;
9
- export declare namespace Header {
10
- var displayName: string;
11
- }
12
- export {};
6
+ export type CardHeaderProps<E extends React.ElementType> = React.PropsWithChildren<CardHeaderOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, CardHeaderOwnProps>;
7
+ export declare const Header: React.MemoExoticComponent<(<E extends React.ElementType<any> = "header">(props: CardHeaderProps<E>) => JSX.Element)>;