@broxus/react-uikit 0.22.0 → 0.23.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 (406) hide show
  1. package/dist/assets/accordion.css +135 -0
  2. package/dist/assets/alert.css +120 -0
  3. package/dist/assets/align.css +105 -0
  4. package/dist/assets/animation.css +387 -0
  5. package/dist/assets/article.css +51 -0
  6. package/dist/assets/background.css +209 -0
  7. package/dist/assets/badge.css +46 -0
  8. package/dist/assets/base.css +571 -0
  9. package/dist/assets/breadcrumb.css +69 -0
  10. package/dist/assets/button.css +491 -0
  11. package/dist/assets/card.css +255 -0
  12. package/dist/assets/checkbox.css +240 -0
  13. package/dist/assets/close.css +24 -0
  14. package/dist/assets/column.css +145 -0
  15. package/dist/assets/comment.css +87 -0
  16. package/dist/assets/container.css +171 -0
  17. package/dist/assets/control.css +262 -0
  18. package/dist/assets/cover.css +55 -0
  19. package/dist/assets/datepicker.css +662 -0
  20. package/dist/assets/description-list.css +39 -0
  21. package/dist/assets/divider.css +98 -0
  22. package/dist/assets/dotnav.css +100 -0
  23. package/dist/assets/drawer.css +562 -0
  24. package/dist/assets/drop.css +47 -0
  25. package/dist/assets/dropdown.css +118 -0
  26. package/dist/assets/flex.css +392 -0
  27. package/dist/assets/form.css +486 -0
  28. package/dist/assets/grid.css +545 -0
  29. package/dist/assets/heading.css +175 -0
  30. package/dist/assets/height.css +63 -0
  31. package/dist/assets/icon.css +188 -0
  32. package/dist/assets/iconnav.css +83 -0
  33. package/dist/assets/input-number.css +89 -0
  34. package/dist/assets/input-password.css +24 -0
  35. package/dist/assets/inverse.css +746 -0
  36. package/dist/assets/label.css +70 -0
  37. package/dist/assets/leader.css +44 -0
  38. package/dist/assets/link.css +79 -0
  39. package/dist/assets/list.css +211 -0
  40. package/dist/assets/margin.css +362 -0
  41. package/dist/assets/marker.css +28 -0
  42. package/dist/assets/mixin.css +1 -0
  43. package/dist/assets/mixins.css +1 -0
  44. package/dist/assets/modal.css +227 -0
  45. package/dist/assets/motion.css +492 -0
  46. package/dist/assets/nav.css +406 -0
  47. package/dist/assets/navbar.css +468 -0
  48. package/dist/assets/overlay.css +38 -0
  49. package/dist/assets/padding.css +70 -0
  50. package/dist/assets/pagination.css +78 -0
  51. package/dist/assets/placeholder.css +27 -0
  52. package/dist/assets/position.css +216 -0
  53. package/dist/assets/print.css +43 -0
  54. package/dist/assets/progress.css +79 -0
  55. package/dist/assets/radio.css +196 -0
  56. package/dist/assets/search.css +258 -0
  57. package/dist/assets/section.css +138 -0
  58. package/dist/assets/segmented.css +193 -0
  59. package/dist/assets/select.css +515 -0
  60. package/dist/assets/slider.css +392 -0
  61. package/dist/assets/spinner.css +51 -0
  62. package/dist/assets/sticky.css +31 -0
  63. package/dist/assets/subnav.css +171 -0
  64. package/dist/assets/svg.css +23 -0
  65. package/dist/assets/switch.css +167 -0
  66. package/dist/assets/table.css +224 -0
  67. package/dist/assets/tabs.css +631 -0
  68. package/dist/assets/text.css +385 -0
  69. package/dist/assets/textarea.css +54 -0
  70. package/dist/assets/thumbnav.css +67 -0
  71. package/dist/assets/tile.css +138 -0
  72. package/dist/assets/tooltip.css +47 -0
  73. package/dist/assets/totop.css +32 -0
  74. package/dist/assets/transition.css +154 -0
  75. package/dist/assets/uikit.min.css +1 -0
  76. package/dist/assets/utility.css +494 -0
  77. package/dist/assets/variables.css +1 -0
  78. package/dist/assets/vars.css +89 -0
  79. package/dist/assets/visibility.css +140 -0
  80. package/dist/assets/width.css +538 -0
  81. package/dist/cjs/components/Accordion/Accordion.d.ts +3 -2
  82. package/dist/cjs/components/Accordion/Item.d.ts +1 -5
  83. package/dist/cjs/components/Accordion/Item.js +0 -4
  84. package/dist/cjs/components/Accordion/index.d.ts +1 -1
  85. package/dist/cjs/components/Alert/index.js +1 -3
  86. package/dist/cjs/components/Align/Align.d.ts +1 -1
  87. package/dist/cjs/components/Align/Center.d.ts +1 -1
  88. package/dist/cjs/components/Align/Left.d.ts +1 -1
  89. package/dist/cjs/components/Align/Right.d.ts +1 -1
  90. package/dist/cjs/components/Article/Article.d.ts +1 -1
  91. package/dist/cjs/components/Article/Meta.d.ts +1 -1
  92. package/dist/cjs/components/Article/Title.d.ts +1 -1
  93. package/dist/cjs/components/Badge/index.d.ts +1 -1
  94. package/dist/cjs/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  95. package/dist/cjs/components/Breadcrumb/Item.d.ts +1 -1
  96. package/dist/cjs/components/Button/Group.d.ts +1 -1
  97. package/dist/cjs/components/Card/Badge.d.ts +1 -1
  98. package/dist/cjs/components/Card/Body.d.ts +1 -1
  99. package/dist/cjs/components/Card/Card.d.ts +1 -1
  100. package/dist/cjs/components/Card/Footer.d.ts +1 -1
  101. package/dist/cjs/components/Card/Header.d.ts +1 -1
  102. package/dist/cjs/components/Card/Media.d.ts +1 -1
  103. package/dist/cjs/components/Card/Title.d.ts +1 -1
  104. package/dist/cjs/components/Close/index.d.ts +1 -1
  105. package/dist/cjs/components/Component/index.d.ts +1 -1
  106. package/dist/cjs/components/ConfigProvider/index.d.ts +55 -40
  107. package/dist/cjs/components/Container/index.d.ts +1 -1
  108. package/dist/cjs/components/Control/Checkbox/Checkbox.d.ts +2 -2
  109. package/dist/cjs/components/Control/Checkbox/Group.d.ts +2 -2
  110. package/dist/cjs/components/Control/Checkbox/index.d.ts +1 -1
  111. package/dist/cjs/components/Control/Input/Input.js +2 -2
  112. package/dist/cjs/components/Control/Input/Number/index.js +4 -4
  113. package/dist/cjs/components/Control/Input/useInput.js +2 -1
  114. package/dist/cjs/components/Control/Radio/Group.js +2 -4
  115. package/dist/cjs/components/Control/Radio/index.d.ts +1 -1
  116. package/dist/cjs/components/Control/Select/Select.d.ts +18 -0
  117. package/dist/cjs/components/Control/Select/Select.js +248 -0
  118. package/dist/cjs/components/Control/Select/index.d.ts +3 -21
  119. package/dist/cjs/components/Control/Select/index.js +2 -246
  120. package/dist/cjs/components/Control/Select/placements.d.ts +1 -1
  121. package/dist/cjs/components/Control/TextArea/index.d.ts +3 -3
  122. package/dist/cjs/components/Control/TextArea/index.js +6 -5
  123. package/dist/cjs/components/Cover/index.d.ts +1 -1
  124. package/dist/cjs/components/DatePicker/PickerButton.d.ts +1 -1
  125. package/dist/cjs/components/DatePicker/generatePurePicker.js +1 -3
  126. package/dist/cjs/components/DescriptionList/Description.d.ts +1 -1
  127. package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +1 -1
  128. package/dist/cjs/components/DescriptionList/Term.d.ts +1 -1
  129. package/dist/cjs/components/Divider/index.d.ts +1 -1
  130. package/dist/cjs/components/Dotnav/Dotnav.d.ts +1 -1
  131. package/dist/cjs/components/Dotnav/Item.d.ts +1 -1
  132. package/dist/cjs/components/Drawer/index.d.ts +1 -1
  133. package/dist/cjs/components/Drop/index.d.ts +1 -2
  134. package/dist/cjs/components/Drop/index.js +2 -1
  135. package/dist/cjs/components/Flex/Flex.d.ts +1 -1
  136. package/dist/cjs/components/Flex/Item.d.ts +1 -1
  137. package/dist/cjs/components/Flex/index.d.ts +1 -1
  138. package/dist/cjs/components/Form/Controls.d.ts +1 -1
  139. package/dist/cjs/components/Form/ControlsText.d.ts +1 -1
  140. package/dist/cjs/components/Form/Fieldset.d.ts +1 -1
  141. package/dist/cjs/components/Form/Form.d.ts +1 -1
  142. package/dist/cjs/components/Form/Label.d.ts +1 -1
  143. package/dist/cjs/components/Form/Legend.d.ts +1 -1
  144. package/dist/cjs/components/Grid/index.d.ts +1 -1
  145. package/dist/cjs/components/Heading/index.d.ts +1 -1
  146. package/dist/cjs/components/Icon/Button.d.ts +1 -1
  147. package/dist/cjs/components/Icon/Icon.d.ts +1 -1
  148. package/dist/cjs/components/Icon/Link.d.ts +1 -1
  149. package/dist/cjs/components/Icon/index.d.ts +1 -1
  150. package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
  151. package/dist/cjs/components/Iconnav/Item.d.ts +1 -1
  152. package/dist/cjs/components/Inverse/index.d.ts +2 -2
  153. package/dist/cjs/components/Label/index.d.ts +1 -1
  154. package/dist/cjs/components/List/Item.d.ts +1 -1
  155. package/dist/cjs/components/List/List.d.ts +1 -1
  156. package/dist/cjs/components/Modal/index.d.ts +1 -1
  157. package/dist/cjs/components/Nav/Divider.d.ts +1 -1
  158. package/dist/cjs/components/Nav/Divider.js +4 -8
  159. package/dist/cjs/components/Nav/Group/InternalNavGroup.d.ts +10 -0
  160. package/dist/cjs/components/Nav/Group/{InternalNavItemGroup.js → InternalNavGroup.js} +9 -9
  161. package/dist/cjs/components/Nav/Group/index.d.ts +4 -5
  162. package/dist/cjs/components/Nav/Group/index.js +12 -15
  163. package/dist/cjs/components/Nav/Header.d.ts +1 -3
  164. package/dist/cjs/components/Nav/Header.js +4 -4
  165. package/dist/cjs/components/Nav/Icon/index.d.ts +7 -0
  166. package/dist/cjs/components/Nav/{context/PrivateContext.js → Icon/index.js} +13 -5
  167. package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +1 -5
  168. package/dist/cjs/components/Nav/Item/InternalNavItem.js +26 -47
  169. package/dist/cjs/components/Nav/Item/LegacyNavItem.js +12 -6
  170. package/dist/cjs/components/Nav/Item/index.d.ts +1 -4
  171. package/dist/cjs/components/Nav/Item/index.js +9 -12
  172. package/dist/cjs/components/Nav/Nav.d.ts +8 -21
  173. package/dist/cjs/components/Nav/Nav.js +84 -89
  174. package/dist/cjs/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
  175. package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +6 -6
  176. package/dist/cjs/components/Nav/Sub/InternalSubNav.d.ts +15 -0
  177. package/dist/cjs/components/Nav/Sub/InternalSubNav.js +196 -0
  178. package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +2 -1
  179. package/dist/cjs/components/Nav/Sub/PopupTrigger.js +10 -11
  180. package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -2
  181. package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -5
  182. package/dist/cjs/components/Nav/Sub/index.d.ts +4 -15
  183. package/dist/cjs/components/Nav/Sub/index.js +11 -174
  184. package/dist/cjs/components/Nav/context/NavContext.d.ts +7 -3
  185. package/dist/cjs/components/Nav/context/NavContext.js +6 -6
  186. package/dist/cjs/components/Nav/context/index.d.ts +3 -0
  187. package/dist/cjs/components/Nav/context/index.js +19 -0
  188. package/dist/cjs/components/Nav/hooks/index.d.ts +5 -0
  189. package/dist/cjs/components/Nav/hooks/index.js +21 -0
  190. package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +11 -0
  191. package/dist/cjs/components/Nav/hooks/useAccessibility.js +97 -99
  192. package/dist/cjs/components/Nav/hooks/useActive.js +5 -13
  193. package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +2 -2
  194. package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  195. package/dist/cjs/components/Nav/hooks/useKeyRecords.js +5 -8
  196. package/dist/cjs/components/Nav/types.d.ts +14 -1
  197. package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
  198. package/dist/cjs/components/Nav/utils/alignUtil.js +1 -4
  199. package/dist/cjs/components/Nav/utils/index.d.ts +5 -0
  200. package/dist/cjs/components/Nav/utils/index.js +21 -0
  201. package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +2 -2
  202. package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -34
  203. package/dist/cjs/components/Nav/utils/warnUtil.js +2 -5
  204. package/dist/cjs/components/Navbar/Center.d.ts +1 -1
  205. package/dist/cjs/components/Navbar/Container.d.ts +1 -1
  206. package/dist/cjs/components/Navbar/Item.d.ts +1 -1
  207. package/dist/cjs/components/Navbar/Left.d.ts +1 -1
  208. package/dist/cjs/components/Navbar/Navbar.d.ts +1 -1
  209. package/dist/cjs/components/Navbar/Right.d.ts +1 -1
  210. package/dist/cjs/components/Navbar/Toggle.d.ts +1 -1
  211. package/dist/cjs/components/Overlay/index.d.ts +1 -1
  212. package/dist/cjs/components/Progress/index.d.ts +1 -1
  213. package/dist/cjs/components/Section/index.d.ts +1 -1
  214. package/dist/cjs/components/Segmented/index.d.ts +1 -1
  215. package/dist/cjs/components/Slider/index.d.ts +1 -2
  216. package/dist/cjs/components/Spinner/index.d.ts +1 -1
  217. package/dist/cjs/components/Subnav/Item.d.ts +1 -1
  218. package/dist/cjs/components/Subnav/Subnav.d.ts +1 -1
  219. package/dist/cjs/components/Tabs/index.d.ts +6 -4
  220. package/dist/cjs/components/Tabs/index.js +8 -7
  221. package/dist/cjs/components/Text/index.d.ts +1 -1
  222. package/dist/cjs/components/Tile/index.d.ts +1 -1
  223. package/dist/cjs/components/Width/Width.d.ts +1 -1
  224. package/dist/cjs/constants.d.ts +12 -0
  225. package/dist/cjs/constants.js +16 -0
  226. package/dist/cjs/index.js +1 -1
  227. package/dist/cjs/utils/motion.d.ts +1 -1
  228. package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
  229. package/dist/esm/components/Accordion/Item.d.ts +1 -5
  230. package/dist/esm/components/Accordion/Item.js +0 -4
  231. package/dist/esm/components/Accordion/index.d.ts +1 -1
  232. package/dist/esm/components/Alert/index.js +1 -3
  233. package/dist/esm/components/Align/Align.d.ts +1 -1
  234. package/dist/esm/components/Align/Center.d.ts +1 -1
  235. package/dist/esm/components/Align/Left.d.ts +1 -1
  236. package/dist/esm/components/Align/Right.d.ts +1 -1
  237. package/dist/esm/components/Article/Article.d.ts +1 -1
  238. package/dist/esm/components/Article/Meta.d.ts +1 -1
  239. package/dist/esm/components/Article/Title.d.ts +1 -1
  240. package/dist/esm/components/Badge/index.d.ts +1 -1
  241. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  242. package/dist/esm/components/Breadcrumb/Item.d.ts +1 -1
  243. package/dist/esm/components/Button/Group.d.ts +1 -1
  244. package/dist/esm/components/Card/Badge.d.ts +1 -1
  245. package/dist/esm/components/Card/Body.d.ts +1 -1
  246. package/dist/esm/components/Card/Card.d.ts +1 -1
  247. package/dist/esm/components/Card/Footer.d.ts +1 -1
  248. package/dist/esm/components/Card/Header.d.ts +1 -1
  249. package/dist/esm/components/Card/Media.d.ts +1 -1
  250. package/dist/esm/components/Card/Title.d.ts +1 -1
  251. package/dist/esm/components/Close/index.d.ts +1 -1
  252. package/dist/esm/components/Component/index.d.ts +1 -1
  253. package/dist/esm/components/ConfigProvider/index.d.ts +55 -40
  254. package/dist/esm/components/Container/index.d.ts +1 -1
  255. package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +2 -2
  256. package/dist/esm/components/Control/Checkbox/Group.d.ts +2 -2
  257. package/dist/esm/components/Control/Checkbox/index.d.ts +1 -1
  258. package/dist/esm/components/Control/Input/Input.js +1 -1
  259. package/dist/esm/components/Control/Input/Number/index.js +3 -3
  260. package/dist/esm/components/Control/Input/useInput.js +2 -1
  261. package/dist/esm/components/Control/Radio/Group.js +2 -4
  262. package/dist/esm/components/Control/Radio/index.d.ts +1 -1
  263. package/dist/esm/components/Control/Select/Select.d.ts +18 -0
  264. package/dist/esm/components/Control/Select/Select.js +209 -0
  265. package/dist/esm/components/Control/Select/index.d.ts +3 -21
  266. package/dist/esm/components/Control/Select/index.js +1 -210
  267. package/dist/esm/components/Control/Select/placements.d.ts +1 -1
  268. package/dist/esm/components/Control/TextArea/index.d.ts +3 -3
  269. package/dist/esm/components/Control/TextArea/index.js +5 -4
  270. package/dist/esm/components/Cover/index.d.ts +1 -1
  271. package/dist/esm/components/DatePicker/PickerButton.d.ts +1 -1
  272. package/dist/esm/components/DatePicker/generatePurePicker.js +1 -3
  273. package/dist/esm/components/DescriptionList/Description.d.ts +1 -1
  274. package/dist/esm/components/DescriptionList/DescriptionList.d.ts +1 -1
  275. package/dist/esm/components/DescriptionList/Term.d.ts +1 -1
  276. package/dist/esm/components/Divider/index.d.ts +1 -1
  277. package/dist/esm/components/Dotnav/Dotnav.d.ts +1 -1
  278. package/dist/esm/components/Dotnav/Item.d.ts +1 -1
  279. package/dist/esm/components/Drawer/index.d.ts +1 -1
  280. package/dist/esm/components/Drop/index.d.ts +1 -2
  281. package/dist/esm/components/Drop/index.js +2 -1
  282. package/dist/esm/components/Flex/Flex.d.ts +1 -1
  283. package/dist/esm/components/Flex/Item.d.ts +1 -1
  284. package/dist/esm/components/Flex/index.d.ts +1 -1
  285. package/dist/esm/components/Form/Controls.d.ts +1 -1
  286. package/dist/esm/components/Form/ControlsText.d.ts +1 -1
  287. package/dist/esm/components/Form/Fieldset.d.ts +1 -1
  288. package/dist/esm/components/Form/Form.d.ts +1 -1
  289. package/dist/esm/components/Form/Label.d.ts +1 -1
  290. package/dist/esm/components/Form/Legend.d.ts +1 -1
  291. package/dist/esm/components/Grid/index.d.ts +1 -1
  292. package/dist/esm/components/Heading/index.d.ts +1 -1
  293. package/dist/esm/components/Icon/Button.d.ts +1 -1
  294. package/dist/esm/components/Icon/Icon.d.ts +1 -1
  295. package/dist/esm/components/Icon/Link.d.ts +1 -1
  296. package/dist/esm/components/Icon/index.d.ts +1 -1
  297. package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
  298. package/dist/esm/components/Iconnav/Item.d.ts +1 -1
  299. package/dist/esm/components/Inverse/index.d.ts +2 -2
  300. package/dist/esm/components/Label/index.d.ts +1 -1
  301. package/dist/esm/components/List/Item.d.ts +1 -1
  302. package/dist/esm/components/List/List.d.ts +1 -1
  303. package/dist/esm/components/Modal/index.d.ts +1 -1
  304. package/dist/esm/components/Nav/Divider.d.ts +1 -1
  305. package/dist/esm/components/Nav/Divider.js +2 -6
  306. package/dist/esm/components/Nav/Group/InternalNavGroup.d.ts +10 -0
  307. package/dist/esm/components/Nav/Group/InternalNavGroup.js +16 -0
  308. package/dist/esm/components/Nav/Group/index.d.ts +4 -5
  309. package/dist/esm/components/Nav/Group/index.js +7 -7
  310. package/dist/esm/components/Nav/Header.d.ts +1 -3
  311. package/dist/esm/components/Nav/Header.js +3 -3
  312. package/dist/esm/components/Nav/Icon/index.d.ts +7 -0
  313. package/dist/esm/components/Nav/Icon/index.js +14 -0
  314. package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +1 -5
  315. package/dist/esm/components/Nav/Item/InternalNavItem.js +16 -37
  316. package/dist/esm/components/Nav/Item/LegacyNavItem.js +11 -5
  317. package/dist/esm/components/Nav/Item/index.d.ts +1 -4
  318. package/dist/esm/components/Nav/Item/index.js +5 -8
  319. package/dist/esm/components/Nav/Nav.d.ts +8 -21
  320. package/dist/esm/components/Nav/Nav.js +70 -75
  321. package/dist/esm/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
  322. package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
  323. package/dist/esm/components/Nav/Sub/InternalSubNav.d.ts +15 -0
  324. package/dist/esm/components/Nav/Sub/InternalSubNav.js +157 -0
  325. package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +2 -1
  326. package/dist/esm/components/Nav/Sub/PopupTrigger.js +9 -10
  327. package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -2
  328. package/dist/esm/components/Nav/Sub/SubNavList.js +4 -4
  329. package/dist/esm/components/Nav/Sub/index.d.ts +4 -15
  330. package/dist/esm/components/Nav/Sub/index.js +7 -167
  331. package/dist/esm/components/Nav/context/NavContext.d.ts +7 -3
  332. package/dist/esm/components/Nav/context/NavContext.js +6 -6
  333. package/dist/esm/components/Nav/context/index.d.ts +3 -0
  334. package/dist/esm/components/Nav/context/index.js +3 -0
  335. package/dist/esm/components/Nav/hooks/index.d.ts +5 -0
  336. package/dist/esm/components/Nav/hooks/index.js +5 -0
  337. package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +11 -0
  338. package/dist/esm/components/Nav/hooks/useAccessibility.js +96 -100
  339. package/dist/esm/components/Nav/hooks/useActive.js +5 -13
  340. package/dist/esm/components/Nav/hooks/useDirectionStyle.js +1 -1
  341. package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  342. package/dist/esm/components/Nav/hooks/useKeyRecords.js +3 -3
  343. package/dist/esm/components/Nav/types.d.ts +14 -1
  344. package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
  345. package/dist/esm/components/Nav/utils/alignUtil.js +1 -4
  346. package/dist/esm/components/Nav/utils/index.d.ts +5 -0
  347. package/dist/esm/components/Nav/utils/index.js +5 -0
  348. package/dist/esm/components/Nav/utils/nodeUtil.d.ts +2 -2
  349. package/dist/esm/components/Nav/utils/nodeUtil.js +38 -31
  350. package/dist/esm/components/Nav/utils/warnUtil.js +1 -1
  351. package/dist/esm/components/Navbar/Center.d.ts +1 -1
  352. package/dist/esm/components/Navbar/Container.d.ts +1 -1
  353. package/dist/esm/components/Navbar/Item.d.ts +1 -1
  354. package/dist/esm/components/Navbar/Left.d.ts +1 -1
  355. package/dist/esm/components/Navbar/Navbar.d.ts +1 -1
  356. package/dist/esm/components/Navbar/Right.d.ts +1 -1
  357. package/dist/esm/components/Navbar/Toggle.d.ts +1 -1
  358. package/dist/esm/components/Overlay/index.d.ts +1 -1
  359. package/dist/esm/components/Progress/index.d.ts +1 -1
  360. package/dist/esm/components/Section/index.d.ts +1 -1
  361. package/dist/esm/components/Segmented/index.d.ts +1 -1
  362. package/dist/esm/components/Slider/index.d.ts +1 -2
  363. package/dist/esm/components/Spinner/index.d.ts +1 -1
  364. package/dist/esm/components/Subnav/Item.d.ts +1 -1
  365. package/dist/esm/components/Subnav/Subnav.d.ts +1 -1
  366. package/dist/esm/components/Tabs/index.d.ts +6 -4
  367. package/dist/esm/components/Tabs/index.js +8 -7
  368. package/dist/esm/components/Text/index.d.ts +1 -1
  369. package/dist/esm/components/Tile/index.d.ts +1 -1
  370. package/dist/esm/components/Width/Width.d.ts +1 -1
  371. package/dist/esm/constants.d.ts +12 -0
  372. package/dist/esm/constants.js +13 -0
  373. package/dist/esm/utils/motion.d.ts +1 -1
  374. package/package.json +23 -20
  375. package/styles/accordion.scss +56 -30
  376. package/styles/alert.scss +6 -5
  377. package/styles/animation.scss +64 -213
  378. package/styles/background.scss +34 -131
  379. package/styles/base.scss +37 -65
  380. package/styles/breadcrumb.scss +6 -9
  381. package/styles/button.scss +22 -62
  382. package/styles/control.scss +1 -0
  383. package/styles/datepicker.scss +3 -2
  384. package/styles/input-number.scss +11 -21
  385. package/styles/leader.scss +2 -2
  386. package/styles/mixins.scss +10 -19
  387. package/styles/nav.scss +7 -28
  388. package/styles/navbar.scss +185 -160
  389. package/styles/search.scss +16 -46
  390. package/styles/select.scss +9 -4
  391. package/styles/subnav.scss +1 -1
  392. package/styles/switch.scss +12 -0
  393. package/styles/tabs.scss +65 -37
  394. package/styles/text.scss +65 -65
  395. package/styles/thumbnav.scss +4 -4
  396. package/styles/variables.scss +36 -19
  397. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
  398. package/dist/cjs/components/Nav/context/PrivateContext.d.ts +0 -7
  399. package/dist/cjs/components/Nav/hooks/useUUID.d.ts +0 -1
  400. package/dist/cjs/components/Nav/hooks/useUUID.js +0 -56
  401. package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
  402. package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +0 -16
  403. package/dist/esm/components/Nav/context/PrivateContext.d.ts +0 -7
  404. package/dist/esm/components/Nav/context/PrivateContext.js +0 -6
  405. package/dist/esm/components/Nav/hooks/useUUID.d.ts +0 -1
  406. package/dist/esm/components/Nav/hooks/useUUID.js +0 -17
@@ -5,7 +5,7 @@ export interface CardFooterOwnProps {
5
5
  }
6
6
  export type CardFooterProps<E extends React.ElementType = React.ElementType> = CardFooterOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardFooterOwnProps>;
7
7
  declare const defaultElement = "footer";
8
- export declare function Footer<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardFooterProps<E>>): React.JSX.Element;
8
+ export declare function Footer<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardFooterProps<E>>): React.ReactElement;
9
9
  export declare namespace Footer {
10
10
  var displayName: string;
11
11
  }
@@ -5,7 +5,7 @@ export interface CardHeaderOwnProps {
5
5
  }
6
6
  export type CardHeaderProps<E extends React.ElementType = React.ElementType> = CardHeaderOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardHeaderOwnProps>;
7
7
  declare const defaultElement = "header";
8
- export declare function Header<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardHeaderProps<E>>): React.JSX.Element;
8
+ export declare function Header<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardHeaderProps<E>>): React.ReactElement;
9
9
  export declare namespace Header {
10
10
  var displayName: string;
11
11
  }
@@ -6,7 +6,7 @@ export interface CardMediaOwnProps {
6
6
  }
7
7
  export type CardMediaProps<E extends React.ElementType = React.ElementType> = CardMediaOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardMediaOwnProps>;
8
8
  declare const defaultElement = "div";
9
- export declare function Media<E extends React.ElementType = typeof defaultElement>({ className, component, position, ...props }: React.PropsWithChildren<CardMediaProps<E>>): React.JSX.Element;
9
+ export declare function Media<E extends React.ElementType = typeof defaultElement>({ className, component, position, ...props }: React.PropsWithChildren<CardMediaProps<E>>): React.ReactElement;
10
10
  export declare namespace Media {
11
11
  var displayName: string;
12
12
  }
@@ -5,7 +5,7 @@ export interface CardTitleOwnProps {
5
5
  }
6
6
  export type CardTitleProps<E extends React.ElementType = React.ElementType> = CardTitleOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardTitleOwnProps>;
7
7
  declare const defaultElement = "h3";
8
- export declare function Title<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardTitleProps<E>>): React.JSX.Element;
8
+ export declare function Title<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardTitleProps<E>>): React.ReactElement;
9
9
  export declare namespace Title {
10
10
  var displayName: string;
11
11
  }
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { type IconProps } from '../../components/Icon';
3
3
  export type CloseProps<E extends React.ElementType = React.ElementType> = Omit<IconProps<E>, 'icon'>;
4
4
  declare const defaultElement = "button";
5
- export declare function Close<E extends React.ElementType = typeof defaultElement>({ className, ...props }: CloseProps<E>): React.JSX.Element;
5
+ export declare function Close<E extends React.ElementType = typeof defaultElement>({ className, ...props }: CloseProps<E>): React.ReactElement;
6
6
  export declare namespace Close {
7
7
  var displayName: string;
8
8
  }
@@ -5,7 +5,7 @@ type ComponentOwnProp<T extends React.ElementType = React.ElementType> = React.C
5
5
  type PropsToOmit<E extends React.ElementType = React.ElementType, Props extends object = object> = Omit<React.ComponentPropsWithoutRef<E>, keyof Props>;
6
6
  export type PolymorphicProps<E extends React.ElementType = React.ElementType, Props extends object = object> = ComponentOwnProp<E> & PropsToOmit<E, Props>;
7
7
  export interface PolymorphicComponent<Component extends React.ElementType = React.ElementType, Props extends object = object> {
8
- <E extends React.ElementType = Component>(props: PolymorphicProps<E, Props>): React.JSX.Element;
8
+ <E extends React.ElementType = Component>(props: PolymorphicProps<E, Props>): React.ReactElement;
9
9
  defaultProps?: Partial<any>;
10
10
  displayName?: string;
11
11
  id?: string;
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { type AccordionItemProps } from '../../components/Accordion';
2
3
  import { type ButtonProps } from '../../components/Button';
3
4
  import { type PickerLocale } from '../../components/DatePicker';
4
5
  import { type ColorMode } from '../../components/Inverse';
@@ -8,7 +9,52 @@ interface PropsWithMouseHandler {
8
9
  onClick: React.HTMLAttributes<HTMLElement>['onClick'];
9
10
  }
10
11
  export { SizeContext } from '../../components/ConfigProvider/SizeContext';
11
- export interface ConfigContextConsumedProps {
12
+ interface ConfigDeprecatedProps {
13
+ /** @deprecated Use `button['shape']` config instead */
14
+ buttonShape?: ButtonProps['shape'];
15
+ /** @deprecated Use `button['size']` config instead */
16
+ buttonSize?: ButtonProps['size'];
17
+ /** @deprecated Use `card['primaryColorMode']` config instead */
18
+ cardPrimaryColorMode?: ColorMode;
19
+ /** @deprecated Use `card['secondaryColorMode']` config instead */
20
+ cardSecondaryColorMode?: ColorMode;
21
+ /** @deprecated Use `card['tertiaryColorMode']` config instead */
22
+ cardTertiaryColorMode?: ColorMode;
23
+ /** @deprecated Use `control['clearIcon']` config instead */
24
+ controlClearIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
25
+ /** @deprecated Use `section['primaryColorMode']` config instead */
26
+ sectionPrimaryColorMode?: ColorMode;
27
+ /** @deprecated Use `section['secondaryColorMode']` config instead */
28
+ sectionSecondaryColorMode?: ColorMode;
29
+ /** @deprecated Use `section['tertiaryColorMode']` config instead */
30
+ sectionTertiaryColorMode?: ColorMode;
31
+ /** @deprecated Use `select['addIcon']` config instead */
32
+ selectAddIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
33
+ /** @deprecated Use `select['arrowIcon']` config instead */
34
+ selectArrowIcon?: React.ReactNode | ((props: {
35
+ isOpen: boolean;
36
+ } & PropsWithMouseHandler) => React.ReactElement);
37
+ /** @deprecated Use `select['clearIcon']` config instead */
38
+ selectClearIcon?: React.ReactNode | (() => React.ReactElement);
39
+ /** @deprecated Use `select['loadingIcon']` config instead */
40
+ selectLoadingIcon?: React.ReactNode | (() => React.ReactElement);
41
+ /** @deprecated Use `select['notFoundContent']` config instead */
42
+ selectNotFoundContent?: React.ReactNode | (() => React.ReactElement);
43
+ /** @deprecated Use `select['searchIcon']` config instead */
44
+ selectSearchIcon?: React.ReactNode | (() => React.ReactElement);
45
+ /** @deprecated Use `tile['primaryColorMode']` config instead */
46
+ tilePrimaryColorMode?: ColorMode;
47
+ /** @deprecated Use `tile['secondaryColorMode']` config instead */
48
+ tileSecondaryColorMode?: ColorMode;
49
+ /** @deprecated Use `tile['tertiaryColorMode']` config instead */
50
+ tileTertiaryColorMode?: ColorMode;
51
+ }
52
+ export interface ConfigContextConsumedProps extends ConfigDeprecatedProps {
53
+ accordion?: {
54
+ direction?: Direction;
55
+ expandIcon?: (props: AccordionItemProps) => React.ReactNode;
56
+ prefixCls?: string;
57
+ };
12
58
  alert?: {
13
59
  closeIcon?: React.ReactNode | (() => React.ReactElement);
14
60
  };
@@ -19,22 +65,12 @@ export interface ConfigContextConsumedProps {
19
65
  shape?: ButtonProps['shape'];
20
66
  size?: ButtonProps['size'];
21
67
  };
22
- /** @deprecated Use `button['shape']` config instead */
23
- buttonShape?: ButtonProps['shape'];
24
- /** @deprecated Use `button['size']` config instead */
25
- buttonSize?: ButtonProps['size'];
26
68
  card?: {
27
69
  prefixCls?: string;
28
70
  primaryColorMode?: ColorMode;
29
71
  secondaryColorMode?: ColorMode;
30
72
  tertiaryColorMode?: ColorMode;
31
73
  };
32
- /** @deprecated Use `card['primaryColorMode']` config instead */
33
- cardPrimaryColorMode?: ColorMode;
34
- /** @deprecated Use `card['secondaryColorMode']` config instead */
35
- cardSecondaryColorMode?: ColorMode;
36
- /** @deprecated Use `card['tertiaryColorMode']` config instead */
37
- cardTertiaryColorMode?: ColorMode;
38
74
  checkbox?: {
39
75
  direction?: Direction;
40
76
  prefixCls?: string;
@@ -44,8 +80,6 @@ export interface ConfigContextConsumedProps {
44
80
  direction?: Direction;
45
81
  prefixCls?: string;
46
82
  };
47
- /** @deprecated Use `control['clearIcon']` config instead */
48
- controlClearIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
49
83
  datePicker?: {
50
84
  clearIcon?: React.ReactNode | (() => React.ReactElement);
51
85
  direction?: Direction;
@@ -75,12 +109,6 @@ export interface ConfigContextConsumedProps {
75
109
  secondaryColorMode?: ColorMode;
76
110
  tertiaryColorMode?: ColorMode;
77
111
  };
78
- /** @deprecated Use `section['primaryColorMode']` config instead */
79
- sectionPrimaryColorMode?: ColorMode;
80
- /** @deprecated Use `section['secondaryColorMode']` config instead */
81
- sectionSecondaryColorMode?: ColorMode;
82
- /** @deprecated Use `section['tertiaryColorMode']` config instead */
83
- sectionTertiaryColorMode?: ColorMode;
84
112
  select?: {
85
113
  addIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
86
114
  arrowIcon?: React.ReactNode | ((props: {
@@ -93,32 +121,19 @@ export interface ConfigContextConsumedProps {
93
121
  prefixCls?: string;
94
122
  searchIcon?: React.ReactNode | (() => React.ReactElement);
95
123
  };
96
- /** @deprecated Use `select['addIcon']` config instead */
97
- selectAddIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
98
- /** @deprecated Use `select['arrowIcon']` config instead */
99
- selectArrowIcon?: React.ReactNode | ((props: {
100
- isOpen: boolean;
101
- } & PropsWithMouseHandler) => React.ReactElement);
102
- /** @deprecated Use `select['clearIcon']` config instead */
103
- selectClearIcon?: React.ReactNode | (() => React.ReactElement);
104
- /** @deprecated Use `select['loadingIcon']` config instead */
105
- selectLoadingIcon?: React.ReactNode | (() => React.ReactElement);
106
- /** @deprecated Use `select['notFoundContent']` config instead */
107
- selectNotFoundContent?: React.ReactNode | (() => React.ReactElement);
108
- /** @deprecated Use `select['searchIcon']` config instead */
109
- selectSearchIcon?: React.ReactNode | (() => React.ReactElement);
124
+ tabs?: {
125
+ addIcon?: React.ReactNode;
126
+ direction?: Direction;
127
+ moreIcon?: React.ReactNode;
128
+ prefixCls?: string;
129
+ removeIcon?: React.ReactNode;
130
+ };
110
131
  tile?: {
111
132
  prefixCls?: string;
112
133
  primaryColorMode?: ColorMode;
113
134
  secondaryColorMode?: ColorMode;
114
135
  tertiaryColorMode?: ColorMode;
115
136
  };
116
- /** @deprecated Use `tile['primaryColorMode']` config instead */
117
- tilePrimaryColorMode?: ColorMode;
118
- /** @deprecated Use `tile['secondaryColorMode']` config instead */
119
- tileSecondaryColorMode?: ColorMode;
120
- /** @deprecated Use `tile['tertiaryColorMode']` config instead */
121
- tileTertiaryColorMode?: ColorMode;
122
137
  timePicker?: {
123
138
  clearIcon?: React.ReactNode | (() => React.ReactElement);
124
139
  direction?: Direction;
@@ -129,4 +144,4 @@ export interface ConfigContextConsumedProps {
129
144
  }
130
145
  export declare const ConfigContext: React.Context<ConfigContextConsumedProps>;
131
146
  export declare function useConfig(): ConfigContextConsumedProps;
132
- export declare function ConfigContextProvider({ children, ...props }: Partial<React.PropsWithChildren<ConfigContextConsumedProps>>): React.JSX.Element;
147
+ export declare function ConfigContextProvider({ children, ...props }: Partial<React.PropsWithChildren<ConfigContextConsumedProps>>): React.ReactElement;
@@ -9,7 +9,7 @@ export interface ContainerOwnProps {
9
9
  }
10
10
  export type ContainerProps<E extends React.ElementType = React.ElementType> = ContainerOwnProps & PolymorphicProps<E> & PolymorphicProps<E, ContainerOwnProps>;
11
11
  declare const defaultElement = "div";
12
- export declare function Container<E extends React.ElementType = typeof defaultElement>({ className, component, expandLeft, expandRight, preserve, size, ...props }: React.PropsWithChildren<ContainerProps<E>>): React.JSX.Element;
12
+ export declare function Container<E extends React.ElementType = typeof defaultElement>({ className, component, expandLeft, expandRight, preserve, size, ...props }: React.PropsWithChildren<ContainerProps<E>>): React.ReactElement;
13
13
  export declare namespace Container {
14
14
  var displayName: string;
15
15
  }
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
- import { type SizeType } from '../../../types';
2
+ import { type Direction, type SizeType } from '../../../types';
3
3
  export interface AbstractCheckboxProps<T> extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'onChange' | 'onMouseEnter' | 'onMouseLeave'> {
4
4
  autoFocus?: boolean;
5
5
  block?: boolean;
6
6
  children?: React.ReactNode;
7
7
  defaultChecked?: boolean;
8
- direction?: string;
8
+ direction?: Direction;
9
9
  id?: string;
10
10
  name?: string;
11
11
  prefixCls?: string;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type CheckboxChangeEvent } from '../../../components/Control/Checkbox/Checkbox';
3
- import { type SizeType } from '../../../types';
3
+ import { type Direction, type SizeType } from '../../../types';
4
4
  export interface CheckboxOptionType<T = any> {
5
5
  disabled?: boolean;
6
6
  id?: string;
@@ -15,7 +15,7 @@ export interface AbstractCheckboxGroupProps<T = any> {
15
15
  block?: boolean;
16
16
  children?: React.ReactNode;
17
17
  className?: string;
18
- direction?: string;
18
+ direction?: Direction;
19
19
  disabled?: boolean;
20
20
  id?: string;
21
21
  name?: string;
@@ -2,7 +2,7 @@ import type * as React from 'react';
2
2
  import { type AbstractCheckboxProps, type CheckboxChangeEvent, type CheckboxProps } from '../../../components/Control/Checkbox/Checkbox';
3
3
  import { type CheckboxGroupConsumer } from '../../../components/Control/Checkbox/CheckboxGroupContext';
4
4
  import { type AbstractCheckboxGroupProps, type CheckboxGroupProps, type CheckboxOptionType, Group } from '../../../components/Control/Checkbox/Group';
5
- export type { AbstractCheckboxProps, AbstractCheckboxGroupProps, CheckboxChangeEvent, CheckboxGroupConsumer, CheckboxGroupProps, CheckboxOptionType, CheckboxProps, };
5
+ export type { AbstractCheckboxGroupProps, AbstractCheckboxProps, CheckboxChangeEvent, CheckboxGroupConsumer, CheckboxGroupProps, CheckboxOptionType, CheckboxProps, };
6
6
  export interface Checkbox extends React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>> {
7
7
  Group: typeof Group;
8
8
  }
@@ -1,4 +1,4 @@
1
- import omit from '@rc-component/util/lib/omit';
1
+ import { omit } from '@rc-component/util';
2
2
  import classNames from 'classnames';
3
3
  import * as React from 'react';
4
4
  import { useConfig } from '../../../components/ConfigProvider';
@@ -1,5 +1,5 @@
1
1
  import RcInputNumber from '@rc-component/input-number';
2
- import omit from '@rc-component/util/lib/omit';
2
+ import { omit } from '@rc-component/util';
3
3
  import * as React from 'react';
4
4
  import { useConfig } from '../../../../components/ConfigProvider';
5
5
  import { useInput } from '../../../../components/Control/Input/useInput';
@@ -21,8 +21,8 @@ export const InputNumber = React.forwardRef((props, ref) => {
21
21
  }));
22
22
  const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls, 'number'), [config, prefixCls]);
23
23
  const controlCls = React.useMemo(() => config.getRootPrefixCls(prefixCls, 'control'), [config, prefixCls]);
24
- const upIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-handler-up-inner`, icon: "keyboard_arrow_up" }), [rootCls]);
25
- const downIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-handler-down-inner`, icon: "keyboard_arrow_down" }), [rootCls]);
24
+ const upIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-action-up-inner`, icon: "keyboard_arrow_up" }), [rootCls]);
25
+ const downIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-action-down-inner`, icon: "keyboard_arrow_down" }), [rootCls]);
26
26
  const inputProps = omit({ ...restProps, className: `${rootCls}-wrapper` }, [
27
27
  'allowClear',
28
28
  'prefix',
@@ -1,6 +1,7 @@
1
1
  import classNames from 'classnames';
2
2
  import * as React from 'react';
3
3
  import { useConfig } from '../../../components/ConfigProvider';
4
+ import { KeyCode } from '../../../constants';
4
5
  export function fixControlledValue(value) {
5
6
  if (value == null) {
6
7
  return '';
@@ -40,7 +41,7 @@ export function useInput(props) {
40
41
  restProps.onFocus?.(event);
41
42
  }, [restProps]);
42
43
  const onKeyDown = React.useCallback(event => {
43
- if (onPressEnter && (event.keyCode === 13 || event.key === 'Enter')) {
44
+ if (onPressEnter && (event.code === KeyCode.Enter)) {
44
45
  onPressEnter(event);
45
46
  }
46
47
  restProps.onKeyDown?.(event);
@@ -1,4 +1,4 @@
1
- import useMergedState from '@rc-component/util/lib/hooks/useMergedState';
1
+ import { useControlledState } from '@rc-component/util';
2
2
  import classNames from 'classnames';
3
3
  import * as React from 'react';
4
4
  import { useConfig } from '../../../components/ConfigProvider';
@@ -7,9 +7,7 @@ import { RadioGroupContext } from '../../../components/Control/Radio/RadioGroupC
7
7
  export const Group = React.forwardRef(({ block, children, className, defaultValue, disabled, id, options, size, stack, style, ...props }, ref) => {
8
8
  const config = useConfig();
9
9
  const { direction = config.radio?.direction || config.direction, prefixCls = config.radio?.prefixCls || config.prefixCls, ...restProps } = props;
10
- const [value, setValue] = useMergedState(defaultValue, {
11
- value: restProps.value,
12
- });
10
+ const [value, setValue] = useControlledState(defaultValue, restProps.value);
13
11
  const onChange = React.useCallback(event => {
14
12
  const lastValue = value;
15
13
  const val = event.target.value;
@@ -1,5 +1,5 @@
1
1
  import type * as React from 'react';
2
- import { Group, type RadioGroupProps } from '../../../components/Control/Radio/Group';
2
+ import { type RadioGroupProps, Group } from '../../../components/Control/Radio/Group';
3
3
  import { type RadioChangeEvent, type RadioProps } from '../../../components/Control/Radio/Radio';
4
4
  export type { RadioChangeEvent, RadioGroupProps, RadioProps };
5
5
  export interface Radio extends React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>> {
@@ -0,0 +1,18 @@
1
+ import { type BaseSelectRef, type SelectProps as RcSelectProps, OptGroup, Option } from '@rc-component/select';
2
+ import { type BaseOptionType, type DefaultOptionType } from '@rc-component/select/es/Select';
3
+ import * as React from 'react';
4
+ import { type ControlProps, type SelectPlacement } from '../../../components/Control/types';
5
+ import { type SizeType } from '../../../types';
6
+ export interface InternalSelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<RcSelectProps<ValueType, OptionType>, 'placement'> {
7
+ size?: SizeType;
8
+ }
9
+ export interface SelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<ControlProps<ValueType>, 'allowClear' | 'defaultValue' | 'suffix' | 'value'>, Omit<InternalSelectProps<ValueType, OptionType>, 'inputIcon' | 'getInputElement' | 'backfill'> {
10
+ placement?: SelectPlacement;
11
+ showArrow?: boolean;
12
+ }
13
+ export declare const Select: (<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(props: SelectProps<ValueType, OptionType> & {
14
+ ref?: React.Ref<BaseSelectRef>;
15
+ }) => React.ReactElement) & {
16
+ OptGroup: typeof OptGroup;
17
+ Option: typeof Option;
18
+ };
@@ -0,0 +1,209 @@
1
+ /* eslint-disable jsx-a11y/label-has-associated-control */
2
+ import RcSelect, { OptGroup, Option } from '@rc-component/select';
3
+ import classNames from 'classnames';
4
+ import * as React from 'react';
5
+ import { useConfig } from '../../../components/ConfigProvider';
6
+ import { getBuiltInPlacements } from '../../../components/Control/Select/placements';
7
+ import { Icon } from '../../../components/Icon';
8
+ import { Spinner } from '../../../components/Spinner';
9
+ import { KeyCode } from '../../../constants';
10
+ function InternalSelect({ allowClear, popupMatchSelectWidth, builtinPlacements = getBuiltInPlacements(popupMatchSelectWidth), className, listHeight = 256, listItemHeight = 24, mode, placement = 'bottom-left', showArrow = true, showSearch = false, onPressEnter, ...props }, ref) {
11
+ const config = useConfig();
12
+ const { direction = config.select?.direction || config.direction, prefixCls = config.select?.prefixCls || config.prefixCls, ...restProps } = props;
13
+ const inputRef = React.useRef(null);
14
+ const labelRef = React.useRef(null);
15
+ const [focused, setFocused] = React.useState(false);
16
+ const [internalOpen, setInternalOpen] = React.useState(restProps.defaultOpen || restProps.open || false);
17
+ const [offsetY, setOffsetY] = React.useState(2);
18
+ const onBlur = React.useCallback(event => {
19
+ setFocused(false);
20
+ setInternalOpen(false);
21
+ restProps.onBlur?.(event);
22
+ }, [restProps]);
23
+ const onFocus = React.useCallback(event => {
24
+ setFocused(true);
25
+ restProps.onFocus?.(event);
26
+ }, [restProps]);
27
+ const onKeyDown = React.useCallback(event => {
28
+ if (event.code === KeyCode.Enter) {
29
+ setInternalOpen(true);
30
+ onPressEnter?.(event);
31
+ }
32
+ else if (event.code === KeyCode.Space) {
33
+ setInternalOpen(true);
34
+ }
35
+ restProps.onKeyDown?.(event);
36
+ }, [onPressEnter, restProps]);
37
+ const onPopupVisibleChange = React.useCallback((open) => {
38
+ setInternalOpen(open);
39
+ restProps.onPopupVisibleChange?.(open);
40
+ }, [restProps]);
41
+ const onClickIcon = React.useCallback(() => {
42
+ setInternalOpen(!internalOpen);
43
+ }, [internalOpen]);
44
+ React.useEffect(() => {
45
+ setInternalOpen(restProps.defaultOpen || restProps.open || internalOpen);
46
+ }, [restProps.open, restProps.defaultOpen, internalOpen]);
47
+ React.useEffect(() => {
48
+ const select = labelRef.current?.firstElementChild;
49
+ if (select) {
50
+ let offset = parseInt(getComputedStyle?.(select).getPropertyValue('border-left-width'), 10);
51
+ if (direction !== 'rtl') {
52
+ offset *= -1;
53
+ }
54
+ setOffsetY(offset);
55
+ }
56
+ }, [direction]);
57
+ const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.select?.prefixCls || config.prefixCls, 'select'), [config, prefixCls]);
58
+ const controlCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.select?.prefixCls || config.prefixCls, 'control'), [config, prefixCls]);
59
+ const wrapperClasses = React.useMemo(() => classNames([controlCls, `${controlCls}-select`], {
60
+ [`${controlCls}-${restProps.size}`]: restProps.size,
61
+ [`${controlCls}-rtl`]: direction === 'rtl',
62
+ [`${prefixCls || config.select?.prefixCls || config.prefixCls}-disabled`]: restProps.disabled,
63
+ [`${prefixCls || config.select?.prefixCls || config.prefixCls}-focused`]: focused,
64
+ }, className), [
65
+ className,
66
+ config.select?.prefixCls,
67
+ config.prefixCls,
68
+ controlCls,
69
+ focused,
70
+ prefixCls,
71
+ direction,
72
+ restProps.disabled,
73
+ restProps.size,
74
+ ]);
75
+ const inputProps = React.useMemo(() => {
76
+ // Arrow or loading icon
77
+ let suffixIcon;
78
+ if (restProps.loading) {
79
+ if (typeof config.select?.loadingIcon === 'function') {
80
+ suffixIcon = config.select.loadingIcon();
81
+ }
82
+ else if (React.isValidElement(config.select?.loadingIcon)) {
83
+ suffixIcon = config.select.loadingIcon;
84
+ }
85
+ else {
86
+ suffixIcon = React.createElement(Spinner, { key: "spinner", ratio: 0.7 });
87
+ }
88
+ suffixIcon = React.createElement("div", { className: `${rootCls}-arrow ${rootCls}-arrow-loading` }, suffixIcon);
89
+ }
90
+ else if (showArrow) {
91
+ const isMultiple = mode === 'multiple' || mode === 'tags';
92
+ if (isMultiple) {
93
+ if (typeof config.select?.addIcon === 'function') {
94
+ suffixIcon = config.select.addIcon({ onClick: onClickIcon });
95
+ }
96
+ else if (React.isValidElement(config.select?.addIcon)) {
97
+ suffixIcon = config.select.addIcon;
98
+ }
99
+ else {
100
+ suffixIcon = React.createElement(Icon, { key: "add_box", icon: "add_box", onClick: onClickIcon });
101
+ }
102
+ }
103
+ else if (showSearch && internalOpen) {
104
+ if (typeof config.select?.searchIcon === 'function') {
105
+ suffixIcon = config.select.searchIcon();
106
+ }
107
+ else if (React.isValidElement(config.select?.searchIcon)) {
108
+ suffixIcon = config.select.searchIcon;
109
+ }
110
+ else {
111
+ suffixIcon = React.createElement(Icon, { key: "manage_search", icon: "manage_search" });
112
+ }
113
+ }
114
+ else if (typeof config.select?.arrowIcon === 'function') {
115
+ suffixIcon = config.select.arrowIcon({ isOpen: internalOpen, onClick: onClickIcon });
116
+ }
117
+ else if (React.isValidElement(config.select?.arrowIcon)) {
118
+ suffixIcon = config.select.arrowIcon;
119
+ }
120
+ else {
121
+ suffixIcon = internalOpen
122
+ ? React.createElement(Icon, { key: "expand_less", icon: "expand_less", onClick: onClickIcon })
123
+ : React.createElement(Icon, { key: "expand_more", icon: "expand_more", onClick: onClickIcon });
124
+ }
125
+ suffixIcon = React.createElement("div", { className: `${rootCls}-arrow` }, suffixIcon);
126
+ }
127
+ // Not found content
128
+ let mergedNotFound;
129
+ if (restProps.notFoundContent !== undefined) {
130
+ mergedNotFound = restProps.notFoundContent;
131
+ }
132
+ else if (mode === 'combobox') {
133
+ mergedNotFound = null;
134
+ }
135
+ if (typeof config.select?.notFoundContent === 'function') {
136
+ mergedNotFound = config.select.notFoundContent();
137
+ }
138
+ else if (React.isValidElement(config.select?.notFoundContent)) {
139
+ mergedNotFound = config.select.notFoundContent;
140
+ }
141
+ let clearIcon = React.createElement(Icon, { icon: "clear" });
142
+ if (typeof config.select?.clearIcon === 'function') {
143
+ clearIcon = config.select.clearIcon();
144
+ }
145
+ else if (React.isValidElement(config.select?.clearIcon)) {
146
+ clearIcon = config.select.clearIcon;
147
+ }
148
+ return {
149
+ allowClear: (allowClear || allowClear === undefined) && {
150
+ clearIcon,
151
+ },
152
+ listHeight,
153
+ listItemHeight,
154
+ menuItemSelectedIcon: React.createElement(Icon, { icon: "check" }),
155
+ open: internalOpen,
156
+ prefixCls: rootCls,
157
+ removeIcon: React.createElement(Icon, { icon: "clear" }),
158
+ showSearch,
159
+ suffix: suffixIcon,
160
+ transitionName: `${prefixCls || config.select?.prefixCls || config.prefixCls}-motion-slide-bottom-small`,
161
+ ...restProps,
162
+ notFoundContent: mergedNotFound,
163
+ popupClassName: classNames(restProps.popupClassName, {
164
+ [`${prefixCls || config.select?.prefixCls || config.prefixCls}-dropdown-rtl`]: direction === 'rtl',
165
+ }),
166
+ popupMatchSelectWidth: true,
167
+ onBlur,
168
+ onFocus,
169
+ onKeyDown,
170
+ onPopupVisibleChange,
171
+ };
172
+ }, [
173
+ restProps,
174
+ showArrow,
175
+ mode,
176
+ config,
177
+ allowClear,
178
+ listHeight,
179
+ listItemHeight,
180
+ internalOpen,
181
+ rootCls,
182
+ showSearch,
183
+ prefixCls,
184
+ direction,
185
+ onBlur,
186
+ onFocus,
187
+ onKeyDown,
188
+ onClickIcon,
189
+ onPopupVisibleChange,
190
+ ]);
191
+ React.useImperativeHandle(ref, () => ({
192
+ blur() {
193
+ inputRef.current?.blur();
194
+ },
195
+ focus() {
196
+ inputRef.current?.focus();
197
+ },
198
+ scrollTo() {
199
+ return inputRef.current?.scrollTo;
200
+ },
201
+ }));
202
+ return (React.createElement("label", { ref: labelRef, className: wrapperClasses, htmlFor: restProps.id },
203
+ React.createElement(RcSelect, { ref: inputRef, builtinPlacements: builtinPlacements, placement: placement, popupAlign: {
204
+ offset: [offsetY, 5],
205
+ }, ...inputProps, mode: mode })));
206
+ }
207
+ export const Select = React.forwardRef(InternalSelect);
208
+ Select.Option = Option;
209
+ Select.OptGroup = OptGroup;
@@ -1,21 +1,3 @@
1
- import { type BaseSelectRef, OptGroup, Option, type SelectProps as RcSelectProps } from '@rc-component/select';
2
- import { type OptionProps } from '@rc-component/select/lib/Option';
3
- import { type BaseOptionType, type DefaultOptionType } from '@rc-component/select/lib/Select';
4
- import * as React from 'react';
5
- import { type ControlProps, type SelectPlacement } from '../../../components/Control/types';
6
- import { type SizeType } from '../../../types';
7
- export type { BaseSelectRef, OptionProps };
8
- export interface InternalSelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<RcSelectProps<ValueType, OptionType>, 'placement'> {
9
- size?: SizeType;
10
- }
11
- export interface SelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<ControlProps<ValueType>, 'allowClear' | 'defaultValue' | 'suffix' | 'value'>, Omit<InternalSelectProps<ValueType, OptionType>, 'inputIcon' | 'getInputElement' | 'backfill'> {
12
- placement?: SelectPlacement;
13
- showArrow?: boolean;
14
- }
15
- export declare const Select: (<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(props: SelectProps<ValueType, OptionType> & {
16
- ref?: React.Ref<BaseSelectRef>;
17
- }) => React.ReactElement) & {
18
- SECRET_COMBOBOX_MODE_DO_NOT_USE: string;
19
- Option: typeof Option;
20
- OptGroup: typeof OptGroup;
21
- };
1
+ export { type SelectProps, Select } from '../../../components/Control/Select/Select';
2
+ export { type BaseSelectRef } from '@rc-component/select';
3
+ export { type OptionProps } from '@rc-component/select/es/Option';