@broxus/react-uikit 0.1.3 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/LICENSE +154 -167
  2. package/dist/cjs/components/Accordion/Accordion.d.ts +3 -2
  3. package/dist/cjs/components/Accordion/Accordion.js +8 -5
  4. package/dist/cjs/components/Accordion/Item.d.ts +3 -6
  5. package/dist/cjs/components/Accordion/Item.js +6 -6
  6. package/dist/cjs/components/Accordion/index.d.ts +6 -5
  7. package/dist/cjs/components/Accordion/index.js +2 -2
  8. package/dist/cjs/components/Alert/index.d.ts +3 -3
  9. package/dist/cjs/components/Alert/index.js +17 -10
  10. package/dist/cjs/components/Align/Align.d.ts +5 -7
  11. package/dist/cjs/components/Align/Align.js +9 -6
  12. package/dist/cjs/components/Align/Left.d.ts +3 -5
  13. package/dist/cjs/components/Align/Left.js +3 -6
  14. package/dist/cjs/components/Align/Right.d.ts +3 -5
  15. package/dist/cjs/components/Align/Right.js +3 -6
  16. package/dist/cjs/components/Align/index.d.ts +8 -7
  17. package/dist/cjs/components/Align/index.js +3 -3
  18. package/dist/cjs/components/Article/Article.d.ts +1 -1
  19. package/dist/cjs/components/Article/Article.js +9 -4
  20. package/dist/cjs/components/Article/Meta.d.ts +4 -9
  21. package/dist/cjs/components/Article/Meta.js +8 -6
  22. package/dist/cjs/components/Article/Title.d.ts +4 -9
  23. package/dist/cjs/components/Article/Title.js +8 -6
  24. package/dist/cjs/components/Article/index.d.ts +7 -9
  25. package/dist/cjs/components/Article/index.js +3 -3
  26. package/dist/cjs/components/Badge/index.d.ts +4 -6
  27. package/dist/cjs/components/Badge/index.js +7 -4
  28. package/dist/cjs/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  29. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +7 -4
  30. package/dist/cjs/components/Breadcrumb/Item.d.ts +1 -4
  31. package/dist/cjs/components/Breadcrumb/Item.js +3 -4
  32. package/dist/cjs/components/Breadcrumb/index.d.ts +5 -5
  33. package/dist/cjs/components/Breadcrumb/index.js +2 -2
  34. package/dist/cjs/components/Button/Button.d.ts +1 -1
  35. package/dist/cjs/components/Button/Button.js +16 -14
  36. package/dist/cjs/components/Button/Group.d.ts +1 -4
  37. package/dist/cjs/components/Button/Group.js +6 -6
  38. package/dist/cjs/components/Button/index.d.ts +5 -5
  39. package/dist/cjs/components/Button/index.js +2 -2
  40. package/dist/cjs/components/Card/Badge.d.ts +3 -7
  41. package/dist/cjs/components/Card/Badge.js +10 -7
  42. package/dist/cjs/components/Card/Body.d.ts +1 -4
  43. package/dist/cjs/components/Card/Body.js +8 -6
  44. package/dist/cjs/components/Card/Card.d.ts +4 -6
  45. package/dist/cjs/components/Card/Card.js +17 -11
  46. package/dist/cjs/components/Card/Footer.d.ts +4 -9
  47. package/dist/cjs/components/Card/Footer.js +8 -6
  48. package/dist/cjs/components/Card/Header.d.ts +4 -9
  49. package/dist/cjs/components/Card/Header.js +8 -6
  50. package/dist/cjs/components/Card/Media.d.ts +1 -4
  51. package/dist/cjs/components/Card/Media.js +8 -6
  52. package/dist/cjs/components/Card/Title.d.ts +4 -9
  53. package/dist/cjs/components/Card/Title.js +9 -7
  54. package/dist/cjs/components/Card/index.d.ts +10 -10
  55. package/dist/cjs/components/Card/index.js +7 -7
  56. package/dist/cjs/components/Close/index.d.ts +3 -7
  57. package/dist/cjs/components/Close/index.js +7 -4
  58. package/dist/cjs/components/Component/index.d.ts +9 -4
  59. package/dist/cjs/components/Component/index.js +26 -2
  60. package/dist/cjs/components/ComponentProvider/index.d.ts +11 -0
  61. package/dist/cjs/components/ComponentProvider/index.js +49 -0
  62. package/dist/cjs/components/ConfrigProvider/index.d.ts +9 -7
  63. package/dist/cjs/components/ConfrigProvider/index.js +37 -7
  64. package/dist/cjs/components/Container/index.d.ts +4 -5
  65. package/dist/cjs/components/Container/index.js +12 -7
  66. package/dist/cjs/components/Control/Checkbox/Checkbox.d.ts +7 -2
  67. package/dist/cjs/components/Control/Checkbox/Checkbox.js +68 -46
  68. package/dist/cjs/components/Control/Checkbox/CheckboxGroupContext.d.ts +26 -0
  69. package/dist/cjs/components/Control/Checkbox/{Context.js → CheckboxGroupContext.js} +6 -3
  70. package/dist/cjs/components/Control/Checkbox/Group.d.ts +14 -2
  71. package/dist/cjs/components/Control/Checkbox/Group.js +31 -28
  72. package/dist/cjs/components/Control/Checkbox/index.d.ts +8 -6
  73. package/dist/cjs/components/Control/Checkbox/index.js +3 -3
  74. package/dist/cjs/components/Control/Checkbox/index.scss +15 -8
  75. package/dist/cjs/components/Control/Checkbox/types.d.ts +3 -66
  76. package/dist/cjs/components/Control/Input/Input.d.ts +2 -2
  77. package/dist/cjs/components/Control/Input/Input.js +22 -13
  78. package/dist/cjs/components/Control/Input/Number/index.d.ts +2 -2
  79. package/dist/cjs/components/Control/Input/Number/index.js +24 -19
  80. package/dist/cjs/components/Control/Input/Password/index.d.ts +2 -2
  81. package/dist/cjs/components/Control/Input/Password/index.js +39 -27
  82. package/dist/cjs/components/Control/Input/index.d.ts +7 -7
  83. package/dist/cjs/components/Control/Input/index.js +5 -5
  84. package/dist/cjs/components/Control/Input/types.d.ts +5 -5
  85. package/dist/cjs/components/Control/Input/useInput.d.ts +5 -4
  86. package/dist/cjs/components/Control/Input/useInput.js +47 -50
  87. package/dist/cjs/components/Control/Radio/Group.d.ts +7 -2
  88. package/dist/cjs/components/Control/Radio/Group.js +24 -17
  89. package/dist/cjs/components/Control/Radio/Radio.d.ts +6 -2
  90. package/dist/cjs/components/Control/Radio/Radio.js +58 -40
  91. package/dist/cjs/components/Control/Radio/RadioGroupContext.d.ts +9 -0
  92. package/dist/cjs/components/Control/Radio/{Context.js → RadioGroupContext.js} +6 -3
  93. package/dist/cjs/components/Control/Radio/index.d.ts +6 -6
  94. package/dist/cjs/components/Control/Radio/index.js +2 -17
  95. package/dist/cjs/components/Control/Radio/index.scss +9 -5
  96. package/dist/cjs/components/Control/Select/index.d.ts +8 -12
  97. package/dist/cjs/components/Control/Select/index.js +72 -49
  98. package/dist/cjs/components/Control/TextArea/index.d.ts +3 -10
  99. package/dist/cjs/components/Control/TextArea/index.js +51 -47
  100. package/dist/cjs/components/Control/TextArea/index.scss +10 -1
  101. package/dist/cjs/components/Control/index.d.ts +6 -6
  102. package/dist/cjs/components/Control/index.js +6 -6
  103. package/dist/cjs/components/Control/index.scss +6 -0
  104. package/dist/cjs/components/Control/types.d.ts +8 -7
  105. package/dist/cjs/components/Cover/index.d.ts +2 -1
  106. package/dist/cjs/components/Cover/index.js +24 -17
  107. package/dist/cjs/components/DescriptionList/Description.d.ts +1 -6
  108. package/dist/cjs/components/DescriptionList/Description.js +2 -5
  109. package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +2 -1
  110. package/dist/cjs/components/DescriptionList/DescriptionList.js +10 -5
  111. package/dist/cjs/components/DescriptionList/Term.d.ts +1 -6
  112. package/dist/cjs/components/DescriptionList/Term.js +2 -5
  113. package/dist/cjs/components/DescriptionList/index.d.ts +6 -6
  114. package/dist/cjs/components/DescriptionList/index.js +3 -3
  115. package/dist/cjs/components/Divider/index.d.ts +2 -1
  116. package/dist/cjs/components/Divider/index.js +11 -6
  117. package/dist/cjs/components/Dotnav/Dotnav.d.ts +2 -1
  118. package/dist/cjs/components/Dotnav/Dotnav.js +10 -5
  119. package/dist/cjs/components/Dotnav/Item.d.ts +1 -4
  120. package/dist/cjs/components/Dotnav/Item.js +7 -6
  121. package/dist/cjs/components/Dotnav/index.d.ts +5 -5
  122. package/dist/cjs/components/Dotnav/index.js +2 -2
  123. package/dist/cjs/components/Drawer/index.d.ts +7 -44
  124. package/dist/cjs/components/Drawer/index.js +40 -139
  125. package/dist/cjs/components/Drawer/index.scss +11 -14
  126. package/dist/cjs/components/Drop/index.d.ts +12 -4
  127. package/dist/cjs/components/Drop/index.js +38 -21
  128. package/dist/cjs/components/Drop/index.scss +0 -26
  129. package/dist/cjs/components/Dropdown/index.d.ts +3 -3
  130. package/dist/cjs/components/Dropdown/index.js +5 -2
  131. package/dist/cjs/components/Flex/index.d.ts +15 -16
  132. package/dist/cjs/components/Flex/index.js +15 -13
  133. package/dist/cjs/components/Form/Controls.d.ts +3 -4
  134. package/dist/cjs/components/Form/Controls.js +10 -6
  135. package/dist/cjs/components/Form/ControlsText.d.ts +3 -4
  136. package/dist/cjs/components/Form/ControlsText.js +10 -6
  137. package/dist/cjs/components/Form/Fieldset.d.ts +4 -4
  138. package/dist/cjs/components/Form/Fieldset.js +10 -6
  139. package/dist/cjs/components/Form/Form.d.ts +4 -5
  140. package/dist/cjs/components/Form/Form.js +11 -7
  141. package/dist/cjs/components/Form/Label.d.ts +3 -4
  142. package/dist/cjs/components/Form/Label.js +9 -6
  143. package/dist/cjs/components/Form/Legend.d.ts +3 -4
  144. package/dist/cjs/components/Form/Legend.js +8 -6
  145. package/dist/cjs/components/Form/index.d.ts +9 -9
  146. package/dist/cjs/components/Form/index.js +6 -6
  147. package/dist/cjs/components/Grid/index.d.ts +7 -8
  148. package/dist/cjs/components/Grid/index.js +13 -11
  149. package/dist/cjs/components/Heading/index.d.ts +5 -6
  150. package/dist/cjs/components/Heading/index.js +11 -6
  151. package/dist/cjs/components/Icon/Button.d.ts +3 -5
  152. package/dist/cjs/components/Icon/Button.js +3 -6
  153. package/dist/cjs/components/Icon/Icon.d.ts +4 -6
  154. package/dist/cjs/components/Icon/Icon.js +9 -9
  155. package/dist/cjs/components/Icon/Link.d.ts +3 -5
  156. package/dist/cjs/components/Icon/Link.js +3 -6
  157. package/dist/cjs/components/Icon/default-svg-props.d.ts +1 -1
  158. package/dist/cjs/components/Icon/default-svg-props.js +2 -2
  159. package/dist/cjs/components/Icon/index.d.ts +9 -9
  160. package/dist/cjs/components/Icon/index.js +5 -5
  161. package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
  162. package/dist/cjs/components/Iconnav/Iconnav.js +6 -6
  163. package/dist/cjs/components/Iconnav/Item.d.ts +1 -5
  164. package/dist/cjs/components/Iconnav/Item.js +4 -5
  165. package/dist/cjs/components/Iconnav/index.d.ts +5 -5
  166. package/dist/cjs/components/Iconnav/index.js +2 -2
  167. package/dist/cjs/components/Label/index.d.ts +1 -1
  168. package/dist/cjs/components/Label/index.js +7 -7
  169. package/dist/cjs/components/Label/index.scss +1 -1
  170. package/dist/cjs/components/Link/index.d.ts +3 -3
  171. package/dist/cjs/components/Link/index.js +9 -3
  172. package/dist/cjs/components/List/Item.d.ts +2 -5
  173. package/dist/cjs/components/List/Item.js +2 -5
  174. package/dist/cjs/components/List/List.d.ts +1 -1
  175. package/dist/cjs/components/List/List.js +8 -8
  176. package/dist/cjs/components/List/index.d.ts +5 -5
  177. package/dist/cjs/components/List/index.js +2 -2
  178. package/dist/cjs/components/Modal/Modal.d.ts +4 -3
  179. package/dist/cjs/components/Modal/Modal.js +19 -16
  180. package/dist/cjs/components/Modal/index.d.ts +1 -1
  181. package/dist/cjs/components/Modal/index.js +1 -1
  182. package/dist/cjs/components/Nav/Divider.d.ts +3 -8
  183. package/dist/cjs/components/Nav/Divider.js +6 -7
  184. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
  185. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.js +42 -0
  186. package/dist/cjs/components/Nav/Group/index.d.ts +3 -0
  187. package/dist/cjs/components/Nav/{Group.js → Group/index.js} +10 -19
  188. package/dist/cjs/components/Nav/Header.d.ts +1 -1
  189. package/dist/cjs/components/Nav/Header.js +2 -2
  190. package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +16 -2
  191. package/dist/cjs/components/Nav/Item/InternalNavItem.js +54 -35
  192. package/dist/cjs/components/Nav/Item/LegacyNavItem.js +1 -1
  193. package/dist/cjs/components/Nav/Item/index.d.ts +2 -28
  194. package/dist/cjs/components/Nav/Item/index.js +6 -7
  195. package/dist/cjs/components/Nav/Nav.d.ts +23 -5
  196. package/dist/cjs/components/Nav/Nav.js +165 -123
  197. package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +3 -3
  198. package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +6 -6
  199. package/dist/cjs/components/Nav/Sub/PopupTrigger.js +21 -14
  200. package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -1
  201. package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -3
  202. package/dist/cjs/components/Nav/Sub/index.d.ts +3 -19
  203. package/dist/cjs/components/Nav/Sub/index.js +58 -41
  204. package/dist/cjs/components/Nav/context/IdContext.js +3 -0
  205. package/dist/cjs/components/Nav/context/NavContext.d.ts +5 -4
  206. package/dist/cjs/components/Nav/context/NavContext.js +9 -3
  207. package/dist/cjs/components/Nav/context/PathContext.js +5 -0
  208. package/dist/cjs/components/Nav/context/PrivateContext.d.ts +7 -0
  209. package/dist/cjs/components/{Component/Component.js → Nav/context/PrivateContext.js} +2 -3
  210. package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +2 -2
  211. package/dist/cjs/components/Nav/hooks/useAccessibility.js +4 -3
  212. package/dist/cjs/components/Nav/hooks/useActive.d.ts +2 -2
  213. package/dist/cjs/components/Nav/hooks/useActive.js +6 -5
  214. package/dist/cjs/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
  215. package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +37 -0
  216. package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  217. package/dist/cjs/components/Nav/hooks/useKeyRecords.js +14 -14
  218. package/dist/cjs/components/Nav/hooks/useMemoCallback.d.ts +1 -1
  219. package/dist/cjs/components/Nav/hooks/useMemoCallback.js +3 -1
  220. package/dist/cjs/components/Nav/hooks/useUUID.d.ts +1 -1
  221. package/dist/cjs/components/Nav/hooks/useUUID.js +3 -2
  222. package/dist/cjs/components/Nav/index.d.ts +9 -9
  223. package/dist/cjs/components/Nav/index.js +6 -6
  224. package/dist/cjs/components/Nav/index.scss +10 -7
  225. package/dist/cjs/components/Nav/types.d.ts +58 -10
  226. package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
  227. package/dist/cjs/components/Nav/utils/motionUtil.d.ts +5 -2
  228. package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +3 -1
  229. package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -1
  230. package/dist/cjs/components/Nav/utils/warnUtil.d.ts +1 -1
  231. package/dist/cjs/components/Navbar/Center.d.ts +5 -7
  232. package/dist/cjs/components/Navbar/Center.js +8 -6
  233. package/dist/cjs/components/Navbar/Container.d.ts +4 -8
  234. package/dist/cjs/components/Navbar/Container.js +9 -7
  235. package/dist/cjs/components/Navbar/Item.d.ts +5 -8
  236. package/dist/cjs/components/Navbar/Item.js +8 -6
  237. package/dist/cjs/components/Navbar/Left.d.ts +5 -7
  238. package/dist/cjs/components/Navbar/Left.js +8 -6
  239. package/dist/cjs/components/Navbar/Nav.d.ts +1 -1
  240. package/dist/cjs/components/Navbar/Nav.js +5 -2
  241. package/dist/cjs/components/Navbar/Right.d.ts +3 -3
  242. package/dist/cjs/components/Navbar/Toggle.d.ts +5 -4
  243. package/dist/cjs/components/Navbar/index.d.ts +11 -11
  244. package/dist/cjs/components/Navbar/index.js +8 -8
  245. package/dist/cjs/components/Progress/index.d.ts +6 -0
  246. package/dist/cjs/components/Progress/index.js +39 -0
  247. package/dist/cjs/components/Progress/index.scss +129 -0
  248. package/dist/cjs/components/Section/index.d.ts +4 -6
  249. package/dist/cjs/components/Section/index.js +10 -8
  250. package/dist/cjs/components/Spinner/index.d.ts +3 -3
  251. package/dist/cjs/components/Spinner/index.js +7 -5
  252. package/dist/cjs/components/Tabs/index.d.ts +7 -11
  253. package/dist/cjs/components/Tabs/index.js +17 -18
  254. package/dist/cjs/components/Tabs/index.scss +9 -1
  255. package/dist/cjs/components/Text/index.d.ts +7 -8
  256. package/dist/cjs/components/Text/index.js +22 -20
  257. package/dist/cjs/components/Tile/index.d.ts +5 -6
  258. package/dist/cjs/components/Tile/index.js +10 -8
  259. package/dist/cjs/components/Tile/index.scss +8 -8
  260. package/dist/cjs/components/Width/Width.d.ts +5 -6
  261. package/dist/cjs/components/Width/Width.js +12 -6
  262. package/dist/cjs/components/Width/index.d.ts +3 -3
  263. package/dist/cjs/components/Width/index.js +3 -3
  264. package/dist/cjs/components/Width/types.d.ts +6 -6
  265. package/dist/cjs/components/Width/utils.d.ts +1 -1
  266. package/dist/cjs/components/Width/utils.js +3 -1
  267. package/dist/cjs/hooks/index.d.ts +3 -0
  268. package/dist/cjs/{utils/hooks → hooks}/index.js +3 -1
  269. package/dist/cjs/hooks/useContext.d.ts +2 -0
  270. package/dist/cjs/hooks/useContext.js +35 -0
  271. package/dist/cjs/hooks/useMounted.d.ts +1 -0
  272. package/dist/cjs/hooks/useMounted.js +38 -0
  273. package/dist/cjs/index.d.ts +33 -30
  274. package/dist/cjs/index.js +33 -30
  275. package/dist/cjs/styles/_import.components.scss +1 -2
  276. package/dist/cjs/styles/_import.scss +1 -2
  277. package/dist/cjs/styles/animation.scss +35 -35
  278. package/dist/cjs/styles/column.scss +0 -1
  279. package/dist/cjs/styles/mixins.scss +30 -1
  280. package/dist/cjs/styles/motion.scss +367 -44
  281. package/dist/cjs/styles/progress.scss +1 -129
  282. package/dist/cjs/styles/variables.scss +9 -5
  283. package/dist/cjs/types.d.ts +15 -3
  284. package/dist/cjs/utils/get-breakpoints-config-classes.d.ts +1 -1
  285. package/dist/cjs/utils/get-breakpoints-config-classes.js +1 -1
  286. package/dist/cjs/utils/index.d.ts +3 -4
  287. package/dist/cjs/utils/index.js +3 -4
  288. package/dist/cjs/utils/motion.d.ts +3 -3
  289. package/dist/cjs/utils/motion.js +23 -21
  290. package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
  291. package/dist/esm/components/Accordion/Accordion.js +8 -4
  292. package/dist/esm/components/Accordion/Item.d.ts +3 -6
  293. package/dist/esm/components/Accordion/Item.js +5 -4
  294. package/dist/esm/components/Accordion/index.d.ts +6 -5
  295. package/dist/esm/components/Accordion/index.js +2 -2
  296. package/dist/esm/components/Alert/index.d.ts +3 -3
  297. package/dist/esm/components/Alert/index.js +17 -10
  298. package/dist/esm/components/Align/Align.d.ts +5 -7
  299. package/dist/esm/components/Align/Align.js +9 -5
  300. package/dist/esm/components/Align/Left.d.ts +3 -5
  301. package/dist/esm/components/Align/Left.js +2 -4
  302. package/dist/esm/components/Align/Right.d.ts +3 -5
  303. package/dist/esm/components/Align/Right.js +2 -4
  304. package/dist/esm/components/Align/index.d.ts +8 -7
  305. package/dist/esm/components/Align/index.js +3 -3
  306. package/dist/esm/components/Article/Article.d.ts +1 -1
  307. package/dist/esm/components/Article/Article.js +9 -3
  308. package/dist/esm/components/Article/Meta.d.ts +4 -9
  309. package/dist/esm/components/Article/Meta.js +7 -4
  310. package/dist/esm/components/Article/Title.d.ts +4 -9
  311. package/dist/esm/components/Article/Title.js +7 -4
  312. package/dist/esm/components/Article/index.d.ts +7 -9
  313. package/dist/esm/components/Article/index.js +3 -3
  314. package/dist/esm/components/Badge/index.d.ts +4 -6
  315. package/dist/esm/components/Badge/index.js +7 -3
  316. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  317. package/dist/esm/components/Breadcrumb/Breadcrumb.js +7 -3
  318. package/dist/esm/components/Breadcrumb/Item.d.ts +1 -4
  319. package/dist/esm/components/Breadcrumb/Item.js +2 -2
  320. package/dist/esm/components/Breadcrumb/index.d.ts +5 -5
  321. package/dist/esm/components/Breadcrumb/index.js +3 -3
  322. package/dist/esm/components/Button/Button.d.ts +1 -1
  323. package/dist/esm/components/Button/Button.js +16 -14
  324. package/dist/esm/components/Button/Group.d.ts +1 -4
  325. package/dist/esm/components/Button/Group.js +5 -4
  326. package/dist/esm/components/Button/index.d.ts +5 -5
  327. package/dist/esm/components/Button/index.js +2 -2
  328. package/dist/esm/components/Card/Badge.d.ts +3 -7
  329. package/dist/esm/components/Card/Badge.js +9 -5
  330. package/dist/esm/components/Card/Body.d.ts +1 -4
  331. package/dist/esm/components/Card/Body.js +7 -4
  332. package/dist/esm/components/Card/Card.d.ts +4 -6
  333. package/dist/esm/components/Card/Card.js +17 -10
  334. package/dist/esm/components/Card/Footer.d.ts +4 -9
  335. package/dist/esm/components/Card/Footer.js +7 -4
  336. package/dist/esm/components/Card/Header.d.ts +4 -9
  337. package/dist/esm/components/Card/Header.js +7 -4
  338. package/dist/esm/components/Card/Media.d.ts +1 -4
  339. package/dist/esm/components/Card/Media.js +7 -4
  340. package/dist/esm/components/Card/Title.d.ts +4 -9
  341. package/dist/esm/components/Card/Title.js +8 -5
  342. package/dist/esm/components/Card/index.d.ts +10 -10
  343. package/dist/esm/components/Card/index.js +7 -7
  344. package/dist/esm/components/Close/index.d.ts +3 -7
  345. package/dist/esm/components/Close/index.js +7 -3
  346. package/dist/esm/components/Component/index.d.ts +9 -4
  347. package/dist/esm/components/Component/index.js +3 -1
  348. package/dist/esm/components/ComponentProvider/index.d.ts +11 -0
  349. package/dist/esm/components/ComponentProvider/index.js +21 -0
  350. package/dist/esm/components/ConfrigProvider/index.d.ts +9 -7
  351. package/dist/esm/components/ConfrigProvider/index.js +37 -7
  352. package/dist/esm/components/Container/index.d.ts +4 -5
  353. package/dist/esm/components/Container/index.js +12 -6
  354. package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +7 -2
  355. package/dist/esm/components/Control/Checkbox/Checkbox.js +67 -45
  356. package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.d.ts +26 -0
  357. package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.js +8 -0
  358. package/dist/esm/components/Control/Checkbox/Group.d.ts +14 -2
  359. package/dist/esm/components/Control/Checkbox/Group.js +31 -28
  360. package/dist/esm/components/Control/Checkbox/index.d.ts +8 -6
  361. package/dist/esm/components/Control/Checkbox/index.js +3 -3
  362. package/dist/esm/components/Control/Checkbox/index.scss +15 -8
  363. package/dist/esm/components/Control/Checkbox/types.d.ts +3 -66
  364. package/dist/esm/components/Control/Input/Input.d.ts +2 -2
  365. package/dist/esm/components/Control/Input/Input.js +22 -13
  366. package/dist/esm/components/Control/Input/Number/index.d.ts +2 -2
  367. package/dist/esm/components/Control/Input/Number/index.js +24 -19
  368. package/dist/esm/components/Control/Input/Password/index.d.ts +2 -2
  369. package/dist/esm/components/Control/Input/Password/index.js +39 -27
  370. package/dist/esm/components/Control/Input/index.d.ts +7 -7
  371. package/dist/esm/components/Control/Input/index.js +5 -5
  372. package/dist/esm/components/Control/Input/types.d.ts +5 -5
  373. package/dist/esm/components/Control/Input/useInput.d.ts +5 -4
  374. package/dist/esm/components/Control/Input/useInput.js +47 -50
  375. package/dist/esm/components/Control/Radio/Group.d.ts +7 -2
  376. package/dist/esm/components/Control/Radio/Group.js +24 -17
  377. package/dist/esm/components/Control/Radio/Radio.d.ts +6 -2
  378. package/dist/esm/components/Control/Radio/Radio.js +57 -39
  379. package/dist/esm/components/Control/Radio/RadioGroupContext.d.ts +9 -0
  380. package/dist/esm/components/Control/Radio/RadioGroupContext.js +8 -0
  381. package/dist/esm/components/Control/Radio/index.d.ts +6 -6
  382. package/dist/esm/components/Control/Radio/index.js +2 -3
  383. package/dist/esm/components/Control/Radio/index.scss +9 -5
  384. package/dist/esm/components/Control/Select/index.d.ts +8 -12
  385. package/dist/esm/components/Control/Select/index.js +73 -50
  386. package/dist/esm/components/Control/TextArea/index.d.ts +3 -10
  387. package/dist/esm/components/Control/TextArea/index.js +51 -47
  388. package/dist/esm/components/Control/TextArea/index.scss +10 -1
  389. package/dist/esm/components/Control/index.d.ts +6 -6
  390. package/dist/esm/components/Control/index.js +6 -6
  391. package/dist/esm/components/Control/index.scss +6 -0
  392. package/dist/esm/components/Control/types.d.ts +8 -7
  393. package/dist/esm/components/Cover/index.d.ts +2 -1
  394. package/dist/esm/components/Cover/index.js +24 -16
  395. package/dist/esm/components/DescriptionList/Description.d.ts +1 -6
  396. package/dist/esm/components/DescriptionList/Description.js +1 -3
  397. package/dist/esm/components/DescriptionList/DescriptionList.d.ts +2 -1
  398. package/dist/esm/components/DescriptionList/DescriptionList.js +10 -4
  399. package/dist/esm/components/DescriptionList/Term.d.ts +1 -6
  400. package/dist/esm/components/DescriptionList/Term.js +1 -3
  401. package/dist/esm/components/DescriptionList/index.d.ts +6 -6
  402. package/dist/esm/components/DescriptionList/index.js +3 -3
  403. package/dist/esm/components/Divider/index.d.ts +2 -1
  404. package/dist/esm/components/Divider/index.js +11 -5
  405. package/dist/esm/components/Dotnav/Dotnav.d.ts +2 -1
  406. package/dist/esm/components/Dotnav/Dotnav.js +10 -4
  407. package/dist/esm/components/Dotnav/Item.d.ts +1 -4
  408. package/dist/esm/components/Dotnav/Item.js +6 -4
  409. package/dist/esm/components/Dotnav/index.d.ts +5 -5
  410. package/dist/esm/components/Dotnav/index.js +2 -2
  411. package/dist/esm/components/Drawer/index.d.ts +7 -44
  412. package/dist/esm/components/Drawer/index.js +42 -141
  413. package/dist/esm/components/Drawer/index.scss +11 -14
  414. package/dist/esm/components/Drop/index.d.ts +12 -4
  415. package/dist/esm/components/Drop/index.js +38 -21
  416. package/dist/esm/components/Drop/index.scss +0 -26
  417. package/dist/esm/components/Dropdown/index.d.ts +3 -3
  418. package/dist/esm/components/Dropdown/index.js +5 -2
  419. package/dist/esm/components/Flex/index.d.ts +15 -16
  420. package/dist/esm/components/Flex/index.js +15 -12
  421. package/dist/esm/components/Form/Controls.d.ts +3 -4
  422. package/dist/esm/components/Form/Controls.js +9 -4
  423. package/dist/esm/components/Form/ControlsText.d.ts +3 -4
  424. package/dist/esm/components/Form/ControlsText.js +9 -4
  425. package/dist/esm/components/Form/Fieldset.d.ts +4 -4
  426. package/dist/esm/components/Form/Fieldset.js +9 -4
  427. package/dist/esm/components/Form/Form.d.ts +4 -5
  428. package/dist/esm/components/Form/Form.js +11 -6
  429. package/dist/esm/components/Form/Label.d.ts +3 -4
  430. package/dist/esm/components/Form/Label.js +8 -4
  431. package/dist/esm/components/Form/Legend.d.ts +3 -4
  432. package/dist/esm/components/Form/Legend.js +7 -4
  433. package/dist/esm/components/Form/index.d.ts +9 -9
  434. package/dist/esm/components/Form/index.js +6 -6
  435. package/dist/esm/components/Grid/index.d.ts +7 -8
  436. package/dist/esm/components/Grid/index.js +14 -11
  437. package/dist/esm/components/Heading/index.d.ts +5 -6
  438. package/dist/esm/components/Heading/index.js +11 -5
  439. package/dist/esm/components/Icon/Button.d.ts +3 -5
  440. package/dist/esm/components/Icon/Button.js +2 -4
  441. package/dist/esm/components/Icon/Icon.d.ts +4 -6
  442. package/dist/esm/components/Icon/Icon.js +9 -8
  443. package/dist/esm/components/Icon/Link.d.ts +3 -5
  444. package/dist/esm/components/Icon/Link.js +2 -4
  445. package/dist/esm/components/Icon/default-svg-props.d.ts +1 -1
  446. package/dist/esm/components/Icon/default-svg-props.js +1 -1
  447. package/dist/esm/components/Icon/index.d.ts +9 -9
  448. package/dist/esm/components/Icon/index.js +5 -5
  449. package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
  450. package/dist/esm/components/Iconnav/Iconnav.js +6 -5
  451. package/dist/esm/components/Iconnav/Item.d.ts +1 -5
  452. package/dist/esm/components/Iconnav/Item.js +3 -3
  453. package/dist/esm/components/Iconnav/index.d.ts +5 -5
  454. package/dist/esm/components/Iconnav/index.js +2 -2
  455. package/dist/esm/components/Label/index.d.ts +1 -1
  456. package/dist/esm/components/Label/index.js +7 -6
  457. package/dist/esm/components/Label/index.scss +1 -1
  458. package/dist/esm/components/Link/index.d.ts +3 -3
  459. package/dist/esm/components/Link/index.js +9 -3
  460. package/dist/esm/components/List/Item.d.ts +2 -5
  461. package/dist/esm/components/List/Item.js +1 -3
  462. package/dist/esm/components/List/List.d.ts +1 -1
  463. package/dist/esm/components/List/List.js +8 -7
  464. package/dist/esm/components/List/index.d.ts +5 -5
  465. package/dist/esm/components/List/index.js +2 -2
  466. package/dist/esm/components/Modal/Modal.d.ts +4 -3
  467. package/dist/esm/components/Modal/Modal.js +19 -15
  468. package/dist/esm/components/Modal/index.d.ts +1 -1
  469. package/dist/esm/components/Modal/index.js +1 -1
  470. package/dist/esm/components/Nav/Divider.d.ts +3 -8
  471. package/dist/esm/components/Nav/Divider.js +5 -5
  472. package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
  473. package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +13 -0
  474. package/dist/esm/components/Nav/Group/index.d.ts +3 -0
  475. package/dist/esm/components/Nav/Group/index.js +18 -0
  476. package/dist/esm/components/Nav/Header.d.ts +1 -1
  477. package/dist/esm/components/Nav/Header.js +2 -2
  478. package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +16 -2
  479. package/dist/esm/components/Nav/Item/InternalNavItem.js +54 -34
  480. package/dist/esm/components/Nav/Item/LegacyNavItem.js +1 -1
  481. package/dist/esm/components/Nav/Item/index.d.ts +2 -28
  482. package/dist/esm/components/Nav/Item/index.js +5 -5
  483. package/dist/esm/components/Nav/Nav.d.ts +23 -5
  484. package/dist/esm/components/Nav/Nav.js +161 -118
  485. package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
  486. package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +6 -6
  487. package/dist/esm/components/Nav/Sub/PopupTrigger.js +21 -13
  488. package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -1
  489. package/dist/esm/components/Nav/Sub/SubNavList.js +5 -3
  490. package/dist/esm/components/Nav/Sub/index.d.ts +3 -19
  491. package/dist/esm/components/Nav/Sub/index.js +55 -37
  492. package/dist/esm/components/Nav/context/IdContext.js +3 -0
  493. package/dist/esm/components/Nav/context/NavContext.d.ts +5 -4
  494. package/dist/esm/components/Nav/context/NavContext.js +9 -3
  495. package/dist/esm/components/Nav/context/PathContext.js +5 -0
  496. package/dist/esm/components/Nav/context/PrivateContext.d.ts +7 -0
  497. package/dist/esm/components/Nav/context/PrivateContext.js +2 -0
  498. package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +2 -2
  499. package/dist/esm/components/Nav/hooks/useAccessibility.js +3 -3
  500. package/dist/esm/components/Nav/hooks/useActive.d.ts +2 -2
  501. package/dist/esm/components/Nav/hooks/useActive.js +5 -5
  502. package/dist/esm/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
  503. package/dist/esm/components/Nav/hooks/useDirectionStyle.js +10 -0
  504. package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  505. package/dist/esm/components/Nav/hooks/useKeyRecords.js +13 -13
  506. package/dist/esm/components/Nav/hooks/useMemoCallback.d.ts +1 -1
  507. package/dist/esm/components/Nav/hooks/useMemoCallback.js +2 -1
  508. package/dist/esm/components/Nav/hooks/useUUID.d.ts +1 -1
  509. package/dist/esm/components/Nav/hooks/useUUID.js +2 -2
  510. package/dist/esm/components/Nav/index.d.ts +9 -9
  511. package/dist/esm/components/Nav/index.js +6 -6
  512. package/dist/esm/components/Nav/index.scss +10 -7
  513. package/dist/esm/components/Nav/types.d.ts +58 -10
  514. package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
  515. package/dist/esm/components/Nav/utils/motionUtil.d.ts +5 -2
  516. package/dist/esm/components/Nav/utils/nodeUtil.d.ts +3 -1
  517. package/dist/esm/components/Nav/utils/nodeUtil.js +36 -0
  518. package/dist/esm/components/Nav/utils/warnUtil.d.ts +1 -1
  519. package/dist/esm/components/Navbar/Center.d.ts +5 -7
  520. package/dist/esm/components/Navbar/Center.js +7 -4
  521. package/dist/esm/components/Navbar/Container.d.ts +4 -8
  522. package/dist/esm/components/Navbar/Container.js +8 -5
  523. package/dist/esm/components/Navbar/Item.d.ts +5 -8
  524. package/dist/esm/components/Navbar/Item.js +7 -4
  525. package/dist/esm/components/Navbar/Left.d.ts +5 -7
  526. package/dist/esm/components/Navbar/Left.js +7 -4
  527. package/dist/esm/components/Navbar/Nav.d.ts +1 -1
  528. package/dist/esm/components/Navbar/Nav.js +5 -2
  529. package/dist/esm/components/Navbar/Right.d.ts +3 -3
  530. package/dist/esm/components/Navbar/Toggle.d.ts +5 -4
  531. package/dist/esm/components/Navbar/index.d.ts +11 -11
  532. package/dist/esm/components/Navbar/index.js +8 -8
  533. package/dist/esm/components/Progress/index.d.ts +6 -0
  534. package/dist/esm/components/Progress/index.js +10 -0
  535. package/dist/esm/components/Progress/index.scss +129 -0
  536. package/dist/esm/components/Section/index.d.ts +4 -6
  537. package/dist/esm/components/Section/index.js +10 -7
  538. package/dist/esm/components/Spinner/index.d.ts +3 -3
  539. package/dist/esm/components/Spinner/index.js +8 -6
  540. package/dist/esm/components/Tabs/index.d.ts +7 -11
  541. package/dist/esm/components/Tabs/index.js +17 -17
  542. package/dist/esm/components/Tabs/index.scss +9 -1
  543. package/dist/esm/components/Text/index.d.ts +7 -8
  544. package/dist/esm/components/Text/index.js +22 -19
  545. package/dist/esm/components/Tile/index.d.ts +5 -6
  546. package/dist/esm/components/Tile/index.js +10 -7
  547. package/dist/esm/components/Tile/index.scss +8 -8
  548. package/dist/esm/components/Width/Width.d.ts +5 -6
  549. package/dist/esm/components/Width/Width.js +12 -5
  550. package/dist/esm/components/Width/index.d.ts +3 -3
  551. package/dist/esm/components/Width/index.js +3 -3
  552. package/dist/esm/components/Width/types.d.ts +6 -6
  553. package/dist/esm/components/Width/utils.d.ts +1 -1
  554. package/dist/esm/components/Width/utils.js +3 -1
  555. package/dist/esm/hooks/index.d.ts +3 -0
  556. package/dist/esm/hooks/index.js +3 -0
  557. package/dist/esm/hooks/useContext.d.ts +2 -0
  558. package/dist/esm/hooks/useContext.js +8 -0
  559. package/dist/esm/hooks/useMounted.d.ts +1 -0
  560. package/dist/esm/hooks/useMounted.js +11 -0
  561. package/dist/esm/index.d.ts +33 -30
  562. package/dist/esm/index.js +33 -30
  563. package/dist/esm/styles/_import.components.scss +1 -2
  564. package/dist/esm/styles/_import.scss +1 -2
  565. package/dist/esm/styles/animation.scss +35 -35
  566. package/dist/esm/styles/column.scss +0 -1
  567. package/dist/esm/styles/mixins.scss +30 -1
  568. package/dist/esm/styles/motion.scss +367 -44
  569. package/dist/esm/styles/progress.scss +1 -129
  570. package/dist/esm/styles/variables.scss +9 -5
  571. package/dist/esm/types.d.ts +15 -3
  572. package/dist/esm/utils/get-breakpoints-config-classes.d.ts +1 -1
  573. package/dist/esm/utils/get-breakpoints-config-classes.js +1 -1
  574. package/dist/esm/utils/index.d.ts +3 -4
  575. package/dist/esm/utils/index.js +3 -4
  576. package/dist/esm/utils/motion.d.ts +3 -3
  577. package/dist/esm/utils/motion.js +20 -19
  578. package/package.json +39 -36
  579. package/dist/cjs/components/Component/Component.d.ts +0 -8
  580. package/dist/cjs/components/Control/Checkbox/Context.d.ts +0 -4
  581. package/dist/cjs/components/Control/Radio/Context.d.ts +0 -4
  582. package/dist/cjs/components/Control/Radio/types.d.ts +0 -25
  583. package/dist/cjs/components/Control/Radio/types.js +0 -2
  584. package/dist/cjs/components/Nav/Group.d.ts +0 -14
  585. package/dist/cjs/utils/hooks/index.d.ts +0 -1
  586. package/dist/esm/components/Component/Component.d.ts +0 -8
  587. package/dist/esm/components/Component/Component.js +0 -3
  588. package/dist/esm/components/Control/Checkbox/Context.d.ts +0 -4
  589. package/dist/esm/components/Control/Checkbox/Context.js +0 -5
  590. package/dist/esm/components/Control/Radio/Context.d.ts +0 -4
  591. package/dist/esm/components/Control/Radio/Context.js +0 -5
  592. package/dist/esm/components/Control/Radio/types.d.ts +0 -25
  593. package/dist/esm/components/Control/Radio/types.js +0 -1
  594. package/dist/esm/components/Nav/Group.d.ts +0 -14
  595. package/dist/esm/components/Nav/Group.js +0 -26
  596. package/dist/esm/utils/hooks/index.d.ts +0 -1
  597. package/dist/esm/utils/hooks/index.js +0 -1
  598. /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
  599. /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.js +0 -0
  600. /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
  601. /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.js +0 -0
@@ -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)>;
@@ -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 = 'header';
6
- export function Header(props) {
7
+ export const Header = React.memo((props) => {
7
8
  const config = useConfig();
8
- const { className, prefixCls = `${config.prefixCls}-card-header`, ...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, 'header'), [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
  Header.displayName = 'Card.Header';
13
16
  }
@@ -3,7 +3,4 @@ export interface CardMediaProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  position: 'left' | 'top' | 'right' | 'bottom';
4
4
  prefixCls?: string;
5
5
  }
6
- export declare function Media(props: CardMediaProps): JSX.Element;
7
- export declare namespace Media {
8
- var displayName: string;
9
- }
6
+ export declare const Media: React.MemoExoticComponent<(props: CardMediaProps) => JSX.Element>;
@@ -1,13 +1,16 @@
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 Media(props) {
5
+ export const Media = React.memo((props) => {
5
6
  const config = useConfig();
6
- const { className, position, prefixCls = `${config.prefixCls}-card-media`, ...restProps } = props;
7
+ const { getRootCls } = useComponentContext();
8
+ const { className, position, prefixCls = getRootCls(), ...restProps } = props;
9
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'media'), [config, prefixCls]);
7
10
  return (React.createElement("div", { className: classNames({
8
- [`${prefixCls}-${position}`]: position !== undefined,
11
+ [`${rootCls}-${position}`]: position !== undefined,
9
12
  }, className), ...restProps }));
10
- }
13
+ });
11
14
  if (process.env.NODE_ENV !== 'production') {
12
15
  Media.displayName = 'Card.Media';
13
16
  }
@@ -1,12 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { PolymorphicComponentProps } from '../Component';
3
- export declare type CardTitleOwnProps = {
2
+ import { type PolymorphicProps } from '../Component';
3
+ export type CardTitleOwnProps = {
4
4
  prefixCls?: string;
5
5
  };
6
- export declare type CardTitleProps<E extends React.ElementType> = PolymorphicComponentProps<E, CardTitleOwnProps>;
7
- declare const defaultElement = "h1";
8
- export declare function Title<E extends React.ElementType = typeof defaultElement>(props: CardTitleProps<E>): JSX.Element;
9
- export declare namespace Title {
10
- var displayName: string;
11
- }
12
- export {};
6
+ export type CardTitleProps<E extends React.ElementType> = React.PropsWithChildren<CardTitleOwnProps & PolymorphicProps<E>> & PolymorphicProps<E, CardTitleOwnProps>;
7
+ export declare const Title: React.MemoExoticComponent<(<E extends React.ElementType<any> = "h3">(props: CardTitleProps<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
- const defaultElement = 'h1';
6
- export function Title(props) {
6
+ const defaultElement = 'h3';
7
+ export const Title = React.memo((props) => {
7
8
  const config = useConfig();
8
- const { className, prefixCls = `${config.prefixCls}-card-title`, ...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, '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 = 'Card.Title';
13
16
  }
@@ -1,14 +1,14 @@
1
- import * as React from 'react';
2
- import { Badge } from './Badge';
3
- import { Body } from './Body';
4
- import { Footer } from './Footer';
5
- import { Header } from './Header';
6
- import { Media } from './Media';
7
- import { Title } from './Title';
8
- import type { CardProps } from './Card';
1
+ import type * as React from 'react';
2
+ import { Badge } from '../Card/Badge';
3
+ import { Body } from '../Card/Body';
4
+ import { type CardProps } from '../Card/Card';
5
+ import { Footer } from '../Card/Footer';
6
+ import { Header } from '../Card/Header';
7
+ import { Media } from '../Card/Media';
8
+ import { Title } from '../Card/Title';
9
9
  import './index.scss';
10
10
  export type { CardProps };
11
- export interface CompoundedCard extends React.FunctionComponent<CardProps> {
11
+ export interface Card extends React.MemoExoticComponent<React.FunctionComponent<CardProps>> {
12
12
  Badge: typeof Badge;
13
13
  Body: typeof Body;
14
14
  Footer: typeof Footer;
@@ -16,4 +16,4 @@ export interface CompoundedCard extends React.FunctionComponent<CardProps> {
16
16
  Media: typeof Media;
17
17
  Title: typeof Title;
18
18
  }
19
- export declare const Card: CompoundedCard;
19
+ export declare const Card: Card;
@@ -1,10 +1,10 @@
1
- import { Badge } from './Badge';
2
- import { Body } from './Body';
3
- import { Card as InternalCard } from './Card';
4
- import { Footer } from './Footer';
5
- import { Header } from './Header';
6
- import { Media } from './Media';
7
- import { Title } from './Title';
1
+ import { Badge } from '../Card/Badge';
2
+ import { Body } from '../Card/Body';
3
+ import { Card as InternalCard } from '../Card/Card';
4
+ import { Footer } from '../Card/Footer';
5
+ import { Header } from '../Card/Header';
6
+ import { Media } from '../Card/Media';
7
+ import { Title } from '../Card/Title';
8
8
  import './index.scss';
9
9
  export const Card = InternalCard;
10
10
  Card.Badge = Badge;
@@ -1,8 +1,4 @@
1
1
  import * as React from 'react';
2
- import type { IconProps } from '../Icon';
3
- export declare type CloseProps<E extends React.ElementType = React.ElementType> = Omit<IconProps<E>, 'icon'> & {
4
- prefixCls?: string;
5
- };
6
- declare const defaultElement = "button";
7
- export declare function Close<E extends React.ElementType = typeof defaultElement>(props: CloseProps<E>): JSX.Element;
8
- export {};
2
+ import { type IconProps } from '../Icon';
3
+ export type CloseProps<E extends React.ElementType = React.ElementType> = Omit<IconProps<E>, 'icon'>;
4
+ export declare const Close: React.MemoExoticComponent<(<E extends React.ElementType<any> = "button">(props: CloseProps<E>) => JSX.Element)>;
@@ -3,8 +3,12 @@ import classNames from 'classnames';
3
3
  import { useConfig } from '../ConfrigProvider';
4
4
  import { Icon } from '../Icon';
5
5
  const defaultElement = 'button';
6
- export function Close(props) {
6
+ export const Close = React.memo((props) => {
7
7
  const config = useConfig();
8
- const { className, prefixCls = `${config.prefixCls}-close`, ...restProps } = props;
9
- return (React.createElement(Icon, { "aria-hidden": "false", className: classNames(prefixCls, className), component: defaultElement, tabIndex: -1, ...restProps, icon: "close" }));
8
+ const { className, prefixCls = config.prefixCls, ...restProps } = props;
9
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'close'), [config, prefixCls]);
10
+ return (React.createElement(Icon, { "aria-hidden": "false", className: classNames(rootCls, className), component: defaultElement, tabIndex: -1, ...restProps, icon: "close" }));
11
+ });
12
+ if (process.env.NODE_ENV !== 'production') {
13
+ Close.displayName = 'Close';
10
14
  }
@@ -1,5 +1,10 @@
1
1
  import * as React from 'react';
2
- import type { ComponentProps } from './Component';
3
- export { Component } from './Component';
4
- export declare type PolymorphicComponentProps<E extends React.ElementType, P> = ComponentProps<E> & P;
5
- export declare type PolymorphicComponent<P, D extends React.ElementType = 'div'> = <E extends React.ElementType = D>(props: PolymorphicComponentProps<E, P>) => React.ReactElement | null;
2
+ type ComponentOwnProp<E extends React.ElementType = React.ElementType> = {
3
+ component?: E;
4
+ };
5
+ type PropsToOmit<E extends React.ElementType, P = {}> = keyof (ComponentOwnProp<E> & P);
6
+ export type PolymorphicProps<E extends React.ElementType, P = {}> = ComponentOwnProp<E> & Omit<React.ComponentPropsWithoutRef<E>, PropsToOmit<E, P>>;
7
+ export type PolymorphicComponent<P = {}, C extends React.ElementType = 'div', I = {}> = <E extends React.ElementType = C>(props: PolymorphicProps<E, P> & I) => React.ReactElement | null;
8
+ declare const defaultElement: React.ElementType;
9
+ export declare const Component: <E extends React.ElementType = typeof defaultElement, P = {}>(props: PolymorphicProps<E, P>) => React.ReactElement | null;
10
+ export {};
@@ -1 +1,3 @@
1
- export { Component } from './Component';
1
+ import * as React from 'react';
2
+ const defaultElement = 'div';
3
+ export const Component = React.forwardRef(({ component: Element = defaultElement, ...props }, ref) => React.createElement(Element, { ref: ref, ...props }));
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export type ComponentContextConsumerProps = {
3
+ getRootCls(): string | undefined;
4
+ };
5
+ export interface ComponentContextProviderProps extends React.PropsWithChildren<Partial<ComponentContextConsumerProps>> {
6
+ component: string;
7
+ prefixCls?: string;
8
+ }
9
+ export declare const ComponentContext: React.Context<ComponentContextConsumerProps>;
10
+ export declare function useComponentContext(): ComponentContextConsumerProps;
11
+ export declare function ComponentProvider(props: ComponentContextProviderProps): JSX.Element;