@broxus/react-uikit 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) 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/Accordion.js +2 -2
  83. package/dist/cjs/components/Accordion/Item.d.ts +1 -5
  84. package/dist/cjs/components/Accordion/Item.js +2 -7
  85. package/dist/cjs/components/Accordion/index.d.ts +1 -1
  86. package/dist/cjs/components/Alert/index.js +4 -6
  87. package/dist/cjs/components/Align/Align.d.ts +2 -2
  88. package/dist/cjs/components/Align/Align.js +3 -3
  89. package/dist/cjs/components/Align/Center.d.ts +1 -1
  90. package/dist/cjs/components/Align/Left.d.ts +1 -1
  91. package/dist/cjs/components/Align/Right.d.ts +1 -1
  92. package/dist/cjs/components/Article/Article.d.ts +1 -1
  93. package/dist/cjs/components/Article/Article.js +2 -2
  94. package/dist/cjs/components/Article/Meta.d.ts +4 -4
  95. package/dist/cjs/components/Article/Meta.js +3 -3
  96. package/dist/cjs/components/Article/Title.d.ts +4 -4
  97. package/dist/cjs/components/Article/Title.js +3 -3
  98. package/dist/cjs/components/Article/context.d.ts +2 -2
  99. package/dist/cjs/components/Badge/index.d.ts +4 -4
  100. package/dist/cjs/components/Badge/index.js +2 -2
  101. package/dist/cjs/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  102. package/dist/cjs/components/Breadcrumb/Breadcrumb.js +2 -2
  103. package/dist/cjs/components/Breadcrumb/Item.d.ts +1 -1
  104. package/dist/cjs/components/Breadcrumb/Item.js +2 -3
  105. package/dist/cjs/components/Button/Button.d.ts +2 -2
  106. package/dist/cjs/components/Button/Button.js +2 -2
  107. package/dist/cjs/components/Button/Group.d.ts +1 -1
  108. package/dist/cjs/components/Button/Group.js +2 -2
  109. package/dist/cjs/components/Card/Badge.d.ts +1 -1
  110. package/dist/cjs/components/Card/Badge.js +3 -3
  111. package/dist/cjs/components/Card/Body.d.ts +4 -4
  112. package/dist/cjs/components/Card/Body.js +3 -3
  113. package/dist/cjs/components/Card/Card.d.ts +4 -4
  114. package/dist/cjs/components/Card/Card.js +4 -4
  115. package/dist/cjs/components/Card/Footer.d.ts +4 -4
  116. package/dist/cjs/components/Card/Footer.js +3 -3
  117. package/dist/cjs/components/Card/Header.d.ts +4 -4
  118. package/dist/cjs/components/Card/Header.js +3 -3
  119. package/dist/cjs/components/Card/Media.d.ts +4 -4
  120. package/dist/cjs/components/Card/Media.js +3 -3
  121. package/dist/cjs/components/Card/Title.d.ts +4 -4
  122. package/dist/cjs/components/Card/Title.js +3 -3
  123. package/dist/cjs/components/Close/index.d.ts +1 -1
  124. package/dist/cjs/components/Close/index.js +2 -2
  125. package/dist/cjs/components/Component/index.d.ts +1 -1
  126. package/dist/cjs/components/Component/index.js +1 -4
  127. package/dist/cjs/components/ConfigProvider/index.d.ts +55 -40
  128. package/dist/cjs/components/ConfigProvider/index.js +3 -3
  129. package/dist/cjs/components/Container/index.d.ts +7 -2
  130. package/dist/cjs/components/Container/index.js +6 -6
  131. package/dist/cjs/components/Control/Checkbox/Checkbox.d.ts +2 -2
  132. package/dist/cjs/components/Control/Checkbox/Checkbox.js +2 -2
  133. package/dist/cjs/components/Control/Checkbox/Group.d.ts +2 -2
  134. package/dist/cjs/components/Control/Checkbox/Group.js +2 -2
  135. package/dist/cjs/components/Control/Checkbox/index.d.ts +1 -1
  136. package/dist/cjs/components/Control/Input/Input.js +3 -6
  137. package/dist/cjs/components/Control/Input/Number/index.js +4 -4
  138. package/dist/cjs/components/Control/Input/Password/index.js +2 -2
  139. package/dist/cjs/components/Control/Input/useInput.js +2 -1
  140. package/dist/cjs/components/Control/Radio/Group.js +4 -6
  141. package/dist/cjs/components/Control/Radio/Radio.js +2 -2
  142. package/dist/cjs/components/Control/Radio/index.d.ts +1 -1
  143. package/dist/cjs/components/Control/Select/Select.d.ts +18 -0
  144. package/dist/cjs/components/Control/Select/Select.js +248 -0
  145. package/dist/cjs/components/Control/Select/index.d.ts +4 -23
  146. package/dist/cjs/components/Control/Select/index.js +2 -253
  147. package/dist/cjs/components/Control/Select/placements.d.ts +1 -1
  148. package/dist/cjs/components/Control/TextArea/index.d.ts +3 -3
  149. package/dist/cjs/components/Control/TextArea/index.js +8 -7
  150. package/dist/cjs/components/Cover/index.d.ts +1 -1
  151. package/dist/cjs/components/Cover/index.js +2 -2
  152. package/dist/cjs/components/DatePicker/PickerButton.d.ts +1 -1
  153. package/dist/cjs/components/DatePicker/PickerButton.js +4 -2
  154. package/dist/cjs/components/DatePicker/generatePurePicker.js +1 -3
  155. package/dist/cjs/components/DescriptionList/Description.d.ts +1 -1
  156. package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +1 -1
  157. package/dist/cjs/components/DescriptionList/DescriptionList.js +2 -2
  158. package/dist/cjs/components/DescriptionList/Term.d.ts +1 -1
  159. package/dist/cjs/components/Divider/index.d.ts +1 -1
  160. package/dist/cjs/components/Divider/index.js +2 -2
  161. package/dist/cjs/components/Dotnav/Dotnav.d.ts +1 -1
  162. package/dist/cjs/components/Dotnav/Dotnav.js +2 -2
  163. package/dist/cjs/components/Dotnav/Item.d.ts +1 -1
  164. package/dist/cjs/components/Dotnav/Item.js +2 -3
  165. package/dist/cjs/components/Drawer/index.d.ts +3 -3
  166. package/dist/cjs/components/Drawer/index.js +2 -2
  167. package/dist/cjs/components/Drop/index.d.ts +5 -6
  168. package/dist/cjs/components/Drop/index.js +4 -3
  169. package/dist/cjs/components/Dropdown/index.js +2 -2
  170. package/dist/cjs/components/Flex/Flex.d.ts +2 -2
  171. package/dist/cjs/components/Flex/Flex.js +3 -3
  172. package/dist/cjs/components/Flex/Item.d.ts +2 -2
  173. package/dist/cjs/components/Flex/Item.js +3 -3
  174. package/dist/cjs/components/Flex/context.d.ts +2 -2
  175. package/dist/cjs/components/Flex/index.d.ts +1 -1
  176. package/dist/cjs/components/Form/Controls.d.ts +1 -1
  177. package/dist/cjs/components/Form/Controls.js +2 -2
  178. package/dist/cjs/components/Form/ControlsText.d.ts +1 -1
  179. package/dist/cjs/components/Form/ControlsText.js +2 -2
  180. package/dist/cjs/components/Form/Fieldset.d.ts +1 -1
  181. package/dist/cjs/components/Form/Fieldset.js +2 -2
  182. package/dist/cjs/components/Form/Form.d.ts +2 -2
  183. package/dist/cjs/components/Form/Form.js +3 -3
  184. package/dist/cjs/components/Form/Label.d.ts +1 -1
  185. package/dist/cjs/components/Form/Label.js +2 -2
  186. package/dist/cjs/components/Form/Legend.d.ts +1 -1
  187. package/dist/cjs/components/Form/Legend.js +2 -2
  188. package/dist/cjs/components/Form/context.d.ts +2 -2
  189. package/dist/cjs/components/Grid/index.d.ts +4 -4
  190. package/dist/cjs/components/Grid/index.js +3 -3
  191. package/dist/cjs/components/Heading/index.d.ts +4 -4
  192. package/dist/cjs/components/Heading/index.js +2 -2
  193. package/dist/cjs/components/Icon/Button.d.ts +1 -1
  194. package/dist/cjs/components/Icon/Icon.d.ts +4 -4
  195. package/dist/cjs/components/Icon/Icon.js +3 -3
  196. package/dist/cjs/components/Icon/Link.d.ts +1 -1
  197. package/dist/cjs/components/Icon/index.d.ts +1 -1
  198. package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
  199. package/dist/cjs/components/Iconnav/Iconnav.js +2 -2
  200. package/dist/cjs/components/Iconnav/Item.d.ts +1 -1
  201. package/dist/cjs/components/Iconnav/Item.js +2 -3
  202. package/dist/cjs/components/Inverse/index.d.ts +2 -2
  203. package/dist/cjs/components/Inverse/index.js +4 -3
  204. package/dist/cjs/components/Label/index.d.ts +1 -1
  205. package/dist/cjs/components/Label/index.js +2 -2
  206. package/dist/cjs/components/Link/index.d.ts +2 -2
  207. package/dist/cjs/components/Link/index.js +3 -3
  208. package/dist/cjs/components/List/Item.d.ts +1 -3
  209. package/dist/cjs/components/List/List.d.ts +1 -1
  210. package/dist/cjs/components/List/List.js +2 -2
  211. package/dist/cjs/components/Modal/index.d.ts +1 -1
  212. package/dist/cjs/components/Modal/index.js +2 -2
  213. package/dist/cjs/components/Nav/Divider.d.ts +1 -1
  214. package/dist/cjs/components/Nav/Divider.js +5 -10
  215. package/dist/cjs/components/Nav/Group/InternalNavGroup.d.ts +10 -0
  216. package/dist/cjs/components/Nav/Group/{InternalNavItemGroup.js → InternalNavGroup.js} +9 -9
  217. package/dist/cjs/components/Nav/Group/index.d.ts +4 -2
  218. package/dist/cjs/components/Nav/Group/index.js +9 -12
  219. package/dist/cjs/components/Nav/Header.d.ts +1 -3
  220. package/dist/cjs/components/Nav/Header.js +5 -6
  221. package/dist/cjs/components/Nav/Icon/index.d.ts +7 -0
  222. package/dist/cjs/components/Nav/{context/PrivateContext.js → Icon/index.js} +13 -5
  223. package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +1 -5
  224. package/dist/cjs/components/Nav/Item/InternalNavItem.js +26 -47
  225. package/dist/cjs/components/Nav/Item/LegacyNavItem.js +12 -6
  226. package/dist/cjs/components/Nav/Item/index.d.ts +1 -1
  227. package/dist/cjs/components/Nav/Item/index.js +6 -9
  228. package/dist/cjs/components/Nav/Nav.d.ts +8 -21
  229. package/dist/cjs/components/Nav/Nav.js +86 -91
  230. package/dist/cjs/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
  231. package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +6 -6
  232. package/dist/cjs/components/Nav/Sub/InternalSubNav.d.ts +15 -0
  233. package/dist/cjs/components/Nav/Sub/InternalSubNav.js +196 -0
  234. package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +2 -1
  235. package/dist/cjs/components/Nav/Sub/PopupTrigger.js +10 -11
  236. package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -2
  237. package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -5
  238. package/dist/cjs/components/Nav/Sub/index.d.ts +4 -15
  239. package/dist/cjs/components/Nav/Sub/index.js +11 -174
  240. package/dist/cjs/components/Nav/context/NavContext.d.ts +7 -3
  241. package/dist/cjs/components/Nav/context/NavContext.js +6 -6
  242. package/dist/cjs/components/Nav/context/index.d.ts +3 -0
  243. package/dist/cjs/components/Nav/context/index.js +19 -0
  244. package/dist/cjs/components/Nav/hooks/index.d.ts +5 -0
  245. package/dist/cjs/components/Nav/hooks/index.js +21 -0
  246. package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +11 -0
  247. package/dist/cjs/components/Nav/hooks/useAccessibility.js +97 -99
  248. package/dist/cjs/components/Nav/hooks/useActive.js +5 -13
  249. package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +2 -2
  250. package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  251. package/dist/cjs/components/Nav/hooks/useKeyRecords.js +5 -8
  252. package/dist/cjs/components/Nav/types.d.ts +16 -3
  253. package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
  254. package/dist/cjs/components/Nav/utils/alignUtil.js +1 -4
  255. package/dist/cjs/components/Nav/utils/index.d.ts +5 -0
  256. package/dist/cjs/components/Nav/utils/index.js +21 -0
  257. package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +2 -2
  258. package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -34
  259. package/dist/cjs/components/Nav/utils/warnUtil.js +2 -5
  260. package/dist/cjs/components/Navbar/Center.d.ts +2 -2
  261. package/dist/cjs/components/Navbar/Center.js +3 -3
  262. package/dist/cjs/components/Navbar/Container.d.ts +2 -2
  263. package/dist/cjs/components/Navbar/Container.js +3 -3
  264. package/dist/cjs/components/Navbar/Item.d.ts +2 -2
  265. package/dist/cjs/components/Navbar/Item.js +3 -3
  266. package/dist/cjs/components/Navbar/Left.d.ts +2 -2
  267. package/dist/cjs/components/Navbar/Left.js +3 -3
  268. package/dist/cjs/components/Navbar/Nav.d.ts +1 -1
  269. package/dist/cjs/components/Navbar/Nav.js +2 -2
  270. package/dist/cjs/components/Navbar/Navbar.d.ts +1 -1
  271. package/dist/cjs/components/Navbar/Navbar.js +2 -2
  272. package/dist/cjs/components/Navbar/Right.d.ts +2 -2
  273. package/dist/cjs/components/Navbar/Right.js +3 -3
  274. package/dist/cjs/components/Navbar/Toggle.d.ts +2 -2
  275. package/dist/cjs/components/Navbar/Toggle.js +3 -3
  276. package/dist/cjs/components/Overlay/index.d.ts +1 -1
  277. package/dist/cjs/components/Overlay/index.js +3 -3
  278. package/dist/cjs/components/Progress/index.d.ts +1 -1
  279. package/dist/cjs/components/Progress/index.js +2 -2
  280. package/dist/cjs/components/Section/index.d.ts +2 -2
  281. package/dist/cjs/components/Section/index.js +3 -3
  282. package/dist/cjs/components/Segmented/index.d.ts +1 -1
  283. package/dist/cjs/components/Segmented/index.js +2 -2
  284. package/dist/cjs/components/Slider/index.d.ts +3 -0
  285. package/dist/cjs/components/{Nav/hooks/useUUID.js → Slider/index.js} +10 -17
  286. package/dist/cjs/components/Spinner/index.d.ts +1 -1
  287. package/dist/cjs/components/Spinner/index.js +2 -2
  288. package/dist/cjs/components/Subnav/Item.d.ts +1 -1
  289. package/dist/cjs/components/Subnav/Subnav.d.ts +1 -1
  290. package/dist/cjs/components/Subnav/Subnav.js +2 -2
  291. package/dist/cjs/components/Switch/index.d.ts +2 -2
  292. package/dist/cjs/components/Switch/index.js +2 -3
  293. package/dist/cjs/components/Tabs/index.d.ts +6 -4
  294. package/dist/cjs/components/Tabs/index.js +10 -9
  295. package/dist/cjs/components/Text/index.d.ts +4 -4
  296. package/dist/cjs/components/Text/index.js +3 -3
  297. package/dist/cjs/components/Tile/index.d.ts +4 -4
  298. package/dist/cjs/components/Tile/index.js +3 -3
  299. package/dist/cjs/components/Width/Width.d.ts +2 -2
  300. package/dist/cjs/components/Width/Width.js +3 -3
  301. package/dist/cjs/constants.d.ts +12 -0
  302. package/dist/cjs/constants.js +16 -0
  303. package/dist/cjs/index.d.ts +1 -0
  304. package/dist/cjs/index.js +2 -1
  305. package/dist/cjs/utils/motion.d.ts +1 -1
  306. package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
  307. package/dist/esm/components/Accordion/Accordion.js +2 -2
  308. package/dist/esm/components/Accordion/Item.d.ts +1 -5
  309. package/dist/esm/components/Accordion/Item.js +2 -7
  310. package/dist/esm/components/Accordion/index.d.ts +1 -1
  311. package/dist/esm/components/Alert/index.js +4 -6
  312. package/dist/esm/components/Align/Align.d.ts +2 -2
  313. package/dist/esm/components/Align/Align.js +3 -3
  314. package/dist/esm/components/Align/Center.d.ts +1 -1
  315. package/dist/esm/components/Align/Left.d.ts +1 -1
  316. package/dist/esm/components/Align/Right.d.ts +1 -1
  317. package/dist/esm/components/Article/Article.d.ts +1 -1
  318. package/dist/esm/components/Article/Article.js +2 -2
  319. package/dist/esm/components/Article/Meta.d.ts +4 -4
  320. package/dist/esm/components/Article/Meta.js +3 -3
  321. package/dist/esm/components/Article/Title.d.ts +4 -4
  322. package/dist/esm/components/Article/Title.js +3 -3
  323. package/dist/esm/components/Article/context.d.ts +2 -2
  324. package/dist/esm/components/Badge/index.d.ts +4 -4
  325. package/dist/esm/components/Badge/index.js +2 -2
  326. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  327. package/dist/esm/components/Breadcrumb/Breadcrumb.js +2 -2
  328. package/dist/esm/components/Breadcrumb/Item.d.ts +1 -1
  329. package/dist/esm/components/Breadcrumb/Item.js +2 -3
  330. package/dist/esm/components/Button/Button.d.ts +2 -2
  331. package/dist/esm/components/Button/Button.js +2 -2
  332. package/dist/esm/components/Button/Group.d.ts +1 -1
  333. package/dist/esm/components/Button/Group.js +2 -2
  334. package/dist/esm/components/Card/Badge.d.ts +1 -1
  335. package/dist/esm/components/Card/Badge.js +3 -3
  336. package/dist/esm/components/Card/Body.d.ts +4 -4
  337. package/dist/esm/components/Card/Body.js +3 -3
  338. package/dist/esm/components/Card/Card.d.ts +4 -4
  339. package/dist/esm/components/Card/Card.js +4 -4
  340. package/dist/esm/components/Card/Footer.d.ts +4 -4
  341. package/dist/esm/components/Card/Footer.js +3 -3
  342. package/dist/esm/components/Card/Header.d.ts +4 -4
  343. package/dist/esm/components/Card/Header.js +3 -3
  344. package/dist/esm/components/Card/Media.d.ts +4 -4
  345. package/dist/esm/components/Card/Media.js +3 -3
  346. package/dist/esm/components/Card/Title.d.ts +4 -4
  347. package/dist/esm/components/Card/Title.js +3 -3
  348. package/dist/esm/components/Close/index.d.ts +1 -1
  349. package/dist/esm/components/Close/index.js +2 -2
  350. package/dist/esm/components/Component/index.d.ts +1 -1
  351. package/dist/esm/components/Component/index.js +1 -4
  352. package/dist/esm/components/ConfigProvider/index.d.ts +55 -40
  353. package/dist/esm/components/ConfigProvider/index.js +3 -3
  354. package/dist/esm/components/Container/index.d.ts +7 -2
  355. package/dist/esm/components/Container/index.js +4 -4
  356. package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +2 -2
  357. package/dist/esm/components/Control/Checkbox/Checkbox.js +2 -2
  358. package/dist/esm/components/Control/Checkbox/Group.d.ts +2 -2
  359. package/dist/esm/components/Control/Checkbox/Group.js +2 -2
  360. package/dist/esm/components/Control/Checkbox/index.d.ts +1 -1
  361. package/dist/esm/components/Control/Input/Input.js +2 -5
  362. package/dist/esm/components/Control/Input/Number/index.js +3 -3
  363. package/dist/esm/components/Control/Input/Password/index.js +2 -2
  364. package/dist/esm/components/Control/Input/useInput.js +2 -1
  365. package/dist/esm/components/Control/Radio/Group.js +4 -6
  366. package/dist/esm/components/Control/Radio/Radio.js +2 -2
  367. package/dist/esm/components/Control/Radio/index.d.ts +1 -1
  368. package/dist/esm/components/Control/Select/Select.d.ts +18 -0
  369. package/dist/esm/components/Control/Select/Select.js +209 -0
  370. package/dist/esm/components/Control/Select/index.d.ts +4 -23
  371. package/dist/esm/components/Control/Select/index.js +1 -217
  372. package/dist/esm/components/Control/Select/placements.d.ts +1 -1
  373. package/dist/esm/components/Control/TextArea/index.d.ts +3 -3
  374. package/dist/esm/components/Control/TextArea/index.js +7 -6
  375. package/dist/esm/components/Cover/index.d.ts +1 -1
  376. package/dist/esm/components/Cover/index.js +2 -2
  377. package/dist/esm/components/DatePicker/PickerButton.d.ts +1 -1
  378. package/dist/esm/components/DatePicker/PickerButton.js +3 -1
  379. package/dist/esm/components/DatePicker/generatePurePicker.js +1 -3
  380. package/dist/esm/components/DescriptionList/Description.d.ts +1 -1
  381. package/dist/esm/components/DescriptionList/DescriptionList.d.ts +1 -1
  382. package/dist/esm/components/DescriptionList/DescriptionList.js +2 -2
  383. package/dist/esm/components/DescriptionList/Term.d.ts +1 -1
  384. package/dist/esm/components/Divider/index.d.ts +1 -1
  385. package/dist/esm/components/Divider/index.js +2 -2
  386. package/dist/esm/components/Dotnav/Dotnav.d.ts +1 -1
  387. package/dist/esm/components/Dotnav/Dotnav.js +2 -2
  388. package/dist/esm/components/Dotnav/Item.d.ts +1 -1
  389. package/dist/esm/components/Dotnav/Item.js +2 -3
  390. package/dist/esm/components/Drawer/index.d.ts +3 -3
  391. package/dist/esm/components/Drawer/index.js +2 -2
  392. package/dist/esm/components/Drop/index.d.ts +5 -6
  393. package/dist/esm/components/Drop/index.js +4 -3
  394. package/dist/esm/components/Dropdown/index.js +2 -2
  395. package/dist/esm/components/Flex/Flex.d.ts +2 -2
  396. package/dist/esm/components/Flex/Flex.js +3 -3
  397. package/dist/esm/components/Flex/Item.d.ts +2 -2
  398. package/dist/esm/components/Flex/Item.js +3 -3
  399. package/dist/esm/components/Flex/context.d.ts +2 -2
  400. package/dist/esm/components/Flex/index.d.ts +1 -1
  401. package/dist/esm/components/Form/Controls.d.ts +1 -1
  402. package/dist/esm/components/Form/Controls.js +2 -2
  403. package/dist/esm/components/Form/ControlsText.d.ts +1 -1
  404. package/dist/esm/components/Form/ControlsText.js +2 -2
  405. package/dist/esm/components/Form/Fieldset.d.ts +1 -1
  406. package/dist/esm/components/Form/Fieldset.js +2 -2
  407. package/dist/esm/components/Form/Form.d.ts +2 -2
  408. package/dist/esm/components/Form/Form.js +3 -3
  409. package/dist/esm/components/Form/Label.d.ts +1 -1
  410. package/dist/esm/components/Form/Label.js +2 -2
  411. package/dist/esm/components/Form/Legend.d.ts +1 -1
  412. package/dist/esm/components/Form/Legend.js +2 -2
  413. package/dist/esm/components/Form/context.d.ts +2 -2
  414. package/dist/esm/components/Grid/index.d.ts +4 -4
  415. package/dist/esm/components/Grid/index.js +3 -3
  416. package/dist/esm/components/Heading/index.d.ts +4 -4
  417. package/dist/esm/components/Heading/index.js +2 -2
  418. package/dist/esm/components/Icon/Button.d.ts +1 -1
  419. package/dist/esm/components/Icon/Icon.d.ts +4 -4
  420. package/dist/esm/components/Icon/Icon.js +3 -3
  421. package/dist/esm/components/Icon/Link.d.ts +1 -1
  422. package/dist/esm/components/Icon/index.d.ts +1 -1
  423. package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
  424. package/dist/esm/components/Iconnav/Iconnav.js +2 -2
  425. package/dist/esm/components/Iconnav/Item.d.ts +1 -1
  426. package/dist/esm/components/Iconnav/Item.js +2 -3
  427. package/dist/esm/components/Inverse/index.d.ts +2 -2
  428. package/dist/esm/components/Inverse/index.js +2 -2
  429. package/dist/esm/components/Label/index.d.ts +1 -1
  430. package/dist/esm/components/Label/index.js +2 -2
  431. package/dist/esm/components/Link/index.d.ts +2 -2
  432. package/dist/esm/components/Link/index.js +3 -3
  433. package/dist/esm/components/List/Item.d.ts +1 -3
  434. package/dist/esm/components/List/List.d.ts +1 -1
  435. package/dist/esm/components/List/List.js +2 -2
  436. package/dist/esm/components/Modal/index.d.ts +1 -1
  437. package/dist/esm/components/Modal/index.js +2 -2
  438. package/dist/esm/components/Nav/Divider.d.ts +1 -1
  439. package/dist/esm/components/Nav/Divider.js +3 -8
  440. package/dist/esm/components/Nav/Group/InternalNavGroup.d.ts +10 -0
  441. package/dist/esm/components/Nav/Group/InternalNavGroup.js +16 -0
  442. package/dist/esm/components/Nav/Group/index.d.ts +4 -2
  443. package/dist/esm/components/Nav/Group/index.js +6 -6
  444. package/dist/esm/components/Nav/Header.d.ts +1 -3
  445. package/dist/esm/components/Nav/Header.js +4 -5
  446. package/dist/esm/components/Nav/Icon/index.d.ts +7 -0
  447. package/dist/esm/components/Nav/Icon/index.js +14 -0
  448. package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +1 -5
  449. package/dist/esm/components/Nav/Item/InternalNavItem.js +16 -37
  450. package/dist/esm/components/Nav/Item/LegacyNavItem.js +11 -5
  451. package/dist/esm/components/Nav/Item/index.d.ts +1 -1
  452. package/dist/esm/components/Nav/Item/index.js +4 -7
  453. package/dist/esm/components/Nav/Nav.d.ts +8 -21
  454. package/dist/esm/components/Nav/Nav.js +72 -77
  455. package/dist/esm/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
  456. package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
  457. package/dist/esm/components/Nav/Sub/InternalSubNav.d.ts +15 -0
  458. package/dist/esm/components/Nav/Sub/InternalSubNav.js +157 -0
  459. package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +2 -1
  460. package/dist/esm/components/Nav/Sub/PopupTrigger.js +9 -10
  461. package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -2
  462. package/dist/esm/components/Nav/Sub/SubNavList.js +4 -4
  463. package/dist/esm/components/Nav/Sub/index.d.ts +4 -15
  464. package/dist/esm/components/Nav/Sub/index.js +7 -167
  465. package/dist/esm/components/Nav/context/NavContext.d.ts +7 -3
  466. package/dist/esm/components/Nav/context/NavContext.js +6 -6
  467. package/dist/esm/components/Nav/context/index.d.ts +3 -0
  468. package/dist/esm/components/Nav/context/index.js +3 -0
  469. package/dist/esm/components/Nav/hooks/index.d.ts +5 -0
  470. package/dist/esm/components/Nav/hooks/index.js +5 -0
  471. package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +11 -0
  472. package/dist/esm/components/Nav/hooks/useAccessibility.js +96 -100
  473. package/dist/esm/components/Nav/hooks/useActive.js +5 -13
  474. package/dist/esm/components/Nav/hooks/useDirectionStyle.js +1 -1
  475. package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
  476. package/dist/esm/components/Nav/hooks/useKeyRecords.js +3 -3
  477. package/dist/esm/components/Nav/types.d.ts +16 -3
  478. package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
  479. package/dist/esm/components/Nav/utils/alignUtil.js +1 -4
  480. package/dist/esm/components/Nav/utils/index.d.ts +5 -0
  481. package/dist/esm/components/Nav/utils/index.js +5 -0
  482. package/dist/esm/components/Nav/utils/nodeUtil.d.ts +2 -2
  483. package/dist/esm/components/Nav/utils/nodeUtil.js +38 -31
  484. package/dist/esm/components/Nav/utils/warnUtil.js +1 -1
  485. package/dist/esm/components/Navbar/Center.d.ts +2 -2
  486. package/dist/esm/components/Navbar/Center.js +3 -3
  487. package/dist/esm/components/Navbar/Container.d.ts +2 -2
  488. package/dist/esm/components/Navbar/Container.js +3 -3
  489. package/dist/esm/components/Navbar/Item.d.ts +2 -2
  490. package/dist/esm/components/Navbar/Item.js +3 -3
  491. package/dist/esm/components/Navbar/Left.d.ts +2 -2
  492. package/dist/esm/components/Navbar/Left.js +3 -3
  493. package/dist/esm/components/Navbar/Nav.d.ts +1 -1
  494. package/dist/esm/components/Navbar/Nav.js +2 -2
  495. package/dist/esm/components/Navbar/Navbar.d.ts +1 -1
  496. package/dist/esm/components/Navbar/Navbar.js +2 -2
  497. package/dist/esm/components/Navbar/Right.d.ts +2 -2
  498. package/dist/esm/components/Navbar/Right.js +3 -3
  499. package/dist/esm/components/Navbar/Toggle.d.ts +2 -2
  500. package/dist/esm/components/Navbar/Toggle.js +3 -3
  501. package/dist/esm/components/Overlay/index.d.ts +1 -1
  502. package/dist/esm/components/Overlay/index.js +3 -3
  503. package/dist/esm/components/Progress/index.d.ts +1 -1
  504. package/dist/esm/components/Progress/index.js +2 -2
  505. package/dist/esm/components/Section/index.d.ts +2 -2
  506. package/dist/esm/components/Section/index.js +3 -3
  507. package/dist/esm/components/Segmented/index.d.ts +1 -1
  508. package/dist/esm/components/Segmented/index.js +2 -2
  509. package/dist/esm/components/Slider/index.d.ts +3 -0
  510. package/dist/esm/components/Slider/index.js +10 -0
  511. package/dist/esm/components/Spinner/index.d.ts +1 -1
  512. package/dist/esm/components/Spinner/index.js +2 -2
  513. package/dist/esm/components/Subnav/Item.d.ts +1 -1
  514. package/dist/esm/components/Subnav/Subnav.d.ts +1 -1
  515. package/dist/esm/components/Subnav/Subnav.js +2 -2
  516. package/dist/esm/components/Switch/index.d.ts +2 -2
  517. package/dist/esm/components/Switch/index.js +2 -3
  518. package/dist/esm/components/Tabs/index.d.ts +6 -4
  519. package/dist/esm/components/Tabs/index.js +10 -9
  520. package/dist/esm/components/Text/index.d.ts +4 -4
  521. package/dist/esm/components/Text/index.js +3 -3
  522. package/dist/esm/components/Tile/index.d.ts +4 -4
  523. package/dist/esm/components/Tile/index.js +3 -3
  524. package/dist/esm/components/Width/Width.d.ts +2 -2
  525. package/dist/esm/components/Width/Width.js +3 -3
  526. package/dist/esm/constants.d.ts +12 -0
  527. package/dist/esm/constants.js +13 -0
  528. package/dist/esm/index.d.ts +1 -0
  529. package/dist/esm/index.js +1 -0
  530. package/dist/esm/utils/motion.d.ts +1 -1
  531. package/package.json +30 -29
  532. package/styles/_import.components.scss +3 -5
  533. package/styles/_import.scss +5 -8
  534. package/styles/accordion.scss +56 -30
  535. package/styles/alert.scss +6 -5
  536. package/styles/animation.scss +64 -213
  537. package/styles/background.scss +34 -131
  538. package/styles/base.scss +37 -65
  539. package/styles/breadcrumb.scss +6 -9
  540. package/styles/button.scss +22 -62
  541. package/styles/control.scss +1 -0
  542. package/styles/datepicker.scss +3 -2
  543. package/styles/input-number.scss +11 -21
  544. package/styles/leader.scss +2 -2
  545. package/styles/mixins.scss +40 -31
  546. package/styles/nav.scss +7 -28
  547. package/styles/navbar.scss +185 -160
  548. package/styles/search.scss +16 -46
  549. package/styles/select.scss +111 -292
  550. package/styles/slider.scss +521 -0
  551. package/styles/subnav.scss +1 -1
  552. package/styles/switch.scss +12 -0
  553. package/styles/tabs.scss +65 -37
  554. package/styles/text.scss +65 -65
  555. package/styles/thumbnav.scss +4 -4
  556. package/styles/variables.scss +85 -28
  557. package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
  558. package/dist/cjs/components/Nav/context/PrivateContext.d.ts +0 -7
  559. package/dist/cjs/components/Nav/hooks/useUUID.d.ts +0 -1
  560. package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
  561. package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +0 -16
  562. package/dist/esm/components/Nav/context/PrivateContext.d.ts +0 -7
  563. package/dist/esm/components/Nav/context/PrivateContext.js +0 -6
  564. package/dist/esm/components/Nav/hooks/useUUID.d.ts +0 -1
  565. package/dist/esm/components/Nav/hooks/useUUID.js +0 -17
@@ -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,23 +1,4 @@
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>, 'allowClear' | 'mode' | 'placement'> {
9
- mode?: 'multiple' | 'tags' | 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
10
- size?: SizeType;
11
- }
12
- export interface SelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<ControlProps<ValueType>, 'value' | 'defaultValue'>, Omit<InternalSelectProps<ValueType, OptionType>, 'inputIcon' | 'mode' | 'getInputElement' | 'backfill'> {
13
- mode?: 'multiple' | 'tags';
14
- placement?: SelectPlacement;
15
- showArrow?: boolean;
16
- }
17
- export declare const Select: (<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(props: SelectProps<ValueType, OptionType> & {
18
- ref?: React.Ref<BaseSelectRef>;
19
- }) => React.ReactElement) & {
20
- SECRET_COMBOBOX_MODE_DO_NOT_USE: string;
21
- Option: typeof Option;
22
- OptGroup: typeof OptGroup;
23
- };
1
+ export { Select } from '../../../components/Control/Select/Select';
2
+ export { type SelectProps } from '../../../components/Control/Select/Select';
3
+ export { type BaseSelectRef } from '@rc-component/select';
4
+ export { type OptionProps } from '@rc-component/select/es/Option';
@@ -1,217 +1 @@
1
- import RcSelect, { OptGroup, Option } from '@rc-component/select';
2
- import classNames from 'classnames';
3
- import * as React from 'react';
4
- import { useConfig } from '../../../components/ConfigProvider';
5
- import { getBuiltInPlacements } from '../../../components/Control/Select/placements';
6
- import { Icon } from '../../../components/Icon';
7
- import { Spinner } from '../../../components/Spinner';
8
- const SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
9
- /* eslint-disable jsx-a11y/label-has-associated-control */
10
- function InternalSelect(props, ref) {
11
- const config = useConfig();
12
- const { allowClear, direction = config.select?.direction || config.direction, popupMatchSelectWidth, builtinPlacements = getBuiltInPlacements(popupMatchSelectWidth), className, listHeight = 256, listItemHeight = 24, placement = 'bottom-left', prefixCls = config.select?.prefixCls || config.prefixCls, showArrow = true, showSearch = false, onPressEnter, ...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.keyCode === 13) {
29
- setInternalOpen(true);
30
- onPressEnter?.(event);
31
- }
32
- else if (event.keyCode === 32) {
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 mode = React.useMemo(() => {
60
- const { mode: m } = restProps;
61
- if (m === 'combobox') {
62
- return undefined;
63
- }
64
- if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {
65
- return 'combobox';
66
- }
67
- return m;
68
- }, [restProps]);
69
- const wrapperClasses = React.useMemo(() => classNames([controlCls, `${controlCls}-select`], {
70
- [`${controlCls}-${restProps.size}`]: restProps.size,
71
- [`${controlCls}-rtl`]: direction === 'rtl',
72
- [`${prefixCls || config.select?.prefixCls || config.prefixCls}-focused`]: focused,
73
- [`${prefixCls || config.select?.prefixCls || config.prefixCls}-disabled`]: restProps.disabled,
74
- }, className), [
75
- className,
76
- config.select?.prefixCls,
77
- config.prefixCls,
78
- controlCls,
79
- focused,
80
- prefixCls,
81
- direction,
82
- restProps.disabled,
83
- restProps.size,
84
- ]);
85
- const inputProps = React.useMemo(() => {
86
- // Arrow or loading icon
87
- let suffixIcon;
88
- if (restProps.loading) {
89
- if (typeof config.select?.loadingIcon === 'function') {
90
- suffixIcon = config.select.loadingIcon();
91
- }
92
- else if (React.isValidElement(config.select?.loadingIcon)) {
93
- suffixIcon = config.select.loadingIcon;
94
- }
95
- else {
96
- suffixIcon = React.createElement(Spinner, { key: "spinner", ratio: 0.7 });
97
- }
98
- }
99
- else if (showArrow) {
100
- const isMultiple = mode === 'multiple' || mode === 'tags';
101
- if (isMultiple) {
102
- if (typeof config.select?.addIcon === 'function') {
103
- suffixIcon = config.select.addIcon({ onClick: onClickIcon });
104
- }
105
- else if (React.isValidElement(config.select?.addIcon)) {
106
- suffixIcon = config.select.addIcon;
107
- }
108
- else {
109
- suffixIcon = React.createElement(Icon, { key: "add_box", icon: "add_box", onClick: onClickIcon });
110
- }
111
- }
112
- else if (showSearch && internalOpen) {
113
- if (typeof config.select?.searchIcon === 'function') {
114
- suffixIcon = config.select.searchIcon();
115
- }
116
- else if (React.isValidElement(config.select?.searchIcon)) {
117
- suffixIcon = config.select.searchIcon;
118
- }
119
- else {
120
- suffixIcon = React.createElement(Icon, { key: "manage_search", icon: "manage_search" });
121
- }
122
- }
123
- else if (typeof config.select?.arrowIcon === 'function') {
124
- suffixIcon = config.select.arrowIcon({ isOpen: internalOpen, onClick: onClickIcon });
125
- }
126
- else if (React.isValidElement(config.select?.arrowIcon)) {
127
- suffixIcon = config.select.arrowIcon;
128
- }
129
- else {
130
- suffixIcon = internalOpen ? (React.createElement(Icon, { key: "expand_less", icon: "expand_less" })) : (React.createElement(Icon, { key: "expand_more", icon: "expand_more", onClick: onClickIcon }));
131
- }
132
- }
133
- // Not found content
134
- let mergedNotFound;
135
- if (restProps.notFoundContent !== undefined) {
136
- mergedNotFound = restProps.notFoundContent;
137
- }
138
- else if (mode === 'combobox') {
139
- mergedNotFound = null;
140
- }
141
- if (typeof config.select?.notFoundContent === 'function') {
142
- mergedNotFound = config.select.notFoundContent();
143
- }
144
- else if (React.isValidElement(config.select?.notFoundContent)) {
145
- mergedNotFound = config.select.notFoundContent;
146
- }
147
- let clearIcon = React.createElement(Icon, { icon: "clear" });
148
- if (typeof config.select?.clearIcon === 'function') {
149
- clearIcon = config.select.clearIcon();
150
- }
151
- else if (React.isValidElement(config.select?.clearIcon)) {
152
- clearIcon = config.select.clearIcon;
153
- }
154
- return {
155
- allowClear: (allowClear || allowClear === undefined) && {
156
- clearIcon,
157
- },
158
- listHeight,
159
- listItemHeight,
160
- menuItemSelectedIcon: React.createElement(Icon, { icon: "check" }),
161
- open: internalOpen,
162
- prefixCls: rootCls,
163
- removeIcon: React.createElement(Icon, { icon: "clear" }),
164
- showSearch,
165
- suffixIcon,
166
- transitionName: `${prefixCls || config.select?.prefixCls || config.prefixCls}-motion-slide-bottom-small`,
167
- ...restProps,
168
- notFoundContent: mergedNotFound,
169
- popupClassName: classNames(restProps.popupClassName, {
170
- [`${prefixCls || config.select?.prefixCls || config.prefixCls}-dropdown-rtl`]: direction === 'rtl',
171
- }),
172
- popupMatchSelectWidth: true,
173
- // eslint-disable-next-line sort-keys
174
- onBlur,
175
- onFocus,
176
- onKeyDown,
177
- onPopupVisibleChange,
178
- };
179
- }, [
180
- restProps,
181
- showArrow,
182
- mode,
183
- config,
184
- allowClear,
185
- listHeight,
186
- listItemHeight,
187
- internalOpen,
188
- rootCls,
189
- showSearch,
190
- prefixCls,
191
- direction,
192
- onBlur,
193
- onFocus,
194
- onKeyDown,
195
- onClickIcon,
196
- onPopupVisibleChange,
197
- ]);
198
- React.useImperativeHandle(ref, () => ({
199
- blur() {
200
- inputRef.current?.blur();
201
- },
202
- focus() {
203
- inputRef.current?.focus();
204
- },
205
- scrollTo() {
206
- return inputRef.current?.scrollTo;
207
- },
208
- }));
209
- return (React.createElement("label", { ref: labelRef, className: wrapperClasses, htmlFor: restProps.id },
210
- React.createElement(RcSelect, { ref: inputRef, builtinPlacements: builtinPlacements, popupAlign: {
211
- offset: [offsetY, 5],
212
- }, placement: placement, ...inputProps, mode: mode })));
213
- }
214
- export const Select = React.forwardRef(InternalSelect);
215
- Select.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;
216
- Select.Option = Option;
217
- Select.OptGroup = OptGroup;
1
+ export { Select } from '../../../components/Control/Select/Select';
@@ -1,2 +1,2 @@
1
- import { type AlignType } from '@rc-component/trigger/lib/interface';
1
+ import { type AlignType } from '@rc-component/trigger';
2
2
  export declare function getBuiltInPlacements(dropdownMatchSelectWidth?: number | boolean): Record<string, AlignType>;
@@ -1,4 +1,4 @@
1
- import { type TextAreaProps as RcTextAreaProps, type TextAreaRef } from '@rc-component/textarea';
1
+ import { type TextAreaProps as ResizableTextAreaProps, type ResizableTextAreaRef } from '@rc-component/textarea';
2
2
  import * as React from 'react';
3
3
  import { type SizeType, type StateType } from '../../../types';
4
4
  interface ShowCountProps {
@@ -7,11 +7,11 @@ interface ShowCountProps {
7
7
  maxLength?: number;
8
8
  }) => string;
9
9
  }
10
- export interface TextAreaProps extends RcTextAreaProps {
10
+ export interface TextAreaProps extends ResizableTextAreaProps {
11
11
  allowClear?: boolean;
12
12
  showCount?: boolean | ShowCountProps;
13
13
  size?: SizeType;
14
14
  state?: StateType;
15
15
  }
16
- export declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<TextAreaRef>>;
16
+ export declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<ResizableTextAreaRef>>;
17
17
  export {};
@@ -1,16 +1,17 @@
1
- import RcTextArea from '@rc-component/textarea';
2
- import omit from '@rc-component/util/lib/omit';
1
+ import { ResizableTextArea, } from '@rc-component/textarea';
2
+ import { omit } from '@rc-component/util';
3
3
  import classNames from 'classnames';
4
4
  import * as React from 'react';
5
5
  import { useConfig } from '../../../components/ConfigProvider';
6
6
  import { fixControlledValue } from '../../../components/Control/Input';
7
+ import { KeyCode } from '../../../constants';
7
8
  function fixEmojiLength(value, maxLength) {
8
9
  return [...(value || '')].slice(0, maxLength).join('');
9
10
  }
10
11
  /* eslint-disable jsx-a11y/label-has-associated-control */
11
- export const TextArea = React.forwardRef((props, ref) => {
12
+ export const TextArea = React.forwardRef(({ className, dir, disabled, maxLength, readOnly, showCount, state, onPressEnter, ...props }, ref) => {
12
13
  const config = useConfig();
13
- const { className, dir, disabled, maxLength, prefixCls = config.prefixCls, readOnly, showCount, state, onPressEnter, ...restProps } = props;
14
+ const { prefixCls = config.prefixCls, ...restProps } = props;
14
15
  const hasMaxLength = Number(maxLength) > 0;
15
16
  const [compositing, setCompositing] = React.useState(false);
16
17
  const [focused, setFocused] = React.useState(false);
@@ -55,7 +56,7 @@ export const TextArea = React.forwardRef((props, ref) => {
55
56
  restProps.onFocus?.(event);
56
57
  }, [restProps]);
57
58
  const onKeyDown = React.useCallback(event => {
58
- if (onPressEnter && event.keyCode === 13) {
59
+ if (onPressEnter && event.code === KeyCode.Enter) {
59
60
  onPressEnter(event);
60
61
  }
61
62
  restProps.onKeyDown?.(event);
@@ -108,7 +109,7 @@ export const TextArea = React.forwardRef((props, ref) => {
108
109
  const dataCountAttribute = dataCount ? { 'data-count': dataCount } : {};
109
110
  return (React.createElement("label", { className: wrapperClasses, htmlFor: inputProps.id, ...dataCountAttribute },
110
111
  React.createElement("span", { className: `${controlCls}-input` },
111
- React.createElement(RcTextArea, { ...inputProps, ref: ref, value: value }))));
112
+ React.createElement(ResizableTextArea, { ...inputProps, ref: ref, value: value }))));
112
113
  });
113
114
  if (process.env.NODE_ENV !== 'production') {
114
115
  TextArea.displayName = 'TextArea';
@@ -5,7 +5,7 @@ export interface CoverProps extends React.HTMLAttributes<HTMLDivElement> {
5
5
  prefixCls?: string;
6
6
  width?: number;
7
7
  }
8
- export declare function Cover(props: CoverProps): React.JSX.Element;
8
+ export declare function Cover({ automute, children, className, height, width, ...props }: CoverProps): React.ReactElement;
9
9
  export declare namespace Cover {
10
10
  var displayName: string;
11
11
  }
@@ -2,9 +2,9 @@ import { debounce, Dimensions, isBrowser } from '@broxus/js-utils';
2
2
  import classNames from 'classnames';
3
3
  import * as React from 'react';
4
4
  import { useConfig } from '../../components/ConfigProvider';
5
- export function Cover(props) {
5
+ export function Cover({ automute = true, children, className, height, width, ...props }) {
6
6
  const config = useConfig();
7
- const { automute = true, children, className, height, prefixCls = config.prefixCls, width, ...restProps } = props;
7
+ const { prefixCls = config.prefixCls, ...restProps } = props;
8
8
  const container = React.useRef(null);
9
9
  const coveringElement = React.useRef(null);
10
10
  const resize = React.useCallback(() => {
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  import { type ButtonProps } from '../../components/Button';
3
- export declare const PickerButton: React.MemoExoticComponent<(props: ButtonProps) => React.JSX.Element>;
3
+ export declare function PickerButton(props: ButtonProps): React.ReactElement;
@@ -1,3 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { Button } from '../../components/Button';
3
- export const PickerButton = React.memo((props) => React.createElement(Button, { size: "small", type: "primary", ...props }));
3
+ export function PickerButton(props) {
4
+ return React.createElement(Button, { size: "small", type: "primary", ...props });
5
+ }
@@ -17,9 +17,7 @@ export const generatePurePicker = (generateConfig) => {
17
17
  const mergedPicker = picker || restProps.picker;
18
18
  const mergedComponents = useComponents(components);
19
19
  React.useImperativeHandle(ref, () => pickerRef.current, []);
20
- return (
21
- // @ts-ignore
22
- React.createElement(PickerPanel, { ref: pickerRef, components: mergedComponents, direction: direction, generateConfig: generateConfig, locale: locale.lang, nextIcon: React.createElement("span", { className: `${prefixCls}-next-icon` }), picker: mergedPicker, prefixCls: prefixCls, prevIcon: React.createElement("span", { className: `${prefixCls}-prev-icon` }), superNextIcon: React.createElement("span", { className: `${prefixCls}-super-next-icon` }), superPrevIcon: React.createElement("span", { className: `${prefixCls}-super-prev-icon` }), transitionName: getMotionName(config.prefixCls, 'slide-bottom-small'), ...restProps }));
20
+ return (React.createElement(PickerPanel, { ref: pickerRef, components: mergedComponents, direction: direction, generateConfig: generateConfig, locale: locale.lang, nextIcon: React.createElement("span", { className: `${prefixCls}-next-icon` }), picker: mergedPicker, prefixCls: prefixCls, prevIcon: React.createElement("span", { className: `${prefixCls}-prev-icon` }), superNextIcon: React.createElement("span", { className: `${prefixCls}-super-next-icon` }), superPrevIcon: React.createElement("span", { className: `${prefixCls}-super-prev-icon` }), transitionName: getMotionName(config.prefixCls, 'slide-bottom-small'), ...restProps }));
23
21
  });
24
22
  if (process.env.NODE_ENV !== 'production' && displayName) {
25
23
  Picker.displayName = displayName;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare function Description(props: React.HTMLAttributes<HTMLElement>): React.JSX.Element;
2
+ export declare function Description(props: React.HTMLAttributes<HTMLElement>): React.ReactElement;
3
3
  export declare namespace Description {
4
4
  var displayName: string;
5
5
  }
@@ -3,7 +3,7 @@ export interface DescriptionListProps extends React.HTMLAttributes<HTMLDListElem
3
3
  divided?: boolean;
4
4
  prefixCls?: string;
5
5
  }
6
- export declare function DescriptionList(props: DescriptionListProps): React.JSX.Element;
6
+ export declare function DescriptionList({ className, divided, ...props }: DescriptionListProps): React.ReactElement;
7
7
  export declare namespace DescriptionList {
8
8
  var displayName: string;
9
9
  }
@@ -1,9 +1,9 @@
1
1
  import classNames from 'classnames';
2
2
  import * as React from 'react';
3
3
  import { useConfig } from '../../components/ConfigProvider';
4
- export function DescriptionList(props) {
4
+ export function DescriptionList({ className, divided, ...props }) {
5
5
  const config = useConfig();
6
- const { className, divided, prefixCls = config.prefixCls, ...restProps } = props;
6
+ const { prefixCls = config.prefixCls, ...restProps } = props;
7
7
  const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'description-list'), [config, prefixCls]);
8
8
  return (React.createElement("dl", { className: classNames(rootCls, {
9
9
  [`${rootCls}-divider`]: divided,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare function Term(props: React.HTMLAttributes<HTMLElement>): React.JSX.Element;
2
+ export declare function Term(props: React.HTMLAttributes<HTMLElement>): React.ReactElement;
3
3
  export declare namespace Term {
4
4
  var displayName: string;
5
5
  }
@@ -5,7 +5,7 @@ export interface DividerProps extends Omit<React.HTMLAttributes<HTMLHRElement>,
5
5
  small?: boolean;
6
6
  vertical?: boolean;
7
7
  }
8
- export declare function Divider(props: DividerProps): React.JSX.Element;
8
+ export declare function Divider({ className, icon, small, vertical, ...props }: DividerProps): React.ReactElement;
9
9
  export declare namespace Divider {
10
10
  var displayName: string;
11
11
  }
@@ -1,9 +1,9 @@
1
1
  import classNames from 'classnames';
2
2
  import * as React from 'react';
3
3
  import { useConfig } from '../../components/ConfigProvider';
4
- export function Divider(props) {
4
+ export function Divider({ className, icon, small, vertical, ...props }) {
5
5
  const config = useConfig();
6
- const { className, icon, prefixCls = config.prefixCls, small, vertical, ...restProps } = props;
6
+ const { prefixCls = config.prefixCls, ...restProps } = props;
7
7
  const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.prefixCls, 'divider'), [config, prefixCls]);
8
8
  return (React.createElement("hr", { className: classNames({
9
9
  [`${rootCls}-icon`]: icon && !small && !vertical,