@vkontakte/vkui 4.35.3 → 4.36.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 (619) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +21605 -18307
  4. package/.cache/ts/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  5. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  6. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  7. package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +6 -2
  8. package/.cache/ts/src/components/Chip/Chip.d.ts +12 -5
  9. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +5 -26
  10. package/.cache/ts/src/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  11. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +4 -4
  12. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  13. package/.cache/ts/src/components/DateInput/DateInput.d.ts +4 -2
  14. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  15. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  16. package/.cache/ts/src/components/FormField/FormField.d.ts +2 -1
  17. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  18. package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +1 -0
  19. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  20. package/.cache/ts/src/components/List/List.d.ts +2 -1
  21. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +13 -1
  22. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +3 -2
  23. package/.cache/ts/src/components/Select/Select.d.ts +1 -1
  24. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  25. package/.cache/ts/src/components/Textarea/Textarea.d.ts +3 -2
  26. package/.cache/ts/src/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  27. package/{dist/cssm/components/ChipsSelect → .cache/ts/src/hooks}/useChipsSelect.d.ts +4 -4
  28. package/.cache/ts/src/index.d.ts +3 -0
  29. package/.cache/ts/src/tokenized/index.d.ts +56 -0
  30. package/README.md +3 -2
  31. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -4
  32. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  33. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +24 -0
  34. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  35. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +10 -8
  36. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  37. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -5
  38. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  39. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +15 -39
  40. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  41. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
  42. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  43. package/dist/cjs/components/Alert/Alert.js +11 -12
  44. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  45. package/dist/cjs/components/AppRoot/AppRoot.js +2 -5
  46. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  47. package/dist/cjs/components/Avatar/Avatar.js +4 -17
  48. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  49. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  50. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -21
  51. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  52. package/dist/cjs/components/CardScroll/CardScroll.js +2 -5
  53. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  54. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  55. package/dist/cjs/components/ChipsInput/ChipsInput.js +15 -198
  56. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  57. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +215 -0
  58. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  59. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +44 -27
  60. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  61. package/dist/cjs/components/CustomSelect/CustomSelect.js +32 -31
  62. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  63. package/dist/cjs/components/DateInput/DateInput.js +4 -2
  64. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  65. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +4 -2
  66. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  67. package/dist/cjs/components/DropdownIcon/DropdownIcon.js +16 -7
  68. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  69. package/dist/cjs/components/FormField/FormField.js +4 -2
  70. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  71. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +12 -3
  72. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  73. package/dist/cjs/components/FormStatus/FormStatus.js +4 -6
  74. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  75. package/dist/cjs/components/Header/Header.js +3 -11
  76. package/dist/cjs/components/Header/Header.js.map +1 -1
  77. package/dist/cjs/components/IconButton/IconButton.js +4 -3
  78. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  79. package/dist/cjs/components/Input/Input.js +4 -2
  80. package/dist/cjs/components/Input/Input.js.map +1 -1
  81. package/dist/cjs/components/List/List.js.map +1 -1
  82. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +1 -6
  83. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  84. package/dist/cjs/components/ModalPage/ModalPage.js +11 -10
  85. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  86. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +3 -4
  87. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  88. package/dist/cjs/components/ModalRoot/ModalRoot.js +4 -18
  89. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  90. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +3 -11
  91. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  92. package/dist/cjs/components/NativeSelect/NativeSelect.js +4 -2
  93. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  94. package/dist/cjs/components/Panel/Panel.js +4 -10
  95. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  96. package/dist/cjs/components/PanelHeader/PanelHeader.js +2 -11
  97. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  98. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +2 -7
  99. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  100. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  101. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  102. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  103. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  104. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +4 -2
  105. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  106. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +4 -8
  107. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  108. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  109. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  110. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  111. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  112. package/dist/cjs/components/PromoBanner/PromoBanner.js +1 -6
  113. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  114. package/dist/cjs/components/Search/Search.js +7 -9
  115. package/dist/cjs/components/Search/Search.js.map +1 -1
  116. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -2
  117. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  118. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +2 -5
  119. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  120. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -7
  121. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  122. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +1 -6
  123. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  124. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -5
  125. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  126. package/dist/cjs/components/Tappable/Tappable.js +8 -16
  127. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  128. package/dist/cjs/components/Textarea/Textarea.js +4 -2
  129. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  130. package/dist/cjs/components/UsersStack/UsersStack.js +71 -34
  131. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  132. package/dist/cjs/components/View/ViewInfinite.js +1 -10
  133. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  134. package/dist/cjs/{components/ChipsInput → hooks}/useChipsInput.js +0 -0
  135. package/dist/cjs/hooks/useChipsInput.js.map +1 -0
  136. package/dist/cjs/{components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
  137. package/dist/cjs/hooks/useChipsSelect.js.map +1 -0
  138. package/dist/cjs/index.js +8 -0
  139. package/dist/cjs/index.js.map +1 -1
  140. package/dist/cjs/lib/animate.js +2 -2
  141. package/dist/cjs/lib/animate.js.map +1 -1
  142. package/dist/cjs/lib/testing.js +2 -2
  143. package/dist/cjs/lib/testing.js.map +1 -1
  144. package/dist/cjs/lib/touch.js +2 -2
  145. package/dist/cjs/lib/touch.js.map +1 -1
  146. package/dist/cjs/tokenized/index.js +232 -0
  147. package/dist/cjs/tokenized/index.js.map +1 -1
  148. package/dist/components/ActionSheet/ActionSheet.js +4 -4
  149. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  150. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  151. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
  152. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  153. package/dist/components/ActionSheet/ActionSheetDropdown.js +7 -7
  154. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  155. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
  156. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  157. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  158. package/dist/components/ActionSheetItem/ActionSheetItem.js +16 -36
  159. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  160. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  161. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
  162. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  163. package/dist/components/Alert/Alert.js +12 -12
  164. package/dist/components/Alert/Alert.js.map +1 -1
  165. package/dist/components/AppRoot/AppRoot.js +2 -5
  166. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  167. package/dist/components/Avatar/Avatar.js +4 -17
  168. package/dist/components/Avatar/Avatar.js.map +1 -1
  169. package/dist/components/ButtonGroup/ButtonGroup.d.ts +6 -2
  170. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  171. package/dist/components/CalendarDay/CalendarDay.js +4 -21
  172. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  173. package/dist/components/CardScroll/CardScroll.js +1 -3
  174. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  175. package/dist/components/Chip/Chip.d.ts +12 -5
  176. package/dist/components/Chip/Chip.js.map +1 -1
  177. package/dist/components/ChipsInput/ChipsInput.d.ts +5 -26
  178. package/dist/components/ChipsInput/ChipsInput.js +14 -183
  179. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  180. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  181. package/dist/components/ChipsInputBase/ChipsInputBase.js +188 -0
  182. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  183. package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -4
  184. package/dist/components/ChipsSelect/ChipsSelect.js +42 -26
  185. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  186. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  187. package/dist/components/CustomSelect/CustomSelect.js +32 -31
  188. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  189. package/dist/components/DateInput/DateInput.d.ts +4 -2
  190. package/dist/components/DateInput/DateInput.js +4 -2
  191. package/dist/components/DateInput/DateInput.js.map +1 -1
  192. package/dist/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  193. package/dist/components/DateRangeInput/DateRangeInput.js +4 -2
  194. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  195. package/dist/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  196. package/dist/components/DropdownIcon/DropdownIcon.js +15 -7
  197. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  198. package/dist/components/FormField/FormField.d.ts +2 -1
  199. package/dist/components/FormField/FormField.js +4 -2
  200. package/dist/components/FormField/FormField.js.map +1 -1
  201. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  202. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
  203. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  204. package/dist/components/FormStatus/FormStatus.d.ts +1 -0
  205. package/dist/components/FormStatus/FormStatus.js +4 -4
  206. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  207. package/dist/components/Header/Header.js +3 -10
  208. package/dist/components/Header/Header.js.map +1 -1
  209. package/dist/components/IconButton/IconButton.js +4 -3
  210. package/dist/components/IconButton/IconButton.js.map +1 -1
  211. package/dist/components/Input/Input.d.ts +1 -1
  212. package/dist/components/Input/Input.js +4 -2
  213. package/dist/components/Input/Input.js.map +1 -1
  214. package/dist/components/List/List.d.ts +2 -1
  215. package/dist/components/List/List.js.map +1 -1
  216. package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -4
  217. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  218. package/dist/components/ModalPage/ModalPage.d.ts +13 -1
  219. package/dist/components/ModalPage/ModalPage.js +12 -10
  220. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  221. package/dist/components/ModalPageHeader/ModalPageHeader.js +3 -3
  222. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  223. package/dist/components/ModalRoot/ModalRoot.js +4 -18
  224. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  225. package/dist/components/ModalRoot/ModalRootDesktop.js +3 -11
  226. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  227. package/dist/components/NativeSelect/NativeSelect.d.ts +3 -2
  228. package/dist/components/NativeSelect/NativeSelect.js +4 -2
  229. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  230. package/dist/components/Panel/Panel.js +4 -8
  231. package/dist/components/Panel/Panel.js.map +1 -1
  232. package/dist/components/PanelHeader/PanelHeader.js +2 -11
  233. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  234. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
  235. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  236. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  237. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  238. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  239. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  240. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +4 -3
  241. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  242. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
  243. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  244. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
  245. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  246. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  247. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  248. package/dist/components/PromoBanner/PromoBanner.js +1 -4
  249. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  250. package/dist/components/Search/Search.js +6 -8
  251. package/dist/components/Search/Search.js.map +1 -1
  252. package/dist/components/Select/Select.d.ts +1 -1
  253. package/dist/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  254. package/dist/components/SelectMimicry/SelectMimicry.js +4 -2
  255. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  256. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  257. package/dist/components/SliderSwitch/SliderSwitch.js +1 -4
  258. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  259. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -5
  260. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  261. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -4
  262. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  263. package/dist/components/SubnavigationButton/SubnavigationButton.js +2 -5
  264. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  265. package/dist/components/Tappable/Tappable.js +3 -10
  266. package/dist/components/Tappable/Tappable.js.map +1 -1
  267. package/dist/components/Textarea/Textarea.d.ts +3 -2
  268. package/dist/components/Textarea/Textarea.js +4 -2
  269. package/dist/components/Textarea/Textarea.js.map +1 -1
  270. package/dist/components/UsersStack/UsersStack.js +69 -28
  271. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  272. package/dist/components/View/ViewInfinite.js +1 -10
  273. package/dist/components/View/ViewInfinite.js.map +1 -1
  274. package/dist/components.css +93 -15
  275. package/dist/components.css.map +1 -1
  276. package/dist/cssm/components/ActionSheet/ActionSheet.css +3 -1
  277. package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
  278. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  279. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  280. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
  281. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  282. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +7 -7
  283. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  284. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
  285. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  286. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +7 -1
  287. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  288. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +16 -36
  289. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  290. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  291. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
  292. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  293. package/dist/cssm/components/Alert/Alert.css +7 -1
  294. package/dist/cssm/components/Alert/Alert.js +12 -12
  295. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  296. package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
  297. package/dist/cssm/components/AppRoot/AppRoot.js +2 -5
  298. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  299. package/dist/cssm/components/Avatar/Avatar.js +4 -17
  300. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  301. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +6 -2
  302. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  303. package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -21
  304. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  305. package/dist/cssm/components/CardScroll/CardScroll.js +1 -3
  306. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  307. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
  308. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
  309. package/dist/cssm/components/Chip/Chip.css +1 -1
  310. package/dist/cssm/components/Chip/Chip.d.ts +12 -5
  311. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  312. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  313. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +5 -26
  314. package/dist/cssm/components/ChipsInput/ChipsInput.js +14 -183
  315. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  316. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.css +1 -0
  317. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  318. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +189 -0
  319. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  320. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  321. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -4
  322. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +42 -26
  323. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  324. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  325. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  326. package/dist/cssm/components/CustomSelect/CustomSelect.js +32 -31
  327. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  328. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  329. package/dist/cssm/components/DateInput/DateInput.d.ts +4 -2
  330. package/dist/cssm/components/DateInput/DateInput.js +4 -2
  331. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  332. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  333. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  334. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -2
  335. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  336. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  337. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +15 -8
  338. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  339. package/dist/cssm/components/FormField/FormField.css +4 -4
  340. package/dist/cssm/components/FormField/FormField.d.ts +2 -1
  341. package/dist/cssm/components/FormField/FormField.js +4 -2
  342. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  343. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  344. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  345. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  346. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
  347. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  348. package/dist/cssm/components/FormStatus/FormStatus.css +3 -1
  349. package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -0
  350. package/dist/cssm/components/FormStatus/FormStatus.js +4 -4
  351. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  352. package/dist/cssm/components/Header/Header.css +1 -1
  353. package/dist/cssm/components/Header/Header.js +3 -10
  354. package/dist/cssm/components/Header/Header.js.map +1 -1
  355. package/dist/cssm/components/IconButton/IconButton.js +4 -3
  356. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  357. package/dist/cssm/components/Input/Input.css +1 -1
  358. package/dist/cssm/components/Input/Input.d.ts +1 -1
  359. package/dist/cssm/components/Input/Input.js +4 -2
  360. package/dist/cssm/components/Input/Input.js.map +1 -1
  361. package/dist/cssm/components/List/List.d.ts +2 -1
  362. package/dist/cssm/components/List/List.js +1 -1
  363. package/dist/cssm/components/List/List.js.map +1 -1
  364. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
  365. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -4
  366. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  367. package/dist/cssm/components/ModalPage/ModalPage.css +5 -1
  368. package/dist/cssm/components/ModalPage/ModalPage.d.ts +13 -1
  369. package/dist/cssm/components/ModalPage/ModalPage.js +12 -10
  370. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  371. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  372. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
  373. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  374. package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -18
  375. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  376. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +3 -11
  377. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  378. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +3 -2
  379. package/dist/cssm/components/NativeSelect/NativeSelect.js +4 -2
  380. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  381. package/dist/cssm/components/Panel/Panel.css +19 -1
  382. package/dist/cssm/components/Panel/Panel.js +4 -8
  383. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  384. package/dist/cssm/components/PanelHeader/PanelHeader.css +9 -1
  385. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -11
  386. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  387. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
  388. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  389. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  390. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  391. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  392. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  393. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  394. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +5 -1
  395. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +4 -3
  396. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  397. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
  398. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
  399. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  400. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
  401. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  402. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  403. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  404. package/dist/cssm/components/PromoBanner/PromoBanner.css +3 -1
  405. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -4
  406. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  407. package/dist/cssm/components/Search/Search.css +27 -1
  408. package/dist/cssm/components/Search/Search.js +6 -8
  409. package/dist/cssm/components/Search/Search.js.map +1 -1
  410. package/dist/cssm/components/Select/Select.css +1 -1
  411. package/dist/cssm/components/Select/Select.d.ts +1 -1
  412. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  413. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -2
  414. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  415. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  416. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -4
  417. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  418. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -5
  419. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  420. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
  421. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -4
  422. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  423. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
  424. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +2 -5
  425. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  426. package/dist/cssm/components/TabsItem/TabsItem.css +1 -1
  427. package/dist/cssm/components/Tappable/Tappable.js +3 -10
  428. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  429. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  430. package/dist/cssm/components/Textarea/Textarea.d.ts +3 -2
  431. package/dist/cssm/components/Textarea/Textarea.js +4 -2
  432. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  433. package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
  434. package/dist/cssm/components/UsersStack/UsersStack.js +69 -28
  435. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  436. package/dist/cssm/components/View/ViewInfinite.js +1 -10
  437. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  438. package/dist/cssm/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  439. package/dist/{components/ChipsInput → cssm/hooks}/useChipsInput.js +0 -0
  440. package/dist/cssm/hooks/useChipsInput.js.map +1 -0
  441. package/{.cache/ts/src/components/ChipsSelect → dist/cssm/hooks}/useChipsSelect.d.ts +4 -4
  442. package/dist/{components/ChipsSelect → cssm/hooks}/useChipsSelect.js +1 -1
  443. package/dist/cssm/hooks/useChipsSelect.js.map +1 -0
  444. package/dist/cssm/index.d.ts +3 -0
  445. package/dist/cssm/index.js +1 -0
  446. package/dist/cssm/index.js.map +1 -1
  447. package/dist/cssm/lib/animate.js +1 -1
  448. package/dist/cssm/lib/animate.js.map +1 -1
  449. package/dist/cssm/lib/testing.js +1 -1
  450. package/dist/cssm/lib/testing.js.map +1 -1
  451. package/dist/cssm/lib/touch.js +1 -1
  452. package/dist/cssm/lib/touch.js.map +1 -1
  453. package/dist/cssm/styles/components.css +93 -15
  454. package/dist/cssm/styles/themes.css +1 -1
  455. package/dist/cssm/styles/unstable.css +1 -1
  456. package/dist/cssm/tokenized/index.d.ts +56 -0
  457. package/dist/cssm/tokenized/index.js +29 -0
  458. package/dist/cssm/tokenized/index.js.map +1 -1
  459. package/dist/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  460. package/dist/{cssm/components/ChipsInput → hooks}/useChipsInput.js +0 -0
  461. package/dist/hooks/useChipsInput.js.map +1 -0
  462. package/dist/{components/ChipsSelect → hooks}/useChipsSelect.d.ts +4 -4
  463. package/dist/{cssm/components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
  464. package/dist/hooks/useChipsSelect.js.map +1 -0
  465. package/dist/index.d.ts +3 -0
  466. package/dist/index.js +1 -0
  467. package/dist/index.js.map +1 -1
  468. package/dist/lib/animate.js +1 -1
  469. package/dist/lib/animate.js.map +1 -1
  470. package/dist/lib/testing.js +1 -1
  471. package/dist/lib/testing.js.map +1 -1
  472. package/dist/lib/touch.js +1 -1
  473. package/dist/lib/touch.js.map +1 -1
  474. package/dist/tokenized/index.d.ts +56 -0
  475. package/dist/tokenized/index.js +29 -0
  476. package/dist/tokenized/index.js.map +1 -1
  477. package/dist/unstable.css +1 -1
  478. package/dist/unstable.css.map +1 -1
  479. package/dist/vkui.css +94 -16
  480. package/dist/vkui.css.map +1 -1
  481. package/package.json +9 -9
  482. package/src/components/ActionSheet/ActionSheet.css +31 -59
  483. package/src/components/ActionSheet/ActionSheet.tsx +4 -7
  484. package/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx +12 -0
  485. package/src/components/ActionSheet/ActionSheetDropdown.tsx +9 -6
  486. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +4 -4
  487. package/src/components/ActionSheet/Readme.md +6 -30
  488. package/src/components/ActionSheetItem/ActionSheetItem.css +67 -120
  489. package/src/components/ActionSheetItem/ActionSheetItem.tsx +42 -71
  490. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +5 -5
  491. package/src/components/Alert/Alert.css +79 -79
  492. package/src/components/Alert/Alert.tsx +14 -14
  493. package/src/components/Alert/Readme.md +83 -104
  494. package/src/components/AppRoot/AppRoot.css +2 -1
  495. package/src/components/AppRoot/AppRoot.tsx +1 -4
  496. package/src/components/Avatar/Avatar.tsx +15 -17
  497. package/src/components/Avatar/Readme.md +3 -3
  498. package/src/components/ButtonGroup/ButtonGroup.tsx +6 -3
  499. package/src/components/ButtonGroup/Readme.md +13 -11
  500. package/src/components/Calendar/Readme.md +3 -0
  501. package/src/components/CalendarDay/CalendarDay.tsx +21 -20
  502. package/src/components/CalendarRange/Readme.md +3 -0
  503. package/src/components/CardScroll/CardScroll.tsx +1 -2
  504. package/src/components/Cell/CellCheckbox/CellCheckbox.css +2 -2
  505. package/src/components/Cell/CellDragger/CellDragger.css +1 -1
  506. package/src/components/Chip/Chip.css +1 -0
  507. package/src/components/Chip/Chip.tsx +14 -2
  508. package/src/components/ChipsInput/ChipsInput.css +0 -71
  509. package/src/components/ChipsInput/ChipsInput.tsx +20 -220
  510. package/src/components/ChipsInputBase/ChipsInputBase.css +73 -0
  511. package/src/components/ChipsInputBase/ChipsInputBase.tsx +206 -0
  512. package/src/components/ChipsSelect/ChipsSelect.css +8 -0
  513. package/src/components/ChipsSelect/ChipsSelect.tsx +47 -39
  514. package/src/components/CustomSelect/CustomSelect.css +1 -0
  515. package/src/components/CustomSelect/CustomSelect.tsx +2 -3
  516. package/src/components/CustomSelect/Readme.md +8 -2
  517. package/src/components/DateInput/DateInput.css +1 -1
  518. package/src/components/DateInput/DateInput.tsx +6 -3
  519. package/src/components/DateInput/Readme.md +13 -0
  520. package/src/components/DateRangeInput/DateRangeInput.css +1 -1
  521. package/src/components/DateRangeInput/DateRangeInput.tsx +6 -3
  522. package/src/components/DateRangeInput/Readme.md +13 -0
  523. package/src/components/DropdownIcon/DropdownIcon.tsx +22 -8
  524. package/src/components/Epic/Readme.md +10 -5
  525. package/src/components/FormField/FormField.css +58 -6
  526. package/src/components/FormField/FormField.tsx +3 -0
  527. package/src/components/FormItem/FormItem.css +5 -3
  528. package/src/components/FormLayoutGroup/FormLayoutGroup.css +35 -0
  529. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +13 -2
  530. package/src/components/FormLayoutGroup/Readme.md +58 -48
  531. package/src/components/FormStatus/FormStatus.css +8 -5
  532. package/src/components/FormStatus/FormStatus.tsx +4 -8
  533. package/src/components/Gallery/Readme.md +64 -18
  534. package/src/components/Header/Header.css +8 -12
  535. package/src/components/Header/Header.tsx +9 -8
  536. package/src/components/HorizontalCell/Readme.md +1 -1
  537. package/src/components/IconButton/IconButton.tsx +2 -2
  538. package/src/components/Input/Input.css +1 -1
  539. package/src/components/Input/Input.tsx +2 -0
  540. package/src/components/List/List.tsx +3 -4
  541. package/src/components/ModalDismissButton/ModalDismissButton.css +6 -6
  542. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -5
  543. package/src/components/ModalDismissButton/Readme.md +1 -1
  544. package/src/components/ModalPage/ModalPage.css +69 -63
  545. package/src/components/ModalPage/ModalPage.tsx +24 -11
  546. package/src/components/ModalPageHeader/ModalPageHeader.css +9 -12
  547. package/src/components/ModalPageHeader/ModalPageHeader.tsx +3 -2
  548. package/src/components/ModalRoot/ModalRoot.tsx +24 -24
  549. package/src/components/ModalRoot/ModalRootDesktop.tsx +12 -14
  550. package/src/components/ModalRoot/Readme.md +8 -3
  551. package/src/components/NativeSelect/NativeSelect.tsx +5 -2
  552. package/src/components/Panel/Panel.css +52 -24
  553. package/src/components/Panel/Panel.tsx +7 -9
  554. package/src/components/PanelHeader/PanelHeader.css +20 -8
  555. package/src/components/PanelHeader/PanelHeader.tsx +11 -12
  556. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +6 -5
  557. package/src/components/PanelHeaderButton/PanelHeaderButton.css +8 -15
  558. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +6 -6
  559. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +2 -6
  560. package/src/components/PanelHeaderContent/PanelHeaderContent.css +14 -26
  561. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +10 -3
  562. package/src/components/PanelHeaderContext/PanelHeaderContext.css +9 -25
  563. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +11 -7
  564. package/src/components/PanelHeaderContext/Readme.md +85 -101
  565. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +2 -2
  566. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +2 -6
  567. package/src/components/PromoBanner/PromoBanner.css +10 -22
  568. package/src/components/PromoBanner/PromoBanner.tsx +1 -5
  569. package/src/components/RichTooltip/Readme.md +2 -2
  570. package/src/components/Search/Search.css +134 -48
  571. package/src/components/Search/Search.tsx +13 -8
  572. package/src/components/Select/Select.css +2 -2
  573. package/src/components/SelectMimicry/Readme.md +3 -3
  574. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -1
  575. package/src/components/SliderSwitch/SliderSwitch.tsx +5 -5
  576. package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -7
  577. package/src/components/Snackbar/Readme.md +12 -3
  578. package/src/components/SplitLayout/Readme.md +1 -1
  579. package/src/components/SubnavigationBar/SubnavigationBar.css +7 -19
  580. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -8
  581. package/src/components/SubnavigationButton/SubnavigationButton.css +13 -0
  582. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -4
  583. package/src/components/TabbarItem/Readme.md +6 -1
  584. package/src/components/Tabs/Readme.md +10 -2
  585. package/src/components/TabsItem/TabsItem.css +1 -1
  586. package/src/components/Tappable/Tappable.tsx +9 -11
  587. package/src/components/Textarea/Textarea.css +1 -1
  588. package/src/components/Textarea/Textarea.tsx +5 -2
  589. package/src/components/Tooltip/Readme.md +2 -2
  590. package/src/components/Touch/Readme.md +4 -4
  591. package/src/components/UsersStack/UsersStack.css +42 -0
  592. package/src/components/UsersStack/UsersStack.tsx +71 -15
  593. package/src/components/View/ViewInfinite.tsx +14 -14
  594. package/src/{components/ChipsInput → hooks}/useChipsInput.ts +5 -8
  595. package/src/{components/ChipsSelect → hooks}/useChipsSelect.ts +4 -4
  596. package/src/index.ts +3 -0
  597. package/src/lib/animate.ts +1 -1
  598. package/src/lib/testing.ts +1 -1
  599. package/src/lib/touch.ts +1 -1
  600. package/src/styles/components.css +1 -0
  601. package/src/tokenized/index.ts +85 -0
  602. package/.cache/ts/src/components/UsersStack/masks.d.ts +0 -1
  603. package/dist/cjs/components/ChipsInput/useChipsInput.js.map +0 -1
  604. package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +0 -1
  605. package/dist/cjs/components/UsersStack/masks.js +0 -29
  606. package/dist/cjs/components/UsersStack/masks.js.map +0 -1
  607. package/dist/components/ChipsInput/useChipsInput.js.map +0 -1
  608. package/dist/components/ChipsSelect/useChipsSelect.js.map +0 -1
  609. package/dist/components/UsersStack/masks.d.ts +0 -1
  610. package/dist/components/UsersStack/masks.js +0 -20
  611. package/dist/components/UsersStack/masks.js.map +0 -1
  612. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +0 -1
  613. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +0 -1
  614. package/dist/cssm/components/DropdownIcon/DropdownIcon.css +0 -1
  615. package/dist/cssm/components/UsersStack/masks.d.ts +0 -1
  616. package/dist/cssm/components/UsersStack/masks.js +0 -20
  617. package/dist/cssm/components/UsersStack/masks.js.map +0 -1
  618. package/src/components/DropdownIcon/DropdownIcon.css +0 -3
  619. package/src/components/UsersStack/masks.tsx +0 -69
@@ -4,15 +4,14 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
5
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
6
6
  var _excluded = ["option"],
7
- _excluded2 = ["style", "onFocus", "onKeyDown", "className", "fetching", "renderOption", "emptyText", "getRef", "getRootRef", "disabled", "placeholder", "tabIndex", "getOptionValue", "getOptionLabel", "showSelected", "getNewOptionData", "renderChip", "popupDirection", "creatable", "filterFn", "inputValue", "creatableText", "sizeY", "closeAfterSelect", "onChangeStart", "after", "options"];
7
+ _excluded2 = ["style", "onFocus", "onKeyDown", "className", "fetching", "renderOption", "emptyText", "getRef", "getRootRef", "disabled", "placeholder", "tabIndex", "getOptionValue", "getOptionLabel", "showSelected", "getNewOptionData", "renderChip", "popupDirection", "creatable", "filterFn", "inputValue", "creatableText", "closeAfterSelect", "onChangeStart", "before", "options"];
8
8
  import { createScopedElement } from "../../lib/jsxRuntime";
9
9
  import * as React from "react";
10
10
  import { DropdownIcon } from "../DropdownIcon/DropdownIcon";
11
11
  import { classNames } from "../../lib/classNames";
12
- import { ChipsInput, chipsInputDefaultProps } from "../ChipsInput/ChipsInput";
12
+ import { ChipsInputBase, chipsInputDefaultProps } from "../ChipsInputBase/ChipsInputBase";
13
13
  import { CustomSelectOption } from "../CustomSelectOption/CustomSelectOption";
14
- import { useChipsSelect } from "./useChipsSelect";
15
- import { withAdaptivity } from "../../hoc/withAdaptivity";
14
+ import { useChipsSelect } from "../../hooks/useChipsSelect";
16
15
  import { noop } from "../../lib/utils";
17
16
  import { useDOM } from "../../lib/dom";
18
17
  import { Caption } from "../Typography/Caption/Caption";
@@ -21,6 +20,8 @@ import { useExternRef } from "../../hooks/useExternRef";
21
20
  import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
22
21
  import { defaultFilterFn } from "../../lib/select";
23
22
  import { CustomSelectDropdown } from "../CustomSelectDropdown/CustomSelectDropdown";
23
+ import { FormField } from "../FormField/FormField";
24
+ import { IconButton } from "../IconButton/IconButton";
24
25
  import "./ChipsSelect.css";
25
26
  var FOCUS_ACTION_NEXT = "next";
26
27
  var FOCUS_ACTION_PREV = "prev";
@@ -42,8 +43,12 @@ var chipsSelectDefaultProps = _objectSpread(_objectSpread({}, chipsInputDefaultP
42
43
  return createScopedElement(CustomSelectOption, restProps);
43
44
  }
44
45
  });
46
+ /**
47
+ * @see https://vkcom.github.io/VKUI/#/ChipsSelect
48
+ */
49
+
45
50
 
46
- var ChipsSelectComponent = function ChipsSelectComponent(props) {
51
+ export var ChipsSelect = function ChipsSelect(props) {
47
52
  var propsWithDefault = _objectSpread(_objectSpread({}, chipsSelectDefaultProps), props);
48
53
 
49
54
  var style = propsWithDefault.style,
@@ -68,10 +73,9 @@ var ChipsSelectComponent = function ChipsSelectComponent(props) {
68
73
  filterFn = propsWithDefault.filterFn,
69
74
  inputValue = propsWithDefault.inputValue,
70
75
  creatableText = propsWithDefault.creatableText,
71
- sizeY = propsWithDefault.sizeY,
72
76
  closeAfterSelect = propsWithDefault.closeAfterSelect,
73
77
  onChangeStart = propsWithDefault.onChangeStart,
74
- after = propsWithDefault.after,
78
+ before = propsWithDefault.before,
75
79
  options = propsWithDefault.options,
76
80
  restProps = _objectWithoutProperties(propsWithDefault, _excluded2);
77
81
 
@@ -111,9 +115,9 @@ var ChipsSelectComponent = function ChipsSelectComponent(props) {
111
115
  };
112
116
 
113
117
  var handleClickOutside = function handleClickOutside(e) {
114
- var rootNode = rootRef.current;
118
+ var _rootRef$current;
115
119
 
116
- if (rootNode && e.target !== rootNode && !rootNode.contains(e.target)) {
120
+ if (e.target !== rootRef.current && !((_rootRef$current = rootRef.current) !== null && _rootRef$current !== void 0 && _rootRef$current.contains(e.target))) {
117
121
  setOpened(false);
118
122
  }
119
123
  };
@@ -269,12 +273,35 @@ var ChipsSelectComponent = function ChipsSelectComponent(props) {
269
273
  var observableRefs = React.useMemo(function () {
270
274
  return [scrollBoxRef, rootRef];
271
275
  }, [rootRef, scrollBoxRef]);
272
- return createScopedElement("div", {
273
- vkuiClass: classNames("ChipsSelect", "ChipsSelect--sizeY-".concat(sizeY)),
274
- ref: rootRef,
276
+
277
+ var toggleOpened = function toggleOpened() {
278
+ setOpened(function (prevOpened) {
279
+ return !prevOpened;
280
+ });
281
+ };
282
+
283
+ return createScopedElement(FormField, {
284
+ vkuiClass: classNames("ChipsSelect", opened && "Select--open", opened && (isPopperDirectionTop ? "Select--pop-up" : "Select--pop-down")),
285
+ getRootRef: rootRef,
275
286
  style: style,
276
- className: className
277
- }, createScopedElement(ChipsInput, _extends({}, restProps, {
287
+ className: className,
288
+ disabled: disabled,
289
+ role: "application",
290
+ "aria-disabled": disabled,
291
+ "aria-readonly": restProps.readOnly,
292
+ after: createScopedElement(IconButton, {
293
+ vkuiClass: "ChipsSelect__dropdown",
294
+ activeMode: "",
295
+ hoverMode: "" // TODO: add label customization
296
+ ,
297
+ "aria-label": opened ? "Скрыть" : "Развернуть",
298
+ onClick: toggleOpened
299
+ }, createScopedElement(DropdownIcon, {
300
+ vkuiClass: "ChipsSelect__icon",
301
+ opened: opened
302
+ })),
303
+ before: before
304
+ }, createScopedElement(ChipsInputBase, _extends({}, restProps, {
278
305
  tabIndex: tabIndex,
279
306
  value: selectedOptions,
280
307
  inputValue: fieldValue,
@@ -285,11 +312,9 @@ var ChipsSelectComponent = function ChipsSelectComponent(props) {
285
312
  onFocus: handleFocus,
286
313
  onKeyDown: handleKeyDown,
287
314
  placeholder: placeholder,
288
- vkuiClass: classNames(opened && "Select--open", opened && (isPopperDirectionTop ? "Select--pop-up" : "Select--pop-down")),
289
315
  getRef: getRef,
290
316
  disabled: disabled,
291
- onInputChange: handleInputChange,
292
- after: createScopedElement(DropdownIcon, null)
317
+ onInputChange: handleInputChange
293
318
  })), opened && createScopedElement(CustomSelectDropdown, {
294
319
  targetRef: rootRef,
295
320
  placement: popupDirection,
@@ -344,13 +369,4 @@ var ChipsSelectComponent = function ChipsSelectComponent(props) {
344
369
  }));
345
370
  })));
346
371
  };
347
- /**
348
- * @see https://vkcom.github.io/VKUI/#/ChipsSelect
349
- */
350
-
351
-
352
- export var ChipsSelect = withAdaptivity(ChipsSelectComponent, {
353
- sizeY: true
354
- });
355
- ChipsSelect.displayName = "ChipsSelect";
356
372
  //# sourceMappingURL=ChipsSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["React","DropdownIcon","classNames","ChipsInput","chipsInputDefaultProps","CustomSelectOption","useChipsSelect","withAdaptivity","noop","useDOM","Caption","prefixClass","useExternRef","useGlobalEventListener","defaultFilterFn","CustomSelectDropdown","FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","emptyText","creatableText","onChangeStart","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","renderOption","option","restProps","ChipsSelectComponent","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","sizeY","after","document","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","rootNode","current","target","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","observableRefs","useMemo","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter","ChipsSelect","displayName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport {\n ChipsInput,\n ChipsInputOption,\n ChipsInputProps,\n ChipsInputValue,\n RenderChip,\n chipsInputDefaultProps,\n} from \"../ChipsInput/ChipsInput\";\nimport {\n CustomSelectOption,\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"./useChipsSelect\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipsInputOption>\n extends ChipsInputProps<Option>,\n AdaptivityProps {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype FocusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: FocusActionType = \"next\";\nconst FOCUS_ACTION_PREV: FocusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\nconst ChipsSelectComponent = <Option extends ChipsInputOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n sizeY,\n closeAfterSelect,\n onChangeStart,\n after,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n const { current: rootNode } = rootRef;\n if (\n rootNode &&\n e.target !== rootNode &&\n !rootNode.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: FocusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipsInputValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n const observableRefs = React.useMemo(\n () => [scrollBoxRef, rootRef],\n [rootRef, scrollBoxRef]\n );\n\n return (\n <div\n vkuiClass={classNames(\"ChipsSelect\", `ChipsSelect--sizeY-${sizeY}`)}\n ref={rootRef}\n style={style}\n className={className}\n >\n <ChipsInput\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n vkuiClass={classNames(\n opened && \"Select--open\",\n opened &&\n (isPopperDirectionTop ? \"Select--pop-up\" : \"Select--pop-down\")\n )}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n after={<DropdownIcon />}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n observableRefs={observableRefs}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption vkuiClass=\"ChipsSelect__empty\">{emptyText}</Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsSelect\n */\nexport const ChipsSelect = withAdaptivity(ChipsSelectComponent, {\n sizeY: true,\n});\n\nChipsSelect.displayName = \"ChipsSelect\";\n"],"file":"ChipsSelect.js"}
1
+ {"version":3,"sources":["../../../../src/components/ChipsSelect/ChipsSelect.tsx"],"names":["React","DropdownIcon","classNames","ChipsInputBase","chipsInputDefaultProps","CustomSelectOption","useChipsSelect","noop","useDOM","Caption","prefixClass","useExternRef","useGlobalEventListener","defaultFilterFn","CustomSelectDropdown","FormField","IconButton","FOCUS_ACTION_NEXT","FOCUS_ACTION_PREV","chipsSelectDefaultProps","emptyText","creatableText","onChangeStart","creatable","fetching","showSelected","closeAfterSelect","options","filterFn","renderOption","option","restProps","ChipsSelect","props","propsWithDefault","style","onFocus","onKeyDown","className","getRef","getRootRef","disabled","placeholder","tabIndex","getOptionValue","getOptionLabel","getNewOptionData","renderChip","popupDirection","inputValue","before","document","useState","undefined","popperPlacement","setPopperPlacement","scrollBoxRef","useRef","rootRef","fieldValue","selectedOptions","opened","setOpened","addOptionFromInput","filteredOptions","addOption","handleInputChange","clearInput","focusedOption","setFocusedOption","focusedOptionIndex","setFocusedOptionIndex","showCreatable","Boolean","length","handleFocus","e","handleClickOutside","target","current","contains","chipsSelectOptions","scrollToElement","index","center","dropdown","item","dropdownHeight","offsetHeight","scrollTop","itemTop","offsetTop","itemHeight","focusOptionByIndex","oldIndex","focusOption","nextIndex","type","handleKeyDown","key","defaultPrevented","preventDefault","includes","useEffect","findIndex","value","renderChipWrapper","renderChipProps","onRemoveWrapper","stopPropagation","onRemove","isPopperDirectionTop","onPlacementChange","useCallback","placement","onDropdownMouseLeave","observableRefs","useMemo","toggleOpened","prevOpened","readOnly","map","label","hovered","selected","find","selectedOption","children","onMouseDown","onMouseEnter"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { DropdownIcon } from \"../DropdownIcon/DropdownIcon\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ChipOption, ChipValue, RenderChip } from \"../Chip/Chip\";\nimport { ChipsInputProps } from \"../ChipsInput/ChipsInput\";\nimport {\n ChipsInputBase,\n chipsInputDefaultProps,\n} from \"../ChipsInputBase/ChipsInputBase\";\nimport {\n CustomSelectOption,\n CustomSelectOptionProps,\n} from \"../CustomSelectOption/CustomSelectOption\";\nimport { useChipsSelect } from \"../../hooks/useChipsSelect\";\nimport { noop } from \"../../lib/utils\";\nimport { useDOM } from \"../../lib/dom\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { prefixClass } from \"../../lib/prefixClass\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { defaultFilterFn } from \"../../lib/select\";\nimport { Placement } from \"../Popper/Popper\";\nimport { CustomSelectDropdown } from \"../CustomSelectDropdown/CustomSelectDropdown\";\nimport { FormField } from \"../FormField/FormField\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport \"./ChipsSelect.css\";\n\nexport interface ChipsSelectProps<Option extends ChipOption>\n extends Omit<ChipsInputProps<Option>, \"after\"> {\n popupDirection?: \"top\" | \"bottom\";\n options?: Option[];\n filterFn?:\n | false\n | ((\n value?: string,\n option?: Option,\n getOptionLabel?: Pick<\n ChipsInputProps<Option>,\n \"getOptionLabel\"\n >[\"getOptionLabel\"]\n ) => boolean);\n /**\n * Возможность создавать чипы которых нет в списке (по enter или с помощью пункта в меню, см creatableText)\n */\n creatable?: boolean;\n /**\n * Отрисовка лоадера вместо списка опций в выпадающем списке\n */\n fetching?: boolean;\n renderOption?: (props: CustomSelectOptionProps) => React.ReactNode;\n /**\n * Показывать или скрывать уже выбранные опции\n */\n showSelected?: boolean;\n /**\n * Текст для пункта создающего чипы при клике, так же отвечает за то будет ли показан этот пункт (показывается после того как в списке не отсанется опций)\n */\n creatableText?: string;\n /**\n * Текст который показывается если список опций пуст\n */\n emptyText?: string;\n /**\n * Событие срабатывающее перед onChange\n */\n onChangeStart?: (\n e: React.MouseEvent | React.KeyboardEvent,\n option: Option\n ) => void;\n /**\n * Закрытие выпадающего списка после выбора элемента\n */\n closeAfterSelect?: boolean;\n}\n\ntype FocusActionType = \"next\" | \"prev\";\n\nconst FOCUS_ACTION_NEXT: FocusActionType = \"next\";\nconst FOCUS_ACTION_PREV: FocusActionType = \"prev\";\n\nconst chipsSelectDefaultProps: ChipsSelectProps<any> = {\n ...chipsInputDefaultProps,\n emptyText: \"Ничего не найдено\",\n creatableText: \"Создать значение\",\n onChangeStart: noop,\n creatable: false,\n fetching: false,\n showSelected: true,\n closeAfterSelect: true,\n options: [],\n filterFn: defaultFilterFn,\n renderOption({ option, ...restProps }) {\n return <CustomSelectOption {...restProps} />;\n },\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsSelect\n */\nexport const ChipsSelect = <Option extends ChipOption>(\n props: ChipsSelectProps<Option>\n) => {\n const propsWithDefault = { ...chipsSelectDefaultProps, ...props };\n const {\n style,\n onFocus,\n onKeyDown,\n className,\n fetching,\n renderOption,\n emptyText,\n getRef,\n getRootRef,\n disabled,\n placeholder,\n tabIndex,\n getOptionValue,\n getOptionLabel,\n showSelected,\n getNewOptionData,\n renderChip,\n popupDirection,\n creatable,\n filterFn,\n inputValue,\n creatableText,\n closeAfterSelect,\n onChangeStart,\n before,\n options,\n ...restProps\n } = propsWithDefault;\n\n const { document } = useDOM();\n\n const [popperPlacement, setPopperPlacement] = React.useState<\n Placement | undefined\n >(undefined);\n\n const scrollBoxRef = React.useRef<HTMLDivElement>(null);\n const rootRef = useExternRef(getRef);\n const {\n fieldValue,\n selectedOptions = [],\n opened,\n setOpened,\n addOptionFromInput,\n filteredOptions,\n addOption,\n handleInputChange,\n clearInput,\n focusedOption,\n setFocusedOption,\n focusedOptionIndex,\n setFocusedOptionIndex,\n } = useChipsSelect(propsWithDefault);\n\n const showCreatable = Boolean(\n creatable && creatableText && !filteredOptions.length && fieldValue\n );\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setOpened(true);\n setFocusedOptionIndex(0);\n onFocus!(e);\n };\n\n const handleClickOutside = (e: MouseEvent) => {\n if (\n e.target !== rootRef.current &&\n !rootRef.current?.contains(e.target as Node)\n ) {\n setOpened(false);\n }\n };\n\n const chipsSelectOptions = React.useRef<HTMLElement[]>([]).current;\n\n const scrollToElement = (index: number, center = false) => {\n const dropdown = scrollBoxRef.current;\n const item = chipsSelectOptions[index];\n\n if (!item || !dropdown) {\n return;\n }\n\n const dropdownHeight = dropdown.offsetHeight;\n const scrollTop = dropdown.scrollTop;\n const itemTop = item.offsetTop;\n const itemHeight = item.offsetHeight;\n\n if (center) {\n dropdown.scrollTop = itemTop - dropdownHeight / 2 + itemHeight / 2;\n } else if (itemTop + itemHeight > dropdownHeight + scrollTop) {\n dropdown.scrollTop = itemTop - dropdownHeight + itemHeight;\n } else if (itemTop < scrollTop) {\n dropdown.scrollTop = itemTop;\n }\n };\n\n const focusOptionByIndex = (index: number, oldIndex: number) => {\n const { length } = filteredOptions;\n\n if (index < 0) {\n index = length - 1;\n } else if (index >= length) {\n index = 0;\n }\n\n if (index === oldIndex) {\n return;\n }\n\n scrollToElement(index);\n setFocusedOptionIndex(index);\n };\n\n const focusOption = (nextIndex: number | null, type: FocusActionType) => {\n let index = typeof nextIndex !== \"number\" ? -1 : nextIndex;\n\n if (type === FOCUS_ACTION_NEXT) {\n index = index + 1;\n } else if (type === FOCUS_ACTION_PREV) {\n index = index - 1;\n }\n\n if (focusedOptionIndex != null) {\n focusOptionByIndex(index, focusedOptionIndex);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown!(e);\n\n if (e.key === \"ArrowUp\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_PREV);\n }\n }\n\n if (e.key === \"ArrowDown\" && !e.defaultPrevented) {\n e.preventDefault();\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n } else {\n focusOption(focusedOptionIndex, FOCUS_ACTION_NEXT);\n }\n }\n\n if (\n e.key === \"Enter\" &&\n !e.defaultPrevented &&\n opened &&\n focusedOptionIndex != null\n ) {\n const option = filteredOptions[focusedOptionIndex];\n\n if (option) {\n onChangeStart!(e, option);\n\n if (!e.defaultPrevented) {\n addOption(option);\n setFocusedOptionIndex(null);\n clearInput();\n closeAfterSelect && setOpened(false);\n e.preventDefault();\n }\n } else if (!creatable) {\n e.preventDefault();\n }\n }\n\n if ([\"Escape\", \"Tab\"].includes(e.key) && !e.defaultPrevented && opened) {\n setOpened(false);\n }\n };\n\n React.useEffect(() => {\n if (focusedOptionIndex != null && filteredOptions[focusedOptionIndex]) {\n setFocusedOption(filteredOptions[focusedOptionIndex]);\n } else if (focusedOptionIndex === null || focusedOptionIndex === 0) {\n setFocusedOption(null);\n }\n }, [focusedOptionIndex, filteredOptions, setFocusedOption]);\n\n React.useEffect(() => {\n const index = focusedOption\n ? filteredOptions.findIndex(({ value }) => value === focusedOption.value)\n : -1;\n\n if (\n index === -1 &&\n !!filteredOptions.length &&\n !showCreatable &&\n closeAfterSelect\n ) {\n setFocusedOption(filteredOptions[0]);\n }\n }, [\n filteredOptions,\n focusedOption,\n showCreatable,\n closeAfterSelect,\n setFocusedOption,\n ]);\n\n useGlobalEventListener(document, \"click\", handleClickOutside);\n\n const renderChipWrapper = (\n renderChipProps: RenderChip<Option> | undefined\n ) => {\n if (renderChipProps === undefined) {\n return null;\n }\n const onRemoveWrapper = (\n e: React.MouseEvent | undefined,\n value: ChipValue | undefined\n ) => {\n e?.preventDefault();\n e?.stopPropagation();\n\n renderChipProps.onRemove?.(e, value);\n };\n\n return renderChip!({\n ...renderChipProps,\n onRemove: onRemoveWrapper,\n });\n };\n\n const isPopperDirectionTop = popperPlacement?.includes(\"top\");\n\n const onPlacementChange = React.useCallback(\n (placement?: Placement) => {\n setPopperPlacement(placement);\n },\n [setPopperPlacement]\n );\n\n const onDropdownMouseLeave = React.useCallback(() => {\n setFocusedOptionIndex(null);\n }, [setFocusedOptionIndex]);\n\n const observableRefs = React.useMemo(\n () => [scrollBoxRef, rootRef],\n [rootRef, scrollBoxRef]\n );\n\n const toggleOpened = () => {\n setOpened((prevOpened) => !prevOpened);\n };\n\n return (\n <FormField\n vkuiClass={classNames(\n \"ChipsSelect\",\n opened && \"Select--open\",\n opened && (isPopperDirectionTop ? \"Select--pop-up\" : \"Select--pop-down\")\n )}\n getRootRef={rootRef}\n style={style}\n className={className}\n disabled={disabled}\n role=\"application\"\n aria-disabled={disabled}\n aria-readonly={restProps.readOnly}\n after={\n <IconButton\n vkuiClass=\"ChipsSelect__dropdown\"\n activeMode=\"\"\n hoverMode=\"\"\n // TODO: add label customization\n aria-label={opened ? \"Скрыть\" : \"Развернуть\"}\n onClick={toggleOpened}\n >\n <DropdownIcon vkuiClass=\"ChipsSelect__icon\" opened={opened} />\n </IconButton>\n }\n before={before}\n >\n <ChipsInputBase\n {...restProps}\n tabIndex={tabIndex}\n value={selectedOptions}\n inputValue={fieldValue}\n getNewOptionData={getNewOptionData}\n getOptionLabel={getOptionLabel}\n getOptionValue={getOptionValue}\n renderChip={renderChipWrapper}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n getRef={getRef}\n disabled={disabled}\n onInputChange={handleInputChange}\n />\n {opened && (\n <CustomSelectDropdown\n targetRef={rootRef}\n placement={popupDirection}\n scrollBoxRef={scrollBoxRef}\n observableRefs={observableRefs}\n onPlacementChange={onPlacementChange}\n onMouseLeave={onDropdownMouseLeave}\n fetching={fetching}\n vkuiClass=\"ChipsSelect__options\"\n >\n {showCreatable && (\n <CustomSelectOption\n hovered={focusedOptionIndex === 0}\n onMouseDown={addOptionFromInput}\n onMouseEnter={() => setFocusedOptionIndex(0)}\n >\n {creatableText}\n </CustomSelectOption>\n )}\n {!filteredOptions?.length && !showCreatable && emptyText ? (\n <Caption vkuiClass=\"ChipsSelect__empty\">{emptyText}</Caption>\n ) : (\n filteredOptions.map((option: Option, index: number) => {\n const label = getOptionLabel!(option);\n const hovered =\n focusedOption &&\n getOptionValue!(option) === getOptionValue!(focusedOption);\n const selected = selectedOptions.find(\n (selectedOption: Option) => {\n return (\n getOptionValue!(selectedOption) === getOptionValue!(option)\n );\n }\n );\n const value = getOptionValue!(option);\n\n return (\n <React.Fragment key={`${typeof value}-${value}`}>\n {renderOption!({\n className: prefixClass(\"ChipsSelect__option\"),\n option,\n hovered: Boolean(hovered),\n children: label,\n selected: !!selected,\n getRootRef: (e) => {\n if (e) {\n return (chipsSelectOptions[index] = e);\n }\n return undefined;\n },\n onMouseDown: (e: React.MouseEvent<HTMLDivElement>) => {\n onChangeStart?.(e, option);\n\n if (!e.defaultPrevented) {\n closeAfterSelect && setOpened(false);\n addOption(option);\n clearInput();\n }\n },\n onMouseEnter: () => setFocusedOptionIndex(index),\n })}\n </React.Fragment>\n );\n })\n )}\n </CustomSelectDropdown>\n )}\n </FormField>\n );\n};\n"],"file":"ChipsSelect.js"}
@@ -1 +1 @@
1
- .vkuiCustomSelect{display:block;position:relative;width:100%}.vkuiCustomSelect__control{display:none}.vkuiCustomSelect__empty{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary));padding:12px 0;text-align:center}.vkuiCustomSelect__fetching{align-items:center;display:flex;justify-content:center}
1
+ .vkuiCustomSelect{cursor:pointer;display:block;position:relative;width:100%}.vkuiCustomSelect__control{display:none}.vkuiCustomSelect__empty{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary));padding:12px 0;text-align:center}.vkuiCustomSelect__fetching{align-items:center;display:flex;justify-content:center}
@@ -58,5 +58,5 @@ export interface CustomSelectProps extends NativeSelectProps, HasPlatform, FormF
58
58
  /**
59
59
  * @see https://vkcom.github.io/VKUI/#/CustomSelect
60
60
  */
61
- export declare const CustomSelect: React.FC<Pick<CustomSelectProps, "platform" | "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "size" | "icon" | "after" | "multiple" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "role" | "tabIndex" | "mode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "autoFocus" | "autoComplete" | "align" | "getRootRef" | "getRef" | "onOpen" | "onClose" | "before" | "options" | "popupDirection" | "multiline" | "onInputChange" | "selectType" | "searchable" | "emptyText" | "filterFn" | "renderOption" | "renderDropdown" | "fetching" | "dropdownOffsetDistance" | "fixDropdownWidth" | "forceDropdownPortal" | "autoHideScrollbar" | "autoHideScrollbarDelay"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
61
+ export declare const CustomSelect: React.FC<Pick<CustomSelectProps, "platform" | "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "size" | "icon" | "after" | "multiple" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "role" | "tabIndex" | "mode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "status" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "value" | "autoFocus" | "autoComplete" | "align" | "getRootRef" | "getRef" | "onOpen" | "onClose" | "before" | "options" | "popupDirection" | "multiline" | "onInputChange" | "selectType" | "searchable" | "emptyText" | "filterFn" | "renderOption" | "renderDropdown" | "fetching" | "dropdownOffsetDistance" | "fixDropdownWidth" | "forceDropdownPortal" | "autoHideScrollbar" | "autoHideScrollbarDelay"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
62
62
  export {};
@@ -92,11 +92,15 @@ var filter = function filter(options, inputValue, filterFn) {
92
92
  };
93
93
 
94
94
  var defaultOptions = [];
95
- var defaultIcon = createScopedElement(DropdownIcon, null);
96
95
 
97
96
  function CustomSelectComponent(props) {
98
97
  var _props$value, _props$value2;
99
98
 
99
+ var _React$useState = React.useState(false),
100
+ _React$useState2 = _slicedToArray(_React$useState, 2),
101
+ opened = _React$useState2[0],
102
+ setOpened = _React$useState2[1];
103
+
100
104
  var before = props.before,
101
105
  name = props.name,
102
106
  className = props.className,
@@ -129,7 +133,9 @@ function CustomSelectComponent(props) {
129
133
  _props$filterFn = props.filterFn,
130
134
  filterFn = _props$filterFn === void 0 ? defaultFilterFn : _props$filterFn,
131
135
  _props$icon = props.icon,
132
- icon = _props$icon === void 0 ? defaultIcon : _props$icon,
136
+ icon = _props$icon === void 0 ? createScopedElement(DropdownIcon, {
137
+ opened: opened
138
+ }) : _props$icon,
133
139
  _props$dropdownOffset = props.dropdownOffsetDistance,
134
140
  dropdownOffsetDistance = _props$dropdownOffset === void 0 ? 0 : _props$dropdownOffset,
135
141
  _props$fixDropdownWid = props.fixDropdownWidth,
@@ -144,50 +150,45 @@ function CustomSelectComponent(props) {
144
150
  var scrollBoxRef = React.useRef(null);
145
151
  var selectElRef = React.useRef(null);
146
152
 
147
- var _React$useState = React.useState(-1),
148
- _React$useState2 = _slicedToArray(_React$useState, 2),
149
- focusedOptionIndex = _React$useState2[0],
150
- setFocusedOptionIndex = _React$useState2[1];
151
-
152
- var _React$useState3 = React.useState(props.value !== undefined),
153
+ var _React$useState3 = React.useState(-1),
153
154
  _React$useState4 = _slicedToArray(_React$useState3, 2),
154
- isControlledOutside = _React$useState4[0],
155
- setIsControlledOutside = _React$useState4[1];
155
+ focusedOptionIndex = _React$useState4[0],
156
+ setFocusedOptionIndex = _React$useState4[1];
156
157
 
157
- var _React$useState5 = React.useState(""),
158
+ var _React$useState5 = React.useState(props.value !== undefined),
158
159
  _React$useState6 = _slicedToArray(_React$useState5, 2),
159
- inputValue = _React$useState6[0],
160
- setInputValue = _React$useState6[1];
160
+ isControlledOutside = _React$useState6[0],
161
+ setIsControlledOutside = _React$useState6[1];
161
162
 
162
- var _React$useState7 = React.useState((_props$value = props.value) !== null && _props$value !== void 0 ? _props$value : props.defaultValue),
163
+ var _React$useState7 = React.useState(""),
163
164
  _React$useState8 = _slicedToArray(_React$useState7, 2),
164
- nativeSelectValue = _React$useState8[0],
165
- setNativeSelectValue = _React$useState8[1];
165
+ inputValue = _React$useState8[0],
166
+ setInputValue = _React$useState8[1];
166
167
 
167
- var _React$useState9 = React.useState(""),
168
+ var _React$useState9 = React.useState((_props$value = props.value) !== null && _props$value !== void 0 ? _props$value : props.defaultValue),
168
169
  _React$useState10 = _slicedToArray(_React$useState9, 2),
169
- keyboardInput = _React$useState10[0],
170
- setKeyboardInput = _React$useState10[1];
170
+ nativeSelectValue = _React$useState10[0],
171
+ setNativeSelectValue = _React$useState10[1];
171
172
 
172
- var _React$useState11 = React.useState(undefined),
173
+ var _React$useState11 = React.useState(""),
173
174
  _React$useState12 = _slicedToArray(_React$useState11, 2),
174
- popperPlacement = _React$useState12[0],
175
- setPopperPlacement = _React$useState12[1];
175
+ keyboardInput = _React$useState12[0],
176
+ setKeyboardInput = _React$useState12[1];
176
177
 
177
- var _React$useState13 = React.useState(optionsProp),
178
+ var _React$useState13 = React.useState(undefined),
178
179
  _React$useState14 = _slicedToArray(_React$useState13, 2),
179
- options = _React$useState14[0],
180
- setOptions = _React$useState14[1];
180
+ popperPlacement = _React$useState14[0],
181
+ setPopperPlacement = _React$useState14[1];
181
182
 
182
- var _React$useState15 = React.useState(findSelectedIndex(optionsProp, (_props$value2 = props.value) !== null && _props$value2 !== void 0 ? _props$value2 : props.defaultValue)),
183
+ var _React$useState15 = React.useState(optionsProp),
183
184
  _React$useState16 = _slicedToArray(_React$useState15, 2),
184
- selectedOptionIndex = _React$useState16[0],
185
- setSelectedOptionIndex = _React$useState16[1];
185
+ options = _React$useState16[0],
186
+ setOptions = _React$useState16[1];
186
187
 
187
- var _React$useState17 = React.useState(false),
188
+ var _React$useState17 = React.useState(findSelectedIndex(optionsProp, (_props$value2 = props.value) !== null && _props$value2 !== void 0 ? _props$value2 : props.defaultValue)),
188
189
  _React$useState18 = _slicedToArray(_React$useState17, 2),
189
- opened = _React$useState18[0],
190
- setOpened = _React$useState18[1];
190
+ selectedOptionIndex = _React$useState18[0],
191
+ setSelectedOptionIndex = _React$useState18[1];
191
192
 
192
193
  React.useEffect(function () {
193
194
  setIsControlledOutside(props.value !== undefined);